LLVM  16.0.0git
Macros | Functions
WebAssemblyReplacePhysRegs.cpp File Reference
#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
#include "WebAssembly.h"
#include "WebAssemblyMachineFunctionInfo.h"
#include "WebAssemblySubtarget.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for WebAssemblyReplacePhysRegs.cpp:

Go to the source code of this file.


#define DEBUG_TYPE   "wasm-replace-phys-regs"


 INITIALIZE_PASS (WebAssemblyReplacePhysRegs, DEBUG_TYPE, "Replace physical registers with virtual registers", false, false) FunctionPass *llvm

Detailed Description

This file implements a pass that replaces physical registers with virtual registers.

LLVM expects certain physical registers, such as a stack pointer. However, WebAssembly doesn't actually have such physical registers. This pass is run once LLVM no longer needs these registers, and replaces them with virtual registers, so they can participate in register stackifying and coloring in the normal way.

Definition in file WebAssemblyReplacePhysRegs.cpp.

Macro Definition Documentation


#define DEBUG_TYPE   "wasm-replace-phys-regs"

Definition at line 32 of file WebAssemblyReplacePhysRegs.cpp.

Function Documentation


INITIALIZE_PASS ( WebAssemblyReplacePhysRegs  ,
"Replace physical registers with virtual registers ,
false  ,

Definition at line 55 of file WebAssemblyReplacePhysRegs.cpp.