summaryrefslogtreecommitdiff
path: root/bindings
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2014-12-02 21:09:01 +0000
committerEric Christopher <echristo@gmail.com>2014-12-02 21:09:01 +0000
commit73271f08534cf8d90a3b1f18dbf73e6c25279837 (patch)
tree6f91a85a77ec220046ae30e83a54742d6283cb44 /bindings
parent8d7b46d0d692e99f864a88b95e51b73dd28483ad (diff)
Add bindings for the rest of the MCJIT options that we previously
had support for. We're still missing a binding for an MCJIT memory manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223153 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'bindings')
-rw-r--r--bindings/go/llvm/executionengine.go12
-rw-r--r--bindings/go/llvm/executionengine_test.go3
2 files changed, 15 insertions, 0 deletions
diff --git a/bindings/go/llvm/executionengine.go b/bindings/go/llvm/executionengine.go
index 23c185c010b..94d4e83b4cf 100644
--- a/bindings/go/llvm/executionengine.go
+++ b/bindings/go/llvm/executionengine.go
@@ -39,6 +39,18 @@ func (options *MCJITCompilerOptions) SetMCJITOptimizationLevel(level uint) {
options.C.OptLevel = C.uint(level)
}
+func (options *MCJITCompilerOptions) SetMCJITNoFramePointerElim(nfp bool) {
+ options.C.NoFramePointerElim = boolToLLVMBool(nfp)
+}
+
+func (options *MCJITCompilerOptions) SetMCJITEnableFastISel(fastisel bool) {
+ options.C.EnableFastISel = boolToLLVMBool(fastisel)
+}
+
+func (options *MCJITCompilerOptions) SetMCJITCodeModel(CodeModel CodeModel) {
+ options.C.CodeModel = C.LLVMCodeModel(CodeModel)
+}
+
// helpers
func llvmGenericValueRefPtr(t *GenericValue) *C.LLVMGenericValueRef {
return (*C.LLVMGenericValueRef)(unsafe.Pointer(t))
diff --git a/bindings/go/llvm/executionengine_test.go b/bindings/go/llvm/executionengine_test.go
index 03fabc83c6f..2b6a3caff3d 100644
--- a/bindings/go/llvm/executionengine_test.go
+++ b/bindings/go/llvm/executionengine_test.go
@@ -68,6 +68,9 @@ func TestFactorial(t *testing.T) {
options := NewMCJITCompilerOptions()
options.SetMCJITOptimizationLevel(2)
+ options.SetMCJITEnableFastISel(true)
+ options.SetMCJITNoFramePointerElim(true)
+ options.SetMCJITCodeModel(CodeModelJITDefault)
engine, err := NewMCJITCompiler(mod, options)
if err != nil {
t.Errorf("Error creating JIT: %s", err)