[qt/clang/llvm-project]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/clang/llvm-project
Pushed by mirror-service into branch 'upstream/users/adams381/cir-callconv-x86_64-leaf-floats'.
Changed from 0000000000000000000000000000000000000000 to 1932bd2c2faf725f6e0d5905855d25a0063383a9
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 1932bd2c2faf725f6e0d5905855d25a0063383a9 by Adam Smith on 08/08/2026 at 21:36..
[CIR] Accept _Complex and all float formats in x86_64 callconv lowering

The CallConvLowering bridge accepted only float and double, so a function taking
a _Complex, or a float in any other format, failed the pass instead of being
classified.  An all-float aggregate failed for a different reason: its SSE
eightbyte coerces to a vector, and the bridge had no way to represent one, so it
reported the coercion NYI rather than emitting a wrong signature.

Mapping every CIR floating-point type through FPTypeInterface covers all of them
at once.  A _Complex maps to the library's complex type and a vector coercion
now converts back to a CIR vector.

Accepting a long double also makes a union holding one classifiable.  That
exposes the ABI-compatibility flags, which the pass left at the library
defaults.  They now come from the triple and the compatibility version, which is
what lets a long double union reach registers on Darwin instead of memory.

updateArgAttrs appended argument attributes instead of setting them, so a name
already present landed in the dictionary twice.  CIRGen marks a _Complex long
double parameter llvm.noundef, and the ABI then passes it byval, which wants
llvm.noundef too.

An integer coercion lost its bit-precise flag coming back from the classifier.
A struct holding a _BitInt(128) then took __int128's 16-byte alignment for its
coerce slot instead of 8.

Assisted-by: Cursor / claude-opus-5
https://invent.kde.org/qt/clang/llvm-project/-/commit/1932bd2c2faf725f6e0d5905855d25a0063383a9
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.