diff options
Diffstat (limited to 'src/comp/lib')
| -rw-r--r-- | src/comp/lib/llvm.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/comp/lib/llvm.rs b/src/comp/lib/llvm.rs index 2f0abed3d27..bb7dd4f2621 100644 --- a/src/comp/lib/llvm.rs +++ b/src/comp/lib/llvm.rs @@ -1314,6 +1314,15 @@ obj builder(BuilderRef B, @mutable bool terminated) { ret v; } + fn CallWithConv(ValueRef Fn, &ValueRef[] Args, + uint Conv) -> ValueRef { + assert !(*terminated); + auto v = llvm::LLVMBuildCall(B, Fn, ivec::to_ptr(Args), + ivec::len(Args), str::buf("")); + llvm::LLVMSetInstructionCallConv(v, Conv); + ret v; + } + fn Select(ValueRef If, ValueRef Then, ValueRef Else) -> ValueRef { assert (!*terminated); ret llvm::LLVMBuildSelect(B, If, Then, Else, str::buf("")); |
