mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
Reapply r207135 without modifications.
Debug info: Let dbg.values inserted by LowerDbgDeclare inherit the location of the dbg.value. This gets rid of tons of redundant variable DIEs in subscopes. rdar://problem/14874886, rdar://problem/16679936 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207236 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -995,14 +995,7 @@ bool llvm::ConvertDebugDeclareToDebugValue(DbgDeclareInst *DDI,
|
||||
DbgVal = Builder.insertDbgValueIntrinsic(ExtendedArg, 0, DIVar, SI);
|
||||
else
|
||||
DbgVal = Builder.insertDbgValueIntrinsic(SI->getOperand(0), 0, DIVar, SI);
|
||||
|
||||
// Propagate any debug metadata from the store onto the dbg.value.
|
||||
DebugLoc SIDL = SI->getDebugLoc();
|
||||
if (!SIDL.isUnknown())
|
||||
DbgVal->setDebugLoc(SIDL);
|
||||
// Otherwise propagate debug metadata from dbg.declare.
|
||||
else
|
||||
DbgVal->setDebugLoc(DDI->getDebugLoc());
|
||||
DbgVal->setDebugLoc(DDI->getDebugLoc());
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1022,14 +1015,7 @@ bool llvm::ConvertDebugDeclareToDebugValue(DbgDeclareInst *DDI,
|
||||
Instruction *DbgVal =
|
||||
Builder.insertDbgValueIntrinsic(LI->getOperand(0), 0,
|
||||
DIVar, LI);
|
||||
|
||||
// Propagate any debug metadata from the store onto the dbg.value.
|
||||
DebugLoc LIDL = LI->getDebugLoc();
|
||||
if (!LIDL.isUnknown())
|
||||
DbgVal->setDebugLoc(LIDL);
|
||||
// Otherwise propagate debug metadata from dbg.declare.
|
||||
else
|
||||
DbgVal->setDebugLoc(DDI->getDebugLoc());
|
||||
DbgVal->setDebugLoc(DDI->getDebugLoc());
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1068,7 +1054,7 @@ bool llvm::LowerDbgDeclare(Function &F) {
|
||||
auto DbgVal =
|
||||
DIB.insertDbgValueIntrinsic(AI, 0,
|
||||
DIVariable(DDI->getVariable()), I);
|
||||
DbgVal->setDebugLoc(I->getDebugLoc());
|
||||
DbgVal->setDebugLoc(DDI->getDebugLoc());
|
||||
}
|
||||
DDI->eraseFromParent();
|
||||
}
|
||||
|
Reference in New Issue
Block a user