diff options
| author | Luqman Aden <me@luqman.ca> | 2014-07-25 16:06:44 -0700 |
|---|---|---|
| committer | Luqman Aden <me@luqman.ca> | 2014-07-25 16:06:44 -0700 |
| commit | 17256197a963561d02faff0634e11d7a079e7105 (patch) | |
| tree | 6ddbe2712f63a97da4d5c2174e76d4af689919d6 /src/rustllvm/RustWrapper.cpp | |
| parent | 74db69995a87424098ec78aeae0964b615ba43e6 (diff) | |
| download | rust-17256197a963561d02faff0634e11d7a079e7105.tar.gz rust-17256197a963561d02faff0634e11d7a079e7105.zip | |
librustc: Use builder for llvm attributes.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index e28a78b1ee7..bb4a1b6461a 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -113,6 +113,16 @@ extern "C" void LLVMAddCallSiteAttribute(LLVMValueRef Instr, unsigned index, uin index, B))); } +extern "C" void LLVMAddDereferenceableCallSiteAttr(LLVMValueRef Instr, unsigned idx, uint64_t b) { + CallSite Call = CallSite(unwrap<Instruction>(Instr)); + AttrBuilder B; + B.addDereferenceableAttr(b); + Call.setAttributes( + Call.getAttributes().addAttributes(Call->getContext(), idx, + AttributeSet::get(Call->getContext(), + idx, B))); +} + extern "C" void LLVMAddFunctionAttribute(LLVMValueRef Fn, unsigned index, uint64_t Val) { Function *A = unwrap<Function>(Fn); AttrBuilder B; @@ -120,6 +130,13 @@ extern "C" void LLVMAddFunctionAttribute(LLVMValueRef Fn, unsigned index, uint64 A->addAttributes(index, AttributeSet::get(A->getContext(), index, B)); } +extern "C" void LLVMAddDereferenceableAttr(LLVMValueRef Fn, unsigned index, uint64_t bytes) { + Function *A = unwrap<Function>(Fn); + AttrBuilder B; + B.addDereferenceableAttr(bytes); + A->addAttributes(index, AttributeSet::get(A->getContext(), index, B)); +} + extern "C" void LLVMAddFunctionAttrString(LLVMValueRef Fn, unsigned index, const char *Name) { Function *F = unwrap<Function>(Fn); AttrBuilder B; |
