Fix a potential performance problem in placing ARM constant pools.
authorBob Wilson <bob.wilson@apple.com>
Thu, 15 Oct 2009 20:49:47 +0000 (20:49 +0000)
committerBob Wilson <bob.wilson@apple.com>
Thu, 15 Oct 2009 20:49:47 +0000 (20:49 +0000)
commitb923953733ee6b0f477cd767dcc16f94a0966158
treedd4b0dfcebc7708adb07d3b8760d04391e8b3f7a
parent515d509360d81946247fd0f937034cdf1f237c72
Fix a potential performance problem in placing ARM constant pools.
In the case where there are no good places to put constants and we fall back
upon inserting unconditional branches to make new blocks, allow all constant
pool references in range of those blocks to put constants there, even if that
means resetting the "high water marks" for those references.  This will still
terminate because you can't keep splitting blocks forever, and in the bad
cases where we have to split blocks, it is important to avoid splitting more
than necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84202 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMConstantIslandPass.cpp