Don't form a WeakVH around the sentinel node in the instructions BB
authorChandler Carruth <chandlerc@gmail.com>
Sat, 24 Mar 2012 23:03:27 +0000 (23:03 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sat, 24 Mar 2012 23:03:27 +0000 (23:03 +0000)
commit858cd1c33c6ba47cf3401b1e00862aa22302af10
tree75e30f7b0a05c283f67a2ccccfdad5830334d97a
parent42c487d2e529489648176ebb8e9ef022c07ef785
Don't form a WeakVH around the sentinel node in the instructions BB
list. This is a bad idea. ;] I'm hopeful this is the bug that's showing
up with the MSVC bots, but we'll see.

It is definitely unnecessary. InstSimplify won't do anything to
a terminator instruction, we don't need to even include it in the
iteration range. We can also skip the now dead terminator check,
although I've made it an assert to help document that this is an
important invariant.

I'm still a bit queasy about this because there is an implicit
assumption that the terminator instruction cannot be RAUW'ed by the
simplification code. While that appears to be true at the moment, I see
no guarantee that would ensure it remains true in the future. I'm
looking at the cleanest way to solve that...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153399 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Utils/Local.cpp