]> granicus.if.org Git - llvm/commitdiff
Go binding: Add methods for missing PassManagerBuilder C APIs
authorAndrew Wilkins <axwalk@gmail.com>
Fri, 17 Feb 2017 05:41:05 +0000 (05:41 +0000)
committerAndrew Wilkins <axwalk@gmail.com>
Fri, 17 Feb 2017 05:41:05 +0000 (05:41 +0000)
Patch by Ryuichi Hayashida!

Differential Revision: http://reviews.llvm.org/D30042

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295420 91177308-0d34-0410-b5e6-96231b3b80d8

bindings/go/llvm/transforms_pmbuilder.go

index 3d79d6e2f3273939b8ac7577538fa1073b023957..b164e58812b1553cf4995f7085b32ec0d44977b4 100644 (file)
@@ -43,6 +43,26 @@ func (pmb PassManagerBuilder) PopulateFunc(pm PassManager) {
        C.LLVMPassManagerBuilderPopulateFunctionPassManager(pmb.C, pm.C)
 }
 
+func (pmb PassManagerBuilder) PopulateLTOPassManager(pm PassManager, internalize bool, runInliner bool) {
+       C.LLVMPassManagerBuilderPopulateLTOPassManager(pmb.C, pm.C, boolToLLVMBool(internalize), boolToLLVMBool(runInliner))
+}
+
 func (pmb PassManagerBuilder) Dispose() {
        C.LLVMPassManagerBuilderDispose(pmb.C)
 }
+
+func (pmb PassManagerBuilder) SetDisableUnitAtATime(val bool) {
+       C.LLVMPassManagerBuilderSetDisableUnitAtATime(pmb.C, boolToLLVMBool(val))
+}
+
+func (pmb PassManagerBuilder) SetDisableUnrollLoops(val bool) {
+       C.LLVMPassManagerBuilderSetDisableUnrollLoops(pmb.C, boolToLLVMBool(val))
+}
+
+func (pmb PassManagerBuilder) SetDisableSimplifyLibCalls(val bool) {
+       C.LLVMPassManagerBuilderSetDisableSimplifyLibCalls(pmb.C, boolToLLVMBool(val))
+}
+
+func (pmb PassManagerBuilder) UseInlinerWithThreshold(threshold uint) {
+       C.LLVMPassManagerBuilderUseInlinerWithThreshold(pmb.C, C.uint(threshold))
+}