diff options
author | Tom Weaver <Tom.Weaver@Sony.com> | 2019-11-12 15:17:04 +0000 |
---|---|---|
committer | Tom Weaver <Tom.Weaver@Sony.com> | 2019-11-12 15:17:04 +0000 |
commit | 41c3f76dcd0daeec60eddfcb56008a31ad6e8738 (patch) | |
tree | 0880bb9622ab895e0e33b9775bc56b339dff247f /llvm/lib/Transforms/Scalar/Reassociate.cpp | |
parent | 4cc0c2998d64156c9f848a8c2b2aed375ebd58b6 (diff) | |
download | bcm5719-llvm-41c3f76dcd0daeec60eddfcb56008a31ad6e8738.tar.gz bcm5719-llvm-41c3f76dcd0daeec60eddfcb56008a31ad6e8738.zip |
[DBG][OPT] Attempt to salvage or undef debug info when removing trivially deletable instructions in the Reassociate Expression pass.
Reviewed By: aprantl, vsk
Differential revision: https://reviews.llvm.org/D69943
Diffstat (limited to 'llvm/lib/Transforms/Scalar/Reassociate.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/Reassociate.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/Reassociate.cpp b/llvm/lib/Transforms/Scalar/Reassociate.cpp index 84e9b78638a..0ae022f4cf3 100644 --- a/llvm/lib/Transforms/Scalar/Reassociate.cpp +++ b/llvm/lib/Transforms/Scalar/Reassociate.cpp @@ -1898,6 +1898,7 @@ void ReassociatePass::RecursivelyEraseDeadInsts(Instruction *I, ValueRankMap.erase(I); Insts.remove(I); RedoInsts.remove(I); + llvm::salvageDebugInfoOrMarkUndef(*I); I->eraseFromParent(); for (auto Op : Ops) if (Instruction *OpInst = dyn_cast<Instruction>(Op)) @@ -1914,6 +1915,7 @@ void ReassociatePass::EraseInst(Instruction *I) { // Erase the dead instruction. ValueRankMap.erase(I); RedoInsts.remove(I); + llvm::salvageDebugInfoOrMarkUndef(*I); I->eraseFromParent(); // Optimize its operands. SmallPtrSet<Instruction *, 8> Visited; // Detect self-referential nodes. |