diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-12-23 12:00:25 -0500 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-12-23 12:00:25 -0500 |
| commit | fe660462837231353b846bf398637ca84f67bfc9 (patch) | |
| tree | 37336cfcf44810d73d111a57207b843a01fd205f /src/zig_llvm.cpp | |
| parent | fe39ca01bcbee0077b21d5ddc2776df974e8c6d3 (diff) | |
| parent | 39c7bd24e4f768b23074b8634ac637b175b7639f (diff) | |
| download | zig-fe660462837231353b846bf398637ca84f67bfc9.tar.gz zig-fe660462837231353b846bf398637ca84f67bfc9.zip | |
Merge remote-tracking branch 'origin/master' into llvm6
Diffstat (limited to 'src/zig_llvm.cpp')
| -rw-r--r-- | src/zig_llvm.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/zig_llvm.cpp b/src/zig_llvm.cpp index 5623002197..bd3eadbee9 100644 --- a/src/zig_llvm.cpp +++ b/src/zig_llvm.cpp @@ -175,12 +175,19 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM LLVMValueRef ZigLLVMBuildCall(LLVMBuilderRef B, LLVMValueRef Fn, LLVMValueRef *Args, - unsigned NumArgs, unsigned CC, bool always_inline, const char *Name) + unsigned NumArgs, unsigned CC, ZigLLVM_FnInline fn_inline, const char *Name) { CallInst *call_inst = CallInst::Create(unwrap(Fn), makeArrayRef(unwrap(Args), NumArgs), Name); call_inst->setCallingConv(CC); - if (always_inline) { - call_inst->addAttribute(AttributeList::FunctionIndex, Attribute::AlwaysInline); + switch (fn_inline) { + case ZigLLVM_FnInlineAuto: + break; + case ZigLLVM_FnInlineAlways: + call_inst->addAttribute(AttributeList::FunctionIndex, Attribute::AlwaysInline); + break; + case ZigLLVM_FnInlineNever: + call_inst->addAttribute(AttributeList::FunctionIndex, Attribute::NoInline); + break; } return wrap(unwrap(B)->Insert(call_inst)); } |
