mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-04-15 21:01:29 +00:00

Summary: This new pass allows targets to use the hazard recognizer without having to also run one of the schedulers. This is useful when compiling with optimizations disabled for targets that still need noop hazards to be handled correctly. Reviewers: hfinkel, atrick Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D18594 llvm-svn: 267156
90 lines
3.5 KiB
C++
90 lines
3.5 KiB
C++
//===-- CodeGen.cpp -------------------------------------------------------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file implements the common initialization routines for the
|
|
// CodeGen library.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "llvm/InitializePasses.h"
|
|
#include "llvm-c/Initialization.h"
|
|
#include "llvm/PassRegistry.h"
|
|
|
|
using namespace llvm;
|
|
|
|
/// initializeCodeGen - Initialize all passes linked into the CodeGen library.
|
|
void llvm::initializeCodeGen(PassRegistry &Registry) {
|
|
initializeAtomicExpandPass(Registry);
|
|
initializeBranchFolderPassPass(Registry);
|
|
initializeCodeGenPreparePass(Registry);
|
|
initializeDeadMachineInstructionElimPass(Registry);
|
|
initializeDwarfEHPreparePass(Registry);
|
|
initializeEarlyIfConverterPass(Registry);
|
|
initializeExpandISelPseudosPass(Registry);
|
|
initializeExpandPostRAPass(Registry);
|
|
initializeFinalizeMachineBundlesPass(Registry);
|
|
initializeFuncletLayoutPass(Registry);
|
|
initializeGCMachineCodeAnalysisPass(Registry);
|
|
initializeGCModuleInfoPass(Registry);
|
|
initializeIfConverterPass(Registry);
|
|
initializeLiveDebugVariablesPass(Registry);
|
|
initializeLiveIntervalsPass(Registry);
|
|
initializeLiveStacksPass(Registry);
|
|
initializeLiveVariablesPass(Registry);
|
|
initializeLocalStackSlotPassPass(Registry);
|
|
initializeLowerIntrinsicsPass(Registry);
|
|
initializeMachineBlockFrequencyInfoPass(Registry);
|
|
initializeMachineBlockPlacementPass(Registry);
|
|
initializeMachineBlockPlacementStatsPass(Registry);
|
|
initializeMachineCSEPass(Registry);
|
|
initializeImplicitNullChecksPass(Registry);
|
|
initializeMachineCombinerPass(Registry);
|
|
initializeMachineCopyPropagationPass(Registry);
|
|
initializeMachineDominatorTreePass(Registry);
|
|
initializeMachineFunctionPrinterPassPass(Registry);
|
|
initializeMachineLICMPass(Registry);
|
|
initializeMachineLoopInfoPass(Registry);
|
|
initializeMachineModuleInfoPass(Registry);
|
|
initializeMachinePostDominatorTreePass(Registry);
|
|
initializeMachineSchedulerPass(Registry);
|
|
initializeMachineSinkingPass(Registry);
|
|
initializeMachineVerifierPassPass(Registry);
|
|
initializePatchableFunctionPass(Registry);
|
|
initializeOptimizePHIsPass(Registry);
|
|
initializePEIPass(Registry);
|
|
initializePHIEliminationPass(Registry);
|
|
initializePeepholeOptimizerPass(Registry);
|
|
initializePostMachineSchedulerPass(Registry);
|
|
initializePostRAHazardRecognizerPass(Registry);
|
|
initializePostRASchedulerPass(Registry);
|
|
initializeProcessImplicitDefsPass(Registry);
|
|
initializeRegisterCoalescerPass(Registry);
|
|
initializeShrinkWrapPass(Registry);
|
|
initializeSlotIndexesPass(Registry);
|
|
initializeStackColoringPass(Registry);
|
|
initializeStackMapLivenessPass(Registry);
|
|
initializeLiveDebugValuesPass(Registry);
|
|
initializeSafeStackPass(Registry);
|
|
initializeStackProtectorPass(Registry);
|
|
initializeStackSlotColoringPass(Registry);
|
|
initializeTailDuplicatePassPass(Registry);
|
|
initializeTargetPassConfigPass(Registry);
|
|
initializeTwoAddressInstructionPassPass(Registry);
|
|
initializeUnpackMachineBundlesPass(Registry);
|
|
initializeUnreachableBlockElimPass(Registry);
|
|
initializeUnreachableMachineBlockElimPass(Registry);
|
|
initializeVirtRegMapPass(Registry);
|
|
initializeVirtRegRewriterPass(Registry);
|
|
initializeWinEHPreparePass(Registry);
|
|
}
|
|
|
|
void LLVMInitializeCodeGen(LLVMPassRegistryRef R) {
|
|
initializeCodeGen(*unwrap(R));
|
|
}
|