diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 5 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index f7b4c09162..8cdb94c152 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2081,6 +2081,11 @@ void DwarfDebug::collectVariableInfo() { // FIXME : Lift this restriction. if (MInsn->getNumOperands() != 3) continue; + + // Ignore Undef values. + if (!MInsn->getOperand(0).getReg()) + continue; + DIVariable DV( const_cast<MDNode *>(MInsn->getOperand(MInsn->getNumOperands() - 1) .getMetadata())); diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 9d239c1bd7..d663521aba 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -3834,15 +3834,10 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) { return 0; DAG.AddDbgValue(SDV, N.getNode(), isParameter); } else { - // Generating Undefs here seems to be actively harmful because it - // affects the line numbers. - return 0; -#if 0 // This isn't useful, but it shows what we're missing. SDV = DAG.getDbgValue(Variable, UndefValue::get(Address->getType()), 0, dl, SDNodeOrder); DAG.AddDbgValue(SDV, 0, isParameter); -#endif } return 0; } |