diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp index 85e24dc98f59d..2ce7c86ff6182 100644 --- a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp +++ b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp @@ -34,40 +34,6 @@ using namespace llvm; -static unsigned getFixupKindSize(unsigned Kind) { - switch (Kind) { - default: - llvm_unreachable("invalid fixup kind!"); - case FK_NONE: - return 0; - case FK_PCRel_1: - case FK_SecRel_1: - case FK_Data_1: - return 1; - case FK_PCRel_2: - case FK_SecRel_2: - case FK_Data_2: - return 2; - case FK_PCRel_4: - case X86::reloc_riprel_4byte: - case X86::reloc_riprel_4byte_relax: - case X86::reloc_riprel_4byte_relax_rex: - case X86::reloc_riprel_4byte_movq_load: - case X86::reloc_signed_4byte: - case X86::reloc_signed_4byte_relax: - case X86::reloc_global_offset_table: - case X86::reloc_branch_4byte_pcrel: - case FK_SecRel_4: - case FK_Data_4: - return 4; - case FK_PCRel_8: - case FK_SecRel_8: - case FK_Data_8: - case X86::reloc_global_offset_table8: - return 8; - } -} - namespace { /// A wrapper for holding a mask of the values from X86::AlignBranchBoundaryKind class X86AlignBranchKind { @@ -126,6 +92,40 @@ cl::opt> X86AlignBranch( "indirect(indirect jump)."), cl::location(X86AlignBranchKindLoc)); +static unsigned getFixupKindSize(unsigned Kind) { + switch (Kind) { + default: + llvm_unreachable("invalid fixup kind!"); + case FK_NONE: + return 0; + case FK_PCRel_1: + case FK_SecRel_1: + case FK_Data_1: + return 1; + case FK_PCRel_2: + case FK_SecRel_2: + case FK_Data_2: + return 2; + case FK_PCRel_4: + case X86::reloc_riprel_4byte: + case X86::reloc_riprel_4byte_relax: + case X86::reloc_riprel_4byte_relax_rex: + case X86::reloc_riprel_4byte_movq_load: + case X86::reloc_signed_4byte: + case X86::reloc_signed_4byte_relax: + case X86::reloc_global_offset_table: + case X86::reloc_branch_4byte_pcrel: + case FK_SecRel_4: + case FK_Data_4: + return 4; + case FK_PCRel_8: + case FK_SecRel_8: + case FK_Data_8: + case X86::reloc_global_offset_table8: + return 8; + } +} + class X86ELFObjectWriter : public MCELFObjectTargetWriter { public: X86ELFObjectWriter(bool is64Bit, uint8_t OSABI, uint16_t EMachine,