CodeGen.cpp revision 61f1e3db43e556f495b6b9360d2f550291f78471
178b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson//===-- CodeGen.cpp -------------------------------------------------------===// 278b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson// 378b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson// The LLVM Compiler Infrastructure 478b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson// 578b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson// This file is distributed under the University of Illinois Open Source 678b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson// License. See LICENSE.TXT for details. 778b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson// 878b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson//===----------------------------------------------------------------------===// 978b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson// 1078b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson// This file implements the common initialization routines for the 1178b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson// CodeGen library. 1278b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson// 1378b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson//===----------------------------------------------------------------------===// 1478b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson 1578b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson#include "llvm/InitializePasses.h" 1678b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson#include "llvm-c/Initialization.h" 1778b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson 1878b152470d80c27eec82087b2a3c3fdf809e0050Owen Andersonusing namespace llvm; 1978b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson 2078b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson/// initializeCodeGen - Initialize all passes linked into the CodeGen library. 2178b152470d80c27eec82087b2a3c3fdf809e0050Owen Andersonvoid llvm::initializeCodeGen(PassRegistry &Registry) { 2261f1e3db43e556f495b6b9360d2f550291f78471Andrew Trick initializeBranchFolderPassPass(Registry); 2378b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeCalculateSpillWeightsPass(Registry); 2478b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeDeadMachineInstructionElimPass(Registry); 2578b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeGCModuleInfoPass(Registry); 2678b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeIfConverterPass(Registry); 27bb7b23f5b79a7ca2aa62faa1a6078428af597234Jakob Stoklund Olesen initializeLiveDebugVariablesPass(Registry); 2878b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeLiveIntervalsPass(Registry); 2978b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeLiveStacksPass(Registry); 3078b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeLiveVariablesPass(Registry); 31f55c1c85881afd65647bde5346f64d9685235c7cJakub Staszak initializeMachineBlockFrequencyInfoPass(Registry); 32db35087d21f09fdde81cab7e12fc0bcd8b7d00e9Chandler Carruth initializeMachineBlockPlacementPass(Registry); 3337efc9fe42a4867c81526cac7fca9fe0ea04a484Chandler Carruth initializeMachineBlockPlacementStatsPass(Registry); 3478b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeMachineCSEPass(Registry); 3578b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeMachineDominatorTreePass(Registry); 3678b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeMachineLICMPass(Registry); 3778b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeMachineLoopInfoPass(Registry); 3878b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeMachineModuleInfoPass(Registry); 3978b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeMachineSinkingPass(Registry); 4078b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeMachineVerifierPassPass(Registry); 4178b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeOptimizePHIsPass(Registry); 4278b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializePHIEliminationPass(Registry); 4378b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializePeepholeOptimizerPass(Registry); 4478b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeProcessImplicitDefsPass(Registry); 4578b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializePEIPass(Registry); 465b220213bfe9c37c2bb41a7ae0804e06a14f1007Rafael Espindola initializeRegisterCoalescerPass(Registry); 4742b7a71dc7381d1f38bf7b7201fc26dd80453364Andrew Trick initializeMachineSchedulerPass(Registry); 4878b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeRenderMachineFunctionPass(Registry); 4978b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeSlotIndexesPass(Registry); 5078b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeStackProtectorPass(Registry); 5178b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeStackSlotColoringPass(Registry); 5278b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeStrongPHIEliminationPass(Registry); 537461334084aa77286b6f9af596fb0f6ba0465685Andrew Trick initializeTargetPassConfigPass(Registry); 5478b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeTwoAddressInstructionPassPass(Registry); 5578b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeUnreachableBlockElimPass(Registry); 5678b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeUnreachableMachineBlockElimPass(Registry); 5778b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeVirtRegMapPass(Registry); 58081c34b725980f995be9080eaec24cd3dfaaf065Owen Anderson initializeLowerIntrinsicsPass(Registry); 5978b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson} 6078b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson 6178b152470d80c27eec82087b2a3c3fdf809e0050Owen Andersonvoid LLVMInitializeCodeGen(LLVMPassRegistryRef R) { 6278b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson initializeCodeGen(*unwrap(R)); 6378b152470d80c27eec82087b2a3c3fdf809e0050Owen Anderson} 64