[all-commits] [llvm/llvm-project] 07aa3b: [SLP] Only consider BuildVector inserts into the s...
Stanislav Mekhanoshin via All-commits
all-commits at lists.llvm.org
Mon Jul 27 14:06:06 PDT 2026
Branch: refs/heads/users/rampitec/use-scalars-in-pk-u64
Home: https://github.com/llvm/llvm-project
Commit: 07aa3b710f2622f662cab7a53ddf1288c725a9be
https://github.com/llvm/llvm-project/commit/07aa3b710f2622f662cab7a53ddf1288c725a9be
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/buildvector-used-by-insertvalue.ll
Log Message:
-----------
[SLP] Only consider BuildVector inserts into the same object. (#212269)
When following insertelement instruction for a BuildVector sequence, we
may discover a user that inserts into a different vector.
Bail out when that happens instead of crashing.
PR: https://github.com/llvm/llvm-project/pull/212269
Commit: e59df8e339bc5bc07991e0a67d3d0cb8c25a94c2
https://github.com/llvm/llvm-project/commit/e59df8e339bc5bc07991e0a67d3d0cb8c25a94c2
Author: Diego Novillo <dnovillo at nvidia.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-array-skip-element-not-in-regs.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-array.ll
Log Message:
-----------
[SPIRV] Emit NonSemantic DebugTypeArray. (#211537)
This PR adds `DebugTypeArray` to `SPIRVNonSemanticDebugHandler`:
1. `partitionTypes` buckets `DICompositeType` nodes tagged
`DW_TAG_array_type` without `DINode::FlagVector` (vectors are emitted
separately).
2. `emitNonSemanticGlobalDebugInfo` emits one `DebugTypeArray` per node
after the pointer types and records the id in `DebugTypeRegs`.
3. `emitDebugTypeArray` appends one `OpConstant` component count per
`DISubrange`, in subrange order. A subrange with no constant count emits
0, matching `OpTypeRuntimeArray`. An array whose element type is not in
`DebugTypeRegs` is skipped.
Clang lowers a matrix to a `DW_TAG_array_type` with two subranges in
`CGDebugInfo::CreateType(const ConstantMatrixType *)`, so an HLSL
`float4x4` emits as a `DebugTypeArray` with two counts.
`DebugTypeMatrix` needs a distinguishing flag from the frontend.
Added a couple of tests in `llvm/test/CodeGen/SPIRV/debug-info/`:
1. `debug-type-array.ll` covers a 1D array, a 2D array, a runtime-sized
array, and an array of vectors, and asserts that we are not emitting
`DebugTypeMatrix` (this will need to be changed when/if we start
emitting them).
2. `debug-type-array-skip-element-not-in-regs.ll` tests arrays of types
that cannot have debug info (I used array of pointers wit no DWARF
address space).
Commit: 2a323d5bb13890cc0667d5e21e43f41020f4f606
https://github.com/llvm/llvm-project/commit/2a323d5bb13890cc0667d5e21e43f41020f4f606
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/lib/ProfileData/SampleProf.cpp
Log Message:
-----------
[ProfileData] Make FunctionSamples profile-format flags atomic (#208964)
`lld/test/ELF/lto/sample-profile.ll` is failing in ThreadSanitizer
build.
In a parallel in-process ThinLTO link, each backend thread reads the
sample profile in SampleProfileLoader::doInitialization and writes these
globals.
Make the variables std::atomic<bool> so the same-value writes are
well-defined. An architectural ideal solution that holds these states in
a container seems very intrusive.
Commit: b8bd63c69c83bc13b31e808f9b7d84a562251396
https://github.com/llvm/llvm-project/commit/b8bd63c69c83bc13b31e808f9b7d84a562251396
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Passes.h
M flang/include/flang/Optimizer/OpenACC/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/FrontendActions.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCEmitNYIFlang.cpp
M flang/lib/Optimizer/OpenACC/Transforms/ACCInitializeFIRAnalyses.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCPipeline.cpp
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Passes/Pipelines.cpp
A flang/test/Driver/openacc-nyi.f90
A flang/test/Transforms/OpenACC/acc-emit-nyi-flang.fir
Log Message:
-----------
[flang][acc] Emit NYI messages for unsupported directives (#211894)
Add an OpenACC MLIR pass that emits not-yet-implemented messages for
unsupported directives immediately after HLFIR generation. This allows
OpenACC dialect operations to be emitted with -emit-hlfir while making
full compilation fail early with clear diagnostics, instead of later
when unhandled OpenACC operations reach LLVM dialect conversion.
Commit: 41a5357e389b3c04d4c44631360dd3661488c629
https://github.com/llvm/llvm-project/commit/41a5357e389b3c04d4c44631360dd3661488c629
Author: AZero13 <gfunni234 at gmail.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaType.cpp
M clang/test/CXX/drs/cwg14xx.cpp
A clang/test/SemaCXX/qualified-function-typeof.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][Sema] Allow abstract declarators to specify cv-qualified function types as per CWG1417 (#209836)
Abstract declarator contexts (specifically `DeclaratorContext::TypeName`) now properly bypass this restricted rule, allowing cv-qualified function types in `__typeof__` while maintaining restrictions in other contexts like `typeid`, `sizeof`, C-style casts, and `new` expressions per CWG1417.
Commit: 5565740f2367093b89481ba7371adf820971977d
https://github.com/llvm/llvm-project/commit/5565740f2367093b89481ba7371adf820971977d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.h
A lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s
Log Message:
-----------
[lld] Don't drop RELR relocations for late-added GOT entries (#211911)
In #208959 we started dropping RELR relocations for late-added GOT
entries when reverting x86-64 GOTPCRELX relaxations in
X86_64::relaxOnce.
There is a separate unrelaxation bug where if the object files didn't
have any relocations of a certain type, we'd prune .relr.dyn (or even
.rela.dyn). Will be addressed separately.
Assisted-by: Gemini
Commit: ad791f26ef495dbc2c3c6c283518872697210898
https://github.com/llvm/llvm-project/commit/ad791f26ef495dbc2c3c6c283518872697210898
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
Log Message:
-----------
[scudo] Test to verify fork and allocate does not deadlock. (#211975)
Commit: 751eb22c1b835b675166e4936a93f903b952f28f
https://github.com/llvm/llvm-project/commit/751eb22c1b835b675166e4936a93f903b952f28f
Author: David Green <david.green at arm.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-switch-bittest.ll
M llvm/test/CodeGen/AArch64/GlobalISel/ret-vec-promote.ll
M llvm/test/CodeGen/AArch64/GlobalISel/vec-param.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/store-weird-size.ll
Log Message:
-----------
[AArch64][GlobalISel] Use integer type for truncating merged call args. (#212208)
Commit: 02da01251156c831a54417d4882aad7226cdbbe1
https://github.com/llvm/llvm-project/commit/02da01251156c831a54417d4882aad7226cdbbe1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-27 (Mon, 27 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/test/TableGen/ProcessorAlias.td
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:
-----------
TableGen: Use a compact table for CPU aliases (#211952)
Commit: b9a7aad4a9d50b9ec60b59d197be43a973a0572c
https://github.com/llvm/llvm-project/commit/b9a7aad4a9d50b9ec60b59d197be43a973a0572c
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows/release-tasks: Fix permissions for release-documentation (#212310)
Commit: 0600aeae3ba6c41da80bbb84c10f1cad4c9a58ba
https://github.com/llvm/llvm-project/commit/0600aeae3ba6c41da80bbb84c10f1cad4c9a58ba
Author: David Green <david.green at arm.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll
Log Message:
-----------
[AArch64][GlobalISel] Use integer types for inline assembly lowering (#212214)
If we need to generate a trunc then we can use an integer type for the
lowering.
Commit: 7336a38e5c6dea03c243bb37b44a2207471e63d3
https://github.com/llvm/llvm-project/commit/7336a38e5c6dea03c243bb37b44a2207471e63d3
Author: rdevshp <rdevshp at gmail.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M clang/lib/AST/TypeLoc.cpp
A clang/test/SemaCXX/atomic-auto.cpp
Log Message:
-----------
[clang] Add missing VisitAtomicTypeLoc to TypeLoc.cpp GetContainedAutoTypeLocVisitor (#211752)
Adds the missing `VisitAtomicTypeLoc` method to TypeLoc.cpp `GetContainedAutoTypeLocVisitor`.
Fixes: https://github.com/llvm/llvm-project/issues/211556 ICE.
Assisted-by: Codex
Commit: 68e94c904067b1b984c6b337819633aee9f0c7da
https://github.com/llvm/llvm-project/commit/68e94c904067b1b984c6b337819633aee9f0c7da
Author: Benedek Kaibas <82393336+benedekaibas at users.noreply.github.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/DanglingPtrDeref.cpp
M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.h
M clang/test/Analysis/dangling-ptr-deref.cpp
Log Message:
-----------
[analyzer] Improve dangling value tracking in DanglingPtrDeref (#211818)
Improve dangling value tracking in the `DanglingPtrDeref` checker by
adding `trackExpressionValue`. The report with this change now tracks
the dangling value and shows where the value originated from. Currently
the checker only points at the destruction and use sites which isn't
always useful for the user.
Commit: f83fcfbdc7fc1bee6ebf242b110a5c2b46703ae9
https://github.com/llvm/llvm-project/commit/f83fcfbdc7fc1bee6ebf242b110a5c2b46703ae9
Author: Florian Mayer <fmayer at google.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
A llvm/test/CodeGen/MIR/X86/machine-verifier-nophi.mir
Log Message:
-----------
[MachineVerifier] do not use !NoPHI to check if a MF has phi nodes (#211941)
We were violating the property expressed in MachineFunction.h:
```
The properties are stated in "positive" form; i.e. a pass could require
that the property hold, but not that it does not hold.
```
Resolves a false positive "MBB has allocatable live-in, [...]" error in
our downstream target.
Commit: 79ea87c8da20263fa54c9f60b4befb3a9bf962cf
https://github.com/llvm/llvm-project/commit/79ea87c8da20263fa54c9f60b4befb3a9bf962cf
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-07-28 (Tue, 28 Jul 2026)
Changed paths:
M llvm/test/tools/llubi/attribute_noundef_ub.ll
M llvm/test/tools/llubi/attributes.ll
M llvm/test/tools/llubi/bitcast_be.ll
M llvm/test/tools/llubi/bitcast_le.ll
A llvm/test/tools/llubi/bytes_poison.ll
A llvm/test/tools/llubi/bytes_undef.ll
M llvm/test/tools/llubi/freeze.ll
M llvm/test/tools/llubi/global.ll
M llvm/test/tools/llubi/load_noundef_ub_undef.ll
M llvm/test/tools/llubi/loadstore_be.ll
M llvm/test/tools/llubi/loadstore_le.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Add support for byte types (#200672)
This patch implements the support for byte types. The byte order depends
on the endianness for better performance in the fast path. For
non-byte-sized byte types, high bits are zeroed out.
Commit: a41a3359ec24f019a5a9576631228f0314be38a6
https://github.com/llvm/llvm-project/commit/a41a3359ec24f019a5a9576631228f0314be38a6
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/CUDA/cuf02.cuf
Log Message:
-----------
[flang][cuda] Do not check dummy in stmt function in device code (#212037)
Commit: 289a2d901a480e3c0ba8aac80c40f2fcd768506f
https://github.com/llvm/llvm-project/commit/289a2d901a480e3c0ba8aac80c40f2fcd768506f
Author: Stephen Long <63318318+steplong at users.noreply.github.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
A mlir/test/Dialect/Linalg/block-pack-matmul-scalable.mlir
Log Message:
-----------
[mlir][LinalgBlockPackMatmul] Add support for scalable block factors (#211354)
Assisted by: Claude Sonnet 4.6
---------
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>
Commit: a950d4a527311fbfe202d563331f133400fd2c5e
https://github.com/llvm/llvm-project/commit/a950d4a527311fbfe202d563331f133400fd2c5e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
Log Message:
-----------
AMDGPU: Use uint8_t for IsaVersion fields (#212311)
Commit: 460dbfc7ec59a89cc80f7c03879f60278ec2a6c4
https://github.com/llvm/llvm-project/commit/460dbfc7ec59a89cc80f7c03879f60278ec2a6c4
Author: Sean Clarke <sclarke at tenstorrent.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
Log Message:
-----------
[HashRecognize] Use loop latch to determine step/start for conditional recurrence (#211916)
The function `matchConditionalRecurrence` iterates over both PHI inputs
and attempts to match each one to determine which is `Start` and which
is `Step`. However, some of the failure conditions in the loop `return
false`, which has the potential to classify some valid CRC loops as not
having a conditional recurrence. The loop here is not really needed at
all-- instead, use `L.getLoopLatch()` to determine `Start`/`Step`, since
the incoming value from the latch block will always be the `Step`. This
also avoids the aforementioned false negative classifications.
Assisted-by: Claude Opus 5
Commit: c2b22642d289413e136da29eaa1ce176ce438484
https://github.com/llvm/llvm-project/commit/c2b22642d289413e136da29eaa1ce176ce438484
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
Log Message:
-----------
[AArch64][MacroFusion] Add per cluster kind statistic (#212103)
So we can easily differentiate between different cluster kinds on
AArch64 backend.
Commit: bd7bb26108bd86eeeef0962577b52d0f435a7ac3
https://github.com/llvm/llvm-project/commit/bd7bb26108bd86eeeef0962577b52d0f435a7ac3
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/AST/RecordLayout.h
M clang/lib/AST/RecordLayout.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
A clang/test/Layout/ms-arm64-aligned-base-tail-padding.cpp
Log Message:
-----------
[clang] Match MSVC ABI for over-aligned base tail padding on Arm64 (#210461)
When targeting aarch64-pc-windows-msvc, clang laid out a base following
an over-aligned, non-standard-layout base at the wrong offset. MSVC on
Arm64 reuses the over-aligned base's tail padding for the subsequent
base, but clang rounded the base up to a full slot, so the two disagreed
on member offsets, breaking interop between clang- and MSVC-built
binaries.
Fix: store each record's natural non-virtual alignment (excluding
`alignas`/`__declspec(align)` over-alignment) as
`getNonRequiredNVAlignment()`, and on Arm64 fold in a base's natural
alignment rather than its full alignment. This is gated to Arm64 only;
Arm64EC and x64 follow the x64 rule (no reuse) and are unchanged.
Validated against MSVC (Hostx64\arm64\cl.exe
/d1reportSingleClassLayout): clang now matches MSVC Arm64 exactly for
the reduced repro, the original polymorphic case (vftable + empty base +
template), and a range of probe cases covering natural vs.
over-alignment padding and field vs. base reuse. Arm64EC and x64 output
is byte-identical to before.
Fixes #210174
Commit: 4d14e9641ddf38d4b6cc2dbb5c882135d94c68c1
https://github.com/llvm/llvm-project/commit/4d14e9641ddf38d4b6cc2dbb5c882135d94c68c1
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][MathToSPIRV] Allow math.cttz lowering for non-i32 integer widths (#206400)
Co-authored-by: Igor Wodiany <dev at wodiany.com>
Commit: c881d81f6b189f14c56c9bec8842ddba6255d0e5
https://github.com/llvm/llvm-project/commit/c881d81f6b189f14c56c9bec8842ddba6255d0e5
Author: Rafael Auler <rafaelauler at meta.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/lib/Rewrite/SDTRewriter.cpp
Log Message:
-----------
[BOLT] Release pseudo-probe decoder after emit (#211935)
PseudoProbeRewriter builds sizable data structures and then hold onto
them after they are needed.
PseudoProbeRewriter::postEmitFinalizer() parses the input .pseudo_probe
sections into an MCPseudoProbeDecoder whose address-to-probe and
GUID-to-function-desc maps can be very large (tens of GiB on big
binaries with many probes). This is not used again once probes have been
updated, yet they survive into the memory-heavy DWARF rewrite
(updateDebugInfo), directly inflating BOLT's peak RSS at the worst
possible time.
This frees them at the end of the postEmitFinalizer() calls, before
updateDebugInfo runs.
Stacked on top of the .dwo DIE diff, in large binaries you should
observe ~17% peak RSS wins if your
build uses pseudo probe maps.
Commit: 63e60a2853b1ff6fdac3cbaf668e2d2a63d51fae
https://github.com/llvm/llvm-project/commit/63e60a2853b1ff6fdac3cbaf668e2d2a63d51fae
Author: Rafael Auler <rafaelauler at meta.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
A bolt/test/X86/jump-table-empty-block-strict.s
Log Message:
-----------
[BOLT] Fix strict mode bug in removal of block referenced by JT (#211940)
Summary:
BOLT can create a jump table object from a PC-relative operand reference
(e.g. leaq JT(%rip)) whenever the referenced memory looks like a PIC
jump table -- see
BinaryContext::handleAddressRef. This is independent of whether BOLT
recognizes the indirect jump dispatch itself. The jump table annotation
is only attached to the jmp instruction later, in
BinaryFunction::analyzeIndirectBranch, and only when the target-specific
analyzeIndirectBranch matcher recognizes the dispatch pattern.
If the matcher does not recognize the pattern, the annotation is never
attached to the jmp, even though the jump table object and its entries
exist and reference basic blocks in the function.
In strict mode BOLT still fully processes such a function: it stays
simple, the block is marked as having unknown control flow, and the jump
table object is kept intact. Because the terminator carries no jump
table annotation, BinaryBasicBlock::hasJumpTable() returns false for it.
Later passes then transform the function normally: remove-nops can empty
a jump table target block that consists only of nops, and NormalizeCFG
then redirects the block's predecessor and deletes the empty block - it
does not recognize the block as a jump table target, since the
predecessor's hasJumpTable() is false. The jump table object still
references the deleted block by label, which produces an "Undefined
temporary symbol" error and fails emission.
Fix NormalizeCFG so it does not redirect/remove a block whose
predecessor ends in an indirect branch, not only one flagged by
hasJumpTable().
Commit: 767716657985094ce2e73eafe87d5fa8a24ac843
https://github.com/llvm/llvm-project/commit/767716657985094ce2e73eafe87d5fa8a24ac843
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Kernel.h
M offload/plugins-nextgen/level_zero/src/L0Queue.cpp
Log Message:
-----------
[OFFLOAD][L0] Fix zero argurment kernel launch (#212296)
PR #205224 changed the path for kernels with no arguments to not use
appendLaunchKernelWithArgs, while at the same time it removed
zeKernelSetGroupSize which resulted in incorrect sizing of the kernel.
This PR removes the alternate path and makes sure all launches go
through appendLaunchKernelWithArgs.
Alternatively we can restore zeKernelSetGroupSize on the alternate path.
Commit: 6534ceefd231771466abc9c388b93bb8b0913316
https://github.com/llvm/llvm-project/commit/6534ceefd231771466abc9c388b93bb8b0913316
Author: Sirraide <aeternalmail at gmail.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M clang/include/clang/Basic/OptionalUnsigned.h
Log Message:
-----------
[Clang] [NFC] Update OptionalUnsigned ctor to only reject signed integers (#212321)
Currently, the `OptionalUnsigned(int) = delete;` constructor means that
constructing e.g. an `OptionalOrUnsigned<uint64_t>` from an `unsigned`
fails because overload resolution is ambiguous (because `unsigned` ->
`int` and `unsigned` -> `uint64_t` are both valid conversions). This
patch adds a constraint to make sure the deleted constructor only
catches signed integer types.
This is needed for #212319.
Commit: 864f9a09887559491ef3f7ad39d57c703bc14f40
https://github.com/llvm/llvm-project/commit/864f9a09887559491ef3f7ad39d57c703bc14f40
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate C# UTF 8 string literals (#211919)
Fixes #210506
Commit: 34c7c5ccca260c695d6b212a06c0e620d494adb4
https://github.com/llvm/llvm-project/commit/34c7c5ccca260c695d6b212a06c0e620d494adb4
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[AMDGPU][NFC] Rename packed instruction helper functions for clarity (#211933)
Renames packed instruction helper functions to better reflect their
purpose:
- isPackedFP32or64BitInst → isSingleSGPRReadInst
- isLegalGFX12PlusPackedMathFP32or64BitOperand → isLegalSingleSGPRReadInstOperand
Commit: cef8432f7d149ef4e5888e29ff4d39ea580a806c
https://github.com/llvm/llvm-project/commit/cef8432f7d149ef4e5888e29ff4d39ea580a806c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/scalarize-masked-call.ll
Log Message:
-----------
[VPlan] Account for masked VPInstructions in getIntrinsicID. (#212234)
getIntrinsicID may be called with masked VPInstructions. Update to skip
the mask, which is always the last operand.
Fixes https://github.com/llvm/llvm-project/issues/212165.
PR: https://github.com/llvm/llvm-project/pull/212234
Commit: aa8942dbf406e9e4c0cae84a6567dac37fac57c6
https://github.com/llvm/llvm-project/commit/aa8942dbf406e9e4c0cae84a6567dac37fac57c6
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M llvm/docs/AMDGPUDMAOperations.md
Log Message:
-----------
[Docs][AMDGPU] Eliminate incorrect use of double backticks [NFC] (#212343)
Commit: 30bff76d3a294fe0882a05472234b25bb752b16a
https://github.com/llvm/llvm-project/commit/30bff76d3a294fe0882a05472234b25bb752b16a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
Log Message:
-----------
[flang][cuda] Do not emit cuf.register_variable_static for device/constant under unified mode (#212344)
Commit: afd4d7be30be91dbc6077f94a01942971f2bfc65
https://github.com/llvm/llvm-project/commit/afd4d7be30be91dbc6077f94a01942971f2bfc65
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M .github/workflows/release-tasks.yml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/lib/Rewrite/SDTRewriter.cpp
A bolt/test/X86/jump-table-empty-block-strict.s
M clang/docs/ReleaseNotes.md
M clang/include/clang/AST/RecordLayout.h
M clang/include/clang/Basic/OptionalUnsigned.h
M clang/lib/AST/RecordLayout.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Sema/SemaType.cpp
M clang/lib/StaticAnalyzer/Checkers/DanglingPtrDeref.cpp
M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.h
M clang/test/Analysis/dangling-ptr-deref.cpp
M clang/test/CXX/drs/cwg14xx.cpp
A clang/test/Layout/ms-arm64-aligned-base-tail-padding.cpp
A clang/test/SemaCXX/atomic-auto.cpp
A clang/test/SemaCXX/qualified-function-typeof.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/www/cxx_dr_status.html
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Optimizer/OpenACC/Passes.h
M flang/include/flang/Optimizer/OpenACC/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCEmitNYIFlang.cpp
M flang/lib/Optimizer/OpenACC/Transforms/ACCInitializeFIRAnalyses.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCPipeline.cpp
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/lib/Semantics/check-call.cpp
A flang/test/Driver/openacc-nyi.f90
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Semantics/CUDA/cuf02.cuf
A flang/test/Transforms/OpenACC/acc-emit-nyi-flang.fir
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.h
A lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s
M llvm/docs/AMDGPUDMAOperations.md
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-switch-bittest.ll
M llvm/test/CodeGen/AArch64/GlobalISel/ret-vec-promote.ll
M llvm/test/CodeGen/AArch64/GlobalISel/vec-param.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/store-weird-size.ll
A llvm/test/CodeGen/MIR/X86/machine-verifier-nophi.mir
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-array-skip-element-not-in-regs.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-array.ll
M llvm/test/TableGen/ProcessorAlias.td
M llvm/test/Transforms/LoopVectorize/scalarize-masked-call.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/buildvector-used-by-insertvalue.ll
M llvm/test/tools/llubi/attribute_noundef_ub.ll
M llvm/test/tools/llubi/attributes.ll
M llvm/test/tools/llubi/bitcast_be.ll
M llvm/test/tools/llubi/bitcast_le.ll
A llvm/test/tools/llubi/bytes_poison.ll
A llvm/test/tools/llubi/bytes_undef.ll
M llvm/test/tools/llubi/freeze.ll
M llvm/test/tools/llubi/global.ll
M llvm/test/tools/llubi/load_noundef_ub_undef.ll
M llvm/test/tools/llubi/loadstore_be.ll
M llvm/test/tools/llubi/loadstore_le.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
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
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
A mlir/test/Dialect/Linalg/block-pack-matmul-scalable.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
M offload/plugins-nextgen/level_zero/include/L0Kernel.h
M offload/plugins-nextgen/level_zero/src/L0Queue.cpp
Log Message:
-----------
Merge branch 'main' into users/rampitec/use-scalars-in-pk-u64
Compare: https://github.com/llvm/llvm-project/compare/f552374eccda...afd4d7be30be
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