LLVM 20.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.
References Printer.
void llvm::AVRMCInstLower::lowerInstruction | ( | const MachineInstr & | MI, |
MCInst & | OutMI | ||
) | const |
Lowers a MachineInstr
into a MCInst
.
Definition at line 68 of file AVRMCInstLower.cpp.
References llvm::MCInst::addOperand(), llvm::MCSymbolRefExpr::create(), llvm::MCOperand::createExpr(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::errs(), llvm::AsmPrinter::GetBlockAddressSymbol(), llvm::AsmPrinter::GetCPISymbol(), llvm::AsmPrinter::GetExternalSymbolSymbol(), llvm::AsmPrinter::GetJTISymbol(), llvm::AsmPrinter::getSymbol(), 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().
Referenced by llvm::AVRAsmPrinter::emitInstruction().
MCOperand llvm::AVRMCInstLower::lowerSymbolOperand | ( | const MachineOperand & | MO, |
MCSymbol * | Sym, | ||
const AVRSubtarget & | Subtarget | ||
) | const |
Definition at line 26 of file AVRMCInstLower.cpp.
References llvm::MCSymbolRefExpr::create(), llvm::MCConstantExpr::create(), llvm::AVRMCExpr::create(), llvm::MCBinaryExpr::createAdd(), llvm::MCOperand::createExpr(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getOffset(), llvm::MachineOperand::getTargetFlags(), llvm::MachineOperand::isGlobal(), llvm::MachineOperand::isJTI(), llvm_unreachable, llvm::AVRII::MO_HI, llvm::AVRII::MO_LO, llvm::AVRII::MO_NEG, Sym, llvm::AVRMCExpr::VK_AVR_HI8, llvm::AVRMCExpr::VK_AVR_HI8_GS, llvm::AVRMCExpr::VK_AVR_LO8, llvm::AVRMCExpr::VK_AVR_LO8_GS, llvm::AVRMCExpr::VK_AVR_PM_HI8, and llvm::AVRMCExpr::VK_AVR_PM_LO8.
Referenced by lowerInstruction().