LLVM 22.0.0git
|
Lowers MachineInstr objects into MCInst objects. More...
#include "Target/AVR/AVRMCInstLower.h"
Public Member Functions | |
AVRMCInstLower (MCContext &Ctx, AsmPrinter &Printer) | |
void | lowerInstruction (const MachineInstr &MI, MCInst &OutMI) const |
Lowers a MachineInstr into a MCInst. | |
MCOperand | lowerSymbolOperand (const MachineOperand &MO, MCSymbol *Sym, const AVRSubtarget &Subtarget) const |
Lowers MachineInstr objects into MCInst objects.
Definition at line 26 of file AVRMCInstLower.h.
|
inline |
Definition at line 28 of file AVRMCInstLower.h.
void llvm::AVRMCInstLower::lowerInstruction | ( | const MachineInstr & | MI, |
MCInst & | OutMI ) const |
Lowers a MachineInstr into a MCInst.
Definition at line 66 of file AVRMCInstLower.cpp.
References llvm::MCInst::addOperand(), llvm::MCSymbolRefExpr::create(), llvm::MCOperand::createExpr(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::errs(), llvm_unreachable, lowerSymbolOperand(), MI, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Register, llvm::MachineOperand::MO_RegisterMask, and llvm::MCInst::setOpcode().
MCOperand llvm::AVRMCInstLower::lowerSymbolOperand | ( | const MachineOperand & | MO, |
MCSymbol * | Sym, | ||
const AVRSubtarget & | Subtarget ) const |
Definition at line 26 of file AVRMCInstLower.cpp.
References llvm::AVRMCExpr::create(), llvm::MCConstantExpr::create(), llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createAdd(), llvm::MCOperand::createExpr(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getOffset(), llvm::MachineOperand::getTargetFlags(), llvm::isa(), llvm::MachineOperand::isGlobal(), llvm::MachineOperand::isJTI(), llvm_unreachable, llvm::AVRII::MO_HI, llvm::AVRII::MO_LO, llvm::AVRII::MO_NEG, llvm::AVR::S_HI8, llvm::AVR::S_HI8_GS, llvm::AVR::S_LO8, llvm::AVR::S_LO8_GS, llvm::AVR::S_PM_HI8, and llvm::AVR::S_PM_LO8.
Referenced by lowerInstruction().