diff options
| author | gingerBill <bill@gingerbill.org> | 2021-10-26 11:44:25 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-10-26 11:44:25 +0100 |
| commit | 72cc92dc5cf9e96b484020e3036487d8548f4f52 (patch) | |
| tree | 0735619b46d73944c95cd6fc138ebe613850358d /src/llvm_backend_utility.cpp | |
| parent | c9e6862332fc3b0beb8b939d5dae9bba96bc6879 (diff) | |
Add `llvm_get_inline_asm` for future compatibility
Diffstat (limited to 'src/llvm_backend_utility.cpp')
| -rw-r--r-- | src/llvm_backend_utility.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/llvm_backend_utility.cpp b/src/llvm_backend_utility.cpp index 0531c62bb..948180f30 100644 --- a/src/llvm_backend_utility.cpp +++ b/src/llvm_backend_utility.cpp @@ -1379,3 +1379,16 @@ lbValue lb_soa_struct_cap(lbProcedure *p, lbValue value) { } return lb_emit_struct_ev(p, value, cast(i32)n); } + +LLVMValueRef llvm_get_inline_asm(LLVMTypeRef func_type, String const &str, String const &clobbers, bool has_side_effects=true, bool is_align_stack=false, LLVMInlineAsmDialect dialect=LLVMInlineAsmDialectATT) { + return LLVMGetInlineAsm(func_type, + cast(char *)str.text, cast(size_t)str.len, + cast(char *)clobbers.text, cast(size_t)clobbers.len, + /*HasSideEffects*/true, /*IsAlignStack*/false, + dialect + #if LLVM_VERSION_MAJOR >= 13 + , /*CanThrow*/false + #endif + ); +} + |