[all-commits] [llvm/llvm-project] b90f4f: Revert "[CI] Save sccache logs (#155444)"

Mircea Trofin via All-commits all-commits at lists.llvm.org
Tue Aug 26 15:44:12 PDT 2025


  Branch: refs/heads/users/mtrofin/08-26-_nfc_wpd_less_lambdas_where_just_the_analysis_managers_would_work
  Home:   https://github.com/llvm/llvm-project
  Commit: b90f4ff3020c6fe018ec22b22a7faa5541ed5372
      https://github.com/llvm/llvm-project/commit/b90f4ff3020c6fe018ec22b22a7faa5541ed5372
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  Revert "[CI] Save sccache logs (#155444)"

This reverts commit c81cc9f55b8d21d9421cdb00755b241f9852eca0.

This is causing premerge failures and needs more testing.


  Commit: aa14b3eed916d40f89b041fdcee7f67832654206
      https://github.com/llvm/llvm-project/commit/aa14b3eed916d40f89b041fdcee7f67832654206
  Author: David Green <david.green at arm.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/ARM/mve-abs.ll
    M llvm/test/Analysis/CostModel/ARM/mve-active_lane_mask.ll
    M llvm/test/Analysis/CostModel/ARM/mve-cmp.ll
    M llvm/test/Analysis/CostModel/ARM/mve-gather-scatter-cost.ll
    M llvm/test/Analysis/CostModel/ARM/mve-minmax.ll
    M llvm/test/Analysis/CostModel/ARM/mve-shuffle-loadstore.ll
    M llvm/test/Analysis/CostModel/ARM/mve-vecreduce-add.ll

  Log Message:
  -----------
  [ARM] Update a number of MVE tests to use -cost-kind=all. NFC


  Commit: 1780e16a6745818d25683dc2cf90f4f2c1985664
      https://github.com/llvm/llvm-project/commit/1780e16a6745818d25683dc2cf90f4f2c1985664
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn

  Log Message:
  -----------
  [gn build] Disable objc rewriter (#155479)

This is off by default in the CMake build:
https://github.com/llvm/llvm-project/blob/b90f4ff3020c6fe018ec22b22a7faa5541ed5372/clang/CMakeLists.txt#L441


  Commit: 5321335f97eb6f638d37c3ed28043e9f69e23720
      https://github.com/llvm/llvm-project/commit/5321335f97eb6f638d37c3ed28043e9f69e23720
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
    M clang/test/Driver/cuda-bad-arch.cu
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250.cl

  Log Message:
  -----------
  [AMDGCN] Add missing gfx1250 clang tests. NFC. (#155478)


  Commit: 77bc236d78bd520a014bd1006eac389f5ddc2993
      https://github.com/llvm/llvm-project/commit/77bc236d78bd520a014bd1006eac389f5ddc2993
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td

  Log Message:
  -----------
  Remove trailing whitespace in DiagnosticSemaKinds.td. NFC (#155482)


  Commit: d66b53738a29fb3a0551167efcb8d35320a539b7
      https://github.com/llvm/llvm-project/commit/d66b53738a29fb3a0551167efcb8d35320a539b7
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTypeTraits.cpp
    M clang/test/SemaCXX/ptrauth-triviality.cpp
    A clang/test/SemaCXX/ptrauth-type-traits.cpp
    M clang/test/SemaCXX/trivially-relocatable-ptrauth.cpp

  Log Message:
  -----------
  [clang][PAC] Fix builtins that claim address discriminated types are bitwise compatible (#154490)

A number of builtins report some variation of "this type is compatibile
with some bitwise equivalent operation", but this is not true for
address discriminated values. We had address a number of cases, but not
all of them. This PR corrects the remaining builtins.

Fixes #154394


  Commit: 2263210d9e2b56bf910bde57a2bfc013450e131a
      https://github.com/llvm/llvm-project/commit/2263210d9e2b56bf910bde57a2bfc013450e131a
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/test/Dialect/OpenACC/ops.mlir

  Log Message:
  -----------
  [mlir][acc] Add destroy region to reduction recipes (#155480)

Reduction recipes capture how a private copy is created. In some
languages, like C++ class variables with destructors - that private copy
also must be properly destroyed. Thus update the reduction recipe to
contain a `destroy` region similarly to the private recipes.


  Commit: 511210db434ee67c4ae3242858af36c7492af236
      https://github.com/llvm/llvm-project/commit/511210db434ee67c4ae3242858af36c7492af236
  Author: Vadim Marchenko <jakosvadim at gmail.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/globals.ll

  Log Message:
  -----------
  [hwasan] Add hwasan-static-linking option (#154529)

Discarding the `.note.hwasan.globals` section in ldscript causes a
linker error, since `hwasan_globals` refers to the discarded section.
The issue comes from `hwasan.dummy.global` being associated via metadata
with `.note.hwasan.globals`.

Add a new `-hwasan-static-linking` option to skip inserting
`.note.hwasan.globals` for static binaries, as it is only needed for
instrumenting globals from dynamic libraries. In static binaries, the
global variables section can be accessed directly via the
`__start_hwasan_globals` and `__stop_hwasan_globals` symbols inserted by
the linker.


  Commit: 8b544f3639bb51ebccdd212e2acc1847726d7dca
      https://github.com/llvm/llvm-project/commit/8b544f3639bb51ebccdd212e2acc1847726d7dca
  Author: Alex Langford <alangford at apple.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp

  Log Message:
  -----------
  [lldb] Do not use LC_FUNCTION_STARTS data to determine symbol size as symbols are created  (#155282)

Note: This is a resubmission of #106791. I had to revert this a year ago
for a failing test that I could not understand. I have time now to try
and get this in again.

Summary:
This improves the performance of ObjectFileMacho::ParseSymtab by
removing eager and expensive work in favor of doing it later in a
less-expensive fashion.

Experiment:
My goal was to understand LLDB's startup time.
First, I produced a Debug build of LLDB (no dSYM) and a
Release+NoAsserts build of LLDB. The Release build debugged the Debug
build as it debugged a small C++ program. I found that
ObjectFileMachO::ParseSymtab accounted for somewhere between 1.2 and 1.3
seconds consistently. After applying this change, I consistently
measured a reduction of approximately 100ms, putting the time closer to
1.1s and 1.2s on average.

Background:
ObjectFileMachO::ParseSymtab will incrementally create symbols by
parsing nlist entries from the symtab section of a MachO binary. As it
does this, it eagerly tries to determine the size of symbols (e.g. how
long a function is) using LC_FUNCTION_STARTS data (or eh_frame if
LC_FUNCTION_STARTS is unavailable). Concretely, this is done by
performing a binary search on the function starts array and calculating
the distance to the next function or the end of the section (whichever
is smaller).

However, this work is unnecessary for 2 reasons:
1. If you have debug symbol entries (i.e. STABs), the size of a function
is usually stored right after the function's entry. Performing this work
right before parsing the next entry is unnecessary work.
2. Calculating symbol sizes for symbols of size 0 is already performed
in `Symtab::InitAddressIndexes` after all the symbols are added to the
Symtab. It also does this more efficiently by walking over a list of
symbols sorted by address, so the work to calculate the size per symbol
is constant instead of O(log n).


  Commit: acaa925cb22b8559c491fff069b4b885cb4433f6
      https://github.com/llvm/llvm-project/commit/acaa925cb22b8559c491fff069b4b885cb4433f6
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InterleavedAccess.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll

  Log Message:
  -----------
  [IA][RISCV] Recognize interleaving stores that could lower to strided segmented stores (#154647)

This is a sibling patch to #151612: passing gap masks to the renewal TLI
hooks for lowering interleaved stores that use shufflevector to do the
interleaving.


  Commit: be2f0205b697ce299f08aff024a09ce24498ed8c
      https://github.com/llvm/llvm-project/commit/be2f0205b697ce299f08aff024a09ce24498ed8c
  Author: Jeremy Kun <jkun at google.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
    M llvm/lib/Support/Parallel.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMapParser.cpp
    M mlir/lib/Transforms/InlinerPass.cpp

  Log Message:
  -----------
  NFC: remove some instances of deprecated capture (#154884)

```
 warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
```

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: ffd0f5fd217e66b6843bc420f7c37042e562810d
      https://github.com/llvm/llvm-project/commit/ffd0f5fd217e66b6843bc420f7c37042e562810d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

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

  Log Message:
  -----------
  [LV] Remove unneeded ILV::LoopScalarPreHeader (NFC).

Follow-up suggested in https://github.com/llvm/llvm-project/pull/153643.
Remove some more global state by directly returning the scalar
preheader from createScalarPreheader.


  Commit: d42f5eb5e73b8ae683da042ad16dc6047bc18348
      https://github.com/llvm/llvm-project/commit/d42f5eb5e73b8ae683da042ad16dc6047bc18348
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/switch-cases-to-branch-and.ll

  Log Message:
  -----------
  [AArch64] Add another switch clustering test with power-of-2 constants.

Adds more test coverage for
https://github.com/llvm/llvm-project/pull/139736.


  Commit: 2c920a11e3af22f4b999020b084ce677da71888f
      https://github.com/llvm/llvm-project/commit/2c920a11e3af22f4b999020b084ce677da71888f
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Verifier/AMDGPU/wmma-f8f6f4.ll

  Log Message:
  -----------
  [AMDGPU] wmma_scale* IR verification (#155493)


  Commit: 0a8acd2eb2aff0edd610fc3ec14b32bee446656f
      https://github.com/llvm/llvm-project/commit/0a8acd2eb2aff0edd610fc3ec14b32bee446656f
  Author: Miguel Saldivar <miguel.saldivar at hpe.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/AMDGPU/pr155452.ll

  Log Message:
  -----------
  [DAG] ComputeNumSignBits - ISD::EXTRACT_ELEMENT needs to return at least 1 (#155455)

When going through the ISD::EXTRACT_ELEMENT case, `KnownSign - rIndex *
BitWidth`
could produce a negative. When a negative is produced, the lower bound
of the `std::clamp` is returned. Change that lower bound to one to avoid
potential underflows, because the expectation is that
`ComputeNumSignBits`
should always return at least 1.

Fixes #155452.


  Commit: 6bccd967b117176192b821c178a55ea31192b45a
      https://github.com/llvm/llvm-project/commit/6bccd967b117176192b821c178a55ea31192b45a
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp

  Log Message:
  -----------
  [AMDGPU] Do not assert on non-zero COMPUTE_PGM_RSRC3 on gfx1250. NFCI (#155498)

COMPUTE_PGM_RSRC3 does exist on gfx1250, we are just not using it yet.


  Commit: a997d45af91ad7b812fce906888f2428ce05455d
      https://github.com/llvm/llvm-project/commit/a997d45af91ad7b812fce906888f2428ce05455d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M compiler-rt/lib/asan/tests/asan_test.cpp

  Log Message:
  -----------
  [NFC][Asan] Remove volatile from test

After #155447.
It's not needed, but does not compile on PowerPC.


  Commit: 7624197dacfde71d21e3c88c308696ebb6f49f94
      https://github.com/llvm/llvm-project/commit/7624197dacfde71d21e3c88c308696ebb6f49f94
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Linux/coverage-missing.cpp
    M compiler-rt/test/asan/TestCases/Linux/local_alias.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr-violation.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr-vtable.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_c_test.c
    M compiler-rt/test/asan/TestCases/Linux/preinit_test.cpp
    M compiler-rt/test/asan/TestCases/Posix/coverage-module-unloaded.cpp
    M compiler-rt/test/asan/TestCases/Posix/coverage-reset.cpp
    M compiler-rt/test/asan/TestCases/Posix/coverage.cpp
    M compiler-rt/test/asan/TestCases/Posix/interception-in-shared-lib-test.cpp
    M compiler-rt/test/asan/TestCases/suppressions-library.cpp
    M compiler-rt/test/cfi/cross-dso-diagnostic.cpp
    M compiler-rt/test/cfi/cross-dso/icall/diag.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall-from-dso.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall.cpp
    M compiler-rt/test/cfi/cross-dso/simple-fail.cpp
    M compiler-rt/test/cfi/cross-dso/simple-pass.cpp
    M compiler-rt/test/cfi/target_uninstrumented.cpp
    M compiler-rt/test/fuzzer/coverage.test
    M compiler-rt/test/fuzzer/dso.test
    M compiler-rt/test/fuzzer/full-coverage.test
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/tsan/on_initialize_finalize_hooks.cpp
    M compiler-rt/test/ubsan/TestCases/TypeCheck/Function/function.cpp
    M compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp

  Log Message:
  -----------
  Reapply "[compiler-rt] Remove %T from shared object substitutions (#155302)"

This reverts commit 1d3c302171692293f74f92236b446b9240774d4d.

There were three test failures:
odr-violation.cpp - Attempted to fix by keeping everything in the same
folder.
interception-in-shared-lib-test.cpp - Tried folding comments to preserve
line numberings. Almost seems like a debug info issue on PPC.
odr_c_test.c - Attempted to fix by keeping everything in the same
folder.


  Commit: aadc708e78568f1ec5713dd4ba768e77044b651d
      https://github.com/llvm/llvm-project/commit/aadc708e78568f1ec5713dd4ba768e77044b651d
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
    M lldb/test/Shell/Symtab/symtab-wasm.test

  Log Message:
  -----------
  [lldb] Corretly parse Wasm segments (#154727)

My original implementation for parsing Wasm segments was wrong in two
related ways. I had a bug in calculating the file vm address and I
didn't fully understand the difference between active and passive
segments and how that impacted their file vm address.

With this PR, we now support parsing init expressions for active
segments, rather than just skipping over them. This is necessary to
determine where they get loaded.

Similar to llvm-objdump, we currently only support simple opcodes (i.e.
constants). We also currently do not support active segments that use a
non-zero memory index. However this covers all segments for a
non-trivial Swift binary compiled to Wasm.


  Commit: f80c05cc7e4bf4ea906afcab0077db714ae9e76c
      https://github.com/llvm/llvm-project/commit/f80c05cc7e4bf4ea906afcab0077db714ae9e76c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M flang/lib/Lower/Runtime.cpp
    A flang/test/Lower/OpenACC/acc-terminator.f90

  Log Message:
  -----------
  [flang][openacc] Only generate acc.terminator in compute construct (#155504)

When the end of a block is inside a data region (not a compute region),
generating an `acc.terminator` will lead to a missing terminator when
translating to LLVM.

Only generate acc.terminator instead of fir.unreachable when nested in
acc compute region.


  Commit: 79554783e60e86e21c41b67f436f179f0fd134d0
      https://github.com/llvm/llvm-project/commit/79554783e60e86e21c41b67f436f179f0fd134d0
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M mlir/lib/Bindings/Python/IRTypes.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for performance-unnecessary-value-param in IRTypes.cpp (NFC)


  Commit: 7d26150c2a1ce481d0dad25460b4cadcd8945af9
      https://github.com/llvm/llvm-project/commit/7d26150c2a1ce481d0dad25460b4cadcd8945af9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp

  Log Message:
  -----------
  Revert "[AArch64] AArch64TargetLowering::computeKnownBitsForTargetNode - add support for AArch64ISD::MOV/MVN constants" (#155503)

Reverts llvm/llvm-project#154039, as it breaks bots.


  Commit: a67257bbfb5bce5a21f21d7e78049cfcbb283e33
      https://github.com/llvm/llvm-project/commit/a67257bbfb5bce5a21f21d7e78049cfcbb283e33
  Author: John Harrison <harjohn at google.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M lldb/include/lldb/Protocol/MCP/Protocol.h
    M lldb/include/lldb/Protocol/MCP/Resource.h
    M lldb/include/lldb/Protocol/MCP/Server.h
    M lldb/include/lldb/Protocol/MCP/Tool.h
    M lldb/source/Plugins/Protocol/MCP/Resource.cpp
    M lldb/source/Plugins/Protocol/MCP/Resource.h
    M lldb/source/Plugins/Protocol/MCP/Tool.cpp
    M lldb/source/Plugins/Protocol/MCP/Tool.h
    M lldb/source/Protocol/MCP/Protocol.cpp
    M lldb/source/Protocol/MCP/Server.cpp
    M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
    M lldb/unittests/Protocol/ProtocolMCPTest.cpp
    A lldb/unittests/Protocol/ProtocolMCPTestUtilities.h

  Log Message:
  -----------
  [lldb] Adding structured types for existing MCP calls. (#155460)

This adds or renames existing types to match the names of the types on
https://modelcontextprotocol.io/specification/2025-06-18/schema for the
existing calls.

The new types are used in the unit tests and server implementation to
remove the need for crafting various `llvm::json::Object` values by
hand.


  Commit: e42333423948605cc25230a22277b92364d1d4d6
      https://github.com/llvm/llvm-project/commit/e42333423948605cc25230a22277b92364d1d4d6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [ProfCheck] Exclude new LoopVectorize Test (#155502)


  Commit: 4b84223aad4fb5f277aa524b6ff518f4e1cd0df7
      https://github.com/llvm/llvm-project/commit/4b84223aad4fb5f277aa524b6ff518f4e1cd0df7
  Author: Rolf Morel <rolf.morel at intel.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
    M mlir/include/mlir/Target/LLVMIR/Transforms/Passes.h
    M mlir/include/mlir/Target/LLVMIR/Transforms/Passes.td
    A mlir/include/mlir/Target/LLVMIR/Transforms/TargetUtils.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Target/LLVMIR/Transforms/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Transforms/TargetToDataLayout.cpp
    A mlir/lib/Target/LLVMIR/Transforms/TargetToTargetFeatures.cpp
    A mlir/lib/Target/LLVMIR/Transforms/TargetUtils.cpp
    R mlir/test/Dialect/LLVMIR/target-to-data-layout-invalid.mlir
    R mlir/test/Dialect/LLVMIR/target-to-data-layout-no-init.mlir
    R mlir/test/Dialect/LLVMIR/target-to-data-layout.mlir
    A mlir/test/Target/LLVMIR/target-to-data-layout-and-target-features.mlir
    A mlir/test/Target/LLVMIR/target-to-data-layout-invalid.mlir
    A mlir/test/Target/LLVMIR/target-to-data-layout-no-init.mlir
    A mlir/test/Target/LLVMIR/target-to-target-features-dlti-query.mlir

  Log Message:
  -----------
  [MLIR][LLVMIR][DLTI] Pass to update #llvm.target's features per relevant backend (#154938)

Modifies `#llvm.target<..., features = $FEATURES>` so that `$FEATURES`
is now an `#llvm.target_features<[...]>` attribute (rather than a
`StringAttr`). This enables the attribute to respond to DLTI queries for
the different target features.

The pass updates the `$FEATURES` attribute of the target attr at name
`llvm.target` in accordance with the (Sub)Target's features that the
relevant LLVM backend knows about.

---

DEMO:
```mlir
module attributes {llvm.target = #llvm.target<triple = "x86_64-unknown-linux",
                                              chip = "skylake"> } {
}
```
by way of `-llvm-target-to-target-features` turns into:
```mlir
module attributes {llvm.target = #llvm.target<triple = "x86_64-unknown-linux",
                                              chip = "skylake", 
                                              features = <["+64bit", "+64bit-mode", "+adx", "+aes", "+allow-light-256-bit", "+avx", "+avx2", "+bmi", "+bmi2", "+clflushopt", "+cmov", "+crc32", "+cx16", "+cx8", "+ermsb", "+f16c", "+false-deps-popcnt", "+fast-15bytenop", "+fast-gather", "+fast-scalar-fsqrt", "+fast-shld-rotate", "+fast-variable-crosslane-shuffle", "+fast-variable-perlane-shuffle", "+fast-vector-fsqrt", "+fma", "+fsgsbase", "+fxsr", "+idivq-to-divl", "+invpcid", "+lzcnt", "+macrofusion", "+mmx", "+movbe", "+no-bypass-delay-blend", "+no-bypass-delay-mov", "+no-bypass-delay-shuffle", "+nopl", "+pclmul", "+popcnt", "+prfchw", "+rdrnd", "+rdseed", "+sahf", "+slow-3ops-lea", "+sse", "+sse2", "+sse3", "+sse4.1", "+sse4.2", "+ssse3", "+vzeroupper", "+x87", "+xsave", "+xsavec", "+xsaveopt", "+xsaves"]>>} {
}
```


  Commit: 4b6a4aa5228a45c3ab2add631f9dd49777b5bf24
      https://github.com/llvm/llvm-project/commit/4b6a4aa5228a45c3ab2add631f9dd49777b5bf24
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/check-expression.h
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-select-rank.cpp
    M flang/lib/Semantics/check-select-type.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Lower/force-temp.f90

  Log Message:
  -----------
  [flang] Consolidate copy-in/copy-out determination in evaluate framework (#151408)

New implementation of `MayNeedCopy()` is used to consolidate
copy-in/copy-out checks.

`IsAssumedShape()` and `IsAssumedRank()` were simplified and are both
now in `Fortran::semantics` workspace.

`preparePresentUserCallActualArgument()` in lowering was modified to use
`MayNeedCopyInOut()`

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


  Commit: 388b82c55cb5d2dd7e6107105d9b1493837ddee1
      https://github.com/llvm/llvm-project/commit/388b82c55cb5d2dd7e6107105d9b1493837ddee1
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-08-26 (Tue, 26 Aug 2025)

  Changed paths:
    M .github/workflows/premerge.yaml
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTypeTraits.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
    M clang/test/Driver/cuda-bad-arch.cu
    M clang/test/SemaCXX/ptrauth-triviality.cpp
    A clang/test/SemaCXX/ptrauth-type-traits.cpp
    M clang/test/SemaCXX/trivially-relocatable-ptrauth.cpp
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250.cl
    M compiler-rt/lib/asan/tests/asan_test.cpp
    M compiler-rt/test/asan/TestCases/Linux/coverage-missing.cpp
    M compiler-rt/test/asan/TestCases/Linux/local_alias.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr-violation.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr-vtable.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_c_test.c
    M compiler-rt/test/asan/TestCases/Linux/preinit_test.cpp
    M compiler-rt/test/asan/TestCases/Posix/coverage-module-unloaded.cpp
    M compiler-rt/test/asan/TestCases/Posix/coverage-reset.cpp
    M compiler-rt/test/asan/TestCases/Posix/coverage.cpp
    M compiler-rt/test/asan/TestCases/Posix/interception-in-shared-lib-test.cpp
    M compiler-rt/test/asan/TestCases/suppressions-library.cpp
    M compiler-rt/test/cfi/cross-dso-diagnostic.cpp
    M compiler-rt/test/cfi/cross-dso/icall/diag.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall-from-dso.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall.cpp
    M compiler-rt/test/cfi/cross-dso/simple-fail.cpp
    M compiler-rt/test/cfi/cross-dso/simple-pass.cpp
    M compiler-rt/test/cfi/target_uninstrumented.cpp
    M compiler-rt/test/fuzzer/coverage.test
    M compiler-rt/test/fuzzer/dso.test
    M compiler-rt/test/fuzzer/full-coverage.test
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/tsan/on_initialize_finalize_hooks.cpp
    M compiler-rt/test/ubsan/TestCases/TypeCheck/Function/function.cpp
    M compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/check-expression.h
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/Runtime.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-select-rank.cpp
    M flang/lib/Semantics/check-select-type.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Lower/OpenACC/acc-terminator.f90
    A flang/test/Lower/force-temp.f90
    M lldb/include/lldb/Protocol/MCP/Protocol.h
    M lldb/include/lldb/Protocol/MCP/Resource.h
    M lldb/include/lldb/Protocol/MCP/Server.h
    M lldb/include/lldb/Protocol/MCP/Tool.h
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
    M lldb/source/Plugins/Protocol/MCP/Resource.cpp
    M lldb/source/Plugins/Protocol/MCP/Resource.h
    M lldb/source/Plugins/Protocol/MCP/Tool.cpp
    M lldb/source/Plugins/Protocol/MCP/Tool.h
    M lldb/source/Protocol/MCP/Protocol.cpp
    M lldb/source/Protocol/MCP/Server.cpp
    M lldb/test/Shell/Symtab/symtab-wasm.test
    M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
    M lldb/unittests/Protocol/ProtocolMCPTest.cpp
    A lldb/unittests/Protocol/ProtocolMCPTestUtilities.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Support/Parallel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InterleavedAccess.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Analysis/CostModel/ARM/mve-abs.ll
    M llvm/test/Analysis/CostModel/ARM/mve-active_lane_mask.ll
    M llvm/test/Analysis/CostModel/ARM/mve-cmp.ll
    M llvm/test/Analysis/CostModel/ARM/mve-gather-scatter-cost.ll
    M llvm/test/Analysis/CostModel/ARM/mve-minmax.ll
    M llvm/test/Analysis/CostModel/ARM/mve-shuffle-loadstore.ll
    M llvm/test/Analysis/CostModel/ARM/mve-vecreduce-add.ll
    M llvm/test/CodeGen/AArch64/switch-cases-to-branch-and.ll
    A llvm/test/CodeGen/AMDGPU/pr155452.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/globals.ll
    M llvm/test/Verifier/AMDGPU/wmma-f8f6f4.ll
    M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
    M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    M llvm/utils/profcheck-xfail.txt
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/Target/LLVMIR/Transforms/Passes.h
    M mlir/include/mlir/Target/LLVMIR/Transforms/Passes.td
    A mlir/include/mlir/Target/LLVMIR/Transforms/TargetUtils.h
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMapParser.cpp
    M mlir/lib/Target/LLVMIR/Transforms/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Transforms/TargetToDataLayout.cpp
    A mlir/lib/Target/LLVMIR/Transforms/TargetToTargetFeatures.cpp
    A mlir/lib/Target/LLVMIR/Transforms/TargetUtils.cpp
    M mlir/lib/Transforms/InlinerPass.cpp
    R mlir/test/Dialect/LLVMIR/target-to-data-layout-invalid.mlir
    R mlir/test/Dialect/LLVMIR/target-to-data-layout-no-init.mlir
    R mlir/test/Dialect/LLVMIR/target-to-data-layout.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir
    A mlir/test/Target/LLVMIR/target-to-data-layout-and-target-features.mlir
    A mlir/test/Target/LLVMIR/target-to-data-layout-invalid.mlir
    A mlir/test/Target/LLVMIR/target-to-data-layout-no-init.mlir
    A mlir/test/Target/LLVMIR/target-to-target-features-dlti-query.mlir

  Log Message:
  -----------
  Merge branch 'main' into users/mtrofin/08-26-_nfc_wpd_less_lambdas_where_just_the_analysis_managers_would_work


Compare: https://github.com/llvm/llvm-project/compare/6d370e2a6a9c...388b82c55cb5

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