CodeGen.cpp revision 239462
142120Sdes//===-- CodeGen.cpp -------------------------------------------------------===//
242120Sdes//
342120Sdes//                     The LLVM Compiler Infrastructure
442120Sdes//
542120Sdes// This file is distributed under the University of Illinois Open Source
642120Sdes// License. See LICENSE.TXT for details.
742120Sdes//
842120Sdes//===----------------------------------------------------------------------===//
942120Sdes//
1042120Sdes// This file implements the common initialization routines for the
1142120Sdes// CodeGen library.
1242120Sdes//
1342120Sdes//===----------------------------------------------------------------------===//
1442120Sdes
1542120Sdes#include "llvm/InitializePasses.h"
1642120Sdes#include "llvm-c/Initialization.h"
1742120Sdes
1842120Sdesusing namespace llvm;
1942120Sdes
2042120Sdes/// initializeCodeGen - Initialize all passes linked into the CodeGen library.
2142120Sdesvoid llvm::initializeCodeGen(PassRegistry &Registry) {
2242120Sdes  initializeBranchFolderPassPass(Registry);
2342120Sdes  initializeCalculateSpillWeightsPass(Registry);
2442120Sdes  initializeCodePlacementOptPass(Registry);
2542120Sdes  initializeDeadMachineInstructionElimPass(Registry);
2642120Sdes  initializeEarlyIfConverterPass(Registry);
2742120Sdes  initializeExpandPostRAPass(Registry);
2850477Speter  initializeExpandISelPseudosPass(Registry);
2942120Sdes  initializeFinalizeMachineBundlesPass(Registry);
3042120Sdes  initializeGCMachineCodeAnalysisPass(Registry);
3142120Sdes  initializeGCModuleInfoPass(Registry);
3242120Sdes  initializeIfConverterPass(Registry);
3342120Sdes  initializeLiveDebugVariablesPass(Registry);
3442120Sdes  initializeLiveIntervalsPass(Registry);
3542120Sdes  initializeLiveStacksPass(Registry);
3648104Syokota  initializeLiveVariablesPass(Registry);
3748104Syokota  initializeLocalStackSlotPassPass(Registry);
3842120Sdes  initializeMachineBlockFrequencyInfoPass(Registry);
3948104Syokota  initializeMachineBlockPlacementPass(Registry);
4048104Syokota  initializeMachineBlockPlacementStatsPass(Registry);
4148104Syokota  initializeMachineCopyPropagationPass(Registry);
4242120Sdes  initializeMachineCSEPass(Registry);
4342120Sdes  initializeMachineDominatorTreePass(Registry);
4443673Sdes  initializeMachineLICMPass(Registry);
4542504Syokota  initializeMachineLoopInfoPass(Registry);
4642120Sdes  initializeMachineModuleInfoPass(Registry);
4742120Sdes  initializeMachineSchedulerPass(Registry);
4842120Sdes  initializeMachineSinkingPass(Registry);
4942120Sdes  initializeMachineVerifierPassPass(Registry);
5042504Syokota  initializeOptimizePHIsPass(Registry);
5142120Sdes  initializePHIEliminationPass(Registry);
5242120Sdes  initializePeepholeOptimizerPass(Registry);
5342120Sdes  initializePostRASchedulerPass(Registry);
5443673Sdes  initializeProcessImplicitDefsPass(Registry);
5542120Sdes  initializePEIPass(Registry);
5642504Syokota  initializeRegisterCoalescerPass(Registry);
5742120Sdes  initializeSlotIndexesPass(Registry);
5842120Sdes  initializeStackProtectorPass(Registry);
5942120Sdes  initializeStackSlotColoringPass(Registry);
6042120Sdes  initializeStrongPHIEliminationPass(Registry);
6143673Sdes  initializeTailDuplicatePassPass(Registry);
6242120Sdes  initializeTargetPassConfigPass(Registry);
6342120Sdes  initializeTwoAddressInstructionPassPass(Registry);
6442120Sdes  initializeUnpackMachineBundlesPass(Registry);
6542504Syokota  initializeUnreachableBlockElimPass(Registry);
6642120Sdes  initializeUnreachableMachineBlockElimPass(Registry);
6743673Sdes  initializeVirtRegMapPass(Registry);
6842120Sdes  initializeVirtRegRewriterPass(Registry);
6942120Sdes  initializeLowerIntrinsicsPass(Registry);
7042504Syokota  initializeMachineFunctionPrinterPassPass(Registry);
7142120Sdes}
7243673Sdes
7342120Sdesvoid LLVMInitializeCodeGen(LLVMPassRegistryRef R) {
7442120Sdes  initializeCodeGen(*unwrap(R));
7542120Sdes}
7642120Sdes