[clang] [CIR] Fix two x86_64 signatures that lowered silently wrong (PR #214983)

Adam Smith via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 10 19:17:20 PDT 2026


================
@@ -421,6 +440,17 @@ static std::optional<FunctionClassification> classifyX86_64Signature(
                 << t;
   };
 
+  // An Ignore the ABI does not mean, where rewriting the signature would pass
----------------
adams381 wrote:

That comment was too terse and left the reader to infer the meaning from the `ignoreLosesData` doc comment further up the file.

The condition it guards is that the classifier can answer Ignore for a value that still carries data.  Ignore is the right answer for a void type or an aggregate holding no data, and dropping one of those from the signature is correct.  For anything else, rewriting on that answer would leave nothing in the value's place, so the pass reports it as NYI instead.  Reworded to say that directly.

https://github.com/llvm/llvm-project/pull/214983


More information about the cfe-commits mailing list