|
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/MC/MCSubtargetInfo.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 MCSubtargetInfo &STI, 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 21 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
|
static |
Definition at line 67 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References F, llvm::MCSubtargetInfo::getFeatureBits(), getFeatureString(), llvm::TargetMachine::getMCSubtargetInfo(), and llvm::WebAssemblyTargetMachine::getSubtargetImpl().
Referenced by coalesceFeaturesAndStripAtomics().
|
static |
Definition at line 166 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References coalesceFeatures(), F, llvm::WebAssemblyTargetMachine::getSubtargetImpl(), llvm::TargetMachine::getTargetCPU(), llvm::TargetMachine::getTargetFeatureString(), llvm::POSIX, recordFeatures(), replaceFeatures(), llvm::TargetMachine::setTargetFeatureString(), stripAtomics(), and stripThreadLocals().
Referenced by llvm::WebAssemblyCoalesceFeaturesAndStripAtomicsPass::run().
|
static |
Definition at line 52 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References llvm::MCSubtargetInfo::getAllProcessorFeatures().
Referenced by coalesceFeatures().
| INITIALIZE_PASS | ( | WebAssemblyCoalesceFeaturesAndStripAtomicsLegacy | , |
| DEBUG_TYPE | , | ||
| "Coalesce features and strip atomics" | , | ||
| true | , | ||
| false | ) |
Definition at line 44 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References llvm::createWebAssemblyCoalesceFeaturesAndStripAtomicsLegacyPass(), and DEBUG_TYPE.
|
static |
Definition at line 145 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 90 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References F.
Referenced by coalesceFeaturesAndStripAtomics().
Definition at line 96 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References B(), F, FAM, and I.
Referenced by coalesceFeaturesAndStripAtomics().
Definition at line 123 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.
References llvm::dyn_cast(), II, and llvm::make_early_inc_range().
Referenced by coalesceFeaturesAndStripAtomics().