diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2019-01-19 10:01:25 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2019-01-19 10:01:25 +0000 |
| commit | d8e91e46262bc44006913e6796843909f1ac7bcd (patch) | |
| tree | 7d0c143d9b38190e0fa0180805389da22cd834c5 /lib/Target/X86/X86.h | |
| parent | b7eb8e35e481a74962664b63dfb09483b200209a (diff) | |
Notes
Diffstat (limited to 'lib/Target/X86/X86.h')
| -rw-r--r-- | lib/Target/X86/X86.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/lib/Target/X86/X86.h b/lib/Target/X86/X86.h index 73bb0f2af285..1c8813815b86 100644 --- a/lib/Target/X86/X86.h +++ b/lib/Target/X86/X86.h @@ -75,6 +75,9 @@ FunctionPass *createX86OptimizeLEAs(); /// Return a pass that transforms setcc + movzx pairs into xor + setcc. FunctionPass *createX86FixupSetCC(); +/// Return a pass that folds conditional branch jumps. +FunctionPass *createX86CondBrFolding(); + /// Return a pass that avoids creating store forward block issues in the hardware. FunctionPass *createX86AvoidStoreForwardingBlocks(); @@ -112,8 +115,6 @@ FunctionPass *createX86FixupBWInsts(); /// to another, when profitable. FunctionPass *createX86DomainReassignmentPass(); -void initializeFixupBWInstPassPass(PassRegistry &); - /// This pass replaces EVEX encoded of AVX-512 instructiosn by VEX /// encoding when possible in order to reduce code size. FunctionPass *createX86EvexToVexInsts(); @@ -121,14 +122,33 @@ FunctionPass *createX86EvexToVexInsts(); /// This pass creates the thunks for the retpoline feature. FunctionPass *createX86RetpolineThunksPass(); +/// This pass ensures instructions featuring a memory operand +/// have distinctive <LineNumber, Discriminator> (with respect to eachother) +FunctionPass *createX86DiscriminateMemOpsPass(); + +/// This pass applies profiling information to insert cache prefetches. +FunctionPass *createX86InsertPrefetchPass(); + InstructionSelector *createX86InstructionSelector(const X86TargetMachine &TM, X86Subtarget &, X86RegisterBankInfo &); -void initializeEvexToVexInstPassPass(PassRegistry &); - FunctionPass *createX86SpeculativeLoadHardeningPass(); +void initializeEvexToVexInstPassPass(PassRegistry &); +void initializeFixupBWInstPassPass(PassRegistry &); +void initializeFixupLEAPassPass(PassRegistry &); +void initializeShadowCallStackPass(PassRegistry &); +void initializeWinEHStatePassPass(PassRegistry &); +void initializeX86AvoidSFBPassPass(PassRegistry &); +void initializeX86CallFrameOptimizationPass(PassRegistry &); +void initializeX86CmovConverterPassPass(PassRegistry &); +void initializeX86CondBrFoldingPassPass(PassRegistry &); +void initializeX86DomainReassignmentPass(PassRegistry &); +void initializeX86ExecutionDomainFixPass(PassRegistry &); +void initializeX86FlagsCopyLoweringPassPass(PassRegistry &); +void initializeX86SpeculativeLoadHardeningPassPass(PassRegistry &); + } // End llvm namespace #endif |
