diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/CodeGen/CodeGen.cpp')
-rw-r--r-- | contrib/llvm-project/llvm/lib/CodeGen/CodeGen.cpp | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/CodeGen/CodeGen.cpp b/contrib/llvm-project/llvm/lib/CodeGen/CodeGen.cpp new file mode 100644 index 000000000000..c37ed57781d4 --- /dev/null +++ b/contrib/llvm-project/llvm/lib/CodeGen/CodeGen.cpp @@ -0,0 +1,116 @@ +//===-- CodeGen.cpp -------------------------------------------------------===// +// +// 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 implements the common initialization routines for the +// CodeGen library. +// +//===----------------------------------------------------------------------===// + +#include "llvm-c/Initialization.h" +#include "llvm/InitializePasses.h" +#include "llvm/PassRegistry.h" + +using namespace llvm; + +/// initializeCodeGen - Initialize all passes linked into the CodeGen library. +void llvm::initializeCodeGen(PassRegistry &Registry) { + initializeAtomicExpandPass(Registry); + initializeBranchFolderPassPass(Registry); + initializeBranchRelaxationPass(Registry); + initializeCFIInstrInserterPass(Registry); + initializeCodeGenPreparePass(Registry); + initializeDeadMachineInstructionElimPass(Registry); + initializeDetectDeadLanesPass(Registry); + initializeDwarfEHPreparePass(Registry); + initializeEarlyIfConverterPass(Registry); + initializeEarlyMachineLICMPass(Registry); + initializeEarlyTailDuplicatePass(Registry); + initializeExpandMemCmpPassPass(Registry); + initializeExpandPostRAPass(Registry); + initializeFEntryInserterPass(Registry); + initializeFinalizeISelPass(Registry); + initializeFinalizeMachineBundlesPass(Registry); + initializeFuncletLayoutPass(Registry); + initializeGCMachineCodeAnalysisPass(Registry); + initializeGCModuleInfoPass(Registry); + initializeHardwareLoopsPass(Registry); + initializeIfConverterPass(Registry); + initializeImplicitNullChecksPass(Registry); + initializeIndirectBrExpandPassPass(Registry); + initializeInterleavedLoadCombinePass(Registry); + initializeInterleavedAccessPass(Registry); + initializeLiveDebugValuesPass(Registry); + initializeLiveDebugVariablesPass(Registry); + initializeLiveIntervalsPass(Registry); + initializeLiveRangeShrinkPass(Registry); + initializeLiveStacksPass(Registry); + initializeLiveVariablesPass(Registry); + initializeLocalStackSlotPassPass(Registry); + initializeLowerIntrinsicsPass(Registry); + initializeMIRCanonicalizerPass(Registry); + initializeMachineBlockFrequencyInfoPass(Registry); + initializeMachineBlockPlacementPass(Registry); + initializeMachineBlockPlacementStatsPass(Registry); + initializeMachineCSEPass(Registry); + initializeMachineCombinerPass(Registry); + initializeMachineCopyPropagationPass(Registry); + initializeMachineDominatorTreePass(Registry); + initializeMachineFunctionPrinterPassPass(Registry); + initializeMachineLICMPass(Registry); + initializeMachineLoopInfoPass(Registry); + initializeMachineModuleInfoPass(Registry); + initializeMachineOptimizationRemarkEmitterPassPass(Registry); + initializeMachineOutlinerPass(Registry); + initializeMachinePipelinerPass(Registry); + initializeMachinePostDominatorTreePass(Registry); + initializeMachineRegionInfoPassPass(Registry); + initializeMachineSchedulerPass(Registry); + initializeMachineSinkingPass(Registry); + initializeMachineVerifierPassPass(Registry); + initializeOptimizePHIsPass(Registry); + initializePEIPass(Registry); + initializePHIEliminationPass(Registry); + initializePatchableFunctionPass(Registry); + initializePeepholeOptimizerPass(Registry); + initializePostMachineSchedulerPass(Registry); + initializePostRAHazardRecognizerPass(Registry); + initializePostRAMachineSinkingPass(Registry); + initializePostRASchedulerPass(Registry); + initializePreISelIntrinsicLoweringLegacyPassPass(Registry); + initializeProcessImplicitDefsPass(Registry); + initializeRABasicPass(Registry); + initializeRAGreedyPass(Registry); + initializeRegAllocFastPass(Registry); + initializeRegUsageInfoCollectorPass(Registry); + initializeRegUsageInfoPropagationPass(Registry); + initializeRegisterCoalescerPass(Registry); + initializeRenameIndependentSubregsPass(Registry); + initializeSafeStackLegacyPassPass(Registry); + initializeScalarizeMaskedMemIntrinPass(Registry); + initializeShrinkWrapPass(Registry); + initializeSlotIndexesPass(Registry); + initializeStackColoringPass(Registry); + initializeStackMapLivenessPass(Registry); + initializeStackProtectorPass(Registry); + initializeStackSlotColoringPass(Registry); + initializeTailDuplicatePass(Registry); + initializeTargetPassConfigPass(Registry); + initializeTwoAddressInstructionPassPass(Registry); + initializeUnpackMachineBundlesPass(Registry); + initializeUnreachableBlockElimLegacyPassPass(Registry); + initializeUnreachableMachineBlockElimPass(Registry); + initializeVirtRegMapPass(Registry); + initializeVirtRegRewriterPass(Registry); + initializeWasmEHPreparePass(Registry); + initializeWinEHPreparePass(Registry); + initializeXRayInstrumentationPass(Registry); +} + +void LLVMInitializeCodeGen(LLVMPassRegistryRef R) { + initializeCodeGen(*unwrap(R)); +} |