diff options
author | David Stenberg <david.stenberg@ericsson.com> | 2020-11-26 10:15:59 +0100 |
---|---|---|
committer | David Stenberg <david.stenberg@ericsson.com> | 2020-11-26 14:28:21 +0100 |
commit | 384996f9e18ff3b7fa35b2083bf352c64b05c7bc (patch) | |
tree | 2a9bbb9be084a40959772db15a99096a693420d2 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | a3b1fcbc0cf5b70015d0f8aa983263d1ca84a8c8 (diff) | |
download | llvm-384996f9e18ff3b7fa35b2083bf352c64b05c7bc.zip llvm-384996f9e18ff3b7fa35b2083bf352c64b05c7bc.tar.gz llvm-384996f9e18ff3b7fa35b2083bf352c64b05c7bc.tar.bz2 |
[IndVarSimplify] Fix Modified status when handling dead PHI nodes
When bailing out in rewriteLoopExitValues() you could be left with PHI
nodes in the DeadInsts vector. Those would be not handled by the use of
RecursivelyDeleteTriviallyDeadInstructions() in IndVarSimplify. This
resulted in the IndVarSimplify pass returning an incorrect modified
status. This was caught by the expensive check introduced in D86589.
This patches changes IndVarSimplify so that it deletes those PHI nodes,
using RecursivelyDeleteDeadPHINode().
This fixes PR47486.
Reviewed By: mkazantsev
Differential Revision: https://reviews.llvm.org/D91153
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions