|
LLVM 24.0.0git
|
This file remove instruction after trap. More...
#include "WebAssembly.h"#include "WebAssemblyUtilities.h"#include "llvm/ADT/SmallVector.h"#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"#include "llvm/CodeGen/MachinePassManager.h"#include "llvm/CodeGen/Passes.h"#include "llvm/IR/Analysis.h"#include "llvm/MC/MCInstrDesc.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-clean-code-after-trap" |
Functions | |
| INITIALIZE_PASS (WebAssemblyCleanCodeAfterTrapLegacy, DEBUG_TYPE, "WebAssembly Clean Code After Trap", false, false) FunctionPass *llvm | |
| static bool | cleanCodeAfterTrap (MachineFunction &MF) |
This file remove instruction after trap.
llvm.trap will be convert as unreachable which is terminator. Instruction after terminator will cause validation failed.
Definition in file WebAssemblyCleanCodeAfterTrap.cpp.
| #define DEBUG_TYPE "wasm-clean-code-after-trap" |
Definition at line 29 of file WebAssemblyCleanCodeAfterTrap.cpp.
|
static |
Definition at line 53 of file WebAssemblyCleanCodeAfterTrap.cpp.
References Changed, llvm::dbgs(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::MachineFunction::getName(), LLVM_DEBUG, MI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::MCID::Trap.
Referenced by llvm::WebAssemblyCleanCodeAfterTrapPass::run().
| INITIALIZE_PASS | ( | WebAssemblyCleanCodeAfterTrapLegacy | , |
| DEBUG_TYPE | , | ||
| "WebAssembly Clean Code After Trap" | , | ||
| false | , | ||
| false | ) |
Definition at line 46 of file WebAssemblyCleanCodeAfterTrap.cpp.
References llvm::createWebAssemblyCleanCodeAfterTrapLegacyPass(), and DEBUG_TYPE.