Mercurial > hg > Members > tobaru > cbc > CbC_llvm
view bindings/go/llvm/transforms_pmbuilder.go @ 116:a609e5c42ecc
change from CGF to this
author | mir3636 |
---|---|
date | Mon, 08 Aug 2016 19:47:00 +0900 |
parents | 60c9769439b8 |
children | 803732b1fca8 |
line wrap: on
line source
//===- transforms_pmbuilder.go - Bindings for PassManagerBuilder ----------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file defines bindings for the PassManagerBuilder class. // //===----------------------------------------------------------------------===// package llvm /* #include "llvm-c/Transforms/PassManagerBuilder.h" */ import "C" type PassManagerBuilder struct { C C.LLVMPassManagerBuilderRef } func NewPassManagerBuilder() (pmb PassManagerBuilder) { pmb.C = C.LLVMPassManagerBuilderCreate() return } func (pmb PassManagerBuilder) SetOptLevel(level int) { C.LLVMPassManagerBuilderSetOptLevel(pmb.C, C.uint(level)) } func (pmb PassManagerBuilder) SetSizeLevel(level int) { C.LLVMPassManagerBuilderSetSizeLevel(pmb.C, C.uint(level)) } func (pmb PassManagerBuilder) Populate(pm PassManager) { C.LLVMPassManagerBuilderPopulateModulePassManager(pmb.C, pm.C) } func (pmb PassManagerBuilder) PopulateFunc(pm PassManager) { C.LLVMPassManagerBuilderPopulateFunctionPassManager(pmb.C, pm.C) } func (pmb PassManagerBuilder) Dispose() { C.LLVMPassManagerBuilderDispose(pmb.C) }