================
@@ -5037,6 +5037,66 @@ def ArithmeticFence : LangBuiltin<"ALL_LANGUAGES"> {
   let Prototype = "void(...)";
 }
 
+class SNUWTemplate :
+  Template<["int",      "long int",  "long long int"],
+           ["_nuw",     "l_nuw",     "ll_nuw"]>;
----------------
macurtis-amd wrote:

The intent is to map directly to llvm IR in order to give library writers full 
control of the generated `add` instruction.

So IMO deviating from the IR terminology would only add confusion.

Similarly, I think making assumptions or restrictions about when `nuw` and 
`nsw` are applicable might frustrate users who, for whatever reason, just want 
clang to generate some specific `add` instruction.

https://github.com/llvm/llvm-project/pull/130354
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to