CodeGen.cpp revision 243830
1218885Sdim//===-- CodeGen.cpp -------------------------------------------------------===// 2218885Sdim// 3218885Sdim// The LLVM Compiler Infrastructure 4218885Sdim// 5218885Sdim// This file is distributed under the University of Illinois Open Source 6218885Sdim// License. See LICENSE.TXT for details. 7218885Sdim// 8218885Sdim//===----------------------------------------------------------------------===// 9218885Sdim// 10218885Sdim// This file implements the common initialization routines for the 11218885Sdim// CodeGen library. 12218885Sdim// 13218885Sdim//===----------------------------------------------------------------------===// 14218885Sdim 15218885Sdim#include "llvm/InitializePasses.h" 16218885Sdim#include "llvm-c/Initialization.h" 17218885Sdim 18218885Sdimusing namespace llvm; 19218885Sdim 20218885Sdim/// initializeCodeGen - Initialize all passes linked into the CodeGen library. 21218885Sdimvoid llvm::initializeCodeGen(PassRegistry &Registry) { 22234353Sdim initializeBranchFolderPassPass(Registry); 23218885Sdim initializeCalculateSpillWeightsPass(Registry); 24234353Sdim initializeCodePlacementOptPass(Registry); 25218885Sdim initializeDeadMachineInstructionElimPass(Registry); 26239462Sdim initializeEarlyIfConverterPass(Registry); 27234353Sdim initializeExpandPostRAPass(Registry); 28234353Sdim initializeExpandISelPseudosPass(Registry); 29234353Sdim initializeFinalizeMachineBundlesPass(Registry); 30234353Sdim initializeGCMachineCodeAnalysisPass(Registry); 31218885Sdim initializeGCModuleInfoPass(Registry); 32218885Sdim initializeIfConverterPass(Registry); 33218885Sdim initializeLiveDebugVariablesPass(Registry); 34218885Sdim initializeLiveIntervalsPass(Registry); 35218885Sdim initializeLiveStacksPass(Registry); 36218885Sdim initializeLiveVariablesPass(Registry); 37234353Sdim initializeLocalStackSlotPassPass(Registry); 38226633Sdim initializeMachineBlockFrequencyInfoPass(Registry); 39234353Sdim initializeMachineBlockPlacementPass(Registry); 40234353Sdim initializeMachineBlockPlacementStatsPass(Registry); 41234353Sdim initializeMachineCopyPropagationPass(Registry); 42218885Sdim initializeMachineCSEPass(Registry); 43218885Sdim initializeMachineDominatorTreePass(Registry); 44243830Sdim initializeMachinePostDominatorTreePass(Registry); 45218885Sdim initializeMachineLICMPass(Registry); 46218885Sdim initializeMachineLoopInfoPass(Registry); 47218885Sdim initializeMachineModuleInfoPass(Registry); 48234353Sdim initializeMachineSchedulerPass(Registry); 49218885Sdim initializeMachineSinkingPass(Registry); 50218885Sdim initializeMachineVerifierPassPass(Registry); 51218885Sdim initializeOptimizePHIsPass(Registry); 52218885Sdim initializePHIEliminationPass(Registry); 53218885Sdim initializePeepholeOptimizerPass(Registry); 54234353Sdim initializePostRASchedulerPass(Registry); 55218885Sdim initializeProcessImplicitDefsPass(Registry); 56218885Sdim initializePEIPass(Registry); 57224145Sdim initializeRegisterCoalescerPass(Registry); 58218885Sdim initializeSlotIndexesPass(Registry); 59218885Sdim initializeStackProtectorPass(Registry); 60243830Sdim initializeStackColoringPass(Registry); 61218885Sdim initializeStackSlotColoringPass(Registry); 62218885Sdim initializeStrongPHIEliminationPass(Registry); 63234353Sdim initializeTailDuplicatePassPass(Registry); 64234353Sdim initializeTargetPassConfigPass(Registry); 65218885Sdim initializeTwoAddressInstructionPassPass(Registry); 66234353Sdim initializeUnpackMachineBundlesPass(Registry); 67218885Sdim initializeUnreachableBlockElimPass(Registry); 68218885Sdim initializeUnreachableMachineBlockElimPass(Registry); 69218885Sdim initializeVirtRegMapPass(Registry); 70239462Sdim initializeVirtRegRewriterPass(Registry); 71218885Sdim initializeLowerIntrinsicsPass(Registry); 72239462Sdim initializeMachineFunctionPrinterPassPass(Registry); 73218885Sdim} 74218885Sdim 75218885Sdimvoid LLVMInitializeCodeGen(LLVMPassRegistryRef R) { 76218885Sdim initializeCodeGen(*unwrap(R)); 77218885Sdim} 78