diff options
Diffstat (limited to 'llvm/lib/Transforms/Utils/Local.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/Local.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp index 8af22af..cfbc24c 100644 --- a/llvm/lib/Transforms/Utils/Local.cpp +++ b/llvm/lib/Transforms/Utils/Local.cpp @@ -1748,7 +1748,11 @@ void llvm::salvageDebugInfoForDbgValues( } else if (isa<DbgValueInst>(DII) && DII->getNumVariableLocationOps() + AdditionalValues.size() <= MaxDebugArgs) { - DII->addVariableLocationOps(AdditionalValues, SalvagedExpr); + // TODO: Uncomment the line below and delete the two beneath it to enable + // salvaging of dbg.values with multiple location operands. + // DII->addVariableLocationOps(AdditionalValues, SalvagedExpr); + Value *Undef = UndefValue::get(I.getOperand(0)->getType()); + DII->replaceVariableLocationOp(I.getOperand(0), Undef); } else { // Do not salvage using DIArgList for dbg.addr/dbg.declare, as it is // currently only valid for stack value expressions. |