summaryrefslogtreecommitdiff
path: root/bindings
diff options
context:
space:
mode:
authorAndrew Wilkins <axwalk@gmail.com>2017-02-17 05:41:05 +0000
committerAndrew Wilkins <axwalk@gmail.com>2017-02-17 05:41:05 +0000
commit733bbece62efd31a175aac136bcf5855ebafe7ec (patch)
treecfe09f2b1ceb34a8c788553e0cebca8693e6b4ca /bindings
parent56ccc1cdbf5bcbc3e1fa503efab531d7d8a1229e (diff)
Go binding: Add methods for missing PassManagerBuilder C APIs
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
Diffstat (limited to 'bindings')
-rw-r--r--bindings/go/llvm/transforms_pmbuilder.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/bindings/go/llvm/transforms_pmbuilder.go b/bindings/go/llvm/transforms_pmbuilder.go
index 3d79d6e2f32..b164e58812b 100644
--- a/bindings/go/llvm/transforms_pmbuilder.go
+++ b/bindings/go/llvm/transforms_pmbuilder.go
@@ -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))
+}