Fix PR8247: JumpThreading can cause a block to become unreachable while still having...
authorOwen Anderson <resistor@mac.com>
Wed, 29 Sep 2010 20:34:41 +0000 (20:34 +0000)
committerOwen Anderson <resistor@mac.com>
Wed, 29 Sep 2010 20:34:41 +0000 (20:34 +0000)
commit36c4debc94e7c68c769dfda781851a0c963dd746
tree33eccf15a31f7d37f448c45f09fed1c3af23147f
parent18d52f2fb551c295bbce4c7d7357f4050b06e926
Fix PR8247: JumpThreading can cause a block to become unreachable while still having predecessor, if it is part of a self-loop.
Because of this, we cannot use the Simplify* APIs, as they can assert-fail on unreachable code.  Since it's not easy to determine
if a given threading will cause a block to become unreachable, simply defer simplifying simplification to later InstCombine and/or
DCE passes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115082 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/JumpThreading.cpp
test/Transforms/JumpThreading/crash.ll