LLVM: llvm::HexagonMCCodeEmitter Class Reference (original) (raw)

#include "[Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h](HexagonMCCodeEmitter%5F8h%5Fsource.html)"

Inheritance diagram for llvm::HexagonMCCodeEmitter:

Public Member Functions
HexagonMCCodeEmitter (MCInstrInfo const &MII, MCContext &MCT)
void encodeInstruction (MCInst const &MI, SmallVectorImpl< char > &CB, SmallVectorImpl< MCFixup > &Fixups, MCSubtargetInfo const &STI) const override
Emit the bundle.
void encodeSingleInstruction (const MCInst &MI, SmallVectorImpl< char > &CB, SmallVectorImpl< MCFixup > &Fixups, const MCSubtargetInfo &STI, uint32_t Parse) const
uint64_t getBinaryCodeForInstr (MCInst const &MI, SmallVectorImpl< MCFixup > &Fixups, MCSubtargetInfo const &STI) const
unsigned getMachineOpValue (MCInst const &MI, MCOperand const &MO, SmallVectorImpl< MCFixup > &Fixups, MCSubtargetInfo const &STI) const
Return binary encoding of operand.
Public Member Functions inherited from llvm::MCCodeEmitter
MCCodeEmitter (const MCCodeEmitter &)=delete
MCCodeEmitter & operator= (const MCCodeEmitter &)=delete
virtual ~MCCodeEmitter ()
virtual void reset ()
Lifetime management.
Additional Inherited Members
Protected Member Functions inherited from llvm::MCCodeEmitter
MCCodeEmitter ()
Static Protected Member Functions inherited from llvm::MCCodeEmitter
static void reportUnsupportedInst (const MCInst &Inst)
static void reportUnsupportedOperand (const MCInst &Inst, unsigned OpNum)

Detailed Description

Constructor & Destructor Documentation

Member Function Documentation

encodeInstruction()

Emit the bundle.

Implements llvm::MCCodeEmitter.

Definition at line 395 of file HexagonMCCodeEmitter.cpp.

References assert(), llvm::HexagonMCInstrInfo::bundleInstructions(), llvm::HexagonMCInstrInfo::bundleSize(), llvm::dbgs(), encodeSingleInstruction(), HEXAGON_INSTR_SIZE, I, llvm::HexagonMCInstrInfo::isBundle(), llvm::HexagonMCInstrInfo::isImmext(), llvm::Last, LLVM_DEBUG, and MI.

encodeSingleInstruction()

Definition at line 426 of file HexagonMCCodeEmitter.cpp.

References assert(), llvm::dbgs(), getBinaryCodeForInstr(), llvm::HexagonMCInstrInfo::getDesc(), llvm::HexagonMCInstrInfo::getName(), llvm::HexagonII::INST_PARSE_DUPLEX, llvm::HexagonMCInstrInfo::isBundle(), llvm::little, LLVM_DEBUG, llvm_unreachable, MI, Opc, and llvm::support::endian::write().

Referenced by encodeInstruction().

getBinaryCodeForInstr()

getMachineOpValue()

Return binary encoding of operand.

Definition at line 734 of file HexagonMCCodeEmitter.cpp.

References assert(), llvm::HexagonMCInstrInfo::bundleInstructions(), llvm::HexagonMCInstrInfo::getDesc(), llvm::HexagonMCInstrInfo::getDuplexRegisterNumbering(), llvm::MCOperand::getExpr(), llvm::HexagonMCInstrInfo::getNewValueOperand(), llvm::HexagonMCInstrInfo::getNewValueOperand2(), llvm::MCOperand::getReg(), llvm::HexagonMCInstrInfo::hasNewValue(), llvm::HexagonMCInstrInfo::hasNewValue2(), I, llvm::MCOperand::isImm(), llvm::HexagonMCInstrInfo::isImmext(), llvm::HexagonMCInstrInfo::isNewValue(), llvm::HexagonMCInstrInfo::isPredicated(), llvm::HexagonMCInstrInfo::isPredicatedTrue(), llvm::MCOperand::isReg(), llvm::HexagonMCInstrInfo::isVector(), MI, llvm::Offset, RegisterMatches(), llvm::HexagonMCInstrInfo::SubregisterBit(), and UseReg().


The documentation for this class was generated from the following files: