diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-01-14 02:38:49 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-01-14 02:38:49 +0000 |
commit | d4a5c05c97b8c70f062288116afdabcf4c532483 (patch) | |
tree | 0269c5d31863ba985192bbedf25d20c5590879d1 /llvm/lib/Target/ARM/ARMFixupKinds.h | |
parent | c38102889f56cc628a2d8f98ae34ec2d8a92c0d2 (diff) | |
download | bcm5719-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.h | 5 |
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, |