ARM: allow constpool entry to be moved to the user's block in all cases.
authorTim Northover <tnorthover@apple.com>
Thu, 13 Nov 2014 17:58:53 +0000 (17:58 +0000)
committerTim Northover <tnorthover@apple.com>
Thu, 13 Nov 2014 17:58:53 +0000 (17:58 +0000)
commit8bca5de6a99a9c9ad682d844a34afeffb438ae41
treea52d57a9ea70a0bd8857891c84771e833e1d6b56
parent064da63fcbceb03d9ee6d3f975bba5201558df95
ARM: allow constpool entry to be moved to the user's block in all cases.

Normally entries can only move to a lower address, but when that wasn't viable,
the user's block was considered anyway. Unfortunately, it went via
createNewWater which wasn't designed to handle the case where there's already
an island after the block.

Unfortunately, the test we have is slow and fragile, and I couldn't reduce it
to anything sane even with the @llvm.arm.space intrinsic. The test change here
is recreating the previous one after the change.

rdar://problem/18545506

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221905 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMConstantIslandPass.cpp
test/CodeGen/Thumb2/constant-islands-new-island.ll