[all-commits] [llvm/llvm-project] d3b339: [libc++] Don't instantiate allocators in __hash_ta...

Fangrui Song via All-commits all-commits at lists.llvm.org
Sun Jul 13 18:36:07 PDT 2025


  Branch: refs/heads/users/MaskRay/spr/mc-restructure-mcfragment-as-a-fixed-part-and-a-variable-tail
  Home:   https://github.com/llvm/llvm-project
  Commit: d3b339e36debf208229e86bee3164bdf2ec24052
      https://github.com/llvm/llvm-project/commit/d3b339e36debf208229e86bee3164bdf2ec24052
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M libcxx/include/unordered_map
    M libcxx/test/std/containers/associative/multimap/incomplete_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/incomplete_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/incomplete.pass.cpp

  Log Message:
  -----------
  [libc++] Don't instantiate allocators in __hash_table on an incomplete type (#148353)

Currently, we try to instantiate the allocator on `__hash_value_type`,
which we don't define anymore. Instead, just use the
`map::allocator_type` to instantiate `__tree`, since that's what we
actually want anyways.


  Commit: 9d0ac3980d2a3ccab90ab49ac2f8359d4c4752c7
      https://github.com/llvm/llvm-project/commit/9d0ac3980d2a3ccab90ab49ac2f8359d4c4752c7
  Author: David Green <david.green at arm.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp

  Log Message:
  -----------
  [ARM] Use CostKind in getShuffleCost getMVEVectorCostFactor.

These calls pre-date CostKind being added to getShuffleCost in
5263155d5be64b435a97fd4fa12f7f0aa97f88a8.


  Commit: a647fd7ddae8c43d8483d00cb303841ad5b937b0
      https://github.com/llvm/llvm-project/commit/a647fd7ddae8c43d8483d00cb303841ad5b937b0
  Author: David Green <david.green at arm.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/reduce-add.ll

  Log Message:
  -----------
  [AArch64] Add a cost for v2i32 vecreduce.add.

These can lower to a addp. The score does not alter with this patch, but this
should help keep the scores the same with #146526.


  Commit: 58c0bd196e566f20a6b5e35ff0b57db8fe6b34ca
      https://github.com/llvm/llvm-project/commit/58c0bd196e566f20a6b5e35ff0b57db8fe6b34ca
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect Conversion: `allowPatternRollback` to check foldings (#148394)

When an operation is folded to an attribute, the attribute must be
materialized as a constant operation. That operation must then be
legalized. If such a legalization fails, the entire folding is rolled
back. This is not supported in a One-Shot Dialect Conversion. (Support
for rolling back foldings could be added at a later point of time.)

This commit improves the `allowPatternRollback` flag handling, such that
a fatal error is reported when a folder is attempted to be rolled back.


  Commit: d86c63d8e3ec135aadfb2dd2651f95ba2d74a6ab
      https://github.com/llvm/llvm-project/commit/d86c63d8e3ec135aadfb2dd2651f95ba2d74a6ab
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/Sparc.td
    A llvm/lib/Target/Sparc/SparcInstrCrypto.td
    M llvm/lib/Target/Sparc/SparcInstrInfo.td
    A llvm/test/MC/Disassembler/Sparc/sparc-crypto.txt
    A llvm/test/MC/Sparc/sparc-crypto.s

  Log Message:
  -----------
  [SPARC][IAS] Add definitions for cryptographic instructions



Reviewers: brad0, rorth, s-barannikov

Reviewed By: s-barannikov

Pull Request: https://github.com/llvm/llvm-project/pull/139451


  Commit: 21491ed7519c093fff0794bc90078a9c2b628401
      https://github.com/llvm/llvm-project/commit/21491ed7519c093fff0794bc90078a9c2b628401
  Author: Harald van Dijk <harald.vandijk at codeplay.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/cmake/config-ix.cmake

  Log Message:
  -----------
  Turn off uninitialized warnings for GCC up to 14. (#147968)

Although the false positives that caused it to be disabled originally
may have been fixed in GCC 12, GCC also suffers from a problem where
-Wuninitialized may cause the build to hang on some platforms (GCC
#120729). This has been fixed in GCC 15, so turn on -Wuninitialized for
GCC 15+ instead of GCC 12+.


  Commit: cc65da0fb115b9029c94f278d5e8f1a3b64f41e1
      https://github.com/llvm/llvm-project/commit/cc65da0fb115b9029c94f278d5e8f1a3b64f41e1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
    M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
    M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags.ll

  Log Message:
  -----------
  [LV] Update fmax tests to include ogt/olt/ole/ugt predicates.

Adjust and update tests as per feedback in
https://github.com/llvm/llvm-project/pull/146711.


  Commit: 43a9ec2ecdf4aac8966e3b02e4e92c794f5b6a27
      https://github.com/llvm/llvm-project/commit/43a9ec2ecdf4aac8966e3b02e4e92c794f5b6a27
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/aarch64-sme-in-streaming-mode.ll

  Log Message:
  -----------
  [AArch64][SME] Instcombine `llvm.aarch64.sme.in.streaming.mode()` (#147930)

This can fold away in functions with known streaming modes.


  Commit: 1db33f1034aa758ff7a04d09641232d2ce1a2a2b
      https://github.com/llvm/llvm-project/commit/1db33f1034aa758ff7a04d09641232d2ce1a2a2b
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Report all `allowPatternRollback` violations as fatal errors (#148416)

Report all `allowPatternRollback` API violations as fatal errors. If
violated, the IR is potentially in an invalid/inconsistent state from
which the driver cannot recover.


  Commit: 59b39c0031eded7c46e554b161382187cb2d0ca5
      https://github.com/llvm/llvm-project/commit/59b39c0031eded7c46e554b161382187cb2d0ca5
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    A clang-tools-extra/clang-tidy/readability/UseConcisePreprocessorDirectivesCheck.cpp
    A clang-tools-extra/clang-tidy/readability/UseConcisePreprocessorDirectivesCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/use-concise-preprocessor-directives.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/use-concise-preprocessor-directives.cpp

  Log Message:
  -----------
  [clang-tidy] Add new check: `readability-use-concise-preprocessor-directives` (#146830)

Closes #132561.

This is a check that rewrites `#if`s and `#elif`s like so:

```cpp
#if  defined(MEOW) // -> #ifdef  MEOW
#if !defined(MEOW) // -> #ifndef MEOW
```

And, since C23 and C++23:

```cpp
#elif  defined(MEOW) // -> #elifdef  MEOW
#elif !defined(MEOW) // -> #elifndef MEOW
```


  Commit: b6313b381ac0e83012ea11b4549cd8cb39b686d2
      https://github.com/llvm/llvm-project/commit/b6313b381ac0e83012ea11b4549cd8cb39b686d2
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 59b39c0031ed


  Commit: 7ccdc595f8ecca0bc477c3e17683c52dca440845
      https://github.com/llvm/llvm-project/commit/7ccdc595f8ecca0bc477c3e17683c52dca440845
  Author: Finn Plummer <finn.c.plum at gmail.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/RootSignatures-AST.hlsl
    M clang/test/CodeGenHLSL/RootSignature.hlsl
    M clang/test/SemaHLSL/RootSignature-err.hlsl
    A clang/test/SemaHLSL/RootSignature-flags-err.hlsl

  Log Message:
  -----------
  [HLSL][RootSignature] Add basic parameter validations of Root Elements (#145795)

In this pr we go through and enforce the various bounded parameter
values for non-flag values and the valid flag combinations for
`RootDescriptor` and `DescriptorRange` flags.

For reference of the required checks, please see here:
https://github.com/llvm/wg-hlsl/blob/main/proposals/0002-root-signature-in-clang.md#validations-in-sema.

- Updates `SemaHLSL` to iterate through `RootElement`s and verify that
all non-flag parameters are within their bounds
- Updates `SemaHLSL` to iterate through `RootElement`s and verify that
all flag parameters are a valid combination
- Extends `RootSignature-err.hlsl` with testcases for all invalid
specifications
- Adds `RootSignature-flags-err.hlsl` with testcase for invalid flag
specifications

Resolves: https://github.com/llvm/llvm-project/issues/129940


  Commit: f168175d01247af53e3ab243486065facc18fa49
      https://github.com/llvm/llvm-project/commit/f168175d01247af53e3ab243486065facc18fa49
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

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

  Log Message:
  -----------
  [VPlan] Move using namespace VPlanPatternMatch to top level (NFC).

VPlanConstruction.cpp doesn't use IR pattern matching, so using
VPlanPatternMatch can be moved to the top-level, to slightly reduce the
diff in follow-up changes.


  Commit: f4c7cc26b65912c9951f0cb09b3a5ba082096687
      https://github.com/llvm/llvm-project/commit/f4c7cc26b65912c9951f0cb09b3a5ba082096687
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll

  Log Message:
  -----------
  [LV] Use more precise isPredicatedInst in legacy CCH (NFC).

Legal::isMaskRequired may be overly conservative and also return true
when no mask is actually required.

Use isPredicatedInst from the cost model instead, which fixes a
cost-model divergence between legacy and VPlan cost model where the
legacy cost model incorrectly assumed some loads were predicated.

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


  Commit: 047552600bd9fac5a6ae63d6e4d44cc174cc3da6
      https://github.com/llvm/llvm-project/commit/047552600bd9fac5a6ae63d6e4d44cc174cc3da6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp

  Log Message:
  -----------
  [Sema] Remove an unnecessary cast (NFC) (#148531)

Dtor is already of CXXDestructorDecl *.


  Commit: b97fad1b4155b984fc463905c637f1d17ccf322b
      https://github.com/llvm/llvm-project/commit/b97fad1b4155b984fc463905c637f1d17ccf322b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp

  Log Message:
  -----------
  [AArch64] Remove an unnecessary cast (NFC) (#148532)

getRegisterInfo() already returns const AArch64RegisterInfo *.


  Commit: ebaadb1f163c6f1b314af8934a96937b0da43b54
      https://github.com/llvm/llvm-project/commit/ebaadb1f163c6f1b314af8934a96937b0da43b54
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp

  Log Message:
  -----------
  [ARM] Remove unnecessary casts (NFC) (#148533)

Decoder is already of const MCDisassembler *.


  Commit: 3f78e91340601cb51b737015eb65636ccf02d71d
      https://github.com/llvm/llvm-project/commit/3f78e91340601cb51b737015eb65636ccf02d71d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

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

  Log Message:
  -----------
  [SystemZ] Remove unnecessary casts (NFC) (#148534)

getInstrInfo() already returns const SystemZInstrInfo *.


  Commit: cac806bcc5b3367ca7573c2c5ae590379d89b84f
      https://github.com/llvm/llvm-project/commit/cac806bcc5b3367ca7573c2c5ae590379d89b84f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
    M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/ShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/ArmNeon/IR/ArmNeonDialect.cpp
    M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToNeonI8MMPattern.cpp
    M mlir/lib/Dialect/ArmSME/IR/ArmSME.cpp
    M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LowerContractionToSVEI8MMPattern.cpp
    M mlir/lib/Dialect/Async/IR/Async.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCountingOpt.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
    M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
    M mlir/lib/Dialect/ControlFlow/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Func/IR/FuncOps.cpp
    M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Dialect/IRDL/IRDLLoading.cpp
    M mlir/lib/Dialect/Index/IR/IndexOps.cpp
    M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
    M mlir/lib/Dialect/MPI/IR/MPI.cpp
    M mlir/lib/Dialect/Math/IR/MathDialect.cpp
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
    M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
    M mlir/lib/Dialect/NVGPU/Transforms/MmaSyncTF32Transform.cpp
    M mlir/lib/Dialect/NVGPU/Transforms/OptimizeSharedMemory.cpp
    M mlir/lib/Dialect/NVGPU/Utils/MMAUtils.cpp

  Log Message:
  -----------
  [mlir] Remove unused includes (NFC) (#148535)


  Commit: b56aebaf82f250ac35d18bcb4d4bf6806af91f49
      https://github.com/llvm/llvm-project/commit/b56aebaf82f250ac35d18bcb4d4bf6806af91f49
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.h
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/infrastructure/dump-config-filtering.cpp

  Log Message:
  -----------
  [clang-tidy] Add filtering of check options by enabled checks in '--dump-config' (#147142)

Added function to filter out `CheckOptions` that come from
`ClangTidyOptions::getDefaults()`, but does not have a corresponding
check enabled in the `Checks` configuration.

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


  Commit: 1fbfa333f64bf714efa84db6b1075fc864d53bf8
      https://github.com/llvm/llvm-project/commit/1fbfa333f64bf714efa84db6b1075fc864d53bf8
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCFragment.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
    M llvm/test/MC/ELF/mc-dump.s
    M llvm/test/MC/RISCV/Relocations/mc-dump.s
    M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp

  Log Message:
  -----------
  MCAlignFragment: Rename fields and use uint8_t FillLen

* Rename the vague `Value` to `Fill`.
* FillLen is at most 8. Making the field smaller to facilitate encoding
  MCAlignFragment as a MCFragment union member.
* Replace an unreachable report_fatal_error with assert.


  Commit: c384ec431dd7f771c9dd7c462cec5301ac0f32bb
      https://github.com/llvm/llvm-project/commit/c384ec431dd7f771c9dd7c462cec5301ac0f32bb
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add MacrosSkippedByRemoveParentheses option (#148345)

This allows RemoveParentheses to skip the invocations of function-like
macros.

Fixes #68354.
Fixes #147780.


  Commit: 86203b6b33e49cc1a8ce6d7d69e7df4970d8f7bd
      https://github.com/llvm/llvm-project/commit/86203b6b33e49cc1a8ce6d7d69e7df4970d8f7bd
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
    M llvm/test/CodeGen/NVPTX/extractelement.ll
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
    M llvm/test/CodeGen/NVPTX/ldg-invariant-256.ll
    M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
    M llvm/test/CodeGen/NVPTX/load-store-vectors.ll
    M llvm/test/CodeGen/NVPTX/sext-setcc.ll

  Log Message:
  -----------
  [NVPTX] Use PRMT more widely, and improve folding around this instruction (#148261)

Replace uses of BFE with PRMT when lowering v4i8 vectors. This will
generally lead to equivalent or better SASS and reduces the number of
target specific operations we need to represent.
(https://cuda.godbolt.org/z/M75W6f8xd) Also implement KnownBits tracking
for PRMT allowing elimination of redundant AND instructions when
lowering various i8 operations.


  Commit: bfb686bb5ba503e9386dc899e1ebbe2488e6a0a8
      https://github.com/llvm/llvm-project/commit/bfb686bb5ba503e9386dc899e1ebbe2488e6a0a8
  Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
  Date:   2025-07-14 (Mon, 14 Jul 2025)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h

  Log Message:
  -----------
  Thread Safety Analysis: Move opcode comparison to Comparator (NFC)

The switch assumes that both operands have the same opcode, so it's
probably cleaner if we do the comparison there. This also deduplicates
the comparison.


  Commit: 5475ced599e032789ef2a24069f05361cada6858
      https://github.com/llvm/llvm-project/commit/5475ced599e032789ef2a24069f05361cada6858
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-07-13 (Sun, 13 Jul 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.h
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    A clang-tools-extra/clang-tidy/readability/UseConcisePreprocessorDirectivesCheck.cpp
    A clang-tools-extra/clang-tidy/readability/UseConcisePreprocessorDirectivesCheck.h
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/use-concise-preprocessor-directives.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/use-concise-preprocessor-directives.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/dump-config-filtering.cpp
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/RootSignatures-AST.hlsl
    M clang/test/CodeGenHLSL/RootSignature.hlsl
    M clang/test/SemaHLSL/RootSignature-err.hlsl
    A clang/test/SemaHLSL/RootSignature-flags-err.hlsl
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M libcxx/include/unordered_map
    M libcxx/test/std/containers/associative/multimap/incomplete_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/incomplete_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/incomplete.pass.cpp
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCFragment.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/Sparc/Sparc.td
    A llvm/lib/Target/Sparc/SparcInstrCrypto.td
    M llvm/lib/Target/Sparc/SparcInstrInfo.td
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/test/Analysis/CostModel/AArch64/reduce-add.ll
    M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
    M llvm/test/CodeGen/NVPTX/extractelement.ll
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
    M llvm/test/CodeGen/NVPTX/ldg-invariant-256.ll
    M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
    M llvm/test/CodeGen/NVPTX/load-store-vectors.ll
    M llvm/test/CodeGen/NVPTX/sext-setcc.ll
    A llvm/test/MC/Disassembler/Sparc/sparc-crypto.txt
    M llvm/test/MC/ELF/mc-dump.s
    M llvm/test/MC/RISCV/Relocations/mc-dump.s
    A llvm/test/MC/Sparc/sparc-crypto.s
    A llvm/test/Transforms/InstCombine/AArch64/aarch64-sme-in-streaming-mode.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
    M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags.ll
    M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
    M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
    M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/ShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/ArmNeon/IR/ArmNeonDialect.cpp
    M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToNeonI8MMPattern.cpp
    M mlir/lib/Dialect/ArmSME/IR/ArmSME.cpp
    M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LowerContractionToSVEI8MMPattern.cpp
    M mlir/lib/Dialect/Async/IR/Async.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCountingOpt.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
    M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
    M mlir/lib/Dialect/ControlFlow/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Func/IR/FuncOps.cpp
    M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Dialect/IRDL/IRDLLoading.cpp
    M mlir/lib/Dialect/Index/IR/IndexOps.cpp
    M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
    M mlir/lib/Dialect/MPI/IR/MPI.cpp
    M mlir/lib/Dialect/Math/IR/MathDialect.cpp
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
    M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
    M mlir/lib/Dialect/NVGPU/Transforms/MmaSyncTF32Transform.cpp
    M mlir/lib/Dialect/NVGPU/Transforms/OptimizeSharedMemory.cpp
    M mlir/lib/Dialect/NVGPU/Utils/MMAUtils.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

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

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/f3b795b3402c...5475ced599e0

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