10 #ifndef LLVM_MC_MCASMBACKEND_H
11 #define LLVM_MC_MCASMBACKEND_H
17 #include "llvm/Support/DataTypes.h"
23 class MCELFObjectTargetWriter;
24 struct MCFixupKindInfo;
27 class MCRelaxableFragment;
117 uint64_t
Value)
const = 0;
unsigned HasReliableSymbolDifference
virtual bool fixupNeedsRelaxation(const MCFixup &Fixup, uint64_t Value, const MCRelaxableFragment *DF, const MCAsmLayout &Layout) const =0
virtual bool doesSectionRequireSymbols(const MCSection &Section) const
virtual unsigned getMinimumNopSize() const
#define llvm_unreachable(msg)
unsigned HasDataInCodeSupport
virtual bool isSectionAtomizable(const MCSection &Section) const
virtual void processFixupValue(const MCAssembler &Asm, const MCAsmLayout &Layout, const MCFixup &Fixup, const MCFragment *DF, MCValue &Target, uint64_t &Value, bool &IsResolved)
virtual bool writeNopData(uint64_t Count, MCObjectWriter *OW) const =0
virtual void relaxInstruction(const MCInst &Inst, MCInst &Res) const =0
MCFixupKind
MCFixupKind - Extensible enumeration to represent the type of a fixup.
virtual bool mayNeedRelaxation(const MCInst &Inst) const =0
virtual unsigned getNumFixupKinds() const =0
getNumFixupKinds - Get the number of target specific fixup kinds.
virtual MCObjectWriter * createObjectWriter(raw_ostream &OS) const =0
virtual void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize, uint64_t Value) const =0
#define LLVM_DELETED_FUNCTION
bool hasDataInCodeSupport() const
virtual void handleAssemblerFlag(MCAssemblerFlag Flag)
virtual uint32_t generateCompactUnwindEncoding(ArrayRef< MCCFIInstruction >) const
Generate the compact unwind encoding for the CFI instructions.
bool hasReliableSymbolDifference() const
MCFixupKindInfo - Target independent information on a fixup kind.
LLVM Value Representation.
MCAsmBackend - Generic interface to target specific assembler backends.
virtual MCELFObjectTargetWriter * createELFObjectTargetWriter() const
virtual const MCFixupKindInfo & getFixupKindInfo(MCFixupKind Kind) const
getFixupKindInfo - Get information on a fixup kind.
virtual void reset()
lifetime management