Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/MC/MCAsmBackend.h
Show First 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | public: | ||||
MCAsmBackend &operator=(const MCAsmBackend &) = delete; | MCAsmBackend &operator=(const MCAsmBackend &) = delete; | ||||
virtual ~MCAsmBackend(); | virtual ~MCAsmBackend(); | ||||
const support::endianness Endian; | const support::endianness Endian; | ||||
/// Return true if this target might automatically pad instructions and thus | /// Return true if this target might automatically pad instructions and thus | ||||
/// need to emit padding enable/disable directives around sensative code. | /// need to emit padding enable/disable directives around sensative code. | ||||
virtual bool allowAutoPadding() const { return false; } | virtual bool allowAutoPadding() const { return false; } | ||||
/// Return true if this target allows an unrelaxable instruction to be | |||||
/// emitted into RelaxableFragment and then we can increase its size in a | |||||
/// tricky way for optimization. | |||||
virtual bool allowEnhancedRelaxation() const { return false; } | |||||
/// Give the target a chance to manipulate state related to instruction | /// Give the target a chance to manipulate state related to instruction | ||||
/// alignment (e.g. padding for optimization), instruction relaxablility, etc. | /// alignment (e.g. padding for optimization), instruction relaxablility, etc. | ||||
/// before and after actually emitting the instruction. | /// before and after actually emitting the instruction. | ||||
virtual void emitInstructionBegin(MCObjectStreamer &OS, const MCInst &Inst) {} | virtual void emitInstructionBegin(MCObjectStreamer &OS, const MCInst &Inst) {} | ||||
virtual void emitInstructionEnd(MCObjectStreamer &OS, const MCInst &Inst) {} | virtual void emitInstructionEnd(MCObjectStreamer &OS, const MCInst &Inst) {} | ||||
/// lifetime management | /// lifetime management | ||||
▲ Show 20 Lines • Show All 145 Lines • Show Last 20 Lines |