summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMFixupKinds.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2011-01-14 02:38:49 +0000
committerEvan Cheng <evan.cheng@apple.com>2011-01-14 02:38:49 +0000
commitd4a5c05c97b8c70f062288116afdabcf4c532483 (patch)
tree0269c5d31863ba985192bbedf25d20c5590879d1 /llvm/lib/Target/ARM/ARMFixupKinds.h
parentc38102889f56cc628a2d8f98ae34ec2d8a92c0d2 (diff)
downloadbcm5719-llvm-d4a5c05c97b8c70f062288116afdabcf4c532483.tar.gz
bcm5719-llvm-d4a5c05c97b8c70f062288116afdabcf4c532483.zip
Completed :lower16: / :upper16: support for movw / movt pairs on Darwin.
- Fixed :upper16: fix up routine. It should be shifting down the top 16 bits first. - Added support for Thumb2 :lower16: and :upper16: fix up. - Added :upper16: and :lower16: relocation support to mach-o object writer. llvm-svn: 123424
Diffstat (limited to 'llvm/lib/Target/ARM/ARMFixupKinds.h')
-rw-r--r--llvm/lib/Target/ARM/ARMFixupKinds.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMFixupKinds.h b/llvm/lib/Target/ARM/ARMFixupKinds.h
index 3d448b5c78f..9425f222613 100644
--- a/llvm/lib/Target/ARM/ARMFixupKinds.h
+++ b/llvm/lib/Target/ARM/ARMFixupKinds.h
@@ -70,9 +70,10 @@ enum Fixups {
// The next two are for the movt/movw pair
// the 16bit imm field are split into imm{15-12} and imm{11-0}
- // Fixme: We need new ones for Thumb.
fixup_arm_movt_hi16, // :upper16:
fixup_arm_movw_lo16, // :lower16:
+ fixup_t2_movt_hi16, // :upper16:
+ fixup_t2_movw_lo16, // :lower16:
// It is possible to create an "immediate" that happens to be pcrel.
// movw r0, :lower16:Foo-(Bar+8) and movt r0, :upper16:Foo-(Bar+8)
@@ -80,6 +81,8 @@ enum Fixups {
// Needed to support ELF::R_ARM_MOVT_PREL and ELF::R_ARM_MOVW_PREL_NC
fixup_arm_movt_hi16_pcrel, // :upper16:
fixup_arm_movw_lo16_pcrel, // :lower16:
+ fixup_t2_movt_hi16_pcrel, // :upper16:
+ fixup_t2_movw_lo16_pcrel, // :lower16:
// Marker
LastTargetFixupKind,
OpenPOWER on IntegriCloud