[PATCH] D26348: Allow convergent attribute for function arguments

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 17 06:51:58 PST 2016


hfinkel added inline comments.


================
Comment at: docs/LangRef.rst:1163
+
+    Two runs r1 and r2 of a program are compatible (wrt convergent function
+    attributes) if for every call site CS with a convergent argument, the
----------------
Please write out "with respect to." Also, you mean convergent function-parameter attributes, not function attributes.

The runs of the program terminology I find bothersome, in part because that's not what we're talking about. We're talking about the behavior of different threads within the same program. I think it would be better to say, "Two executions of the calling function, e1 and e2, are compatible..." Then we can say that transformations must preserve compatibility w.r.t. convergent function-parameter attributes for all potential executions of the calling function. We might even further specify that this is for potential simultaneous executions.

Finally, I'd really like it if you would include the example we've been discussing in the reference as a non-normative example. I did not really understand the definition until I read @nhaehnle's explanation above.


https://reviews.llvm.org/D26348





More information about the llvm-commits mailing list