AArch64: add branch fixup pass.
authorTim Northover <Tim.Northover@arm.com>
Fri, 15 Feb 2013 14:32:20 +0000 (14:32 +0000)
committerTim Northover <Tim.Northover@arm.com>
Fri, 15 Feb 2013 14:32:20 +0000 (14:32 +0000)
commit85d2760c8e1d36657ae4d86a6aeee03b3a723d9c
tree1eece9d72cea7eb50b1833133c096cbccb20ddcf
parent8a8a2dcae054a7b4dfea360b9b88e6be53fda40f
AArch64: add branch fixup pass.

This is essentially a stripped-down version of the ConstandIslands pass (which
always had these two functions), providing just the features necessary for
correctness.

In particular there needs to be a way to resolve the situation where a
conditional branch's destination block ends up out of range.

This issue crops up when self-hosting for AArch64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175269 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64.h
lib/Target/AArch64/AArch64BranchFixupPass.cpp [new file with mode: 0644]
lib/Target/AArch64/AArch64InstrInfo.cpp
lib/Target/AArch64/AArch64InstrInfo.h
lib/Target/AArch64/AArch64TargetMachine.cpp
lib/Target/AArch64/CMakeLists.txt