diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-02-11 21:17:54 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-02-11 21:17:54 +0000 |
| commit | 2a34015abcab66e91966598aafe000be49bd88a9 (patch) | |
| tree | 3520cef190d6754cb1c7c4f1021e56acfef240e7 | |
| parent | c07f1f4f7be384e4aa47ad8e766cc1e2f28d9286 (diff) | |
| download | bcm5719-llvm-2a34015abcab66e91966598aafe000be49bd88a9.tar.gz bcm5719-llvm-2a34015abcab66e91966598aafe000be49bd88a9.zip | |
switch to target-indep fixups for 1/2/4/8 byte data.
llvm-svn: 95920
| -rw-r--r-- | llvm/lib/Target/X86/X86MCCodeEmitter.cpp | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/llvm/lib/Target/X86/X86MCCodeEmitter.cpp b/llvm/lib/Target/X86/X86MCCodeEmitter.cpp index 8c057b733ac..7ec7cec6604 100644 --- a/llvm/lib/Target/X86/X86MCCodeEmitter.cpp +++ b/llvm/lib/Target/X86/X86MCCodeEmitter.cpp @@ -23,11 +23,8 @@ using namespace llvm; namespace llvm { namespace X86 { enum Fixups { - // FIXME: This is just a stub. - fixup_1byte_imm = FirstTargetFixupKind, - fixup_2byte_imm, - fixup_4byte_imm, - fixup_8byte_imm + reloc_pcrel_4byte = FirstTargetFixupKind, // 32-bit pcrel, e.g. a branch. + reloc_pcrel_1byte // 8-bit pcrel, e.g. branch_1 }; } } @@ -48,15 +45,13 @@ public: ~X86MCCodeEmitter() {} unsigned getNumFixupKinds() const { - return 4; + return 1; } MCFixupKindInfo &getFixupKindInfo(MCFixupKind Kind) const { static MCFixupKindInfo Infos[] = { - { "fixup_1byte_imm", 0, 1 * 8 }, - { "fixup_2byte_imm", 0, 2 * 8 }, - { "fixup_4byte_imm", 0, 4 * 8 }, - { "fixup_8byte_imm", 0, 8 * 8 } + { "reloc_pcrel_4byte", 0, 4 * 8 }, + { "reloc_pcrel_1byte", 0, 1 * 8 } }; assert(Kind >= FirstTargetFixupKind && Kind < MaxTargetFixupKind && @@ -148,14 +143,14 @@ EmitImmediate(const MCOperand &DispOp, unsigned Size, // FIXME: Pass in the relocation type, this is just a hack.. unsigned FixupKind; if (Size == 1) - FixupKind = X86::fixup_1byte_imm; + FixupKind = FK_Data_1; else if (Size == 2) - FixupKind = X86::fixup_2byte_imm; + FixupKind = FK_Data_2; else if (Size == 4) - FixupKind = X86::fixup_4byte_imm; + FixupKind = FK_Data_4; else { assert(Size == 8 && "Unknown immediate size"); - FixupKind = X86::fixup_8byte_imm; + FixupKind = FK_Data_8; } // Emit a symbolic constant as a fixup and 4 zeros. |

