LLVM 24.0.0git
WebAssemblyCoalesceFeaturesAndStripAtomics.cpp File Reference

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::stringcoalesceFeatures (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)

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "wasm-coalesce-features-and-strip-atomics"

Function Documentation

◆ coalesceFeatures()

◆ coalesceFeaturesAndStripAtomics()

◆ getFeatureString()

std::string getFeatureString ( const WebAssemblySubtarget * ST,
const FeatureBitset & Features )
static

Definition at line 51 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.

Referenced by coalesceFeatures().

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( WebAssemblyCoalesceFeaturesAndStripAtomicsLegacy ,
DEBUG_TYPE ,
"Coalesce features and strip atomics" ,
true ,
false  )

◆ recordFeatures()

◆ replaceFeatures()

void replaceFeatures ( Function & F,
const std::string & Features )
static

Definition at line 94 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.

References F.

Referenced by coalesceFeaturesAndStripAtomics().

◆ stripAtomics()

bool stripAtomics ( Module & M)
static

Definition at line 100 of file WebAssemblyCoalesceFeaturesAndStripAtomics.cpp.

References B(), F, FAM, and I.

Referenced by coalesceFeaturesAndStripAtomics().

◆ stripThreadLocals()

bool stripThreadLocals ( Module & M)
static