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"
17 #include "llvm/PassRegistry.h"
21 /// initializeCodeGen - Initialize all passes linked into the CodeGen library.
22 void llvm::initializeCodeGen(PassRegistry
&Registry
) {
23 initializeAtomicExpandPass(Registry
);
24 initializeBranchFolderPassPass(Registry
);
25 initializeCodeGenPreparePass(Registry
);
26 initializeDeadMachineInstructionElimPass(Registry
);
27 initializeDwarfEHPreparePass(Registry
);
28 initializeEarlyIfConverterPass(Registry
);
29 initializeExpandISelPseudosPass(Registry
);
30 initializeExpandPostRAPass(Registry
);
31 initializeFinalizeMachineBundlesPass(Registry
);
32 initializeFuncletLayoutPass(Registry
);
33 initializeGCMachineCodeAnalysisPass(Registry
);
34 initializeGCModuleInfoPass(Registry
);
35 initializeIfConverterPass(Registry
);
36 initializeLiveDebugVariablesPass(Registry
);
37 initializeLiveIntervalsPass(Registry
);
38 initializeLiveStacksPass(Registry
);
39 initializeLiveVariablesPass(Registry
);
40 initializeLocalStackSlotPassPass(Registry
);
41 initializeLowerIntrinsicsPass(Registry
);
42 initializeMachineBlockFrequencyInfoPass(Registry
);
43 initializeMachineBlockPlacementPass(Registry
);
44 initializeMachineBlockPlacementStatsPass(Registry
);
45 initializeMachineCSEPass(Registry
);
46 initializeImplicitNullChecksPass(Registry
);
47 initializeMachineCombinerPass(Registry
);
48 initializeMachineCopyPropagationPass(Registry
);
49 initializeMachineDominatorTreePass(Registry
);
50 initializeMachineFunctionPrinterPassPass(Registry
);
51 initializeMachineLICMPass(Registry
);
52 initializeMachineLoopInfoPass(Registry
);
53 initializeMachineModuleInfoPass(Registry
);
54 initializeMachinePostDominatorTreePass(Registry
);
55 initializeMachineSchedulerPass(Registry
);
56 initializeMachineSinkingPass(Registry
);
57 initializeMachineVerifierPassPass(Registry
);
58 initializeOptimizePHIsPass(Registry
);
59 initializePEIPass(Registry
);
60 initializePHIEliminationPass(Registry
);
61 initializePeepholeOptimizerPass(Registry
);
62 initializePostMachineSchedulerPass(Registry
);
63 initializePostRASchedulerPass(Registry
);
64 initializeProcessImplicitDefsPass(Registry
);
65 initializeRegisterCoalescerPass(Registry
);
66 initializeShrinkWrapPass(Registry
);
67 initializeSlotIndexesPass(Registry
);
68 initializeStackColoringPass(Registry
);
69 initializeStackMapLivenessPass(Registry
);
70 initializeStackProtectorPass(Registry
);
71 initializeStackSlotColoringPass(Registry
);
72 initializeTailDuplicatePassPass(Registry
);
73 initializeTargetPassConfigPass(Registry
);
74 initializeTwoAddressInstructionPassPass(Registry
);
75 initializeUnpackMachineBundlesPass(Registry
);
76 initializeUnreachableBlockElimPass(Registry
);
77 initializeUnreachableMachineBlockElimPass(Registry
);
78 initializeVirtRegMapPass(Registry
);
79 initializeVirtRegRewriterPass(Registry
);
80 initializeWinEHPreparePass(Registry
);
83 void LLVMInitializeCodeGen(LLVMPassRegistryRef R
) {
84 initializeCodeGen(*unwrap(R
));