LLVM 20.0.0git
|
#include "Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h"
Additional Inherited Members | |
Protected Member Functions inherited from llvm::MCCodeEmitter | |
MCCodeEmitter () | |
Definition at line 34 of file HexagonMCCodeEmitter.h.
|
inline |
Definition at line 49 of file HexagonMCCodeEmitter.h.
|
overridevirtual |
Emit the bundle.
Implements llvm::MCCodeEmitter.
Definition at line 366 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.
void HexagonMCCodeEmitter::encodeSingleInstruction | ( | const MCInst & | MI, |
SmallVectorImpl< char > & | CB, | ||
SmallVectorImpl< MCFixup > & | Fixups, | ||
const MCSubtargetInfo & | STI, | ||
uint32_t | Parse | ||
) | const |
Definition at line 397 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, and MI.
Referenced by encodeInstruction().
uint64_t llvm::HexagonMCCodeEmitter::getBinaryCodeForInstr | ( | MCInst const & | MI, |
SmallVectorImpl< MCFixup > & | Fixups, | ||
MCSubtargetInfo const & | STI | ||
) | const |
Referenced by encodeSingleInstruction().
unsigned HexagonMCCodeEmitter::getMachineOpValue | ( | MCInst const & | MI, |
MCOperand const & | MO, | ||
SmallVectorImpl< MCFixup > & | Fixups, | ||
MCSubtargetInfo const & | STI | ||
) | const |
Return binary encoding of operand.
Definition at line 707 of file HexagonMCCodeEmitter.cpp.
References assert(), llvm::HexagonMCInstrInfo::bundleInstructions(), llvm::HexagonMCInstrInfo::getDesc(), llvm::HexagonMCInstrInfo::getDuplexRegisterNumbering(), llvm::MCRegisterInfo::getEncodingValue(), llvm::MCOperand::getExpr(), llvm::HexagonMCInstrInfo::getNewValueOperand(), llvm::HexagonMCInstrInfo::getNewValueOperand2(), llvm::MCOperand::getReg(), llvm::MCContext::getRegisterInfo(), 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().