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 initializeLiveIntervalsPass(Registry
);
27 initializeLiveStacksPass(Registry
);
28 initializeLiveVariablesPass(Registry
);
29 initializeMachineCSEPass(Registry
);
30 initializeMachineDominatorTreePass(Registry
);
31 initializeMachineLICMPass(Registry
);
32 initializeMachineLoopInfoPass(Registry
);
33 initializeMachineModuleInfoPass(Registry
);
34 initializeMachineSinkingPass(Registry
);
35 initializeMachineVerifierPassPass(Registry
);
36 initializeOptimizePHIsPass(Registry
);
37 initializePHIEliminationPass(Registry
);
38 initializePeepholeOptimizerPass(Registry
);
39 initializePreAllocSplittingPass(Registry
);
40 initializeProcessImplicitDefsPass(Registry
);
41 initializePEIPass(Registry
);
42 initializeRALinScanPass(Registry
);
43 initializeRegisterCoalescerAnalysisGroup(Registry
);
44 initializeRenderMachineFunctionPass(Registry
);
45 initializeSimpleRegisterCoalescingPass(Registry
);
46 initializeSlotIndexesPass(Registry
);
47 initializeLoopSplitterPass(Registry
);
48 initializeStackProtectorPass(Registry
);
49 initializeStackSlotColoringPass(Registry
);
50 initializeStrongPHIEliminationPass(Registry
);
51 initializeTwoAddressInstructionPassPass(Registry
);
52 initializeUnreachableBlockElimPass(Registry
);
53 initializeUnreachableMachineBlockElimPass(Registry
);
54 initializeVirtRegMapPass(Registry
);
55 initializeLowerIntrinsicsPass(Registry
);
58 void LLVMInitializeCodeGen(LLVMPassRegistryRef R
) {
59 initializeCodeGen(*unwrap(R
));