[all-commits] [llvm/llvm-project] b81d5e: [InstCombine] Fold shuffles through all trivially ...

Charitha Saumya via All-commits all-commits at lists.llvm.org
Fri Jun 13 11:02:09 PDT 2025


  Branch: refs/heads/revert-141853-scf_for_bug
  Home:   https://github.com/llvm/llvm-project
  Commit: b81d5e06c7cba8c9f1f5380daed4b9ee139214ba
      https://github.com/llvm/llvm-project/commit/b81d5e06c7cba8c9f1f5380daed4b9ee139214ba
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/abs-1.ll
    M llvm/test/Transforms/InstCombine/fma.ll
    M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
    M llvm/test/Transforms/InstCombine/powi.ll
    M llvm/test/Transforms/InstCombine/scmp.ll
    M llvm/test/Transforms/InstCombine/sqrt.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll

  Log Message:
  -----------
  [InstCombine] Fold shuffles through all trivially vectorizable intrinsics (#141979)

This addresses a TODO in foldShuffledIntrinsicOperands to use
isTriviallyVectorizable instead of a hardcoded list of intrinsics, which
in turn allows more intriniscs to be scalarized by VectorCombine.

>From what I can tell every intrinsic here should be speculatable so an
assertion was added.

Because this enables intrinsics like abs which have a scalar operand, we
need to also check isVectorIntrinsicWithScalarOpAtArg.


  Commit: c609112a5383c10272e3afceedd4d03f26437cf0
      https://github.com/llvm/llvm-project/commit/c609112a5383c10272e3afceedd4d03f26437cf0
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/fdopen_test.cpp
    M libc/test/src/stdio/fgetc_test.cpp
    M libc/test/src/stdio/fgetc_unlocked_test.cpp
    M libc/test/src/stdio/fgets_test.cpp
    M libc/test/src/stdio/fileop_test.cpp
    M libc/test/src/stdio/fopencookie_test.cpp
    M libc/test/src/stdio/remove_test.cpp
    M libc/test/src/stdio/rename_test.cpp
    M libc/test/src/stdio/setvbuf_test.cpp
    M libc/test/src/stdio/unlocked_fileop_test.cpp
    M libc/test/src/stdlib/StrtolTest.h
    M libc/test/src/stdlib/strtold_test.cpp

  Log Message:
  -----------
  Fix/reapply "[libc] Migrate stdio tests to ErrnoCheckingTest." (#143972)

This reverts commit a93e55e57ed00a55f822c64e3520c7c732b58480 and fixes
build and test failures:

* Proper include added to setvbuf_test.cpp
* fgetc/fgetc_unlocked/fgets tests are ported to ErrnoSetterMatcher and
are made more precise. This fixes inconsistencies between expectations
in regular and GPU builds - ErrnoSetterMatcher is configured to omit
errno matching on GPUs, as fgetc implementation on GPU doesn't set
errno, in contrast to Linux.


  Commit: 493c1612d6f8f7a40d0bf0ba28fb753be83fac1c
      https://github.com/llvm/llvm-project/commit/493c1612d6f8f7a40d0bf0ba28fb753be83fac1c
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll

  Log Message:
  -----------
  [SPIRV] Fix ExecutionMode_fragment.ll test (#144116)

Fix test broken by https://github.com/llvm/llvm-project/pull/143412.


  Commit: fd432151a607a997c417f32cb70650fc7728629a
      https://github.com/llvm/llvm-project/commit/fd432151a607a997c417f32cb70650fc7728629a
  Author: William Huynh <113542065+saturn691 at users.noreply.github.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M libc/include/math.yaml
    M libc/include/wchar.yaml
    M libc/test/src/stdio/printf_core/converter_test.cpp

  Log Message:
  -----------
  [libc] Fix bugs found when testing with all headers (#144049)

Fixes a couple of bugs found when building. The PR to enable the headers
can be found here: #144114.

- math.yaml: float128 guard
- wchar.yaml: __restrict keyword order


  Commit: 9a3082276d21873a37925d0c6ad89bd28d065cea
      https://github.com/llvm/llvm-project/commit/9a3082276d21873a37925d0c6ad89bd28d065cea
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M clang/test/CIR/CodeGen/forrange.cpp

  Log Message:
  -----------
  [CIR][NFC] Fix forrange.cpp test (#144123)

A recent change has cause the begin and end iterators in the
forrange.cpp CIR codegen test to be marked as 'init' causing the test to
fail. This change fixes the checks in the test.


  Commit: 62eea86424c4eacd38ad8a03f4bdae78687e3ade
      https://github.com/llvm/llvm-project/commit/62eea86424c4eacd38ad8a03f4bdae78687e3ade
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/test/CIR/CodeGen/array.cpp

  Log Message:
  -----------
  [CIR] Update isSized with upstreamed types (#143960)

Update `isSized` function with the upstreamed types


  Commit: ec330cf6701793525da9eb471e7ff796938ab54a
      https://github.com/llvm/llvm-project/commit/ec330cf6701793525da9eb471e7ff796938ab54a
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
    M utils/bazel/llvm_configs/llvm-config.h.cmake

  Log Message:
  -----------
  [bazel] Update llvm-config.h and disable DebugLoc tracking (#144125)

In c588224ca797886064a7a79f6c0114a6963c325e, @chapuni set
LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING to 1, but from what I can tell,
this is not the default setting for CMake builds. I think the intention
was mostly just to update llvm-config.h to fix the Bazel build.

I'm adding LLVM_ENABLE_DEBUGLOC_ORIGIN_TRACKING as well to fix the build
for the same purpose.


  Commit: 51689c9df2fbb81aab1ff802f3efb86cac926853
      https://github.com/llvm/llvm-project/commit/51689c9df2fbb81aab1ff802f3efb86cac926853
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/OSUtil/fcntl.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/fcntl.cpp
    M libc/src/fcntl/linux/CMakeLists.txt
    M libc/src/fcntl/linux/fcntl.cpp
    M libc/src/fcntl/linux/open.cpp
    M libc/src/sys/auxv/linux/getauxval.cpp
    M libc/src/sys/mman/linux/shm_common.h
    M libc/src/sys/mman/linux/shm_open.cpp
    M libc/src/sys/mman/linux/shm_unlink.cpp
    M libc/src/unistd/linux/close.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] clean internal fd handling (#143991)

The previous internal fcntl implementation modified errno directly, this
patch fixes that. This patch also moves open and close into OSUtil since
they are used in multiple places. There are more places that need
similar cleanup but only got comments in this patch to keep it
relatively reviewable.

Related to: https://github.com/llvm/llvm-project/issues/143937


  Commit: 5578bcbcfd25c797d4d14b8dfb3f83360712513d
      https://github.com/llvm/llvm-project/commit/5578bcbcfd25c797d4d14b8dfb3f83360712513d
  Author: Chao Chen <chao.chen at intel.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir

  Log Message:
  -----------
  [mlir][xegpu] add support for structure control flow ops in workgroup to subgroup distribution (#142618)

This PR introduces support for `scf::ForOp`, `scf::WhileOp`, `scf::If`,
and `scf::Condition` within the workgroup-subgroup-distribution pass,
leveraging the `SCFStructuralTypeConversionsAndLegality`.


  Commit: ecdb549e6de60b3211cfa860eec498270e3980f1
      https://github.com/llvm/llvm-project/commit/ecdb549e6de60b3211cfa860eec498270e3980f1
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M llvm/lib/TableGen/Record.cpp
    M llvm/test/TableGen/true-false.td

  Log Message:
  -----------
  [TableGen] Avoid evaluating RHS of a BinOp until short-circuit is complete (#144021)

This patch adds an even more aggressive short-circuit on `!and` and
`!or` that completely avoids the evaluation of RHS operand until short
circuiting decisions are made.


  Commit: 09c54c2e9e044fa0857831e6ce1bf77c8ce16ecc
      https://github.com/llvm/llvm-project/commit/09c54c2e9e044fa0857831e6ce1bf77c8ce16ecc
  Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/IR2Vec.h
    M llvm/lib/Analysis/IR2Vec.cpp
    M llvm/unittests/Analysis/IR2VecTest.cpp

  Log Message:
  -----------
  [IR2Vec] Minor vocab changes and exposing weights (#143200)

This PR changes some asserts in Vocab to hard checks that emit error and exposes flags and constructor to help in unit tests.

(Tracking issue - #141817)


  Commit: 9d49b82de077c730d687593604dfa00770f11965
      https://github.com/llvm/llvm-project/commit/9d49b82de077c730d687593604dfa00770f11965
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp

  Log Message:
  -----------
  [clang-scan-deps] Implement P2223R2 for DependencyDirectiveScanner.cpp (#143950)

P2223R2 allows the line-continuation slash `\` to be followed by
additional whitespace. The Clang lexer already follows this behavior,
also for versions prior to C++23. The dependency directive scanner
however only implements it for `#define` directives (15d5f5d).

This fully implements P2223R2 for the dependency directive scanner (for
any C++ standard) and aligns the dependency directive scanner's splicing
behavior with that of the Clang lexer.

For example, the following code was previously not scanned correctly by
`clang-scan-deps` but now works as expected:

```cpp
import \<whitespace here>
A;
```


  Commit: 92a116c4ef822950f8c57eaa5164c844c73a1f7e
      https://github.com/llvm/llvm-project/commit/92a116c4ef822950f8c57eaa5164c844c73a1f7e
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/fdopen_test.cpp
    M libc/test/src/stdio/fgetc_test.cpp
    M libc/test/src/stdio/fgetc_unlocked_test.cpp
    M libc/test/src/stdio/fgets_test.cpp
    M libc/test/src/stdio/fileop_test.cpp
    M libc/test/src/stdio/fopencookie_test.cpp
    M libc/test/src/stdio/remove_test.cpp
    M libc/test/src/stdio/rename_test.cpp
    M libc/test/src/stdio/setvbuf_test.cpp
    M libc/test/src/stdio/unlocked_fileop_test.cpp
    M libc/test/src/stdlib/StrtolTest.h
    M libc/test/src/stdlib/strtold_test.cpp

  Log Message:
  -----------
  Revert "Fix/reapply "[libc] Migrate stdio tests to ErrnoCheckingTest."" (#144129)

Reverts llvm/llvm-project#143972 - matcher seems to be pedantic for
fgets tests, reverting to verify and fix.


  Commit: 452276ecc0f5d1cb9bf5e1655e422a68eafdb8b9
      https://github.com/llvm/llvm-project/commit/452276ecc0f5d1cb9bf5e1655e422a68eafdb8b9
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M libc/fuzzing/stdio/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix missing errno include in fuzzer (#144132)

The printf parser uses errno for setting up the %m conversion. It was
presumably getting this include indirectly until a recent change. This
patch adds a direct dependency to fix it.


  Commit: 35e7b54aff71c09d5b53daa4f1de59f8190e3535
      https://github.com/llvm/llvm-project/commit/35e7b54aff71c09d5b53daa4f1de59f8190e3535
  Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/forrange.cpp
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
    M libc/fuzzing/stdio/CMakeLists.txt
    M libc/include/math.yaml
    M libc/include/wchar.yaml
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/OSUtil/fcntl.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/fcntl.cpp
    M libc/src/fcntl/linux/CMakeLists.txt
    M libc/src/fcntl/linux/fcntl.cpp
    M libc/src/fcntl/linux/open.cpp
    M libc/src/sys/auxv/linux/getauxval.cpp
    M libc/src/sys/mman/linux/shm_common.h
    M libc/src/sys/mman/linux/shm_open.cpp
    M libc/src/sys/mman/linux/shm_unlink.cpp
    M libc/src/unistd/linux/close.cpp
    M libc/test/src/stdio/printf_core/converter_test.cpp
    M llvm/include/llvm/Analysis/IR2Vec.h
    M llvm/lib/Analysis/IR2Vec.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll
    M llvm/test/TableGen/true-false.td
    M llvm/test/Transforms/InstCombine/abs-1.ll
    M llvm/test/Transforms/InstCombine/fma.ll
    M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
    M llvm/test/Transforms/InstCombine/powi.ll
    M llvm/test/Transforms/InstCombine/scmp.ll
    M llvm/test/Transforms/InstCombine/sqrt.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
    M llvm/unittests/Analysis/IR2VecTest.cpp
    M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
    M utils/bazel/llvm_configs/llvm-config.h.cmake

  Log Message:
  -----------
  Merge branch 'main' into revert-141853-scf_for_bug


Compare: https://github.com/llvm/llvm-project/compare/2238fd9a756a...35e7b54aff71

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