Add getDebugLocTuple to retrieve the DebugLocTuple for a given DebugLoc object.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63676 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling
2009-02-03 22:49:58 +00:00
parent 713adbc472
commit 85e3af9b70
2 changed files with 16 additions and 5 deletions

View File

@@ -313,9 +313,12 @@ public:
// //
/// getOrCreateDebugLocID - Look up the DebugLocTuple index with the given /// getOrCreateDebugLocID - Look up the DebugLocTuple index with the given
/// source file, line, and column. If none currently exists, create add a new /// source file, line, and column. If none currently exists, create a new
/// new DebugLocTuple and insert it into the DebugIdMap. /// DebugLocTuple, and insert it into the DebugIdMap.
unsigned getOrCreateDebugLocID(unsigned Src, unsigned Line, unsigned Col); unsigned getOrCreateDebugLocID(unsigned Src, unsigned Line, unsigned Col);
/// getDebugLocTuple - Get the DebugLocTuple for a given DebugLoc object.
const DebugLocTuple &getDebugLocTuple(DebugLoc DL);
}; };
//===--------------------------------------------------------------------===// //===--------------------------------------------------------------------===//

View File

@@ -380,11 +380,11 @@ MachineFunction& MachineFunction::get(const Function *F)
} }
/// getOrCreateDebugLocID - Look up the DebugLocTuple index with the given /// getOrCreateDebugLocID - Look up the DebugLocTuple index with the given
/// source file, line, and column. If none currently exists, create add a new /// source file, line, and column. If none currently exists, create a new
/// new DebugLocTuple and insert it into the DebugIdMap. /// DebugLocTuple, and insert it into the DebugIdMap.
unsigned MachineFunction::getOrCreateDebugLocID(unsigned Src, unsigned Line, unsigned MachineFunction::getOrCreateDebugLocID(unsigned Src, unsigned Line,
unsigned Col) { unsigned Col) {
struct DebugLocTuple Tuple(Src, Line, Col); DebugLocTuple Tuple(Src, Line, Col);
DenseMap<DebugLocTuple, unsigned>::iterator II DenseMap<DebugLocTuple, unsigned>::iterator II
= DebugLocInfo.DebugIdMap.find(Tuple); = DebugLocInfo.DebugIdMap.find(Tuple);
if (II != DebugLocInfo.DebugIdMap.end()) if (II != DebugLocInfo.DebugIdMap.end())
@@ -396,6 +396,14 @@ unsigned MachineFunction::getOrCreateDebugLocID(unsigned Src, unsigned Line,
return Id; return Id;
} }
/// getDebugLocTuple - Get the DebugLocTuple for a given DebugLoc object.
const DebugLocTuple &MachineFunction::getDebugLocTuple(DebugLoc DL) {
unsigned Idx;
assert(Idx < DebugLocInfo.DebugLocations.size() &&
"Invalid index into debug locations!");
return DebugLocInfo.DebugLocations[Idx];
}
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// MachineFrameInfo implementation // MachineFrameInfo implementation
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//