LLVM 19.0.0git
Namespaces | Enumerations | Functions
X86.h File Reference
#include "llvm/Support/CodeGen.h"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::X86AS
 

Enumerations

enum  : unsigned {
  llvm::X86AS::GS = 256 , llvm::X86AS::FS = 257 , llvm::X86AS::SS = 258 , llvm::X86AS::PTR32_SPTR = 270 ,
  llvm::X86AS::PTR32_UPTR = 271 , llvm::X86AS::PTR64 = 272
}
 

Functions

FunctionPassllvm::createX86ISelDag (X86TargetMachine &TM, CodeGenOptLevel OptLevel)
 This pass converts a legalized DAG into a X86-specific DAG, ready for instruction scheduling.
 
FunctionPassllvm::createX86GlobalBaseRegPass ()
 This pass initializes a global base register for PIC on x86-32.
 
FunctionPassllvm::createCleanupLocalDynamicTLSPass ()
 This pass combines multiple accesses to local-dynamic TLS variables so that the TLS base address for the module is only fetched once per execution path through the function.
 
FunctionPassllvm::createX86FloatingPointStackifierPass ()
 This function returns a pass which converts floating-point register references and pseudo instructions into floating-point stack references and physical instructions.
 
FunctionPassllvm::createX86IssueVZeroUpperPass ()
 This pass inserts AVX vzeroupper instructions before each call to avoid transition penalty between functions encoded with AVX and SSE.
 
FunctionPassllvm::createX86IndirectBranchTrackingPass ()
 This pass inserts ENDBR instructions before indirect jump/call destinations as part of CET IBT mechanism.
 
FunctionPassllvm::createX86PadShortFunctions ()
 Return a pass that pads short functions with NOOPs.
 
FunctionPassllvm::createX86FixupLEAs ()
 Return a pass that selectively replaces certain instructions (like add, sub, inc, dec, some shifts, and some multiplies) by equivalent LEA instructions, in order to eliminate execution delays in some processors.
 
FunctionPassllvm::createX86FixupInstTuning ()
 Return a pass that replaces equivalent slower instructions with faster ones.
 
FunctionPassllvm::createX86FixupVectorConstants ()
 Return a pass that reduces the size of vector constant pool loads.
 
FunctionPassllvm::createX86OptimizeLEAs ()
 Return a pass that removes redundant LEA instructions and redundant address recalculations.
 
FunctionPassllvm::createX86FixupSetCC ()
 Return a pass that transforms setcc + movzx pairs into xor + setcc.
 
FunctionPassllvm::createX86AvoidStoreForwardingBlocks ()
 Return a pass that avoids creating store forward block issues in the hardware.
 
FunctionPassllvm::createX86FlagsCopyLoweringPass ()
 Return a pass that lowers EFLAGS copy pseudo instructions.
 
FunctionPassllvm::createX86DynAllocaExpander ()
 Return a pass that expands DynAlloca pseudo-instructions.
 
FunctionPassllvm::createX86TileConfigPass ()
 Return a pass that config the tile registers.
 
FunctionPassllvm::createX86FastPreTileConfigPass ()
 Return a pass that preconfig the tile registers before fast reg allocation.
 
FunctionPassllvm::createX86FastTileConfigPass ()
 Return a pass that config the tile registers after fast reg allocation.
 
FunctionPassllvm::createX86PreTileConfigPass ()
 Return a pass that insert pseudo tile config instruction.
 
FunctionPassllvm::createX86LowerTileCopyPass ()
 Return a pass that lower the tile copy instruction.
 
FunctionPassllvm::createX86AvoidTrailingCallPass ()
 Return a pass that inserts int3 at the end of the function if it ends with a CALL instruction.
 
FunctionPassllvm::createX86CallFrameOptimization ()
 Return a pass that optimizes the code-size of x86 call sequences.
 
FunctionPassllvm::createX86WinEHStatePass ()
 Return an IR pass that inserts EH registration stack objects and explicit EH state updates.
 
FunctionPassllvm::createX86ExpandPseudoPass ()
 Return a Machine IR pass that expands X86-specific pseudo instructions into a sequence of actual instructions.
 
FunctionPassllvm::createX86CmovConverterPass ()
 This pass converts X86 cmov instructions into branch when profitable.
 
FunctionPassllvm::createX86FixupBWInsts ()
 Return a Machine IR pass that selectively replaces certain byte and word instructions by equivalent 32 bit instructions, in order to eliminate partial register usage, false dependences on the upper portions of registers, and to save code size.
 
FunctionPass * llvm::createX86DomainReassignmentPass ()
 Return a Machine IR pass that reassigns instruction chains from one domain to another, when profitable.
 
FunctionPassllvm::createX86CompressEVEXPass ()
 This pass compress instructions from EVEX space to legacy/VEX/EVEX space when possible in order to reduce code size or facilitate HW decoding.
 
FunctionPassllvm::createX86IndirectThunksPass ()
 This pass creates the thunks for the retpoline feature.
 
FunctionPassllvm::createX86ReturnThunksPass ()
 This pass replaces ret instructions with jmp's to __x86_return thunk.
 
FunctionPassllvm::createX86DiscriminateMemOpsPass ()
 This pass ensures instructions featuring a memory operand have distinctive <LineNumber, Discriminator> (with respect to eachother)
 
FunctionPassllvm::createX86InsertPrefetchPass ()
 This pass applies profiling information to insert cache prefetches.
 
FunctionPassllvm::createX86InsertX87waitPass ()
 This pass insert wait instruction after X87 instructions which could raise fp exceptions when strict-fp enabled.
 
FunctionPassllvm::createX86PartialReductionPass ()
 This pass optimizes arithmetic based on knowledge that is only used by a reduction sequence and is therefore safe to reassociate in interesting ways.
 
InstructionSelectorllvm::createX86InstructionSelector (const X86TargetMachine &TM, X86Subtarget &, X86RegisterBankInfo &)
 
FunctionPassllvm::createX86LoadValueInjectionLoadHardeningPass ()
 
FunctionPass * llvm::createX86LoadValueInjectionRetHardeningPass ()
 
FunctionPassllvm::createX86SpeculativeLoadHardeningPass ()
 
FunctionPassllvm::createX86SpeculativeExecutionSideEffectSuppression ()
 
FunctionPass * llvm::createX86ArgumentStackSlotPass ()
 
void llvm::initializeCompressEVEXPassPass (PassRegistry &)
 
void llvm::initializeFPSPass (PassRegistry &)
 
void llvm::initializeFixupBWInstPassPass (PassRegistry &)
 
void llvm::initializeFixupLEAPassPass (PassRegistry &)
 
void llvm::initializeX86ArgumentStackSlotPassPass (PassRegistry &)
 
void llvm::initializeX86FixupInstTuningPassPass (PassRegistry &)
 
void llvm::initializeX86FixupVectorConstantsPassPass (PassRegistry &)
 
void llvm::initializeWinEHStatePassPass (PassRegistry &)
 
void llvm::initializeX86AvoidSFBPassPass (PassRegistry &)
 
void llvm::initializeX86AvoidTrailingCallPassPass (PassRegistry &)
 
void llvm::initializeX86CallFrameOptimizationPass (PassRegistry &)
 
void llvm::initializeX86CmovConverterPassPass (PassRegistry &)
 
void llvm::initializeX86DAGToDAGISelPass (PassRegistry &)
 
void llvm::initializeX86DomainReassignmentPass (PassRegistry &)
 
void llvm::initializeX86ExecutionDomainFixPass (PassRegistry &)
 
void llvm::initializeX86ExpandPseudoPass (PassRegistry &)
 
void llvm::initializeX86FastPreTileConfigPass (PassRegistry &)
 
void llvm::initializeX86FastTileConfigPass (PassRegistry &)
 
void llvm::initializeX86FixupSetCCPassPass (PassRegistry &)
 
void llvm::initializeX86FlagsCopyLoweringPassPass (PassRegistry &)
 
void llvm::initializeX86LoadValueInjectionLoadHardeningPassPass (PassRegistry &)
 
void llvm::initializeX86LoadValueInjectionRetHardeningPassPass (PassRegistry &)
 
void llvm::initializeX86LowerAMXIntrinsicsLegacyPassPass (PassRegistry &)
 
void llvm::initializeX86LowerAMXTypeLegacyPassPass (PassRegistry &)
 
void llvm::initializeX86LowerTileCopyPass (PassRegistry &)
 
void llvm::initializeX86OptimizeLEAPassPass (PassRegistry &)
 
void llvm::initializeX86PartialReductionPass (PassRegistry &)
 
void llvm::initializeX86PreTileConfigPass (PassRegistry &)
 
void llvm::initializeX86ReturnThunksPass (PassRegistry &)
 
void llvm::initializeX86SpeculativeExecutionSideEffectSuppressionPass (PassRegistry &)
 
void llvm::initializeX86SpeculativeLoadHardeningPassPass (PassRegistry &)
 
void llvm::initializeX86TileConfigPass (PassRegistry &)