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

llvm-svn: 63676
This commit is contained in:
Bill Wendling 2009-02-03 22:49:58 +00:00
parent 7798193993
commit 2c0a4fe4e2
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
/// source file, line, and column. If none currently exists, create add a new
/// new DebugLocTuple and insert it into the DebugIdMap.
/// source file, line, and column. If none currently exists, create a new
/// DebugLocTuple, and insert it into the DebugIdMap.
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
/// source file, line, and column. If none currently exists, create add a new
/// new DebugLocTuple and insert it into the DebugIdMap.
/// source file, line, and column. If none currently exists, create a new
/// DebugLocTuple, and insert it into the DebugIdMap.
unsigned MachineFunction::getOrCreateDebugLocID(unsigned Src, unsigned Line,
unsigned Col) {
struct DebugLocTuple Tuple(Src, Line, Col);
DebugLocTuple Tuple(Src, Line, Col);
DenseMap<DebugLocTuple, unsigned>::iterator II
= DebugLocInfo.DebugIdMap.find(Tuple);
if (II != DebugLocInfo.DebugIdMap.end())
@ -396,6 +396,14 @@ unsigned MachineFunction::getOrCreateDebugLocID(unsigned Src, unsigned Line,
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
//===----------------------------------------------------------------------===//