LLVM  16.0.0git
Functions | Variables
X86TargetMachine.cpp File Reference
#include "X86TargetMachine.h"
#include "MCTargetDesc/X86MCTargetDesc.h"
#include "TargetInfo/X86TargetInfo.h"
#include "X86.h"
#include "X86CallLowering.h"
#include "X86LegalizerInfo.h"
#include "X86MacroFusion.h"
#include "X86Subtarget.h"
#include "X86TargetObjectFile.h"
#include "X86TargetTransformInfo.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Triple.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/CodeGen/ExecutionDomainFix.h"
#include "llvm/CodeGen/GlobalISel/CSEInfo.h"
#include "llvm/CodeGen/GlobalISel/CallLowering.h"
#include "llvm/CodeGen/GlobalISel/IRTranslator.h"
#include "llvm/CodeGen/GlobalISel/InstructionSelect.h"
#include "llvm/CodeGen/GlobalISel/InstructionSelector.h"
#include "llvm/CodeGen/GlobalISel/Legalizer.h"
#include "llvm/CodeGen/GlobalISel/RegBankSelect.h"
#include "llvm/CodeGen/MachineScheduler.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/RegAllocRegistry.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Pass.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Target/TargetLoweringObjectFile.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/Transforms/CFGuard.h"
#include <memory>
#include <string>
Include dependency graph for X86TargetMachine.cpp:

Go to the source code of this file.

Functions

LLVM_EXTERNAL_VISIBILITY void LLVMInitializeX86Target ()
 
static std::unique_ptr< TargetLoweringObjectFilecreateTLOF (const Triple &TT)
 
static std::string computeDataLayout (const Triple &TT)
 
static Reloc::Model getEffectiveRelocModel (const Triple &TT, bool JIT, Optional< Reloc::Model > RM)
 
static CodeModel::Model getEffectiveX86CodeModel (Optional< CodeModel::Model > CM, bool JIT, bool Is64Bit)
 
 INITIALIZE_PASS_BEGIN (X86ExecutionDomainFix, "x86-execution-domain-fix", "X86 Execution Domain Fix", false, false) INITIALIZE_PASS_END(X86ExecutionDomainFix
 
static bool onlyAllocateTileRegisters (const TargetRegisterInfo &TRI, const TargetRegisterClass &RC)
 

Variables

static cl::opt< bool > EnableMachineCombinerPass ("x86-machine-combiner", cl::desc("Enable the machine combiner pass"), cl::init(true), cl::Hidden)
 
static cl::opt< bool > EnableTileRAPass ("x86-tile-ra", cl::desc("Enable the tile register allocation pass"), cl::init(true), cl::Hidden)
 
x86 execution domain fix
 
x86 execution domain X86 Execution Domain Fix
 
x86 execution domain X86 Execution Domain false
 

Function Documentation

◆ computeDataLayout()

static std::string computeDataLayout ( const Triple TT)
static

◆ createTLOF()

static std::unique_ptr<TargetLoweringObjectFile> createTLOF ( const Triple TT)
static

Definition at line 107 of file X86TargetMachine.cpp.

References llvm::Triple::x86_64.

◆ getEffectiveRelocModel()

static Reloc::Model getEffectiveRelocModel ( const Triple TT,
bool  JIT,
Optional< Reloc::Model RM 
)
static

◆ getEffectiveX86CodeModel()

static CodeModel::Model getEffectiveX86CodeModel ( Optional< CodeModel::Model CM,
bool  JIT,
bool  Is64Bit 
)
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( X86ExecutionDomainFix  ,
"x86-execution-domain-fix ,
"X86 Execution Domain Fix ,
false  ,
false   
)

◆ LLVMInitializeX86Target()

LLVM_EXTERNAL_VISIBILITY void LLVMInitializeX86Target ( )

Definition at line 67 of file X86TargetMachine.cpp.

References llvm::PassRegistry::getPassRegistry(), llvm::getTheX86_32Target(), llvm::getTheX86_64Target(), llvm::initializeEvexToVexInstPassPass(), llvm::initializeFixupBWInstPassPass(), llvm::initializeFixupLEAPassPass(), llvm::initializeFPSPass(), llvm::initializeGlobalISel(), llvm::initializePseudoProbeInserterPass(), llvm::initializeWinEHStatePassPass(), llvm::initializeX86AvoidSFBPassPass(), llvm::initializeX86AvoidTrailingCallPassPass(), llvm::initializeX86CallFrameOptimizationPass(), llvm::initializeX86CmovConverterPassPass(), llvm::initializeX86DomainReassignmentPass(), llvm::initializeX86ExecutionDomainFixPass(), llvm::initializeX86ExpandPseudoPass(), llvm::initializeX86FastPreTileConfigPass(), llvm::initializeX86FastTileConfigPass(), llvm::initializeX86FixupSetCCPassPass(), llvm::initializeX86FlagsCopyLoweringPassPass(), llvm::initializeX86KCFIPass(), llvm::initializeX86LoadValueInjectionLoadHardeningPassPass(), llvm::initializeX86LoadValueInjectionRetHardeningPassPass(), llvm::initializeX86LowerAMXIntrinsicsLegacyPassPass(), llvm::initializeX86LowerAMXTypeLegacyPassPass(), llvm::initializeX86LowerTileCopyPass(), llvm::initializeX86OptimizeLEAPassPass(), llvm::initializeX86PartialReductionPass(), llvm::initializeX86PreAMXConfigPassPass(), llvm::initializeX86PreTileConfigPass(), llvm::initializeX86ReturnThunksPass(), llvm::initializeX86SpeculativeExecutionSideEffectSuppressionPass(), llvm::initializeX86SpeculativeLoadHardeningPassPass(), llvm::initializeX86TileConfigPass(), X, and Y.

◆ onlyAllocateTileRegisters()

static bool onlyAllocateTileRegisters ( const TargetRegisterInfo TRI,
const TargetRegisterClass RC 
)
static

Definition at line 636 of file X86TargetMachine.cpp.

References TRI.

Variable Documentation

◆ EnableMachineCombinerPass

cl::opt<bool> EnableMachineCombinerPass("x86-machine-combiner", cl::desc("Enable the machine combiner pass"), cl::init(true), cl::Hidden)
static

◆ EnableTileRAPass

cl::opt<bool> EnableTileRAPass("x86-tile-ra", cl::desc("Enable the tile register allocation pass"), cl::init(true), cl::Hidden)
static

◆ false

x86 execution domain X86 Execution Domain false

Definition at line 422 of file X86TargetMachine.cpp.

◆ fix

x86 execution domain fix

Definition at line 421 of file X86TargetMachine.cpp.

◆ Fix

x86 execution domain X86 Execution Domain Fix

Definition at line 422 of file X86TargetMachine.cpp.