Extend the preserve_most/all calling convention description in LangRef about the
authorJuergen Ributzka <juergen@apple.com>
Thu, 30 Jan 2014 02:39:00 +0000 (02:39 +0000)
committerJuergen Ributzka <juergen@apple.com>
Thu, 30 Jan 2014 02:39:00 +0000 (02:39 +0000)
fact that the argument registers will be preserved too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200441 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LangRef.rst

index 8bb834b45ed36aa8a2458801a5db0d653454b62e..d1eaee16a66a4e7c3cc00e6571992ffac2b47278 100644 (file)
@@ -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