2010-10-07 18:41:20 +00: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-c/Initialization.h"
|
2017-06-06 11:49:48 +00:00
|
|
|
#include "llvm/InitializePasses.h"
|
2014-01-07 11:48:04 +00:00
|
|
|
#include "llvm/PassRegistry.h"
|
2010-10-07 18:41:20 +00:00
|
|
|
|
|
|
|
|
using namespace llvm;
|
|
|
|
|
|
|
|
|
|
/// initializeCodeGen - Initialize all passes linked into the CodeGen library.
|
|
|
|
|
void llvm::initializeCodeGen(PassRegistry &Registry) {
|
2014-08-21 21:50:01 +00:00
|
|
|
initializeAtomicExpandPass(Registry);
|
2012-02-08 21:22:48 +00:00
|
|
|
initializeBranchFolderPassPass(Registry);
|
2016-10-06 15:38:53 +00:00
|
|
|
initializeBranchRelaxationPass(Registry);
|
2014-02-22 00:07:45 +00:00
|
|
|
initializeCodeGenPreparePass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeDeadMachineInstructionElimPass(Registry);
|
2016-04-28 03:07:16 +00:00
|
|
|
initializeDetectDeadLanesPass(Registry);
|
2015-03-09 22:45:16 +00:00
|
|
|
initializeDwarfEHPreparePass(Registry);
|
2012-07-04 00:09:54 +00:00
|
|
|
initializeEarlyIfConverterPass(Registry);
|
2018-01-19 06:46:10 +00:00
|
|
|
initializeEarlyMachineLICMPass(Registry);
|
2018-01-19 06:08:17 +00:00
|
|
|
initializeEarlyTailDuplicatePass(Registry);
|
2015-02-20 02:15:36 +00:00
|
|
|
initializeExpandISelPseudosPass(Registry);
|
2017-11-03 12:12:27 +00:00
|
|
|
initializeExpandMemCmpPassPass(Registry);
|
2015-03-09 22:45:16 +00:00
|
|
|
initializeExpandPostRAPass(Registry);
|
2017-01-31 17:00:27 +00:00
|
|
|
initializeFEntryInserterPass(Registry);
|
2017-03-18 05:05:32 +00:00
|
|
|
initializeFinalizeMachineBundlesPass(Registry);
|
2015-09-17 20:45:18 +00:00
|
|
|
initializeFuncletLayoutPass(Registry);
|
2012-02-08 21:23:13 +00:00
|
|
|
initializeGCMachineCodeAnalysisPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeGCModuleInfoPass(Registry);
|
|
|
|
|
initializeIfConverterPass(Registry);
|
2017-03-18 05:05:32 +00:00
|
|
|
initializeImplicitNullChecksPass(Registry);
|
2018-01-22 22:05:25 +00:00
|
|
|
initializeIndirectBrExpandPassPass(Registry);
|
2016-05-19 20:08:32 +00:00
|
|
|
initializeInterleavedAccessPass(Registry);
|
2017-03-18 05:05:32 +00:00
|
|
|
initializeLiveDebugValuesPass(Registry);
|
2010-11-30 02:17:10 +00:00
|
|
|
initializeLiveDebugVariablesPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeLiveIntervalsPass(Registry);
|
2017-05-31 23:25:25 +00:00
|
|
|
initializeLiveRangeShrinkPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeLiveStacksPass(Registry);
|
|
|
|
|
initializeLiveVariablesPass(Registry);
|
2012-02-08 21:23:13 +00:00
|
|
|
initializeLocalStackSlotPassPass(Registry);
|
2015-03-09 22:45:16 +00:00
|
|
|
initializeLowerIntrinsicsPass(Registry);
|
2011-07-25 19:25:40 +00:00
|
|
|
initializeMachineBlockFrequencyInfoPass(Registry);
|
2011-10-21 06:46:38 +00:00
|
|
|
initializeMachineBlockPlacementPass(Registry);
|
2011-11-02 07:17:12 +00:00
|
|
|
initializeMachineBlockPlacementStatsPass(Registry);
|
2015-02-20 02:15:36 +00:00
|
|
|
initializeMachineCSEPass(Registry);
|
2015-03-09 22:45:16 +00:00
|
|
|
initializeMachineCombinerPass(Registry);
|
|
|
|
|
initializeMachineCopyPropagationPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeMachineDominatorTreePass(Registry);
|
2015-03-09 22:45:16 +00:00
|
|
|
initializeMachineFunctionPrinterPassPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeMachineLICMPass(Registry);
|
|
|
|
|
initializeMachineLoopInfoPass(Registry);
|
|
|
|
|
initializeMachineModuleInfoPass(Registry);
|
2017-02-24 07:42:35 +00:00
|
|
|
initializeMachineOptimizationRemarkEmitterPassPass(Registry);
|
2017-03-06 21:31:18 +00:00
|
|
|
initializeMachineOutlinerPass(Registry);
|
2016-07-29 16:44:44 +00:00
|
|
|
initializeMachinePipelinerPass(Registry);
|
2015-03-09 22:45:16 +00:00
|
|
|
initializeMachinePostDominatorTreePass(Registry);
|
2017-02-18 00:41:16 +00:00
|
|
|
initializeMachineRegionInfoPassPass(Registry);
|
2012-02-08 21:23:13 +00:00
|
|
|
initializeMachineSchedulerPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeMachineSinkingPass(Registry);
|
|
|
|
|
initializeMachineVerifierPassPass(Registry);
|
|
|
|
|
initializeOptimizePHIsPass(Registry);
|
2015-03-09 22:45:16 +00:00
|
|
|
initializePEIPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializePHIEliminationPass(Registry);
|
2017-03-18 05:05:32 +00:00
|
|
|
initializePatchableFunctionPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializePeepholeOptimizerPass(Registry);
|
2013-12-28 21:56:51 +00:00
|
|
|
initializePostMachineSchedulerPass(Registry);
|
2016-04-22 14:43:50 +00:00
|
|
|
initializePostRAHazardRecognizerPass(Registry);
|
2012-02-08 21:23:13 +00:00
|
|
|
initializePostRASchedulerPass(Registry);
|
2016-06-24 20:13:42 +00:00
|
|
|
initializePreISelIntrinsicLoweringLegacyPassPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeProcessImplicitDefsPass(Registry);
|
2017-06-02 22:46:26 +00:00
|
|
|
initializeRABasicPass(Registry);
|
2017-09-09 00:52:46 +00:00
|
|
|
initializeRegAllocFastPass(Registry);
|
2016-11-14 21:50:13 +00:00
|
|
|
initializeRAGreedyPass(Registry);
|
2011-06-26 22:34:10 +00:00
|
|
|
initializeRegisterCoalescerPass(Registry);
|
2016-05-31 22:38:06 +00:00
|
|
|
initializeRenameIndependentSubregsPass(Registry);
|
2017-05-10 00:39:22 +00:00
|
|
|
initializeSafeStackLegacyPassPass(Registry);
|
2017-05-15 11:30:54 +00:00
|
|
|
initializeScalarizeMaskedMemIntrinPass(Registry);
|
2015-05-05 17:38:16 +00:00
|
|
|
initializeShrinkWrapPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeSlotIndexesPass(Registry);
|
2015-02-20 02:15:36 +00:00
|
|
|
initializeStackColoringPass(Registry);
|
2015-03-09 22:45:16 +00:00
|
|
|
initializeStackMapLivenessPass(Registry);
|
|
|
|
|
initializeStackProtectorPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeStackSlotColoringPass(Registry);
|
2018-01-19 06:08:17 +00:00
|
|
|
initializeTailDuplicatePass(Registry);
|
2012-02-04 02:56:45 +00:00
|
|
|
initializeTargetPassConfigPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeTwoAddressInstructionPassPass(Registry);
|
2012-02-08 21:23:13 +00:00
|
|
|
initializeUnpackMachineBundlesPass(Registry);
|
2016-07-08 03:32:49 +00:00
|
|
|
initializeUnreachableBlockElimLegacyPassPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
initializeUnreachableMachineBlockElimPass(Registry);
|
|
|
|
|
initializeVirtRegMapPass(Registry);
|
2012-06-08 23:44:45 +00:00
|
|
|
initializeVirtRegRewriterPass(Registry);
|
2015-03-09 22:45:16 +00:00
|
|
|
initializeWinEHPreparePass(Registry);
|
2017-03-18 05:05:32 +00:00
|
|
|
initializeXRayInstrumentationPass(Registry);
|
2017-11-02 23:37:32 +00:00
|
|
|
initializeMIRCanonicalizerPass(Registry);
|
2010-10-07 18:41:20 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LLVMInitializeCodeGen(LLVMPassRegistryRef R) {
|
|
|
|
|
initializeCodeGen(*unwrap(R));
|
|
|
|
|
}
|