28 SystemZObjectWriter(uint8_t OSABI);
29 ~SystemZObjectWriter()
override =
default;
34 const MCFixup &Fixup,
bool IsPCRel)
const override;
39 SystemZObjectWriter::SystemZObjectWriter(uint8_t OSABI)
71 case FK_Data_4:
return ELF::R_390_TLS_LE32;
72 case FK_Data_8:
return ELF::R_390_TLS_LE64;
80 case FK_Data_4:
return ELF::R_390_TLS_LDO32;
81 case FK_Data_8:
return ELF::R_390_TLS_LDO64;
89 case FK_Data_4:
return ELF::R_390_TLS_LDM32;
90 case FK_Data_8:
return ELF::R_390_TLS_LDM64;
99 case FK_Data_4:
return ELF::R_390_TLS_GD32;
100 case FK_Data_8:
return ELF::R_390_TLS_GD64;
120 bool IsPCRel)
const {
130 assert(!IsPCRel &&
"NTPOFF shouldn't be PC-relative");
135 return ELF::R_390_TLS_IEENT;
136 llvm_unreachable(
"Only PC-relative INDNTPOFF accesses are supported for now");
139 assert(!IsPCRel &&
"DTPOFF shouldn't be PC-relative");
143 assert(!IsPCRel &&
"TLSLDM shouldn't be PC-relative");
147 assert(!IsPCRel &&
"TLSGD shouldn't be PC-relative");
152 return ELF::R_390_GOTENT;
156 assert(IsPCRel &&
"@PLT shouldt be PC-relative");
164 std::unique_ptr<MCObjectTargetWriter>
166 return llvm::make_unique<SystemZObjectWriter>(OSABI);
This class represents lattice values for constants.
This represents an "assembler immediate".
block Block Frequency true
MCSymbolRefExpr::VariantKind getAccessVariant() const
static unsigned getTLSGDReloc(unsigned Kind)
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
std::unique_ptr< MCObjectTargetWriter > createSystemZObjectWriter(uint8_t OSABI)
static unsigned getRelocType(const MCValue &Target, const MCFixupKind FixupKind, const bool IsPCRel)
Translates generic PPC fixup kind to Mach-O/PPC relocation type enum.
static unsigned getPCRelReloc(unsigned Kind)
Context object for machine code objects.
static unsigned getTLSLEReloc(unsigned Kind)
static unsigned getPLTReloc(unsigned Kind)
static unsigned getTLSLDMReloc(unsigned Kind)
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
PowerPC TLS Dynamic Call Fixup
static unsigned getAbsoluteReloc(unsigned Kind)
Target - Wrapper for Target specific information.
static unsigned getTLSLDOReloc(unsigned Kind)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
MCFixupKind getKind() const