[PATCH] D46437: [bindings/go] Add Go bindings for inline assembly
Ayke via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 4 09:13:38 PDT 2018
aykevl created this revision.
aykevl added reviewers: harlanhaskins, whitequark.
Repository:
rL LLVM
https://reviews.llvm.org/D46437
Files:
bindings/go/llvm/ir.go
Index: bindings/go/llvm/ir.go
===================================================================
--- bindings/go/llvm/ir.go
+++ bindings/go/llvm/ir.go
@@ -74,6 +74,7 @@
IntPredicate C.LLVMIntPredicate
FloatPredicate C.LLVMRealPredicate
LandingPadClause C.LLVMLandingPadClauseTy
+ InlineAsmDialect C.LLVMInlineAsmDialect
)
func (c Context) IsNil() bool { return c.C == nil }
@@ -315,6 +316,15 @@
)
//-------------------------------------------------------------------------
+// llvm.InlineAsmDialect
+//-------------------------------------------------------------------------
+
+const (
+ InlineAsmDialectATT InlineAsmDialect = C.LLVMInlineAsmDialectATT
+ InlineAsmDialectIntel InlineAsmDialect = C.LLVMInlineAsmDialectIntel
+)
+
+//-------------------------------------------------------------------------
// llvm.Context
//-------------------------------------------------------------------------
@@ -1242,6 +1252,16 @@
return
}
+// Operations on inline assembly
+func InlineAsm(t Type, asmString, constraints string, hasSideEffects, isAlignStack bool, dialect InlineAsmDialect) (rv Value) {
+ casm := C.CString(asmString)
+ defer C.free(unsafe.Pointer(casm))
+ cconstraints := C.CString(constraints)
+ defer C.free(unsafe.Pointer(cconstraints))
+ rv.C = C.LLVMGetInlineAsm(t.C, casm, C.size_t(len(asmString)), cconstraints, C.size_t(len(constraints)), boolToLLVMBool(hasSideEffects), boolToLLVMBool(isAlignStack), C.LLVMInlineAsmDialect(dialect))
+ return
+}
+
//-------------------------------------------------------------------------
// llvm.Builder
//-------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46437.145209.patch
Type: text/x-patch
Size: 1686 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180504/b5951692/attachment.bin>
More information about the llvm-commits
mailing list