LLVM 20.0.0git
|
This file contains code to lower WebAssembly MachineInstrs to their corresponding MCInst records. More...
#include "WebAssemblyMCInstLower.h"
#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
#include "TargetInfo/WebAssemblyTargetInfo.h"
#include "Utils/WebAssemblyTypeUtilities.h"
#include "WebAssemblyAsmPrinter.h"
#include "WebAssemblyMachineFunctionInfo.h"
#include "WebAssemblyUtilities.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/IR/Constants.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSymbolWasm.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Functions | |
static void | removeRegisterOperands (const MachineInstr *MI, MCInst &OutMI) |
static void | getFunctionReturns (const MachineInstr *MI, SmallVectorImpl< wasm::ValType > &Returns) |
Variables | |
cl::opt< bool > | WasmKeepRegisters ("wasm-keep-registers", cl::Hidden, cl::desc("WebAssembly: output stack registers in" " instruction output for test purposes only."), cl::init(false)) |
This file contains code to lower WebAssembly MachineInstrs to their corresponding MCInst records.
Definition in file WebAssemblyMCInstLower.cpp.
|
static |
Definition at line 156 of file WebAssemblyMCInstLower.cpp.
References llvm::computeLegalValueVTs(), F, MI, RetTy, and llvm::valTypesFromMVTs().
Referenced by llvm::WebAssemblyMCInstLower::lower().
|
static |
Definition at line 287 of file WebAssemblyMCInstLower.cpp.
References assert(), llvm::MCInst::erase(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::WebAssembly::getStackOpcode(), I, llvm::MachineOperand::isReg(), MI, and llvm::MCInst::setOpcode().
Referenced by llvm::WebAssemblyMCInstLower::lower().
cl::opt< bool > WasmKeepRegisters("wasm-keep-registers", cl::Hidden, cl::desc("WebAssembly: output stack registers in" " instruction output for test purposes only."), cl::init(false)) | ( | "wasm-keep-registers" | , |
cl::Hidden | , | ||
cl::desc("WebAssembly: output stack registers in" " instruction output for test purposes only.") | , | ||
cl::init(false) | |||
) |