25 BPFELFObjectWriter(uint8_t OSABI);
26 ~BPFELFObjectWriter()
override =
default;
30 const MCFixup &Fixup,
bool IsPCRel)
const override;
35 BPFELFObjectWriter::BPFELFObjectWriter(uint8_t OSABI)
43 switch ((
unsigned)Fixup.
getKind()) {
47 return ELF::R_BPF_64_64;
50 return ELF::R_BPF_64_32;
52 return ELF::R_BPF_64_64;
60 if (
A->getSymbol().isTemporary()) {
63 assert(SectionELF &&
"Null section for reloc symbol");
66 unsigned Flags = SectionELF->
getFlags();
68 return ELF::R_BPF_NONE;
71 return ELF::R_BPF_64_32;
75 std::unique_ptr<MCObjectTargetWriter>
77 return llvm::make_unique<BPFELFObjectWriter>(OSABI);
Instances of this class represent a uniqued identifier for a section in the current translation unit...
This class represents lattice values for constants.
std::unique_ptr< MCObjectTargetWriter > createBPFELFObjectWriter(uint8_t OSABI)
This represents an "assembler immediate".
block Block Frequency true
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
Represent a reference to a symbol from inside an expression.
static unsigned getRelocType(const MCValue &Target, const MCFixupKind FixupKind, const bool IsPCRel)
Translates generic PPC fixup kind to Mach-O/PPC relocation type enum.
A four-byte section relative fixup.
Context object for machine code objects.
const MCSymbolRefExpr * getSymA() const
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
A four-byte pc relative fixup.
Target - Wrapper for Target specific information.
A eight-byte section relative fixup.
This represents a section on linux, lots of unix variants and some bare metal systems.
LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
unsigned getFlags() const
MCFixupKind getKind() const