|
LLVM 24.0.0git
|
Post-legalization combines on generic MachineInstrs. More...
#include "WebAssembly.h"#include "WebAssemblyTargetMachine.h"#include "llvm/CodeGen/GlobalISel/CSEInfo.h"#include "llvm/CodeGen/GlobalISel/Combiner.h"#include "llvm/CodeGen/GlobalISel/CombinerHelper.h"#include "llvm/CodeGen/GlobalISel/CombinerInfo.h"#include "llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h"#include "llvm/CodeGen/GlobalISel/GISelValueTracking.h"#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"#include "llvm/CodeGen/MachineDominators.h"#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachinePassManager.h"#include "llvm/CodeGen/TargetPassConfig.h"#include "llvm/IR/Analysis.h"#include "WebAssemblyGenPostLegalizeGICombiner.inc"Go to the source code of this file.
Macros | |
| #define | GET_GICOMBINER_DEPS |
| #define | DEBUG_TYPE "wasm-postlegalizer-combiner" |
| #define | GET_GICOMBINER_TYPES |
| #define | GET_GICOMBINER_CLASS_MEMBERS |
| #define | GET_GICOMBINER_IMPL |
| #define | GET_GICOMBINER_CONSTRUCTOR_INITS |
Functions | |
| static bool | runCombinerOnMachineFunction (MachineFunction &MF, function_ref< bool()> ShouldSkip, function_ref< GISelValueTracking *()> GetVT, function_ref< MachineDominatorTree *()> GetMDT, function_ref< GISelCSEInfo *()> GetCSEInfo) |
| INITIALIZE_PASS_BEGIN (WebAssemblyPostLegalizerCombinerLegacy, DEBUG_TYPE, "Combine WebAssembly MachineInstrs after legalization", false, false) INITIALIZE_PASS_END(WebAssemblyPostLegalizerCombinerLegacy | |
Variables | |
| DEBUG_TYPE | |
| Combine WebAssembly MachineInstrs after | legalization |
| Combine WebAssembly MachineInstrs after | false |
Post-legalization combines on generic MachineInstrs.
The combines here must preserve instruction legality.
Combines which don't rely on instruction legality should go in the WebAssemblyPreLegalizerCombiner.
Definition in file WebAssemblyPostLegalizerCombiner.cpp.
| #define DEBUG_TYPE "wasm-postlegalizer-combiner" |
Definition at line 39 of file WebAssemblyPostLegalizerCombiner.cpp.
| #define GET_GICOMBINER_CLASS_MEMBERS |
Definition at line 68 of file WebAssemblyPostLegalizerCombiner.cpp.
| #define GET_GICOMBINER_CONSTRUCTOR_INITS |
| #define GET_GICOMBINER_DEPS |
Definition at line 35 of file WebAssemblyPostLegalizerCombiner.cpp.
| #define GET_GICOMBINER_IMPL |
Definition at line 73 of file WebAssemblyPostLegalizerCombiner.cpp.
| #define GET_GICOMBINER_TYPES |
Definition at line 45 of file WebAssemblyPostLegalizerCombiner.cpp.
| INITIALIZE_PASS_BEGIN | ( | WebAssemblyPostLegalizerCombinerLegacy | , |
| DEBUG_TYPE | , | ||
| "Combine WebAssembly MachineInstrs after legalization" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
|
static |
Definition at line 124 of file WebAssemblyPostLegalizerCombiner.cpp.
References assert(), llvm::CombinerInfo::EnableFullDCE, F, llvm::MachineFunction::getFunction(), llvm::TargetMachine::getOptLevel(), llvm::MachineFunction::getProperties(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), llvm::CombinerInfo::MaxIterations, llvm::None, llvm::CombinerInfo::ObserverLvl, llvm::reportFatalUsageError(), and llvm::CombinerInfo::SinglePass.
Referenced by llvm::WebAssemblyPostLegalizerCombinerPass::run(), and llvm::WebAssemblyPreLegalizerCombinerPass::run().
| DEBUG_TYPE |
Definition at line 166 of file WebAssemblyPostLegalizerCombiner.cpp.
| Combine WebAssembly MachineInstrs after false |
Definition at line 168 of file WebAssemblyPostLegalizerCombiner.cpp.
| Combine WebAssembly MachineInstrs after legalization |
Definition at line 167 of file WebAssemblyPostLegalizerCombiner.cpp.