summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2014-01-17 22:24:35 +0000
committerJuergen Ributzka <juergen@apple.com>2014-01-17 22:24:35 +0000
commitdbee8c1a3fb5ff1cddb61affb7df192ec91f9da3 (patch)
treea1fdea3b704e725771bdd427ef0b4f9a76f5626b /docs
parent64382602e4a4829f19174d222b3f0409ff87ddbc (diff)
downloadllvm-dbee8c1a3fb5ff1cddb61affb7df192ec91f9da3.tar.gz
llvm-dbee8c1a3fb5ff1cddb61affb7df192ec91f9da3.tar.bz2
llvm-dbee8c1a3fb5ff1cddb61affb7df192ec91f9da3.tar.xz
Update LangRef to emphasize the difference between "coldcc" and "preserve_mostcc".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199521 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.rst11
1 files changed, 9 insertions, 2 deletions
diff --git a/docs/LangRef.rst b/docs/LangRef.rst
index 39948f4b08..a767700636 100644
--- a/docs/LangRef.rst
+++ b/docs/LangRef.rst
@@ -312,7 +312,8 @@ added in the future:
so that the call does not break any live ranges in the caller side.
This calling convention does not support varargs and requires the
prototype of all callees to exactly match the prototype of the
- function definition.
+ function definition. Furthermore the inliner doesn't consider such function
+ calls for inlining.
"``cc 10``" - GHC convention
This calling convention has been implemented specifically for use by
the `Glasgow Haskell Compiler (GHC) <http://www.haskell.org/ghc>`_.
@@ -375,7 +376,13 @@ added in the future:
that have a hot path and a cold path. The hot path is usually a small piece
of code that doesn't many registers. The cold path might need to call out to
another function and therefore only needs to preserve the caller-saved
- registers, which haven't already been saved by the caller.
+ registers, which haven't already been saved by the caller. The
+ `PreserveMost` calling convention is very similar to the `cold` calling
+ convention in terms of caller/callee-saved registers, but they are used for
+ different types of function calls. `coldcc` is for function calls that are
+ rarely executed, whereas `preserve_mostcc` function calls are intended to be
+ on the hot path and definitely executed a lot. Furthermore `preserve_mostcc`
+ doesn't prevent the inliner from inlining the function call.
This calling convention will be used by a future version of the ObjectiveC
runtime and should therefore still be considered experimental at this time.