Go to the documentation of this file.
27 ~BPFAsmBackend()
override =
default;
34 std::unique_ptr<MCObjectTargetWriter>
35 createObjectTargetWriter()
const override;
44 unsigned getNumFixupKinds()
const override {
return 1; }
58 support::endian::write<uint64_t>(OS, 0x15000000, Endian);
72 support::endian::write<uint32_t>(&
Data[
Fixup.getOffset() + 4],
76 support::endian::write<uint32_t>(&
Data[
Fixup.getOffset()],
Value, Endian);
78 support::endian::write<uint64_t>(&
Data[
Fixup.getOffset()],
Value, Endian);
91 int64_t ByteOff = (int64_t)
Value - 8;
92 if (ByteOff > INT16_MAX * 8 || ByteOff < INT16_MIN * 8)
96 support::endian::write<uint16_t>(&
Data[
Fixup.getOffset() + 2],
Value,
101 std::unique_ptr<MCObjectTargetWriter>
102 BPFAsmBackend::createObjectTargetWriter()
const {
This is an optimization pass for GlobalISel generic memory operations.
A relaxable fragment holds on to its MCInst, since it may need to be relaxed during the assembler lay...
void write32be(void *P, uint32_t V)
Target - Wrapper for Target specific information.
void write32le(void *P, uint32_t V)
std::unique_ptr< MCObjectTargetWriter > createBPFELFObjectWriter(uint8_t OSABI)
Error applyFixup(LinkGraph &G, Block &B, const Edge &E)
Apply fixup expression for edge to block content.
@ FK_Data_4
A four-byte fixup.
Generic interface to target specific assembler backends.
void report_fatal_error(Error Err, bool gen_crash_diag=true)
Report a serious error, calling any installed error handler.
This class implements an extremely fast bulk output stream that can only output to a stream.
static RegisterPass< DebugifyFunctionPass > DF("debugify-function", "Attach debug info to a function")
MCAsmBackend * createBPFAsmBackend(const Target &T, const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const MCTargetOptions &Options)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
@ FK_PCRel_2
A two-byte pc relative fixup.
@ FK_PCRel_4
A four-byte pc relative fixup.
PowerPC TLS Dynamic Call Fixup
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
unsigned const MachineRegisterInfo * MRI
Encapsulates the layout of an assembly file at a particular point in time.
@ FK_SecRel_8
A eight-byte section relative fixup.
@ FK_Data_8
A eight-byte fixup.
This represents an "assembler immediate".
MCAsmBackend * createBPFbeAsmBackend(const Target &T, const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const MCTargetOptions &Options)
Generic base class for all target subtargets.
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
LLVM Value Representation.