LLVM 22.0.0git
WebAssemblyDebugFixup.cpp File Reference

Several prior passes may "stackify" registers, here we ensure any references in such registers in debug_value instructions become stack relative also. More...

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "wasm-debug-fixup"

Functions

 INITIALIZE_PASS (WebAssemblyDebugFixup, DEBUG_TYPE, "Ensures debug_value's that have been stackified become stack relative", false, false) FunctionPass *llvm
static void setDanglingDebugValuesUndef (MachineBasicBlock &MBB, const TargetInstrInfo *TII)

Detailed Description

Several prior passes may "stackify" registers, here we ensure any references in such registers in debug_value instructions become stack relative also.

This is done in a separate pass such that not all previous passes need to track stack depth when values get stackified.

Definition in file WebAssemblyDebugFixup.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "wasm-debug-fixup"

Definition at line 30 of file WebAssemblyDebugFixup.cpp.

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( WebAssemblyDebugFixup ,
DEBUG_TYPE ,
"Ensures debug_value's that have been stackified become stack relative" ,
false ,
false  )

Definition at line 50 of file WebAssemblyDebugFixup.cpp.

References llvm::createWebAssemblyDebugFixup(), and DEBUG_TYPE.

◆ setDanglingDebugValuesUndef()

void setDanglingDebugValuesUndef ( MachineBasicBlock & MBB,
const TargetInstrInfo * TII )
static

Definition at line 65 of file WebAssemblyDebugFixup.cpp.

References llvm::dbgs(), LLVM_DEBUG, llvm::make_early_inc_range(), MBB, MI, and TII.