diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-01-26 07:53:42 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-01-26 07:53:42 +0000 |
commit | c4b1abd81e4de314880110c5d58917d4747fb978 (patch) | |
tree | e85a0d443e61cc9bbba6b47765d5bde47664274b | |
parent | d0adbb5b7da2d1238fdf1a30734a001a0103aab0 (diff) | |
download | external_llvm-c4b1abd81e4de314880110c5d58917d4747fb978.zip external_llvm-c4b1abd81e4de314880110c5d58917d4747fb978.tar.gz external_llvm-c4b1abd81e4de314880110c5d58917d4747fb978.tar.bz2 |
Actually source file has already been uniquified into an id during isel. Eliminate the StringMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63009 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/CodeGen/DebugLoc.h | 30 | ||||
-rw-r--r-- | include/llvm/CodeGen/MachineFunction.h | 4 | ||||
-rw-r--r-- | lib/CodeGen/MachineFunction.cpp | 18 |
3 files changed, 12 insertions, 40 deletions
diff --git a/include/llvm/CodeGen/DebugLoc.h b/include/llvm/CodeGen/DebugLoc.h index ad68839..b6097af 100644 --- a/include/llvm/CodeGen/DebugLoc.h +++ b/include/llvm/CodeGen/DebugLoc.h @@ -14,7 +14,6 @@ #define LLVM_CODEGEN_DEBUGLOC_H #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/StringMap.h" #include <vector> namespace llvm { @@ -22,10 +21,10 @@ namespace llvm { /// DebugLocTuple - Debug location tuple of filename id, line and column. /// struct DebugLocTuple { - unsigned FileId, Line, Col; + unsigned Src, Line, Col; - DebugLocTuple(unsigned fi, unsigned l, unsigned c) - : FileId(fi), Line(l), Col(c) {}; + DebugLocTuple(unsigned s, unsigned l, unsigned c) + : Src(s), Line(l), Col(c) {}; }; /// DebugLoc - Debug location id. This is carried by SDNode and @@ -51,14 +50,14 @@ namespace llvm { return DebugLocTuple(~1U, ~1U, ~1U); } static unsigned getHashValue(const DebugLocTuple &Val) { - return DenseMapInfo<unsigned>::getHashValue(Val.FileId) ^ + return DenseMapInfo<unsigned>::getHashValue(Val.Src) ^ DenseMapInfo<unsigned>::getHashValue(Val.Line) ^ DenseMapInfo<unsigned>::getHashValue(Val.Col); } static bool isEqual(const DebugLocTuple &LHS, const DebugLocTuple &RHS) { - return LHS.FileId == RHS.FileId && + return LHS.Src == RHS.Src && LHS.Line == RHS.Line && - LHS.Col == RHS.Col; + LHS.Col == RHS.Col; } static bool isPod() { return true; } @@ -70,18 +69,6 @@ namespace llvm { /// DebugLocTracker - This class tracks debug location information. /// struct DebugLocTracker { - // NumFilenames - Size of the DebugFilenames vector. - // - unsigned NumFilenames; - - // DebugFilenames - A vector of unique file names. - // - std::vector<std::string> DebugFilenames; - - // DebugFilenamesMap - File name to DebugFilenames index map. - // - StringMap<unsigned> DebugFilenamesMap; - // NumDebugLocations - Size of the DebugLocations vector. unsigned NumDebugLocations; @@ -93,12 +80,9 @@ namespace llvm { // DebugLocations vector. DebugIdMapType DebugIdMap; - DebugLocTracker() : NumFilenames(0), NumDebugLocations(0) {} + DebugLocTracker() : NumDebugLocations(0) {} ~DebugLocTracker() { - NumFilenames = 0; - DebugFilenames.clear(); - DebugFilenamesMap.clear(); DebugLocations.clear(); DebugIdMap.clear(); } diff --git a/include/llvm/CodeGen/MachineFunction.h b/include/llvm/CodeGen/MachineFunction.h index 1397b84..4fa70fc 100644 --- a/include/llvm/CodeGen/MachineFunction.h +++ b/include/llvm/CodeGen/MachineFunction.h @@ -312,9 +312,9 @@ public: // /// lookUpDebugLocId - Look up the DebugLocTuple index with the given - /// filename, line, and column. It may add a new filename and / or + /// source file, line, and column. It may add a new filename and / or /// a new DebugLocTuple. - unsigned lookUpDebugLocId(const char *Filename, unsigned Line, unsigned Col); + unsigned lookUpDebugLocId(unsigned Src, unsigned Line, unsigned Col); }; //===--------------------------------------------------------------------===// diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp index 0d442af..c1ab9af 100644 --- a/lib/CodeGen/MachineFunction.cpp +++ b/lib/CodeGen/MachineFunction.cpp @@ -379,23 +379,11 @@ MachineFunction& MachineFunction::get(const Function *F) } /// lookUpDebugLocId - Look up the DebugLocTuple index with the given -/// filename, line, and column. It may add a new filename and / or +/// source file, line, and column. It may add a new filename and / or /// a new DebugLocTuple. -unsigned MachineFunction::lookUpDebugLocId(const char *Filename, unsigned Line, +unsigned MachineFunction::lookUpDebugLocId(unsigned Src, unsigned Line, unsigned Col) { - unsigned FileId; - StringMap<unsigned>::iterator I = - DebugLocInfo.DebugFilenamesMap.find(Filename); - if (I != DebugLocInfo.DebugFilenamesMap.end()) - FileId = I->second; - else { - // Add a new filename. - FileId = DebugLocInfo.NumFilenames++; - DebugLocInfo.DebugFilenames.push_back(Filename); - DebugLocInfo.DebugFilenamesMap[Filename] = FileId; - } - - struct DebugLocTuple Tuple(FileId, Line, Col); + struct DebugLocTuple Tuple(Src, Line, Col); DebugIdMapType::iterator II = DebugLocInfo.DebugIdMap.find(Tuple); if (II != DebugLocInfo.DebugIdMap.end()) return II->second; |