[PATCH] D18092: Swift Calling Convention: add swifterror attribute

John McCall via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 1 13:19:11 PDT 2016


rjmccall added inline comments.

================
Comment at: docs/LangRef.rst:1077
@@ +1076,3 @@
+    specific register to replace loads and stores from a pointer to pointer
+    type.
+
----------------
I would say:

These constraints allow the calling convention to optimize access to swifterror
variables by associating them with a specific register at call boundaries rather than
placing them in memory.  Since this does change the calling convention, a function
which uses the swifterror attribute on a parameter is not ABI-compatible with one
which does not.

================
Comment at: docs/LangRef.rst:1082
@@ +1081,3 @@
+    that error objects do not alias with other objects, and two error objects
+    do not alias.
+
----------------
I would say:

These constraints also allow LLVM to assume that a swifterror argument
does not alias any other memory visible within a function and that a swifterror
alloca passed as an argument does not escape.


http://reviews.llvm.org/D18092





More information about the llvm-commits mailing list