2011-02-20 07:57:14 -05:00
|
|
|
//===-- CodeGen.cpp -------------------------------------------------------===//
|
|
|
|
|
//
|
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
|
//
|
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
|
//
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
//
|
|
|
|
|
// This file implements the common initialization routines for the
|
|
|
|
|
// CodeGen library.
|
|
|
|
|
//
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
|
|
#include "llvm/InitializePasses.h"
|
|
|
|
|
#include "llvm-c/Initialization.h"
|
2014-11-24 04:08:18 -05:00
|
|
|
#include "llvm/PassRegistry.h"
|
2011-02-20 07:57:14 -05:00
|
|
|
|
|
|
|
|
using namespace llvm;
|
|
|
|
|
|
|
|
|
|
/// initializeCodeGen - Initialize all passes linked into the CodeGen library.
|
|
|
|
|
void llvm::initializeCodeGen(PassRegistry &Registry) {
|
2015-01-18 11:17:27 -05:00
|
|
|
initializeAtomicExpandPass(Registry);
|
2017-04-16 12:01:22 -04:00
|
|
|
initializeBranchCoalescingPass(Registry);
|
2012-04-14 09:54:10 -04:00
|
|
|
initializeBranchFolderPassPass(Registry);
|
2017-01-02 14:17:04 -05:00
|
|
|
initializeBranchRelaxationPass(Registry);
|
2014-11-24 04:08:18 -05:00
|
|
|
initializeCodeGenPreparePass(Registry);
|
2017-01-02 14:17:04 -05:00
|
|
|
initializeCountingFunctionInserterPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeDeadMachineInstructionElimPass(Registry);
|
2016-07-23 16:41:05 -04:00
|
|
|
initializeDetectDeadLanesPass(Registry);
|
2015-05-27 14:44:32 -04:00
|
|
|
initializeDwarfEHPreparePass(Registry);
|
2012-08-15 15:34:23 -04:00
|
|
|
initializeEarlyIfConverterPass(Registry);
|
2012-04-14 09:54:10 -04:00
|
|
|
initializeExpandISelPseudosPass(Registry);
|
2015-05-27 14:44:32 -04:00
|
|
|
initializeExpandPostRAPass(Registry);
|
2017-04-16 12:01:22 -04:00
|
|
|
initializeFEntryInserterPass(Registry);
|
2012-04-14 09:54:10 -04:00
|
|
|
initializeFinalizeMachineBundlesPass(Registry);
|
2015-12-30 06:46:15 -05:00
|
|
|
initializeFuncletLayoutPass(Registry);
|
2012-04-14 09:54:10 -04:00
|
|
|
initializeGCMachineCodeAnalysisPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeGCModuleInfoPass(Registry);
|
|
|
|
|
initializeIfConverterPass(Registry);
|
2017-04-16 12:01:22 -04:00
|
|
|
initializeImplicitNullChecksPass(Registry);
|
2016-07-23 16:41:05 -04:00
|
|
|
initializeInterleavedAccessPass(Registry);
|
2017-04-16 12:01:22 -04:00
|
|
|
initializeLiveDebugValuesPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeLiveDebugVariablesPass(Registry);
|
|
|
|
|
initializeLiveIntervalsPass(Registry);
|
|
|
|
|
initializeLiveStacksPass(Registry);
|
|
|
|
|
initializeLiveVariablesPass(Registry);
|
2012-04-14 09:54:10 -04:00
|
|
|
initializeLocalStackSlotPassPass(Registry);
|
2015-05-27 14:44:32 -04:00
|
|
|
initializeLowerIntrinsicsPass(Registry);
|
2011-10-20 17:10:27 -04:00
|
|
|
initializeMachineBlockFrequencyInfoPass(Registry);
|
2012-04-14 09:54:10 -04:00
|
|
|
initializeMachineBlockPlacementPass(Registry);
|
|
|
|
|
initializeMachineBlockPlacementStatsPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeMachineCSEPass(Registry);
|
2015-05-27 14:44:32 -04:00
|
|
|
initializeMachineCombinerPass(Registry);
|
|
|
|
|
initializeMachineCopyPropagationPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeMachineDominatorTreePass(Registry);
|
2015-05-27 14:44:32 -04:00
|
|
|
initializeMachineFunctionPrinterPassPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeMachineLICMPass(Registry);
|
|
|
|
|
initializeMachineLoopInfoPass(Registry);
|
|
|
|
|
initializeMachineModuleInfoPass(Registry);
|
2017-04-16 12:01:22 -04:00
|
|
|
initializeMachineOptimizationRemarkEmitterPassPass(Registry);
|
|
|
|
|
initializeMachineOutlinerPass(Registry);
|
2017-01-02 14:17:04 -05:00
|
|
|
initializeMachinePipelinerPass(Registry);
|
2015-05-27 14:44:32 -04:00
|
|
|
initializeMachinePostDominatorTreePass(Registry);
|
2017-04-16 12:01:22 -04:00
|
|
|
initializeMachineRegionInfoPassPass(Registry);
|
2012-04-14 09:54:10 -04:00
|
|
|
initializeMachineSchedulerPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeMachineSinkingPass(Registry);
|
|
|
|
|
initializeMachineVerifierPassPass(Registry);
|
|
|
|
|
initializeOptimizePHIsPass(Registry);
|
2015-05-27 14:44:32 -04:00
|
|
|
initializePEIPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializePHIEliminationPass(Registry);
|
2017-04-16 12:01:22 -04:00
|
|
|
initializePatchableFunctionPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializePeepholeOptimizerPass(Registry);
|
2014-11-24 04:08:18 -05:00
|
|
|
initializePostMachineSchedulerPass(Registry);
|
2016-07-23 16:41:05 -04:00
|
|
|
initializePostRAHazardRecognizerPass(Registry);
|
2012-04-14 09:54:10 -04:00
|
|
|
initializePostRASchedulerPass(Registry);
|
2016-07-23 16:41:05 -04:00
|
|
|
initializePreISelIntrinsicLoweringLegacyPassPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeProcessImplicitDefsPass(Registry);
|
2017-01-02 14:17:04 -05:00
|
|
|
initializeRAGreedyPass(Registry);
|
2011-07-17 11:36:56 -04:00
|
|
|
initializeRegisterCoalescerPass(Registry);
|
2016-07-23 16:41:05 -04:00
|
|
|
initializeRenameIndependentSubregsPass(Registry);
|
2017-05-16 15:46:52 -04:00
|
|
|
initializeSafeStackLegacyPassPass(Registry);
|
|
|
|
|
initializeScalarizeMaskedMemIntrinPass(Registry);
|
2015-05-27 14:44:32 -04:00
|
|
|
initializeShrinkWrapPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeSlotIndexesPass(Registry);
|
2012-12-02 08:10:19 -05:00
|
|
|
initializeStackColoringPass(Registry);
|
2015-05-27 14:44:32 -04:00
|
|
|
initializeStackMapLivenessPass(Registry);
|
|
|
|
|
initializeStackProtectorPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeStackSlotColoringPass(Registry);
|
2012-04-14 09:54:10 -04:00
|
|
|
initializeTailDuplicatePassPass(Registry);
|
|
|
|
|
initializeTargetPassConfigPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeTwoAddressInstructionPassPass(Registry);
|
2012-04-14 09:54:10 -04:00
|
|
|
initializeUnpackMachineBundlesPass(Registry);
|
2016-07-23 16:41:05 -04:00
|
|
|
initializeUnreachableBlockElimLegacyPassPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
initializeUnreachableMachineBlockElimPass(Registry);
|
|
|
|
|
initializeVirtRegMapPass(Registry);
|
2012-08-15 15:34:23 -04:00
|
|
|
initializeVirtRegRewriterPass(Registry);
|
2015-05-27 14:44:32 -04:00
|
|
|
initializeWinEHPreparePass(Registry);
|
2017-04-16 12:01:22 -04:00
|
|
|
initializeXRayInstrumentationPass(Registry);
|
2011-02-20 07:57:14 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LLVMInitializeCodeGen(LLVMPassRegistryRef R) {
|
|
|
|
|
initializeCodeGen(*unwrap(R));
|
|
|
|
|
}
|