|
LLVM
4.0.0
|
This file contains the WebAssembly implementation of TargetFrameLowering class. More...
#include "WebAssemblyFrameLowering.h"#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"#include "WebAssemblyInstrInfo.h"#include "WebAssemblyMachineFunctionInfo.h"#include "WebAssemblySubtarget.h"#include "WebAssemblyTargetMachine.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineModuleInfo.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/Support/Debug.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "wasm-frame-info" |
Functions | |
| static void | writeSPToMemory (unsigned SrcReg, MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator &InsertAddr, MachineBasicBlock::iterator &InsertStore, const DebugLoc &DL) |
This file contains the WebAssembly implementation of TargetFrameLowering class.
On WebAssembly, there aren't a lot of things to do here. There are no callee-saved registers to save, and no spill slots.
The stack grows downward.
Definition in file WebAssemblyFrameLowering.cpp.
| #define DEBUG_TYPE "wasm-frame-info" |
Definition at line 35 of file WebAssemblyFrameLowering.cpp.
|
static |
Definition at line 99 of file WebAssemblyFrameLowering.cpp.
References llvm::MachineInstrBuilder::addExternalSymbol(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineFunction::createExternalSymbolName(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::PseudoSourceValueManager::getExternalSymbolCallEntry(), llvm::MachineFunction::getMachineMemOperand(), llvm::TargetRegisterInfo::getPointerRegClass(), llvm::MachineFunction::getPSVManager(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), llvm::MachineRegisterInfo::getTargetRegisterInfo(), llvm::MachineMemOperand::MOStore, MRI, TII, and Zero.
Referenced by llvm::WebAssemblyFrameLowering::eliminateCallFramePseudoInstr(), llvm::WebAssemblyFrameLowering::emitEpilogue(), and llvm::WebAssemblyFrameLowering::emitPrologue().
1.8.6