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 initializeProcessImplicitDefsPass(Registry
);
41 initializePEIPass(Registry
);
42 initializeRALinScanPass(Registry
);
43 initializeRegisterCoalescerPass(Registry
);
44 initializeRenderMachineFunctionPass(Registry
);
45 initializeSlotIndexesPass(Registry
);
46 initializeLoopSplitterPass(Registry
);
47 initializeStackProtectorPass(Registry
);
48 initializeStackSlotColoringPass(Registry
);
49 initializeStrongPHIEliminationPass(Registry
);
50 initializeTwoAddressInstructionPassPass(Registry
);
51 initializeUnreachableBlockElimPass(Registry
);
52 initializeUnreachableMachineBlockElimPass(Registry
);
53 initializeVirtRegMapPass(Registry
);
54 initializeLowerIntrinsicsPass(Registry
);
57 void LLVMInitializeCodeGen(LLVMPassRegistryRef R
) {
58 initializeCodeGen(*unwrap(R
));