fix rdar://7590304, an infinite loop in instcombine. In the invoke
authorChris Lattner <sabre@nondot.org>
Mon, 1 Feb 2010 18:04:58 +0000 (18:04 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 1 Feb 2010 18:04:58 +0000 (18:04 +0000)
commit830f3f205d8a77acbf8838fe78c2c733ca924d9c
tree62e96b0c20202fd59c3bb5a5bfa4afb5ee2f3a28
parent3cb8509b680209c79632d7445709452f28213057
fix rdar://7590304, an infinite loop in instcombine.  In the invoke
case, instcombine can't zap the invoke for fear of changing the CFG.
However, we have to do something to prevent the next iteration of
instcombine from inserting another store -> undef before the invoke
thereby getting into infinite iteration between dead store elim and
store insertion.

Just zap the callee to null, which will prevent the next iteration
from doing anything.

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