diff options
author | Max Kazantsev <max.kazantsev@azul.com> | 2018-09-07 07:23:39 +0000 |
---|---|---|
committer | Max Kazantsev <max.kazantsev@azul.com> | 2018-09-07 07:23:39 +0000 |
commit | 9e6845d8e12e4dba18e62a04a7980860eb3f46d2 (patch) | |
tree | 284d90a614a6d8f428f39e07f6b7c484eb63b2f2 /llvm/lib | |
parent | 3ab0ee4d9b0fa7c5953a811b8d4703761b041afa (diff) | |
download | bcm5719-llvm-9e6845d8e12e4dba18e62a04a7980860eb3f46d2.tar.gz bcm5719-llvm-9e6845d8e12e4dba18e62a04a7980860eb3f46d2.zip |
[IndVars] Set Changed when we delete dead instructions. PR38855
IndVars does not set `Changed` flag when it eliminates dead instructions. As result,
it may make IR modifications and report that it has done nothing. It leads to inconsistent
preserved analyzes results.
Differential Revision: https://reviews.llvm.org/D51770
Reviewed By: skatkov
llvm-svn: 341633
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp b/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp index 06836360610..80b7a42652a 100644 --- a/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp +++ b/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp @@ -2491,7 +2491,7 @@ bool IndVarSimplify::run(Loop *L) { while (!DeadInsts.empty()) if (Instruction *Inst = dyn_cast_or_null<Instruction>(DeadInsts.pop_back_val())) - RecursivelyDeleteTriviallyDeadInstructions(Inst, TLI); + Changed |= RecursivelyDeleteTriviallyDeadInstructions(Inst, TLI); // The Rewriter may not be used from this point on. |