[all-commits] [llvm/llvm-project] 5ff367: [SLP]Fix mask processing for reused gathered scalars

Vitaly Buka via All-commits all-commits at lists.llvm.org
Thu Jan 9 20:36:27 PST 2025


  Branch: refs/heads/users/vitalybuka/spr/nfcboundschecking-rename-boundscheckingoptions-into-options
  Home:   https://github.com/llvm/llvm-project
  Commit: 5ff36748cfeee1d02da6512ad578e4014724f67e
      https://github.com/llvm/llvm-project/commit/5ff36748cfeee1d02da6512ad578e4014724f67e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll

  Log Message:
  -----------
  [SLP]Fix mask processing for reused gathered scalars

Need to sync the mask between cost and actual emission to avoid bugs in
mask calculation

Fixes #122324


  Commit: 1842a3d833d934793012c717e98b10d51193fd0d
      https://github.com/llvm/llvm-project/commit/1842a3d833d934793012c717e98b10d51193fd0d
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/cmake/modules/AddClang.cmake

  Log Message:
  -----------
  Fix a cmake error when using the Xcode generator. (#119403)

I’m seeing a series of errors when trying to run the cmake configure
step on macOS when the cmake generator is set to Xcode. All is well if I
use the Ninja or Unix Makefile generators. Messages are all of the form:
~~~
CMake Error at …llvm-project/clang/cmake/modules/AddClang.cmake:120
(target_compile_definitions):
  Cannot specify compile definitions for target "obj.clangBasic" which
  is not built by this project.
Call Stack (most recent call first):
  …llvm-project/clang/lib/Basic/CMakeLists.txt:57 (add_clang_library)
~~~
The remaining errors are similar but mention targets obj.clangAPINotes,
obj.clangLex, obj.clangParse, and so on.

The regression appears to have been introduced by commit 09fa2f012fcc
(Oct 14 2024) which added the code in this area.

My proposed solution is simply to add a test to ensure that the obj.x
target exists before setting its compile definitions. There is precedent
doing just this in both clang/cmake/modules/AddClang.cmake and
clang/lib/support/CMakeLists.txt as well as in the “MSVC AND NOT
CLANG_LINK_CLANG_DYLIB” path immediately above the offending line.

I’ve also made a couple of grammatical tweaks in the comments
surrounding this code.

In case it's relevant, the cmake settings and definitions I've used to
trigger these errors is:
~~~bash
GENERATOR="Xcode"
OUTDIR=build_macos
cmake \
-S "$SCRIPT_DIR/llvm" \
-B "$SCRIPT_DIR/$OUTDIR" \
-G "$GENERATOR" \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_OSX_ARCHITECTURES=arm64 \
-D LLVM_PARALLEL_LINK_JOBS=1 \
-D LLVM_ENABLE_PROJECTS="clang;lld" \
-D LLVM_TARGETS_TO_BUILD=RISCV \
-D LLVM_DEFAULT_TARGET_TRIPLE=riscv32-unknown-elf \
-D LLVM_OPTIMIZED_TABLEGEN=Yes
~~~
(cmake v3.31.1, Xcode 16.1. I know that not all of these variables are
useful for the Xcode generator!)

Co-authored-by: Paul Bowen-Huggett <phuggett at keysom.io>


  Commit: 2c6ed5f7eec30c22e136c03777eda9a8c4c0c79b
      https://github.com/llvm/llvm-project/commit/2c6ed5f7eec30c22e136c03777eda9a8c4c0c79b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst

  Log Message:
  -----------
  [libc++][NFC] Remove trailing whitespace from release notes


  Commit: b16777afb0c1799bb3eaa63c66213180c99c9d25
      https://github.com/llvm/llvm-project/commit/b16777afb0c1799bb3eaa63c66213180c99c9d25
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp

  Log Message:
  -----------
  [RISCV] Return MILog2SEW for mask instructions getOperandLog2EEW. NFC (#122332)

The SEW operand for these instructions should have a value of 0. This
matches what was done for vcpop/vfirst.


  Commit: 876841b0e2aea4ae8dac58842242e311b8aef432
      https://github.com/llvm/llvm-project/commit/876841b0e2aea4ae8dac58842242e311b8aef432
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [WebAssembly] Format WebAssembly ReleaseNote entries (#122203)


  Commit: 1b897f737df2097f8fee1b203676ea7f01dff06d
      https://github.com/llvm/llvm-project/commit/1b897f737df2097f8fee1b203676ea7f01dff06d
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp

  Log Message:
  -----------
  [clang-tidy] Fix misc-unused-parameters on params with attrs (#122286)

Don't suggest to comment-out the parameter name if the parameter has an
attribute that's spelled after the parameter name.

This prevents the parameter's attributes from being wrongly applied to
the parameter's type.

This fixes #122191.


  Commit: 0aa831e0edb1c1deabb96ce2435667cc82bac79b
      https://github.com/llvm/llvm-project/commit/0aa831e0edb1c1deabb96ce2435667cc82bac79b
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A mlir/include/mlir/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    A mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Affine/value-bounds-reification.mlir
    M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
    A mlir/test/Dialect/GPU/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Linalg/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Vector/test-scalable-bounds.mlir
    M mlir/test/Dialect/Vector/value-bounds-op-interface-impl.mlir
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp

  Log Message:
  -----------
  [mlir][GPU] Implement ValueBoundsOpInterface for GPU ID operations (#122190)

The GPU ID operations already implement InferIntRangeInterface, which
gives constant lower and upper bounds on those IDs when appropriate
metadata is prentent on the operations or in the surrounding context.

This commit uses that existing code to implement the
ValueBoundsOpInterface, which is used when analyzing affine operations
(unlike the integer range interface, which is used for arithmetic
optimization).

It also implements the interface for gpu.launch, where we can use it to
express the constraint that block/grid sizes are equal to their value
from outside the launch op and that the corresponding IDs are bounded
above by that size.

As a consequence, the test pass for this inference is updated to work on
a FunctionOpInterface and not a func.func, creating minor churn in other
tests.


  Commit: 6312beef788a209dc7d73c2c10b36197dab1cff3
      https://github.com/llvm/llvm-project/commit/6312beef788a209dc7d73c2c10b36197dab1cff3
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    A llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
    A llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVec][BottomUpVec] Use SeedCollector and slice seeds (#120826)

With this patch we switch from the temporary dummy seeds to actual seeds
provided by the seed collector.
The seeds get sliced and each slice is used as the starting point for
vectorization.


  Commit: 1739ba9bb5b5e0b2f3c7b381f7852b77a53ef3ba
      https://github.com/llvm/llvm-project/commit/1739ba9bb5b5e0b2f3c7b381f7852b77a53ef3ba
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M offload/test/sanitizer/kernel_crash_async.c

  Log Message:
  -----------
  [OpenMP][FIX] Adjust test to be non-flaky (#122331)

The test runs asynchronous kernels and depending on the timing the
output is slightly different. We now only check for the common parts of
the output.


  Commit: b57c0bac81fe4f5c85c6554ca574cf2d5648e0c5
      https://github.com/llvm/llvm-project/commit/b57c0bac81fe4f5c85c6554ca574cf2d5648e0c5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Synchronization.cpp

  Log Message:
  -----------
  [OpenMP] Update atomic helpers to just use headers (#122185)

Summary:
Previously we had some indirection here, this patch updates these
utilities to just be normal template functions. We use SFINAE to manage
the special case handling for floats. Also this strips address spaces so
it can be used more generally.


  Commit: f53cb84df6b80458cb4d5ab7398a590356a3a952
      https://github.com/llvm/llvm-project/commit/f53cb84df6b80458cb4d5ab7398a590356a3a952
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/include/Shared/Utils.h

  Log Message:
  -----------
  [OpenMP] Use __builtin_bit_cast instead of UB type punning (#122325)

Summary:
Use a normal bitcast, remove from the shared utils since it's not
available in
GCC 7.4


  Commit: 3055e86c719c6cc72e50bb74a0e3b9cffebb41b5
      https://github.com/llvm/llvm-project/commit/3055e86c719c6cc72e50bb74a0e3b9cffebb41b5
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/ThinLTO/X86/memprof-recursive.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll

  Log Message:
  -----------
  [MemProf] Disable cloning of callsites in recursive cycles by default (#122354)

This disables the support added in PR121985 by default while we
investigate a compile time crash.


  Commit: 218f15cd1eee22933e505d7093ec2fe38a36ef3b
      https://github.com/llvm/llvm-project/commit/218f15cd1eee22933e505d7093ec2fe38a36ef3b
  Author: Chris B <chris.bieneman at me.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A .github/workflows/hlsl-matrix.yaml
    A .github/workflows/hlsl-test-all.yaml

  Log Message:
  -----------
  Add pre-merge workflow for HLSL testing (#122184)

This adds a workflow for running HLSL tests on PRs that modify HLSL and
DirectX code.

The tests enabled here are the LLVM & Clang tests and the Offload
execution tests: https://github.com/llvm-beanz/offload-test-suite/


  Commit: 9d5299eb61a64cd4df5fefa0299b0cf8d917978f
      https://github.com/llvm/llvm-project/commit/9d5299eb61a64cd4df5fefa0299b0cf8d917978f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  VT/test: pre-commit tests to enable samesign optz (#120257)

Pre-commit some tests in preparation to teach ValueTracking's
implied-cond about samesign.


  Commit: f791a4f19f6c99feccfe59e0724d9215bee985cf
      https://github.com/llvm/llvm-project/commit/f791a4f19f6c99feccfe59e0724d9215bee985cf
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel] Add missing dependency for cbcb7ad32e6faca1f4c0f2f436e6076774104e17


  Commit: d797d94185cfb3eadaef6103b0d2b2f312e4f432
      https://github.com/llvm/llvm-project/commit/d797d94185cfb3eadaef6103b0d2b2f312e4f432
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port 0aa831e0edb1c1deabb96ce2435667cc82bac79b


  Commit: 8ea8e7f52908a831ab44ffca1e0c8fe207a409c8
      https://github.com/llvm/llvm-project/commit/8ea8e7f52908a831ab44ffca1e0c8fe207a409c8
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaSYCL.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-sfinae.cpp

  Log Message:
  -----------
  [SYCL] Basic diagnostics for the sycl_kernel_entry_point attribute. (#120327)

The `sycl_kernel_entry_point` attribute is used to declare a function that
defines a pattern for an offload kernel entry point. The attribute requires
a single type argument that specifies a class type that meets the requirements
for a SYCL kernel name as described in section 5.2, "Naming of kernels", of
the SYCL 2020 specification. A unique kernel name type is required for each
function declared with the attribute. The attribute may not first appear on a
declaration that follows a definition of the function. The function is
required to have a non-deduced `void` return type. The function must not be
a non-static member function, be deleted or defaulted, be declared with the
`constexpr` or `consteval` specifiers, be declared with the `[[noreturn]]`
attribute, be a coroutine, or accept variadic arguments.

Diagnostics are not yet provided for the following:
- Use of a type as a kernel name that does not satisfy the forward
  declarability requirements specified in section 5.2, "Naming of kernels",
  of the SYCL 2020 specification.
- Use of a type as a parameter of the attributed function that does not
  satisfy the kernel parameter requirements specified in section 4.12.4,
  "Rules for parameter passing to kernels", of the SYCL 2020 specification
  (each such function parameter constitutes a kernel parameter).
- Use of language features that are not permitted in device functions as
  specified in section 5.4, "Language restrictions for device functions",
  of the SYCL 2020 specification.

There are several issues noted by various FIXME comments.
- The diagnostic generated for kernel name conflicts needs additional work
  to better detail the relevant source locations; such as the location of
  each declaration as well as the original source of each kernel name.
- A number of the tests illustrate spurious errors being produced due to
  attributes that appertain to function templates being instantiated too
  early (during overload resolution as opposed to after an overload is
  selected).

Included changes allow the `SYCLKernelEntryPointAttr` attribute to be
marked as invalid if a `sycl_kernel_entry_point` attribute is used incorrectly.
This is intended to prevent trying to emit an offload kernel entry point
without having to mark the associated function as invalid since doing so
would affect overload resolution; which this attribute should not do.
Unfortunately, Clang eagerly instantiates attributes that appertain to
functions with the result that errors might be issued for function
declarations that are never selected by overload resolution. Tests have
been added to demonstrate this. Further work will be needed to address
these issues (for this and other attributes).


  Commit: 0acdba83ae5098c5c8f09f53aba4df37d97f3cf0
      https://github.com/llvm/llvm-project/commit/0acdba83ae5098c5c8f09f53aba4df37d97f3cf0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/src/CMakeLists.txt
    R libc/src/gpu/CMakeLists.txt
    R libc/src/gpu/rpc_host_call.cpp
    R libc/src/gpu/rpc_host_call.h

  Log Message:
  -----------
  [libc] Remove leftover 'gpu/' source directory (#122368)

Summary:
This isn't used anymore, I moved the GPU extensions into `offload/`.


  Commit: 84087226fa38b212325c651f1bc3caa79491bc80
      https://github.com/llvm/llvm-project/commit/84087226fa38b212325c651f1bc3caa79491bc80
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/test/COFF/arm64x-loadconfig.s

  Log Message:
  -----------
  [LLD][COFF] Emit base relocation for native CHPE metadata pointer on ARM64X (#121500)


  Commit: e8c8543a1c728278bf323d34e451bcf9042d9257
      https://github.com/llvm/llvm-project/commit/e8c8543a1c728278bf323d34e451bcf9042d9257
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
    M compiler-rt/lib/tysan/tysan_interceptors.cpp

  Log Message:
  -----------
  [TySan] Intercept malloc_size on Apple platforms. (#122133)

After https://github.com/llvm/llvm-project/pull/120563 malloc_size also
needs intercepting on Apple platforms, otherwise all type-sanitized
binaries crash on startup with an objc error:
realized class 0x12345 has corrupt data pointer: malloc_size(0x567) = 0

PR: https://github.com/llvm/llvm-project/pull/122133


  Commit: d01ae567742c4d83b67483e15eb74c0ecd2e8270
      https://github.com/llvm/llvm-project/commit/d01ae567742c4d83b67483e15eb74c0ecd2e8270
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    R llvm/test/tools/llvm-exegesis/dry-run-measurement.test
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Revert "[Exegesis] Add the ability to dry-run the measurement phase (… (#122371)

…#121991)"

This reverts commit f8f8598fd886cddfd374fa43eb6d7d37d301b576.

This breaks ARMv7 and s390x buildbot with the following message:
```
llvm-exegesis error: No available targets are compatible with triple "armv8l-unknown-linux-gnueabihf"
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/tcwg-buildbot/worker/clang-armv7-2stage/stage2/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv7-2stage/llvm/llvm/test/tools/llvm-exegesis/dry-run-measurement.test
```


  Commit: f764e71b7017e7264fffc410f5e10ef959e49294
      https://github.com/llvm/llvm-project/commit/f764e71b7017e7264fffc410f5e10ef959e49294
  Author: Victor Mustya <victor.mustya at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/test/TableGen/target-builtins-prototype-parser.td

  Log Message:
  -----------
  [Clang][TableGen] Add missing __bf16 type to the builtins parser (#120662)

The Clang tablegen built-in function prototype parser has the `__bf16`
type missing. This patch adds the missing type to the parser.


  Commit: c492a228e9227e2e44671b0f345fee9de62517bd
      https://github.com/llvm/llvm-project/commit/c492a228e9227e2e44671b0f345fee9de62517bd
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/include/__algorithm/radix_sort.h

  Log Message:
  -----------
  [libc++] Add missing _LIBCPP_NODEBUG on internal aliases


  Commit: 328c3a843f886f3768e536a508e1e3723d834b3e
      https://github.com/llvm/llvm-project/commit/328c3a843f886f3768e536a508e1e3723d834b3e
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vmerge to isSupportedInstr (#122340)


  Commit: 03eb786f75e36e9e203e0092ec3c6c589fd53c4f
      https://github.com/llvm/llvm-project/commit/03eb786f75e36e9e203e0092ec3c6c589fd53c4f
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp

  Log Message:
  -----------
  [SYCL] Correct misplaced sycl_kernel_entry_point attribute in a namespace declaration of a negative test. (#122375)

Commit 1a73654b3212b623ac21b9deb3aeaadc6906b7e4 added a missing
diagnostic for incorrect placement of an attribute in a namespace
declaration. This change corrects a SYCL test that inadvertently
exercised the `sycl_kernel_entry_point` attribute in the wrong
declaration location.


  Commit: 0efb376c20b220cddbbcf57f0c82ae048170ffd9
      https://github.com/llvm/llvm-project/commit/0efb376c20b220cddbbcf57f0c82ae048170ffd9
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp

  Log Message:
  -----------
  [libc][test] remove C++ stdlib includes (#122369)

These make cross compiling the test suite more difficult, as you need
the
sysroot to contain these headers and libraries cross compiled for your
target.
It's straightforward to stick with the corresponding C headers.


  Commit: 4f42e165164ba2bfca7b87be2a533ef09e8777e0
      https://github.com/llvm/llvm-project/commit/4f42e165164ba2bfca7b87be2a533ef09e8777e0
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/CodeGen/AArch64/hwasan-zero-ptr.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll

  Log Message:
  -----------
  [hwasan] Omit tag check for null pointers (#122206)

If the pointer to be checked is statically known to be zero, the tag
check will always pass since:
1) the tag is zero
2) shadow memory for address 0 is initialized to 0 and never updated.
We can therefore elide the tag check.

We perform the elision in two places:
1) the HWASan pass
2) when lowering the CHECK_MEMACCESS intrinsic. Conceivably, the HWASan
pass may encounter a "cannot currently statically prove to be null"
pointer (and is therefore unable to omit the intrinsic) that later
optimization passes convert into a statically known-null pointer. As a
last line of defense, we perform elision here too.

This also updates the tests from
https://github.com/llvm/llvm-project/pull/122186


  Commit: 7ffb691595a3108f72023ae0051487df25a85fc3
      https://github.com/llvm/llvm-project/commit/7ffb691595a3108f72023ae0051487df25a85fc3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [VPlan] Remove dead ToRemove (NFC).


  Commit: 156e6051630d136b48090c0d1cb79a4457564e9d
      https://github.com/llvm/llvm-project/commit/156e6051630d136b48090c0d1cb79a4457564e9d
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lld/MachO/ConcatOutputSection.cpp

  Log Message:
  -----------
  [lld-macho] Fix branch extension thunk estimation logic (#120529)

This patch improves the linker’s ability to estimate stub reachability
in the `TextOutputSection::estimateStubsInRangeVA` function. It does so
by including thunks that have already been placed ahead of the current
call site address when calculating the threshold for direct stub calls.

Before this fix, the estimation process overlooked existing forward
thunks. This could result in some thunks not being inserted where
needed. In rare situations, particularly with large and specially
arranged codebases, this might lead to branch instructions being out of
range, causing linking errors.

Although this patch successfully addresses the problem, it is not
feasible to create a test for this issue. The specific layout and order
of thunk creation required to reproduce the corner case are too complex,
making test creation impractical.

Example error messages the issue could generate:
```
ld64.lld: error: banana.o:(symbol OUTLINED_FUNCTION_24949_3875): relocation BRANCH26 is out of range: 134547892 is not in [-134217728, 134217727]; references objc_autoreleaseReturnValue
ld64.lld: error: main.o:(symbol _main+0xc): relocation BRANCH26 is out of range: 134544132 is not in [-134217728, 134217727]; references objc_release
```


  Commit: 3caa68a021c2f795de3df7f6ad7953556e825fab
      https://github.com/llvm/llvm-project/commit/3caa68a021c2f795de3df7f6ad7953556e825fab
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp

  Log Message:
  -----------
  [libc][test] fix memory leak (#122378)

Looks like the smart pointer I removed was being used to free the underlying
object.

Fixes: #122369


  Commit: e6d061ad49ce11193bddfff8a7920b798fb7d214
      https://github.com/llvm/llvm-project/commit/e6d061ad49ce11193bddfff8a7920b798fb7d214
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [libclang/python] Add python bindings for PrintingPolicy (#120494)

This allows changing the way pretty-printed code is formatted.


  Commit: 9426fdd4cbd6812b69c218b865f184cb25342be4
      https://github.com/llvm/llvm-project/commit/9426fdd4cbd6812b69c218b865f184cb25342be4
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp

  Log Message:
  -----------
  [libc][test] fix memory leak pt.2 (#122384)

These were created with operator new (see `Test::createCallable`), so operator
delete should be used instead of free().

Fixes: #122369
Fixes: #122378


  Commit: ba704d59569151f1b8b6552ed22a7b840f5e6256
      https://github.com/llvm/llvm-project/commit/ba704d59569151f1b8b6552ed22a7b840f5e6256
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-dsym.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml

  Log Message:
  -----------
  [llvm-gsymutil] Address merged-funcs test non-determinism (#122308)

When creating a gSYM, `llvm-gsymutil` operates by default in
multi-threaded mode. If merged functions are present, determinism cannot
be guaranteed if parallel processing is enabled.

So, for our merged functions tests, we disable multi-threading during
gSYM creation.


  Commit: c1c50c7a3ef9ced4a9b01e0afd83b83d7060fff9
      https://github.com/llvm/llvm-project/commit/c1c50c7a3ef9ced4a9b01e0afd83b83d7060fff9
  Author: Thor Preimesberger <111035711+cheezeburglar at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [SDPatternMatch] Add matchers m_ExtractSubvector and m_InsertSubvector (#120212)

Fixes #118846


  Commit: 504f6ce0c25b5cd721622cd444e9c428f400fd73
      https://github.com/llvm/llvm-project/commit/504f6ce0c25b5cd721622cd444e9c428f400fd73
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] clean readability-use-std-min-max (#122288)

1. add `static` for internal linkage functions
2. remove `clang` prefix for `QualType`


  Commit: a6aa9365f75c6f28c3d281c662dcdb6fb5222601
      https://github.com/llvm/llvm-project/commit/a6aa9365f75c6f28c3d281c662dcdb6fb5222601
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

  Log Message:
  -----------
  [NFC][AsmPrinter] Pass MJTI by const reference instead of const pointer (#122365)

The caller `AsmPrinter::emitJumpTableInfo` checks [1] `MJTI` is not a
null pointer before calling `emitJumpTableEntry` or
`emitJumpTableSizesSection`.

This patch updates callee function's signature to accept const
reference, this way it's explicit `MJTI` won't be nullptr inside the
callee.

[1]
https://github.com/llvm/llvm-project/blob/9d5299eb61a64cd4df5fefa0299b0cf8d917978f/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp#L2857


  Commit: 5d88a84ecddab3471693e44b57a1c1f21ce14f3f
      https://github.com/llvm/llvm-project/commit/5d88a84ecddab3471693e44b57a1c1f21ce14f3f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td

  Log Message:
  -----------
  [RISCV] Simplify some RISCVInstrInfoC classes by removing arguments that never change. NFC


  Commit: 24bf0e4eb63fe5eebf86f937ff41b66be78cf958
      https://github.com/llvm/llvm-project/commit/24bf0e4eb63fe5eebf86f937ff41b66be78cf958
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M libcxx/include/__config
    M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp

  Log Message:
  -----------
  [libc++] Disable _LIBCPP_NODEBUG temporarily (#122393)

This should be reverted once the crash reported in #118710 has been
analyzed.


  Commit: 04e54cc19f13af26e453c06b6a9e2bc3187e52c2
      https://github.com/llvm/llvm-project/commit/04e54cc19f13af26e453c06b6a9e2bc3187e52c2
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add Vector Single-Width Averaging Add and Subtract to isSupportedInstr (#122351)


  Commit: d0373dbe7c8ca8e7cd9c84e1d93c43c81a085f0c
      https://github.com/llvm/llvm-project/commit/d0373dbe7c8ca8e7cd9c84e1d93c43c81a085f0c
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vadc to isSupportedInstr (#122345)


  Commit: 6d72bf47606c2a288b911d682fd96129c9c1466d
      https://github.com/llvm/llvm-project/commit/6d72bf47606c2a288b911d682fd96129c9c1466d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  [ORC][llvm-jitlink] Add SimpleLazyReexportsSpeculator, use in llvm-jitlink.

Also adds a new IdleTask type and updates DynamicThreadPoolTaskDispatcher to
schedule IdleTasks whenever the total number of threads running is less than
the maximum number of MaterializationThreads.

A SimpleLazyReexportsSpeculator instance maintains a list of speculation
suggestions ((JITDylib, Function) pairs) and registered lazy reexports. When
speculation opportunities are available (having been added via
addSpeculationSuggestions or when lazy reexports were created) it schedules
an IdleTask that triggers the next speculative lookup as soon as resources
are available. Speculation suggestions are processed first, followed by
lookups for lazy reexport bodies. A callback can be registered at object
construction time to record lazy reexport executions as they happen, and these
executions can be fed back into the speculator as suggestions on subsequent
executions.

The llvm-jitlink tool is updated to support speculation when lazy linking is
used via three new arguments:

 -speculate=[none|simple] : When the 'simple' value is specified a
                            SimpleLazyReexportsSpeculator instances is used
                            for speculation.

 -speculate-order <path> : Specifies a path to a CSV containing
                           (jit dylib name, function name) triples to use
                           as speculative suggestions in the current run.

 -record-lazy-execs <path> : Specifies a path in which to record lazy function
                             executions as a CSV of (jit dylib name, function
                             name) pairs, suitable for use with
                             -speculate-order.

The same path can be passed to -speculate-order and -record-lazy-execs, in
which case the file will be overwritten at the end of the execution.

No testcase yet: Speculative linking is difficult to test (since by definition
execution behavior should be unaffected by speculation) and this is an new
prototype of the concept*. Tests will be added in the future once the interface
and behavior settle down.

* An earlier implementation of the speculation concept can be found in
  llvm/include/llvm/ExecutionEngine/Orc/Speculation.h. Both systems have the
  same goal (hiding compilation latency) but different mechanisms. This patch
  relies entirely on information available in the controller, where the old
  system could receive additional information from the JIT'd runtime via
  callbacks. I aim to combine the two in the future, but want to gain more
  practical experience with speculation first.


  Commit: 760f550de25792db83cd39c88ef57ab6d80a41a0
      https://github.com/llvm/llvm-project/commit/760f550de25792db83cd39c88ef57ab6d80a41a0
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP] NFC. Replace MainOp and AltOp in TreeEntry with InstructionsState. (#120198)

Add TreeEntry::hasState.
Add assert for getTreeEntry.
Remove the OpValue parameter from the canReuseExtract function.
Remove the Opcode parameter from the ComputeMaxBitWidth lambda function.


  Commit: 36b423e0f85cb35eb8b211662a0fab70d476f501
      https://github.com/llvm/llvm-project/commit/36b423e0f85cb35eb8b211662a0fab70d476f501
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP] NFC. Refactor getSameOpcode and reduce for loop iterations. (#122241)

Replace Cnt and AltIndex with MainOp and AltOp.
Reduce the number of iterations in the for loop.


  Commit: 57447d3ddfb0b1c44618e97081906d19a387ff00
      https://github.com/llvm/llvm-project/commit/57447d3ddfb0b1c44618e97081906d19a387ff00
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  Revert "[ORC][llvm-jitlink] Add SimpleLazyReexportsSpeculator, use in llvm-jitlink."

This reverts commit 6d72bf47606c2a288b911d682fd96129c9c1466d while I fix bot failures.


  Commit: 2d10b7b750f97b42055d5b9b08a88c18ff811cd2
      https://github.com/llvm/llvm-project/commit/2d10b7b750f97b42055d5b9b08a88c18ff811cd2
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  Reapply "[ORC][llvm-jitlink] Add SimpleLazyReexportsSpeculator..." with fixes.

This reapplies 6d72bf47606, which was reverted in 57447d3ddf to investigate
build failures, e.g. https://lab.llvm.org/buildbot/#/builders/3/builds/10114.

The original patch contained an invalid unused friend declaration of
std::make_shared. This has been removed.


  Commit: 9190e1c0ef628b9cc432b507390dc6eec416f6ab
      https://github.com/llvm/llvm-project/commit/9190e1c0ef628b9cc432b507390dc6eec416f6ab
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  [mlir][linalg] Handle reassociationIndices correctly for 0D tensor (#121683)

This PR fixes a bug where a value is assigned to a 0-sized
reassociationIndices, preventing a crash. Fixes #116043.


  Commit: b1893caeb6b6079a66ba146e73d68d6255d255ce
      https://github.com/llvm/llvm-project/commit/b1893caeb6b6079a66ba146e73d68d6255d255ce
  Author: Lakshmi-Surekha <Lakshmi.Kovvuri at ibm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Host/HostInfo.h

  Log Message:
  -----------
  [lldb][AIX] Added support for AIX in HostInfo section (#122301)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
https://github.com/llvm/llvm-project/issues/101657
2. The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added support for AIX in HostInfo section

Review Request : @DavidSpickett @labath @DhruvSrivastavaX


  Commit: b11fe33aea82444387422e550e10f1fba5bcfaa3
      https://github.com/llvm/llvm-project/commit/b11fe33aea82444387422e550e10f1fba5bcfaa3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp

  Log Message:
  -----------
  [RISCV] Correct the cost model for the i1 reduce.add and reduce.or. (#122349)

reduce.add uses the same sequence as reduce.xor. reduce.or should use
vmor not vmxor.


  Commit: 41e4018f9c858af15c4fe0ea0d1de8ff4602071e
      https://github.com/llvm/llvm-project/commit/41e4018f9c858af15c4fe0ea0d1de8ff4602071e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp

  Log Message:
  -----------
  [RISCV][VLOPT] Simplify code by removing extra temporary variables. NFC (#122333)

Just do the conditional operator in the return statement.


  Commit: 369c61744a435c52e3564398d9972fa556db022b
      https://github.com/llvm/llvm-project/commit/369c61744a435c52e3564398d9972fa556db022b
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/RISCV/reduce-and-i1.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll

  Log Message:
  -----------
  [RISCV] Fix the cost of `llvm.vector.reduce.and` (#119160)

I added some CodeGen test cases related to reduce. To maintain
consistency, I also added cases for instructions like
`vector.reduce.or`.

For cases where `v1i1` type generates `VFIRST`, please refer to:
https://reviews.llvm.org/D139512.


  Commit: 5454ac28b302240ccfd164dfd1e2bce526aee7ca
      https://github.com/llvm/llvm-project/commit/5454ac28b302240ccfd164dfd1e2bce526aee7ca
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  Revert "[SLP] NFC. Replace MainOp and AltOp in TreeEntry with InstructionsState. (#120198)"

This reverts commit 760f550de25792db83cd39c88ef57ab6d80a41a0.


  Commit: f926bcf9068c808b643a56322b7ef6910eb36599
      https://github.com/llvm/llvm-project/commit/f926bcf9068c808b643a56322b7ef6910eb36599
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h

  Log Message:
  -----------
  [clang-format][doc] Fix the description of BreakBinaryOperations


  Commit: 2ea34cdf2ba86cd129633f2a01fb695c79c0fe11
      https://github.com/llvm/llvm-project/commit/2ea34cdf2ba86cd129633f2a01fb695c79c0fe11
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/unittests/Format/FormatTestSelective.cpp

  Log Message:
  -----------
  [clang-format] Stop fixing indentation on namespace closing brace (#122234)

Fixes #119790.


  Commit: 211bcf67aadb1175af382f55403ae759177281c7
      https://github.com/llvm/llvm-project/commit/211bcf67aadb1175af382f55403ae759177281c7
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll

  Log Message:
  -----------
  [AMDGPU] Implement IR variant of isFMAFasterThanFMulAndFAdd (#121465)


  Commit: 9c2de994a18b8eb50634e620af762ed28ec5dcc2
      https://github.com/llvm/llvm-project/commit/9c2de994a18b8eb50634e620af762ed28ec5dcc2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp

  Log Message:
  -----------
  [nfc][BoundsChecking] Refactor BoundsCheckingOptions (#122346)

Remove ReportingMode and ReportingOpts.


  Commit: 5d0d34a21f8138c874148375abfeff889533cdae
      https://github.com/llvm/llvm-project/commit/5d0d34a21f8138c874148375abfeff889533cdae
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A .github/workflows/hlsl-matrix.yaml
    A .github/workflows/hlsl-test-all.yaml
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/cmake/modules/AddClang.cmake
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Sema/SemaSYCL.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-sfinae.cpp
    M clang/test/TableGen/target-builtins-prototype-parser.td
    M clang/unittests/Format/FormatTestSelective.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
    M compiler-rt/lib/tysan/tysan_interceptors.cpp
    M libc/src/CMakeLists.txt
    R libc/src/gpu/CMakeLists.txt
    R libc/src/gpu/rpc_host_call.cpp
    R libc/src/gpu/rpc_host_call.h
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__config
    M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
    M lld/COFF/Chunks.cpp
    M lld/MachO/ConcatOutputSection.cpp
    M lld/test/COFF/arm64x-loadconfig.s
    M lldb/include/lldb/Host/HostInfo.h
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Analysis/CostModel/RISCV/reduce-and-i1.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    A llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll
    M llvm/test/CodeGen/AArch64/hwasan-zero-ptr.ll
    M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll
    M llvm/test/ThinLTO/X86/memprof-recursive.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
    A llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    A llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
    A llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
    R llvm/test/tools/llvm-exegesis/dry-run-measurement.test
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-dsym.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
    A mlir/include/mlir/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    A mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Affine/value-bounds-reification.mlir
    M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
    A mlir/test/Dialect/GPU/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Linalg/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Vector/test-scalable-bounds.mlir
    M mlir/test/Dialect/Vector/value-bounds-op-interface-impl.mlir
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Synchronization.cpp
    M offload/include/Shared/Utils.h
    M offload/test/sanitizer/kernel_crash_async.c
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

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

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/b188eb2ca4b6...5d0d34a21f81

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