1*9880d681SAndroid Build Coastguard Worker //===-- CodeGen.cpp -------------------------------------------------------===// 2*9880d681SAndroid Build Coastguard Worker // 3*9880d681SAndroid Build Coastguard Worker // The LLVM Compiler Infrastructure 4*9880d681SAndroid Build Coastguard Worker // 5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source 6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details. 7*9880d681SAndroid Build Coastguard Worker // 8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 9*9880d681SAndroid Build Coastguard Worker // 10*9880d681SAndroid Build Coastguard Worker // This file implements the common initialization routines for the 11*9880d681SAndroid Build Coastguard Worker // CodeGen library. 12*9880d681SAndroid Build Coastguard Worker // 13*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker #include "llvm/InitializePasses.h" 16*9880d681SAndroid Build Coastguard Worker #include "llvm-c/Initialization.h" 17*9880d681SAndroid Build Coastguard Worker #include "llvm/PassRegistry.h" 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker using namespace llvm; 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker /// initializeCodeGen - Initialize all passes linked into the CodeGen library. initializeCodeGen(PassRegistry & Registry)22*9880d681SAndroid Build Coastguard Workervoid llvm::initializeCodeGen(PassRegistry &Registry) { 23*9880d681SAndroid Build Coastguard Worker initializeAtomicExpandPass(Registry); 24*9880d681SAndroid Build Coastguard Worker initializeBranchFolderPassPass(Registry); 25*9880d681SAndroid Build Coastguard Worker initializeCodeGenPreparePass(Registry); 26*9880d681SAndroid Build Coastguard Worker initializeDeadMachineInstructionElimPass(Registry); 27*9880d681SAndroid Build Coastguard Worker initializeDetectDeadLanesPass(Registry); 28*9880d681SAndroid Build Coastguard Worker initializeDwarfEHPreparePass(Registry); 29*9880d681SAndroid Build Coastguard Worker initializeEarlyIfConverterPass(Registry); 30*9880d681SAndroid Build Coastguard Worker initializeExpandISelPseudosPass(Registry); 31*9880d681SAndroid Build Coastguard Worker initializeExpandPostRAPass(Registry); 32*9880d681SAndroid Build Coastguard Worker initializeFinalizeMachineBundlesPass(Registry); 33*9880d681SAndroid Build Coastguard Worker initializeFuncletLayoutPass(Registry); 34*9880d681SAndroid Build Coastguard Worker initializeGCMachineCodeAnalysisPass(Registry); 35*9880d681SAndroid Build Coastguard Worker initializeGCModuleInfoPass(Registry); 36*9880d681SAndroid Build Coastguard Worker initializeIfConverterPass(Registry); 37*9880d681SAndroid Build Coastguard Worker initializeInterleavedAccessPass(Registry); 38*9880d681SAndroid Build Coastguard Worker initializeLiveDebugVariablesPass(Registry); 39*9880d681SAndroid Build Coastguard Worker initializeLiveIntervalsPass(Registry); 40*9880d681SAndroid Build Coastguard Worker initializeLiveStacksPass(Registry); 41*9880d681SAndroid Build Coastguard Worker initializeLiveVariablesPass(Registry); 42*9880d681SAndroid Build Coastguard Worker initializeLocalStackSlotPassPass(Registry); 43*9880d681SAndroid Build Coastguard Worker initializeLowerIntrinsicsPass(Registry); 44*9880d681SAndroid Build Coastguard Worker initializeMachineBlockFrequencyInfoPass(Registry); 45*9880d681SAndroid Build Coastguard Worker initializeMachineBlockPlacementPass(Registry); 46*9880d681SAndroid Build Coastguard Worker initializeMachineBlockPlacementStatsPass(Registry); 47*9880d681SAndroid Build Coastguard Worker initializeMachineCSEPass(Registry); 48*9880d681SAndroid Build Coastguard Worker initializeImplicitNullChecksPass(Registry); 49*9880d681SAndroid Build Coastguard Worker initializeMachineCombinerPass(Registry); 50*9880d681SAndroid Build Coastguard Worker initializeMachineCopyPropagationPass(Registry); 51*9880d681SAndroid Build Coastguard Worker initializeMachineDominatorTreePass(Registry); 52*9880d681SAndroid Build Coastguard Worker initializeMachineFunctionPrinterPassPass(Registry); 53*9880d681SAndroid Build Coastguard Worker initializeMachineLICMPass(Registry); 54*9880d681SAndroid Build Coastguard Worker initializeMachineLoopInfoPass(Registry); 55*9880d681SAndroid Build Coastguard Worker initializeMachineModuleInfoPass(Registry); 56*9880d681SAndroid Build Coastguard Worker initializeMachinePipelinerPass(Registry); 57*9880d681SAndroid Build Coastguard Worker initializeMachinePostDominatorTreePass(Registry); 58*9880d681SAndroid Build Coastguard Worker initializeMachineSchedulerPass(Registry); 59*9880d681SAndroid Build Coastguard Worker initializeMachineSinkingPass(Registry); 60*9880d681SAndroid Build Coastguard Worker initializeMachineVerifierPassPass(Registry); 61*9880d681SAndroid Build Coastguard Worker initializeXRayInstrumentationPass(Registry); 62*9880d681SAndroid Build Coastguard Worker initializePatchableFunctionPass(Registry); 63*9880d681SAndroid Build Coastguard Worker initializeOptimizePHIsPass(Registry); 64*9880d681SAndroid Build Coastguard Worker initializePEIPass(Registry); 65*9880d681SAndroid Build Coastguard Worker initializePHIEliminationPass(Registry); 66*9880d681SAndroid Build Coastguard Worker initializePeepholeOptimizerPass(Registry); 67*9880d681SAndroid Build Coastguard Worker initializePostMachineSchedulerPass(Registry); 68*9880d681SAndroid Build Coastguard Worker initializePostRAHazardRecognizerPass(Registry); 69*9880d681SAndroid Build Coastguard Worker initializePostRASchedulerPass(Registry); 70*9880d681SAndroid Build Coastguard Worker initializePreISelIntrinsicLoweringLegacyPassPass(Registry); 71*9880d681SAndroid Build Coastguard Worker initializeProcessImplicitDefsPass(Registry); 72*9880d681SAndroid Build Coastguard Worker initializeRegisterCoalescerPass(Registry); 73*9880d681SAndroid Build Coastguard Worker initializeRenameIndependentSubregsPass(Registry); 74*9880d681SAndroid Build Coastguard Worker initializeShrinkWrapPass(Registry); 75*9880d681SAndroid Build Coastguard Worker initializeSlotIndexesPass(Registry); 76*9880d681SAndroid Build Coastguard Worker initializeStackColoringPass(Registry); 77*9880d681SAndroid Build Coastguard Worker initializeStackMapLivenessPass(Registry); 78*9880d681SAndroid Build Coastguard Worker initializeLiveDebugValuesPass(Registry); 79*9880d681SAndroid Build Coastguard Worker initializeSafeStackPass(Registry); 80*9880d681SAndroid Build Coastguard Worker initializeStackProtectorPass(Registry); 81*9880d681SAndroid Build Coastguard Worker initializeStackSlotColoringPass(Registry); 82*9880d681SAndroid Build Coastguard Worker initializeTailDuplicatePassPass(Registry); 83*9880d681SAndroid Build Coastguard Worker initializeTargetPassConfigPass(Registry); 84*9880d681SAndroid Build Coastguard Worker initializeTwoAddressInstructionPassPass(Registry); 85*9880d681SAndroid Build Coastguard Worker initializeUnpackMachineBundlesPass(Registry); 86*9880d681SAndroid Build Coastguard Worker initializeUnreachableBlockElimLegacyPassPass(Registry); 87*9880d681SAndroid Build Coastguard Worker initializeUnreachableMachineBlockElimPass(Registry); 88*9880d681SAndroid Build Coastguard Worker initializeVirtRegMapPass(Registry); 89*9880d681SAndroid Build Coastguard Worker initializeVirtRegRewriterPass(Registry); 90*9880d681SAndroid Build Coastguard Worker initializeWinEHPreparePass(Registry); 91*9880d681SAndroid Build Coastguard Worker } 92*9880d681SAndroid Build Coastguard Worker LLVMInitializeCodeGen(LLVMPassRegistryRef R)93*9880d681SAndroid Build Coastguard Workervoid LLVMInitializeCodeGen(LLVMPassRegistryRef R) { 94*9880d681SAndroid Build Coastguard Worker initializeCodeGen(*unwrap(R)); 95*9880d681SAndroid Build Coastguard Worker } 96