CodeGen.cpp revision 218885
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) {
22218885Sdim  initializeCalculateSpillWeightsPass(Registry);
23218885Sdim  initializeDeadMachineInstructionElimPass(Registry);
24218885Sdim  initializeGCModuleInfoPass(Registry);
25218885Sdim  initializeIfConverterPass(Registry);
26218885Sdim  initializeLiveDebugVariablesPass(Registry);
27218885Sdim  initializeLiveIntervalsPass(Registry);
28218885Sdim  initializeLiveStacksPass(Registry);
29218885Sdim  initializeLiveVariablesPass(Registry);
30218885Sdim  initializeMachineCSEPass(Registry);
31218885Sdim  initializeMachineDominatorTreePass(Registry);
32218885Sdim  initializeMachineLICMPass(Registry);
33218885Sdim  initializeMachineLoopInfoPass(Registry);
34218885Sdim  initializeMachineModuleInfoPass(Registry);
35218885Sdim  initializeMachineSinkingPass(Registry);
36218885Sdim  initializeMachineVerifierPassPass(Registry);
37218885Sdim  initializeOptimizePHIsPass(Registry);
38218885Sdim  initializePHIEliminationPass(Registry);
39218885Sdim  initializePeepholeOptimizerPass(Registry);
40218885Sdim  initializePreAllocSplittingPass(Registry);
41218885Sdim  initializeProcessImplicitDefsPass(Registry);
42218885Sdim  initializePEIPass(Registry);
43218885Sdim  initializeRALinScanPass(Registry);
44218885Sdim  initializeRegisterCoalescerAnalysisGroup(Registry);
45218885Sdim  initializeRenderMachineFunctionPass(Registry);
46218885Sdim  initializeSimpleRegisterCoalescingPass(Registry);
47218885Sdim  initializeSlotIndexesPass(Registry);
48218885Sdim  initializeLoopSplitterPass(Registry);
49218885Sdim  initializeStackProtectorPass(Registry);
50218885Sdim  initializeStackSlotColoringPass(Registry);
51218885Sdim  initializeStrongPHIEliminationPass(Registry);
52218885Sdim  initializeTwoAddressInstructionPassPass(Registry);
53218885Sdim  initializeUnreachableBlockElimPass(Registry);
54218885Sdim  initializeUnreachableMachineBlockElimPass(Registry);
55218885Sdim  initializeVirtRegMapPass(Registry);
56218885Sdim  initializeLowerIntrinsicsPass(Registry);
57218885Sdim}
58218885Sdim
59218885Sdimvoid LLVMInitializeCodeGen(LLVMPassRegistryRef R) {
60218885Sdim  initializeCodeGen(*unwrap(R));
61218885Sdim}
62