[PATCH] D69498: IR: Invert convergent attribute handling

John McCall via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 28 08:50:22 PDT 2019


rjmccall added a comment.

This certainly seems like a more tractable representation, although I suppose it'd be a thorn in the side of (IR-level) outlining.

A note on spelling: the `no` prefix seems to be used largely with verbs; it's weird to use it here with an adjective, especially since `noncovergent` is just a letter away.



================
Comment at: clang/lib/CodeGen/CGObjCMac.cpp:4259
   call->setDoesNotThrow();
+  call->setNoConvergent();
   call->setCallingConv(CGF.getRuntimeCC());
----------------
I don't think GPU thread convergence is a concept that could ever really be applied to a program containing ObjC exceptions, so while this seems correct, it also seems pointless.


================
Comment at: clang/lib/CodeGen/CGStmt.cpp:1949
     Result.addAttribute(llvm::AttributeList::FunctionIndex,
-                        llvm::Attribute::Convergent);
+                        llvm::Attribute::NoConvergent);
   // Extract all of the register value results from the asm.
----------------
The comment here seems to no longer match the code.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69498/new/

https://reviews.llvm.org/D69498





More information about the llvm-commits mailing list