[llvm] r200441 - Extend the preserve_most/all calling convention description in LangRef about the
Juergen Ributzka
juergen at apple.com
Wed Jan 29 18:39:01 PST 2014
Author: ributzka
Date: Wed Jan 29 20:39:00 2014
New Revision: 200441
URL: http://llvm.org/viewvc/llvm-project?rev=200441&view=rev
Log:
Extend the preserve_most/all calling convention description in LangRef about the
fact that the argument registers will be preserved too.
Modified:
llvm/trunk/docs/LangRef.rst
Modified: llvm/trunk/docs/LangRef.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/LangRef.rst?rev=200441&r1=200440&r2=200441&view=diff
==============================================================================
--- llvm/trunk/docs/LangRef.rst (original)
+++ llvm/trunk/docs/LangRef.rst Wed Jan 29 20:39:00 2014
@@ -366,7 +366,9 @@ added in the future:
calling convention on how arguments and return values are passed, but it
uses a different set of caller/callee-saved registers. This alleviates the
burden of saving and recovering a large register set before and after the
- call in the caller.
+ call in the caller. If the arguments are passed in callee-saved registers,
+ then they will be preserved by the callee across the call. This doesn't
+ apply for values returned in callee-saved registers.
- On X86-64 the callee preserves all general purpose registers, except for
R11. R11 can be used as a scratch register. Floating-point registers
@@ -397,7 +399,10 @@ added in the future:
convention also behaves identical to the `C` calling convention on how
arguments and return values are passed, but it uses a different set of
caller/callee-saved registers. This removes the burden of saving and
- recovering a large register set before and after the call in the caller.
+ recovering a large register set before and after the call in the caller. If
+ the arguments are passed in callee-saved registers, then they will be
+ preserved by the callee across the call. This doesn't apply for values
+ returned in callee-saved registers.
- On X86-64 the callee preserves all general purpose registers, except for
R11. R11 can be used as a scratch register. Furthermore it also preserves
More information about the llvm-commits
mailing list