|
74 | 74 | IntPredicate C.LLVMIntPredicate
|
75 | 75 | FloatPredicate C.LLVMRealPredicate
|
76 | 76 | LandingPadClause C.LLVMLandingPadClauseTy
|
| 77 | + InlineAsmDialect C.LLVMInlineAsmDialect |
77 | 78 | )
|
78 | 79 |
|
79 | 80 | func (c Context) IsNil() bool { return c.C == nil }
|
@@ -314,6 +315,15 @@ const (
|
314 | 315 | LandingPadFilter LandingPadClause = C.LLVMLandingPadFilter
|
315 | 316 | )
|
316 | 317 |
|
| 318 | +//------------------------------------------------------------------------- |
| 319 | +// llvm.InlineAsmDialect |
| 320 | +//------------------------------------------------------------------------- |
| 321 | + |
| 322 | +const ( |
| 323 | + InlineAsmDialectATT InlineAsmDialect = C.LLVMInlineAsmDialectATT |
| 324 | + InlineAsmDialectIntel InlineAsmDialect = C.LLVMInlineAsmDialectIntel |
| 325 | +) |
| 326 | + |
317 | 327 | //-------------------------------------------------------------------------
|
318 | 328 | // llvm.Context
|
319 | 329 | //-------------------------------------------------------------------------
|
@@ -1237,6 +1247,16 @@ func (v Value) IncomingBlock(i int) (bb BasicBlock) {
|
1237 | 1247 | return
|
1238 | 1248 | }
|
1239 | 1249 |
|
| 1250 | +// Operations on inline assembly |
| 1251 | +func InlineAsm(t Type, asmString, constraints string, hasSideEffects, isAlignStack bool, dialect InlineAsmDialect) (rv Value) { |
| 1252 | + casm := C.CString(asmString) |
| 1253 | + defer C.free(unsafe.Pointer(casm)) |
| 1254 | + cconstraints := C.CString(constraints) |
| 1255 | + defer C.free(unsafe.Pointer(cconstraints)) |
| 1256 | + 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)) |
| 1257 | + return |
| 1258 | +} |
| 1259 | + |
1240 | 1260 | //-------------------------------------------------------------------------
|
1241 | 1261 | // llvm.Builder
|
1242 | 1262 | //-------------------------------------------------------------------------
|
|
0 commit comments