mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
Add an initialization routine for libLLVMipo.a
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115933 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -7,17 +7,52 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file implements the C bindings for libLLVMIPO.a, which implements
|
||||
// several transformations over the LLVM intermediate representation.
|
||||
// This file implements the common infrastructure (including C bindings) for
|
||||
// libLLVMIPO.a, which implements several transformations over the LLVM
|
||||
// intermediate representation.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm-c/Transforms/IPO.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
#include "llvm/PassManager.h"
|
||||
#include "llvm/Transforms/IPO.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
void llvm::initializeIPO(PassRegistry &Registry) {
|
||||
initializeArgPromotionPass(Registry);
|
||||
initializeConstantMergePass(Registry);
|
||||
initializeDAEPass(Registry);
|
||||
initializeDAHPass(Registry);
|
||||
initializeDTEPass(Registry);
|
||||
initializeFunctionAttrsPass(Registry);
|
||||
initializeGlobalDCEPass(Registry);
|
||||
initializeGlobalOptPass(Registry);
|
||||
initializeIPCPPass(Registry);
|
||||
initializeAlwaysInlinerPass(Registry);
|
||||
initializeSimpleInlinerPass(Registry);
|
||||
initializeInternalizePassPass(Registry);
|
||||
initializeLoopExtractorPass(Registry);
|
||||
initializeBlockExtractorPassPass(Registry);
|
||||
initializeSingleLoopExtractorPass(Registry);
|
||||
initializeLowerSetJmpPass(Registry);
|
||||
initializeMergeFunctionsPass(Registry);
|
||||
initializePartialInlinerPass(Registry);
|
||||
initializePartSpecPass(Registry);
|
||||
initializePruneEHPass(Registry);
|
||||
initializeStripDeadPrototypesPassPass(Registry);
|
||||
initializeStripSymbolsPass(Registry);
|
||||
initializeStripDebugDeclarePass(Registry);
|
||||
initializeStripDeadDebugInfoPass(Registry);
|
||||
initializeStripNonDebugSymbolsPass(Registry);
|
||||
initializeSRETPromotionPass(Registry);
|
||||
}
|
||||
|
||||
void LLVMInitializeIPO(LLVMPassRegistryRef R) {
|
||||
initializeIPO(*unwrap(R));
|
||||
}
|
||||
|
||||
void LLVMAddArgumentPromotionPass(LLVMPassManagerRef PM) {
|
||||
unwrap(PM)->add(createArgumentPromotionPass());
|
||||
}
|
||||
|
Reference in New Issue
Block a user