summaryrefslogtreecommitdiffstats
path: root/test/Feature/paramattrs.ll
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-06-15 20:36:13 +0000
committerJohn McCall <rjmccall@apple.com>2011-06-15 20:36:13 +0000
commit3a3465b71db858723988f61d72b7135e6dff329b (patch)
tree591e6ae22b2beba1e9466c96cc891664e0904d3c /test/Feature/paramattrs.ll
parente97c7da59d65bbbd5e0d67b3ef9d742794437e2f (diff)
downloadexternal_llvm-3a3465b71db858723988f61d72b7135e6dff329b.zip
external_llvm-3a3465b71db858723988f61d72b7135e6dff329b.tar.gz
external_llvm-3a3465b71db858723988f61d72b7135e6dff329b.tar.bz2
Add a new function attribute, nonlazybind, which inhibits lazy-loading
optimizations when emitting calls to the function; instead those calls may use faster relocations which require the function to be immediately resolved upon loading the dynamic object featuring the call. This is useful when it is known that the function will be called frequently and pervasively and therefore there is no merit in delaying binding of the function. Currently only implemented for x86-64, where it turns into a call through the global offset table. Patch by Dan Gohman, who assures me that he's going to add LangRef documentation for this once it's committed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133080 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Feature/paramattrs.ll')
-rw-r--r--test/Feature/paramattrs.ll2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/Feature/paramattrs.ll b/test/Feature/paramattrs.ll
index 3bee617..d686257 100644
--- a/test/Feature/paramattrs.ll
+++ b/test/Feature/paramattrs.ll
@@ -20,3 +20,5 @@ define i32 @main(i32 inreg %argc, i8 ** inreg %argv) nounwind {
%retVal = sext i16 %two to i32
ret i32 %retVal
}
+
+declare void @function_to_resolve_eagerly() nonlazybind