[all-commits] [llvm/llvm-project] f33eb9: [AMDGPU][NFC] Remove direct access to FeatureKV (#...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Mon Jul 6 14:34:38 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slp-retune-look-ahead-scores-for-constants
Home: https://github.com/llvm/llvm-project
Commit: f33eb913f97734b97318a680f69d41d814201523
https://github.com/llvm/llvm-project/commit/f33eb913f97734b97318a680f69d41d814201523
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
Log Message:
-----------
[AMDGPU][NFC] Remove direct access to FeatureKV (#206231)
This is preparatory work for changing the representation of
FeatureKV/SubTypeKV, in which they will no longer be that easily
accessible as global variables. Therefore, get them from the subtarget
instead.
Commit: 6b3433ae19000d0900126678388e30fe5b4eb721
https://github.com/llvm/llvm-project/commit/6b3433ae19000d0900126678388e30fe5b4eb721
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/MC/MCInstrInfo.h
M llvm/lib/MC/MCInstrInfo.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[MC][NFC] Generate ComplexDeprecationInfos as function (#207496)
The only user of ComplexDeprecationInfos is ARM, where 19 instructions
are deprecated. Instead of emitting a ~36kiB function pointer table,
emit a single 201B (x86-64) function switching over the opcodes.
Commit: 3aec6a40bb4e49f9ea181ac5c949b6c7c20a5465
https://github.com/llvm/llvm-project/commit/3aec6a40bb4e49f9ea181ac5c949b6c7c20a5465
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M lldb/source/DataFormatters/FormatterBytecode.cpp
M llvm/include/llvm/DebugInfo/CodeView/Formatters.h
M llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
M llvm/include/llvm/Support/FormatAdapters.h
M llvm/include/llvm/Support/FormatCommon.h
M llvm/include/llvm/Support/FormatProviders.h
M llvm/include/llvm/Support/FormatVariadic.h
M llvm/include/llvm/Support/FormatVariadicDetails.h
M llvm/lib/Support/FormatVariadic.cpp
M llvm/tools/llvm-xray/xray-stacks.cpp
M llvm/unittests/ADT/TwineTest.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
M mlir/include/mlir/TableGen/Format.h
M mlir/lib/TableGen/Format.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
Log Message:
-----------
[Support] Remove virtual functions from formatv (#207516)
Currently, formatv erases types using a base class and calls the virtual
function format() to format the objects. To avoid these vtables,
refactor formatv to instead store function_refs to a functor (struct
with overloaded operator()). This saves ~5kiB in vtables.
Additionally, add a static assertion that a formatter is present instead
of relying on errors due to missing templates. This requires a little
change to MLIR's tgfmt to use a different name -- previously, the
substitution failure on ArrayRef<> would cause the variadic function to
be skipped, but a static assertion failure is not a substitution error.
Also, simplify the code in FormatVariadicDetails to use if constexpr
instead of template overloads with enable_if, making the code shorter
and easier to read.
Commit: 5ec0eee3a67ec0f8aebccc6864c574ce73e2f937
https://github.com/llvm/llvm-project/commit/5ec0eee3a67ec0f8aebccc6864c574ce73e2f937
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libc/src/__support/frac128.h
Log Message:
-----------
[libc] Fix buildbot failure for bigint (#207534)
Fixes the buildbot failure in
https://github.com/llvm/llvm-project/pull/206277 by adding the missing
initialization
Commit: 55669ac2f7df5e54561a3c36df6322a6318cb575
https://github.com/llvm/llvm-project/commit/55669ac2f7df5e54561a3c36df6322a6318cb575
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[Support][NFC] Use single predecessor array in DomTreeConstr (#207535)
Storing many small vectors of predecessors is bad for performance, as
each of these has to be non-trivially initialized when growing the
NodeInfos vector. Therefore, store all predecessors in a separate
vector, in which predecessors form a linked list.
Commit: 5d13ff1e940b93d820928d078f994a3c376f54e6
https://github.com/llvm/llvm-project/commit/5d13ff1e940b93d820928d078f994a3c376f54e6
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/test/TableGen/MacroFusion.td
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[MC] Generate FeatureKV with compact string table (#206331)
FeatureKV is responsible for a fair amount of .data.rel.ro size and
relocations; in an all-target build, this amounts to ~139 kiB that need
to be touched on every startup. Therefore, store strings adjacent to the
SubtargetFeatureKV in memory and reference the strings via relative
offsets to avoid dynamic relocations.
Commit: b0a64cf46adcb6da2cef28bac25f910077277923
https://github.com/llvm/llvm-project/commit/b0a64cf46adcb6da2cef28bac25f910077277923
Author: Connector Switch <c8ef at outlook.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libcxx/docs/Status/Cxx26Issues.csv
M libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp
Log Message:
-----------
[libc++] Mark LWG3454 as resolved (#207487)
Closes https://github.com/llvm/llvm-project/issues/171307.
LWG3454 has been implemented in
https://github.com/llvm/llvm-project/commit/98d3d5b5da66e3cf7807c23a0294280bb796466b.
Commit: c4714e43dc36f4bcf047e0f4bb1f8757fe72e422
https://github.com/llvm/llvm-project/commit/c4714e43dc36f4bcf047e0f4bb1f8757fe72e422
Author: Sergey Subbotin <ssubbotin at gmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format] Fix BlockIndent compat mapping of AlignAfterOpenBracket (#207187)
be11e2b3d25 (#192283) replaced the `[[fallthrough]]` chain in the
`AlignAfterOpenBracket` backward-compatibility switch with explicit
per-case assignments. In the `BAS_BlockIndent` case the
`BreakBeforeCloseBracket{BracedList,Function,If} = true` assignments are
immediately overwritten with `false`, and
`BreakAfterOpenBracket{BracedList,Function,If}` (previously inherited
from the `BAS_AlwaysBreak` case via fallthrough) are never set. As a
result, `AlignAfterOpenBracket: BlockIndent` parses to the same flag set
as `Align`, silently dropping the block-indent style for existing
configurations.
Restore the pre-#192283 mapping and pin the full BlockIndent flag
mapping in ConfigParseTest so the compat shim cannot regress silently
again.
Fixes #207186.
Note for the release branch: if #205920 (backport of #192283 to
release/22.x) lands, this fix needs to be backported together with it.
Commit: 758f0394c0158d7b4db7b7f1d5cd8174ab9812b7
https://github.com/llvm/llvm-project/commit/758f0394c0158d7b4db7b7f1d5cd8174ab9812b7
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Move consecutive vector pointer construction to VPBuilder (NFC). (#207563)
Introduce VPBuilder::createConsecutiveVectorPointer to create vector
pointers for consecutive accesses. This enables re-use in follow-up
changes.
Commit: 37f7fc7c05865e1c8ebcda915d379963b48c3e69
https://github.com/llvm/llvm-project/commit/37f7fc7c05865e1c8ebcda915d379963b48c3e69
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-profiles.c
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/MC/RISCV/invalid-attribute.s
A llvm/test/MC/RISCV/rvy-build-attributes.s
A llvm/test/MC/RISCV/rvy-invalid-attributes.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISC-V][RVY] Initial ISAInfo support for RVY
RVY is a new base ISA, so the syntax to enable it is rv32y/rv64y.
Since the compressed instructions reuse the space for Zcf (RV32) and
Zcd (RV64), those are marked as incompatible and the logic for C/Zce
is updated as part of this PR.
RVY can also extend RVE instead of RVY (as is done for CHERIoT), but the
official arch string syntax for that has not been finalized yet.
Related discussion on that includes the "long base name" proposal:
https://lists.riscv.org/g/tech-unprivileged/message/1134
Reviewers: topperc, lenary, jrtc27
Pull Request: https://github.com/llvm/llvm-project/pull/201931
Commit: a8b40e80344d09b9a1b2b14bde934494409db9df
https://github.com/llvm/llvm-project/commit/a8b40e80344d09b9a1b2b14bde934494409db9df
Author: Zhige Chen <zhige_chen at outlook.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
A llvm/test/tools/llubi/intr_experimental_vector.ll
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[llubi] Implement experimental vector intrinsics (#206899)
This PR implements experimental vector intrinsics.
Commit: f26f3e659f4a4292f8cf311f351bcc231dc59c71
https://github.com/llvm/llvm-project/commit/f26f3e659f4a4292f8cf311f351bcc231dc59c71
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
A clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
Log Message:
-----------
[clang][CIR] Add lowering for Neon rounding builtins (#195021)
This PR adds CIR lowering for AArch64 NEON rounding builtins:
- vrnd (trunc), vrnda (round), vrndi (nearbyint), vrndm (floor),
vrndn (roundeven), vrndp (ceil), vrndx (rint)
- vrnd32x, vrnd32z, vrnd64x, vrnd64z (v8.5-a FRINT variants)
The standard rounding builtins lower to the corresponding CIR ops
(cir.trunc, cir.round, etc.). The vrndi_v/vrndiq_v cases are handled
in the common NEON switch since they enter via AArch64SIMDIntrinsicMap
(NEONMAP0). The vrnd32/64 builtins use NEONMAP1 entries with their
aarch64.neon.frint* intrinsic names.
The lowering follows the existing implementation in
CodeGen/TargetBuiltins/ARM.cpp.
Prior to this patch, the original neon-intrinsics.c had zero f32
standard rounding tests :
I had added 15 test cases to cover f32 standard rounding tests
(vrnd_f32, vrnda_f32, etc.) in
clang/test/CodeGen/AArch64/neon/intrinsics.c
For this reasons, 30 num-of-new-tests > 15 num-of-deleted-tests.
Part of https://github.com/llvm/llvm-project/issues/185382.
Commit: 4fb7bf3323ea54d929f3846e6cd28d9dda1b891c
https://github.com/llvm/llvm-project/commit/4fb7bf3323ea54d929f3846e6cd28d9dda1b891c
Author: Yuan Suo <suoyuan666 at s5n.xyz>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/test/Sema/LifetimeSafety/safety-c.c
M clang/test/Sema/LifetimeSafety/safety.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Add multi-block support to buildOriginFlowChain (#204592)
After introducing `buildOriginFlowChain` to use-after-scope diagnostics,
it should support multi-block analysis. This also allows it to be reused
by other diagnostics.
In some loops, `UseFact` may appear before `OriginFlowFact`:
```cpp
void for_loop_use_before_loop_body(MyObj safe) {
MyObj* p = &safe;
for (int i = 0; i < 1; ++i) {
(void)*p;
MyObj s;
p = &s;
}
(void)*p;
}
```
So I no longer use `StartPoint` as the initial search starting point; it
is only used to locate the corresponding block.
---------
Signed-off-by: Yuan Suo <suoyuan666 at s5n.xyz>
Commit: f2342e84e66c015a43437620f825fe884c8bdd4e
https://github.com/llvm/llvm-project/commit/f2342e84e66c015a43437620f825fe884c8bdd4e
Author: Koakuma <koachan at protonmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/test/CodeGen/SPARC/bswap.ll
Log Message:
-----------
[SPARC] Don't combine misaligned memory ops with BSWAP (#206345)
Doing it will result in a misaligned LD*A/ST*A instruction, which will
raise a bus error.
This should fix the failure in `clamscan` test.
Commit: d832bfe3c99ac8251258b5a965d4418db503e38c
https://github.com/llvm/llvm-project/commit/d832bfe3c99ac8251258b5a965d4418db503e38c
Author: Lucas Mellone <github.snugness349 at passinbox.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libcxx/docs/Status/Cxx26Issues.csv
Log Message:
-----------
[libc++] Mark LWG4098 as resolved (#206295)
Already implemented and tested in the scope of the full implementation
for `adjacent_view` (1e15dbe311eb08462e7a68fcb8b5850632e24aff).
Closes #105353
Commit: 9a858b68628a37a36d82b076425c1e5ce902cb6f
https://github.com/llvm/llvm-project/commit/9a858b68628a37a36d82b076425c1e5ce902cb6f
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
Log Message:
-----------
[DirectX] Fix format override in DXILPrettyPrinter.cpp (#207588)
Commit: ecbadb43064ad4f9dbc5bf8c1e232ce3582779f7
https://github.com/llvm/llvm-project/commit/ecbadb43064ad4f9dbc5bf8c1e232ce3582779f7
Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M clang/include/clang/Basic/AArch64CodeGenUtils.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/subtraction.c
Log Message:
-----------
[CIR][AArch64] Upstream narrowing-subtraction NEON builtins (#207115)
Related to https://github.com/llvm/llvm-project/issues/185382
CIR lowering for
- narrowing-subtraction intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#narrowing-subtraction)
Port tests:
- `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/subtraction.c`
Commit: 67d9abb916acc2b501ae08297de95c22e99d7218
https://github.com/llvm/llvm-project/commit/67d9abb916acc2b501ae08297de95c22e99d7218
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[GenericDomTreeConstruction] Use 0-based DFS numbering (#207524)
Number DFS-visited nodes from 0 and drop the unused index-0 sentinel
from NumToNode/NumToInfo/IDoms.
`Unvisited = 0` marks unvisited nodes by DFS. 0 is now the DFS root, or
the virtual root for postdominators.
Decrease the inline capacity for NumToNode/NodeInfos, which doesn't seem
to matter. sqlite3's p90 block count is 29.
Commit: 2ac46a3b86ba92408f6503986f518da6cbd1d224
https://github.com/llvm/llvm-project/commit/2ac46a3b86ba92408f6503986f518da6cbd1d224
Author: David Green <david.green at arm.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/arith.ll
M llvm/test/Analysis/CostModel/AArch64/mul.ll
Log Message:
-----------
[AArch64] Update some arith and mul tests. NFC (#207589)
Commit: bfca639ab943b4b2e16178797ebb01c84675ee65
https://github.com/llvm/llvm-project/commit/bfca639ab943b4b2e16178797ebb01c84675ee65
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/CodeGen/MachineOperandTest.cpp
M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[CodeGen][NFC] Store CPU model index in SubTypeKV (#207351)
Instead of storing the pointer to the CPU model, store all CPU models in
an array and store the index. This is preliminary work for moving
SubTypeKV to .rodata.
NB: the scheduling models also take a fair amount of space in
.data.rel.ro, with SchedModels ~13kiB, ModelProcResources ~57kiB.
Commit: 9cd1001509c89f468ab262194a77f5e191ca9040
https://github.com/llvm/llvm-project/commit/9cd1001509c89f468ab262194a77f5e191ca9040
Author: Osman Yasar <osmanyas05 at gmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir
Log Message:
-----------
[GlobalISel] Add or_and_and pattern from SelectionDAG (#204618)
This PR adds the `fold or (xor x, y), (x and/or y) --> or x, y` pattern
from SelectionDAG to GlobalISel.
Commit: 5bc19784053eb8904dbe81215301de16ed54f499
https://github.com/llvm/llvm-project/commit/5bc19784053eb8904dbe81215301de16ed54f499
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/CodeGen/MachineOperandTest.cpp
M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[MC][NFC] Store SubTypeKV names as string table (#207580)
This moves the large SubTypeKV arrays to .rodata, as they no longer
contain the key pointers that need to be relocated.
Additionally, remove the largely redundant CPUNames arrays and integrate
the AArch64 aliases into the sorted string table. There was really no
need to introduce these 17 kiB arrays solely for including AArch64
aliases in help output.... (added in b6c22a4)
Commit: e3c881815ea25acdf9a5f485b23a60c2eae8481c
https://github.com/llvm/llvm-project/commit/e3c881815ea25acdf9a5f485b23a60c2eae8481c
Author: Igor Shevlyakov <igor at tachyum.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add4.ll
Log Message:
-----------
[InstCombine] Fold commuted add of udiv/urem by two (#206272) (#207462)
Fixes #206272.
`SimplifyAddWithRemainder` folds `(X / C0) * C1 + (X % C0) * C2`,
treating `and X, lowmask` as a remainder and `lshr X, N` as a division.
The commuted form `add (and X, C), (lshr X, N)` was missed because the
operand-order swap only recognized a real `urem`/`srem`.
Now the fold is tried with both operand orders instead of relying on
that swap. Verified with Alive2.
Supersedes #207249 (re-opened from the correct account; already
incorporates the both-operand-orders refactor suggested there by
nikic).
Prepared with AI assistance per the [LLVM AI Tool
Policy](https://llvm.org/docs/AIToolPolicy.html); not a "good first
issue".
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: d8b223292490e9abdbce87278044de406e0242f3
https://github.com/llvm/llvm-project/commit/d8b223292490e9abdbce87278044de406e0242f3
Author: Sungbin Jo <goranmoomin at daum.net>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
A llvm/test/Transforms/InstCombine/fptoui-of-fdiv.ll
Log Message:
-----------
[InstCombine] Fold fpto{u,s}i of int-cast fdiv into {u,s}div (#205853)
Fixes #205305.
Adds an InstCombine fold for the pattern `fpto{u,s}i (fdiv ({u,s}itofp
X), C)` to `{u,s}div X, C`.
Safe when
- Unsigned: C > 0 and the integer width N <= the FP mantissa width p.
- Signed: C != 0 and N - 1 <= p, excluding (X == INT_MIN, C == -1).
See linked issue for detailed reasoning.
Commit: 4a02e116e58d162335cf18b4f1f28c7d34d6d3ac
https://github.com/llvm/llvm-project/commit/4a02e116e58d162335cf18b4f1f28c7d34d6d3ac
Author: aokblast <aokblast at FreeBSD.org>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libcxxabi/test/thread_local_destruction_order.pass.cpp
Log Message:
-----------
[libcxxabi] Re-enable `thread_local_destruction_order.pass.cpp` on FreeBSD (#186129)
The underlying bug has been fixed in https://reviews.freebsd.org/D55826.
Commit: a68147f0f05652d50937ab178f7ac21069562028
https://github.com/llvm/llvm-project/commit/a68147f0f05652d50937ab178f7ac21069562028
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/thread.h
M libcxx/include/future
M libcxx/include/module.modulemap.in
M libcxx/include/thread
A libcxx/test/libcxx/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx26.csv
R libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.format.pass.cpp
R libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.vformat.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
Log Message:
-----------
[libc++] Use std::to_chars to format thread::id and canonicalize the representation across platforms (#181624)
This makes printing `thread::id` faster, since we avoid a bunch of
boilerplate code that isn't optimized away. It also avoids including
`<sstream>` and `<__locale>`, cutting the time to parse `<thread>` in
half.
This also changes the output when printing the id on a platform that
uses a pointer as the underlying type. I don't think that's a problem,
since the thread id isn't in any way stable. It also makes the output
consistent across all platforms we support.
Commit: 925f4f27b724446572c644a23d20a8a8ecd5dd90
https://github.com/llvm/llvm-project/commit/925f4f27b724446572c644a23d20a8a8ecd5dd90
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libcxx/include/__configuration/abi.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/test/benchmarks/random.bench.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
M libcxx/utils/libcxx/test/features/libcxx_macros.py
Log Message:
-----------
[libc++] Add an ABI flag to optimize mersenne_twister_engine (#206423)
Instead of updating the status array every time `operator()` is called,
we can instead update it once every time the entire array has been read.
That allows the compiler to vectorize the updating code, improving
performance.
Apple M4:
```
Benchmark old new Difference % Difference
---------------------------------------- ------- ------- ------------ --------------
std::mt19937::operator() 1.39 0.65 -0.74 -53.26%
std::mt19937::operator()_(into_array) 172.92 80.69 -92.23 -53.34%
std::mt19937_64::operator() 1.46 0.99 -0.47 -31.99%
std::mt19937_64::operator()_(into_array) 187.31 108.10 -79.21 -42.29%
```
Fixes #197221
Commit: 076af822d2bfba95e5d62e15d0f11216956b1cb4
https://github.com/llvm/llvm-project/commit/076af822d2bfba95e5d62e15d0f11216956b1cb4
Author: David Green <david.green at arm.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/docs/GlobalISel/Legalizer.rst
R llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
R llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
M llvm/lib/Target/BPF/GISel/BPFLegalizerInfo.cpp
M llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.cpp
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[GlobalISel] Remove LegacyLegalizerInfo (#197308)
After #197238, #197370, #197371, #197374, #197375, #197377, #197378 and
#197379, this removes the legacy rules from global isel.
The above patches attempt to make all _tested_ operations legal, but
have only gone through the operations that have llvm tests. If more
fallbacks are now found to be happening, the other operations from
#197238 might be needed.
Commit: 3be67c72f5d5b9f459c0b11fce2c92c2cac5a984
https://github.com/llvm/llvm-project/commit/3be67c72f5d5b9f459c0b11fce2c92c2cac5a984
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M lld/ELF/Arch/SPARCV9.cpp
Log Message:
-----------
[ELF] Add target-specific relocation scanning for SPARCV9 (#206284)
Implement SPARCV9::scanSectionImpl, following the pattern established
for x86 and other targets. This merges the getRelExpr and TLS handling
for SHF_ALLOC sections into the target-specific scanner, enabling
devirtualization and eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC for PC-relative relocations and processR_PLT_PC for
PLT relocations.
- Handle TLS LE relocations directly with checkTlsLe.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and preprocessRelocs.
Commit: 051bcefe0efe0d157e6dc72e89c38b7840e9836a
https://github.com/llvm/llvm-project/commit/051bcefe0efe0d157e6dc72e89c38b7840e9836a
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[GenericDomTreeConstruction] Store the semidominator value in Label (#207603)
runSemiNCA's eval() stores the vertex with the minimal semidominator in
Label and dereferences NumToInfo[Label]->Semi to compare it. Store the
semidominator (Semi) value directly in Label instead, so eval compares
by number with no NumToInfo lookup.
Commit: ecdd6403fd213f90243a3d354d4db3483b89471f
https://github.com/llvm/llvm-project/commit/ecdd6403fd213f90243a3d354d4db3483b89471f
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
Log Message:
-----------
[LoopInfo] Avoid a throwaway vector in getLoopsInPreorder. NFC (#207607)
We can append each root and walk its inner loops directly into the
result.
Commit: f1d1746c4df9401667574c14a66cdfcb428b2cb6
https://github.com/llvm/llvm-project/commit/f1d1746c4df9401667574c14a66cdfcb428b2cb6
Author: David Green <david.green at arm.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.cpp
Log Message:
-----------
[M68K][GlobalISel] Remove dependency on legal ruleset (#207614)
This fills in always legal rules, to remove the dependency on the legacy
ruleset. This is not guaranteed to be all the rules, just the ones that
appear
in tests.
See #197308
Commit: bb639a128559172e8b3067ea267b8f37895ae1f8
https://github.com/llvm/llvm-project/commit/bb639a128559172e8b3067ea267b8f37895ae1f8
Author: xys-syx <xuyuansui at outlook.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp
M mlir/test/Target/LLVMIR/Import/nvvmir.ll
Log Message:
-----------
[MLIR][NVVM]Import llvm intrinsics for nvvm.barrier (#202862)
This PR adds LLVM IR import support for the `bar.sync` intrinsic family,
lifting the four variants into `nvvm.barrier` with the appropriate
`aligned` attribute and optional thread-count operand.
`LLVM_IntrOpBase` and its auto-generated import is one to one, but four
`bar.sync` variants are many-to-one, where they all lift into
`nvvm.barrier`, differing only in `aligned` and the optional
`numberOfThreads` operand.
An alternative implementation would extend mlir-tblgen with many-to-one
intrinsic-to-op mapping support so the conversion could live in
`NVVMOps.td`. But the change is bigger than manually import `bar.sync`
intrinsic family.
Commit: 434e4e15f6a3217b4bbb8dafe68084222067e9ce
https://github.com/llvm/llvm-project/commit/434e4e15f6a3217b4bbb8dafe68084222067e9ce
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/test/CodeGen/RISCV/make-compressible-for-store-address.mir
M llvm/test/CodeGen/RISCV/make-compressible-rv64.mir
M llvm/test/CodeGen/RISCV/make-compressible-xqci.mir
M llvm/test/CodeGen/RISCV/make-compressible-zbc-zhinx.mir
M llvm/test/CodeGen/RISCV/make-compressible-zbc.mir
M llvm/test/CodeGen/RISCV/make-compressible-zfinx.mir
M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
M llvm/test/CodeGen/RISCV/make-compressible.mir
Log Message:
-----------
[RISCV] Run MakeCompresible at Os as well (#207172)
Commit: 319c1f1c1132e54a2135ffe1d7c58ed7e47b5e51
https://github.com/llvm/llvm-project/commit/319c1f1c1132e54a2135ffe1d7c58ed7e47b5e51
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
Log Message:
-----------
[NewPM] Port StaticDataProfileInfo and wire into x86 AsmPrinter
Ports the analysis to the NewPM and wires it into the NewPM x86
AsmPrinter where we are currently just returning nullptr.
Reviewers: mingmingl-llvm, teresajohnson, arsenm, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/207550
Commit: 29fa6a82476b92c8bc5168118151675b6ab940d1
https://github.com/llvm/llvm-project/commit/29fa6a82476b92c8bc5168118151675b6ab940d1
Author: TelGome <93700071+TelGome at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support Packed Merge. (#207110)
Commit: deecf8dce7dd6df5ce82bf273f7bfb75a783160a
https://github.com/llvm/llvm-project/commit/deecf8dce7dd6df5ce82bf273f7bfb75a783160a
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/AMDGPUAsyncOperations.rst
A llvm/docs/AMDGPUDMAOperations.md
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/UserGuides.md
Log Message:
-----------
[docs][AMDGPU] move DMA operations to a separate file (#206917)
This includes the various `.async` and `.tensor` operations. Various
scattered bits of information are now in one place. Also added the
missing documentation for tensor intrinsics.
Commit: 9b2d44a51252891b4612330c485fa11464866455
https://github.com/llvm/llvm-project/commit/9b2d44a51252891b4612330c485fa11464866455
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A llvm/include/llvm/ObjectYAML/ContiguousBlobAccumulator.h
M llvm/lib/ObjectYAML/CMakeLists.txt
A llvm/lib/ObjectYAML/ContiguousBlobAccumulator.cpp
M llvm/lib/ObjectYAML/ELFEmitter.cpp
Log Message:
-----------
[ObjectYAML][NFC] Hoist ContiguousBlobAccumulator into a shared header (#207306)
Move ContiguousBlobAccumulator out of ELFEmitter.cpp's anonymous
namespace so other yaml2obj emitters can reuse it.
Commit: 224b9d2ac05d808aa4b08c27ba37149260310e4b
https://github.com/llvm/llvm-project/commit/224b9d2ac05d808aa4b08c27ba37149260310e4b
Author: Vinay Deshmukh <vinay_deshmukh at outlook.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/include/set
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
M libcxx/test/std/containers/associative/multiset/clear.pass.cpp
M libcxx/test/std/containers/associative/multiset/count.pass.cpp
M libcxx/test/std/containers/associative/multiset/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/empty.pass.cpp
M libcxx/test/std/containers/associative/multiset/equal_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/find.pass.cpp
M libcxx/test/std/containers/associative/multiset/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/multiset/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/multiset/max_size.pass.cpp
M libcxx/test/std/containers/associative/multiset/merge.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.observers/comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/size.pass.cpp
M libcxx/test/std/containers/associative/multiset/upper_bound.pass.cpp
Log Message:
-----------
[libc++] Make `<set>` `std::multiset` constexpr as part of P3372R3 (#206257)
Commit: dc56f7104e036bdbf5b48d4d16dd3cf41c44e78f
https://github.com/llvm/llvm-project/commit/dc56f7104e036bdbf5b48d4d16dd3cf41c44e78f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/StaticDataSplitter.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[NewPM] Port StaticDataSplitter
Standard pass porting. Remove the MBPI member given it was unused.
Reviewers: arsenm, teresajohnson, mingmingl-llvm
Pull Request: https://github.com/llvm/llvm-project/pull/207627
Commit: 311c3cee0c6c6d7f192b58ec02dd381539ccb0a2
https://github.com/llvm/llvm-project/commit/311c3cee0c6c6d7f192b58ec02dd381539ccb0a2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/StaticDataAnnotator.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[NewPM] Port StaticDataAnnotator
Standard NewPM pass porting. The PassBuilder wireup/test coverage will
come in the next PR.
Reviewers: arsenm, teresajohnson, mingmingl-llvm
Pull Request: https://github.com/llvm/llvm-project/pull/207629
Commit: f7d75024bf194e660aa56714e7f0fdb56b92de69
https://github.com/llvm/llvm-project/commit/f7d75024bf194e660aa56714e7f0fdb56b92de69
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M llvm/include/llvm/BinaryFormat/DynamicTags.def
M llvm/lib/Object/ELF.cpp
Log Message:
-----------
[SPARC] Make SPARC_REGISTER Sparc specific in llvm-readobj and LLDB (#206316)
The commit 4418a8e5 failed to limit SPARC_REGISTER to Sparc targets
only, which causes conflict when adding new dynamic tags for other
targets.
Commit: 774f8a0b868cf526ffbd8af0a7e83c6b70d1b4fb
https://github.com/llvm/llvm-project/commit/774f8a0b868cf526ffbd8af0a7e83c6b70d1b4fb
Author: jinge90 <ge.jin at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/complex.rst
M libc/include/complex.yaml
M libc/src/complex/CMakeLists.txt
A libc/src/complex/cabs.h
A libc/src/complex/cabsf.h
M libc/src/complex/generic/CMakeLists.txt
A libc/src/complex/generic/cabs.cpp
A libc/src/complex/generic/cabsf.cpp
A libc/test/src/complex/CAbsTest.h
M libc/test/src/complex/CMakeLists.txt
A libc/test/src/complex/cabs_test.cpp
A libc/test/src/complex/cabsf_test.cpp
M libc/utils/MPCWrapper/MPCUtils.cpp
Log Message:
-----------
[libc][complex] Enable cabs and cabsf in libc (#206677)
This PR adds basic implementation for cabs and cabsf in LLVM libc and
also extend current MPC infrastructure to support cabs operation.
---------
Signed-off-by: jinge90 <ge.jin at intel.com>
Commit: 4d7b4fd9879fb0599b4e0a2a0c60394f64015c5a
https://github.com/llvm/llvm-project/commit/4d7b4fd9879fb0599b4e0a2a0c60394f64015c5a
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .github/workflows/test-suite.yml
Log Message:
-----------
[GitHub] Build llvm-size for test-suite.yml workflow (#207642)
This is also needed by llvm-test-suite
Commit: 4eb56cf497aaee55dc1346a7e1319dff33864601
https://github.com/llvm/llvm-project/commit/4eb56cf497aaee55dc1346a7e1319dff33864601
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
M llvm/test/Transforms/InstSimplify/cast.ll
Log Message:
-----------
[InstSimplify] Fold value-preserving zext/sext of trunc (#204089)
Fold a value-preserving `zext (trunc nuw X)` / `sext (trunc nsw X)` back
to
`X` in `simplifyCastInst` (when the trunc source type equals the extend
result type and the no-wrap flag guarantees the round-trip is identity).
After indvars canonicalizes a min-index loop, the running-index select
has a
`trunc nuw nsw i64 %iv to i32` on its true side while `arr[i]` is
addressed
directly with the i64 `%iv`. When PHI-translating the select-dependent
address along the backedge (see #203863), the true side becomes
`gep base, zext nneg (trunc nuw %iv)`, which has no matching instruction
in
the loop, so the select dependency is never formed and the redundant
load
survives.
Teaching `simplifyCastInst` to collapse the value-preserving
extend-of-trunc
makes the translated address fold back to `gep base, %iv`, matching the
existing `arr[i]` address, so the load through the select index is
eliminated. This fixes the integer min-index variant of
https://github.com/llvm/llvm-project/issues/58569#issuecomment-2788365047
(e.g. returning `minloc` instead of the value).
Alive2: https://alive2.llvm.org/ce/z/T5kMG8
Assisted-by: TraeCli (AI assistant)
Commit: 45574a58a0298cf64264022cb108818d84c3d6fd
https://github.com/llvm/llvm-project/commit/45574a58a0298cf64264022cb108818d84c3d6fd
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/test/Analysis/CostModel/RISCV/fca-load-store.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lmul-max.ll
M llvm/test/CodeGen/RISCV/rvv/pr52475.ll
Log Message:
-----------
[RISCV] Remove -riscv-v-fixed-length-vector-lmul-max option (#207312)
Whilst reviewing https://github.com/llvm/llvm-project/pull/207254, I
threw claude at it and it found a crash when passing in a non-default
-riscv-v-fixed-length-vector-lmul-max flag.
This option was added 5 years ago around the time initial fixed vector
support was being added in a719b667a9794, and IIUC it was added so that
support for more LMULs could be added over time.
We don't have any substantial codegen testing for it and I couldn't find
any downstream users either. So rather than trying to fix
https://github.com/llvm/llvm-project/pull/207254 to handle it it seems
easier just to remove it now that fixed vector support for RVV has
matured.
Commit: 467390e7c08a5067355aa72d6262ff965d7fc9b4
https://github.com/llvm/llvm-project/commit/467390e7c08a5067355aa72d6262ff965d7fc9b4
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
Log Message:
-----------
[InstCombine] Skip redundant demanded element queries in insert chains (#205948)
Avoid re-running `SimplifyDemandedVectorElts` on intermediate
`insertelement` chain nodes when a bounded scan proves the top-level
all-lanes query cannot change the IR.
The skip is implemented inside the `InsertElement` case of
`SimplifyDemandedVectorElts` and is limited to the top-level all-lanes
query (`Depth == 0 && DemandedElts.isAllOnes()`). The bounded scan
matches the existing SDVE depth window and only skips chains with
distinct in-range constant insert indices. This keeps the normal SDVE
path for duplicate indices, variable indices, out-of-range indices,
multi-use chains, and the final chain root.
This was motivated by a cutile matmul compile-time case where loop
unrolling produced 128-lane vector insert/extract chains. Before this
change, InstCombine repeatedly invoked SDVE on intermediate
`insertelement` nodes in those chains. On the representative IR, the
affected InstCombine pass time went from about `44.9 ms` to `29.8 ms`,
and total `opt` compile time was reduced by about 20%.
AI disclosure: This patch was developed with assistance from
@openai-codex using GPT-5.5 via [Codex](https://openai.com/codex/). I
reviewed and tested the final changes before submission.
Commit: a929f649b490103ee15e2b71b4666d52b997b877
https://github.com/llvm/llvm-project/commit/a929f649b490103ee15e2b71b4666d52b997b877
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU][NPM] Complete AsmPrinter support (#203509)
Commit: aae9f9ed88eda733e46e308351ba5cd68091806f
https://github.com/llvm/llvm-project/commit/aae9f9ed88eda733e46e308351ba5cd68091806f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
Log Message:
-----------
[clang][bytecode][NFC] Move Scope classes to source file (#207647)
Commit: 0ac6b4bd5b49b0615d420fb03c59024a4e360a31
https://github.com/llvm/llvm-project/commit/0ac6b4bd5b49b0615d420fb03c59024a4e360a31
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Remove unnecessary loop variable (#207649)
No reason to have the extra `N`.
Commit: a280b1b4f84186255c41a989312ab01ee4c30b88
https://github.com/llvm/llvm-project/commit/a280b1b4f84186255c41a989312ab01ee4c30b88
Author: Santanu Das <santdas at qti.qualcomm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-elf.c
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/test/CodeGen/Hexagon/reserved-regs.ll
Log Message:
-----------
[Hexagon] Allow reservation of caller saved registers via -ffixed-rXX (#205733)
Previously, hexagon allowed only callee saved registers to be reserved
since reserving caller saved regs can create problems, since it cannot
be sure that the callee (from a different module) also reserves the
register.
The responsibility of reserving register and managing it is now on the
user. However, a warning will be displayed if the user tries to reserve a
caller saved register.
---------
Co-authored-by: quic-santdas <quic_santdas at qti.qualcomm.com>
Commit: f44ec21260a193a197727962326f07d4a3150af9
https://github.com/llvm/llvm-project/commit/f44ec21260a193a197727962326f07d4a3150af9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode][NFC] Move float->ap cast ops to the source file (#207592)
And deduplicate the code.
Commit: ae3d310fa38febc0fd52421ed1e12c621757204c
https://github.com/llvm/llvm-project/commit/ae3d310fa38febc0fd52421ed1e12c621757204c
Author: ingoneuse <ingo.neuse at sap.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
Log Message:
-----------
[clangd] Null-check AutoTypeLoc in CollectExtraHighlightings::VisitDeclaratorDecl (#207323)
A Decl's getType() can have a getContainedAutoType() without
its TypeSourceInfo's type having one, because the two types
can differ in type sugar such as DecltypeType which
getContainedAutoType[Loc]() deliberately does not look through.
Fixes https://github.com/llvm/llvm-project/issues/207139
Commit: 7bdca287b102ee935e982613dba2264cbc7a32ad
https://github.com/llvm/llvm-project/commit/7bdca287b102ee935e982613dba2264cbc7a32ad
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/X86/always-inline-features.ll
Log Message:
-----------
[InlineCost] Never inline functions with incompatible target features (#205113)
If inlining is unsound due to incompatible target feature attributes, we
should not inline the call even if alwaysinline is set. This will likely
result in a crash during instruction selection.
We tried this previously in
https://github.com/llvm/llvm-project/commit/d6f994acb3d545b80161e24ab742c9c69d4bbf33,
but the change had to be reverted because the quality of our
areInlineCompatible() hooks was very bad at the time, which resulted in
inlining not happening in many cases where it was safe.
I think we're in a much better position now. Most notably, we now have a
default areInlineCompatible() implementation that actually does
something sensible (https://github.com/llvm/llvm-project/pull/117493),
inlining compatibility for target features is now specified in TableGen
(https://github.com/llvm/llvm-project/pull/205348). Various
target-specific issues have been fixed as well, e.g. ARM's overly strict
feature whitelist (https://github.com/llvm/llvm-project/pull/205763) and
X86's overly conservative ABI compatibility checks
(https://github.com/llvm/llvm-project/pull/205106).
Commit: 1b2efd2e079a7fe86888cb7da12a5efa84b131fc
https://github.com/llvm/llvm-project/commit/1b2efd2e079a7fe86888cb7da12a5efa84b131fc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
A libcxx/include/__memory/uninitialized_multidimensional_algorithms.h
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++] Split the multidimensional algorithms out of uninitialized_algorithms.h (#207447)
While these algorithms are conceptually related to other
`uninitialized_*` algorithms, they're likely only ever going to be used
by `shared_ptr`. `uninitialized_algorithms.h` itself is also getting
rather large, so it makes sense to split the multidimensional versions
into their own header.
Fixes #207417
Commit: acafa250fd7abd22c20584ad615e9727fa5d1ed5
https://github.com/llvm/llvm-project/commit/acafa250fd7abd22c20584ad615e9727fa5d1ed5
Author: lrzlin <linrunze at loongson.cn>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sitofp.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/uitofp.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sitofp.ll
Log Message:
-----------
[LoongArch] Remove inaccurate LASX conversion pattern and use [X]VFFINT.S.L instead (#207107)
Original LASX signed/unsigned 64-bit integer & floating point will
suffer from double rounding issue, due to it implements such logic: `i64
-> double -> float` that will lead to precision loss. So delete it and
introduce the `[X]VFFINT.S.L` instruction, which could convert 4 or 8
signed 64-bit integer into float in one instrunction.
Also, create the `MergeBlocksConvert` helper function to reuse the logic
about merge two blocks into one, avoid unnecessary code size bloat.
Commit: cb942d009a5ed029ce20d9b75b3604f551f0cb56
https://github.com/llvm/llvm-project/commit/cb942d009a5ed029ce20d9b75b3604f551f0cb56
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxxabi/src/CMakeLists.txt
Log Message:
-----------
[libc++abi] Always enable -fvisibility=hidden (#207333)
Building with `-fvisibility=hidden` is generally a good idea, since it
avoids unnecessary relocations when loading a dylib. For libc++abi this
should be a no-op, since most things are annotated explicitly. By
enabling `-fvisibility=hidden` we can remove these explicit annotations
however.
Commit: 46aa983d0990692e9aab6917435faab8a6395aa0
https://github.com/llvm/llvm-project/commit/46aa983d0990692e9aab6917435faab8a6395aa0
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/analyzer/checkers.rst
Log Message:
-----------
[clang][analyzer] Add documentation for unix modeling checker options (NFC) (#207225)
Commit: 4341c0c9b8b88aac576ce55211ea9db032b74124
https://github.com/llvm/llvm-project/commit/4341c0c9b8b88aac576ce55211ea9db032b74124
Author: Hagai Lev Hacohen <100465137+HagaiLevHacohen at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/MemRef/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][memref] Implement ValueBoundsOpInterface for memref.extract_strided_metadata/assume_alignment (#206466)
Add ValueBoundsOpInterface external models for memref.assume_alignment
and memref.extract_strided_metadata, so dimension and metadata bounds
can be propagated through these view-like ops during value-bounds
analysis.
Commit: e9e37211456e54b2e57f4b32cf4306012355601b
https://github.com/llvm/llvm-project/commit/e9e37211456e54b2e57f4b32cf4306012355601b
Author: David Green <david.green at arm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
R llvm/test/CodeGen/AArch64/GlobalISel/combine-max-min.ll
Log Message:
-----------
[AArch64] Remove duplicate combine-max-min.ll test. NFC (#207679)
Commit: d180df7d2d54b8460e2e20e46e69d617bbebff2f
https://github.com/llvm/llvm-project/commit/d180df7d2d54b8460e2e20e46e69d617bbebff2f
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fixed-point-math-i64.ll
Log Message:
-----------
[SPIR-V] Support i64 smul.fix/umul.fix via SPV_ALTERA_arbitrary_precision_integers (#207405)
Commit: 61679c3a299b2a858642feb805a5b383ae7d0902
https://github.com/llvm/llvm-project/commit/61679c3a299b2a858642feb805a5b383ae7d0902
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
Log Message:
-----------
[libc] Add protocol family constants (#206911)
These aren't in POSIX, but are in 4.2BSD and they're still widely used.
Commit: d93dfabfba1b2450e2571b72e7344def2703b0b1
https://github.com/llvm/llvm-project/commit/d93dfabfba1b2450e2571b72e7344def2703b0b1
Author: Yunqing Yu <yunqingy at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
A llvm/test/Verifier/NVPTX/tensormap-replace.ll
Log Message:
-----------
[NVPTX] Add missing Range attr to tensormap.replace intrinsics. (#207099)
Add missing `Range=[0, 5)` for `%ord imm` operand in
`nvvm.tensormap.replace` intrinsics.
Commit: 0c38875e1ae414695265f82bb91643c3d1ebcb9f
https://github.com/llvm/llvm-project/commit/0c38875e1ae414695265f82bb91643c3d1ebcb9f
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/TargetProperties.td
R lldb/test/API/functionalities/fork/stop/Makefile
R lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
R lldb/test/API/functionalities/fork/stop/main.c
R lldb/test/Shell/Subprocess/stop-on-fork.test
R lldb/test/Shell/Subprocess/stop-on-vfork.test
Log Message:
-----------
[lldb] Revert stop-on-fork and stop-on-vfork (#207663)
This was causing failures on green dragon
Commit: bf74249b5ecd651ca99043bea11a8b64301557d3
https://github.com/llvm/llvm-project/commit/bf74249b5ecd651ca99043bea11a8b64301557d3
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/test/CodeGenCoroutines/coro-elide.cpp
M clang/test/CodeGenCoroutines/coro-halo.cpp
M clang/test/CodeGenCoroutines/pr65018.cpp
Log Message:
-----------
[Clang] Require X86 backend for some coroutine tests (#207681)
The wrapper functions are generated without target features.
They can still be inlined based on target-specific logic, but this
requires the target to be available.
We should fix this by properly generating the target features,
but for now add a REQUIRES to unbreak the tests.
Commit: 2866d2333c477dead9a37248316e8d172e3b612a
https://github.com/llvm/llvm-project/commit/2866d2333c477dead9a37248316e8d172e3b612a
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
A llvm/test/Bitcode/Inputs/aarch64-memory-attribute-upgrade.bc
A llvm/test/Bitcode/Inputs/x86-memory-attribute-upgrade.bc
A llvm/test/Bitcode/target-memory-attribute.ll
A llvm/test/Transforms/LICM/AArch64/sme-fp8-hoist.ll
Log Message:
-----------
[AArch64][Bitcode] Use target memory for SME state (#205829)
Model AArch64 ZA and ZT0 intrinsic state using target_mem instead of
inaccessiblemem.
Bump the bitcode memory-attribute encoding and upgrade old AArch64
bitcode so prior inaccessiblemem effects are preserved on the new target
memory locations. Non-AArch64 bitcode keeps the old interpretation.
Commit: b30c365833b2d9d06c9de28551302acf524a2b04
https://github.com/llvm/llvm-project/commit/b30c365833b2d9d06c9de28551302acf524a2b04
Author: owenca <owenpiano at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
Log Message:
-----------
[clang-format][NFC] Refactor UnwrappedLineParser::parseLabel (#207674)
See
https://github.com/llvm/llvm-project/pull/196815#issuecomment-4470006692
Commit: 753ceecfdcdf43d626ddd9534cdf470572a8deda
https://github.com/llvm/llvm-project/commit/753ceecfdcdf43d626ddd9534cdf470572a8deda
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/socket.yaml
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/sockatmark.cpp
A libc/src/sys/socket/sockatmark.h
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/sockatmark_test.cpp
Log Message:
-----------
[libc] Implement sockatmark (#205400)
This patch implements sockatmark as a simple wrapper around
ioctl(SIOCATMARK).
I don't test it with actual out of band data, as that requires a TCP
connection, which is more complicated to set up.
Assisted by Gemini.
Commit: 74eebbe02b85b28e4c6519062d82c146987b5d8e
https://github.com/llvm/llvm-project/commit/74eebbe02b85b28e4c6519062d82c146987b5d8e
Author: Ádám Kallai <kadam at inf.u-szeged.hu>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M bolt/unittests/Profile/PerfScripts.cpp
Log Message:
-----------
[BOLT] Fixed PerfScript unittest for X86 (#207408)
The test was not prepared to run on X86 target.
This change parameterized the test function to ensure proper
initialization for different targets.
Commit: 40d671f85d28a683fd5820b2e0a356f2d1cc58e3
https://github.com/llvm/llvm-project/commit/40d671f85d28a683fd5820b2e0a356f2d1cc58e3
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/benchmarks/ImmutableSetIteratorBM.cpp
M llvm/include/llvm/ADT/ImmutableSet.h
Log Message:
-----------
[ADT][NFC] Use isEqual for ImmutableSet/Map tree canonicalization (#207596)
`ImutAVLFactory::getCanonicalTree` deduplicates a newly built tree
against the trees already in its cache. On a digest collision it
confirmed structural equality with `compareTreeWithSection`, a plain
element-by-element in-order walk that is always linear in the tree size.
`ImutAVLTree` already provides `isEqual`, which performs the same
structural comparison but skips subtrees that are shared by pointer.
These persistent trees are heavily structurally shared -- a tree
produced by `add`/`remove` shares everything but the mutated spine with
its predecessor -- so switching `getCanonicalTree` to `isEqual` reduces
the confirmation from `O(tree size)` to `O(number of differing nodes)`
in the common case, and is never asymptotically worse. The comparison is
exact, so canonicalization behavior is unchanged.
This builds on the recent iterator rewrite in #205552 ("Rewrite
ImmutableSet/Map in-order iterator without per-node state"), which made
in-order traversal and `skipSubTree` ~2x faster. That change is a
constant-factor speedup of the iterator primitive and it deliberately
preserved `skipSubTree`/`isEqual` semantics; this patch is complementary
and algorithmic: it routes canonicalization through the pointer-skipping
`isEqual`, cutting the number of nodes visited rather than the per-node
cost. The two compose -- the remaining traversal here runs on the faster
iterator from #205552.
This confirmation is the dominant cost of `ExplodedGraph`
canonicalization in the Clang Static Analyzer whenever many equivalent
`ProgramState`s are kept live and re-derived on different paths (for
example with node reclamation disabled): each re-derivation of an
already-cached `Environment`/`Store` map paid a full in-order walk to
confirm the match. On several large reproducers the analyzer's
`ImutAVLFactory` node comparisons dropped by ~26-36x with identical
diagnostics and identical `ExplodedGraph` node/step counts. (These
measurements already include #205552, so this speedup is on top of that
iterator win.)
`compareTreeWithSection` had no other callers and is removed.
## Analyzer wall-clock
Measured on the three reproducers from
https://github.com/llvm/llvm-project/issues/105512#issuecomment-2389083480,
best-of-3 wall-clock, `RelWithDebInfo` on an Apple M-series host. "ON"
is the default; "OFF" disables node reclamation (`-analyzer-config
graph-trim-interval=0`), the configuration that exposes the cost:
| Reproducer | Config | Before | After | Speedup |
| ------------ | ------ | -------- | ------- | ------- |
| ruby-unicode | ON | 2.18 s | 2.06 s | ~1.0x |
| ruby-unicode | OFF | 11.97 s | 2.28 s | ~5.2x |
| linux-topro | ON | 5.26 s | 5.08 s | ~1.0x |
| linux-topro | OFF | 11.16 s | 5.21 s | ~2.1x |
| MSP430 | ON | 2.71 s | 2.65 s | ~1.0x |
| MSP430 | OFF | 7.58 s | 2.71 s | ~2.8x |
The default (ON) path is unchanged within noise; the OFF path drops from
2.1-5.5x slower than ON to parity.
## Microbenchmark
Add a `CanonicalizeSharedEqual` case to `ImmutableSetIteratorBM`
covering `getCanonicalTree`/`isEqual`. It re-canonicalizes a freshly
built tree that is equal to, and shares subtrees with, a cached tree
(`RelWithDebInfo`, same host):
| Set size `N` | Before | After | Speedup |
| ------------ | --------- | ------- | ------- |
| 16 | 212 ns | 186 ns | ~1.1x |
| 256 | 1354 ns | 347 ns | ~3.9x |
| 4096 | 21603 ns | 547 ns | ~40x |
| 65536 | 677240 ns | 1015 ns | ~667x |
The existing `Iterate`/`Skip`/`CompareSamePos` cases are unchanged; this
does not touch the iterator.
Assisted by: Claude Opus 4.8
Commit: 672342f104a17a49f1286e5852fd0a9799c457fb
https://github.com/llvm/llvm-project/commit/672342f104a17a49f1286e5852fd0a9799c457fb
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/test/Verifier/NVPTX/tensormap-replace.ll
Log Message:
-----------
[NVPTX] Regenerate check lines (NFC) (#207684)
llvm-nvptx-nvidia-ubuntu buildbots were previously failing, appeared
after https://github.com/llvm/llvm-project/pull/207099.
Commit: 46367bb4fbc2617582227c2ceb468e8de44fef81
https://github.com/llvm/llvm-project/commit/46367bb4fbc2617582227c2ceb468e8de44fef81
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/divrem-by-select.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/legalize-vec-assertzext.ll
M llvm/test/CodeGen/X86/psadbw.ll
M llvm/test/CodeGen/X86/sad_variations.ll
M llvm/test/CodeGen/X86/trunc-subvector.ll
M llvm/test/CodeGen/X86/ucmp.ll
M llvm/test/CodeGen/X86/udiv_fix.ll
M llvm/test/CodeGen/X86/udiv_fix_sat.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-reduce-add-zext.ll
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
Log Message:
-----------
[X86] Attempt to narrow XMM->i64 (v)movq -> (v)movd if the upper 32-bits are known to be zero (#207615)
Add a custom 'X86upperzero' tablegen pattern to match vectors where the
upper half bits of every element is known zero.
Saves 1 byte by using (V)MOVD instead of (V)MOVQ - and avoids
differences in X86/X64 codegen that was bloating diffs in some upcoming
VECREDUCE_ADD work.
I've added an extra psadbw.ll test to ensure that the extractstore
pattern isn't being affected.
Cleanup for the upcoming VECREDUCE_ADD handling which will be using
PSADBW more aggressively (v2i64 result type but only 16 active bits for
element).
Commit: b81a4c10c8736e5c2bfec4cc091713e4cb7b5b3a
https://github.com/llvm/llvm-project/commit/b81a4c10c8736e5c2bfec4cc091713e4cb7b5b3a
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/s-barrier.ll
Log Message:
-----------
[AMDGPU] Fix s.barrier.init/signal.var member count mask (#207660)
The count was shifted before masking, so bits above the low 6 could leak
past the member count field in M0
Commit: 831ad2ee6af862965c21d7b785b0b00ed7bb7d9d
https://github.com/llvm/llvm-project/commit/831ad2ee6af862965c21d7b785b0b00ed7bb7d9d
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_ipv6_mreq.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/netinet-in-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_ipv6_mreq.h
M libc/include/netinet/in.yaml
M libc/test/src/netinet/CMakeLists.txt
M libc/test/src/netinet/in_test.cpp
Log Message:
-----------
[libc] Add struct ipv6_mreq and IPv6 socket options (#206448)
This patch adds struct ipv6_mreq and defines various IPv6 socket option
macros in <netinet/in.h>. I've also moved the existing option
definitions to the yaml file.
Assisted by Gemini.
Commit: 334eb772a25d700feb1f6c64b872cc693731b0b3
https://github.com/llvm/llvm-project/commit/334eb772a25d700feb1f6c64b872cc693731b0b3
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
Log Message:
-----------
[mlir][SPIR-V] Add SPIRVToLLVM conversions for GL.FMix and CL.mix (#206935)
Commit: 65bbeff0bdcfa53e72517ed59ab510ab6ebd32bf
https://github.com/llvm/llvm-project/commit/65bbeff0bdcfa53e72517ed59ab510ab6ebd32bf
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
Log Message:
-----------
[mlir][SPIR-V] Add SPIRVToLLVM conversion for GL.FClamp/SClamp/UClamp (#203831)
Lower the GLSL clamp ops as nested min/max following `min(max(x, y), z)`
---------
Co-authored-by: Igor Wodiany <dev at wodiany.com>
Commit: 8470dfb1e6190cc42c3eb151884533b8b4aba7e6
https://github.com/llvm/llvm-project/commit/8470dfb1e6190cc42c3eb151884533b8b4aba7e6
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb] Guard DW_OP_convert against null DWARF unit and empty stack (#207008)
`Evaluate_DW_OP_convert` dereferenced `eval_ctx.dwarf_cu` (the
`DWARFExpression` Delegate) whenever the operand DIE offset was
non-zero,
and unconditionally read `eval_ctx.stack.back()`. When a DWARF
expression is evaluated without a DWARF unit (as the
lldb-dwarf-expression-fuzzer does), two operand shapes crash:
- `DW_OP_convert` with a non-zero offset calls
`dwarf_cu->GetDIEBitSizeAndSign(...)` on a null Delegate.
- `DW_OP_convert` with nothing on the stack reads the back of an empty
vector.
The unit test feeds both with `dwarf_cu == nullptr` and crashes:
```
[ RUN ] DWARFExpression.DW_OP_convert
#2 SignalHandler(int, __siginfo*, void*)
#4 DWARFExpression::Evaluate(...)
#5 Evaluate(ArrayRef<unsigned char>, ...)
```
(SIGSEGV, the process aborts.)
Bail out with an error when the stack is empty, and when a non-zero DIE
offset is requested without a DWARF unit, instead of crashing.
Extends `DWARFExpression.DW_OP_convert` with these two cases, which
crash
without the fix.
---------
Co-authored-by: Michael Buch <michaelbuch12 at gmail.com>
Commit: 8e85d1f3d458ae91d8838ccde75c1488dd514794
https://github.com/llvm/llvm-project/commit/8e85d1f3d458ae91d8838ccde75c1488dd514794
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
A lldb/test/API/macosx/expedited-stack-memory/Makefile
A lldb/test/API/macosx/expedited-stack-memory/TestExpeditedStackMemory.py
A lldb/test/API/macosx/expedited-stack-memory/main.c
Log Message:
-----------
[lldb][test] Add expedited-stack-memory backtrace/locals packet test (#205897)
Add a Darwin API test that checks which gdb-remote packets lldb sends
while
inspecting the stack at a public stop, using the gdb-remote packet log
(the
same approach as TestExpeditedThreadPCs.py).
debugserver expedites the frame-pointer backchain in the `jThreadsInfo`
reply
at a public stop and lldb caches it, so:
- A backtrace (`GetNumFrames` + `GetFrameAtIndex` over every frame)
sends no
packets at all. With the memory cache disabled it must read the
backchain
frame by frame, which confirms the test exercises the unwinder's memory
reads.
- Examining frame locals is not covered by the expedite, so it reads
value
memory. The reads are classified as stack vs heap using the variables'
own addresses (known from main.c).
Locals are examined two ways, modeling how an IDE inspects values at a
stop:
walking the whole stack but examining only the selected frame's locals
(frame 0, as a variables view does on a stop), and examining every
frame's
locals (a "view all frames" mode). The stopped frame (`func_e`) carries
scalar,
aggregate, and pointer-to-heap locals so frame 0 alone reads both stack
and
heap memory; the outer frames keep locals so the all-frames case reads
the
same variety across several frames. Values are read with
`use_dynamic=eDynamicCanRunTarget` to match how an IDE reads them.
Commit: 4ffcfdfac177a7e7b3d9be20f73dd9d2890da006
https://github.com/llvm/llvm-project/commit/4ffcfdfac177a7e7b3d9be20f73dd9d2890da006
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
Log Message:
-----------
[lldb] Reject NULL key in PythonDictionary::GetItem (#205753)
A `breakpoint set -P <class>` with an invalid-UTF-8 class name crashes
lldb with `EXC_BAD_ACCESS`. The class name is passed through
unmodified, so the byte sequence `\xd0p` (an incomplete two-byte UTF-8
sequence) reaches the Python layer:
```
./bin/lldb -b -o $'breakpoint set -P \xd0p -f main.cpp' ./bin/lldb
...
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/
Stack dump:
#4 PythonDictionary::GetItem(PythonObject const&) const
#6 PythonDictionary::GetItemForKey(PythonObject const&) const
#7 PythonObject::ResolveNameWithDictionary(StringRef, PythonDictionary const&)
#9 ScriptedPythonInterface::CreatePluginObject<...>(...)
```
`ResolveNameWithDictionary` builds a `PythonString` from the class name
and looks it up in the module dictionary. When the name is not valid
UTF-8, `PyUnicode_FromStringAndSize` returns `NULL`, so the
`PythonString` is left with `m_py_obj == NULL`. `GetItemForKey` forwards
that object to `GetItem`, which passed the `NULL` `PyObject *` straight
to `PyDict_GetItemWithError`.
Debugging the crashing lldb under lldb shows the `NULL` key arriving in
`GetItem`:
```
(lldb) break set -n lldb_private::python::PythonDictionary::GetItem
(lldb) run --no-use-colors -b -s /tmp/bp_cmds.txt
* stop reason = breakpoint 1.1
(lldb) up
(lldb) frame variable key.m_py_obj
(PyObject *) key.m_py_obj = nullptr
```
Continuing lands on the dereference of that `NULL` inside CPython:
```
(lldb) continue
* stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
frame #0: PyDict_GetItemWithError + 40
-> ldr x8, [x1, #0x8]
```
`x1` holds the key argument, which is `NULL`, so reading the type field
at offset `0x8` faults at address `0x8`.
`GetItem` already guards against an invalid dictionary (`!IsValid()`);
extend that guard to reject an invalid key as well and return
`nullDeref()`. `GetItemForKey` consumes the error and returns an empty
`PythonObject`, so existing callers such as `ResolveNameWithDictionary`
keep working and the breakpoint command now fails cleanly instead of
crashing.
This was found by `lldb-commandinterpreter-fuzzer`.
Adds `PythonDataObjectsTest.TestPythonDictionaryGetItemWithInvalidKey`,
which feeds an invalid-UTF-8 key to `GetItem`. Without the fix the test
dereferences the `NULL` key and crashes (`SIGSEGV`).
Commit: fcfc9167b628a2fae8fe1d662989ff7752d905ad
https://github.com/llvm/llvm-project/commit/fcfc9167b628a2fae8fe1d662989ff7752d905ad
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
M clang/test/CodeGen/asm.c
M clang/test/CodeGen/asm_incbin.c
M clang/test/CodeGen/cfi-salt.c
M clang/test/CodeGen/kcfi.c
M clang/test/CodeGenCUDA/filter-decl.cu
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenObjC/category-class.m
M clang/test/CodeGenObjC/objc-runtime-name.m
M clang/test/Frontend/ast-codegen.c
M clang/test/Modules/codegen.test
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Object/ModuleSymbolTable.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
A llvm/test/Assembler/module-asm-invalid.ll
M llvm/test/Bitcode/compatibility-3.6.ll
M llvm/test/Bitcode/compatibility-3.7.ll
M llvm/test/Bitcode/compatibility-3.8.ll
M llvm/test/Bitcode/compatibility-3.9.ll
M llvm/test/Bitcode/compatibility-4.0.ll
M llvm/test/Bitcode/compatibility-5.0.ll
M llvm/test/Bitcode/compatibility-6.0.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/highLevelStructure.3.2.ll
A llvm/test/Bitcode/module-asm.ll
A llvm/test/CodeGen/RISCV/module-asm-features.ll
M llvm/test/Instrumentation/DataFlowSanitizer/prefix-rename.ll
A llvm/test/LTO/RISCV/module-asm.ll
M llvm/test/LTO/X86/inline-asm-lto-discard.ll
A llvm/test/Linker/Inputs/module-asm.ll
M llvm/test/Linker/link-arm-and-thumb-module-inline-asm.ll
A llvm/test/Linker/module-asm.ll
M llvm/test/ThinLTO/X86/import-symver.ll
M llvm/test/Transforms/LowerTypeTests/export-symver.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/x86/module-asm.ll
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/module-asm.mlir
Log Message:
-----------
Reapply [IR] Explicitly specify target feature for module asm (#204548) (#207677)
Reapply with a use-after-free fix. The MC subtarget used for inline
assembly has to stay alive until finalization, not only during the
emitInlineAsm() call.
-----
Support specifying additional properties on module-level inline
assembly. In particular, the target features and target CPU can now be
specified as follows:
module asm(target_features: "+foo", target_cpu: "bar")
"asm line 1"
"asm line 2"
There may be multiple module inline assembly blocks with different
properties.
This is intended to fix the long standing issue where in LTO scenarios
we don't know what target features to use for parsing the module-level
inline assembly. Now they can be faithfully preserved, even when merging
inline assembly from different modules with different features.
If target_features and target_cpu are empty, we fall back to the old
behavior (which, in the backend, would be to use the default subtarget
of the TargetMachine).
Fixes https://github.com/llvm/llvm-project/issues/61991.
Fixes https://github.com/llvm/llvm-project/issues/67698.
Commit: 58bc8dff332e0d4d7609b6dbda62200355bbc75f
https://github.com/llvm/llvm-project/commit/58bc8dff332e0d4d7609b6dbda62200355bbc75f
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
Log Message:
-----------
[mlir][x86] AMX memref source check (#206785)
Adds extra checks to AMX lowering to ensure data is read from memrefs as
tensors are not supported by x86 dialect ops.
Commit: 9de8a97a9e3551a97e342823a9b30960e4186212
https://github.com/llvm/llvm-project/commit/9de8a97a9e3551a97e342823a9b30960e4186212
Author: Valery Dmitriev <valeryd at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/AArch64/machine-cp-spill-chain-across-call.mir
M llvm/test/CodeGen/PowerPC/mcp-elim-eviction-chain.mir
Log Message:
-----------
[MCP] Fix bug in spill copy elimination folding chain across a call. (#206858)
findLastSeenDefInCopy interface does not check for possible register
clobbering between the def and current instruction. That may lead to not
having a caller preserved register being preserved across a call.
Replaced with findAvailCopy that also does checks for a regmask operand
between the def and current instruction.
Commit: f9f11eb515a81d0afe0c81c242aa93c40cff66f4
https://github.com/llvm/llvm-project/commit/f9f11eb515a81d0afe0c81c242aa93c40cff66f4
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
Log Message:
-----------
[AArch64][InstCombine] xor(cmpne) -> cmpeq (#207007)
Fold xor(cmpne(pg, v, 0), pg) into cmpeq(pv, v, 0)
Created after initially trying as a DAGCombine in #206931.
Commit: 57b1519e491498996ecb8599f6bbbf511a3146e8
https://github.com/llvm/llvm-project/commit/57b1519e491498996ecb8599f6bbbf511a3146e8
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
Log Message:
-----------
[RISCV][NFC] Remove unnecessary ZIP/VISNI checks (#207683)
We should remove them when removing `XRivosVizip` and `XRivosVisni`
but it seems UTC failed to do that.
Commit: 335a584e9d95db0c12b3f99d7c5ae19be2712128
https://github.com/llvm/llvm-project/commit/335a584e9d95db0c12b3f99d7c5ae19be2712128
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A lldb/test/API/tools/lldb-dap/utils/TestDAPUtils_DAPConnection.py
A lldb/test/API/tools/lldb-dap/utils/TestDAPUtils_EventHistory.py
A lldb/test/API/tools/lldb-dap/utils/sample_dap_log.json
Log Message:
-----------
[lldb-dap] Add tests for DAPConnection and EventHistory (#207037)
Add tests for DAPConnection and EventHistory
Commit: 18c0f3a20c46b79d5a1023372982bc73b39b6627
https://github.com/llvm/llvm-project/commit/18c0f3a20c46b79d5a1023372982bc73b39b6627
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/include/future
Log Message:
-----------
[libc++] Use _LIBCPP_KEEP_TRANSITIVE_INCLUDES_LLVM23 in <future> (#207668)
`_LIBCPP_REMOVE_TRANSITIVE_INCLUDES` was used accidentally.
Commit: c196103a5b61087792bf1e6970f19b7b1f3e7f09
https://github.com/llvm/llvm-project/commit/c196103a5b61087792bf1e6970f19b7b1f3e7f09
Author: Raphael Isemann <rise at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/include/lldb/Utility/ConstString.h
M lldb/source/Target/Statistics.cpp
M lldb/source/Utility/ConstString.cpp
M lldb/test/API/commands/statistics/basic/TestStats.py
Log Message:
-----------
[lldb] Reintroduce ConstString stats (#207694)
These stats were removed in ca59c69132eef55cc42bf8854706590dfddf5584 .
This patch restores the stats in their original form by tracking the
removed value in our own LLDB-specific counter.
Commit: 3ce39bb78b9c1cc3ca65b8a62ae798fcf7fe44ee
https://github.com/llvm/llvm-project/commit/3ce39bb78b9c1cc3ca65b8a62ae798fcf7fe44ee
Author: Wenju He <wenju.he at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
Log Message:
-----------
[offload] Fix duplicate __llvm_write_custom_profile on Windows PGO builds (#207366)
MSVC/clang-cl lack __attribute__((weak)), so GlobalHandler.cpp provided
a strong stub for __llvm_write_custom_profile. When clang_rt.profile is
linked (e.g. instrumented/PGO builds) lld-link rejects the duplicate
strong symbol.
Replace the stub + CMake workaround with the /alternatename linker
pragma, which is the standard Windows weak-symbol equivalent used by
compiler-rt itself. The linker picks compiler-rt's strong definition
when present.
Fix the guard: use _WIN32 && !__MINGW32__ (not _MSC_VER) so the stub and
/alternatename pragma apply to plain clang-on-Windows too, while MinGW
(which supports __attribute__((weak)) natively) continues to use the
real weak declaration.
Also fix the stub signature from 8 to 10 parameters to match the header.
Assisted-by: Claude
Commit: dc9edeb0453bd54b7461dae7feb5b35b784914fa
https://github.com/llvm/llvm-project/commit/dc9edeb0453bd54b7461dae7feb5b35b784914fa
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
Log Message:
-----------
[AssumeBundleQueries] Remove unused code (#203927)
Some of the utilities in AssumeBundleQueris was only ever used in tests
for them, so there isn't much point in keeping the code around.
Commit: 07e98388aea4a6696598556500c0f3efac16497a
https://github.com/llvm/llvm-project/commit/07e98388aea4a6696598556500c0f3efac16497a
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
A llvm/test/CodeGen/RISCV/rvp-reverse.ll
Log Message:
-----------
[RISCV][P-ext] Support packed reverse intrinsics (#207574)
Following X86, this patch uses general shuffles for packed reverse
intrinsics.
Commit: eac4725ef0b505176af3d9bcca00688f53d911f1
https://github.com/llvm/llvm-project/commit/eac4725ef0b505176af3d9bcca00688f53d911f1
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
A llvm/test/Transforms/LoopVectorize/early_exit_combined_exits.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/countable-and-uncountable-exits-combined.ll
Log Message:
-----------
[LV] Tests for combined exit conditions (#205104)
Some initial tests for loops where earlier scalar transforms have
combined a countable exit with an uncountable one.
Commit: 292c99c02eba6b5d2a8a6799636550494cdf7a88
https://github.com/llvm/llvm-project/commit/292c99c02eba6b5d2a8a6799636550494cdf7a88
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-named-barrier.ll
M llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
M llvm/test/CodeGen/AMDGPU/s-barrier.ll
M llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll
Log Message:
-----------
[AMDGPU] Improve SelectionDAG codegen around barrier intrinsics (#207688)
When lowering some intrinsics use generic AND/OR nodes instead of
specific machine instructions. This allows DAG combines and ISel to
select better instructions like S_BFE_U32.
Commit: 5f4940efe9c121fb84ada13be9001f24cbef4a4c
https://github.com/llvm/llvm-project/commit/5f4940efe9c121fb84ada13be9001f24cbef4a4c
Author: unexpectedlydefined <91391114+unexpectedlydefined at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-dwarfdump.rst
M llvm/test/tools/llvm-dwarfdump/X86/coverage.test
M llvm/tools/llvm-dwarfdump/Coverage.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h
Log Message:
-----------
[llvm-dwarfdump][LineCov 3/3] Add IR analysis for variable coverage (#195342)
Patch 3 of 3 to add to llvm-dwarfdump the ability to measure DWARF
coverage of local variables in terms of source lines, as discussed in
this RFC:
https://discourse.llvm.org/t/rfc-debug-info-coverage-tool-v2/83266
This patch adds an IR-level analysis in order to more accurately compute
the defined ranges for each variable. This avoids the problem of the
more naïve approach relying on source scopes, which overcounts as
coverable those lines where the variable is not yet defined (e.g. stack
variables).
The IR analysis requires IR to be provided to llvm-dwarfdump as a
separate `--variable-coverage-bitcode-file` argument (either textual IR
or bitcode; can be produced by various means e.g. `--save-temps
--emit-llvm`, `-ffat-lto-objects`,
[wllvm](https://github.com/travitch/whole-program-llvm)). The
recommended way to obtain a whole-program bitcode file is to use wllvm
as follows:
```sh
$ export LLVM_COMPILER=clang
$ CC=wllvm make # build as usual, but replace clang/clang++ with wllvm/wllvm++
$ extract-bc binfile # produces binfile.bc, which can be passed to llvm-dwarfdump
```
Commit: 4226a8c4a2708b71ce7e7e35494f17345c44d1f7
https://github.com/llvm/llvm-project/commit/4226a8c4a2708b71ce7e7e35494f17345c44d1f7
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-dwarfdump.rst
M llvm/test/tools/llvm-dwarfdump/X86/coverage.test
M llvm/tools/llvm-dwarfdump/Coverage.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h
Log Message:
-----------
Revert "[llvm-dwarfdump][LineCov 3/3] Add IR analysis for variable coverage" (#207703)
Reverts llvm/llvm-project#195342
Change resulted in build errors resulting from not finding the
parseIRFile symbol while linking, example:
https://lab.llvm.org/buildbot/#/builders/67/builds/7988
Commit: 1dd849b006fe20560af01cfb0ccd64832e04f178
https://github.com/llvm/llvm-project/commit/1dd849b006fe20560af01cfb0ccd64832e04f178
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[DAG] isKnownToBeAPowerOfTwo - add DemandedElts + OrZero handling to ISD::ZERO_EXTEND cases (#207697)
Fixes #181648
Commit: b9347e0f1bcfa92387fdb57954a081196c655601
https://github.com/llvm/llvm-project/commit/b9347e0f1bcfa92387fdb57954a081196c655601
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
Log Message:
-----------
[RISCV] Fold vp.reverse of vp.load through binary ops (#205529)
InstCombine canonicalizes reverses, including vp.reverses, by pulling
them through binary ops: https://godbolt.org/z/cs4M1TsE3
We have a combine that converts vp.reverses of vp.loads into
vp.strided.loads with a stride of -1, but it only matches the pattern
`vp.reverse(vp.load)` directly.
This PR teaches the combine to look through binary ops for vp.loads so
it can match the canonicalized form when there's a binary op that uses
the vp.reverse.
All leaves must be either a vp.load or a splat, but it still will only
convert one vp.load at a time. This combine isn't always profitable so
we should eventually remove it when it's done somewhere that's cost
model driven like the loop vectorizer or vector combine.
Commit: 3264e4eba83027a0f84eaca8e91569701d6611aa
https://github.com/llvm/llvm-project/commit/3264e4eba83027a0f84eaca8e91569701d6611aa
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/test/CodeGen/SPIRV/instructions/scalar-integer-arithmetic.ll
Log Message:
-----------
[SPIR-V] Fix invalid OpIMul emitted for i1 multiplication (#207388)
OpIMul requires integer scalar/vector operands
OpTypeBool is not considered an integer type and causes spirv-val
failure
Commit: fb1de34e8db8d11c764c7ff422879f923554cbd9
https://github.com/llvm/llvm-project/commit/fb1de34e8db8d11c764c7ff422879f923554cbd9
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/SemaCXX/condition.cpp
M clang/test/SemaCXX/warn-bool-conversion.cpp
M clang/test/SemaCXX/warn-tautological-compare.cpp
Log Message:
-----------
[Clang][Sema] Warn on a function reference compared/converted to null (#204944)
Look through a reference-to-function in `DiagnoseAlwaysNonNullPointer`
so `-Wtautological-pointer-compare` and `-Wpointer-bool-conversion` fire
for it, as they already do for a bare function name.
Fixes #46362
Commit: 1df080a267eeda318f6abb9791f098d870e622fd
https://github.com/llvm/llvm-project/commit/1df080a267eeda318f6abb9791f098d870e622fd
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A llvm/test/CodeGen/X86/x86-inst-tuning.mir
Log Message:
-----------
[X86] Add test for VPBLENDW Tuning (#179906)
In PR https://github.com/llvm/llvm-project/pull/178883 we fixed tuning
for VPBLENDW with negative masked. Current test adds more cover for
masks for both unsigned and signed case.
We are adding explicit mir test to cover scenarios for tuning which are
hard to cover from IR and provides coverage to code under x86 tuning
pass.
Commit: cb740ebaae9eec758d689388411f3b633be06569
https://github.com/llvm/llvm-project/commit/cb740ebaae9eec758d689388411f3b633be06569
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
A llvm/test/Transforms/MergeICmps/X86/dbgloc-branches.ll
Log Message:
-----------
[MergeICmps][DebugInfo] Preserve debug locations in mergeComparisons (#205796)
The mergeComparisons function in MergeICmps merges a chain of comparison
blocks, generating new instructions inside of the merged block(s) to
memcmp the contiguous blocks of memory being compared and perform a
single branch based on the result. Some of the generated instructions
take their debug locations directly from the first block in the
comparison chain, but the icmp/memcmp and branch instructions generated
are not assigned any debug location.
This patch assigns a debug location to the comparison instructions from
the merged location of all merged comparison instructions, and similarly
assigns the branch instruction from the merged branch instructions.
Commit: b0623c024c2d3a2c26be1778c224c1678f925976
https://github.com/llvm/llvm-project/commit/b0623c024c2d3a2c26be1778c224c1678f925976
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
Log Message:
-----------
[SPIR-V] Replace isPipeOrAddressSpaceCastBI hardcoded list with table lookup (#207147)
Commit: 5c243188cf637c91f09a66986a1c0d90b92c33bb
https://github.com/llvm/llvm-project/commit/5c243188cf637c91f09a66986a1c0d90b92c33bb
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/store-to-read-only-addrspace.ll
Log Message:
-----------
[SPIR-V] Diagnose stores into read-only storage classes (#207331)
Commit: e1ecc759dfc4e8dcbb249d4ec22946648cc9ee10
https://github.com/llvm/llvm-project/commit/e1ecc759dfc4e8dcbb249d4ec22946648cc9ee10
Author: Lang Hames <lhames at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M orc-rt/include/orc-rt/SimplePackedSerialization.h
M orc-rt/unittests/SimplePackedSerializationTest.cpp
Log Message:
-----------
[orc-rt] Add SPSSequence serialization from iterator_range. (#207715)
Adds an SPSSerializationTraits specialization that serializes an
iterator_range<IteratorT> as an SPSSequence<SPSElementTagT>, matching
the wire format of the existing container and span sequence serializers.
The element type is deduced via std::iterator_traits, so both class-type
iterators and raw pointers are supported.
This lets callers serialize an arbitrary [begin, end) sub-range
directly, without first copying the elements into a temporary container.
Only serialization is provided: a bare iterator pair has no meaningful
deserialization target, so decode into a std::vector (or other sequence
type) as usual.
Please enter the commit message for your changes. Lines starting
Commit: 592acb361000290a2a1502181b0b335a14d303fe
https://github.com/llvm/llvm-project/commit/592acb361000290a2a1502181b0b335a14d303fe
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/docs/UsersManual.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
M clang/test/Driver/cl-options.c
Log Message:
-----------
[Clang] Add `std:c++26preview` for MSVC compat (#207693)
As discussed here
https://github.com/llvm/llvm-project/pull/203992#discussion_r3438454092
Commit: 04a26a032ac770c981fc4aba0a30bf20517e71fc
https://github.com/llvm/llvm-project/commit/04a26a032ac770c981fc4aba0a30bf20517e71fc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
Log Message:
-----------
[X86] Add ISD::VECREDUCE_MUL lowering instead of matching in DAG (#207593)
Add X86 support for ISD::VECREDUCE_MUL and remove it from
combineArithReduction - most of the change is refactoring the custom
promotion of vXi8 -> vXi16.
Another part of #194621
Commit: ed2b1d7920365a59e2f6c01f732157f1144d0a00
https://github.com/llvm/llvm-project/commit/ed2b1d7920365a59e2f6c01f732157f1144d0a00
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/IR/TargetEnv.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/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-attach-target.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add new block-scaled tensor type and support for MXFP CAST (#203583)
This commit adds a new compound-block scaled tensor type and uses this
type to implement support for MXFP in the CAST operation, as per the
following specification changes:
https://github.com/arm/tosa-specification/pull/50,
https://github.com/arm/tosa-specification/pull/53.
The new block-scaled type is closely modelled after the `quant` dialect
type and supports the following parameters:
- block shape - The size and axis of each block. Support for specifying
constant scale values has not been added in this commit, but will be
added in a later one.
- scale type - The type of the scale value associated with each block.
- value type - The type of the data values in each block.
Example syntax for the new block-scaled type:
```
tensor<160x!tosa.block_scaled<BLOCK_SHAPE_32:f8E8M0FNU:f8E5M2>>
```
As a pre-requisite for supporting MXFP CAST, the commit also adds new
extensions intended to split the existing EXT-MXFP extension into
separate extensions for each block-scaled type. This allows for more
fine-grained control over which block-scaled types are supported by a
given target. See specification change
https://github.com/arm/tosa-specification/pull/26 for details.
Finally, support for casting to/from the new block-scaled type has been
added, aligning with the behaviour specified in the CAST operation
specification.
Commit: 25becf2006208b0d31e4af6cab3b642891f17604
https://github.com/llvm/llvm-project/commit/25becf2006208b0d31e4af6cab3b642891f17604
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
Log Message:
-----------
[MC] Move addEncodingComment() into new base class MCAsmBaseStreamer (#188585)
This is in preparation to use this functionality in the
SystemZHLASMAsmStreamer. No functional change.
Commit: 7f8dcfacbbcd77a8ddf512fa31589af1bf1f6ef4
https://github.com/llvm/llvm-project/commit/7f8dcfacbbcd77a8ddf512fa31589af1bf1f6ef4
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
Log Message:
-----------
[LVI] Do not walk past cross-lane ops while determining value range (#207711)
While walking the one-use chain to find a constraining select
in `getValueAtUse`, do not look through cross-lane operations,
as they may move wrapping lanes into positions where the select
condition is true, and inferring nowrap flags would be unsound.
Fixes: https://github.com/llvm/llvm-project/issues/207619.
Commit: 6840e6042cf5cb92eb3ebe06cf781d6458958b69
https://github.com/llvm/llvm-project/commit/6840e6042cf5cb92eb3ebe06cf781d6458958b69
Author: yaohuihan-iluvatar <yaohui.han at iluvatar.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
A clang/test/Sema/aux-target-builtin-constexpr.cpp
Log Message:
-----------
[Clang][ExprConstant] Normalize aux target builtin IDs before dispatch (#201805)
When compiling for a device target that has an auxiliary host target
(for example OpenMP or CUDA offload), builtins of the auxiliary target
are registered with IDs shifted past the primary target's builtins. The
constant evaluator passed the raw ID straight into the target-specific
evaluation switches in the Pointer/Int/Vector/Float expression
evaluators, so a shifted auxiliary ID could fall through to an unrelated
builtin's case (or miss its case entirely) and fail to fold.
Add a getConstantEvaluatedBuiltinID() helper that translates auxiliary
builtin IDs back to their canonical target IDs via
BuiltinInfo::getAuxBuiltinID(), and use it before dispatching in each of
those evaluators.
Commit: 9d59248664dd8356fe0614950b567a4a1e6429a9
https://github.com/llvm/llvm-project/commit/9d59248664dd8356fe0614950b567a4a1e6429a9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
Log Message:
-----------
[AMDGPU] Do not copy the range attribute onto a widened kernarg load (#207655)
Sub-dword args (e.g. i8) are loaded as a full i32 and truncated. Copying
the i8 range onto the i32 load is invalid IR, and its bounds are wrong
since the upper bytes hold other args
Only copy the range when the load type matches the argument type
Commit: bed625b42eeeb854c297508e46d822b96693c671
https://github.com/llvm/llvm-project/commit/bed625b42eeeb854c297508e46d822b96693c671
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
A llvm/test/Transforms/InstCombine/insert-element-shuffle-vector-debugloc.ll
Log Message:
-----------
[InstCombine] Propagate debuglocs when replacing insert->extract elts (#206026)
InstCombine may replace an extractelement->insertelement chain, where
the insert vector is wider than the extract vector, with a pair of
shufflevectors - one to widen the extract vector, and one to perform the
extract+insert simultaneously. Currently the second shufflevector
correctly adopts the insertelement's debug location, since it replaces
the chain of instructions that culminates with the insert. The first
shufflevector however takes its debug location from its insert position,
if the extract vector was a PHI or non-instruction, and otherwise
receives no location.
Since the first shufflevector is really adapting the extract vector for
use by one or more other instructions, we can consider it an extension
of the extractvector. If the extract vector is an instruction, its debug
location should be used (even if it is a PHI - this likely defaults to a
CompilerGenerated debug location); otherwise, the extract vector is a
constant, and so the shufflevector represents a constant materialization
- so should receive a CompilerGenerated location.
Commit: 6eb0dac37aa409390bd96a91a99f216c35a0b8cb
https://github.com/llvm/llvm-project/commit/6eb0dac37aa409390bd96a91a99f216c35a0b8cb
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Only strip internal linkage for device globals (#207521)
Stripping all linkage was too much. Only strip internal linkage so the
symbol is visible to CUDA API.
Commit: c827c9011f81ef8b74143dd0ef40db5950aaec81
https://github.com/llvm/llvm-project/commit/c827c9011f81ef8b74143dd0ef40db5950aaec81
Author: Hagai Lev Hacohen <100465137+HagaiLevHacohen at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
Log Message:
-----------
Improving MinUI and MaxUI implementation in valuebounds (#207701)
Previously, the valuebounds implementation for MinUI and MaxUI was too
conservative.
We can already make correct assumptions even when we know only one
operand is provably not negative.
Commit: a3624cb45f2a3902e59f78eafd005357d2b72688
https://github.com/llvm/llvm-project/commit/a3624cb45f2a3902e59f78eafd005357d2b72688
Author: Emery Conrad <conrade.ctc at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A clang/test/Interpreter/emulated-tls.cpp
M llvm/lib/ExecutionEngine/Orc/Layer.cpp
Log Message:
-----------
[ORC] Track __emutls_t definitions in IRMaterializationUnit (#207161)
When emulated TLS is enabled, `IRMaterializationUnit`'s constructor
emits an `__emutls_t.<var>` symbol for each non-zero-initialized
`thread_local` global and records it in `SymbolFlags`, but never adds it
to `SymbolToDefinition`.
If the same weak (`linkonce_odr`) definition is materialized by more
than one module — e.g. an `inline` function that odr-uses such a
`thread_local`, pulled into two `PartialTranslationUnit`s by clang-repl
— `JITDylib::defineImpl` discards the duplicate via
`IRMaterializationUnit::discard()`. `discard()` looks the symbol up in
`SymbolToDefinition` and, finding nothing, dereferences `end()`: an
assertion failure in `+Asserts` builds and heap corruption otherwise.
Register `__emutls_t.<var>` in `SymbolToDefinition` alongside its flags,
mirroring the `__emutls_v.<var>` handling just above.
### Test
`clang/test/Interpreter/emulated-tls.cpp` reproduces the crash through
clang-repl: two PTUs each odr-use one `inline worker()` that reads a
non-zero `thread_local`, so each re-emits the same weak emulated-TLS
set; defining the second module runs `discard()` over the duplicate. The
test aborts on the unfixed path and prints the expected value with the
fix.
🤖 Done with the help of [Claude Code](https://claude.com/claude-code)
(Claude Opus 4.8, human in the loop)
Co-authored-by: Emery Conrad <emery.conrad at chicagotrading.com>
Commit: 7cb7f074b71e62d33b22ced07d860947fac08480
https://github.com/llvm/llvm-project/commit/7cb7f074b71e62d33b22ced07d860947fac08480
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_mutex_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_test_utils.h
Log Message:
-----------
[compiler-rt][sanitizer_common] Fix -Wunused-template in test helpers… (#207706)
`Ident` is a static function template in a test header, so any test TU
that never calls it trips `-Wunused-template`. Drop static.
`check_locked` in `sanitizer_mutex_test.cpp` has no callers.
Part of #202945.
Commit: 3fbe826e3707540c9b7f942c573fbcb2d51b6bcc
https://github.com/llvm/llvm-project/commit/3fbe826e3707540c9b7f942c573fbcb2d51b6bcc
Author: Sergio Afonso <safonsof at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[MLIR][OpenMP] Prevent openmp-device attribute being added to the host (#207719)
This attribute is only intended for an OpenMP target device but a recent
patch started causing it to appear on the host. This causes the
OpenMPOpt pass to treat the LLVM IR module as an OpenMP offloading
target, potentially introducing invalid modifications.
Fixes #207423.
Commit: 62708d1030229006b70bf1b5a46dbb56d2d058ec
https://github.com/llvm/llvm-project/commit/62708d1030229006b70bf1b5a46dbb56d2d058ec
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/CostTable.h
Log Message:
-----------
[CodeGen] Compact cost table entries (#202836)
ISD and CostType can both be shrunk to uint16_t, which reduces the
binary by 16KB.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: dcf969eaf2c25048542d13946ca5ff65be5bc7ab
https://github.com/llvm/llvm-project/commit/dcf969eaf2c25048542d13946ca5ff65be5bc7ab
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Remove internal linkage from LargeBlock header helpers (NFC) (#207708)
`addHeaderTag` and `getHeader` are static function templates in
`secondary.h,` so any TU that includes the header without using them
trips `-Wunused-template`. Dropping static fixes the warning.
Part of #202945.
Commit: 5f66b69933540b9602ba1e2106d1a4397c058a6e
https://github.com/llvm/llvm-project/commit/5f66b69933540b9602ba1e2106d1a4397c058a6e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/SemaTemplate/member-specialization.cpp
Log Message:
-----------
[clang] accept member specializations declared in class scope (#207256)
Explicit specializations are not restricted to namespace scope since
CWG727 was accepted as a DR.
Also fixes a crash upon error recovery in this case which was a recent
unreleased regression.
Fixes #206866
Commit: 4c6e5788851421e9382452e147a9427cb77b23d9
https://github.com/llvm/llvm-project/commit/4c6e5788851421e9382452e147a9427cb77b23d9
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/test/CodeGen/SystemZ/call-zos-02.ll
M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
Log Message:
-----------
[SystemZ][z/OS] Show instruction encoding in HLASM output (#181904)
This change adds the support to show instruction encoding as a comment
when emitting HLASM text. With this, the last 2 LIT tests migrate to
HLASM syntax.
Commit: 5ddd08310373371d416f148727c707beeffc1b8a
https://github.com/llvm/llvm-project/commit/5ddd08310373371d416f148727c707beeffc1b8a
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][AST] Outline constant-interpreter shift diagnostics (#202633)
CheckShift is instantiated for each primitive left-hand and right-hand
type
and for both shift directions. Its four diagnostic paths are cold, but
each
instantiation currently emits the diagnostic construction and undefined
behavior handling.
Move those paths to the non-template, noinline diagnoseShiftFailure
function.
Valid shifts retain the existing checks and do not call the outlined
function.
Invalid shifts preserve the same diagnostic arguments and call
noteUndefinedBehavior exactly once.
On arm64 macOS with a Release build of standalone Clang, this changes:
linked binary: 222,173,192 -> 221,924,960 bytes (-248,232)
stripped binary: 128,407,464 -> 128,291,224 bytes (-116,240)
__TEXT,__text: 98,369,916 -> 98,255,864 bytes (-114,052)
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 6dd93e338442f070f55691e5374aac966287ee3c
https://github.com/llvm/llvm-project/commit/6dd93e338442f070f55691e5374aac966287ee3c
Author: Hocky Yudhiono <hocky.yudhiono at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
Log Message:
-----------
[mlir][tosa] Fix TosaNarrowTypes conversion order to prevent rollback crash (#207372)
Fix #206952 by doing `convertRegionTypes` before moving and unlinking
the blocks when handling `tosa.cond_if` ops. This will cause a crash
when doing rollback.
Commit: f1b7f9758f4a1c9bb80c0becb1a39b3b651ef670
https://github.com/llvm/llvm-project/commit/f1b7f9758f4a1c9bb80c0becb1a39b3b651ef670
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/confusable-identifiers.cpp
Log Message:
-----------
[clang-tidy] Compact the confusable identifier table (#202626)
Encode confusable replacement strings once in a shared UTF-8 byte array.
Each sorted mapping becomes an eight-byte code point, 16-bit offset, and
16-bit length entry instead of reserving nineteen UTF-32 code points for
every replacement.
ConfusableIdentifierCheck appends the UTF-8 slice directly after the
binary search, removing the per-identifier UTF-32 to UTF-8 conversion.
Add compile-time assertions for the eight-byte entry layout and the 64
KiB replacement-data limit, plus generator-side overflow checks.
The logical table shrinks from 508,400 to 63,327 bytes, saving 445,073
bytes. A stripped standalone clang-tidy shrinks from 91,116,608 to
90,654,176 bytes, saving 462,432 bytes (0.508%).
A lookup microbenchmark improves from 79.9 to 40.4 ns median. A
100,000-identifier clang-tidy benchmark improves from 0.343 to 0.314
seconds mean.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 6dcadef39ffd3a25f4d4cd82cf35943e4c374304
https://github.com/llvm/llvm-project/commit/6dcadef39ffd3a25f4d4cd82cf35943e4c374304
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
A llvm/test/Transforms/JumpTableToSwitch/callee-type-mismatch.ll
Log Message:
-----------
[JumpTableToSwitch] Bail out on function type mismatch (#207700)
If the function types of the functions in the jump table don't match the
function type of the call, we currently get an assertion failure. We
could avoid that by using a different API, but the usefulness of the
transform in this case is questionable (e.g. we wouldn't be able to
inline the call). For simplicity just bail out.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 0b94c13b63406281ce5cef76fcbdc3e82fe5e494
https://github.com/llvm/llvm-project/commit/0b94c13b63406281ce5cef76fcbdc3e82fe5e494
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Lex/LiteralSupport.cpp
A clang/test/Lexer/char-escapes-delimited-invalid-utf8.c
M clang/test/Lexer/char-escapes-delimited.c
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M llvm/include/llvm/Support/ConvertUTF.h
M llvm/lib/Support/ConvertUTF.cpp
Log Message:
-----------
[Clang] Reduce the number of ways we have to print a codepoint. (#206990)
In #206326, we introduced yet another way to format a codepoint, so we
try to claw back some consistency.
- When we display a single character we do so inside quotes
- Non-decodable code units are displayed as <0xYY>
- In strings
- we render printable and format characters
- we print <U+XXXX> for non printable, non-format characters
- In characters
- we only render non-format print characters
- we always print the codepoint as U+XXXX for non-ascii characters
This does not change `WriteCharValueForDiagnostic` which is deeply weird
and was contentious a while back.
So we still have 2 different formatting utilities. Which is better than
4!
I've also added a test for invalid utf-8 in \N{}
Commit: 4109893350feeea69214d938864e200ca5eec7b5
https://github.com/llvm/llvm-project/commit/4109893350feeea69214d938864e200ca5eec7b5
Author: Qixi <tjx2361869673 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
A mlir/test/Conversion/ArithToAMDGPU/scaling-truncf-tensor.mlir
Log Message:
-----------
[mlir][ArithToAMDGPU] Skip tensor scaling ops (#207327)
This fixes a crash in -convert-arith-to-amdgpu=chipset=gfx950 when the
input contains tensor arith.scaling_truncf operations.
The scaling rewrite patterns are written for scalar/vector values.
Tensor values should not be rewritten by these patterns, so this patch
returns failure for tensor operands and leaves those ops unchanged.
A regression test is added for the tensor reproducer from #207311.
Co-authored-by: tongjinxuan <tongjinxuan at longcheer.com>
Commit: acfbfca988887d830a22fc9dd684ced437928cdb
https://github.com/llvm/llvm-project/commit/acfbfca988887d830a22fc9dd684ced437928cdb
Author: anoopkg6 <anoop.kumar6 at ibm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
A flang/test/HLFIR/inline-elemental-multi-users.fir
Log Message:
-----------
[flang][HLFIR] Relax InlineElementals to support more than two users (#186916)
This pr optimizes the lowering of MINLOC and MAXLOC when the MASK
argument is a simple equality comparison (e.g., MASK = A == X).
This patch introduces isEqualityMask to identify these patterns and
inline the comparison directly into the reduction loop.
This allows the SimplifyHLFIRIntrinsicscation pass to extract the
invariant
search target and bypasses the creation of a temporary logical mask
array
by inlining the equality comparison directly into the reduction loop.
optimization removes the 'hlfir.apply' to the mask's hlfir.elemental,
which
gets eliminated in bufferize-hlfir pass.
Simplifies the reduction state by removing the min/max value tracker,
as the target value is already known.
Implements a 'first-hit' locking mechanism.
---------
Co-authored-by: anoop.kumar6 at ibm.com <anoopk at b35lp63.lnxne.boe>
Commit: c58675e91042e7052870675aeaf2aca963e11376
https://github.com/llvm/llvm-project/commit/c58675e91042e7052870675aeaf2aca963e11376
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/src/atomic.cpp
Log Message:
-----------
[libc++] Make atomic contention tables constinit (#207456)
Commit: 750f3bf803251abacfd440dbd883ce660597a986
https://github.com/llvm/llvm-project/commit/750f3bf803251abacfd440dbd883ce660597a986
Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/RDFGraph.h
M llvm/lib/Target/Hexagon/HexagonPostRAHandleQFP.cpp
A llvm/test/CodeGen/Hexagon/autohvx/xqf-multi-conv.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-conv-double2.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-fakereg.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-subreg2.ll
A llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-subreg3.ll
A llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-warnings.ll
Log Message:
-----------
[Hexagon] Add XQFloat post-RA compliance checker (#207082)
Introduce XqfPostRADiagnosis to verify qf use-def correctness after
register allocation. Acts as a diagnostic/debugger for XQFloat
implementation. Off by default, enabled with -enable-postra-xqf-check.
Co-authored-by: Santanu Das <quic_santdas at quicinc.com>
Commit: 2c7d18c6ad5fdc4743673b6a5dd23d521ec9e810
https://github.com/llvm/llvm-project/commit/2c7d18c6ad5fdc4743673b6a5dd23d521ec9e810
Author: 311Volt <41923095+311Volt at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M offload/unittests/OffloadAPI/program/olCreateProgram.cpp
Log Message:
-----------
[offload] add unit tests for olCreateProgram (#206462)
Add tests for olCreateProgram param validation & fail on invalid program
Commit: 1ac400e69f26946bf3c84a253e61d1d0ede0d680
https://github.com/llvm/llvm-project/commit/1ac400e69f26946bf3c84a253e61d1d0ede0d680
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
[clang][Frontend] Batch LangOptions context hashing (#203162)
`CompilerInvocation::computeContextHash` currently expands 269
non-benign `LangOptions` into individual `HashBuilder::add` calls. This
collects the values in an `unsigned` array and passes the array to
`HashBuilder::addRangeElements`, which preserves the ordered
native-endian bytes without adding an element count.
In a Release arm64 build, clangd decreases by 16,528 bytes unstripped
and 16,544 bytes stripped.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 8b50847a31f927d258cf22953035db206d42fc5d
https://github.com/llvm/llvm-project/commit/8b50847a31f927d258cf22953035db206d42fc5d
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/AST/StmtVisitor.h
Log Message:
-----------
[clang][AST] Inline StmtVisitor fallback methods (#203125)
Mark the trivial `StmtVisitorBase` fallback methods `always_inline` so
each `VisitFoo`-to-`VisitParent` delegation is folded into its caller
instead of retained as an out-of-line template thunk.
In matched Release assertions-off Darwin arm64 builds, stripped clang
decreased by 266,656 bytes, stripped clangd decreased by 232,912 bytes,
and the stripped upstream `llvm-driver` multicall decreased by 266,336
bytes.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Co-authored-by: OpenAI Codex <noreply at openai.com>
Commit: 26380406c852574f79f3df58bc6ed2664c186ac9
https://github.com/llvm/llvm-project/commit/26380406c852574f79f3df58bc6ed2664c186ac9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
Log Message:
-----------
[AMDGPU] Copy the nofpclass attribute onto a matching kernarg load (#207734)
Follow up for https://github.com/llvm/llvm-project/pull/207655
Commit: 343197e8da2856fd357f64b4e3639f7c18e4935a
https://github.com/llvm/llvm-project/commit/343197e8da2856fd357f64b4e3639f7c18e4935a
Author: darkbuck <michael.hliao at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/test/CIR/CodeGen/inline-asm.c
M clang/test/CIR/Lowering/module-asm.cir
Log Message:
-----------
[CIR] Fix lit tests after explicit target feature for module asm (#207741)
- Fix lit tests after the module-level inline assembly is enhanced to
support specifying target features explicitly in
fcfc9167b628a2fae8fe1d662989ff7752d905ad.
Commit: 6575e395e3f37f4bea17092f612b37649d319041
https://github.com/llvm/llvm-project/commit/6575e395e3f37f4bea17092f612b37649d319041
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
Log Message:
-----------
[ELF] Reuse SHT_GROUP selection verdicts in initializeSections. NFC (#207437)
For each SHT_GROUP section, the parallel initializeSections re-derives
what the serial parse() already decided
(https://reviews.llvm.org/D130810).
Record the kept group section indices during parse() so that we can save
the work (xxh3 string hash and DenseMap lookup) in the parallel
initializeSections().
In a clang-relassert --threads=8 benchmark, "Initialize sections"
decreases from 39.0 to 30.6.
Commit: 39505025e42479ebfde4600df00a80f2fe3625f7
https://github.com/llvm/llvm-project/commit/39505025e42479ebfde4600df00a80f2fe3625f7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-verbose.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[ClangLinkerWrapper] Use discrete steps in verbose mode (#204186)
Summary:
One persistent problem with the linker wrapper flow is that it was more
difficult to reuse as a script than the previous flow. This is because
it did a lot of work internally. In the past we moved al ot of this into
dedicated LLVM tools, so now it's possible to simply use these tools
instead.
This PR changes the verbose mode handling to defer steps to tools rather
than doing it internally. This allows users to use verbose printing and
can copy/paste the results to re-run the steps.
Commit: b8c1776668c217a3ddfa18a7668a75245d08b528
https://github.com/llvm/llvm-project/commit/b8c1776668c217a3ddfa18a7668a75245d08b528
Author: Mohsen Rahmati <mohsenrahmati at icloud.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/builtins-x86.c
Log Message:
-----------
[Clang] Add constant evaluation support for x86 psadbw (#169253)
This patch adds constant evaluation support for the x86 PSADBW and PSADBW128 intrinsics in Clang’s constexpr interpreter.
Commit: 3ed7f90ec978ce4670779adf30fac17e87cba4fb
https://github.com/llvm/llvm-project/commit/3ed7f90ec978ce4670779adf30fac17e87cba4fb
Author: Lucas Mellone <github.snugness349 at passinbox.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/include/__ranges/elements_view.h
A libcxx/test/libcxx/ranges/range.adaptors/range.elements/nodiscard.verify.cpp
Log Message:
-----------
[libc++][ranges] Applied [[nodiscard]] to `elements_view` (#206589)
[[nodiscard]] should be applied to functions where discarding the return
value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/range.elements
Towards https://github.com/llvm/llvm-project/issues/172124
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 0cb5782f7ae0e859d3a649327227a3119e69cc25
https://github.com/llvm/llvm-project/commit/0cb5782f7ae0e859d3a649327227a3119e69cc25
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
Log Message:
-----------
[docs][AMDGPU] Correct spelling of DW_AT_LLVM_memory_space (#207745)
Commit: d930a16182aee3a541173c58bd2061c5265ffd44
https://github.com/llvm/llvm-project/commit/d930a16182aee3a541173c58bd2061c5265ffd44
Author: 311Volt <41923095+311Volt at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M offload/unittests/OffloadAPI/program/olCreateProgram.cpp
Log Message:
-----------
[Offload] run clang-format on olCreateProgram unit tests (#207757)
Follow-up to: https://github.com/llvm/llvm-project/pull/206462
Commit: 3b57d53a792cd9e9ba848cfe6fef151a0cb6f5d9
https://github.com/llvm/llvm-project/commit/3b57d53a792cd9e9ba848cfe6fef151a0cb6f5d9
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/unittests/IR/DominatorTreeTest.cpp
Log Message:
-----------
[LoopInfo] Reuse DomTree's own DFS numbering in analyze() (#207650)
analyze() discovers loop headers with a post_order(DomRoot) walk, then
tests each back-edge candidate with DomTree.dominates(). Initial queries
use `dominatedBySlowTreeWalk` and then switch to `updateDFSNumbers`
(Euler tour technique), requiring two tree walks in total.
Optimize this with an upfront updateDFSNumbers to avoid the post-order
walk. Both post-order and reverse pre-order satisfy the
child-before-parent (bottom-up) property. This does change the order in
which siblings are visited (reverse preorder visits the last child
first; post-order visits it last), but that has no observable effect:
the sub-loop and block vectors are only populated by the separate
PopulateLoopsDFS traversal afterward, not by discovery order.
`post_order` (and `depth_first`) are also inefficient for tree
traversals:
DomTreeNodeBase doesn't expose graph numbers, so they fall back to
tracking visited nodes in a SmallPtrSet. For a tree this bookkeeping is
unnecessary, since by definition every node has exactly one parent and
can never be reached twice.
DFS numbers, of [0, 2*N), have many nullptr gaps. Simplify
updateDFSNumbers() so DFSNumOut no longer consumes its own counter tick:
DFSNumIn becomes a dense [0, N) preorder rank.
Commit: b30e3c23a537ca99937181d03bb53a8fe1d54c36
https://github.com/llvm/llvm-project/commit/b30e3c23a537ca99937181d03bb53a8fe1d54c36
Author: Ron Green [NVIDIA] <rogreen at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
M flang/test/Semantics/CUDA/cuf08.cuf
A flang/test/Semantics/CUDA/cuf31.cuf
Log Message:
-----------
[flang][cuda] Make the second LAUNCH_BOUNDS() operand optional (#207273)
The minimum-blocks-per-multiprocessor (second) and maximum-blocks-per-cluster
(third) operands of the CUDA Fortran `LAUNCH_BOUNDS()` prefix are optional, as in
CUDA C++ `__launch_bounds__`. A single-operand `LAUNCH_BOUNDS(N)` is now accepted;
1, 2, or 3 integer constants are valid.
Previously `LAUNCH_BOUNDS(N)` with a single operand was rejected, and the
diagnostic path dereferenced an empty `std::optional` (`currStmtSource()`). That
handler runs during the direct statement walk in `ResolveSpecificationParts`,
where the statement source is not set, so the dereference aborted the compiler.
The diagnostic source is now derived from the prefix, and the same fix is applied
to every diagnostic in the `LAUNCH_BOUNDS()` and `CLUSTER_DIMS()` handlers.
When only the maximum-threads-per-block operand is present, the
`cuf.launch_bounds` attribute omits `minBPM` (now an optional parameter) and no
`nvvm.minctasm` attribute is generated.
Assisted-by: AI
Commit: 6645153025367af4f3bd4020dc81700a4cbe9132
https://github.com/llvm/llvm-project/commit/6645153025367af4f3bd4020dc81700a4cbe9132
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/test/ClangScanDeps/diagnostics.c
M clang/test/ClangScanDeps/header-search-pruning-transitive.c
M clang/test/ClangScanDeps/modules-context-hash-from-named-module.cpp
M clang/test/ClangScanDeps/modules-context-hash-ignore-macros.c
M clang/test/ClangScanDeps/modules-context-hash-outputs.c
M clang/test/ClangScanDeps/modules-context-hash-warnings.c
M clang/test/ClangScanDeps/modules-context-hash.c
M clang/test/ClangScanDeps/modules-dep-args.c
M clang/test/ClangScanDeps/modules-extern-submodule.c
M clang/test/ClangScanDeps/modules-extern-unrelated.m
M clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m
M clang/test/ClangScanDeps/modules-full-named-modules.cppm
M clang/test/ClangScanDeps/modules-full-output-tu-order.c
M clang/test/ClangScanDeps/modules-full.cpp
M clang/test/ClangScanDeps/modules-has-include-umbrella-header.c
M clang/test/ClangScanDeps/modules-header-sharing.m
M clang/test/ClangScanDeps/modules-implementation-module-map.c
M clang/test/ClangScanDeps/modules-implementation-private.m
M clang/test/ClangScanDeps/modules-implementation-vfs.m
M clang/test/ClangScanDeps/modules-implicit-dot-private.m
M clang/test/ClangScanDeps/modules-incomplete-umbrella.c
M clang/test/ClangScanDeps/modules-inferred.m
M clang/test/ClangScanDeps/modules-no-undeclared-includes.c
M clang/test/ClangScanDeps/modules-pch-common-stale.c
M clang/test/ClangScanDeps/modules-pch-common-submodule.c
M clang/test/ClangScanDeps/modules-pch-common-via-submodule.c
M clang/test/ClangScanDeps/modules-pch.c
M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
M clang/test/ClangScanDeps/multiple-commands.c
M clang/test/ClangScanDeps/tu-buffer.c
Log Message:
-----------
[clang-scan-deps] Migrate more tests through scan-deps-filter (#207283)
Migrate tests that would otherwise fail when the `-emit-visible-modules`
flag is removed.
* The tests now include a `scan-deps-filter` invocation that maintains
the same fields that are already checked, so there is no test coverage
lost.
* Also remove `command-line` fields that were not actually checked in
tests.
Assisted-by: Claude Opus 4.8
Commit: ea165572a5e649b1ab8181322ff6d759ca8adceb
https://github.com/llvm/llvm-project/commit/ea165572a5e649b1ab8181322ff6d759ca8adceb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/IR/Type.cpp
Log Message:
-----------
IR: Use switch in getFloatingPointType (#207750)
Commit: 4ad89d11db9e4048328de408af5ae0503861fe4c
https://github.com/llvm/llvm-project/commit/4ad89d11db9e4048328de408af5ae0503861fe4c
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
Log Message:
-----------
[SystemZ][z/OS] Remove temporary gnu as output on z/OS (#181906)
On z/OS, there is only HLASM as system assembler available. Since all
LIT tests are migrated, the temporary option can now be removed.
Commit: 60cccae52fda78a9cdc9323900e14952d71b2624
https://github.com/llvm/llvm-project/commit/60cccae52fda78a9cdc9323900e14952d71b2624
Author: Chris B <chris.bieneman at me.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
Log Message:
-----------
[NFC] Remove dead code to fix build (#207753)
LLVM changed the interfaces around inline assembly, and while we could
have updated this code, in practice DXIL doesn't allow inline assembly
so I removed it.
Commit: d3d3fdd940d714af2ac060b9f3da3ed32bdbaa05
https://github.com/llvm/llvm-project/commit/d3d3fdd940d714af2ac060b9f3da3ed32bdbaa05
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/unittests/Basic/DiagnosticTest.cpp
Log Message:
-----------
Disable test not supported on MSVC (#207752)
Fixes an Incorrectly applied merge conflict resolution after landing
#206990
Commit: f0bbde8630ed94d749b95624799659d6ccbb9418
https://github.com/llvm/llvm-project/commit/f0bbde8630ed94d749b95624799659d6ccbb9418
Author: Cheng Lingfei <53817093+clingfei at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/i128-imm-compare-ccmp.ll
M llvm/test/CodeGen/AArch64/isinf.ll
M llvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.ll
Log Message:
-----------
[AArch64] optimize lowering for icmp on i128 when RHS is an immediate (#181822)
Optimize cases including eq, ne, ult, ule, ugt, and uge.
Closes #161273.
Commit: 1aa74f6d98b357189d735c800510424035edb9d5
https://github.com/llvm/llvm-project/commit/1aa74f6d98b357189d735c800510424035edb9d5
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/Dominators.h
M clang/include/clang/Analysis/CFG.h
M llvm/include/llvm/Support/CFGDiff.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[Analysis] Modernize CFGBlock GraphTraits; drop generic dominator tree special case (#207552)
Make clang analyzer's CFG behave like other graphs in the generic
dominator tree builder by teaching the CFGBlock GraphTraits two things.
* Node numbers: getNumber/getMaxNumber/getNumberEpoch backed by the
dense, never-renumbered BlockIDs. GraphHasNodeNumbers<CFGBlock *>
becomes true (#101706) so Semi-NCA indexes a SmallVector instead of a
DenseMap and DominatorTreeBase drops its CFGBlock-to-index map.
* Plain `CFGBlock *` children: map through the reachable target and skip
`AB_Unreachable` (null) edges. This drops the
is_same_v/make_filter_range
fallback in getChildren() and the CFGBlock ChildrenGetterTy
specialization.
(Post)dominator and IDF results are unchanged.
Aided by Claude Opus 4.8
Commit: 8e8e4e50f501bac04b9a00dd7305cf35549b5afc
https://github.com/llvm/llvm-project/commit/8e8e4e50f501bac04b9a00dd7305cf35549b5afc
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Semantics/openmp-utils.cpp
Log Message:
-----------
[flang][OpenMP][NFC] Move variant-matching context to semantics (#207087)
Move FlangOMPContext from lowering into semantics as the
MLIR-independent OmpVariantMatchContext. This lets an upcoming semantic
check reuse the matcher to skip the loop-nest checks for a metadirective
variant that cannot be selected on the current target, such as a
`device={kind(nohost)}` variant in a host compilation. No functional
change to metadirective lowering.
Assisted with copilot.
Commit: 902273247db1f8b62613f38fa1a6f93700de517b
https://github.com/llvm/llvm-project/commit/902273247db1f8b62613f38fa1a6f93700de517b
Author: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/test/TableGen/target-builtins-prototype-parser.td
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
[clang][tablegen] Allow qualifiers on _Vector builtin types (#207091)
The builtin prototype parser accepts pointers to _Vector<> template
types but not const/volatile/restrict pointers. Currently, _Vector<>
types are parsed in a special way: first parsing the type itself,
consuming it, and saving the resulting type string. Then, the remaining
qualifiers are parsed while the type is removed from the input. For this
to work, parsing qualifiers must accept empty base type, which was the
case only for plain pointers and references.
This change extends this approach to const/volatile/restrict qualifiers.
Signed-off-by: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Commit: a913e893c3f3e820f413ccd3877f19eb4ab028f6
https://github.com/llvm/llvm-project/commit/a913e893c3f3e820f413ccd3877f19eb4ab028f6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable-operands-reordering.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-node-with-in-order-parent.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-before-main.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-with-removed-extracts.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
Log Message:
-----------
[SLP]Support Mul as the main copyable instruction
Added support for the missed Mul as a main copyable instruction opcode
Reviewers: RKSimon, hiraditya, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/207622
Commit: b0d35497b666b3e0c0c4244c1f8c19f2cfdc1fb2
https://github.com/llvm/llvm-project/commit/b0d35497b666b3e0c0c4244c1f8c19f2cfdc1fb2
Author: Quentin Colombet <quentin.colombet at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
M llvm/test/CodeGen/AMDGPU/dead_bundle.mir
M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
M llvm/test/CodeGen/AMDGPU/greedy-global-heuristic.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-agpr-negative-tests.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av.mir
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill.mir
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/ra-inserted-scalar-instructions.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/regalloc-fail-unsatisfiable-overlapping-tuple-hints.mir
M llvm/test/CodeGen/AMDGPU/regalloc-undef-copy-fold.mir
M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
M llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
M llvm/test/CodeGen/AMDGPU/splitkit-copy-live-lanes.mir
M llvm/test/CodeGen/AMDGPU/splitkit-do-not-undo-subclass-split-with-remat.mir
M llvm/test/CodeGen/AMDGPU/splitkit.mir
M llvm/test/CodeGen/AMDGPU/swdev502267-use-after-free-last-chance-recoloring-alloc-succeeds.mir
A llvm/test/CodeGen/MIR/AMDGPU/lr-split-flag.mir
M llvm/test/CodeGen/RISCV/pr176001.ll
M llvm/test/CodeGen/X86/AMX/amx-greedy-ra-spill-shape.ll
M llvm/test/CodeGen/X86/apx/foldmemory.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-movements.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-stackptr.mir
M llvm/utils/UpdateTestChecks/mir.py
Log Message:
-----------
[MIR] Serialize/Deserialize MachineInstr::LRSplit flag (#197362)
The LRSplit MachineInstr flag is set by SplitKit on copies inserted for
live-range splitting.
Until now the flag had no MIR-text representation.
This patch fixes that so that it gets easier to reproduce/capture issues
that involves SplitKit.
Round-trip coverage in
llvm/test/CodeGen/MIR/AMDGPU/lr-split-flag.mir.
Commit: c35cba42e67284a1b6b8609f20782f6d8c692a6c
https://github.com/llvm/llvm-project/commit/c35cba42e67284a1b6b8609f20782f6d8c692a6c
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SandboxIR] Fix pass pipeline parsing after aux arguments (#207237)
## Summary
- Fix `sandboxir::PassManager::setPassPipeline` to resume scanning pass
names after a pass aux argument when the next token is a delimiter.
- Add a unit test covering flat pipelines like `foo(aux1),bar`.
This fixes parsing of region pass pipelines such as
`bottom-up-vec(top-down),tr-accept` that will be used by the
SandboxVectorizer.
## Test plan
- [x] `ninja SandboxIRTests`
- [x] `./unittests/SandboxIR/SandboxIRTests
--gtest_filter=PassTest.SetPassPipeline`
Made with [Cursor](https://cursor.com)
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 20e12152f9b218c42791151f0bca93a5a1763b64
https://github.com/llvm/llvm-project/commit/20e12152f9b218c42791151f0bca93a5a1763b64
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/ARC/ARCISelLowering.cpp
M llvm/lib/Target/ARM/ARMCallingConv.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCCallingConv.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/X86/X86CallingConv.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen][CC][NFC] Emit idiomatic guards for CallingConv. (#207758)
Emit independent guards for the two existing sections rather than the
if-else done today. This is in preparation for adding other sections
that must be includable exclusive of the other sections.
This also eliminates the current asymmetry between the automatic
IfGuardEmitter for the "if" portion vs the manually emitted "else"
section.
Commit: 78bc590bbc89aa868bcee35982dd3cf70cebea64
https://github.com/llvm/llvm-project/commit/78bc590bbc89aa868bcee35982dd3cf70cebea64
Author: Stefan Mada <smada at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
A llvm/test/CodeGen/NVPTX/intrinsic-immarg-print-mismatched-signature.ll
Log Message:
-----------
[IR][NVVM] Fixed null pointer deference in AsmWriter pretty printer (#207223)
ASMWriter can deference a null pointer on intrinsics with pretty printed
args when those intrinsics are called with an invalid number of
arguments. This check avoids the null dereference and turns this into a
graceful failure.
Commit: 9c823964dd43645162d361b16d2ddedc381f5d2d
https://github.com/llvm/llvm-project/commit/9c823964dd43645162d361b16d2ddedc381f5d2d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
Log Message:
-----------
[NFC][LLVM][NVPTX] Initialize pass-ids to zero (#207547)
Initialize pass::ID values for various passes to canonical zero instead
of 1.
Commit: 2e75acd861aa78755c7a57ab8eca63fde916497a
https://github.com/llvm/llvm-project/commit/2e75acd861aa78755c7a57ab8eca63fde916497a
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/test/UnitTest/ErrnoSetterMatcher.h
Log Message:
-----------
[libc][test] Remove internal linkage from ErrnoSetterMatcher helpers (NFC) (#207707)
`Succeeds`, `Fails`, and `returns` are static function templates in a
header, so any test TU that includes it without using all of them trips
`-Wunused-template`. Dropping static also matches the neighboring EQ/NE
helpers, which are already non-static.
Part of #202945.
Commit: 42746081459775eb85879cc09361a316ac9e0ea2
https://github.com/llvm/llvm-project/commit/42746081459775eb85879cc09361a316ac9e0ea2
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
Log Message:
-----------
[AMDGPU] Fix printf %s buffer slot oversized when strlen % 4 == 0 (#207772)
The metadata slot for a constant string %s used alignTo(strlen + 1, 4),
but the store loop only writes ceil(strlen / 4) dwords (no trailing
NUL), so every following argument was read from offset shifted by +4
Commit: 0f0b1c76a4d84594fef4de8ae5c49aa565d8bab0
https://github.com/llvm/llvm-project/commit/0f0b1c76a4d84594fef4de8ae5c49aa565d8bab0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[libc++] Run the libcxx-run-benchmarks action on macOS in addition to Linux (#207780)
The libcxx-run-benchmarks action is triggered when a specially formatted
comment is posted on a PR, requesting benchmarks to be run against that
PR. This patch expands the Github action so it also runs benchmarks on
the macOS CI resources that were added recently.
Commit: 804a081a797c953b86503ead745dfde96f1c61c9
https://github.com/llvm/llvm-project/commit/804a081a797c953b86503ead745dfde96f1c61c9
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
Log Message:
-----------
[GlobalISel][AArch64] Legalize PHIs with vectors smaller than 64-bits (#207356)
New legalization rule added as the last to not change legalization of
small vectors in existing tests.
Commit: 82d27f67b6aad3bf72e9db610ab5b6984cb02b76
https://github.com/llvm/llvm-project/commit/82d27f67b6aad3bf72e9db610ab5b6984cb02b76
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
R clang/test/Interpreter/emulated-tls.cpp
M llvm/lib/ExecutionEngine/Orc/Layer.cpp
Log Message:
-----------
Revert "[ORC] Track __emutls_t definitions in IRMaterializationUnit" (#207775)
Commit: 96904e83cf69b0a02a5fb7dece9b258f562205e0
https://github.com/llvm/llvm-project/commit/96904e83cf69b0a02a5fb7dece9b258f562205e0
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/chunk_test.cpp
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/flags_test.cpp
M compiler-rt/lib/scudo/standalone/tests/map_test.cpp
M compiler-rt/lib/scudo/standalone/tests/memtag_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/scudo_unit_test.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
Log Message:
-----------
[scudo] Make death tests use SCUDO_XXX_DEATH_TEST. (#206196)
On Android, we want to disable the tombstone generation on expected
crashes to speed up running the tests. Also, this means that any
tombstone files will be real crashes and it's not necessary to search
for the right tombstone if one of the tests crashes unexpectedly.
In order to do the above, add SCUDO_EXPECT_DEATH_TEST and
SCUDO_ASSERT_DEATH_TEST that will disable tombstoned on Android but do
nothing on all other platforms.
Commit: 69ee64790ed69555264a200a3ae95d644a649e42
https://github.com/llvm/llvm-project/commit/69ee64790ed69555264a200a3ae95d644a649e42
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/frexp-implied-exponent-range-dominating-conditions.ll
Log Message:
-----------
InstCombine: Add baseline test for implied frexp exponent ranges (#206926)
Commit: d1eae28e79d33a4f85bf16a09cbb90aa9b6848e4
https://github.com/llvm/llvm-project/commit/d1eae28e79d33a4f85bf16a09cbb90aa9b6848e4
Author: Kamlesh Kumar <kamleshbhalui at gmail.com>
Date: 2026-07-07 (Tue, 07 Jul 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
A llvm/test/Transforms/InstSimplify/vector-interleave-deinterleave.ll
Log Message:
-----------
[InstSimplify] fold the identity interleave (#206646)
If all the extracvalue of deinterleave used in interleave in same order
then it is an identity.
Commit: 5e265484030eb034a14f4e4fec5abb0209605787
https://github.com/llvm/llvm-project/commit/5e265484030eb034a14f4e4fec5abb0209605787
Author: Aliaksei Urbanski <aliaksei.urbanski at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang/include/clang/Lex/MultipleIncludeOpt.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/CodeGen/README.txt
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_riscv64.S
M flang/docs/Semantics.md
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
M libc/src/string/memory_utils/arm/inline_memcpy.h
M libcxx/docs/DesignDocs/FeatureTestMacros.rst
M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/test/CodeGen/AArch64/regcoal-physreg.mir
M llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M polly/lib/External/isl/isl_union_map.c
Log Message:
-----------
[NFC] Fix "is is" typos (#206288)
These changes aim to fix common "is is" typos.
Commit: 03c62ca40d19ba03c7d2b69dbedc95e498d46071
https://github.com/llvm/llvm-project/commit/03c62ca40d19ba03c7d2b69dbedc95e498d46071
Author: Alex Strelnikov <strel at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/docs/dev/printf_behavior.rst
M libc/src/__support/float_to_string.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_dec_converter_limited.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/printf_config.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/PrintfMatcher.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
Log Message:
-----------
[libc] Add Q length modifier to support float128 conversions in printf (#203077)
The spelling follows an existing pattern in e.g. libquadmath for format
printing `__float128` values.
A flag is added to disable float128 conversions and the "Q" length
modifier.
Commit: a4107d67f91946a97d0acd0a70e2ae16513858b9
https://github.com/llvm/llvm-project/commit/a4107d67f91946a97d0acd0a70e2ae16513858b9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[libc++] Don't install custom Python on self-hosted macOS runners (#207794)
That shouldn't be necessary, since they already come with Python 3, and
it doesn't work anyway because it requires special setup that the macOS
runners don't currently perform.
Commit: 7b9a58e6cfa0dab49ef417f731ee7a8dc5e3aab5
https://github.com/llvm/llvm-project/commit/7b9a58e6cfa0dab49ef417f731ee7a8dc5e3aab5
Author: Michael Jones <michaelrj at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/dirent_overlay.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/DIR.h
A libc/hdr/types/struct_dirent.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/dir.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/OSUtil/linux/stat/kernel_statx_types.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/fcntl.h
M libc/src/dirent/CMakeLists.txt
A libc/src/dirent/fdopendir.cpp
A libc/src/dirent/fdopendir.h
M libc/test/src/dirent/CMakeLists.txt
A libc/test/src/dirent/fdopendir_test.cpp
Log Message:
-----------
[libc] Implement fdopendir (#206590)
The fdopendir function takes a file descriptor opened on a directory,
then opens a DIR* on it.
Needed for #191075
Assisted-by: Automated tooling, human reviewed.
Commit: 2590272e5674c300c9438ef5c10a65358b0636e9
https://github.com/llvm/llvm-project/commit/2590272e5674c300c9438ef5c10a65358b0636e9
Author: Alex Langford <alangford at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/include/lldb/Core/EmulateInstruction.h
M lldb/include/lldb/Core/Value.h
M lldb/include/lldb/Expression/Materializer.h
M lldb/include/lldb/Host/common/NativeRegisterContext.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/RegisterContext.h
A lldb/include/lldb/Utility/RegisterInfo.h
M lldb/include/lldb/Utility/RegisterValue.h
M lldb/include/lldb/lldb-private-types.h
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h
Log Message:
-----------
[lldb] Move RegisterInfo and RegisterSet into their own header (#207286)
RegisterInfo holds onto a pointer to RegisterFlags which is in
lldbUtility. My understanding of lldb-private-types is that it contains
types used throughout LLDB but should generally stand on their own (i.e.
without dependencies on specific lldb types and headers). Thus I am
moving it to lldbUtility.
RegisterSet _does_ stand on its own but it is pretty strongly coupled to
RegisterInfo.
Commit: b74512899707cfcf962ebfa21f9209378372e78b
https://github.com/llvm/llvm-project/commit/b74512899707cfcf962ebfa21f9209378372e78b
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
Log Message:
-----------
[NFC][PatternMatch] Simplify m_Intrinsic impl using variadic templates (#207211)
Updates both IR/VPlan pattern matchers.
Commit: 76d253e2736c7da493a836c9c150772056dafd73
https://github.com/llvm/llvm-project/commit/76d253e2736c7da493a836c9c150772056dafd73
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[docs][AMDGPU] Document amdgpu.buffer.oob.mode more, especially on fat pointers (#134734)
This commit expands the documentation of the amdgpu.buffer.oob.mode so
that fat buffer pointer users are more aware of its effects.
Commit: c8c20662e036099b00469bf26324b93151acb00c
https://github.com/llvm/llvm-project/commit/c8c20662e036099b00469bf26324b93151acb00c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/test/Transforms/Attributor/nofpclass-ldexp.ll
M llvm/test/Transforms/InstCombine/frexp-implied-exponent-range-dominating-conditions.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-ldexp.ll
Log Message:
-----------
ValueTracking: Improve frexp known range from dominating conditions (#206927)
Try to restrict the known range of the exponent result of llvm.frexp
based on dominating conditions. Identify comparisons that imply the
incoming value cannot introduce an overflow in a downstream ldexp
use. This pattern appears in the implementation of some complex math
functions and allows finite only math to prune out more edge case
paths.
One attributor test for ldexp regresses due to the switch from
computeKnownBits to computeConstantRange. computeConstantRange
does not try to handle non-splat vector constants for the binary
operators.
As a side effect, this also improves knowing that ldexp can't
introduce overflow for the 0 case.
Commit: dbd7511ad28819587fc9effc0086abf437279a84
https://github.com/llvm/llvm-project/commit/dbd7511ad28819587fc9effc0086abf437279a84
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization-alignment.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/memset-pattern.ll
Log Message:
-----------
[LowerBufferFatPointers] Correctly handle alignment modes (#134329)
Previously, AMDGPULowerBufferFatPointers would emit unaligned buffer
loads/stores, even when such unaligned accesses were disabled (that is,
on non-HSA platforms).
In addition, the lowering did not respect the newly-added
amdgpu.buffer.oob.mode module flag, which now must be enabled in order
to vectorize unaligned loads from buffers.
This commit fixes both issues and adds tests.
Commit: 000f6bf9cb7ec4223ef1de829158d09d4bfa2946
https://github.com/llvm/llvm-project/commit/000f6bf9cb7ec4223ef1de829158d09d4bfa2946
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFFunctionRewrite.cpp
M flang/test/Fir/CUDA/cuda-function-rewrite.mlir
Log Message:
-----------
[flang][cuda] Recognize on_device() by its Fortran leaf name in CUFFunctionRewrite (#207298)
CUFFunctionRewrite folds on_device() to a compile-time constant: true
inside a gpu.module (device), false on the host. Match on the callee's
Fortran leaf name, recovered independently of the external name-mangling
convention and of where the pass runs in the pipeline.
Commit: 3ae61eb220dc8f1fa0dd551a9575237b84dae61d
https://github.com/llvm/llvm-project/commit/3ae61eb220dc8f1fa0dd551a9575237b84dae61d
Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/pr53357.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[InstCombine] Turn Add into Or even when undef (#171556)
Since 03d4a9d94da30590ebfc444cf13a8763f47b7bb9, Add is turned into
DisjointOr, and since 5c3496ff33ce8e4cc6f8c18edd7ae5fc65d23fdf, Add
isn't turned into DisjointOr when undef. However, Add can still be
turned into Or even when undef.
This patch restores the transformation behavior we had in LLVM 17, while
continuing to generate DisjointOr when possible.
Alive2: https://alive2.llvm.org/ce/z/ZT0ZFj
Commit: 5e5490f2df9c9c329689929b62d51ee0fb95fb30
https://github.com/llvm/llvm-project/commit/5e5490f2df9c9c329689929b62d51ee0fb95fb30
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/haddsub-undef.ll
M llvm/test/CodeGen/X86/phaddsub-undef.ll
Log Message:
-----------
[X86] combineToHorizontalAddSub - use PostShuffleMask to determine undemanded subvectors (#207789)
For cases where the middle-end has created a 256-bit HADD/SUB pattern
with unused upper 128-bit subvectors, use the PostShuffleMask undefined
ranges to remove any unused 128-bit HADD/SUB ops.
Commit: 3df6ca69c9e2b22687315a3074857383eefa93b8
https://github.com/llvm/llvm-project/commit/3df6ca69c9e2b22687315a3074857383eefa93b8
Author: Quentin Colombet <quentin.colombet at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
R llvm/test/CodeGen/AMDGPU/regalloc-hoist-spill-live-range-upd.ll
A llvm/test/CodeGen/AMDGPU/regalloc-hoist-spill-live-range-upd.mir
Log Message:
-----------
[AMDGPU][test] Use mir test for regalloc issue (#197363)
Use the newly introduced split-from flag to produce a more robust test
case for the hoistSpillInsideBB live-range update issue.
NFC
Commit: 2e0c6a254c4a159726f0477bbe3723eafe33382c
https://github.com/llvm/llvm-project/commit/2e0c6a254c4a159726f0477bbe3723eafe33382c
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
Log Message:
-----------
[lldb] Fix TestFrameProviderCircularDependency.py on Arm (#207804)
After #206987 this test started passing on Windows and 32-bit Linux on
Arm. Remove the expected failure annotation to fix lldb-arm-ubuntu
buildbot.
Commit: 396354a3f7f627aaa5cbfffa2033e1ea8bc00e69
https://github.com/llvm/llvm-project/commit/396354a3f7f627aaa5cbfffa2033e1ea8bc00e69
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[libc++] Install missing dependencies for running benchmarks on macOS (#207810)
The macOS self-hosted runners don't come with Ninja and CMake installed
out of the box, so we need to install them with Homebrew.
Commit: d2b6f83980ed0428d8342b378f01317acf4510de
https://github.com/llvm/llvm-project/commit/d2b6f83980ed0428d8342b378f01317acf4510de
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CIR/CodeGen/fp16-native-args.c
A clang/test/CIR/CodeGen/fp16.c
M clang/test/CodeGen/builtin_float.c
M clang/test/CodeGen/builtin_float_strictfp.c
M clang/test/CodeGen/wasm-fp16.c
Log Message:
-----------
clang: Remove useFP16ConversionIntrinsics target option (#207212)
Follow up to #174494. Remove the remnants of the control to
use llvm.convert.to.fp16/llvm.convert.from.fp16. Prefer
directly using the IR half type.
I did the first 80% of this a long time ago, and AI finished
the last bit and handled the recent rebases and test updates.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Commit: 4868f2c1edfede611994a621e8eb0adac46bca1a
https://github.com/llvm/llvm-project/commit/4868f2c1edfede611994a621e8eb0adac46bca1a
Author: Alex Langford <alangford at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb] Modify test binaries that link against LLDB to use LLVM dylib (#207290)
When LLVM_LINK_LLVM_DYLIB is enabled and we build LLDB.framework, tests
that link against LLDB.framework will fail to load the LLVM dylib
because of a missing rpath.
Commit: 2d0f294d1b272b8976ebd2d90a5252af1af8ca89
https://github.com/llvm/llvm-project/commit/2d0f294d1b272b8976ebd2d90a5252af1af8ca89
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.offset-split.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load-exported.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
Log Message:
-----------
[AMDGPU] Precommit for pulling NUW large buffer offsets into SOFFSET (#207795)
This commit adds tests with larger constant offsets [being added to
VGPRs] in raw.buffer.* instructions to show the movement of such offsets
to SOFFSET after rounding in a future commit if this won't cause errors
because of overflow.
This also necessitated adding gfx1250 tests (to show the different
offset sizes) and moving tests that ctalled "export" into a new file so
that the gfx1250 (which doesn't support that instruction) doesn't trip
ot those tests.
This also adds a few global-isel specific tests for handling `or
disjoint` like an add we can't just stick -global-isel in the normal
buffer intrinsic tests.
AI usage disclosure: AI wrote these, I skimmed them.
---------
Co-authored-by: Codex <codex at openai.com>
Commit: 5dfc35a50514aaa62a34cb17f5be5c6396caf4fb
https://github.com/llvm/llvm-project/commit/5dfc35a50514aaa62a34cb17f5be5c6396caf4fb
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/VectorizationPlan.rst
M llvm/docs/conf.py
M utils/docs/llvm_sphinx/__init__.py
Log Message:
-----------
[docs] Disable sphinx's numfig option (#207817)
Benchmarking shows a speedup of about 1.6x for a single file edit:
```bash
source .venv/bin/activate
hyperfine \
--ignore-failure \
--warmup 1 \
--setup 'rm -rf /dev/shm/sphinx-build && cm c -b /dev/shm/sphinx-build' \
--prepare 'touch llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst' \
'cm b -b /dev/shm/sphinx-build docs-llvm-html'
# main:
# Benchmark 1: cm b -b /dev/shm/sphinx-build docs-llvm-html
# Time (mean ± σ): 41.424 s ± 1.652 s [User: 39.534 s, System: 1.876 s]
# Range (min … max): 40.696 s … 46.110 s 10 runs
# no-numfig:
# Benchmark 1: cm b -b /dev/shm/sphinx-build docs-llvm-html
# Time (mean ± σ): 25.808 s ± 2.051 s [User: 24.106 s, System: 1.692 s]
# Range (min … max): 24.287 s … 30.132 s 10 runs
```
There are only two uses of the feature, both in VectorizationPlan, and
the net result of disabling it just changes them from looking like this:
Refer to [Fig. 1] for an overview of the current transformation
pipeline.
To looking like this:
Refer to [VPlan Transformation Pipeline in 2024] for an overview of the
current transformation pipeline.
Where "[...]" denotes the hyperlink to the figure.
See
https://github.com/zephyrproject-rtos/zephyr/pull/37572#discussion_r1102411281
for another project's discussion of the same issue.
Commit: 2ef9c9d02409b02dc2289b4125397cbc40030c74
https://github.com/llvm/llvm-project/commit/2ef9c9d02409b02dc2289b4125397cbc40030c74
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
Log Message:
-----------
[bazel][libc] Port 03c62ca40d (#207820)
Commit: 642c9f69772dea930c8c035813430d325c96697c
https://github.com/llvm/llvm-project/commit/642c9f69772dea930c8c035813430d325c96697c
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M utils/docs/llvm_sphinx/__init__.py
Log Message:
-----------
[docs][NFC] Some small cleanup in llvm_sphinx (#207818)
Format the doc-comment suggested import to match what `black` prefers,
and isolate the `import` as the only statement in the `try` for
`myst_parser`.
Commit: ddebfb9d1cbdf2988d118eae889b868024290856
https://github.com/llvm/llvm-project/commit/ddebfb9d1cbdf2988d118eae889b868024290856
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
Log Message:
-----------
[VPlan] Add intrinsic constant folding test for replicate recipes. (NFC) (#207792)
Commit: f348d964af441ec454e5fc12ab1b599cfc1e7d14
https://github.com/llvm/llvm-project/commit/f348d964af441ec454e5fc12ab1b599cfc1e7d14
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/test/Misc/warning-wall.c
M clang/test/SemaCXX/warn-func-not-needed.cpp
M clang/test/SemaCXX/warn-variable-not-needed.cpp
Log Message:
-----------
[Clang] Enable -Wunused-template under -Wall (#206123)
Uncomment `UnusedTemplate` in the `Unused` diagnostic group so
`-Wunused-template` becomes part of `-Wall`.
`-Wunused-template` flags unused function and variable templates with
internal linkage. In a header, such a template gives every translation
unit its own internal-linkage copy, which is a latent ODR violation
(ill-formed, no diagnostic required), so enabling this surfaces a real
class of bugs and keeps the pattern from reappearing.
### Depends on
The in-tree occurrences were cleaned up first in a series of NFC PRs
tracked by #202945. This change only builds clean once those land, so CI
will be red on any area whose cleanup is not yet merged. Remaining
prerequisites:
Approved
- #202969
- #202971
- #202973
- #202974
- #206309
- #206312
Needs to be reviewed
- #202988
- #206308
Closes #202945
cc @AaronBallman @vgvassilev
Commit: 2e1f347c38114f5e2e4fc4355fad9cdc0e1bb205
https://github.com/llvm/llvm-project/commit/2e1f347c38114f5e2e4fc4355fad9cdc0e1bb205
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/include/__ranges/zip_transform_view.h
A libcxx/test/libcxx/ranges/range.adaptors/range.zip.transform/nodiscard.verify.cpp
M libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++][ranges] Applied `[[nodiscard]]` to `views::zip_transform` (#207120)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/range.zip.transform
Towards #172124
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 5a74b398d27ecba94fa0acf800af86039bf6a0f5
https://github.com/llvm/llvm-project/commit/5a74b398d27ecba94fa0acf800af86039bf6a0f5
Author: Alex Langford <alangford at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/include/lldb/Core/Section.h
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBSection.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Section.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/unittests/Core/ModuleTest.cpp
M lldb/unittests/ObjectFile/ELF/TestObjectFileELF.cpp
M lldb/unittests/Symbol/LineTableTest.cpp
Log Message:
-----------
[lldb] Remove ConstString from SectionList::FindSectionByName (#207296)
By having ConstString in this interface, we are forcing callers to
create a ConstString in order to perform a lookup. In many cases,
`FindSectionByName` is a best-effort interface, meaning we're creating
ConstStrings speculatively. In other cases, we were creating a
ConstString at the call-site instead of computing it once and re-using
it.
I audited all the callsites and changed all the callsites that created a
ConstString for the purpose of calling `FindSectionByName`. Other
callsites will take more time to change.
Commit: 09f2062da3b34b7db167268b05c9a9a5bd3c7e17
https://github.com/llvm/llvm-project/commit/09f2062da3b34b7db167268b05c9a9a5bd3c7e17
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenTypes.cpp
Log Message:
-----------
clang: Use getFloatingPointType instead of reinventing it (#207213)
Commit: e64a71f09b016edb834eb45e5c172d1337555803
https://github.com/llvm/llvm-project/commit/e64a71f09b016edb834eb45e5c172d1337555803
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/early_exit_with_outer_loop.ll
Log Message:
-----------
[VPlan] Refine hasEarlyExit check. (#207791)
Currently hasEarlyExit misses cases where we have things like dead exit
blocks or simplified the middle block.
Update to check by counting the predecessors.
This fixes a case where we missed properly updating LoopInfo due to
incorrect results.
Fixes https://github.com/llvm/llvm-project/issues/206007.
Commit: b69ec1023d6604106cb64f9a6a6b04e9c3e5d533
https://github.com/llvm/llvm-project/commit/b69ec1023d6604106cb64f9a6a6b04e9c3e5d533
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/early_exit_with_outer_loop.ll
Log Message:
-----------
Revert "[VPlan] Refine hasEarlyExit check." (#207838)
Reverts llvm/llvm-project#207791
This appears to break multiple build-bots
Commit: f147395634dd21f9f2dfbdcc8c1a2f96c3228a24
https://github.com/llvm/llvm-project/commit/f147395634dd21f9f2dfbdcc8c1a2f96c3228a24
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ObjectYAML/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#207839)
1b2efd2e079a
9b2d44a51252
Commit: 23a01e949a55d4034dbbcad08c875a1d458464b1
https://github.com/llvm/llvm-project/commit/23a01e949a55d4034dbbcad08c875a1d458464b1
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/stack-guard-width.ll
Log Message:
-----------
[AArch64] Support 4-byte stack protector with large code model. (#205956)
This is a simple extension to existing code. We might need this in the
future.
Commit: 61d766817b9ebe9804c84d71aa7a620962436dff
https://github.com/llvm/llvm-project/commit/61d766817b9ebe9804c84d71aa7a620962436dff
Author: Bill Wendling <morbo at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
A clang/test/CodeGen/attr-counted-by-nested-structs.c
Log Message:
-----------
[Clang][counted_by] Use the expr's RecordDecl that transitively contains the counter field (#205903)
The counted field could be in nested structs. This can happen when the
Expr is pointing to a field that has a struct type. The original code
didn't do a good job at finding the best RecordDecl to build the GEP off
of. It made too many assumptions about how structs' layouts.
This rewrite finds the RecordDecl that transitively contains the
__counted_by__'s counter field.
Fixes: #205652
Commit: c9c7fdde03d04ab10960db156f832a276411e3b5
https://github.com/llvm/llvm-project/commit/c9c7fdde03d04ab10960db156f832a276411e3b5
Author: yebinchon <86588366+yebinchon at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/test/HLFIR/separate-allocatable-assign.fir
Log Message:
-----------
[flang] keep runtime allocator for pinned allocations (#207822)
If an allocatable is pinned, use the flang runtime instead of lowering
to normal memcpy/free.
---------
Co-authored-by: Yebin Chon <ychon at nvidia.com>
Commit: 8014a1d208f0f9e58cfeaf022517cf3d69257bff
https://github.com/llvm/llvm-project/commit/8014a1d208f0f9e58cfeaf022517cf3d69257bff
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
M llvm/unittests/Support/LEB128Test.cpp
Log Message:
-----------
[Support] Fix undefined shift in decodeULEB128/decodeSLEB128 for overlong encodings (#205907)
When a (signed or unsigned) LEB128 value is encoded with extra trailing
bytes that only carry zero- or sign-extension, the decode loop could
keep
running with the shift amount at 64 or beyond and then evaluate
`Slice << Shift`, which is undefined behavior for a 64-bit type.
The DWARF expression parser feeds attacker-controlled LEB128 operands
(such as `DW_OP_bregN` / `DW_OP_constu`) through
`DataExtractor::getULEB128` / `getSLEB128`, so the
`lldb-dwarf-expression-fuzzer` reaches this under UBSan. The unsigned
case:
```
LEB128.h:152:20: runtime error: shift exponent 70 is too large for
64-bit type 'uint64_t' (aka 'unsigned long long')
#0 llvm::decodeULEB128(...) LEB128.h:152
#1 getLEB128<unsigned long long>(...) DataExtractor.cpp:227
#2 llvm::DataExtractor::getULEB128(...) DataExtractor.cpp:241
#3 llvm::DWARFExpression::Operation::extract(...) DWARFExpression.cpp:218
#7 lldb_private::DWARFExpression::Evaluate(...) DWARFExpression.cpp:1333
#9 LLVMFuzzerTestOneInput lldb-dwarf-expression-fuzzer.cpp:83
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior LEB128.h:152:20
```
and the signed case, reached the same way:
```
LEB128.h:190:20: runtime error: shift exponent 70 is too large for
64-bit type 'uint64_t' (aka 'unsigned long long')
#0 llvm::decodeSLEB128(...) LEB128.h:190
#1 getLEB128<long long>(...) DataExtractor.cpp:227
#2 llvm::DataExtractor::getSLEB128(...) DataExtractor.cpp:245
#3 llvm::DWARFExpression::Operation::extract(...) DWARFExpression.cpp:216
#7 lldb_private::DWARFExpression::Evaluate(...) DWARFExpression.cpp:1333
```
The existing range checks already guarantee that once `Shift` reaches 64
the remaining bytes are pure extension and contribute nothing to the
result, so skip the accumulating shift in that case. Decoded values are
unchanged for all well-formed inputs.
Adds overlong-encoding regression cases to `LEB128Test`. Without the fix
the signed case is the UBSan diagnostic above in a sanitizer build, and
in a normal build the unsigned case also decodes to the wrong value (the
overlong `1` decodes as `11`).
Commit: 4ddf6a9fe10fac9a8cdb7106380932387e5682e3
https://github.com/llvm/llvm-project/commit/4ddf6a9fe10fac9a8cdb7106380932387e5682e3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/test-suite.yml
M bolt/unittests/Profile/PerfScripts.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/confusable-identifiers.cpp
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/ReleaseNotes.md
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/StmtVisitor.h
M clang/include/clang/Analysis/Analyses/Dominators.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Basic/AArch64CodeGenUtils.h
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Lex/MultipleIncludeOpt.h
M clang/include/clang/Options/Options.td
M clang/lib/AST/ASTDiagnostic.cpp
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/InterpBuiltin.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/README.txt
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
A clang/test/CIR/CodeGen/fp16-native-args.c
A clang/test/CIR/CodeGen/fp16.c
M clang/test/CIR/CodeGen/inline-asm.c
M clang/test/CIR/Lowering/module-asm.cir
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/ClangScanDeps/diagnostics.c
M clang/test/ClangScanDeps/header-search-pruning-transitive.c
M clang/test/ClangScanDeps/modules-context-hash-from-named-module.cpp
M clang/test/ClangScanDeps/modules-context-hash-ignore-macros.c
M clang/test/ClangScanDeps/modules-context-hash-outputs.c
M clang/test/ClangScanDeps/modules-context-hash-warnings.c
M clang/test/ClangScanDeps/modules-context-hash.c
M clang/test/ClangScanDeps/modules-dep-args.c
M clang/test/ClangScanDeps/modules-extern-submodule.c
M clang/test/ClangScanDeps/modules-extern-unrelated.m
M clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m
M clang/test/ClangScanDeps/modules-full-named-modules.cppm
M clang/test/ClangScanDeps/modules-full-output-tu-order.c
M clang/test/ClangScanDeps/modules-full.cpp
M clang/test/ClangScanDeps/modules-has-include-umbrella-header.c
M clang/test/ClangScanDeps/modules-header-sharing.m
M clang/test/ClangScanDeps/modules-implementation-module-map.c
M clang/test/ClangScanDeps/modules-implementation-private.m
M clang/test/ClangScanDeps/modules-implementation-vfs.m
M clang/test/ClangScanDeps/modules-implicit-dot-private.m
M clang/test/ClangScanDeps/modules-incomplete-umbrella.c
M clang/test/ClangScanDeps/modules-inferred.m
M clang/test/ClangScanDeps/modules-no-undeclared-includes.c
M clang/test/ClangScanDeps/modules-pch-common-stale.c
M clang/test/ClangScanDeps/modules-pch-common-submodule.c
M clang/test/ClangScanDeps/modules-pch-common-via-submodule.c
M clang/test/ClangScanDeps/modules-pch.c
M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
M clang/test/ClangScanDeps/multiple-commands.c
M clang/test/ClangScanDeps/tu-buffer.c
M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
A clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
M clang/test/CodeGen/AArch64/neon/subtraction.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/asm.c
M clang/test/CodeGen/asm_incbin.c
A clang/test/CodeGen/attr-counted-by-nested-structs.c
M clang/test/CodeGen/builtin_float.c
M clang/test/CodeGen/builtin_float_strictfp.c
M clang/test/CodeGen/builtins-x86.c
M clang/test/CodeGen/cfi-salt.c
M clang/test/CodeGen/kcfi.c
M clang/test/CodeGen/wasm-fp16.c
M clang/test/CodeGenCUDA/filter-decl.cu
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenCoroutines/coro-elide.cpp
M clang/test/CodeGenCoroutines/coro-halo.cpp
M clang/test/CodeGenCoroutines/pr65018.cpp
M clang/test/CodeGenObjC/category-class.m
M clang/test/CodeGenObjC/objc-runtime-name.m
M clang/test/Driver/cl-options.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Frontend/ast-codegen.c
A clang/test/Lexer/char-escapes-delimited-invalid-utf8.c
M clang/test/Lexer/char-escapes-delimited.c
M clang/test/Misc/warning-wall.c
M clang/test/Modules/codegen.test
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-verbose.c
M clang/test/Sema/LifetimeSafety/safety-c.c
M clang/test/Sema/LifetimeSafety/safety.cpp
A clang/test/Sema/aux-target-builtin-constexpr.cpp
M clang/test/SemaCXX/condition.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/warn-bool-conversion.cpp
M clang/test/SemaCXX/warn-func-not-needed.cpp
M clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
M clang/test/SemaCXX/warn-tautological-compare.cpp
M clang/test/SemaCXX/warn-variable-not-needed.cpp
M clang/test/SemaTemplate/member-specialization.cpp
M clang/test/TableGen/target-builtins-prototype-parser.td
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_riscv64.S
M compiler-rt/lib/sanitizer_common/tests/sanitizer_mutex_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_test_utils.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/chunk_test.cpp
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/flags_test.cpp
M compiler-rt/lib/scudo/standalone/tests/map_test.cpp
M compiler-rt/lib/scudo/standalone/tests/memtag_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/scudo_unit_test.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M flang/docs/Semantics.md
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFFunctionRewrite.cpp
M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
M flang/test/Fir/CUDA/cuda-device-global.f90
M flang/test/Fir/CUDA/cuda-function-rewrite.mlir
A flang/test/HLFIR/inline-elemental-multi-users.fir
M flang/test/HLFIR/separate-allocatable-assign.fir
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
M flang/test/Semantics/CUDA/cuf08.cuf
A flang/test/Semantics/CUDA/cuf31.cuf
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/printf_behavior.rst
M libc/docs/headers/complex.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/dirent_overlay.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/DIR.h
A libc/hdr/types/struct_dirent.h
A libc/hdr/types/struct_ipv6_mreq.h
M libc/include/CMakeLists.txt
M libc/include/complex.yaml
M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
M libc/include/llvm-libc-macros/netinet-in-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_ipv6_mreq.h
M libc/include/netinet/in.yaml
M libc/include/sys/socket.yaml
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/dir.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/OSUtil/linux/stat/kernel_statx_types.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/fcntl.h
M libc/src/__support/float_to_string.h
M libc/src/__support/frac128.h
M libc/src/complex/CMakeLists.txt
A libc/src/complex/cabs.h
A libc/src/complex/cabsf.h
M libc/src/complex/generic/CMakeLists.txt
A libc/src/complex/generic/cabs.cpp
A libc/src/complex/generic/cabsf.cpp
M libc/src/dirent/CMakeLists.txt
A libc/src/dirent/fdopendir.cpp
A libc/src/dirent/fdopendir.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_dec_converter_limited.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/printf_config.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/src/string/memory_utils/arm/inline_memcpy.h
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/sockatmark.cpp
A libc/src/sys/socket/sockatmark.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/PrintfMatcher.cpp
A libc/test/src/complex/CAbsTest.h
M libc/test/src/complex/CMakeLists.txt
A libc/test/src/complex/cabs_test.cpp
A libc/test/src/complex/cabsf_test.cpp
M libc/test/src/dirent/CMakeLists.txt
A libc/test/src/dirent/fdopendir_test.cpp
M libc/test/src/netinet/CMakeLists.txt
M libc/test/src/netinet/in_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/sockatmark_test.cpp
M libc/utils/MPCWrapper/MPCUtils.cpp
M libcxx/docs/DesignDocs/FeatureTestMacros.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx26Issues.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__configuration/abi.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
A libcxx/include/__memory/uninitialized_multidimensional_algorithms.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/zip_transform_view.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/thread.h
M libcxx/include/future
M libcxx/include/module.modulemap.in
M libcxx/include/set
M libcxx/include/thread
M libcxx/src/atomic.cpp
M libcxx/test/benchmarks/random.bench.cpp
A libcxx/test/libcxx/ranges/range.adaptors/range.elements/nodiscard.verify.cpp
A libcxx/test/libcxx/ranges/range.adaptors/range.zip.transform/nodiscard.verify.cpp
A libcxx/test/libcxx/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
M libcxx/test/std/containers/associative/multiset/clear.pass.cpp
M libcxx/test/std/containers/associative/multiset/count.pass.cpp
M libcxx/test/std/containers/associative/multiset/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/empty.pass.cpp
M libcxx/test/std/containers/associative/multiset/equal_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/find.pass.cpp
M libcxx/test/std/containers/associative/multiset/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/multiset/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/multiset/max_size.pass.cpp
M libcxx/test/std/containers/associative/multiset/merge.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.observers/comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/size.pass.cpp
M libcxx/test/std/containers/associative/multiset/upper_bound.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
R libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.format.pass.cpp
R libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.vformat.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
M libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp
M libcxx/test/support/test_iterators.h
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M libcxxabi/src/CMakeLists.txt
M libcxxabi/test/thread_local_destruction_order.pass.cpp
M lld/ELF/Arch/SPARCV9.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lldb/include/lldb/Core/EmulateInstruction.h
M lldb/include/lldb/Core/Section.h
M lldb/include/lldb/Core/Value.h
M lldb/include/lldb/Expression/Materializer.h
M lldb/include/lldb/Host/common/NativeRegisterContext.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/RegisterContext.h
M lldb/include/lldb/Utility/ConstString.h
A lldb/include/lldb/Utility/RegisterInfo.h
M lldb/include/lldb/Utility/RegisterValue.h
M lldb/include/lldb/lldb-private-types.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBSection.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Section.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Utility/ConstString.cpp
M lldb/test/API/commands/statistics/basic/TestStats.py
R lldb/test/API/functionalities/fork/stop/Makefile
R lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
R lldb/test/API/functionalities/fork/stop/main.c
M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
A lldb/test/API/macosx/expedited-stack-memory/Makefile
A lldb/test/API/macosx/expedited-stack-memory/TestExpeditedStackMemory.py
A lldb/test/API/macosx/expedited-stack-memory/main.c
A lldb/test/API/tools/lldb-dap/utils/TestDAPUtils_DAPConnection.py
A lldb/test/API/tools/lldb-dap/utils/TestDAPUtils_EventHistory.py
A lldb/test/API/tools/lldb-dap/utils/sample_dap_log.json
R lldb/test/Shell/Subprocess/stop-on-fork.test
R lldb/test/Shell/Subprocess/stop-on-vfork.test
M lldb/unittests/Core/ModuleTest.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
M lldb/unittests/ObjectFile/ELF/TestObjectFileELF.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M lldb/unittests/Symbol/LineTableTest.cpp
M llvm/benchmarks/ImmutableSetIteratorBM.cpp
M llvm/docs/AMDGPUAsyncOperations.rst
A llvm/docs/AMDGPUDMAOperations.md
M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/GlobalISel/Legalizer.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/UserGuides.md
M llvm/docs/VectorizationPlan.rst
M llvm/docs/conf.py
M llvm/include/llvm/ADT/ImmutableSet.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/BinaryFormat/DynamicTags.def
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/CostTable.h
R llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/RDFGraph.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
A llvm/include/llvm/CodeGen/StaticDataAnnotator.h
A llvm/include/llvm/CodeGen/StaticDataSplitter.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/DebugInfo/CodeView/Formatters.h
M llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCAsmStreamer.h
M llvm/include/llvm/MC/MCInstrInfo.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
A llvm/include/llvm/ObjectYAML/ContiguousBlobAccumulator.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/include/llvm/Support/CFGDiff.h
M llvm/include/llvm/Support/ConvertUTF.h
M llvm/include/llvm/Support/FormatAdapters.h
M llvm/include/llvm/Support/FormatCommon.h
M llvm/include/llvm/Support/FormatProviders.h
M llvm/include/llvm/Support/FormatVariadic.h
M llvm/include/llvm/Support/FormatVariadicDetails.h
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/Support/LEB128.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
R llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCInstrInfo.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/ModuleSymbolTable.cpp
M llvm/lib/ObjectYAML/CMakeLists.txt
A llvm/lib/ObjectYAML/ContiguousBlobAccumulator.cpp
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Support/ConvertUTF.cpp
M llvm/lib/Support/FormatVariadic.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARC/ARCISelLowering.cpp
M llvm/lib/Target/ARM/ARMCallingConv.cpp
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/GISel/BPFLegalizerInfo.cpp
M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonPostRAHandleQFP.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
M llvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.cpp
M llvm/lib/Target/PowerPC/PPCCallingConv.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
M llvm/lib/Target/X86/X86CallingConv.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/test/Analysis/CostModel/AArch64/arith.ll
M llvm/test/Analysis/CostModel/AArch64/mul.ll
M llvm/test/Analysis/CostModel/RISCV/fca-load-store.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
A llvm/test/Assembler/module-asm-invalid.ll
A llvm/test/Bitcode/Inputs/aarch64-memory-attribute-upgrade.bc
A llvm/test/Bitcode/Inputs/x86-memory-attribute-upgrade.bc
M llvm/test/Bitcode/compatibility-3.6.ll
M llvm/test/Bitcode/compatibility-3.7.ll
M llvm/test/Bitcode/compatibility-3.8.ll
M llvm/test/Bitcode/compatibility-3.9.ll
M llvm/test/Bitcode/compatibility-4.0.ll
M llvm/test/Bitcode/compatibility-5.0.ll
M llvm/test/Bitcode/compatibility-6.0.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/highLevelStructure.3.2.ll
A llvm/test/Bitcode/module-asm.ll
A llvm/test/Bitcode/target-memory-attribute.ll
R llvm/test/CodeGen/AArch64/GlobalISel/combine-max-min.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
A llvm/test/CodeGen/AArch64/i128-imm-compare-ccmp.ll
M llvm/test/CodeGen/AArch64/isinf.ll
M llvm/test/CodeGen/AArch64/machine-cp-spill-chain-across-call.mir
M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
M llvm/test/CodeGen/AArch64/regcoal-physreg.mir
M llvm/test/CodeGen/AArch64/stack-guard-width.ll
M llvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.offset-split.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
M llvm/test/CodeGen/AMDGPU/dead_bundle.mir
M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
M llvm/test/CodeGen/AMDGPU/greedy-global-heuristic.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-agpr-negative-tests.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av.mir
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill.mir
M llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-named-barrier.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load-exported.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization-alignment.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
M llvm/test/CodeGen/AMDGPU/memset-pattern.ll
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/ra-inserted-scalar-instructions.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/regalloc-fail-unsatisfiable-overlapping-tuple-hints.mir
R llvm/test/CodeGen/AMDGPU/regalloc-hoist-spill-live-range-upd.ll
A llvm/test/CodeGen/AMDGPU/regalloc-hoist-spill-live-range-upd.mir
M llvm/test/CodeGen/AMDGPU/regalloc-undef-copy-fold.mir
M llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
M llvm/test/CodeGen/AMDGPU/s-barrier.ll
M llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll
M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
M llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
M llvm/test/CodeGen/AMDGPU/splitkit-copy-live-lanes.mir
M llvm/test/CodeGen/AMDGPU/splitkit-do-not-undo-subclass-split-with-remat.mir
M llvm/test/CodeGen/AMDGPU/splitkit.mir
M llvm/test/CodeGen/AMDGPU/swdev502267-use-after-free-last-chance-recoloring-alloc-succeeds.mir
A llvm/test/CodeGen/Hexagon/autohvx/xqf-multi-conv.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-conv-double2.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-fakereg.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-subreg2.ll
A llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-subreg3.ll
A llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-warnings.ll
M llvm/test/CodeGen/Hexagon/reserved-regs.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sitofp.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/uitofp.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sitofp.ll
A llvm/test/CodeGen/MIR/AMDGPU/lr-split-flag.mir
A llvm/test/CodeGen/NVPTX/intrinsic-immarg-print-mismatched-signature.ll
M llvm/test/CodeGen/PowerPC/mcp-elim-eviction-chain.mir
M llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll
M llvm/test/CodeGen/RISCV/make-compressible-for-store-address.mir
M llvm/test/CodeGen/RISCV/make-compressible-rv64.mir
M llvm/test/CodeGen/RISCV/make-compressible-xqci.mir
M llvm/test/CodeGen/RISCV/make-compressible-zbc-zhinx.mir
M llvm/test/CodeGen/RISCV/make-compressible-zbc.mir
M llvm/test/CodeGen/RISCV/make-compressible-zfinx.mir
M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
M llvm/test/CodeGen/RISCV/make-compressible.mir
A llvm/test/CodeGen/RISCV/module-asm-features.ll
M llvm/test/CodeGen/RISCV/pr176001.ll
A llvm/test/CodeGen/RISCV/rvp-reverse.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lmul-max.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/pr52475.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
M llvm/test/CodeGen/SPARC/bswap.ll
M llvm/test/CodeGen/SPIRV/instructions/scalar-integer-arithmetic.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fixed-point-math-i64.ll
A llvm/test/CodeGen/SPIRV/store-to-read-only-addrspace.ll
M llvm/test/CodeGen/SystemZ/call-zos-02.ll
M llvm/test/CodeGen/X86/AMX/amx-greedy-ra-spill-shape.ll
M llvm/test/CodeGen/X86/apx/foldmemory.mir
M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/divrem-by-select.ll
M llvm/test/CodeGen/X86/haddsub-undef.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/known-pow2.ll
M llvm/test/CodeGen/X86/legalize-vec-assertzext.ll
M llvm/test/CodeGen/X86/phaddsub-undef.ll
M llvm/test/CodeGen/X86/psadbw.ll
M llvm/test/CodeGen/X86/sad_variations.ll
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/CodeGen/X86/trunc-subvector.ll
M llvm/test/CodeGen/X86/ucmp.ll
M llvm/test/CodeGen/X86/udiv_fix.ll
M llvm/test/CodeGen/X86/udiv_fix_sat.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-reduce-add-zext.ll
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
A llvm/test/CodeGen/X86/x86-inst-tuning.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-movements.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-stackptr.mir
M llvm/test/Instrumentation/DataFlowSanitizer/prefix-rename.ll
A llvm/test/LTO/RISCV/module-asm.ll
M llvm/test/LTO/X86/inline-asm-lto-discard.ll
A llvm/test/Linker/Inputs/module-asm.ll
M llvm/test/Linker/link-arm-and-thumb-module-inline-asm.ll
A llvm/test/Linker/module-asm.ll
M llvm/test/MC/RISCV/invalid-attribute.s
A llvm/test/MC/RISCV/rvy-build-attributes.s
A llvm/test/MC/RISCV/rvy-invalid-attributes.s
M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
M llvm/test/TableGen/MacroFusion.td
M llvm/test/ThinLTO/X86/import-symver.ll
M llvm/test/Transforms/Attributor/nofpclass-ldexp.ll
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
A llvm/test/Transforms/Inline/X86/always-inline-features.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/add4.ll
A llvm/test/Transforms/InstCombine/fptoui-of-fdiv.ll
A llvm/test/Transforms/InstCombine/frexp-implied-exponent-range-dominating-conditions.ll
A llvm/test/Transforms/InstCombine/insert-element-shuffle-vector-debugloc.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/pr53357.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-ldexp.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstSimplify/cast.ll
A llvm/test/Transforms/InstSimplify/vector-interleave-deinterleave.ll
A llvm/test/Transforms/JumpTableToSwitch/callee-type-mismatch.ll
A llvm/test/Transforms/LICM/AArch64/sme-fp8-hoist.ll
M llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
A llvm/test/Transforms/LoopVectorize/early_exit_combined_exits.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
M llvm/test/Transforms/LowerTypeTests/export-symver.ll
A llvm/test/Transforms/MergeICmps/X86/dbgloc-branches.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/countable-and-uncountable-exits-combined.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable-operands-reordering.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-node-with-in-order-parent.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-before-main.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-with-removed-extracts.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/x86/module-asm.ll
A llvm/test/Verifier/NVPTX/tensormap-replace.ll
A llvm/test/tools/llubi/intr_experimental_vector.ll
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
M llvm/tools/llvm-xray/xray-stacks.cpp
M llvm/unittests/ADT/TwineTest.cpp
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/CodeGen/MachineOperandTest.cpp
M llvm/unittests/IR/DominatorTreeTest.cpp
M llvm/unittests/SandboxIR/PassTest.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
M llvm/unittests/Support/LEB128Test.cpp
M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/UpdateTestChecks/mir.py
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ObjectYAML/BUILD.gn
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/TableGen/Format.h
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/MemRef/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TargetEnv.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/lib/TableGen/Format.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/Conversion/ArithToAMDGPU/scaling-truncf-tensor.mlir
M mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-attach-target.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
M mlir/test/Target/LLVMIR/Import/nvvmir.ll
M mlir/test/Target/LLVMIR/module-asm.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
M offload/unittests/OffloadAPI/program/olCreateProgram.cpp
M orc-rt/include/orc-rt/SimplePackedSerialization.h
M orc-rt/unittests/SimplePackedSerializationTest.cpp
M polly/lib/External/isl/isl_union_map.c
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
M utils/docs/llvm_sphinx/__init__.py
Log Message:
-----------
Rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/1f07a60720d5...4ddf6a9fe10f
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