[clang] [CIR] Handle an empty C++ class in x86_64 callconv lowering (PR #214742)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 7 07:32:04 PDT 2026


================
@@ -143,6 +143,10 @@ def CIR_RecordLayoutAttr : CIR_Attr<"RecordLayout", "record_layout", [
     - `record_align_in_bytes`: from `ASTRecordLayout::getAlignment()`.
       Needed because CIR's DataLayout cannot account for
       `__attribute__((aligned(N)))`.
+    - `is_empty`: whether the record carries no data for argument passing
----------------
erichkeane wrote:

Design wise, should we be doing this as calculation? It would seem to me that this is a calculatable condition of "are all fields padding".

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


More information about the cfe-commits mailing list