================
@@ -1185,6 +1189,9 @@ Currently, only the following parameter attributes are 
defined:
     value should be sign-extended to the extent required by the target's
     ABI (which is usually 32-bits) by the caller (for a parameter) or
     the callee (for a return value).
+``noext`` This indicates to the code generator that the parameter or return
+    value has the high bits undefined, as for a struct in register, and
+    therefore does not need to be sign or zero extended.
----------------
efriedma-quic wrote:

It's not.

The issue is that it's easy to write LLVM code that accidentally skips ABI 
computations.  "noext" is an explicit marker indicating that the code 
generating the IR does understand the ABI, and decided no extension is 
necessary.  That lets the backend detect whether some transform skipped doing 
ABI computations.

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

Reply via email to