LLVM 22.0.0git
WebAssemblyTargetMachine.cpp File Reference

This file defines the WebAssembly-specific subclass of TargetMachine. More...

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "wasm"

Functions

LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeWebAssemblyTarget ()
static Reloc::Model getEffectiveRelocModel (std::optional< Reloc::Model > RM, const Triple &TT)
static void basicCheckForEHAndSjLj (TargetMachine *TM)

Variables

static cl::opt< boolWasmDisableExplicitLocals ("wasm-disable-explicit-locals", cl::Hidden, cl::desc("WebAssembly: output implicit locals in" " instruction output for test purposes only."), cl::init(false))
static cl::opt< boolWasmDisableFixIrreducibleControlFlowPass ("wasm-disable-fix-irreducible-control-flow-pass", cl::Hidden, cl::desc("webassembly: disables the fix " " irreducible control flow optimization pass"), cl::init(false))

Detailed Description

This file defines the WebAssembly-specific subclass of TargetMachine.

Definition in file WebAssemblyTargetMachine.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "wasm"

Definition at line 38 of file WebAssemblyTargetMachine.cpp.

Function Documentation

◆ basicCheckForEHAndSjLj()

◆ getEffectiveRelocModel()

Reloc::Model getEffectiveRelocModel ( std::optional< Reloc::Model > RM,
const Triple & TT )
static

Definition at line 130 of file WebAssemblyTargetMachine.cpp.

References llvm::Reloc::Static.

◆ LLVMInitializeWebAssemblyTarget()

LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeWebAssemblyTarget ( )

Definition at line 86 of file WebAssemblyTargetMachine.cpp.

References llvm::PassRegistry::getPassRegistry(), llvm::getTheWebAssemblyTarget32(), llvm::getTheWebAssemblyTarget64(), llvm::initializeFixFunctionBitcastsPass(), llvm::initializeLowerGlobalDtorsLegacyPassPass(), llvm::initializeOptimizeReturnedPass(), llvm::initializeWebAssemblyAddMissingPrototypesPass(), llvm::initializeWebAssemblyArgumentMovePass(), llvm::initializeWebAssemblyAsmPrinterPass(), llvm::initializeWebAssemblyCFGSortPass(), llvm::initializeWebAssemblyCFGStackifyPass(), llvm::initializeWebAssemblyDAGToDAGISelLegacyPass(), llvm::initializeWebAssemblyDebugFixupPass(), llvm::initializeWebAssemblyExceptionInfoPass(), llvm::initializeWebAssemblyExplicitLocalsPass(), llvm::initializeWebAssemblyFixBrTableDefaultsPass(), llvm::initializeWebAssemblyFixIrreducibleControlFlowPass(), llvm::initializeWebAssemblyLateEHPreparePass(), llvm::initializeWebAssemblyLowerBrUnlessPass(), llvm::initializeWebAssemblyLowerEmscriptenEHSjLjPass(), llvm::initializeWebAssemblyLowerRefTypesIntPtrConvPass(), llvm::initializeWebAssemblyMCLowerPrePassPass(), llvm::initializeWebAssemblyMemIntrinsicResultsPass(), llvm::initializeWebAssemblyNullifyDebugValueListsPass(), llvm::initializeWebAssemblyOptimizeLiveIntervalsPass(), llvm::initializeWebAssemblyPeepholePass(), llvm::initializeWebAssemblyRefTypeMem2LocalPass(), llvm::initializeWebAssemblyRegColoringPass(), llvm::initializeWebAssemblyRegNumberingPass(), llvm::initializeWebAssemblyRegStackifyPass(), llvm::initializeWebAssemblyReplacePhysRegsPass(), llvm::initializeWebAssemblySetP2AlignOperandsPass(), X, and Y.

Variable Documentation

◆ WasmDisableExplicitLocals

cl::opt< bool > WasmDisableExplicitLocals("wasm-disable-explicit-locals", cl::Hidden, cl::desc("WebAssembly: output implicit locals in" " instruction output for test purposes only."), cl::init(false)) ( "wasm-disable-explicit-locals" ,
cl::Hidden ,
cl::desc("WebAssembly: output implicit locals in" " instruction output for test purposes only.") ,
cl::init(false)  )
static

◆ WasmDisableFixIrreducibleControlFlowPass

cl::opt< bool > WasmDisableFixIrreducibleControlFlowPass("wasm-disable-fix-irreducible-control-flow-pass", cl::Hidden, cl::desc("webassembly: disables the fix " " irreducible control flow optimization pass"), cl::init(false)) ( "wasm-disable-fix-irreducible-control-flow-pass" ,
cl::Hidden ,
cl::desc("webassembly: disables the fix " " irreducible control flow optimization pass") ,
cl::init(false)  )
static