AsmPrinter: Simplify logic for debug info intrinsics' !dbg attachments

These are required, so just assume they're there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235138 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith 2015-04-16 22:12:59 +00:00
parent c5bb7f0073
commit 5a2e0ff6c5
3 changed files with 6 additions and 11 deletions

View File

@ -207,10 +207,7 @@ void llvm::calculateDbgValueHistory(const MachineFunction *MF,
MDLocalVariable *RawVar = MI.getDebugVariable();
assert(RawVar->isValidLocationForIntrinsic(MI.getDebugLoc()) &&
"Expected inlined-at fields to agree");
MDLocation *IA = nullptr;
if (MDLocation *Loc = MI.getDebugLoc())
IA = Loc->getInlinedAt();
InlinedVariable Var(RawVar, IA);
InlinedVariable Var(RawVar, MI.getDebugLoc()->getInlinedAt());
if (unsigned PrevReg = Result.getRegisterForVar(Var))
dropRegDescribedVar(RegVars, PrevReg, Var);

View File

@ -711,7 +711,10 @@ void DwarfDebug::collectVariableInfoFromMMITable(
for (const auto &VI : MMI->getVariableDbgInfo()) {
if (!VI.Var)
continue;
InlinedVariable Var(VI.Var, VI.Loc ? VI.Loc->getInlinedAt() : nullptr);
assert(VI.Var->isValidLocationForIntrinsic(VI.Loc) &&
"Expected inlined-at fields to agree");
InlinedVariable Var(VI.Var, VI.Loc->getInlinedAt());
Processed.insert(Var);
LexicalScope *Scope = LScopes.findLexicalScope(VI.Loc);
@ -719,8 +722,6 @@ void DwarfDebug::collectVariableInfoFromMMITable(
if (!Scope)
continue;
assert(VI.Var->isValidLocationForIntrinsic(VI.Loc) &&
"Expected inlined-at fields to agree");
DIExpression Expr = cast_or_null<MDExpression>(VI.Expr);
ensureAbstractVariableIsCreatedIfScoped(Var, Scope->getScopeNode());
auto RegVar =

View File

@ -98,13 +98,10 @@ public:
/// AbstractVar may be NULL.
DbgVariable(const MachineInstr *DbgValue, DwarfDebug *DD)
: Var(DbgValue->getDebugVariable()),
IA(DbgValue->getDebugLoc() ? DbgValue->getDebugLoc()->getInlinedAt()
: nullptr),
IA(DbgValue->getDebugLoc()->getInlinedAt()),
Expr(1, DbgValue->getDebugExpression()), TheDIE(nullptr),
DotDebugLocOffset(~0U), MInsn(DbgValue), DD(DD) {
FrameIndex.push_back(~0);
if (MDLocation *Loc = DbgValue->getDebugLoc())
IA = Loc->getInlinedAt();
}
// Accessors.