CodeGen.cpp revision 61f1e3db43e556f495b6b9360d2f550291f78471
1//===-- CodeGen.cpp -------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file implements the common initialization routines for the
11// CodeGen library.
12//
13//===----------------------------------------------------------------------===//
14
15#include "llvm/InitializePasses.h"
16#include "llvm-c/Initialization.h"
17
18using namespace llvm;
19
20/// initializeCodeGen - Initialize all passes linked into the CodeGen library.
21void llvm::initializeCodeGen(PassRegistry &Registry) {
22  initializeBranchFolderPassPass(Registry);
23  initializeCalculateSpillWeightsPass(Registry);
24  initializeDeadMachineInstructionElimPass(Registry);
25  initializeGCModuleInfoPass(Registry);
26  initializeIfConverterPass(Registry);
27  initializeLiveDebugVariablesPass(Registry);
28  initializeLiveIntervalsPass(Registry);
29  initializeLiveStacksPass(Registry);
30  initializeLiveVariablesPass(Registry);
31  initializeMachineBlockFrequencyInfoPass(Registry);
32  initializeMachineBlockPlacementPass(Registry);
33  initializeMachineBlockPlacementStatsPass(Registry);
34  initializeMachineCSEPass(Registry);
35  initializeMachineDominatorTreePass(Registry);
36  initializeMachineLICMPass(Registry);
37  initializeMachineLoopInfoPass(Registry);
38  initializeMachineModuleInfoPass(Registry);
39  initializeMachineSinkingPass(Registry);
40  initializeMachineVerifierPassPass(Registry);
41  initializeOptimizePHIsPass(Registry);
42  initializePHIEliminationPass(Registry);
43  initializePeepholeOptimizerPass(Registry);
44  initializeProcessImplicitDefsPass(Registry);
45  initializePEIPass(Registry);
46  initializeRegisterCoalescerPass(Registry);
47  initializeMachineSchedulerPass(Registry);
48  initializeRenderMachineFunctionPass(Registry);
49  initializeSlotIndexesPass(Registry);
50  initializeStackProtectorPass(Registry);
51  initializeStackSlotColoringPass(Registry);
52  initializeStrongPHIEliminationPass(Registry);
53  initializeTargetPassConfigPass(Registry);
54  initializeTwoAddressInstructionPassPass(Registry);
55  initializeUnreachableBlockElimPass(Registry);
56  initializeUnreachableMachineBlockElimPass(Registry);
57  initializeVirtRegMapPass(Registry);
58  initializeLowerIntrinsicsPass(Registry);
59}
60
61void LLVMInitializeCodeGen(LLVMPassRegistryRef R) {
62  initializeCodeGen(*unwrap(R));
63}
64