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