//===- X86PassRegistry.def - Registry of X86 specific passes ----*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file is used as the registry of passes that are part of the X86 backend. // //===----------------------------------------------------------------------===// // NOTE: NO INCLUDE GUARD DESIRED! #ifndef MODULE_PASS #define MODULE_PASS(NAME, CREATE_PASS) #endif MODULE_PASS("x86-winehstate", X86WinEHStatePass()) #undef MODULE_PASS #ifndef FUNCTION_PASS #define FUNCTION_PASS(NAME, CREATE_PASS) #endif FUNCTION_PASS("x86-lower-amx-intrinsics", X86LowerAMXIntrinsicsPass(this)) FUNCTION_PASS("x86-lower-amx-type", X86LowerAMXTypePass(this)) FUNCTION_PASS("x86-partial-reduction", X86PartialReductionPass(this)) #undef FUNCTION_PASS #ifndef MACHINE_FUNCTION_PASS #define MACHINE_FUNCTION_PASS(NAME, CREATE_PASS) #endif MACHINE_FUNCTION_PASS("x86-argument-stack-slot", X86ArgumentStackSlotPass()) MACHINE_FUNCTION_PASS("x86-avoid-sfb", X86AvoidStoreForwardingBlocksPass()) MACHINE_FUNCTION_PASS("x86-avoid-trailing-call", X86AvoidTrailingCallPass()) MACHINE_FUNCTION_PASS("x86-cf-opt", X86CallFrameOptimizationPass()) MACHINE_FUNCTION_PASS("x86-cleanup-local-dynamic-tls", X86CleanupLocalDynamicTLSPass()) MACHINE_FUNCTION_PASS("x86-cmov-conversion", X86CmovConversionPass()) MACHINE_FUNCTION_PASS("x86-compress-evex", X86CompressEVEXPass()) MACHINE_FUNCTION_PASS("x86-domain-reassignment", X86DomainReassignmentPass()) MACHINE_FUNCTION_PASS("x86-dyn-alloca-expander", X86DynAllocaExpanderPass()) MACHINE_FUNCTION_PASS("x86-expand-pseudo", X86ExpandPseudoPass()) MACHINE_FUNCTION_PASS("x86-fast-pre-tile-config", X86FastPreTileConfigPass()) MACHINE_FUNCTION_PASS("x86-fast-tile-config", X86FastTileConfigPass()) MACHINE_FUNCTION_PASS("x86-fixup-bw-insts", X86FixupBWInstsPass()) MACHINE_FUNCTION_PASS("x86-fixup-inst-tuning", X86FixupInstTuningPass()) MACHINE_FUNCTION_PASS("x86-fixup-leas", X86FixupLEAsPass()) MACHINE_FUNCTION_PASS("x86-fixup-setcc", X86FixupSetCCPass()) MACHINE_FUNCTION_PASS("x86-fixup-vector-constants", X86FixupVectorConstantsPass()) MACHINE_FUNCTION_PASS("x86-flags-copy-lowering", X86FlagsCopyLoweringPass()) MACHINE_FUNCTION_PASS("x86-fp-stackifier", X86FPStackifierPass()) MACHINE_FUNCTION_PASS("x86-global-base-reg", X86GlobalBaseRegPass()) MACHINE_FUNCTION_PASS("x86-indirect-branch-tracking", X86IndirectBranchTrackingPass()) MACHINE_FUNCTION_PASS("x86-insert-vzeroupper", X86InsertVZeroUpperPass()) MACHINE_FUNCTION_PASS("x86-insert-x87-wait", X86InsertX87WaitPass()) MACHINE_FUNCTION_PASS("x86-isel", X86ISelDAGToDAGPass(*this)) MACHINE_FUNCTION_PASS("x86-lower-tile-copy", X86LowerTileCopyPass()) MACHINE_FUNCTION_PASS("x86-lvi-load", X86LoadValueInjectionLoadHardeningPass()) MACHINE_FUNCTION_PASS("x86-lvi-ret", X86LoadValueInjectionRetHardeningPass()) MACHINE_FUNCTION_PASS("x86-optimize-leas", X86OptimizeLEAsPass()) MACHINE_FUNCTION_PASS("x86-postlegalizer-combiner-pass", X86PostLegalizerCombinerPass()) MACHINE_FUNCTION_PASS("x86-pre-tile-config", X86PreTileConfigPass()) MACHINE_FUNCTION_PASS("x86-prelegalizer-combiner-pass", X86PreLegalizerCombinerPass()) MACHINE_FUNCTION_PASS("x86-return-thunks", X86ReturnThunksPass()) MACHINE_FUNCTION_PASS("x86-seses", X86SpeculativeExecutionSideEffectSuppressionPass()) MACHINE_FUNCTION_PASS("x86-slh", X86SpeculativeLoadHardeningPass()) MACHINE_FUNCTION_PASS("x86-suppress-apx-for-relocation", X86SuppressAPXForRelocationPass()) MACHINE_FUNCTION_PASS("x86-tile-config", X86TileConfigPass()) MACHINE_FUNCTION_PASS("x86-wineh-unwindv2", X86WinEHUnwindV2Pass()) #undef MACHINE_FUNCTION_PASS #ifndef DUMMY_MACHINE_FUNCTION_PASS #define DUMMY_MACHINE_FUNCTION_PASS(NAME, PASS_NAME) #endif DUMMY_MACHINE_FUNCTION_PASS("x86-execution-domain-fix", X86ExecutionDomainFix()) DUMMY_MACHINE_FUNCTION_PASS("x86-indirect-thunks", X86IndirectThunks()) DUMMY_MACHINE_FUNCTION_PASS("x86-pad-short-functions", X86PadShortFunctionsPass()) #undef DUMMY_MACHINE_FUNCTION_PASS