aboutsummaryrefslogtreecommitdiff
path: root/src/comp/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/comp/lib')
-rw-r--r--src/comp/lib/llvm.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/comp/lib/llvm.rs b/src/comp/lib/llvm.rs
index 0cd177a4..da48c6b5 100644
--- a/src/comp/lib/llvm.rs
+++ b/src/comp/lib/llvm.rs
@@ -1026,6 +1026,15 @@ obj builder(BuilderRef B) {
_str.buf(""));
}
+ fn FastCall(ValueRef Fn, vec[ValueRef] Args) -> ValueRef {
+ auto v = llvm.LLVMBuildCall(B, Fn,
+ _vec.buf[ValueRef](Args),
+ _vec.len[ValueRef](Args),
+ _str.buf(""));
+ llvm.LLVMSetInstructionCallConv(v, LLVMFastCallConv);
+ ret v;
+ }
+
fn Select(ValueRef If, ValueRef Then, ValueRef Else) -> ValueRef {
ret llvm.LLVMBuildSelect(B, If, Then, Else, _str.buf(""));
}