[clang] [llvm] target ABI: improve call parameters extensions handling (PR #100757)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 15 05:37:15 PDT 2024
================
@@ -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.
----------------
arsenm wrote:
> There doesn't exist an "IR ABI".
There absolutely is. A given IR signature has a backend interpretation. That is the IR ABI. It doesn't matter if this is documented or standardized in any way, it is what it is.
> My suggestion is to introduce ABI verification code
LLVM is not a clang / C backend
https://github.com/llvm/llvm-project/pull/100757
More information about the cfe-commits
mailing list