|
LLVM 24.0.0git
|
This file lowers br_unless into br_if with an inverted condition. More...
#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"#include "WebAssembly.h"#include "WebAssemblyMachineFunctionInfo.h"#include "WebAssemblySubtarget.h"#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachinePassManager.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-lower-br_unless" |
Functions | |
| INITIALIZE_PASS (WebAssemblyLowerBrUnlessLegacy, DEBUG_TYPE, "Lowers br_unless into inverted br_if", false, false) FunctionPass *llvm | |
| static bool | lowerBrUnless (MachineFunction &MF) |
This file lowers br_unless into br_if with an inverted condition.
br_unless is not currently in the spec, but it's very convenient for LLVM to use. This pass allows LLVM to use it, for now.
Definition in file WebAssemblyLowerBrUnless.cpp.
| #define DEBUG_TYPE "wasm-lower-br_unless" |
Definition at line 30 of file WebAssemblyLowerBrUnless.cpp.
| INITIALIZE_PASS | ( | WebAssemblyLowerBrUnlessLegacy | , |
| DEBUG_TYPE | , | ||
| "Lowers br_unless into inverted br_if" | , | ||
| false | , | ||
| false | ) |
Definition at line 52 of file WebAssemblyLowerBrUnless.cpp.
References llvm::createWebAssemblyLowerBrUnlessLegacyPass(), and DEBUG_TYPE.
|
static |
Definition at line 59 of file WebAssemblyLowerBrUnless.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), Cond, llvm::dbgs(), llvm::MachineFunction::getInfo(), llvm::MachineFunction::getName(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), LLVM_DEBUG, llvm::make_early_inc_range(), MBB, MI, and TII.
Referenced by llvm::WebAssemblyLowerBrUnlessPass::run().