[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-vectors'. Changed from 0000000000000000000000000000000000000000 to 809c308f601577fe8c125ea39b5f6bf3d91f033c 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 809c308f601577fe8c125ea39b5f6bf3d91f033c by Adam Smith on 09/08/2026 at 17:05.. [CIR] Accept fixed-width vectors in x86_64 callconv lowering The CallConvLowering bridge rejects a vector in a parameter or return position, so a function taking one fails the pass. It also never reads the AVX level, which is what decides whether a vector wider than 128 bits reaches a register. A vector is accepted now where the classifier and clang size it the same way, which means a whole-byte element and a power-of-two width. Scalable vectors and the other widths stay rejected. The module's AVX level comes from the target ABI name, as CodeGenModule does. A classifier per level lets a target attribute raise it for one function. An ABI older than the rule pins every function back to the module's level. A direct call takes its callee's level, and an indirect call the level of the function containing it. CIRGen records target features on a definition but not on a declaration, so a declaration carrying the attribute is classified at the module's level until #214986 lands. Assisted-by: Cursor / claude-opus-5 https://invent.kde.org/qt/clang/llvm-project/-/commit/809c308f601577fe8c125ea39b5f6bf3d91f033c