| 
    LLVM 22.0.0git
    
   | 
 
#include "Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h"
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) | 
Definition at line 35 of file HexagonMCCodeEmitter.h.
      
  | 
  inline | 
Definition at line 50 of file HexagonMCCodeEmitter.h.
      
  | 
  overridevirtual | 
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.
| void HexagonMCCodeEmitter::encodeSingleInstruction | ( | const MCInst & | MI, | 
| SmallVectorImpl< char > & | CB, | ||
| SmallVectorImpl< MCFixup > & | Fixups, | ||
| const MCSubtargetInfo & | STI, | ||
| uint32_t | Parse ) const | 
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().
| uint64_t llvm::HexagonMCCodeEmitter::getBinaryCodeForInstr | ( | MCInst const & | MI, | 
| SmallVectorImpl< MCFixup > & | Fixups, | ||
| MCSubtargetInfo const & | STI ) const | 
References llvm::Last, and MI.
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 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().