diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2013-09-09 02:32:30 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2013-09-09 13:48:54 -0400 |
| commit | 889e1b9731615a6b03b0e46662edb70c6ca7e7ad (patch) | |
| tree | efa68942d244886127abd459e6efa43a23757a05 /src/rustllvm/RustWrapper.cpp | |
| parent | dd5c7379e9b8f3fe6df95f3ff43ca955b6bba485 (diff) | |
| download | rust-889e1b9731615a6b03b0e46662edb70c6ca7e7ad.tar.gz rust-889e1b9731615a6b03b0e46662edb70c6ca7e7ad.zip | |
add `noalias` attribute to ~ return values
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 376adf24e25..226a7c34304 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -350,6 +350,21 @@ extern "C" void LLVMAddFunctionAttrString(LLVMValueRef fn, const char *Name) { unwrap<Function>(fn)->addFnAttr(Name); } + +extern "C" void LLVMAddReturnAttribute(LLVMValueRef Fn, LLVMAttribute PA) { + Function *A = unwrap<Function>(Fn); + AttrBuilder B(PA); + A->addAttributes(AttributeSet::ReturnIndex, + AttributeSet::get(A->getContext(), AttributeSet::ReturnIndex, B)); +} + +extern "C" void LLVMRemoveReturnAttribute(LLVMValueRef Fn, LLVMAttribute PA) { + Function *A = unwrap<Function>(Fn); + AttrBuilder B(PA); + A->removeAttributes(AttributeSet::ReturnIndex, + AttributeSet::get(A->getContext(), AttributeSet::ReturnIndex, B)); +} + extern "C" LLVMValueRef LLVMBuildAtomicLoad(LLVMBuilderRef B, LLVMValueRef source, const char* Name, |
