|
LLVM 24.0.0git
|
#include "WebAssembly.h"#include "WebAssemblyTargetMachine.h"#include "llvm/IR/Analysis.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Module.h"#include "llvm/IR/PassManager.h"#include "llvm/Pass.h"#include "llvm/Transforms/Scalar/LowerAtomicPass.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "wasm-coalesce-features-and-strip-atomics" |
Functions | |
| INITIALIZE_PASS (WebAssemblyCoalesceFeaturesAndStripAtomicsLegacy, DEBUG_TYPE, "Coalesce features and strip atomics", true, false) ModulePass *llvm | |
| static std::string | getFeatureString (const WebAssemblySubtarget *ST, const FeatureBitset &Features) |
| static std::pair< FeatureBitset, std::string > | coalesceFeatures (const Module &M, WebAssemblyTargetMachine *WasmTM) |
| static void | replaceFeatures (Function &F, const std::string &Features) |
| static bool | stripAtomics (Module &M) |
| static bool | stripThreadLocals (Module &M) |
| static void | recordFeatures (Module &M, const WebAssemblySubtarget *ST, const FeatureBitset &Features, bool Stripped) |
| static bool | coalesceFeaturesAndStripAtomics (Module &M, WebAssemblyTargetMachine *WasmTM) |
| #define DEBUG_TYPE "wasm-coalesce-features-and-strip-atomics" |
Definition at line 20 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
|
static |
Definition at line 66 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References F, getFeatureString(), llvm::WebAssemblyTargetMachine::getSubtargetImpl(), llvm::TargetMachine::getTargetCPU(), and llvm::TargetMachine::getTargetFeatureString().
Referenced by coalesceFeaturesAndStripAtomics().
|
static |
Definition at line 170 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References coalesceFeatures(), F, llvm::WebAssemblyTargetMachine::getSubtargetImpl(), recordFeatures(), replaceFeatures(), llvm::TargetMachine::setTargetFeatureString(), stripAtomics(), and stripThreadLocals().
Referenced by llvm::WebAssemblyCoalesceFeaturesAndStripAtomicsPass::run().
|
static |
Definition at line 51 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
Referenced by coalesceFeatures().
| INITIALIZE_PASS | ( | WebAssemblyCoalesceFeaturesAndStripAtomicsLegacy | , |
| DEBUG_TYPE | , | ||
| "Coalesce features and strip atomics" | , | ||
| true | , | ||
| false | ) |
Definition at line 43 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References llvm::createWebAssemblyCoalesceFeaturesAndStripAtomicsLegacyPass(), and DEBUG_TYPE.
|
static |
Definition at line 149 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References llvm::Module::Error, llvm::wasm::WASM_FEATURE_PREFIX_DISALLOWED, and llvm::wasm::WASM_FEATURE_PREFIX_USED.
Referenced by coalesceFeaturesAndStripAtomics().
|
static |
Definition at line 94 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References F.
Referenced by coalesceFeaturesAndStripAtomics().
Definition at line 100 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References B(), F, FAM, and I.
Referenced by coalesceFeaturesAndStripAtomics().
Definition at line 127 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References llvm::dyn_cast(), II, and llvm::make_early_inc_range().
Referenced by coalesceFeaturesAndStripAtomics().