Added PassManagerBuilder.

Updated test/passes.py for PassManagerBuilder.
This commit is contained in:
Siu Kwan Lam 2012-07-24 23:42:28 -07:00
commit 6a02c36f04
8 changed files with 318 additions and 19 deletions

View file

@ -76,8 +76,6 @@
// our includes
#include "extra.h"
//using namespace llvm;
/*
* For use in LLVMDumpPasses to dump passes.
*/
@ -106,6 +104,42 @@ char *do_print(W obj)
return strdup(buf.str().c_str());
}
int LLVMPassManagerBuilderGetOptLevel(LLVMPassManagerBuilderRef pmb)
{
return llvm::unwrap(pmb)->OptLevel;
}
int LLVMPassManagerBuilderGetSizeLevel(LLVMPassManagerBuilderRef pmb)
{
return llvm::unwrap(pmb)->SizeLevel;
}
void LLVMPassManagerBuilderSetVectorize(LLVMPassManagerBuilderRef pmb, int flag)
{
llvm::unwrap(pmb)->Vectorize = flag;
}
int LLVMPassManagerBuilderGetVectorize(LLVMPassManagerBuilderRef pmb){
return llvm::unwrap(pmb)->Vectorize;
}
int LLVMPassManagerBuilderGetDisableUnitAtATime(LLVMPassManagerBuilderRef pmb)
{
return llvm::unwrap(pmb)->DisableUnitAtATime;
}
int LLVMPassManagerBuilderGetDisableUnrollLoops(LLVMPassManagerBuilderRef pmb)
{
return llvm::unwrap(pmb)->DisableUnrollLoops;
}
int LLVMPassManagerBuilderGetDisableSimplifyLibCalls(LLVMPassManagerBuilderRef pmb)
{
return llvm::unwrap(pmb)->DisableSimplifyLibCalls;
}
int LLVMAddPassByName(LLVMPassManagerRef pm, const char * name)
{
using namespace llvm;