More Chris-inspired JumpThreading fixes: use ConstantExpr to correctly constant-fold...
authorOwen Anderson <resistor@mac.com>
Tue, 31 Aug 2010 07:36:34 +0000 (07:36 +0000)
committerOwen Anderson <resistor@mac.com>
Tue, 31 Aug 2010 07:36:34 +0000 (07:36 +0000)
commitcb21190cbd8ae1aece5b833ebe3814ada4260627
tree2c1900df1e4b4322f18db3d1f99abae89308480e
parent4a295d301d83f07ad2840abe25a1691aef481c83
More Chris-inspired JumpThreading fixes: use ConstantExpr to correctly constant-fold undef, and be more careful with its return value.
This actually exposed an infinite recursion bug in ComputeValueKnownInPredecessors which theoretically already existed (in JumpThreading's
handling of and/or of i1's), but never manifested before.  This patch adds a tracking set to prevent this case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112589 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/JumpThreading.cpp
test/Transforms/JumpThreading/2010-08-31-InfiniteRecursion.ll [new file with mode: 0644]