summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2014-01-30 02:39:00 +0000
committerJuergen Ributzka <juergen@apple.com>2014-01-30 02:39:00 +0000
commit6bf3966f7fd92217360877d1c04ea8ffe47c11cc (patch)
treed9435262cdcce73f7de6c89bc20aa5f72127aca2 /docs
parentab42578bdd00f1738a1a9ff41481faf9673110ce (diff)
downloadllvm-6bf3966f7fd92217360877d1c04ea8ffe47c11cc.tar.gz
llvm-6bf3966f7fd92217360877d1c04ea8ffe47c11cc.tar.bz2
llvm-6bf3966f7fd92217360877d1c04ea8ffe47c11cc.tar.xz
Extend the preserve_most/all calling convention description in LangRef about the
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
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.rst9
1 files changed, 7 insertions, 2 deletions
diff --git a/docs/LangRef.rst b/docs/LangRef.rst
index 8bb834b45e..d1eaee16a6 100644
--- a/docs/LangRef.rst
+++ b/docs/LangRef.rst
@@ -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