[all-commits] [llvm/llvm-project] ff033d: [TableGen] Use reference instead of pointer for Fi...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Sat Mar 8 08:52:37 PST 2025


  Branch: refs/heads/users/vitalybuka/spr/nfcyamlir-sort-cfifunction-outputting
  Home:   https://github.com/llvm/llvm-project
  Commit: ff033d1f28c6ea9ccced2a2c979395d3bef8aeec
      https://github.com/llvm/llvm-project/commit/ff033d1f28c6ea9ccced2a2c979395d3bef8aeec
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] Use reference instead of pointer for FilterChooser in Filter. NFC


  Commit: 942fb038910036965ffe56cc53fd882eddbc6cba
      https://github.com/llvm/llvm-project/commit/942fb038910036965ffe56cc53fd882eddbc6cba
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR][LLVMIR] Translation: honor target-features fn attribute (#130343)


  Commit: 7602d781b03427052c44537fa4b9c2a6da15697c
      https://github.com/llvm/llvm-project/commit/7602d781b03427052c44537fa4b9c2a6da15697c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M clang/test/Driver/hip-partial-link.hip

  Log Message:
  -----------
  clang/HIP: Use regex for final path separator in hip-partial-link, again (#130371)


  Commit: d08cf7900d2aaff9e7483ea74a58871edbdc45f2
      https://github.com/llvm/llvm-project/commit/d08cf7900d2aaff9e7483ea74a58871edbdc45f2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/builtin-constant-p.cpp
    M clang/test/CodeGen/builtin-constant-p.c
    M clang/test/CodeGenCXX/builtin-constant-p.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_constant_p (#130143)

Use the regular code paths for interpreting.

Add new instructions: `StartSpeculation` will reset the diagnostics
pointers to `nullptr`, which will keep us from reporting any diagnostics
during speculation. `EndSpeculation` will undo this.

The rest depends on what `Emitter` we use.

For `EvalEmitter`, we have no bytecode, so we implement `speculate()` by
simply visiting the first argument of `__builtin_constant_p`. If the
evaluation fails, we push a `0` on the stack, otherwise a `1`.

For `ByteCodeEmitter`, add another instrucion called `BCP`, that
interprets all the instructions following it until the next
`EndSpeculation` instruction. If any of those instructions fails, we
jump to the `EndLabel`, which brings us right before the
`EndSpeculation`. We then push the result on the stack.


  Commit: 6f7570c200aa1ee9af9d1eb7a378d56264ee297e
      https://github.com/llvm/llvm-project/commit/6f7570c200aa1ee9af9d1eb7a378d56264ee297e
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-macro.hpp

  Log Message:
  -----------
  [clang-tidy][misc-use-internal-linkage] fix false positives for function or variable in header file which contains macro expansion (#129594)

When check whether in main file, spelling loc will lead to `<scratch
space>`. instead, expansion loc is close to loc after preprocess. It is
suitable to analyze linkage.


  Commit: f5789824900d61a8fbabe17c4449ff2e31d24ad4
      https://github.com/llvm/llvm-project/commit/f5789824900d61a8fbabe17c4449ff2e31d24ad4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] Remove unnecessary const_cast. NFC


  Commit: 61efe360f9ba70736ca27ad289277c5c8268ffc0
      https://github.com/llvm/llvm-project/commit/61efe360f9ba70736ca27ad289277c5c8268ffc0
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp

  Log Message:
  -----------
  [lldb] Avoid unnecessary regex check in dwim-print (#114608)

An (unmeasured) improvement to performance of `dwim-print` when used as `po`.

This change lifts the check for `note_shown` to the top of the lambda, to avoid all subsequent work when the hint has already been shown. The main effect is to avoid performing a regex match when the hint is not going to be shown.

This change also constructs the `std::regex` only once, by making it static.


  Commit: 8370ac88af288f5afa1028267a85a3456a38e810
      https://github.com/llvm/llvm-project/commit/8370ac88af288f5afa1028267a85a3456a38e810
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] Remove push_back from loop. NFC

We can initialize the vector to the right size and then assign
over some entries in the loop.


  Commit: d65719fab3a624022f1fdd647c11f0a1553f6d46
      https://github.com/llvm/llvm-project/commit/d65719fab3a624022f1fdd647c11f0a1553f6d46
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] Use isUInt to simplify some asserts. NFC


  Commit: f2607df291b4a9e6b1a72b3ee0d4e87066421db3
      https://github.com/llvm/llvm-project/commit/f2607df291b4a9e6b1a72b3ee0d4e87066421db3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] Use uint8_t for bit_value_t enum. NFC

This reduces the amount of space needed for vectors of bit_value_t
and allows the user of memset.

Also reorder the enum values so BIT_FALSE is 0 and BIT_TRUE is 1.


  Commit: de1d351c64cb8f061d734e5d74de494b12ed2352
      https://github.com/llvm/llvm-project/commit/de1d351c64cb8f061d734e5d74de494b12ed2352
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
    M mlir/test/Dialect/Affine/loop-fusion-2.mlir
    M mlir/test/Dialect/Affine/loop-fusion-4.mlir

  Log Message:
  -----------
  [MLIR][Affine] Fix fusion private memref creation for multiple producer stores (#130365)

Fix private memref creation in affine fusion for the multiple producer
store
case. This scenario was not supported but not properly checked.

Fixes: https://github.com/llvm/llvm-project/issues/120227


  Commit: d4d4fc3df1e72b5a451a65af33eb3cd231aeb224
      https://github.com/llvm/llvm-project/commit/d4d4fc3df1e72b5a451a65af33eb3cd231aeb224
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
    M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
    M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/test/Dialect/Affine/scalrep.mlir

  Log Message:
  -----------
  [MLIR][Affine] Fix scalrep and underlying analysis utility (#130251)

Fixes: https://github.com/llvm/llvm-project/issues/53034

Properly check the scopes of affine operations across which we are
performing affine analysis. Fixes transforms and analyses in the
presence of non-affine regions.


  Commit: e85e44ca9cca70990a0b6a96a11014f2ac56aca5
      https://github.com/llvm/llvm-project/commit/e85e44ca9cca70990a0b6a96a11014f2ac56aca5
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/test/Dialect/Affine/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][Affine] Fix crash in affine.for empty loop folder (#130372)

A yield value can be the loop IV itself.

Fixes: https://github.com/llvm/llvm-project/issues/74301


  Commit: 474238bbfa194ef8f46ee8b3e8d91258885ceb63
      https://github.com/llvm/llvm-project/commit/474238bbfa194ef8f46ee8b3e8d91258885ceb63
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/RegisterBankInfo.cpp

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#130388)


  Commit: 9f83914880ad786196fb0a9658ef2c467fb23074
      https://github.com/llvm/llvm-project/commit/9f83914880ad786196fb0a9658ef2c467fb23074
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalDCE.cpp

  Log Message:
  -----------
  [IPO] Avoid repeated hash lookups (NFC) (#130389)


  Commit: eef0ddaeb8e13d975ffbc97b1733a0cf19e0b572
      https://github.com/llvm/llvm-project/commit/eef0ddaeb8e13d975ffbc97b1733a0cf19e0b572
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp

  Log Message:
  -----------
  [PowerPC] Avoid repeated hash lookups (NFC) (#130390)


  Commit: 3e0c503e3e259ce63b08e5d780a82fe7385dfbc8
      https://github.com/llvm/llvm-project/commit/3e0c503e3e259ce63b08e5d780a82fe7385dfbc8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp

  Log Message:
  -----------
  [SPIRV] Avoid repeated hash lookups (NFC) (#130391)


  Commit: 49cf69a46b0527eaa7ac2eb1f4be898dd99727ba
      https://github.com/llvm/llvm-project/commit/49cf69a46b0527eaa7ac2eb1f4be898dd99727ba
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp

  Log Message:
  -----------
  [SystemZ] Avoid repeated hash lookups (NFC) (#130392)


  Commit: 0cffcd3932c5ff6a681026b9d2c482b28be85eba
      https://github.com/llvm/llvm-project/commit/0cffcd3932c5ff6a681026b9d2c482b28be85eba
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86PreTileConfig.cpp

  Log Message:
  -----------
  [X86] Avoid repeated hash lookups (NFC) (#130393)


  Commit: 318bd451583ea695cc74a22f37351399e42aeb99
      https://github.com/llvm/llvm-project/commit/318bd451583ea695cc74a22f37351399e42aeb99
  Author: Jannick Kremer <jannick.kremer at mailbox.org>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M .github/workflows/libclang-python-tests.yml

  Log Message:
  -----------
  [libclang/python] Update maximum Python version for CI to 3.13 (#130385)


  Commit: f3390fca034d2762f87ac8057078d6e9661305ce
      https://github.com/llvm/llvm-project/commit/f3390fca034d2762f87ac8057078d6e9661305ce
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/EquivalenceClasses.h
    M llvm/unittests/ADT/EquivalenceClassesTest.cpp

  Log Message:
  -----------
  [EquivClasses] Fix signature of copy-assignment operator (#130140)

The current signature is unusual, and deviates from the C++ operator
overloading spec.

https://en.cppreference.com/w/cpp/language/copy_assignment


  Commit: 73e14de207a3aa0fa071fa56756e8e316edf5227
      https://github.com/llvm/llvm-project/commit/73e14de207a3aa0fa071fa56756e8e316edf5227
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/matrix-multiply.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - recursively call combineConcatVectorOps instead of predicting when ops will freely concat (#130275)

The IsConcatFree helper is limited to estimates on where concatenating the subvector operands is beneficial, this patch replaces FADD/FSUB/FMUL concatenation checks with a recursive call to combineConcatVectorOps to see if it will profitably concatenate further up the chain.

Other opcodes can be moved to using the CombineSubOperand helper in future patches.


  Commit: 3b8f9a228c5f12f282778b18117b9a88c07e87cb
      https://github.com/llvm/llvm-project/commit/3b8f9a228c5f12f282778b18117b9a88c07e87cb
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Loosen assertion This() for array elements (#130399)

getRecord() returns null on array elements, even for composite arrays.
The assertion here was overly restrictive and having an array element as
instance pointer should be fine otherwise.


  Commit: 6d9dfd75e4df9fdff9ea34f1c0bd741bf5b53b89
      https://github.com/llvm/llvm-project/commit/6d9dfd75e4df9fdff9ea34f1c0bd741bf5b53b89
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__type_traits/reference_constructs_from_temporary.h
    A libcxx/include/__type_traits/reference_converts_from_temporary.h
    M libcxx/include/module.modulemap
    M libcxx/include/type_traits
    M libcxx/modules/std/type_traits.inc
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/common.h
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
    A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_constructs_from_temporary.pass.cpp
    A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp

  Log Message:
  -----------
  [libc++][type_traits] Implements "A type trait to detect reference binding to temporary" (#128649)

Implements partially: [P2255R2: A type trait to detect reference binding
to temporary](https://wg21.link/P2255R2)
Issue: https://github.com/llvm/llvm-project/issues/105180

https://eel.is/c++draft/meta.type.synop
https://eel.is/c++draft/meta.unary.prop

Implented type traits:
- [x] `reference_constructs_from_temporary`
- [x] `reference_converts_from_temporary`

Closes #129049

Minor drive-by tweak to `std::is_implicit_lifetime` tests.

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: e86c5a7b9dbff5383cf9c81aa9eff38a92ce73aa
      https://github.com/llvm/llvm-project/commit/e86c5a7b9dbff5383cf9c81aa9eff38a92ce73aa
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 6d9dfd75e4df


  Commit: a779af3f882e1500ee6b9cb973e60c10ea0819b4
      https://github.com/llvm/llvm-project/commit/a779af3f882e1500ee6b9cb973e60c10ea0819b4
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill-xfail.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
    M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
    M llvm/test/CodeGen/AMDGPU/csr-sgpr-spill-live-ins.mir
    M llvm/test/CodeGen/AMDGPU/ds_read2.ll
    M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
    M llvm/test/CodeGen/AMDGPU/gfx-call-non-gfx-func.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
    M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/issue48473.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-used-for-exec-copy.mir
    M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
    M llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
    M llvm/test/CodeGen/AMDGPU/stack-realign.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/unallocatable-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
    M llvm/test/CodeGen/AMDGPU/use_restore_frame_reg.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-large-tuple-alloc-error.ll
    M llvm/test/CodeGen/MIR/AMDGPU/spill-phys-vgprs.mir

  Log Message:
  -----------
  [AMDGPU] Change SGPR layout to striped caller/callee saved (#127353)

This PR updates the SGPR layout to a striped caller/callee-saved design,
similar
to the VGPR layout.

To ensure that s30-s31 (return address), s32 (stack pointer), s33 (frame
pointer), and s34 (base pointer) remain callee-saved, the striped layout
starts
from s40, with a stripe width of 8. The last stripe is 10 wide instead
of 8 to
avoid ending with a 2-wide stripe.

Fixes #113782.


  Commit: b01c71bbd4f7f7565313c38ac7a3b7377eada798
      https://github.com/llvm/llvm-project/commit/b01c71bbd4f7f7565313c38ac7a3b7377eada798
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/test/Dialect/Affine/loop-unswitch.mlir

  Log Message:
  -----------
  [MLIR][Affine] Fix crash in loop unswitching/hoistAffineIfOp (#130401)

Fix obvious crash as a result of missing affine.parallel handling. Also,
fix bug exposed in a helper method used by hoistAffineIfOp.

Fixes: https://github.com/llvm/llvm-project/issues/62323


  Commit: 46d218d1af5d285a646a1e5d3be6a43940fb4a9d
      https://github.com/llvm/llvm-project/commit/46d218d1af5d285a646a1e5d3be6a43940fb4a9d
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_{memchr,strchr,char_memchr} (#130420)

llvm has recently started to use `__builitn_memchr` at compile time, so
implement this. Still needs some work but the basics are done.


  Commit: 037756242f6eb3cdd6e73ab6597651f87aa7b933
      https://github.com/llvm/llvm-project/commit/037756242f6eb3cdd6e73ab6597651f87aa7b933
  Author: Prakhar Dixit <dixitprakhar11 at gmail.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
    M mlir/test/Dialect/Vector/vector-unroll-options.mlir

  Log Message:
  -----------
  [mlir]Add a check to ensure bailing out when reducing to a scalar (#129694)

Fixes issue #64075
Referencing this comment for more detailed view ->
https://github.com/llvm/llvm-project/issues/64075#issuecomment-2694112594

**Minimal example crashing :** 
```
func.func @multi_reduction(%0: vector<4x2xf32>, %acc1: f32) -> f32 {
  %2 = vector.multi_reduction <add>, %0, %acc1 [0, 1] : vector<4x2xf32> to f32
  return %2 : f32
}
```


  Commit: a80d6f53705c7ab7e573e3142026909c5f5258d3
      https://github.com/llvm/llvm-project/commit/a80d6f53705c7ab7e573e3142026909c5f5258d3
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M .github/workflows/libclang-python-tests.yml
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-macro.hpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/builtin-constant-p.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/placement-new.cpp
    M clang/test/CodeGen/builtin-constant-p.c
    M clang/test/CodeGenCXX/builtin-constant-p.cpp
    M clang/test/Driver/hip-partial-link.hip
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__type_traits/reference_constructs_from_temporary.h
    A libcxx/include/__type_traits/reference_converts_from_temporary.h
    M libcxx/include/module.modulemap
    M libcxx/include/type_traits
    M libcxx/modules/std/type_traits.inc
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/common.h
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
    A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_constructs_from_temporary.pass.cpp
    A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M llvm/include/llvm/ADT/EquivalenceClasses.h
    M llvm/lib/CodeGen/RegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
    M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86PreTileConfig.cpp
    M llvm/lib/Transforms/IPO/GlobalDCE.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill-xfail.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
    M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
    M llvm/test/CodeGen/AMDGPU/csr-sgpr-spill-live-ins.mir
    M llvm/test/CodeGen/AMDGPU/ds_read2.ll
    M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
    M llvm/test/CodeGen/AMDGPU/gfx-call-non-gfx-func.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
    M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/issue48473.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-used-for-exec-copy.mir
    M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
    M llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
    M llvm/test/CodeGen/AMDGPU/stack-realign.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/unallocatable-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
    M llvm/test/CodeGen/AMDGPU/use_restore_frame_reg.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-large-tuple-alloc-error.ll
    M llvm/test/CodeGen/MIR/AMDGPU/spill-phys-vgprs.mir
    M llvm/test/CodeGen/X86/matrix-multiply.ll
    M llvm/unittests/ADT/EquivalenceClassesTest.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
    M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
    M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/Affine/canonicalize.mlir
    M mlir/test/Dialect/Affine/loop-fusion-2.mlir
    M mlir/test/Dialect/Affine/loop-fusion-4.mlir
    M mlir/test/Dialect/Affine/loop-unswitch.mlir
    M mlir/test/Dialect/Affine/scalrep.mlir
    M mlir/test/Dialect/Vector/vector-unroll-options.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  rebase

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/046f0a9ec7d7...a80d6f53705c

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