From 541e5f84d7ccbf02f8fdab6da0ff92f7ffbf0866 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Sun, 20 Oct 2013 23:13:48 -0400 Subject: 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. --- src/rustllvm/RustWrapper.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/rustllvm/RustWrapper.cpp') 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(Fn); + A->addAttribute(AttributeSet::FunctionIndex, Attribute::Cold); +} + extern "C" LLVMValueRef LLVMBuildAtomicLoad(LLVMBuilderRef B, LLVMValueRef source, const char* Name, -- cgit 1.4.1-3-g733a5