LLVM 20.0.0git
|
This class is used to lower an MachineInstr into an MCInst. More...
#include "Target/WebAssembly/WebAssemblyMCInstLower.h"
Public Member Functions | |
WebAssemblyMCInstLower (MCContext &ctx, WebAssemblyAsmPrinter &printer) | |
void | lower (const MachineInstr *MI, MCInst &OutMI) const |
This class is used to lower an MachineInstr into an MCInst.
Definition at line 30 of file WebAssemblyMCInstLower.h.
|
inline |
Definition at line 41 of file WebAssemblyMCInstLower.h.
void WebAssemblyMCInstLower::lower | ( | const MachineInstr * | MI, |
MCInst & | OutMI | ||
) | const |
Definition at line 166 of file WebAssemblyMCInstLower.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCInst::begin(), llvm::MCOperand::createDFPImm(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::MCOperand::createSFPImm(), llvm::errs(), llvm::wasm::EXNREF, llvm::MachineOperand::getFPImm(), getFunctionReturns(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getMCSymbol(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getTargetFlags(), llvm::MachineOperand::getType(), llvm::WebAssemblyFunctionInfo::getWAReg(), I, llvm::wasm::I32, Info, llvm::MCInst::insert(), llvm::WebAssembly::Invalid, llvm::WebAssembly::isCallIndirect(), llvm::MachineOperand::isImplicit(), llvm::MachineOperand::isReg(), llvm_unreachable, MI, llvm::WebAssemblyII::MO_CATCH_BLOCK_SIG, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_FPImmediate, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_MCSymbol, llvm::MachineOperand::MO_Register, MRI, llvm::WebAssembly::Multivalue, llvm::WebAssembly::OPERAND_SIGNATURE, llvm::WebAssembly::OPERAND_TYPEINDEX, llvm::SmallVectorTemplateBase< T, bool >::pop_back(), llvm::Pass::print(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::WebAssembly::regClassToValType(), removeRegisterOperands(), llvm::MCInst::setOpcode(), and WasmKeepRegisters.
Referenced by llvm::WebAssemblyAsmPrinter::emitInstruction().