Ignore DBG_VALUE instructions that points to undef values.

llvm-svn: 102463
This commit is contained in:
Devang Patel 2010-04-27 20:54:45 +00:00
parent f9531c1175
commit 8b3c1ffb8b
2 changed files with 5 additions and 5 deletions

View File

@ -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()));

View File

@ -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;
}