31 RISCVAsmBackend(uint8_t OSABI,
bool Is64Bit)
33 ~RISCVAsmBackend()
override {}
35 void applyFixup(
const MCFixup &Fixup,
char *Data,
unsigned DataSize,
36 uint64_t
Value,
bool IsPCRel)
const override;
40 bool fixupNeedsRelaxation(
const MCFixup &Fixup, uint64_t
Value,
46 unsigned getNumFixupKinds()
const override {
return 1; }
48 bool mayNeedRelaxation(
const MCInst &Inst)
const override {
return false; }
51 MCInst &Res)
const override {
56 bool writeNopData(uint64_t Count,
MCObjectWriter *OW)
const override;
59 bool RISCVAsmBackend::writeNopData(uint64_t Count,
MCObjectWriter *OW)
const {
66 for (uint64_t
i = 0;
i < Count;
i += 4)
72 void RISCVAsmBackend::applyFixup(
const MCFixup &Fixup,
char *Data,
73 unsigned DataSize, uint64_t
Value,
90 return new RISCVAsmBackend(OSABI, TT.
isArch64Bit());
OSType getOS() const
getOS - Get the parsed operating system type of this triple.
Defines the object file and target independent interfaces used by the assembler backend to write nati...
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
Encapsulates the layout of an assembly file at a particular point in time.
bool isArch64Bit() const
Test whether the architecture is 64-bit.
Instances of this class represent a single low-level machine instruction.
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
A relaxable fragment holds on to its MCInst, since it may need to be relaxed during the assembler lay...
void write32(uint32_t Value)
unsigned const MachineRegisterInfo * MRI
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
Triple - Helper class for working with autoconf configuration names.
Target - Wrapper for Target specific information.
MCSubtargetInfo - Generic base class for all target subtargets.
MCAsmBackend * createRISCVAsmBackend(const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU, const MCTargetOptions &Options)
An abstract base class for streams implementations that also support a pwrite operation.
MCObjectWriter * createRISCVELFObjectWriter(raw_pwrite_stream &OS, uint8_t OSABI, bool Is64Bit)
LLVM Value Representation.
Generic interface to target specific assembler backends.
StringRef - Represent a constant reference to a string, i.e.