Give up on doing in-line instruction simplification during correlated value propagati...
authorOwen Anderson <resistor@mac.com>
Fri, 29 Oct 2010 21:05:17 +0000 (21:05 +0000)
committerOwen Anderson <resistor@mac.com>
Fri, 29 Oct 2010 21:05:17 +0000 (21:05 +0000)
commit0995f20cfd97110cb842407b5757f217841b0def
tree3db34f38f4a670c1ec4a5cb8fa534871dfe8dd41
parent05cee0cdb4121bbb52c1ecc9d9e996dcf268ac65
Give up on doing in-line instruction simplification during correlated value propagation.  Instruction simplification
needs to be guaranteed never to be run on an unreachable block.  However, earlier block simplifications may have
changed the CFG to make block that were reachable when we began our iteration unreachable by the time we try to
simplify them. (Note that this also means that our depth-first iterators were potentially being invalidated).

This should not have a large impact on code quality, since later runs of instcombine should pick up these simplifications.
Fixes PR8506.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117709 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp