mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 20:23:59 +00:00
MachineModuleInfo: Turn nested std::pairs into a proper struct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203414 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1185,26 +1185,23 @@ bool DwarfDebug::addCurrentFnArgument(DbgVariable *Var, LexicalScope *Scope) {
|
||||
void DwarfDebug::collectVariableInfoFromMMITable(
|
||||
SmallPtrSet<const MDNode *, 16> &Processed) {
|
||||
for (const auto &VI : MMI->getVariableDbgInfo()) {
|
||||
const MDNode *Var = VI.first;
|
||||
if (!Var)
|
||||
if (!VI.Var)
|
||||
continue;
|
||||
Processed.insert(Var);
|
||||
DIVariable DV(Var);
|
||||
const std::pair<unsigned, DebugLoc> &VP = VI.second;
|
||||
|
||||
LexicalScope *Scope = LScopes.findLexicalScope(VP.second);
|
||||
Processed.insert(VI.Var);
|
||||
DIVariable DV(VI.Var);
|
||||
LexicalScope *Scope = LScopes.findLexicalScope(VI.Loc);
|
||||
|
||||
// If variable scope is not found then skip this variable.
|
||||
if (Scope == 0)
|
||||
continue;
|
||||
|
||||
DbgVariable *AbsDbgVariable = findAbstractVariable(DV, VP.second);
|
||||
DbgVariable *AbsDbgVariable = findAbstractVariable(DV, VI.Loc);
|
||||
DbgVariable *RegVar = new DbgVariable(DV, AbsDbgVariable, this);
|
||||
RegVar->setFrameIndex(VP.first);
|
||||
RegVar->setFrameIndex(VI.Slot);
|
||||
if (!addCurrentFnArgument(RegVar, Scope))
|
||||
addScopeVariable(Scope, RegVar);
|
||||
if (AbsDbgVariable)
|
||||
AbsDbgVariable->setFrameIndex(VP.first);
|
||||
AbsDbgVariable->setFrameIndex(VI.Slot);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -313,7 +313,7 @@ void MachineModuleInfo::EndFunction() {
|
||||
CallsEHReturn = 0;
|
||||
CallsUnwindInit = 0;
|
||||
CompactUnwindEncoding = 0;
|
||||
VariableDbgInfo.clear();
|
||||
VariableDbgInfos.clear();
|
||||
}
|
||||
|
||||
/// AnalyzeModule - Scan the module for global debug information.
|
||||
|
@ -473,15 +473,12 @@ void StackColoring::remapInstructions(DenseMap<int, int> &SlotRemap) {
|
||||
MachineModuleInfo *MMI = &MF->getMMI();
|
||||
|
||||
// Remap debug information that refers to stack slots.
|
||||
MachineModuleInfo::VariableDbgInfoMapTy &VMap = MMI->getVariableDbgInfo();
|
||||
for (MachineModuleInfo::VariableDbgInfoMapTy::iterator VI = VMap.begin(),
|
||||
VE = VMap.end(); VI != VE; ++VI) {
|
||||
const MDNode *Var = VI->first;
|
||||
if (!Var) continue;
|
||||
std::pair<unsigned, DebugLoc> &VP = VI->second;
|
||||
if (SlotRemap.count(VP.first)) {
|
||||
DEBUG(dbgs()<<"Remapping debug info for ["<<Var->getName()<<"].\n");
|
||||
VP.first = SlotRemap[VP.first];
|
||||
for (auto &VI : MMI->getVariableDbgInfo()) {
|
||||
if (!VI.Var)
|
||||
continue;
|
||||
if (SlotRemap.count(VI.Slot)) {
|
||||
DEBUG(dbgs()<<"Remapping debug info for ["<<VI.Var->getName()<<"].\n");
|
||||
VI.Slot = SlotRemap[VI.Slot];
|
||||
FixedDbg++;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user