| 1 | //===- X86PassRegistry.def - Registry of X86 specific passes ----*- C++ -*-===// |
| 2 | // |
| 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| 4 | // See https://llvm.org/LICENSE.txt for license information. |
| 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| 6 | // |
| 7 | //===----------------------------------------------------------------------===// |
| 8 | // |
| 9 | // This file is used as the registry of passes that are part of the X86 backend. |
| 10 | // |
| 11 | //===----------------------------------------------------------------------===// |
| 12 | |
| 13 | // NOTE: NO INCLUDE GUARD DESIRED! |
| 14 | |
| 15 | #ifndef FUNCTION_PASS |
| 16 | #define FUNCTION_PASS(NAME, CREATE_PASS) |
| 17 | #endif |
| 18 | FUNCTION_PASS("x86-lower-amx-intrinsics" , X86LowerAMXIntrinsicsPass(this)) |
| 19 | FUNCTION_PASS("x86-lower-amx-type" , X86LowerAMXTypePass(this)) |
| 20 | FUNCTION_PASS("x86-partial-reduction" , X86PartialReductionPass(this)) |
| 21 | #undef FUNCTION_PASS |
| 22 | |
| 23 | #ifndef DUMMY_FUNCTION_PASS |
| 24 | #define DUMMY_FUNCTION_PASS(NAME, CREATE_PASS) |
| 25 | #endif |
| 26 | DUMMY_FUNCTION_PASS("x86-winehstate" , WinEHStatePass()) |
| 27 | #undef DUMMY_FUNCTION_PASS |
| 28 | |
| 29 | #ifndef MACHINE_FUNCTION_PASS |
| 30 | #define MACHINE_FUNCTION_PASS(NAME, CREATE_PASS) |
| 31 | #endif |
| 32 | MACHINE_FUNCTION_PASS("x86-argument-stack-slot" , X86ArgumentStackSlotPass()) |
| 33 | MACHINE_FUNCTION_PASS("x86-avoid-sfb" , X86AvoidStoreForwardingBlocksPass()) |
| 34 | MACHINE_FUNCTION_PASS("x86-avoid-trailing-call" , X86AvoidTrailingCallPass()) |
| 35 | MACHINE_FUNCTION_PASS("x86-cf-opt" , X86CallFrameOptimizationPass()) |
| 36 | MACHINE_FUNCTION_PASS("x86-cmov-conversion" , X86CmovConversionPass()) |
| 37 | MACHINE_FUNCTION_PASS("x86-compress-evex" , X86CompressEVEXPass()) |
| 38 | MACHINE_FUNCTION_PASS("x86-domain-reassignment" , X86DomainReassignmentPass()) |
| 39 | MACHINE_FUNCTION_PASS("x86-dyn-alloca-expander" , X86DynAllocaExpanderPass()) |
| 40 | MACHINE_FUNCTION_PASS("x86-expand-pseudo" , X86ExpandPseudoPass()) |
| 41 | MACHINE_FUNCTION_PASS("x86-fast-pre-tile-config" , X86FastPreTileConfigPass()) |
| 42 | MACHINE_FUNCTION_PASS("x86-fast-tile-config" , X86FastTileConfigPass()) |
| 43 | MACHINE_FUNCTION_PASS("x86-fixup-bw-insts" , X86FixupBWInstsPass()) |
| 44 | MACHINE_FUNCTION_PASS("x86-fixup-inst-tuning" , X86FixupInstTuningPass()) |
| 45 | MACHINE_FUNCTION_PASS("x86-fixup-leas" , X86FixupLEAsPass()) |
| 46 | MACHINE_FUNCTION_PASS("x86-fixup-setcc" , X86FixupSetCCPass()) |
| 47 | MACHINE_FUNCTION_PASS("x86-fixup-vector-constants" , X86FixupVectorConstantsPass()) |
| 48 | MACHINE_FUNCTION_PASS("x86-flags-copy-lowering" , X86FlagsCopyLoweringPass()) |
| 49 | MACHINE_FUNCTION_PASS("x86-fp-stackifier" , X86FPStackifierPass()) |
| 50 | MACHINE_FUNCTION_PASS("x86-isel" , X86ISelDAGToDAGPass(*this)) |
| 51 | MACHINE_FUNCTION_PASS("x86-lower-tile-copy" , X86LowerTileCopyPass()) |
| 52 | MACHINE_FUNCTION_PASS("x86-lvi-ret" , X86LoadValueInjectionRetHardeningPass()) |
| 53 | MACHINE_FUNCTION_PASS("x86-optimize-leas" , X86OptimizeLEAsPass()) |
| 54 | MACHINE_FUNCTION_PASS("x86-pre-tile-config" , X86PreTileConfigPass()) |
| 55 | MACHINE_FUNCTION_PASS("x86-return-thunks" , X86ReturnThunksPass()) |
| 56 | MACHINE_FUNCTION_PASS("x86-seses" , X86SpeculativeExecutionSideEffectSuppressionPass()) |
| 57 | MACHINE_FUNCTION_PASS("x86-slh" , X86SpeculativeLoadHardeningPass()) |
| 58 | MACHINE_FUNCTION_PASS("x86-suppress-apx-for-relocation" , X86SuppressAPXForRelocationPass()) |
| 59 | MACHINE_FUNCTION_PASS("x86-tile-config" , X86TileConfigPass()) |
| 60 | MACHINE_FUNCTION_PASS("x86-wineh-unwindv2" , X86WinEHUnwindV2Pass()) |
| 61 | #undef MACHINE_FUNCTION_PASS |
| 62 | |
| 63 | #ifndef DUMMY_MACHINE_FUNCTION_PASS |
| 64 | #define DUMMY_MACHINE_FUNCTION_PASS(NAME, PASS_NAME) |
| 65 | #endif |
| 66 | DUMMY_MACHINE_FUNCTION_PASS("x86-cleanup-local-dynamic-tls" , X86CleanupLocalDynamicTLSPass()) |
| 67 | DUMMY_MACHINE_FUNCTION_PASS("x86-execution-domain-fix" , X86ExecutionDomainFix()) |
| 68 | DUMMY_MACHINE_FUNCTION_PASS("x86-global-base-reg" , X86GlobalBaseRegPass()) |
| 69 | DUMMY_MACHINE_FUNCTION_PASS("x86-indirect-branch-tracking" , X86IndirectBranchTrackingPass()) |
| 70 | DUMMY_MACHINE_FUNCTION_PASS("x86-indirect-thunks" , X86IndirectThunks()) |
| 71 | DUMMY_MACHINE_FUNCTION_PASS("x86-insert-x87-wait" , X86InsertX87WaitPass()) |
| 72 | DUMMY_MACHINE_FUNCTION_PASS("x86-issue-vzero-upper" , X86IssueVZeroUpperPass()) |
| 73 | DUMMY_MACHINE_FUNCTION_PASS("x86-lvi-load" , X86LoadValueInjectionLoadHardeningPass()) |
| 74 | DUMMY_MACHINE_FUNCTION_PASS("x86-pad-short-functions" , X86PadShortFunctionsPass()) |
| 75 | #undef DUMMY_MACHINE_FUNCTION_PASS |
| 76 | |