LLVM API Documentation

CodeGen.cpp
Go to the documentation of this file.
00001 //===-- CodeGen.cpp -------------------------------------------------------===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 //
00010 // This file implements the common initialization routines for the
00011 // CodeGen library.
00012 //
00013 //===----------------------------------------------------------------------===//
00014 
00015 #include "llvm/InitializePasses.h"
00016 #include "llvm-c/Initialization.h"
00017 #include "llvm/PassRegistry.h"
00018 
00019 using namespace llvm;
00020 
00021 /// initializeCodeGen - Initialize all passes linked into the CodeGen library.
00022 void llvm::initializeCodeGen(PassRegistry &Registry) {
00023   initializeAtomicExpandPass(Registry);
00024   initializeBasicTTIPass(Registry);
00025   initializeBranchFolderPassPass(Registry);
00026   initializeCodeGenPreparePass(Registry);
00027   initializeDeadMachineInstructionElimPass(Registry);
00028   initializeEarlyIfConverterPass(Registry);
00029   initializeExpandPostRAPass(Registry);
00030   initializeExpandISelPseudosPass(Registry);
00031   initializeFinalizeMachineBundlesPass(Registry);
00032   initializeGCMachineCodeAnalysisPass(Registry);
00033   initializeGCModuleInfoPass(Registry);
00034   initializeIfConverterPass(Registry);
00035   initializeLiveDebugVariablesPass(Registry);
00036   initializeLiveIntervalsPass(Registry);
00037   initializeLiveStacksPass(Registry);
00038   initializeLiveVariablesPass(Registry);
00039   initializeLocalStackSlotPassPass(Registry);
00040   initializeMachineBlockFrequencyInfoPass(Registry);
00041   initializeMachineBlockPlacementPass(Registry);
00042   initializeMachineBlockPlacementStatsPass(Registry);
00043   initializeMachineCopyPropagationPass(Registry);
00044   initializeMachineCombinerPass(Registry);
00045   initializeMachineCSEPass(Registry);
00046   initializeMachineDominatorTreePass(Registry);
00047   initializeMachinePostDominatorTreePass(Registry);
00048   initializeMachineLICMPass(Registry);
00049   initializeMachineLoopInfoPass(Registry);
00050   initializeMachineModuleInfoPass(Registry);
00051   initializeMachineSchedulerPass(Registry);
00052   initializeMachineSinkingPass(Registry);
00053   initializeMachineVerifierPassPass(Registry);
00054   initializeOptimizePHIsPass(Registry);
00055   initializePHIEliminationPass(Registry);
00056   initializePeepholeOptimizerPass(Registry);
00057   initializePostMachineSchedulerPass(Registry);
00058   initializePostRASchedulerPass(Registry);
00059   initializeProcessImplicitDefsPass(Registry);
00060   initializePEIPass(Registry);
00061   initializeRegisterCoalescerPass(Registry);
00062   initializeSlotIndexesPass(Registry);
00063   initializeStackProtectorPass(Registry);
00064   initializeStackColoringPass(Registry);
00065   initializeStackSlotColoringPass(Registry);
00066   initializeTailDuplicatePassPass(Registry);
00067   initializeTargetPassConfigPass(Registry);
00068   initializeTwoAddressInstructionPassPass(Registry);
00069   initializeUnpackMachineBundlesPass(Registry);
00070   initializeUnreachableBlockElimPass(Registry);
00071   initializeUnreachableMachineBlockElimPass(Registry);
00072   initializeVirtRegMapPass(Registry);
00073   initializeVirtRegRewriterPass(Registry);
00074   initializeLowerIntrinsicsPass(Registry);
00075   initializeMachineFunctionPrinterPassPass(Registry);
00076   initializeStackMapLivenessPass(Registry);
00077 }
00078 
00079 void LLVMInitializeCodeGen(LLVMPassRegistryRef R) {
00080   initializeCodeGen(*unwrap(R));
00081 }