mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-20 10:24:12 +00:00
Add a handful of additional useful pass manager things to the C API
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98296 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -79,6 +79,10 @@ void LLVMAddSCCPPass(LLVMPassManagerRef PM);
|
|||||||
/** See llvm::createScalarReplAggregatesPass function. */
|
/** See llvm::createScalarReplAggregatesPass function. */
|
||||||
void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM);
|
void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM);
|
||||||
|
|
||||||
|
/** See llvm::createScalarReplAggregatesPass function. */
|
||||||
|
void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM,
|
||||||
|
int Threshold);
|
||||||
|
|
||||||
/** See llvm::createSimplifyLibCallsPass function. */
|
/** See llvm::createSimplifyLibCallsPass function. */
|
||||||
void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM);
|
void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM);
|
||||||
|
|
||||||
@ -91,6 +95,12 @@ void LLVMAddConstantPropagationPass(LLVMPassManagerRef PM);
|
|||||||
/** See llvm::demotePromoteMemoryToRegisterPass function. */
|
/** See llvm::demotePromoteMemoryToRegisterPass function. */
|
||||||
void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM);
|
void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM);
|
||||||
|
|
||||||
|
/** See llvm::createVerifierPass function. */
|
||||||
|
void LLVMAddVerifierPass(LLVMPassManagerRef PM);
|
||||||
|
|
||||||
|
/** PM->add(new TargetData(M)) */
|
||||||
|
void LLVMAddTargetData(LLVMPassManagerRef PM, LLVMModuleRef M);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif /* defined(__cplusplus) */
|
#endif /* defined(__cplusplus) */
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
|
|
||||||
#include "llvm-c/Transforms/Scalar.h"
|
#include "llvm-c/Transforms/Scalar.h"
|
||||||
#include "llvm/PassManager.h"
|
#include "llvm/PassManager.h"
|
||||||
|
#include "llvm/Analysis/Verifier.h"
|
||||||
|
#include "llvm/Target/TargetData.h"
|
||||||
#include "llvm/Transforms/Scalar.h"
|
#include "llvm/Transforms/Scalar.h"
|
||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
@ -90,6 +92,11 @@ void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM) {
|
|||||||
unwrap(PM)->add(createScalarReplAggregatesPass());
|
unwrap(PM)->add(createScalarReplAggregatesPass());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM,
|
||||||
|
int Threshold) {
|
||||||
|
unwrap(PM)->add(createScalarReplAggregatesPass(Threshold));
|
||||||
|
}
|
||||||
|
|
||||||
void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM) {
|
void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM) {
|
||||||
unwrap(PM)->add(createSimplifyLibCallsPass());
|
unwrap(PM)->add(createSimplifyLibCallsPass());
|
||||||
}
|
}
|
||||||
@ -105,3 +112,11 @@ void LLVMAddConstantPropagationPass(LLVMPassManagerRef PM) {
|
|||||||
void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM) {
|
void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM) {
|
||||||
unwrap(PM)->add(createDemoteRegisterToMemoryPass());
|
unwrap(PM)->add(createDemoteRegisterToMemoryPass());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LLVMAddVerifierPass(LLVMPassManagerRef PM) {
|
||||||
|
unwrap(PM)->add(createVerifierPass());
|
||||||
|
}
|
||||||
|
|
||||||
|
void LLVMAddTargetData(LLVMPassManagerRef PM, LLVMModuleRef M) {
|
||||||
|
unwrap(PM)->add(new TargetData(unwrap(M)));
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user