aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/TargetLoweringObjectFile.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2015-05-18 17:10:40 +0000
committerTim Northover <tnorthover@apple.com>2015-05-18 17:10:40 +0000
commit12c41af07c95e3e640f8dfe4699328ef4f1824e6 (patch)
tree9ffefb6cc1c1bb0b97fdb26436702ba0b13ecf71 /llvm/lib/Target/TargetLoweringObjectFile.cpp
parent2982d4d795b501dd219b6484a797ae039bee210b (diff)
downloadllvm-12c41af07c95e3e640f8dfe4699328ef4f1824e6.zip
llvm-12c41af07c95e3e640f8dfe4699328ef4f1824e6.tar.gz
llvm-12c41af07c95e3e640f8dfe4699328ef4f1824e6.tar.bz2
ARM: allow jump tables to be placed as constant islands.
Previously, they were forced to immediately follow the actual branch instruction. This was usually OK (the LEAs actually accessing them got emitted nearby, and weren't usually separated much afterwards). Unfortunately, a sufficiently nasty phi elimination dumps many instructions right before the basic block terminator, and this can increase the range too much. This patch frees them up to be placed as usual by the constant islands pass, and consequently has to slightly modify the form of TBB/TBH tables to refer to a PC-relative label at the final jump. The other jump table formats were already position-independent. rdar://20813304 llvm-svn: 237590
Diffstat (limited to 'llvm/lib/Target/TargetLoweringObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions