summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/Reassociate.cpp
diff options
context:
space:
mode:
authorTom Weaver <Tom.Weaver@Sony.com>2019-11-12 15:17:04 +0000
committerTom Weaver <Tom.Weaver@Sony.com>2019-11-12 15:17:04 +0000
commit41c3f76dcd0daeec60eddfcb56008a31ad6e8738 (patch)
tree0880bb9622ab895e0e33b9775bc56b339dff247f /llvm/lib/Transforms/Scalar/Reassociate.cpp
parent4cc0c2998d64156c9f848a8c2b2aed375ebd58b6 (diff)
downloadbcm5719-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.cpp2
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.
OpenPOWER on IntegriCloud