diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2013-10-20 23:13:48 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2013-10-28 15:34:50 -0400 |
| commit | 541e5f84d7ccbf02f8fdab6da0ff92f7ffbf0866 (patch) | |
| tree | 322f1b094fe96327906dc66349d069c3d31cf745 /src/rustllvm/RustWrapper.cpp | |
| parent | d664ca26357fad84b4bc48f903f4795d491ccfd1 (diff) | |
| download | rust-541e5f84d7ccbf02f8fdab6da0ff92f7ffbf0866.tar.gz rust-541e5f84d7ccbf02f8fdab6da0ff92f7ffbf0866.zip | |
add support for the `cold` function attribute
This allows a function to marked as infrequently called, resulting in any branch calling it to be considered colder.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index f8d56f4e892..0a148d334ab 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -365,6 +365,11 @@ extern "C" void LLVMRemoveReturnAttribute(LLVMValueRef Fn, LLVMAttribute PA) { AttributeSet::get(A->getContext(), AttributeSet::ReturnIndex, B)); } +extern "C" void LLVMAddColdAttribute(LLVMValueRef Fn) { + Function *A = unwrap<Function>(Fn); + A->addAttribute(AttributeSet::FunctionIndex, Attribute::Cold); +} + extern "C" LLVMValueRef LLVMBuildAtomicLoad(LLVMBuilderRef B, LLVMValueRef source, const char* Name, |
