[all-commits] [llvm/llvm-project] dbb6ed: [RISCV] Refactor SelectAddrRegRegScale. NFC
Fangrui Song via All-commits
all-commits at lists.llvm.org
Thu Jul 17 00:58:02 PDT 2025
Branch: refs/heads/users/MaskRay/spr/mc-restructure-mcalignfragment-as-a-fixed-part-an-alignment-tail
Home: https://github.com/llvm/llvm-project
Commit: dbb6ed76317a52ada7045611649e50c2afe51496
https://github.com/llvm/llvm-project/commit/dbb6ed76317a52ada7045611649e50c2afe51496
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Refactor SelectAddrRegRegScale. NFC
Rename UnwrapShl->SelectShl. Make it only responsible for matching
a SHL by constant.
Handle the fallback case of reg+reg with no scale outside of SelectShl.
Reorder the check so RHS is checked for shift first. The base pointer
is most likely on the LHS. It's very unlikely both operands are shifts.
This is preparation for adding better costing decisions to this code.
Commit: 5480fc6bb8ef6a6a895be7952d50d557116dcb38
https://github.com/llvm/llvm-project/commit/5480fc6bb8ef6a6a895be7952d50d557116dcb38
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Interpret boolean values correctly in cast folder (#147078)
Previously the cast folder would sign extend boolean values, leading
"true" to be casted to a value of -1 instead of 1. This change ensures
i1 values are zero extended, since i1 is used as a boolean value in
TOSA. According to the TOSA spec, the result of a boolean cast with
value "true" to another integer type should give a result of 1.
Fixes https://github.com/llvm/llvm-project/issues/57951
Commit: 871038759afb491c16fb2cd14b78e51e410efbf3
https://github.com/llvm/llvm-project/commit/871038759afb491c16fb2cd14b78e51e410efbf3
Author: Marco Elver <elver at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Thread Safety Analysis: Fix pointer handling of variables with deprecated attributes (#148974)
de10e44b6fe7 ("Thread Safety Analysis: Support warning on
passing/returning pointers to guarded variables") added checks for
passing pointer to guarded variables. While new features do not
necessarily need to support the deprecated attributes (`guarded_var`,
and `pt_guarded_var`), we need to ensure that such features do not cause
the compiler to crash.
As such, code such as this:
struct {
int v __attribute__((guarded_var));
} p;
int *g() {
return &p.v; // handleNoMutexHeld() with POK_ReturnPointer
}
Would crash in debug builds with the assertion in handleNoMutexHeld()
triggering. The assertion is meant to capture the fact that this helper
should only be used for warnings on variables (which the deprecated
attributes only applied to).
To fix, the function handleNoMutexHeld() should handle all POK cases
that apply to variables explicitly, and produce a best-effort warning.
We refrain from introducing new warnings to avoid unnecessary code bloat
for deprecated features.
Fixes: https://github.com/llvm/llvm-project/issues/140330
Commit: 17d3029331a65ea54ad1bdbf79add03d5a71dcd4
https://github.com/llvm/llvm-project/commit/17d3029331a65ea54ad1bdbf79add03d5a71dcd4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Make union activation more granular (#148835)
Only activate things if the syntactical structure suggests so. This adds
a bunch of new opcodes to control whether to activate in stores, etc.
Fixes #134789
Commit: d4a8a01cef1e417dd8c76fd2c5cde568122c27e3
https://github.com/llvm/llvm-project/commit/d4a8a01cef1e417dd8c76fd2c5cde568122c27e3
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/Object/ELF.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/test/tools/llvm-objdump/ELF/program-headers.test
M llvm/test/tools/llvm-readobj/ELF/section-types.test
M llvm/test/tools/yaml2obj/ELF/program-header.yaml
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[elf] Add support for {SHT,PT}_GNU_SFRAME constants (#148803)
Reference:
https://sourceware.org/git/?p=gnu-gabi.git;a=blob;f=program-loading-and-dynamic-linking.txt;h=3357d865720285df2d29c4e8f92de49ddf1beb40;hb=refs/heads/master
Commit: afe81507809fb845ee3368291adaa9671e6732c0
https://github.com/llvm/llvm-project/commit/afe81507809fb845ee3368291adaa9671e6732c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Simplify exituser handling by generating all extracts first(NFCI)
Simplify the handling of exit users by generating all extracts first
(safe option), and have FOR handling optimize the extracts, similar to
already done for reductions and inductions.
NFC modulo first-order recurrence extract order in middle block.
Commit: f223411e2e005ecd54523801db603b54d69f3159
https://github.com/llvm/llvm-project/commit/f223411e2e005ecd54523801db603b54d69f3159
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/ptr-replace-alloca.ll
Log Message:
-----------
[InstCombine]PtrReplacer: Correctly handle select with unavailable operands (#148829)
The testcase I added previously failed because a SelectInst with invalid
operands was created (one side `addrspace(4)`, the other
`addrspace(5)`).
PointerReplacer needs to dig deeper if the true and/or false
instructions of the select are not available.
Fixes SWDEV-542957
Commit: db2eb4d031028f9ad9b9ad6f6283f81598a404f0
https://github.com/llvm/llvm-project/commit/db2eb4d031028f9ad9b9ad6f6283f81598a404f0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__new/launder.h
M libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.types.verify.cpp
Log Message:
-----------
[libc++] Simplify std::launder (#147985)
Both Clang and GCC diagnose invalid calls to `__builtin_launder`, which
causes duplicate diagnostics when using `std::launder` in an invalid
way. While the diagnostic message for the builtin isn't perferct, it's
definitely good enough to understand the problem and adding our own
diagnostic doesn't really make things any clearer. Because of that, this
patch simply removes the `static_assert`s and lets the compiler handle
diagnosing incorrect arguments instead. This not only simplifies our
implementation, but also improves compile times a bit, since we avoid
instantiating some type traits.
Commit: 5d367080a8475600bae9cf1c793f2dacfde76c90
https://github.com/llvm/llvm-project/commit/5d367080a8475600bae9cf1c793f2dacfde76c90
Author: Tomás Longeri <tlongeri at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[MLIR][Vector] Fix bug in ExtractStrideSlicesOp canonicalization (#147591)
The pattern would produce an invalid slice when some dimensions were
both sliced and broadcast.
Commit: 4aa85cc3136e1b6d389ed0a9a109a17b1199a242
https://github.com/llvm/llvm-project/commit/4aa85cc3136e1b6d389ed0a9a109a17b1199a242
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
A llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/ProcessImplicitDefs.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/X86/unreachable-mbb-undef-phi.mir
Log Message:
-----------
[CodeGen][NPM] Port ProcessImplicitDefs to NPM (#148110)
same as https://github.com/llvm/llvm-project/pull/138829
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 7d52b72239caba92a48e2cacbe5758e18efaed1c
https://github.com/llvm/llvm-project/commit/7d52b72239caba92a48e2cacbe5758e18efaed1c
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-bits-sbfe.mir
Log Message:
-----------
[AMDGPU] Compute GISel KnownBits for S_BFE instructions (#141588)
Next patches in the stack will emit them in the RegBankCombiner. With this, S_BFE instructions will hopefully interfere less with optimizations.
Commit: cee679aa3f2b98b191873ecfeaa3d821a9156431
https://github.com/llvm/llvm-project/commit/cee679aa3f2b98b191873ecfeaa3d821a9156431
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__tree
A libcxx/test/extensions/libcxx/always_initialize_iterators.pass.cpp
Log Message:
-----------
[libc++] Always initialize __tree::{,const_}iterator (#147167)
This was probably added to support https://wg21.link/n3644 but there's
no reason not to initialize the pointer in all standard modes. This is
technically an extension since n3644 only required value-initialized
iterators to be comparable, but supporting this as an extension should
be uncontroversial since it avoids potential reads of uninitialized
memory in C++03/C++11 without doing any harm.
Commit: ffcb0a4559b850c5ba51003ae1877c7c2ae9836f
https://github.com/llvm/llvm-project/commit/ffcb0a4559b850c5ba51003ae1877c7c2ae9836f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__memory_resource/polymorphic_allocator.h
A libcxx/test/libcxx/mem/mem.res/ctor.nullptr.assert.pass.cpp
A libcxx/test/libcxx/mem/mem.res/nonnull.verify.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/resource.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/select_on_container_copy_construction.pass.cpp
Log Message:
-----------
[libc++] Update polymorphic_allocator to never contain a nullptr (#148423)
According to `[mem.poly.allocator.ctor]` the pointer contained in
`polymorphic_allocator` can never be null. The default constructor uses
`get_default_resource()`, which never returns null and the constructor
taking a pointer explicitly has a precondition that the pointer is
non-null.
This patch adds a warning and an assertion in case a user passes a null
pointer to `polymorphic_allocator` as well as marking `resource()` to
never return null.
This also fixes some tests which contained UB.
Fixes #148420
Commit: 7c69c3b0baa5a99680aa8c6972a6b3ea41393943
https://github.com/llvm/llvm-project/commit/7c69c3b0baa5a99680aa8c6972a6b3ea41393943
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/src/string/memory_utils/CMakeLists.txt
A libc/src/string/memory_utils/arm/common.h
M libc/src/string/memory_utils/arm/inline_memcpy.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][NFC] refactor Cortex `memcpy` code (#148204)
This patch is in preparation for the Cortex `memset` implementation.
It improves the codegen by generating a prefetch for large sizes.
Commit: d7f6660c34b84c0e04843ba29cfc60b4aacd870c
https://github.com/llvm/llvm-project/commit/d7f6660c34b84c0e04843ba29cfc60b4aacd870c
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
Log Message:
-----------
[mlir][tosa] Remove profile compliance of cond_if and while_loop (#148212)
The requirement for a boolean condition is already checked for both
operators elsewhere. `cond_if` requires a boolean condition at
construction. `while_loop` cond_graph is checked in the verifier for a
scalar boolean output type.
Commit: 3e4153c97b54d456cfaf6ae21391122582b0ab28
https://github.com/llvm/llvm-project/commit/3e4153c97b54d456cfaf6ae21391122582b0ab28
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
A clang/include/clang/Basic/BuiltinsRISCVXAndes.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/riscv_nds.h
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt-c-api.c
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt.c
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
A llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
Log Message:
-----------
[RISCV] Implement Builtins for XAndesBFHCvt extension. (#148804)
XAndesBFHCvt provides two builtins functions for converting between
float and bf16. Users can use them to convert bf16 values loaded from
memory to float, perform arithmetic operations, then convert them back
to bf16 and store them to memory.
The load/store and move operations for bf16 will be handled in a later
patch.
Commit: 29e14c3b447af604774a7f4f8ed961f204d6b5b4
https://github.com/llvm/llvm-project/commit/29e14c3b447af604774a7f4f8ed961f204d6b5b4
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
R llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
Log Message:
-----------
[AMDGPU] Remove widen-16-bit-ops from CGP (#145483)
This was already off by default so there is no codegen change.
Commit: 1c223829b817be3174ec7c6056524058358b90b1
https://github.com/llvm/llvm-project/commit/1c223829b817be3174ec7c6056524058358b90b1
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Fix transpose_conv2d verifier when output channels are dynamic (#147062)
This commit fixes a transpose_conv2d verifier check which compares the
output channels size to the bias size. The check didn't make sure output
channels were static before performing the comparison. This lead to
failures such as:
```
'tosa.transpose_conv2d' op bias channels expected to be equal to output channels (-9223372036854775808) or 1, got 5
```
when the output channels size was dynamic.
Commit: 999a8fb812df766c5cdfda3cea8e71548e89fc8b
https://github.com/llvm/llvm-project/commit/999a8fb812df766c5cdfda3cea8e71548e89fc8b
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/src/string/memory_utils/CMakeLists.txt
R libc/src/string/memory_utils/arm/common.h
M libc/src/string/memory_utils/arm/inline_memcpy.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Revert "[libc][NFC] refactor Cortex `memcpy` code" (#149035)
Reverts llvm/llvm-project#148204
`libc-arm32-qemu-debian-dbg` is failing, reverting and investigating
Commit: 50096134f869f4ccb5e5f650edd0dd512c5a751d
https://github.com/llvm/llvm-project/commit/50096134f869f4ccb5e5f650edd0dd512c5a751d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++][NFC] Remove some __tree internal accessor functions (#147266)
Commit: c364e6234e727cbf54ca666fa706693711a31119
https://github.com/llvm/llvm-project/commit/c364e6234e727cbf54ca666fa706693711a31119
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 3e4153c97b54
Commit: de4b458aa5e52812aa9c392f62a616b6c6c1716f
https://github.com/llvm/llvm-project/commit/de4b458aa5e52812aa9c392f62a616b6c6c1716f
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/saturating-vec-smull.ll
Log Message:
-----------
[AArch64][Codegen]Transform saturating smull to sqdmulh (#143671)
This patch adds a pattern for recognizing saturating vector
smull. Prior to this patch these were performed using a
combination of smull+smull2+uzp+smin like the following
```
smull2 v5.2d, v1.4s, v2.4s
smull v1.2d, v1.2s, v2.2s
uzp2 v1.4s, v1.4s, v5.4s
smin v1.4s, v1.4s, v0.4s
```
which now optimizes to
```
sqdmulh v0.4s, v1.4s, v0.4s
```
This only operates on vectors containing int32 and int16 types
Commit: 828a867ee010cdd832c43f7d844959adb4884b2e
https://github.com/llvm/llvm-project/commit/828a867ee010cdd832c43f7d844959adb4884b2e
Author: David Green <david.green at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/reduce-and.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-or.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
Log Message:
-----------
[AArch64] Reduce the costs of and/or/xor reductions (#148553)
Since the costs were added the codegen for i8/i16 and/or/xor reductions
has improved. This updates the cost model to produce the same costs in
terms of number of instructions.
Commit: 905bb5bddb690765cab5416d55ab017d7c832eb3
https://github.com/llvm/llvm-project/commit/905bb5bddb690765cab5416d55ab017d7c832eb3
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/fpenv-xlen.ll
Log Message:
-----------
[RISCV][FPEnv] Lowering of fpmode intrinsics (#148569)
The change implements custom lowering of `get_fpmode`, `set_fpmode` and
`reset_fpmode` for RISCV target. The implementation is aligned with the
functions `fegetmode` and `fesetmode` in GLIBC.
Commit: 5ae49393957c6b4d47ace7aaf5fc1e0388d3a695
https://github.com/llvm/llvm-project/commit/5ae49393957c6b4d47ace7aaf5fc1e0388d3a695
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlVector.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/TestDataFormatterStdVector.py
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::vector (#147538)
This adds synthetic child providers for `std::vector<T>` and
`std::vector<bool>` for MSVC's STL.
The structure of a `std::vector<T>` is relatively similar to libc++'s
implementation that uses `__begin` and `__end`.
`std::vector<bool>` is different. It's a `std::vector<unsigned int>`
wrapper instead of `std::vector<uint8_t>`. This makes the calculation
slightly less simple. I put a comment in the `GetChildAtIndex` to make
this clear.
- [NatVis for
`std::vector<T>`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/debugger/STL.natvis#L1193-L1205)
- [NatVis for
`std::vector<bool>`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/debugger/STL.natvis#L1167-L1179)
Towards #24834.
Commit: f98cf07b7dc7af7716e1da9a1257b8c6416f9a46
https://github.com/llvm/llvm-project/commit/f98cf07b7dc7af7716e1da9a1257b8c6416f9a46
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/examples/synthetic/gnu_libstdcpp.py
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
Log Message:
-----------
[LLDB] Convert libstdc++ std::variant summary to C++ (#148929)
This PR converts the `std::variant` summary from Python to C++.
Split from #148554. MSVC's STL and libstdc++ use the same type name for
`std::variant`, thus they need one "dispatcher" function that checks the
type and calls the appropriate summary. For summaries, both need to be
implemented in C++.
This is mostly a 1:1 translation. The main difference is that in C++,
the summary returns `false` if it can't inspect the object properly
(e.g. a member could not be found). In Python, this wasn't possible.
Commit: 3483ac50e396f395008cd9456ca575891fb2d24b
https://github.com/llvm/llvm-project/commit/3483ac50e396f395008cd9456ca575891fb2d24b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port 5ae49393957c
Commit: 46b4bd2882447c46138f7272bc915ce6f74bf7bc
https://github.com/llvm/llvm-project/commit/46b4bd2882447c46138f7272bc915ce6f74bf7bc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Implement _LIBCPP_SUPPRESS_DEPRECATED macros in terms of _LIBCPP_DIAGNOSTIC macros (#143857)
This makes the code a bit more consistent, since we use the
`_LIBCPP_DIAGNOSTIC` macros everywhere else.
Commit: bbfbe7d789f7b6ade715f3656db0bdd657eeef68
https://github.com/llvm/llvm-project/commit/bbfbe7d789f7b6ade715f3656db0bdd657eeef68
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode][NFC] Remove unused function prototypes (#149031)
Commit: 60579ec3059b2b6cc9dad90eaac1ed363fc395a7
https://github.com/llvm/llvm-project/commit/60579ec3059b2b6cc9dad90eaac1ed363fc395a7
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/BLAKE3/llvm_blake3_prefix.h
Log Message:
-----------
[Support][BLAKE3] Prefix more blake3 methods (#149007)
Added by #147948, blake3_xof_many and blake3_compress_subtree_wide cause
conflicts when linking llvm and blake3 statically into the same binary.
Similar to #148607.
Commit: 653872f782e1faaabc1da23769e6b35b10e74bde
https://github.com/llvm/llvm-project/commit/653872f782e1faaabc1da23769e6b35b10e74bde
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/DebugInfo/KeyInstructions/Generic/verify.ll
Log Message:
-----------
[KeyInstr] Fix verifier check (#149043)
The verifier check was in the wrong place, meaning it wasn't actually
checking many instructions.
Fixing that causes a test failure (coro-dwarf-key-instrs.cpp) because
coros turn off the feature but still annotate instructions with the
metadata (which is a supported situation, but the verifier doesn't like
it, and it's hard to teach the verifier to like it).
Fix that by avoiding emitting any key instruction metadata if the
DISubprogram has opted out of key instructions.
Commit: 38be53aa04de8c6d494de8074328ac8907f3f631
https://github.com/llvm/llvm-project/commit/38be53aa04de8c6d494de8074328ac8907f3f631
Author: Artemiy Bulavin <artemiyb at graphcore.ai>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/unittests/IR/CMakeLists.txt
A mlir/unittests/IR/DistinctAttributeAllocatorTest.cpp
Log Message:
-----------
[MLIR] Fix use-after-frees when accessing DistinctAttr storage (#148666)
This PR fixes a use-after-free error that happens when `DistinctAttr`
instances are created within a `PassManager` running with crash recovery
enabled. The root cause is that `DistinctAttr` storage is allocated in a
thread_local allocator, which is destroyed when the crash recovery
thread joins, invalidating the storage.
Moreover, even without crash reproduction disabling multithreading on
the context will destroy the context's thread pool, and in turn delete
the threadlocal storage. This means a call to
`ctx->disableMulthithreading()` breaks the IR.
This PR replaces the thread local allocator with a synchronised
allocator that's shared between threads. This persists the lifetime of
allocated DistinctAttr storage instances to the lifetime of the context.
### Problem Details:
The `DistinctAttributeAllocator` uses a
`ThreadLocalCache<BumpPtrAllocator>` for lock-free allocation of
`DistinctAttr` storage in a multithreaded context. The issue occurs when
a `PassManager` is run with crash recovery (`runWithCrashRecovery`), the
pass pipeline is executed on a temporary thread spawned by
`llvm::CrashRecoveryContext`. Any `DistinctAttr`s created during this
execution have their storage allocated in the thread_local cache of this
temporary thread. When the thread joins, the thread_local storage is
destroyed, freeing the `DistinctAttr`s' memory. If this attribute is
accessed later, e.g. when printing, it results in a use-after-free.
As mentioned previously, this is also seen after creating some
`DistinctAttr`s and then calling `ctx->disableMulthithreading()`.
### Solution
`DistinctAttrStorageAllocator` uses a synchronised, shared allocator
instead of one wrapped in a `ThreadLocalCache`. The former is what
stores the allocator in transient thread_local storage.
### Testing:
A C++ unit test has been added to validate this fix. (I was previously
reproducing this failure with `mlir-opt` but I can no longer do so and I
am unsure why.)
-----
Note: This is a 2nd attempt at my previous PR
https://github.com/llvm/llvm-project/pull/128566 that was reverted in
https://github.com/llvm/llvm-project/pull/133000. I believe I've
addressed the TSAN and race condition concerns.
Commit: 5b8c15c6e7f3ac17383c12483f466a721b1040ba
https://github.com/llvm/llvm-project/commit/5b8c15c6e7f3ac17383c12483f466a721b1040ba
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[DebugInfo] Remove getPrevNonDebugInstruction (#148859)
With the advent of intrinsic-less debug-info, we no longer need to
scatter calls to getPrevNonDebugInstruction around the codebase. Remove
most of them -- there are one or two that have the "SkipPseudoOp" flag
turned on, however they don't seem to be in positions where skipping
anything would be reasonable.
Commit: e333d6019dafd84f9aef919894d8c82389cde001
https://github.com/llvm/llvm-project/commit/e333d6019dafd84f9aef919894d8c82389cde001
Author: Julian Nagele <j.nagele at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
Log Message:
-----------
[AArch64] Replace expensive move from wzr by two moves via floating point immediate (#146538)
We've noticed that inserting 0 into a known vector lane is implemented
via a move from wzr, i.e., moving between register banks. We think it
will be cheaper (and have seen improvements on our benchmarks) to
materialize 0 into a floating point register and insert from there.
PR: https://github.com/llvm/llvm-project/pull/146538
Commit: b117ccf40df16bcd0b24e2a91d8f749ddb7933f3
https://github.com/llvm/llvm-project/commit/b117ccf40df16bcd0b24e2a91d8f749ddb7933f3
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
A llvm/test/tools/llc/new-pm/start-stop-inserted.ll
Log Message:
-----------
[CodeGen][NPM] Account inserted passes for -start/stop options (#148111)
same as https://github.com/llvm/llvm-project/pull/138830
This partly solves the issue
https://github.com/llvm/llvm-project/issues/138831 for -enable-new-pm.
https://github.com/llvm/llvm-project/pull/137290 will not have this
problem, but this needs to be added this till we migrate to the new pass
builder structure.
Even with this, there is no way to -start-after an inserted pass right
now.
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 73630d5e20c8f29aec426954f448079665caf3ab
https://github.com/llvm/llvm-project/commit/73630d5e20c8f29aec426954f448079665caf3ab
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
[Support] Error if SocketPath is too long (#148903)
If the path is longer than sockaddr_un's buffer, it will be truncated,
at which point it may become indistinguishable from similar truncated
paths. This will cause `bind` to fail with an "Address already in use"
error. There is some existing code that checks `fs::exists` to catch
these errors, but since `fs::exists` compares the full un-truncated
paths, a too-long path will prevent those checks from working.
rdar://154397133
Commit: 3b8a18c27a1e70895feac15d48b3a6122e6b377f
https://github.com/llvm/llvm-project/commit/3b8a18c27a1e70895feac15d48b3a6122e6b377f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
Log Message:
-----------
[clang][bytecode] Fix contains check using llvm::find (#149050)
We need to compare to the end() interator.
Commit: 402b989693a0d5d17be6bf996bce52cf3ca73886
https://github.com/llvm/llvm-project/commit/402b989693a0d5d17be6bf996bce52cf3ca73886
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/bug-multi-operands-to-update-after-fold.mir
Log Message:
-----------
AMDGPU: Fix assert when multi operands to update after folding imm (#148205)
In the original motivating test case,
[FoldList](https://github.com/llvm/llvm-project/blob/d8a2141ff98ee35cd1886f536ccc3548b012820b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp#L1764)
had entries:
```
#0: UseMI: %224:sreg_32 = S_OR_B32 %219.sub0:sreg_64, %219.sub1:sreg_64, implicit-def dead $scc
UseOpNo: 1
#1: UseMI: %224:sreg_32 = S_OR_B32 %219.sub0:sreg_64, %219.sub1:sreg_64, implicit-def dead $scc
UseOpNo: 2
```
After calling
[updateOperand(#0)](https://github.com/llvm/llvm-project/blob/d8a2141ff98ee35cd1886f536ccc3548b012820b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp#L1773),
[tryConstantFoldOp(#0.UseMI)](https://github.com/llvm/llvm-project/blob/d8a2141ff98ee35cd1886f536ccc3548b012820b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp#L1786)
removed operand 1, and entry #1.UseOpNo was no longer valid,
resulting in an
[assert](https://github.com/llvm/llvm-project/blob/4a35214bddbb67f9597a500d48ab8c4fb25af150/llvm/include/llvm/ADT/ArrayRef.h#L452).
This change defers constant folding until all operands have been updated
so that UseOpNo values remain stable.
Commit: 62bd778fd46e647bf3c32540651413f848448f19
https://github.com/llvm/llvm-project/commit/62bd778fd46e647bf3c32540651413f848448f19
Author: enh-google <enh at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/android.h
M libcxx/include/module.modulemap.in
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
Remove workarounds for NDK versions before 2017's r16. (#148879)
Commit: 949103b45c2f7f1fc28106b5db435660e466b804
https://github.com/llvm/llvm-project/commit/949103b45c2f7f1fc28106b5db435660e466b804
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Use range-based `for` in `matchAssociativeReduction` (#149029)
Commit: 7674566c9666e69d274b145ea4744c6ac13c1adb
https://github.com/llvm/llvm-project/commit/7674566c9666e69d274b145ea4744c6ac13c1adb
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Simplify `count_if` to `count` (#149072)
Commit: ade2f1023d716bbf1473aaaf46d10faac73b014f
https://github.com/llvm/llvm-project/commit/ade2f1023d716bbf1473aaaf46d10faac73b014f
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFCI] Don't trim indexes, reuse a variable (#149074)
Commit: 5abdce4083ed37203e4893f8f7ef3890586b008a
https://github.com/llvm/llvm-project/commit/5abdce4083ed37203e4893f8f7ef3890586b008a
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/spill-fold.mir
Log Message:
-----------
[LLVM][AArch64InstrInfo] Prevent fill folding when DstReg is SP. (#148885)
We can remove subreg COPY instructions by filling directly into the
COPY's destination register. However, this is only valid when the copy
and fill have compatible register classes.
Fixes https://github.com/llvm/llvm-project/issues/148659
Commit: 9e5470e7d6ea1ad4fe25a9416706d769e41a03c1
https://github.com/llvm/llvm-project/commit/9e5470e7d6ea1ad4fe25a9416706d769e41a03c1
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/Sema/const-eval.c
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-backtrace-limit.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/increment.pass.cpp
Log Message:
-----------
[Clang] Diagnose forming references to nullptr (#143667)
Per [decl.ref],
> Because a null pointer value or a pointer past the end of an object
does not point to an object, a reference in a well-defined program
cannot refer to such things.
Note this does not fixes the new bytecode interpreter.
Fixes #48665
Commit: 7392a546bb34c6fe569e30341138bb70115ca905
https://github.com/llvm/llvm-project/commit/7392a546bb34c6fe569e30341138bb70115ca905
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/freeze.ll
Log Message:
-----------
[InstCombine] Treat identical operands as one in pushFreezeToPreventPoisonFromPropagating (#145348)
To push a freeze through an instruction, only one operand may produce
poison. However, this currently fails for identical operands which are
treated as separate. This patch fixes this by treating them as a single
operand.
Commit: 4cc9af219fbeece77e0d874d9eb4b479b6e475d1
https://github.com/llvm/llvm-project/commit/4cc9af219fbeece77e0d874d9eb4b479b6e475d1
Author: Chaitanya Koparkar <ckoparkar at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
Log Message:
-----------
[mlir][bufferization] Fix a typo in to_tensor op's summary field (#149082)
Fixes #149081
Commit: c71b92d09f584d41ed8536791e6dac4fa079eedc
https://github.com/llvm/llvm-project/commit/c71b92d09f584d41ed8536791e6dac4fa079eedc
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV][FPE] Remove unused variable (#149054)
It was added by me in 905bb5bddb690765cab5416d55ab017d7c832eb3, which
committed PR https://github.com/llvm/llvm-project/pull/148569.
Commit: 1742966c0df03d1f00a177a8d8a2a2afaec6938d
https://github.com/llvm/llvm-project/commit/1742966c0df03d1f00a177a8d8a2a2afaec6938d
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/amdgcn-complex.f90
Log Message:
-----------
[Flang] Force lowering to Complex for AMDGPU (#144927)
Commit: fc114e4d931ae25f74a15e42371dbead1387ad51
https://github.com/llvm/llvm-project/commit/fc114e4d931ae25f74a15e42371dbead1387ad51
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A mlir/include/mlir/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/ComplexToROCDLLibraryCalls/CMakeLists.txt
A mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
A mlir/test/Conversion/ComplexToROCDLLibraryCalls/complex-to-rocdl-library-calls.mlir
Log Message:
-----------
[MLIR] Add ComplexTOROCDLLibraryCalls pass (#144926)
Commit: dbb12109b947995d5882ca521f7b7716d6ac9ae4
https://github.com/llvm/llvm-project/commit/dbb12109b947995d5882ca521f7b7716d6ac9ae4
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/Target.cpp
Log Message:
-----------
[OpenMP] Add TargetAMDGPU support for Complex argument and return types (#144924)
Commit: 88a498c3b110b73c10362df8c18ca13fe1873744
https://github.com/llvm/llvm-project/commit/88a498c3b110b73c10362df8c18ca13fe1873744
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
A lldb/source/Plugins/Language/CPlusPlus/GenericList.cpp
R lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/forward_list/TestDataFormatterGenericForwardList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/TestDataFormatterGenericListLoop.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/main.cpp
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::(forward_)list (#148285)
Adds synthetic providers for MSVC's `std::forward_list` and `std::list`.
It refactors `LibCxxList` to be generic over the STL type (currently
libc++ or MSVC STL). The libstdc++ synthetic providers use something
similar in Python
[here](https://github.com/llvm/llvm-project/blob/3092b765ba0b2d20bd716944dda86ea8e4ad12e3/lldb/examples/synthetic/gnu_libstdcpp.py#L134).
Eventually, this could be ported to C++ as well.
Towards #24834.
Commit: 9ea27b841cdf3c702b5e0bc696eb404492dbc79f
https://github.com/llvm/llvm-project/commit/9ea27b841cdf3c702b5e0bc696eb404492dbc79f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port 88a498c3b110
Commit: 5328c732a47705363cd289cb281cbd0d3ccbb8fc
https://github.com/llvm/llvm-project/commit/5328c732a47705363cd289cb281cbd0d3ccbb8fc
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
Log Message:
-----------
[DebugInfo] Strip more debug-intrinsic code from local utils (#149037)
SROA and a few other facilities use generic-lambdas and some overloaded
functions to deal with both intrinsics and debug-records at the same time.
As part of stripping out intrinsic support, delete a swathe of this code
from things in the Utils directory.
This is a large diff, but is mostly about removing functions that were
duplicated during the migration to debug records. I've taken a few
opportunities to replace comments about "intrinsics" with "records",
and replace generic lambdas with plain lambdas (I believe this makes
it more readable).
All of this is chipping away at intrinsic-specific code until we get to
removing parts of findDbgUsers, which is the final boss -- we can't
remove that until almost everything else is gone.
Commit: 85349b49364d240a2e82981a7d7e0d01b13b1284
https://github.com/llvm/llvm-project/commit/85349b49364d240a2e82981a7d7e0d01b13b1284
Author: zGoldthorpe <zgoldtho at ualberta.ca>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[clang][amdgpu] Add builtin for struct buffer lds load (#148950)
This is essentially just a revision of #137678 which only exposes a
builtin for the intrinsic `llvm.amdgcn.struct.ptr.buffer.load.lds`,
which expects an `__amdgpu_buffer_rsrc_t` rather than a `v4i32` as its
first argument.
The reason for excluding the other intrinsics exposed by the cited PR is
because the intrinsics taking a `v4i32` are legacy and should be
deprecated.
Commit: 1600450f9098e5c9cb26840bd53f1be8a2559b7d
https://github.com/llvm/llvm-project/commit/1600450f9098e5c9cb26840bd53f1be8a2559b7d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang-c/Index.h
M clang/tools/libclang/CMakeLists.txt
A clang/tools/libclang/Obsolete.cpp
M llvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn
Log Message:
-----------
[Clang] Reintroduce obsolete libclang symbols to avoid an ABI break (#149079)
For more context, see
https://github.com/llvm/llvm-project/pull/119269#issuecomment-3075444493,
but briefly, when removing ARCMigrate, I also removed some symbols in
libclang, which constitutes an ABI break that we don’t want, so this pr
reintroduces the removed symbols; the declarations are marked as
deprecated for future removal, and the implementations print an error
and do nothing, which is what we used to do when ARCMigrate was
disabled.
Commit: 76058c09071491fd097e85a0f5434b564dfad60b
https://github.com/llvm/llvm-project/commit/76058c09071491fd097e85a0f5434b564dfad60b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
Log Message:
-----------
[clang] Move `ExceptionHandling` from `LangOptions` to `CodeGenOptions` (#148982)
This PR removes the command line parsing workaround introduced in
https://github.com/llvm/llvm-project/pull/146342 by moving
`LangOptions::ExceptionHandling` to `CodeGenOptions` that get parsed
even for IR input. Additionally, this improves layering, where the
codegen library now checks `CodeGenOptions` instead of `LangOptions` for
exception handling. (This got enabled by
https://github.com/llvm/llvm-project/pull/146422.)
Commit: a944e861f99f2bea9f2f5015deb52c1d82ac4f8a
https://github.com/llvm/llvm-project/commit/a944e861f99f2bea9f2f5015deb52c1d82ac4f8a
Author: Augie Fackler <augie at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] update for 3e4153c97b54d456cfaf6ae21391122582b0ab28
Commit: 752e31c27c0d2888e23db9db63dedc316dbaa1a4
https://github.com/llvm/llvm-project/commit/752e31c27c0d2888e23db9db63dedc316dbaa1a4
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
Log Message:
-----------
[LifetimeSafety] Make the dataflow analysis generic (#148222)
Refactored the lifetime safety analysis to use a generic dataflow framework with a policy-based design.
### Changes
- Introduced a generic `DataflowAnalysis` template class that can be specialized for different analyses
- Renamed `LifetimeLattice` to `LoanPropagationLattice` to better reflect its purpose
- Created a `LoanPropagationAnalysis` class that inherits from the generic framework
- Moved transfer functions from the standalone `Transferer` class into the analysis class
- Restructured the code to separate the dataflow engine from the specific analysis logic
- Updated debug output and test expectations to use the new class names
### Motivation
In order to add more analyses, e.g. [loan expiry](https://github.com/llvm/llvm-project/pull/148712) and origin liveness, the previous implementation would have separate, nearly identical dataflow runners for each analysis. This change creates a single, reusable component, which will make it much simpler to add subsequent analyses without repeating boilerplate code.
This is quite close to the existing dataflow framework!
Commit: 53355ab9328f5dbdaf77c8529b9eb95cce2166d2
https://github.com/llvm/llvm-project/commit/53355ab9328f5dbdaf77c8529b9eb95cce2166d2
Author: Stephen Long <63318318+steplong at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
Log Message:
-----------
[llvm-exegesis] fix test when building LLVM for WoA. NFC (#148968)
If building with LLVM_DEFAULT_TARGET_TRIPLE=arm-none-linux-gnueabi on
WoA (Windows on ARM), this test fails, so force it to use aarch64 with
-mtriple.
Commit: f7fc36dca7e40c1b38c2481b65280b396cd8daf8
https://github.com/llvm/llvm-project/commit/f7fc36dca7e40c1b38c2481b65280b396cd8daf8
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
Log Message:
-----------
[LifetimeSafety] Support bidirectional dataflow analysis (#148967)
Generalize the dataflow analysis to support both forward and backward analyses.
Some program analyses would be expressed as backward dataflow problems (like liveness analysis). This change enables the framework to support both forward analyses (like the loan propagation analysis) and backward analyses with the same infrastructure.
Commit: 01ab4238a874450a74a52c5c40a008de8a0e9a83
https://github.com/llvm/llvm-project/commit/01ab4238a874450a74a52c5c40a008de8a0e9a83
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
Log Message:
-----------
[JITLink][AArch32] Add explicit visibility macros to functions needed by unittests (#116557)
Avoid missing symbol errors when building JITLinkTests for windows
shared library builds with explicit symbol visibility macros are
enabled.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM
plugins on window.
Commit: 10d4652144fb5dd93b1996c6805ba805574e2cd7
https://github.com/llvm/llvm-project/commit/10d4652144fb5dd93b1996c6805ba805574e2cd7
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
Log Message:
-----------
[HashRecognize] Track visited in ValueEvolution (#147812)
Require that all Instructions in the Loop are visited by ValueEvolution,
as any stray instructions would complicate life for the optimization.
Commit: 8ef1a0ec1fd5663a1d85f9cc84bf6d86eb46980d
https://github.com/llvm/llvm-project/commit/8ef1a0ec1fd5663a1d85f9cc84bf6d86eb46980d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
Log Message:
-----------
[HashRecognize] Track visited in ValueEvolution (#147812)
Require that all Instructions in the Loop are visited by ValueEvolution,
as any stray instructions would complicate life for the optimization.
Commit: 584158f9aeac7df66ca08649b8c082883c66b360
https://github.com/llvm/llvm-project/commit/584158f9aeac7df66ca08649b8c082883c66b360
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Hoist check for SCEV-uncomputable dist (NFC) (#148841)
Hoist the check for SCEVCouldNotCompute distance into
getDependenceDistanceAndSize.
Commit: f995bc802d06448a41846652d5e9a9f30f80a688
https://github.com/llvm/llvm-project/commit/f995bc802d06448a41846652d5e9a9f30f80a688
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/examples/python/filter_disasm.py
M lldb/test/Shell/Commands/command-disassemble-riscv32-bytes.s
Log Message:
-----------
[lldb] Improve setting of program for filtering disassembly (#148823)
This changes the example command added in
https://github.com/llvm/llvm-project/pull/145793 so that the fdis
program does not have to be a single program name.
Doing so also means we can run the test on Windows where the program
needs to be "python.exe script_name".
I've changed "fdis set" to treat the rest of the command as the program.
Then store that as a list to be passed to subprocess. If we just use a
string, Python will think that "python.exe foo" is the name of an actual
program instead of a program and an argument to it.
This will still break if the paths have spaces in, but I'm trying to do
just enough to fix the test here without rewriting all the option
handling.
Commit: 616e4c43dd196450b11376971966d71e501c26b8
https://github.com/llvm/llvm-project/commit/616e4c43dd196450b11376971966d71e501c26b8
Author: Martin Erhart <martin.erhart at sifive.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir-c/Pass.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/CAPI/IR/Pass.cpp
Log Message:
-----------
[mlir] Add Python bindings to enable default passmanager timing (#149087)
Commit: 7eb65f470c5e5c6e4b3320c8bbe0eaf7705d8c4e
https://github.com/llvm/llvm-project/commit/7eb65f470c5e5c6e4b3320c8bbe0eaf7705d8c4e
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[DebugInfo] Delete a now-unused function after 5328c732a4770
Commit: 7d0a81c508f6268a85e4ad59e4fb78cde0d2e5ba
https://github.com/llvm/llvm-project/commit/7d0a81c508f6268a85e4ad59e4fb78cde0d2e5ba
Author: Augie Fackler <augie at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] update mlir BUILD files for fc114e4d931ae25f74a15e42371dbead1387ad51
Commit: d9190f8141661bd6120dea61d28ae8940fd775d0
https://github.com/llvm/llvm-project/commit/d9190f8141661bd6120dea61d28ae8940fd775d0
Author: Augie Fackler <augie at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] run buildifier on mlir/BUILD.bazel
This reorders a couple of deps lists, but seems worth doing.
Commit: a13712ed88cf6fc37d3789d4c3b54ffdd1a05a1d
https://github.com/llvm/llvm-project/commit/a13712ed88cf6fc37d3789d4c3b54ffdd1a05a1d
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/unittests/Host/NativeProcessProtocolTest.cpp
Log Message:
-----------
[lldb] Fix a crash in lldb-server during RemoveSoftwareBreakpoint() (#148738)
# Lldb-server crash
We have seen stacks like the following in lldb-server core dumps:
```
[
"__GI___pthread_kill at pthread_kill.c:46",
"__GI_raise at raise.c:26",
"__GI_abort at abort.c:100",
"__assert_fail_base at assert.c:92",
"__GI___assert_fail at assert.c:101",
"lldb_private::NativeProcessProtocol::RemoveSoftwareBreakpoint(unsigned long) at /redacted/lldb-server:0"
]
```
# Hypothesis of root cause
In `NativeProcessProtocol::RemoveSoftwareBreakpoint()`
([code](https://github.com/llvm/llvm-project/blob/19b2dd9d798c124406b0124a1b8debb711675281/lldb/source/Host/common/NativeProcessProtocol.cpp#L359-L423)),
a `ref_count` is asserted and reduced. If it becomes zero, the code
first go through a series of memory reads and writes to remove the
breakpoint trap opcode and to restore the original process code, then,
if everything goes fine, removes the entry from the map
`m_software_breakpoints` at the end of the function.
However, if any of the validations for the above reads and writes goes
wrong, the code returns an error early, skipping the removal of the
entry. This leaves the entry behind with a `ref_count` of zero.
The next call to `NativeProcessProtocol::RemoveSoftwareBreakpoint()` for
the same breakpoint[*] would violate the assertion about `ref_count > 0`
([here](https://github.com/llvm/llvm-project/blob/19b2dd9d798c124406b0124a1b8debb711675281/lldb/source/Host/common/NativeProcessProtocol.cpp#L365)),
which would cause a crash.
[*] We haven't found a *regular* way to repro such a next call in lldb
or lldb-dap. This is because both of them remove the breakpoint from
their internal list when they get any response from the lldb-server (OK
or error). Asking the client to delete the breakpoint a second time
doesn't trigger the client to send the `$z` gdb packet to lldb-server.
We are able to trigger the crash by sending the `$z` packet directly,
see "Manual test" below.
# Fix
Lift the removal of the map entry to be immediately after the decrement
of `ref_count`, before the early returns. This ensures that the asserted
case will never happen. The validation errors can still happen, and
whether they happen or not, the breakpoint has been removed from the
perspective of the lldb-server (same as that of lldb and lldb-dap).
# Manual test & unit test
See PR.
Commit: b8b99d83a6d891001d4070e3cac9f029cc57059e
https://github.com/llvm/llvm-project/commit/b8b99d83a6d891001d4070e3cac9f029cc57059e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__hash_table
M libcxx/include/unordered_map
R libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
Log Message:
-----------
[libc++] Simplify __hash_table further (#148375)
Commit: a89e6f66722713addd3a7a60377ddbb38add4702
https://github.com/llvm/llvm-project/commit/a89e6f66722713addd3a7a60377ddbb38add4702
Author: Steve O'Brien <steve at obrien.cc>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
Minor formatting fix in 'generate_feature_test_macro_components' (#148889)
Fixes a small annoyance where generated files have a format which does
not agree with the one checked during `code-formatter` in CI.
For example `libcxx-generate-files` updates (among possibly others) the
`*.version.compile.pass.cpp` files. Previously these files contained an
extra newline which would fail the code format check. If you update that
file manually to remove just that extra trailing newline, then
`check-generated-output` will fail due to the file's contents differing
from what's expected.
Contains a number of changes: one actual change to the py script, and
lots of resulting whitespace changes.
My process for this was:
* Update `generate_feature_test_macro_components`: just remove an extra
newline which causes the code-format step to fail
* Run `$NINJA libcxx-generate-files` to rebuild all these
`.version.pass.cpp`'s
* Watch this PR's CI run to ensure things pass (i.e. this didn't break
things worse)
Commit: cfc20ea15eea5704a79dd4e8d0eaeef4cf053268
https://github.com/llvm/llvm-project/commit/cfc20ea15eea5704a79dd4e8d0eaeef4cf053268
Author: Doug Wyatt <doug at sonosphere.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Sema/attr-nonblocking-sema.cpp
Log Message:
-----------
[Clang] FunctionEffects: Make a separate diagnostic group for redeclarations/overrides where effects are implicit. (#148690)
The current function effect diagnostics include these behaviors:
When you declare a function `nonblocking` (typically in a header) and
then omit the attribute on the implementation (or any other
redeclaration), Clang warns: attribute 'nonblocking' on function does
not match previous declaration.
But if a `nonblocking` function is a C++ virtual method, then overrides
are implicitly nonblocking; the attribute doesn't need to be explicitly
stated.
These behaviors are arguably inconsistent -- and also, both, more
pedantic than the rest of the function effect diagnostics.
This PR accomplishes two things:
- Separates the diagnostic on a redeclaration into a new group,
`-Wfunction-effect-redeclarations`, so it can be disabled independently.
- Adds a second diagnostic to this new group, for the case of an
override method missing the attribute. (This helps in a situation where
I'm trying to add `nonblocking` via a macro that does other things and I
want to know that the macro is missing on an override declaration.)
---------
Co-authored-by: Doug Wyatt <dwyatt at apple.com>
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: 372e99938f53bada5788a063e539ccc477ec3af9
https://github.com/llvm/llvm-project/commit/372e99938f53bada5788a063e539ccc477ec3af9
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Remove unused variable (#149115)
Commit: 33396d71e9aef624670380e11348a11b8ff74246
https://github.com/llvm/llvm-project/commit/33396d71e9aef624670380e11348a11b8ff74246
Author: cmtice <cmtice at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[LLDB] Update release note about DIL as requested. (#149117)
A post-commit review on PR #147887 requested a minor update to the
formatting of the LLDB DIL implementation release note.
Commit: 2206c7d4afc28d78c23db48de29d600ce1e8791b
https://github.com/llvm/llvm-project/commit/2206c7d4afc28d78c23db48de29d600ce1e8791b
Author: jjasmine <jjasmine at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
M llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
M llvm/test/Transforms/InstSimplify/fold-intrinsics.ll
M llvm/test/Transforms/InstSimplify/sincos.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[InstSimplify] Fold trig functions call of poison to poison (#148969)
Fold trig functions call of poison to poison.
This includes sin, cos, asin, acos, atan, atan2, sinh, cosh, sincos,
sincospi.
Test cases are fixed and also added to
llvm/test/Transforms/InstSimplify/fold-intrinsics.ll just like in
https://github.com/llvm/llvm-project/pull/146750
Commit: 9f2039755fc8a872d0a768581b5a09340a4f30be
https://github.com/llvm/llvm-project/commit/9f2039755fc8a872d0a768581b5a09340a4f30be
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang] Add missing symbol names to the error message (#148888)
Fixes #140485
Commit: dd3d26bc8973ed18a527d61a1d8e5961060f138a
https://github.com/llvm/llvm-project/commit/dd3d26bc8973ed18a527d61a1d8e5961060f138a
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
Revert "[Support] Error if SocketPath is too long" (#149096)
Reverts llvm/llvm-project#148903 due to bot failure
https://lab.llvm.org/buildbot/#/builders/187/builds/8162
Commit: 1754a7d5733d5305e4ec25ef0945b39d6882bb28
https://github.com/llvm/llvm-project/commit/1754a7d5733d5305e4ec25ef0945b39d6882bb28
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/BLAKE3/blake3_neon.c
Log Message:
-----------
[Support][BLAKE3] Restore static on blake3_hash4_neon (#149046)
This was dropped in #147948 and causes symbol conflicts if libblake3 is
also linked.
Commit: 82404e3c69168b9fdb779174d3499f5f87f818d2
https://github.com/llvm/llvm-project/commit/82404e3c69168b9fdb779174d3499f5f87f818d2
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
A llvm/test/CodeGen/AArch64/cgdata-no-merge-unnamed.ll
Log Message:
-----------
[CGData][GMF] Skip merging unnamed functions (#148995)
Skip merging unnamed functions to fix an assertion issue, since unnamed
functions would otherwise receive the same merged name --
https://github.com/llvm/llvm-project/blob/main/llvm/lib/CodeGen/GlobalMergeFunctions.cpp#L191
Commit: 64c273a6191bd0036deed7847d39440d36bbc604
https://github.com/llvm/llvm-project/commit/64c273a6191bd0036deed7847d39440d36bbc604
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
Log Message:
-----------
[clang-doc] fix ASan complaints from passing RepositoryURL as reference (#148923)
Passing RepositoryURL around as an optional reference triggered
stack-use-after-return complaints.
Commit: 78b9128250c9fe5c7f9e460a27cc28c6450fd8fd
https://github.com/llvm/llvm-project/commit/78b9128250c9fe5c7f9e460a27cc28c6450fd8fd
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Document the difference between `<abi>` and `<pref>` (#147929)
Document how LLVM expects to use `<abi>` and `<pref>`, as well as the
`pref >= abi` requirement.
Commit: 6e0b0ec66ac8de046cc95080166e2012819f7d93
https://github.com/llvm/llvm-project/commit/6e0b0ec66ac8de046cc95080166e2012819f7d93
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/bug148559.f90
Log Message:
-----------
[flang] Fix crash in Semantics (#148706)
Allow for renaming in USE association of Cray pointers.
Fixes https://github.com/llvm/llvm-project/issues/148559.
Commit: fc7f9d795d37cd119831e77e475e4690e4120bdb
https://github.com/llvm/llvm-project/commit/fc7f9d795d37cd119831e77e475e4690e4120bdb
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug148675.f90
Log Message:
-----------
[flang] Better error message for ambiguous ASSIGNMENT(=) (#148720)
When a type-bound generic ASSIGNMENT(=) procedure is ambiguous for a
particular reference, say so, rather than claiming that no specific
procedure matched the types and ranks of the LHS and RHS.
Fixes https://github.com/llvm/llvm-project/issues/148675.
Commit: 52a46dc57f29e87a5a298ce325562fa2e3d057c9
https://github.com/llvm/llvm-project/commit/52a46dc57f29e87a5a298ce325562fa2e3d057c9
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/non-tbp-dio.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/non-tbp-dio.cpp
M flang-rt/lib/runtime/type-info.cpp
M flang/include/flang/Semantics/runtime-type-info.h
M flang/lib/Lower/IO.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/module/__fortran_type_info.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo02.f90
M flang/test/Semantics/typeinfo09.f90
M flang/test/Semantics/typeinfo13.f90
Log Message:
-----------
[flang] Allow -fdefault-integer-8 with defined I/O (#148927)
Defined I/O subroutines have UNIT= and IOSTAT= dummy arguments that are
required to have type INTEGER with its default kind. When that default
kind is modified via -fdefault-integer-8, calls to defined I/O
subroutines from the runtime don't work.
Add a flag to the two data structures shared between the compiler and
the runtime support library to indicate that a defined I/O subroutine
was compiled under -fdefault-integer-8. This has been done in a
compatible manner, so that existing binaries are compatible with the new
library and new binaries are compatible with the old library, unless of
course -fdefault-integer-8 is used.
Fixes https://github.com/llvm/llvm-project/issues/148638.
Commit: bbcdad1f8eab303a9d56c76a0bced7b17c6d2656
https://github.com/llvm/llvm-project/commit/bbcdad1f8eab303a9d56c76a0bced7b17c6d2656
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
Log Message:
-----------
[flang][runtime] MCLOCK library routine (#148960)
Add MCLOCK as an interface to std::clock().
Commit: 3de11b70620d911613a48d493048cb48bb76ec19
https://github.com/llvm/llvm-project/commit/3de11b70620d911613a48d493048cb48bb76ec19
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/bind-c18.f90
Log Message:
-----------
[flang] Catch bad members of BIND(C) COMMON block (#148971)
Variables that can't be BIND(C), like pointers, can't be in a BIND(C)
common block, either.
Fixes https://github.com/llvm/llvm-project/issues/148922.
Commit: 4f8597f071bab5113a945bd653bec84bd820d4a3
https://github.com/llvm/llvm-project/commit/4f8597f071bab5113a945bd653bec84bd820d4a3
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
Log Message:
-----------
[LoopInterchange] Add test for floating point math flags (#149090)
Adding a test where both `ninf` and `reassoc` flags are present on the
instruction. We don't know yet if it is legal to interchange. Prima
facie, it does not look like it should be legal but more analysis is
needed.
Commit: e8dc96d9de14c4b2317b11b8bc6e9310113697b3
https://github.com/llvm/llvm-project/commit/e8dc96d9de14c4b2317b11b8bc6e9310113697b3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/docs/use/mcp.md
Log Message:
-----------
[lldb] Document MCP tools & resources (#148708)
Add documentation for the tools and resources exposed by LLDB's MCP
server.
Commit: b470ac419d7e8eec6c8a27539096e38a1751ee12
https://github.com/llvm/llvm-project/commit/b470ac419d7e8eec6c8a27539096e38a1751ee12
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[DebugInfo] Delete debug-intrinsic verifier checks (#149066)
We no longer produce debug-intrinsics, and whenever they're spotted in
bitcode or textual IR they get autoupgraded. We could quite reasonably
reject them out of hand as a construct that shouldn't be present.
However, the DXIL folks are likely to be converting records back to
intrinsics for years to come, and there's no need to make that an error.
There's no value in verifying them IMO.
Commit: 6f660e269242d51a8d36a9a1f98a2244e8311a1a
https://github.com/llvm/llvm-project/commit/6f660e269242d51a8d36a9a1f98a2244e8311a1a
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M third-party/benchmark/src/sysinfo.cc
Log Message:
-----------
Fix MSVC warning in benchmark (#147357)
Building LLVM with MSVC is raising the following warning:
```
llvm\third-party\benchmark\src\sysinfo.cc(375): warning C4062: enumerator 'CacheUnknown' in switch of enum '_PROCESSOR_CACHE_TYPE' is not handled
```
This change resolves the warning by moving the `Unknown` type into a
case block for `CacheUnknown`.
Not sure how this code flows back into the original source.
Commit: 8519143a9fd368e7cfcf61582683c4e48e7d67d0
https://github.com/llvm/llvm-project/commit/8519143a9fd368e7cfcf61582683c4e48e7d67d0
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_bit.cpp
Log Message:
-----------
[CIR] Add rotate operation (#148426)
This patch adds `cir.rotate` operation for the `__builtin_rotateleft`
and `__builtin_rotateright` families of builtin calls.
Commit: 97922a7d401a4bbbc74013d92f98119e5bdfaebd
https://github.com/llvm/llvm-project/commit/97922a7d401a4bbbc74013d92f98119e5bdfaebd
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/docs/resources/build.rst
Log Message:
-----------
[lldb][docs] Add CAMKE_BUILD_TYPE to standlone build instructions
The first stage requires it, the second appears to default to
debug mode, which works but it's better we advise release mode
to match.
Commit: 9f364fe9c446d498f46efff327871dc62db8212f
https://github.com/llvm/llvm-project/commit/9f364fe9c446d498f46efff327871dc62db8212f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/docs/resources/qemu-testing.rst
Log Message:
-----------
[lldb][docs] Add section on testing with QEMU user (#149057)
This is not recommended to basically anyone but on occasion it's useful
and could be used for testing with other simulator programs for example
bare metal simulators.
It is not something we do officially support or make any quality
guarantees for.
Adding this is also an excuse to document the limitations and make the
time spent setting up system mode look more worthwhile and might be good
to cite in future discussions about testing in simulation.
Commit: bd6c16c6cfe28105d992fa997dce6e18ea86a5a4
https://github.com/llvm/llvm-project/commit/bd6c16c6cfe28105d992fa997dce6e18ea86a5a4
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/machine-outliner-safe-range-in-middle.mir
Log Message:
-----------
[MachineOutliner] Avoid ranges that cross bundle boundary (#148977)
We found some code that was hitting this assert because
`getOutlinableRanges()` was trying to create a range that crossed a
bundle boundary.
https://github.com/llvm/llvm-project/blob/ae3bba4d15a10646ea91c6c0795633b82939857b/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h#L133-L135
Avoid creating those ranges and add a test that hit the assert.
Commit: 8349bbd0b98c84836d55593c7eb035c2b0f4e87a
https://github.com/llvm/llvm-project/commit/8349bbd0b98c84836d55593c7eb035c2b0f4e87a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
Log Message:
-----------
[flang][cuda] Exit early when there is no device components (#149005)
- Exit early when there is no device components
- Make the retrieval of the record type more robust
Commit: 0f0305021c6e880f8787b9be6606c27e1a0641ed
https://github.com/llvm/llvm-project/commit/0f0305021c6e880f8787b9be6606c27e1a0641ed
Author: Udit Kumar Agarwal <udit.agarwal at intel.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M .github/workflows/email-check.yaml
Log Message:
-----------
[CI] Make email check workflow fail when author's email is private in Github UI (#148694)
**Problem**
Currently, the email check workflow uses `git` to see email used for the
last commit but the email address used when merging is actually governed
by GitHub settings not what's stored in `git`. Due to this, the email
check workflow passes even when the author's email is private in Github.
We saw several such cases in our fork of llvm. See
https://github.com/intel/llvm/issues/17675
**Solution**
Try to find user's email using GH's GraphQL APIs. User's email will be
null if it's hidden in the profile.
---------
Signed-off-by: Agarwal, Udit <udit.agarwal at intel.com>
Commit: 8d21025c3aeb1c98caef08f8446ec138c62288d1
https://github.com/llvm/llvm-project/commit/8d21025c3aeb1c98caef08f8446ec138c62288d1
Author: Brad Richardson <everythingfunctional at protonmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
A flang/docs/ParallelMultiImageFortranRuntime.md
M flang/docs/index.md
Log Message:
-----------
[flang] Parallel runtime library design doc (PRIF) (#76088)
The Parallel Runtime Interface for Fortran (PRIF) specifies the interface design for
supporting Fortran's multi-image parallel features in flang.
---------
Co-authored-by: Katherine Rasmussen <krasmussen at lbl.gov>
Co-authored-by: Damian Rouson <rouson at lbl.gov>
Co-authored-by: Dan Bonachea <dobonachea at lbl.gov>
Commit: fdec9fd4f81fd336d6d5d50bbd48cd0e095f46b9
https://github.com/llvm/llvm-project/commit/fdec9fd4f81fd336d6d5d50bbd48cd0e095f46b9
Author: duhbbx <duhbbx at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/CXX/drs/cwg8xx.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
M clang/test/CXX/module/module.interface/p1.cpp
M clang/test/Modules/cxx20-10-2-ex1.cpp
M clang/test/Modules/cxx20-export-import.cpp
M clang/test/Modules/cxx20-import-diagnostics-a.cpp
M clang/test/Modules/export-in-non-modules.cpp
Log Message:
-----------
[Clang] Fix export declaration diagnostic message (#149059)
Change the error message from "export declaration can only be used
within a module purview" to "export declaration can only be used within
a module interface" to be technically accurate.
The previous message was misleading because export declarations are
actually within a module purview when used in module implementation
units, but they are only allowed in module interface units.
This addresses the issue pointed out in GitHub issue #149008 where
Bigcheese noted that the diagnostic wording was incorrect.
Fixes #149008
Commit: bd0f9dd86b16660debca39ce76abdd9da1c157a3
https://github.com/llvm/llvm-project/commit/bd0f9dd86b16660debca39ce76abdd9da1c157a3
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/test/CIR/CodeGen/complex-unary.cpp
Log Message:
-----------
[CIR] Upstream unary not for ComplexType (#148857)
Upstream unary not for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 55b417a75fb4cbd13066510cba13d1c214095eab
https://github.com/llvm/llvm-project/commit/55b417a75fb4cbd13066510cba13d1c214095eab
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/symbol/olGetSymbol.cpp
Log Message:
-----------
[Offload] Cache symbols in program (#148209)
When creating a new symbol, check that it already exists. If it does,
return that pointer rather than building a new symbol structure.
Commit: 037d34815efc6b2c0b3f9f4d19945e49aac831d1
https://github.com/llvm/llvm-project/commit/037d34815efc6b2c0b3f9f4d19945e49aac831d1
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/fuzzing/math/acos_fuzz.cpp
M libc/fuzzing/math/asin_fuzz.cpp
M libc/fuzzing/math/cos_fuzz.cpp
M libc/fuzzing/math/log10_fuzz.cpp
M libc/fuzzing/math/log1p_fuzz.cpp
M libc/fuzzing/math/log2_fuzz.cpp
M libc/fuzzing/math/log_fuzz.cpp
M libc/fuzzing/math/sin_fuzz.cpp
M libc/fuzzing/math/sincos_fuzz.cpp
M libc/fuzzing/math/sqrt_fuzz.cpp
M libc/fuzzing/math/tan_fuzz.cpp
Log Message:
-----------
[libc] Updated fuzz tests for trig functions (#148891)
Fuzz tests were set up incorrectly so updated trig functions to match
the correct format.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: ba271cc07334c74df55741701e5b22032c0cddbb
https://github.com/llvm/llvm-project/commit/ba271cc07334c74df55741701e5b22032c0cddbb
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-bswap.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/MC/AMDGPU/gfx10_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx7_err_pos.s
M llvm/test/MC/AMDGPU/gfx8_err_pos.s
M llvm/test/MC/AMDGPU/gfx9_asm_vop3_e64.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
Log Message:
-----------
Revert "[AMDGPU][MC] Allow op_sel in v_alignbit_b32 etc in GFX9 and GFX10 (#142188) (#149138)
This reverts commit ce7851f6b7d59e50f92cb4e8dbfd801576c8b641.
The intrinsic llvm.amdgcn.alignbyte was not properly handled for gfx10.
Commit: 560e7df6893495fabe91bc921f9cc0e28a25eb73
https://github.com/llvm/llvm-project/commit/560e7df6893495fabe91bc921f9cc0e28a25eb73
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
A llvm/test/CodeGen/AMDGPU/trans-coexecution-hazard.mir
Log Message:
-----------
AMDGPU: Handle the co-execution hazards for TRANS for gfx1250 (#149024)
For the co-execution of the TRANS ops, the requirement is: 1 independent
op or V_NOP (since TRANS takes 2 cycles) after the trans op before its
sources can be overwritten or the output of the trans op can be used.
Commit: 22994edb5fd71198c48670255c979fcc962930a1
https://github.com/llvm/llvm-project/commit/22994edb5fd71198c48670255c979fcc962930a1
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACC.cpp
A clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC][Sema] Implement warning for non-effective 'private' (#149004)
A 'private' variable reference needs to have a default constructor and a
destructor, else we cannot properly emit them in codegen. This patch
adds a warning-as-default-error to diagnose this.
We'll have to do something similar for firstprivate/reduction, however
it isn't clear whether we could skip the check for default-constructor
for those two (they still need a destructor!). Depending on how we
intend to create them (and we probably have to figure this out?), we
could either require JUST a copy-constructor (then make the init section
just the alloca, and the copy-ctor be the 'copy' section), OR they
require a default-constructor + copy-assignment.
Commit: 056f0a10b320fc2fd75f46aa67d68708303d89ad
https://github.com/llvm/llvm-project/commit/056f0a10b320fc2fd75f46aa67d68708303d89ad
Author: raoanag <127366241+raoanag at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRVVK.td
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaSPIRV.cpp
A clang/test/CodeGenHLSL/builtins/refract.hlsl
A clang/test/CodeGenSPIRV/Builtins/refract.c
A clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/refract-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/refract.ll
A llvm/test/CodeGen/SPIRV/opencl/refract-error.ll
Log Message:
-----------
[HLSL][DXIL] Implement `refract` intrinsic (#147342)
- [x] Implement refract using HLSL source in hlsl_intrinsics.h
- [x] Implement the refract SPIR-V target built-in in
clang/include/clang/Basic/BuiltinsSPIRV.td
- [x] Add sema checks for refract to CheckSPIRVBuiltinFunctionCall in
clang/lib/Sema/SemaSPIRV.cpp
- [x] Add codegen for spv refract to EmitSPIRVBuiltinExpr in
CGBuiltin.cpp
- [x] Add codegen tests to clang/test/CodeGenHLSL/builtins/refract.hlsl
- [x] Add spv codegen test to clang/test/CodeGenSPIRV/Builtins/refract.c
- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
- [x] Add spv sema tests to
clang/test/SemaSPIRV/BuiltIns/refract-errors.c
- [x] Create the int_spv_refract intrinsic in IntrinsicsSPIRV.td
- [x] In SPIRVInstructionSelector.cpp create the refract lowering and
map it to int_spv_refract in SPIRVInstructionSelector::selectIntrinsic.
- [x] Create SPIR-V backend test case in
llvm/test/CodeGen/SPIRV/hlsl-intrinsics/refract.ll
- [x] Check for what OpenCL support is needed.
Resolves https://github.com/llvm/llvm-project/issues/99153
Commit: 82451d0b1341a9b6c01eaa5d27088ff9f3287853
https://github.com/llvm/llvm-project/commit/82451d0b1341a9b6c01eaa5d27088ff9f3287853
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/fuzzing/math/exp10_fuzz.cpp
M libc/fuzzing/math/exp2_fuzz.cpp
M libc/fuzzing/math/exp_fuzz.cpp
M libc/fuzzing/math/expm1_fuzz.cpp
Log Message:
-----------
[libc] Updated exp fuzz tests (#148912)
Fuzz tests were previously in the wrong format, updated them to correct
format.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: c4d4e761ef27d6dd27323cf3efa506db5e9e3457
https://github.com/llvm/llvm-project/commit/c4d4e761ef27d6dd27323cf3efa506db5e9e3457
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-comparison.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-conversion.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fma.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mask.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-minmax.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-permutation.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-reduction.s
Log Message:
-----------
[RISCV] Pre-commit RVV instructions to the x60 scheduling model and tests
Commit: bcee18a2e268dd106e4b3c2a1d083a4da21f4f23
https://github.com/llvm/llvm-project/commit/bcee18a2e268dd106e4b3c2a1d083a4da21f4f23
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang] Handle SEQUENCE derived types for array repacking. (#148777)
It is possible that a non-polymorphic dummy argument
has a dynamic type that does not match its static type
in a valid Fortran program, e.g. when the actual and
the dummy arguments have different compatible derived
SEQUENCE types:
module mod
type t
sequence
integer x
end type
contains
subroutine test(x)
type t
sequence
integer x
end type
type(t) :: x(:)
end subroutine
end module
'test' may be called with an actual argument of type 'mod::t',
which is the dynamic type of 'x' on entry to 'test'.
If we create the repacking temporary based on the static type of 'x'
('test::t'), then the runtime will report the types mismatch
as an error. Thus, we have to create the temporary using
the dynamic type of 'x'. The fact that the dummy's type
has SEQUENCE or BIND attribute is not easily computable
at this stage, so we use the dynamic type for all derived
type cases. As long as this is done only when the repacking
actually happens, the overhead should not be noticeable.
Commit: fb3972dd06cbc1b0a5305f81b0c2d74e44dbea41
https://github.com/llvm/llvm-project/commit/fb3972dd06cbc1b0a5305f81b0c2d74e44dbea41
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/CMakeLists.txt
A lld/MachO/LinkerOptimizationHints.cpp
A lld/MachO/LinkerOptimizationHints.h
M lld/MachO/Target.h
M lld/MachO/Writer.cpp
M llvm/utils/gn/secondary/lld/MachO/BUILD.gn
Log Message:
-----------
[lld-macho] Move Linker Optimization Hints pass to a separate file
Moving it away from the arm64 `TargetInfo` class will let us enable it
more easily for arm64_32 and the soon-to-be-added arm64e target as well.
This is the NFC part of #148964
Commit: c372a2cd0a1e4502f35bf8ebfc0a5d682223249e
https://github.com/llvm/llvm-project/commit/c372a2cd0a1e4502f35bf8ebfc0a5d682223249e
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M third-party/benchmark/src/sysinfo.cc
Log Message:
-----------
Use default instead of a specific case to fix the MSVC warning in sysinfo.cc (#149159)
#147357 attempted to fix an MSVC in sysinfo.cc by adding a `case` block
for a missing enum value.
However, this resulted in [CI
failures](https://github.com/llvm/llvm-project/pull/147357#issuecomment-3079709852):
```
4.170 [148/4/9] Building CXX object third-party/benchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.obj
FAILED: third-party/benchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.obj
C:\Users\tcwg\scoop\shims\ccache.exe C:\Users\tcwg\scoop\apps\llvm-arm64\current\bin\clang-cl.exe /nologo -TP -DBENCHMARK_STATIC_DEFINE -DEXPERIMENTAL_KEY_INSTRUCTIONS -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/build/third-party/benchmark/src -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/src -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/build/include -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/llvm/include -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/include /DWIN32 /D_WINDOWS /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /W4 -EHs- -EHa- /O2 /Ob2 -std:c++14 -MD -UNDEBUG /showIncludes /Fothird-party/benchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.obj /Fdthird-party\benchmark\src\CMakeFiles\benchmark.dir\benchmark.pdb -c -- C:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/src/sysinfo.cc
C:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/src/sysinfo.cc(374,12): error: use of undeclared identifier 'CacheUnknown'
374 | case CacheUnknown:
| ^
1 error generated.
```
The root cause is that the enum being switched on is defined in the
Windows SDK, so depending on which version of the SDK you are using
`CacheUnknown` may or may not be defined.
The correct fix here is to use a `default` block in the switch statement
instead.
Commit: b3c72a97c5ac352b89c12f3cf7c3f223219f91ed
https://github.com/llvm/llvm-project/commit/b3c72a97c5ac352b89c12f3cf7c3f223219f91ed
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Parser/message.h
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Driver/fatal-errors-warnings.f90
Log Message:
-----------
[flang][driver] -Werror promotes warnings to error and interopts with -Wfatal-errors (#148748)
This PR changes how `-Werror` promotes warnings to errors so that it
interoperates with `-Wfatal-error`. It maintains the property that
warnings and other messages promoted to errors are displayed as there
original message.
Commit: 362594a10fa5fd8e5f8d31eb5391370c928b639e
https://github.com/llvm/llvm-project/commit/362594a10fa5fd8e5f8d31eb5391370c928b639e
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Remove unnecessary sortAndUniqueRegisters (#149125)
Each of the SRSets is already sorted and unique because it is a filtered
version of RC->getMembers() which is already sorted and unique.
Commit: 43f10639a18b2b8fb0976f3bde84a9d240647915
https://github.com/llvm/llvm-project/commit/43f10639a18b2b8fb0976f3bde84a9d240647915
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lld/MachO/LinkerOptimizationHints.cpp
M lld/MachO/Writer.cpp
A lld/test/MachO/loh-arm64-32.s
Log Message:
-----------
[lld-macho] Enable Linker Optimization Hints pass for arm64_32 (#148964)
The backend emits `.loh` directives for arm64_32 as well. Our pass
already handles 32-bit pointer loads correctly (there was an extraneous
sanity check for 8-byte pointer sizes, I removed that here), so we can
enable them for all arm64 subtargets, including our upcoming arm64e
support.
Commit: 4355356d96de1e171f7511a6c41d056871dacc68
https://github.com/llvm/llvm-project/commit/4355356d96de1e171f7511a6c41d056871dacc68
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen] Add a bitvector of members of CodeGenRegisterClass (#149122)
This makes CodeGenRegisterClass::contains fast. Use this to simplify
inferMatchingSuperRegClass.
Commit: 3a6ef8b359fc3f2459ef60013b8938ebe847831b
https://github.com/llvm/llvm-project/commit/3a6ef8b359fc3f2459ef60013b8938ebe847831b
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/exp10.h
M libc/src/__support/FPUtil/PolyEval.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp10.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp10.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor exp10 implementation to header-only in src/__support/math folder. (#148400)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 94382c8e56e878d1b6a8cf317e3632df5352e23e
https://github.com/llvm/llvm-project/commit/94382c8e56e878d1b6a8cf317e3632df5352e23e
Author: Leonard Chan <leonardchan at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
A llvm/test/Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
A llvm/test/Transforms/StackProtector/stack-chk-fail-alias.ll
Log Message:
-----------
[llvm][StackProtector] Add noreturn to __stack_chk_fail call (#143976)
This is a reland for 99e53cb4139eda491f97cb33ee42ea424d352200 with the
appropriate test fixes.
It's possible for __stack_chk_fail to be an alias when using CrossDSOCFI
since it will make a jump table entry for this function and replace it
with an alias. StackProtector can crash since it always expects this to
be a regular function. Instead add the noreturn attribute to the call.
Commit: ececa877083fcbe19aa0394b280630b9d807cd6d
https://github.com/llvm/llvm-project/commit/ececa877083fcbe19aa0394b280630b9d807cd6d
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add support for vrgather (#148249)
This PR adds support for the vrgather.vi, vrgather.vx, vrgather.vv,
vrgatherei16.vv instructions in the RISC-V VLOptimizer.
To support vrgatherei16.vv I also needed to add support for it in
getOperandLog2EEW.
Commit: 6824bcfdb4c8315a990f4b5ce2cb9f528281a823
https://github.com/llvm/llvm-project/commit/6824bcfdb4c8315a990f4b5ce2cb9f528281a823
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[IA] Relax the requirement of having ExtractValue users on deinterleave intrinsic (#148716)
There are cases where InstCombine / InstSimplify might sink extractvalue
instructions that use a deinterleave intrinsic into successor blocks,
which prevents InterleavedAccess from kicking in because the current
pattern requires deinterleave intrinsic to be used by extractvalue.
However, this requirement is bit too strict while we could have just
replaced the users of deinterleave intrinsic with whatever generated by
the target TLI hooks.
Commit: 8c28f4920dfda2e3d91c58e8eb5b568dd396fa2d
https://github.com/llvm/llvm-project/commit/8c28f4920dfda2e3d91c58e8eb5b568dd396fa2d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
A lldb/test/Shell/Settings/TestChildCountTruncation.test
Log Message:
-----------
[lldb] Print children-count warning for dwim-print and expr (#149088)
When dumping variables, LLDB will print a one-time warning about
truncating children (when the children count exceeds the default
`target.max-children-count`). But we only do this for `frame variable`.
So if we use `dwim-print` or `expression`, the output gets truncated but
we don't print a warning. But because we store the fact that we
truncated some output on the `CommandInterpreter`, we fire the warning
next time we use `frame variable`. E.g.,:
```
(lldb) p arr
(int[1000]) {
[0] = -5
[1] = 0
[2] = 0
<-- snipped -->
[253] = 0
[254] = 0
[255] = 0
...
}
(lldb) v someLocal
(int) someLocal = 10
*** Some of the displayed variables have more members than the debugger
will show by default. To show all of them, you can either use the
--show-all-children option to frame variable or raise the limit by
changing the target.max-children-count setting.
```
This patch prints the warning for `dwim-print` and `expression`.
I only added a test for the `target.max-children-count` for now because
it seems the `target.max-children-depth` warning is broken (I can't get
it to fire).
Commit: b9f5b39e04d22e9a6ad451bdc0779bed31015372
https://github.com/llvm/llvm-project/commit/b9f5b39e04d22e9a6ad451bdc0779bed31015372
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
Log Message:
-----------
[TableGen] Remove explicit recursion in LexToken (#143697)
When profiling a Release+Asserts build of llvm-tblgen I noticed that it
was recursing hundreds of times to lex a sequence of hundreds of space
characters.
Commit: 7caa0c9a55b33d8d627975e94c3367aa68dc37c7
https://github.com/llvm/llvm-project/commit/7caa0c9a55b33d8d627975e94c3367aa68dc37c7
Author: Udit Kumar Agarwal <udit.agarwal at intel.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M .github/workflows/email-check.yaml
Log Message:
-----------
Revert "[CI] Make email check workflow fail when author's email is private in Github UI" (#149186)
Reverts llvm/llvm-project#148694
The workflow is failing if user's email is not listed publicly on your
GH profile. This is different from not having your email public on
Github (in Github email settings page vs. email field in Github
profile/email settings).
Commit: 1e4e2b332dc08e01498c677a6a375fcbc9d5e9f0
https://github.com/llvm/llvm-project/commit/1e4e2b332dc08e01498c677a6a375fcbc9d5e9f0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Import type descriptor in the gpu module when needed (#149157)
Commit: b7f6abdd052412bebfedc9cac26fc58b9edb618d
https://github.com/llvm/llvm-project/commit/b7f6abdd052412bebfedc9cac26fc58b9edb618d
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll
A llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-int.ll
Log Message:
-----------
[AMDGPU] Try to reuse register with the constant from compare in v_cndmask (#148740)
For some targets, the optimization X == Const ? X : Y -> X == Const ?
Const : Y can cause extra register usage or redundant immediate encoding
for the constant in cndmask generated from the ternary operation.
This patch detects such cases and reuses the register from the compare
instruction that already holds the constant, instead of materializing it
again for cndmask.
The optimization avoids immediates that can be encoded into cndmask
instruction (including +-0.0), as well as !isNormal() constants.
The change is reworked on the base of #131146
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: cb6d1bbfcd01866ef7a3027968e6480ef1c2c992
https://github.com/llvm/llvm-project/commit/cb6d1bbfcd01866ef7a3027968e6480ef1c2c992
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
A llvm/test/CodeGen/PowerPC/spe-vsx-incompatibility.ll
Log Message:
-----------
[PowerPC] Test SPE incompatibility with VSX (#147184)
PPCSubtarget is not always initialized, depending on which passes are
running, and in our downstream fork, -enable-matrix is the default
configuration (regardless of whether matrix intrinsics are present in
the IR), which triggers a fatal error in builtins-ppc-fpconstrained.c.
Commit: 9912ccb0b4d17a4dd4ef8df718b63e3a907ad7c5
https://github.com/llvm/llvm-project/commit/9912ccb0b4d17a4dd4ef8df718b63e3a907ad7c5
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] gfx1250 MC support for FLAT GVS addressing (#149173)
Commit: 703501e66198c6d4be48773b617c784370e23d4a
https://github.com/llvm/llvm-project/commit/703501e66198c6d4be48773b617c784370e23d4a
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
Log Message:
-----------
[AMDGPU] Select flat GVS loads on gfx1250 (#149183)
Commit: 038e80cfd37e948d78c70d5a258ffe424a438d51
https://github.com/llvm/llvm-project/commit/038e80cfd37e948d78c70d5a258ffe424a438d51
Author: Ryan Prichard <rprichard at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_bounded_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
[libc++][Android] Update compiler and sysroot (#148998)
* Upgrade from r536225 to r563880.
* Upgrade from ab/12644632 to f8b85cc5262c6e5cbc9a92c1bab2b18b32a4c63f,
the current HEAD commit of
https://android.googlesource.com/platform/prebuilts/ndk/+/refs/heads/mirror-goog-main-ndk
The previous source of sysroots (ci.android.com), deleted its artifacts
after a short period of time, and is currently out-of-date because of
the aosp-main turndown.
Updating the Docker image also fixes two tests.
Commit: 7d2a58e87d7ab5d076adf51705b1b2253cea34bb
https://github.com/llvm/llvm-project/commit/7d2a58e87d7ab5d076adf51705b1b2253cea34bb
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_rsq_bf16` on gfx1250 (#149194)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: ad6d5d28215adb3def221517b1490b8df3fd1190
https://github.com/llvm/llvm-project/commit/ad6d5d28215adb3def221517b1490b8df3fd1190
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/bf16-math.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.log.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.log2.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_log_bf16` on gfx1250 (#149201)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 0110168f6aa5c8a8d02ffd9e62c7929ce6d24d26
https://github.com/llvm/llvm-project/commit/0110168f6aa5c8a8d02ffd9e62c7929ce6d24d26
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/test/CodeGen/X86/win32-int-runtime-libcalls.ll
Log Message:
-----------
RuntimeLibcalls: Fix calling conv of win32 div libcalls (#149098)
There's probably an existing test this should be added to,
but our test coverage is really bad that this wasn't caught
by one.
Commit: 7e0fde0c2f6b0b9d727ce9196956b36e91961ac4
https://github.com/llvm/llvm-project/commit/7e0fde0c2f6b0b9d727ce9196956b36e91961ac4
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/tools/libclang/libclang.map
Log Message:
-----------
[Clang] Reintroduce obsolete symbols in libclang.map (#149190)
This is a follow-up to #149079. Seems like we forgot about the fact that
the symbols also need to be in `libclang.map`.
Commit: 86c63e6bd66f9db9c7320155da7a2042407b5a1a
https://github.com/llvm/llvm-project/commit/86c63e6bd66f9db9c7320155da7a2042407b5a1a
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[lldb] [cosmetic] Update help message of `(lldb) b` (#149114)
`(lldb) b` can be used in two different ways:
1. Running `b` without arguments, it lists all existing breakpoints.
2. Running `b` with arguments, it adds breakpoints.
However, the help message doesn't mention the first use case. This patch
adds help message to mention it.
**Without patch**:
```
(lldb) help b
Set a breakpoint using one of several shorthand formats. Expects 'raw' input (see 'help raw-input'.)
Syntax:
_regexp-break <filename>:<linenum>:<colnum>
main.c:12:21 // Break at line 12 and column 21 of main.c
...
```
**With patch**:
```
(lldb) help b
Set a breakpoint using one of several shorthand formats, or list the
existing breakpoints if no arguments are provided. Expects 'raw' input
(see 'help raw-input'.)
Syntax:
_regexp-break <filename>:<linenum>:<colnum>
main.c:12:21 // Break at line 12 and column 21 of main.c
...
_regexp-break
// List the existing breakpoints
```
Commit: 26b0b279deca7cd660efcae5c17bd27a15ead36d
https://github.com/llvm/llvm-project/commit/26b0b279deca7cd660efcae5c17bd27a15ead36d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
A llvm/test/CodeGen/AMDGPU/flat-saddr-store.ll
Log Message:
-----------
[AMDGPU] Select flat GVS stores on gfx1250 (#149203)
Commit: 81eb7defa23dcf48a8e51391543eb210df232440
https://github.com/llvm/llvm-project/commit/81eb7defa23dcf48a8e51391543eb210df232440
Author: Cristian Assaiante <assaiante at diag.uniroma1.it>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/test/CodeGen/new-pass-manager-opt-bisect.c
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/Pass.h
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/IR/Pass.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/test/Other/opt-bisect-new-pass-manager.ll
A llvm/test/Other/opt-disable.ll
Log Message:
-----------
[OptBisect][IR] Adding a new OptPassGate for disabling passes via name (#145059)
This commit adds a new pass gate that allows selective disabling
of one or more passes via the clang command line using the
`-opt-disable` option. Passes to be disabled should be specified as a
comma-separated list of their names.
The implementation resides in the same file as the bisection tool. The
`getGlobalPassGate()` function returns the currently enabled gate.
Example: `-opt-disable="PassA,PassB"`
Pass names are matched using case-insensitive comparisons. However, note
that special characters, including spaces, must be included exactly as
they appear in the pass names.
Additionally, a `-opt-disable-enable-verbosity` flag has been introduced to
enable verbose output when this functionality is in use. When enabled,
it prints the status of all passes (either running or NOT running),
similar to the default behavior of `-opt-bisect-limit`. This flag is
disabled by default, which is the opposite of the `-opt-bisect-verbose`
flag (which defaults to enabled).
To validate this functionality, a test file has also been provided. It reuses
the same infrastructure as the opt-bisect test, but disables three
specific passes and checks the output to ensure the expected behavior.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 210cf010c3362e5648d037ea5e4b27c2673837ed
https://github.com/llvm/llvm-project/commit/210cf010c3362e5648d037ea5e4b27c2673837ed
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower globaltimer to NVVM op (#149217)
Commit: 9d78eb5cc51820bd7076861a9ad175e5666b90d3
https://github.com/llvm/llvm-project/commit/9d78eb5cc51820bd7076861a9ad175e5666b90d3
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Enable -fdiscard-value-names build flag to reduce bitcode size (#149016)
The flag reduces nvptx64--nvidiacl.bc size from 10.6MB to 5.2MB.
Commit: b52cf756ced2aefd05b7e2f01026c941f9a04c47
https://github.com/llvm/llvm-project/commit/b52cf756ced2aefd05b7e2f01026c941f9a04c47
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-wmma-xdl.mir
Log Message:
-----------
AMDGPU: Treat WMMA XDL ops as TRANS in S_DELAY_ALU insertion for gfx1250 (#149208)
WMMA XDL instructions are tracked as TRANs ops and the compiler should
consider them the same as TRANS in S_DELAY_ALU insertion. We use a searchable
table for the InsertDelayAlu pass to recognize these WMMA XDL instructions.
Co-authored-by: Stefan Stipanovic <Stefan.Stipanovic at amd.com>
Commit: 4cf7670b01fb5b01995cf89fe4304bfb0c69a4c0
https://github.com/llvm/llvm-project/commit/4cf7670b01fb5b01995cf89fe4304bfb0c69a4c0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower clock() to NNVM op (#149228)
Also use a same gen function for all NVVM time ops.
Commit: f56211ebfa7f9ca71b9eeb119012b0f6e1a2b2c9
https://github.com/llvm/llvm-project/commit/f56211ebfa7f9ca71b9eeb119012b0f6e1a2b2c9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/xqcisls.ll
Log Message:
-----------
[RISCV] Add/remove/simplify tests in xqcisls.ll. NFC
-Don't use i64 for GEP indices.
-Remove tests that zero extended GEP indices from i32 to i64.
-Add i64 load/store tests taken from xtheadmemidx that get split into two i32 load/store.
-Don't extend load results to i64.
I'm working on improvements to SelectAddrRegRegScale.
Commit: 0692572e040979b2de0dceb8f0537aa16caf351f
https://github.com/llvm/llvm-project/commit/0692572e040979b2de0dceb8f0537aa16caf351f
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
Log Message:
-----------
[clang][CodeGen] Fix metadata when vectorization is disabled by pragma (#135163)
Currently, when specifying `vectorize(disable) unroll_count(8)`, the
generated metadata appears as follows:
```
!loop0 = !{!"loop0", !vectorize_width, !followup}
!vectorize_width = !{!"llvm.loop.vectorize.width", i32 1}
!followup = !{!"llvm.loop.vectorize.followup_all", !unroll}
!unroll = !{!"llvm.loop.unroll_count", i32 8}
```
Since the metadata `!vectorize_width` implies that the vectorization is
disabled, the vectorization process is skipped, and the `!followup`
metadata is not processed correctly.
This patch addresses the issue by directly appending properties to the
metadata node when vectorization is disabled, instead of creating a new
follow-up MDNode. In the above case, the generated metadata will now
look like this:
```
!loop0 = !{!"loop0", !vectorize_width, !vectorize_width, !unroll}
!vectorize_width = !{!"llvm.loop.vectorize.width", i32 1}
!unroll = !{!"llvm.loop.unroll_count", i32 8}
```
Commit: b41398294c85eacdb37b9637eed6f0e91edf35cf
https://github.com/llvm/llvm-project/commit/b41398294c85eacdb37b9637eed6f0e91edf35cf
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
A clang/test/CodeGenOpenCL/scoped-atomic.cl
Log Message:
-----------
[SPIR] Set MaxAtomicInlineWidth minimum size to 32 for spir32 and 64 for spir64 (#148997)
Set MaxAtomicInlineWidth the same way as SPIR-V targets in 3cfd0c0d3697.
This PR fixes build warning in scoped atomic built-in in #146814:
`warning: large atomic operation may incur significant performance
penalty; ; the access size (2 bytes) exceeds the max lock-free size (0
bytes) [-Watomic-alignment]`
Commit: b9adc4a59cb50c98ec0e01645ea5eb64e6628afd
https://github.com/llvm/llvm-project/commit/b9adc4a59cb50c98ec0e01645ea5eb64e6628afd
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-16 (Wed, 16 Jul 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/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[IA] Use a single callback for lowerInterleaveIntrinsic [nfc] (#148978) (#149168)
This continues in the direction started by commit 4b81dc7. We
essentially merges the handling for VPStore - currently in
lowerInterleavedVPStore which is shared between shuffle and intrinsic
based interleaves - into the existing dedicated routine.
Commit: 34951f7de80c4b4ac2b884d08dd919efed23c024
https://github.com/llvm/llvm-project/commit/34951f7de80c4b4ac2b884d08dd919efed23c024
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Use NVVM op for clock64 (#149223)
Commit: b36188514a76ba979439a1dcab58e68478e3f0ad
https://github.com/llvm/llvm-project/commit/b36188514a76ba979439a1dcab58e68478e3f0ad
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
Log Message:
-----------
[RISCV][IA] Check nuw on multiply when analyzing EVL (#149205)
If we're checking to see if a number is a multiple of a small constant,
we need to be sure the multiply doesn't overflow for the mul logic to
hold. The VL is a unsigned number, so we care about unsigned overflow.
Once we've proven a number of a multiple, we can also use an
exact udiv as we know we're not discarding any bits.
This fixes what is technically a miscompile with EVL vectorization, but
I doubt we'd ever have seen it in practice since most EVLs are going to
much less than UINT_MAX.
Commit: 34b3ea367c4299ebd7c37edc7c748c9627ee66cb
https://github.com/llvm/llvm-project/commit/34b3ea367c4299ebd7c37edc7c748c9627ee66cb
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
Log Message:
-----------
[scudo] Make release to OS test more specific. (#147852)
The original version of ResidentMemorySize could be a little flaky.
Replace the test with a version that verifies exactly how much of the
map is resident.
Commit: 1f1fd07c325f174be27d6f10a512882770a976a8
https://github.com/llvm/llvm-project/commit/1f1fd07c325f174be27d6f10a512882770a976a8
Author: Ryan Buchner <buchner.ryan at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/icmp-select.ll
A llvm/test/Transforms/InstCombine/select-fixed-zero.ll
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Optimize (select %x, op(%x), 0) to op(%x) for operations where op(0) == 0 (#147605)
Currently this optimization only occurs for `mul`, but this generalizes
that for any operation that has a fixed point of `0`.
There is similar logic within `EarlyCSE` pass, but that is stricter in
terms of `poison` propagation so will not optimize for many operations.
Alive2 Proofs:
`and`:
https://alive2.llvm.org/ce/z/RraasX ; base-case
https://alive2.llvm.org/ce/z/gzfFTX ; commuted-case
https://alive2.llvm.org/ce/z/63XaoX ; compare against undef
https://alive2.llvm.org/ce/z/MVRVNd ; select undef
https://alive2.llvm.org/ce/z/2bsoYG ; vector
https://alive2.llvm.org/ce/z/xByeX- ; vector compare against undef
https://alive2.llvm.org/ce/z/zNdzmZ ; vector select undef
`fshl`:
https://alive2.llvm.org/ce/z/U3_PG3 ; base-case
https://alive2.llvm.org/ce/z/BWCnxT ; compare against undef
https://alive2.llvm.org/ce/z/8HGAE_ ; select undef
; vector times out
`fshr`:
https://alive2.llvm.org/ce/z/o6F47G ; base-case
https://alive2.llvm.org/ce/z/fVnBXy ; compare against undef
https://alive2.llvm.org/ce/z/suymYJ ; select undef
; vector times out
`umin`:
https://alive2.llvm.org/ce/z/GGMqf6 ; base-case
https://alive2.llvm.org/ce/z/6cx5-k ; commuted-case
https://alive2.llvm.org/ce/z/W5d9tz ; compare against undef
https://alive2.llvm.org/ce/z/nKbaUn ; select undef
https://alive2.llvm.org/ce/z/gxEGqc ; vector
https://alive2.llvm.org/ce/z/_SDpi_ ; vector compare against undef
`sdiv`:
https://alive2.llvm.org/ce/z/5XGs3q
`srem`:
https://alive2.llvm.org/ce/z/vXAnQM
`udiv`:
https://alive2.llvm.org/ce/z/e6_8Ug
`urem`:
https://alive2.llvm.org/ce/z/VmM2SL
`shl`:
https://alive2.llvm.org/ce/z/aCZr3u ; Argument with range
https://alive2.llvm.org/ce/z/YgDy8C ; Instruction with known bits
https://alive2.llvm.org/ce/z/6pIxR6 ; Constant
`lshr`:
https://alive2.llvm.org/ce/z/WCCBej
`ashr:
https://alive2.llvm.org/ce/z/egV4TR
---------
Co-authored-by: Ryan Buchner <rbuchner at ventanamicro.com>
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: 283a62fa5b9f2b07fb74336dbce91f346801225f
https://github.com/llvm/llvm-project/commit/283a62fa5b9f2b07fb74336dbce91f346801225f
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU] NFC: Decouple getRealRegPressure from current region (#149219)
We're already accepting a RegionIdx for the LiveIns, also use this for
the instruction iterators.
Enables querying RP for other regions -- useful for function wide
transformations (e.g. rematerialization, rewriting, etc).
Commit: 1c541aa9f9a2453324724bfb9d661bc672778d10
https://github.com/llvm/llvm-project/commit/1c541aa9f9a2453324724bfb9d661bc672778d10
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M compiler-rt/test/lit.common.cfg.py
Log Message:
-----------
[Apple][NFC] Update macOS aligned version for lit config (#143576)
This updates the aligned version for version 26.
Note: This change is for correctness only and has no functional impact
currently. `get_macos_aligned_version` is currently only consumed when
substituting flags based on min version.
rdar://152851947
Commit: 0f09f2cf00caf3e6c755197d7c897ce8e607db4d
https://github.com/llvm/llvm-project/commit/0f09f2cf00caf3e6c755197d7c897ce8e607db4d
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGen/null-sanitizer-debug-info-regression.cpp
Log Message:
-----------
[Sanitize] fix crash in -fsanitize-annotate-debug-info (#149237)
Commit: e51ea1c7571c9d7698ab01317fd4ab3b250cb8f9
https://github.com/llvm/llvm-project/commit/e51ea1c7571c9d7698ab01317fd4ab3b250cb8f9
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
Log Message:
-----------
[RISCV] Remove unneeded declarations in llvm/test/CodeGen/RISCV/xandesbfhcvt.ll. NFC.
Commit: 9753ea83dd34bfb169fbed3995cc79e621ca6963
https://github.com/llvm/llvm-project/commit/9753ea83dd34bfb169fbed3995cc79e621ca6963
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/MC/AArch64/directives-case_insensitive.s
M llvm/test/MC/AArch64/reloc-directive-err.s
M llvm/test/MC/AArch64/reloc-directive.s
M llvm/test/MC/AMDGPU/reloc-directive.s
M llvm/test/MC/ARM/reloc-directive-err.s
M llvm/test/MC/ARM/reloc-directive.s
M llvm/test/MC/AVR/reloc-directive-err.s
M llvm/test/MC/AVR/reloc-directive.s
M llvm/test/MC/LoongArch/Relocations/reloc-directive-err.s
M llvm/test/MC/LoongArch/Relocations/reloc-directive.s
M llvm/test/MC/Mips/reloc-directive-bad.s
M llvm/test/MC/Mips/reloc-directive.s
M llvm/test/MC/PowerPC/ppc32-reloc-directive.s
M llvm/test/MC/PowerPC/ppc64-reloc-directive.s
M llvm/test/MC/RISCV/reloc-directive-err.s
M llvm/test/MC/RISCV/reloc-directive.s
M llvm/test/MC/Sparc/Relocations/reloc-directive.s
M llvm/test/MC/SystemZ/reloc-directive.s
M llvm/test/MC/X86/reloc-directive-elf-32.s
M llvm/test/MC/X86/reloc-directive-elf-64.s
M llvm/test/MC/X86/reloc-directive.s
Log Message:
-----------
MC,test: Migrate away from the .reloc constant hack
The initial .reloc support for MIPS incorrectly interpreted .reloc 0 as .reloc .+0 .
I was misled when porting .reloc to other targets in 2019 and 2020.
Many PRINT: prefixes are unnecessary. The MCAsmStreamer implementation
is generic, and it is unnecessary to test too many variants.
Commit: 4a3cb437a32f5611b909fe7e067a9a9d28c2b845
https://github.com/llvm/llvm-project/commit/4a3cb437a32f5611b909fe7e067a9a9d28c2b845
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
AMDGPU: Avoid hardcoding mov opcode
Commit: 72c61a6a255cd07c449f213bef9439ab0ee85c08
https://github.com/llvm/llvm-project/commit/72c61a6a255cd07c449f213bef9439ab0ee85c08
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU][NPM] Fill in addPreSched2 passes (#148112)
same as https://github.com/llvm/llvm-project/pull/139516
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 34c85337424fde5796154d0cb390b39175291373
https://github.com/llvm/llvm-project/commit/34c85337424fde5796154d0cb390b39175291373
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
Log Message:
-----------
[Coroutines] Always drop lifetime markers after moving allocas to frame (#149141)
https://github.com/llvm/llvm-project/pull/142551 started always dropping
lifetime markers after moving allocas on the frame, as these are not
useful on non-allocas but can cause issues.
However, this was not done for other ABIs (retcon, retcononce, async)
that go through a different code path. We should treat them the same
way.
Commit: 3cb0c7f45b97802ddc13a15560fbbca2efb75326
https://github.com/llvm/llvm-project/commit/3cb0c7f45b97802ddc13a15560fbbca2efb75326
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCObjectStreamer.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/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/Mips/reloc-directive-bad-obj.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
Log Message:
-----------
MC: Rework .reloc directive and fix the offset when it evaluates to a constant
* Fix `.reloc constant` to mean section_symbol+constant instead of
.+constant . The initial .reloc support from MIPS incorrectly
interpreted the offset.
* Delay the evaluation of the offset expression after
MCAssembler::layout, deleting a lot of code working with MCFragment.
* Delete many FIXME from https://reviews.llvm.org/D79625
* Some lld/ELF/Arch/LoongArch.cpp relaxation tests rely on .reloc .,
R_LARCH_ALIGN generating ALIGN relocations at specific location.
Sort the relocations.
Commit: acd5482d543914bf226ac8be214069cb025dedc3
https://github.com/llvm/llvm-project/commit/acd5482d543914bf226ac8be214069cb025dedc3
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsRISCV.td
A clang/include/clang/Basic/BuiltinsRISCVXAndes.td
M clang/include/clang/Basic/BuiltinsSPIRVVK.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/lib/Headers/riscv_nds.h
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/CIR/CodeGen/builtin_bit.cpp
A clang/test/CIR/CodeGen/complex-unary.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg8xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
M clang/test/CXX/module/module.interface/p1.cpp
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt-c-api.c
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt.c
M clang/test/CodeGen/new-pass-manager-opt-bisect.c
A clang/test/CodeGen/null-sanitizer-debug-info-regression.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
A clang/test/CodeGenHLSL/builtins/refract.hlsl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
A clang/test/CodeGenOpenCL/scoped-atomic.cl
A clang/test/CodeGenSPIRV/Builtins/refract.c
M clang/test/Modules/cxx20-10-2-ex1.cpp
M clang/test/Modules/cxx20-export-import.cpp
M clang/test/Modules/cxx20-import-diagnostics-a.cpp
M clang/test/Modules/export-in-non-modules.cpp
M clang/test/Sema/attr-nonblocking-sema.cpp
M clang/test/Sema/const-eval.c
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-backtrace-limit.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
A clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
A clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
A clang/test/SemaSPIRV/BuiltIns/refract-errors.c
M clang/tools/libclang/CMakeLists.txt
A clang/tools/libclang/Obsolete.cpp
M clang/tools/libclang/libclang.map
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
M compiler-rt/test/lit.common.cfg.py
M flang-rt/include/flang-rt/runtime/non-tbp-dio.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/non-tbp-dio.cpp
M flang-rt/lib/runtime/type-info.cpp
M flang/docs/Intrinsics.md
A flang/docs/ParallelMultiImageFortranRuntime.md
M flang/docs/index.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Parser/message.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Semantics/runtime-type-info.h
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/__fortran_type_info.f90
M flang/module/cudadevice.f90
A flang/test/Driver/fatal-errors-warnings.f90
M flang/test/Fir/CUDA/cuda-device-global.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
A flang/test/Lower/amdgcn-complex.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/volatile-openmp.f90
A flang/test/Semantics/bind-c18.f90
A flang/test/Semantics/bug148559.f90
A flang/test/Semantics/bug148675.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo02.f90
M flang/test/Semantics/typeinfo09.f90
M flang/test/Semantics/typeinfo13.f90
M flang/test/Transforms/lower-repack-arrays.fir
M libc/fuzzing/math/acos_fuzz.cpp
M libc/fuzzing/math/asin_fuzz.cpp
M libc/fuzzing/math/cos_fuzz.cpp
M libc/fuzzing/math/exp10_fuzz.cpp
M libc/fuzzing/math/exp2_fuzz.cpp
M libc/fuzzing/math/exp_fuzz.cpp
M libc/fuzzing/math/expm1_fuzz.cpp
M libc/fuzzing/math/log10_fuzz.cpp
M libc/fuzzing/math/log1p_fuzz.cpp
M libc/fuzzing/math/log2_fuzz.cpp
M libc/fuzzing/math/log_fuzz.cpp
M libc/fuzzing/math/sin_fuzz.cpp
M libc/fuzzing/math/sincos_fuzz.cpp
M libc/fuzzing/math/sqrt_fuzz.cpp
M libc/fuzzing/math/tan_fuzz.cpp
M libc/shared/math.h
A libc/shared/math/exp10.h
M libc/src/__support/FPUtil/PolyEval.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp10.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp10.cpp
M libclc/CMakeLists.txt
M libcxx/include/CMakeLists.txt
M libcxx/include/__config
M libcxx/include/__hash_table
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/android.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__new/launder.h
M libcxx/include/__tree
M libcxx/include/module.modulemap.in
M libcxx/include/unordered_map
A libcxx/test/extensions/libcxx/always_initialize_iterators.pass.cpp
R libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
A libcxx/test/libcxx/mem/mem.res/ctor.nullptr.assert.pass.cpp
A libcxx/test/libcxx/mem/mem.res/nonnull.verify.cpp
M libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.types.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/increment.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_bounded_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/resource.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/select_on_container_copy_construction.pass.cpp
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/generate_feature_test_macro_components.py
M lld/ELF/Relocations.cpp
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/CMakeLists.txt
A lld/MachO/LinkerOptimizationHints.cpp
A lld/MachO/LinkerOptimizationHints.h
M lld/MachO/Target.h
M lld/MachO/Writer.cpp
A lld/test/MachO/loh-arm64-32.s
M lldb/docs/resources/build.rst
M lldb/docs/resources/qemu-testing.rst
M lldb/docs/use/mcp.md
M lldb/examples/python/filter_disasm.py
M lldb/examples/synthetic/gnu_libstdcpp.py
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
A lldb/source/Plugins/Language/CPlusPlus/GenericList.cpp
R lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlVector.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/forward_list/TestDataFormatterGenericForwardList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/TestDataFormatterGenericListLoop.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/TestDataFormatterStdVector.py
M lldb/test/Shell/Commands/command-disassemble-riscv32-bytes.s
A lldb/test/Shell/Settings/TestChildCountTruncation.test
M lldb/unittests/Host/NativeProcessProtocolTest.cpp
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/BinaryFormat/ELF.h
A llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCAssembler.h
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/include/llvm/Pass.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/ProcessImplicitDefs.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/IR/Pass.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/Support/BLAKE3/blake3_neon.c
M llvm/lib/Support/BLAKE3/llvm_blake3_prefix.h
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Analysis/CostModel/AArch64/reduce-and.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-or.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
A llvm/test/CodeGen/AArch64/cgdata-no-merge-unnamed.ll
M llvm/test/CodeGen/AArch64/machine-outliner-safe-range-in-middle.mir
A llvm/test/CodeGen/AArch64/saturating-vec-smull.ll
M llvm/test/CodeGen/AArch64/spill-fold.mir
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-bswap.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-bits-sbfe.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
R llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
A llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
A llvm/test/CodeGen/AMDGPU/bug-multi-operands-to-update-after-fold.mir
A llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
A llvm/test/CodeGen/AMDGPU/flat-saddr-store.ll
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-wmma-xdl.mir
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.log.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.log2.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
A llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll
A llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-int.ll
A llvm/test/CodeGen/AMDGPU/trans-coexecution-hazard.mir
A llvm/test/CodeGen/PowerPC/spe-vsx-incompatibility.ll
M llvm/test/CodeGen/RISCV/fpenv-xlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
A llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
M llvm/test/CodeGen/RISCV/xqcisls.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/refract.ll
A llvm/test/CodeGen/SPIRV/opencl/refract-error.ll
M llvm/test/CodeGen/X86/unreachable-mbb-undef-phi.mir
A llvm/test/CodeGen/X86/win32-int-runtime-libcalls.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/verify.ll
M llvm/test/MC/AArch64/directives-case_insensitive.s
M llvm/test/MC/AArch64/reloc-directive-err.s
M llvm/test/MC/AArch64/reloc-directive.s
M llvm/test/MC/AMDGPU/gfx10_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx7_err_pos.s
M llvm/test/MC/AMDGPU/gfx8_err_pos.s
M llvm/test/MC/AMDGPU/gfx9_asm_vop3_e64.s
M llvm/test/MC/AMDGPU/reloc-directive.s
M llvm/test/MC/ARM/reloc-directive-err.s
M llvm/test/MC/ARM/reloc-directive.s
M llvm/test/MC/AVR/reloc-directive-err.s
M llvm/test/MC/AVR/reloc-directive.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
M llvm/test/MC/ELF/mc-dump.s
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/LoongArch/Relocations/reloc-directive-err.s
M llvm/test/MC/LoongArch/Relocations/reloc-directive.s
M llvm/test/MC/Mips/reloc-directive-bad-obj.s
M llvm/test/MC/Mips/reloc-directive-bad.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
M llvm/test/MC/Mips/reloc-directive.s
M llvm/test/MC/PowerPC/ppc32-reloc-directive.s
M llvm/test/MC/PowerPC/ppc64-reloc-directive.s
M llvm/test/MC/RISCV/Relocations/mc-dump.s
M llvm/test/MC/RISCV/reloc-directive-err.s
M llvm/test/MC/RISCV/reloc-directive.s
M llvm/test/MC/Sparc/Relocations/reloc-directive.s
M llvm/test/MC/SystemZ/reloc-directive.s
M llvm/test/MC/X86/reloc-directive-elf-32.s
M llvm/test/MC/X86/reloc-directive-elf-64.s
M llvm/test/MC/X86/reloc-directive.s
M llvm/test/Other/opt-bisect-new-pass-manager.ll
A llvm/test/Other/opt-disable.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/InstCombine/AMDGPU/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
A llvm/test/Transforms/InstCombine/select-fixed-zero.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
M llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
M llvm/test/Transforms/InstSimplify/fold-intrinsics.ll
M llvm/test/Transforms/InstSimplify/sincos.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
A llvm/test/Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
A llvm/test/Transforms/StackProtector/stack-chk-fail-alias.ll
A llvm/test/tools/llc/new-pm/start-stop-inserted.ll
M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-comparison.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-conversion.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fma.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mask.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-minmax.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-permutation.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-reduction.s
M llvm/test/tools/llvm-objdump/ELF/program-headers.test
M llvm/test/tools/llvm-readobj/ELF/section-types.test
M llvm/test/tools/yaml2obj/ELF/program-header.yaml
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lld/MachO/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
M mlir/include/mlir-c/Pass.h
A mlir/include/mlir/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/CAPI/IR/Pass.cpp
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/ComplexToROCDLLibraryCalls/CMakeLists.txt
A mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
A mlir/test/Conversion/ComplexToROCDLLibraryCalls/complex-to-rocdl-library-calls.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/unittests/IR/CMakeLists.txt
A mlir/unittests/IR/DistinctAttributeAllocatorTest.cpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/symbol/olGetSymbol.cpp
M third-party/benchmark/src/sysinfo.cc
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
fix wasm. rebase on .reloc 3cb0c7f45b97802ddc13a15560fbbca2efb75326
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/eb8dc7802510...acd5482d5439
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