From: Chris Lattner Date: Thu, 11 Feb 2010 21:17:54 +0000 (+0000) Subject: switch to target-indep fixups for 1/2/4/8 byte data. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=11eafa8bed42a8bab5d1224e6680dcb6bb104994;p=oota-llvm.git switch to target-indep fixups for 1/2/4/8 byte data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95920 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86MCCodeEmitter.cpp b/lib/Target/X86/X86MCCodeEmitter.cpp index 8c057b733ac..7ec7cec6604 100644 --- a/lib/Target/X86/X86MCCodeEmitter.cpp +++ b/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.