|
LLVM 24.0.0git
|
Several prior passes may "stackify" registers, here we ensure any references in such registers in debug_value instructions become stack relative also. More...
#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"#include "WebAssembly.h"#include "WebAssemblyMachineFunctionInfo.h"#include "WebAssemblySubtarget.h"#include "WebAssemblyUtilities.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachinePassManager.h"#include "llvm/CodeGen/Passes.h"#include "llvm/IR/Analysis.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "wasm-debug-fixup" |
Functions | |
| INITIALIZE_PASS (WebAssemblyDebugFixupLegacy, 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) |
| static bool | debugFixup (MachineFunction &MF) |
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.
| #define DEBUG_TYPE "wasm-debug-fixup" |
Definition at line 33 of file WebAssemblyDebugFixup.cpp.
|
static |
Definition at line 80 of file WebAssemblyDebugFixup.cpp.
References assert(), llvm::BuildMI(), llvm::dbgs(), llvm::Depth, llvm::MachineFunction::getInfo(), llvm::MachineFunction::getName(), llvm::MachineFunction::getSubtarget(), llvm::WebAssemblyFunctionInfo::isVRegStackified(), LLVM_DEBUG, MBB, MI, llvm::printReg(), Reg, llvm::reverse(), setDanglingDebugValuesUndef(), llvm::WebAssembly::TI_OPERAND_STACK, and TII.
Referenced by llvm::WebAssemblyDebugFixupPass::run().
| INITIALIZE_PASS | ( | WebAssemblyDebugFixupLegacy | , |
| DEBUG_TYPE | , | ||
| "Ensures debug_value's that have been stackified become stack relative" | , | ||
| false | , | ||
| false | ) |
Definition at line 53 of file WebAssemblyDebugFixup.cpp.
References llvm::createWebAssemblyDebugFixupLegacyPass(), and DEBUG_TYPE.
|
static |
Definition at line 68 of file WebAssemblyDebugFixup.cpp.
References llvm::dbgs(), LLVM_DEBUG, llvm::make_early_inc_range(), MBB, MI, and TII.
Referenced by debugFixup().