change llvm::MergeBlockIntoPredecessor to not merge two blocks BB1->BB2
authorChris Lattner <sabre@nondot.org>
Sun, 1 Nov 2009 04:57:33 +0000 (04:57 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 1 Nov 2009 04:57:33 +0000 (04:57 +0000)
commit882029269e0cf4b497993b8e9a754429ef035fac
treed3b74b401df67a4290ff795948a1662e2a817b3d
parent0b649dd91fd2b4879fd930a19ec5e6919c033838
change llvm::MergeBlockIntoPredecessor to not merge two blocks BB1->BB2
when BB2 has its address taken.  Since it ends up doing BB2->rauw(BB1),
this can cause the address of the entry block to be taken.  Since it is
generally undesirable to nuke blocks whose address is taken, even when
we can, just unconditionally stop this xform.

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