|
LLVM 24.0.0git
|
This file defines the WebAssembly-specific subclass of TargetMachine. More...
#include "WebAssemblyTargetMachine.h"#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"#include "TargetInfo/WebAssemblyTargetInfo.h"#include "WebAssembly.h"#include "WebAssemblyISelLowering.h"#include "WebAssemblyMachineFunctionInfo.h"#include "WebAssemblyTargetObjectFile.h"#include "WebAssemblyTargetTransformInfo.h"#include "WebAssemblyUtilities.h"#include "llvm/CodeGen/GlobalISel/IRTranslator.h"#include "llvm/CodeGen/GlobalISel/InstructionSelect.h"#include "llvm/CodeGen/GlobalISel/Legalizer.h"#include "llvm/CodeGen/GlobalISel/RegBankSelect.h"#include "llvm/CodeGen/MIRParser/MIParser.h"#include "llvm/CodeGen/Passes.h"#include "llvm/CodeGen/RegAllocRegistry.h"#include "llvm/CodeGen/TargetPassConfig.h"#include "llvm/IR/Function.h"#include "llvm/InitializePasses.h"#include "llvm/MC/TargetRegistry.h"#include "llvm/Support/Compiler.h"#include "llvm/Target/TargetOptions.h"#include "llvm/Transforms/Scalar.h"#include "llvm/Transforms/Scalar/LowerAtomicPass.h"#include "llvm/Transforms/Utils.h"#include <optional>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) |
| static void | basicCheckForEHAndSjLj (TargetMachine *TM) |
Variables | |
| cl::opt< bool > | WasmDisableExplicitLocals |
| cl::opt< bool > | WasmEnableEH |
| cl::opt< bool > | WasmEnableEmEH |
| cl::opt< bool > | WasmEnableEmSjLj |
| cl::opt< bool > | WasmEnableSjLj |
This file defines the WebAssembly-specific subclass of TargetMachine.
Definition in file WebAssemblyTargetMachine.cpp.
| #define DEBUG_TYPE "wasm" |
Definition at line 42 of file WebAssemblyTargetMachine.cpp.
|
static |
Definition at line 143 of file WebAssemblyTargetMachine.cpp.
References llvm::TargetOptions::ExceptionModel, llvm::None, llvm::TargetMachine::Options, llvm::report_fatal_error(), llvm::Wasm, WasmEnableEH, WebAssembly::WasmEnableEH, WasmEnableEmEH, WasmEnableEmSjLj, WasmEnableSjLj, and WebAssembly::WasmEnableSjLj.
Referenced by llvm::WebAssemblyTargetMachine::WebAssemblyTargetMachine().
|
static |
Definition at line 130 of file WebAssemblyTargetMachine.cpp.
References llvm::Reloc::Static.
| LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeWebAssemblyTarget | ( | ) |
Definition at line 84 of file WebAssemblyTargetMachine.cpp.
References llvm::PassRegistry::getPassRegistry(), llvm::getTheWebAssemblyTarget32(), llvm::getTheWebAssemblyTarget64(), llvm::initializeGlobalISel(), llvm::initializeLowerGlobalDtorsLegacyPassPass(), llvm::initializeWebAssemblyAddMissingPrototypesLegacyPass(), llvm::initializeWebAssemblyArgumentMoveLegacyPass(), llvm::initializeWebAssemblyAsmPrinterPass(), llvm::initializeWebAssemblyCFGSortPass(), llvm::initializeWebAssemblyCFGStackifyPass(), llvm::initializeWebAssemblyDAGToDAGISelLegacyPass(), llvm::initializeWebAssemblyDebugFixupPass(), llvm::initializeWebAssemblyExceptionInfoPass(), llvm::initializeWebAssemblyExplicitLocalsPass(), llvm::initializeWebAssemblyFixBrTableDefaultsLegacyPass(), llvm::initializeWebAssemblyFixFunctionBitcastsLegacyPass(), llvm::initializeWebAssemblyFixIrreducibleControlFlowLegacyPass(), llvm::initializeWebAssemblyLateEHPrepareLegacyPass(), llvm::initializeWebAssemblyLowerBrUnlessPass(), llvm::initializeWebAssemblyLowerEmscriptenEHSjLjLegacyPass(), llvm::initializeWebAssemblyMCLowerPrePassPass(), llvm::initializeWebAssemblyMemIntrinsicResultsPass(), llvm::initializeWebAssemblyNullifyDebugValueListsLegacyPass(), llvm::initializeWebAssemblyOptimizeLiveIntervalsPass(), llvm::initializeWebAssemblyOptimizeReturnedLegacyPass(), llvm::initializeWebAssemblyPeepholePass(), llvm::initializeWebAssemblyPostLegalizerCombinerPass(), llvm::initializeWebAssemblyPreLegalizerCombinerPass(), llvm::initializeWebAssemblyRefTypeMem2LocalLegacyPass(), llvm::initializeWebAssemblyRegColoringPass(), llvm::initializeWebAssemblyRegNumberingPass(), llvm::initializeWebAssemblyRegStackifyPass(), llvm::initializeWebAssemblyReplacePhysRegsLegacyPass(), llvm::initializeWebAssemblySetP2AlignOperandsLegacyPass(), X, and Y.