[all-commits] [llvm/llvm-project] b355ea: [CIR] Accept a union whose members do not cover it...
Adam Smith via All-commits
all-commits at lists.llvm.org
Mon Sep 14 20:39:44 PDT 2026
Branch: refs/heads/users/adams381/cir-callconv-union-tail-padding
Home: https://github.com/llvm/llvm-project
Commit: b355ea4e66a6a304c9bf028aada340f1751aeb4b
https://github.com/llvm/llvm-project/commit/b355ea4e66a6a304c9bf028aada340f1751aeb4b
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-14 (Mon, 14 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval.cpp
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-tail-padding.c
M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
Log Message:
-----------
[CIR] Accept a union whose members do not cover its declared size
Past two eightbytes the x86_64 classifier never reads a union's members
to pick a coerce type. It either classifies the record as memory, which
needs no coerce type at all, or it classifies SSE followed by SSEUP, and
then the coerce type is a vector as wide as the whole record.
Assisted-by: Cursor / claude-opus-5
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list