[all-commits] [llvm/llvm-project] 06c0d1: [flang][acc] Remove dangling operands in OpenACCUt...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Jul 9 10:18:29 PDT 2026


  Branch: refs/heads/users/alexey-bataev/spr/slp-support-faddfsub-as-interchangeable-instructions
  Home:   https://github.com/llvm/llvm-project
  Commit: 06c0d1b70402c1c55cdb1975b2a43148dd4fe646
      https://github.com/llvm/llvm-project/commit/06c0d1b70402c1c55cdb1975b2a43148dd4fe646
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
    M mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir

  Log Message:
  -----------
  [flang][acc] Remove dangling operands in OpenACCUtilsTiling  (#208261)

When TILE has more dimensions than the loop's collapse count,
uncollapseLoops() synthesizes an inner loop via `createInnerLoop()`,
which
strips gang attributes from it but forgot to clear the gang operand
values. This left the loop with a non-empty gang operand list but no
device-type attribute, causing LoopOp::getGangValue() to dereference a
null attribute and crash with an assertion failure when the loop also
had
`GANG(STATIC:N) (or NUM/DIM)`.

Fix: also clear the gang operands when stripping gang attributes, so the
loop ends up fully gang-free.


  Commit: 8a8178e2b89fb649c6f1a11ed0d827f3b5ddfc25
      https://github.com/llvm/llvm-project/commit/8a8178e2b89fb649c6f1a11ed0d827f3b5ddfc25
  Author: disservin <disservin.social at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/lib/Parse/ParseStmt.cpp

  Log Message:
  -----------
  [clang][NFC] Fix enum/non-enum conditional warning in ParseStmt Followup (#207503)

Missed two other cases, so a follow up to
https://github.com/llvm/llvm-project/pull/207085


  Commit: d68ad9ab736ec65a8addc67655a6b290a7f98307
      https://github.com/llvm/llvm-project/commit/d68ad9ab736ec65a8addc67655a6b290a7f98307
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/PointerIntPair.h
    M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
    M llvm/include/llvm/CGData/CodeGenData.h
    M llvm/include/llvm/CodeGen/LiveInterval.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h
    M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/ProfileSummary.h
    M llvm/include/llvm/Passes/OptimizationLevel.h
    M llvm/include/llvm/Support/Alignment.h
    M llvm/lib/CGData/CodeGenData.cpp
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
    M llvm/lib/CodeGen/InterferenceCache.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    M llvm/lib/CodeGen/LiveIntervalCalc.cpp
    M llvm/lib/CodeGen/LiveRangeCalc.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
    M llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
    M llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp
    M llvm/lib/IR/ModuleSummaryIndex.cpp
    M llvm/lib/Object/MachOUniversalWriter.cpp
    M llvm/lib/Passes/OptimizationLevel.cpp
    M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/unittests/CodeGen/InstrRefLDVTest.cpp

  Log Message:
  -----------
  [LLVM][NFC] Remove some global constructors (#208407)

Largely by converting relevant functions or variables to constexpr,
changing the type, converting to static locals, or by outright removal.

PunnedPointer assignment can never be constexpr, because std::memcpy is
not constexpr and type punning is not permitted in a constant-evaluated
context.


  Commit: 5f896d9aefff377596bea73fd46aa435860c4ff8
      https://github.com/llvm/llvm-project/commit/5f896d9aefff377596bea73fd46aa435860c4ff8
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    R flang/test/Lower/OpenMP/collapse-imperfect-nest.f90
    R flang/test/Lower/OpenMP/collapse-loop-transform.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse-60.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do10.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do22.f90
    R flang/test/Semantics/OpenMP/doacross-nesting-omp60.f90
    R flang/test/Semantics/OpenMP/ordered-nesting-omp50.f90
    R flang/test/Semantics/OpenMP/ordered-nesting-omp51.f90

  Log Message:
  -----------
  Revert "[flang][OpenMP] Implement collapse for imperfectly nested loops" (#208456)

Reverts llvm/llvm-project#202435


  Commit: 365790a7985e9566927c74ca580b7bddb852182a
      https://github.com/llvm/llvm-project/commit/365790a7985e9566927c74ca580b7bddb852182a
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    A llvm/test/CodeGen/SPIRV/linkage/link-attribute-numeric-name.ll
    A llvm/test/CodeGen/SPIRV/linkage/nameless-kernel-error.ll

  Log Message:
  -----------
  [SPIR-V] Fix truncated LinkageAttributes OpDecorate for numeric-named functions (#207332)

LLVM IR allows functions with numeric names (e.g. `@0`). There function
return empty strings on `getName()`, so emitting a `LinkageAttributes`
decoration for it is meaningless.

Fix: skip emitting the `LinkageAttributes` decoration for non-entry
functions with an empty name. Also add a `report_fatal_error` for the
case where an entry point function has no name, since that is invalid
input.


  Commit: 2f79efa26e25e31f99baf4c860d8d58e833cb161
      https://github.com/llvm/llvm-project/commit/2f79efa26e25e31f99baf4c860d8d58e833cb161
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_image_int64/image_int64.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll

  Log Message:
  -----------
  [SPIR-V] Tie Int64ImageEXT to R64i/R64ui image format, not sampled type (#203005)

The capability is required by the R64i/R64ui Image Format per
SPV_EXT_shader_image_int64 spec, not by a 64-bit integer sampled type

Related SPIRV-LLVM-Translator PR that fixes this issue there:
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/3773


  Commit: f98afd6d04d7091673b745e1c4b47643812075be
      https://github.com/llvm/llvm-project/commit/f98afd6d04d7091673b745e1c4b47643812075be
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    A clang/docs/HIPSupport.md
    R clang/docs/HIPSupport.rst
    A clang/docs/HLSL/HLSLDocs.md
    R clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/InternalsManual.rst
    A clang/docs/LTOVisibility.md
    R clang/docs/LTOVisibility.rst
    A clang/docs/MSVCCompatibility.md
    R clang/docs/MSVCCompatibility.rst
    A clang/docs/MisExpect.md
    R clang/docs/MisExpect.rst
    A clang/docs/Modules.md
    R clang/docs/Modules.rst
    A clang/docs/OpenCLSupport.md
    R clang/docs/OpenCLSupport.rst
    A clang/docs/OpenMPSupport.md
    R clang/docs/OpenMPSupport.rst
    A clang/docs/OverflowBehaviorTypes.md
    R clang/docs/OverflowBehaviorTypes.rst
    A clang/docs/PointerAuthentication.md
    R clang/docs/PointerAuthentication.rst
    A clang/docs/SYCLSupport.md
    R clang/docs/SYCLSupport.rst
    A clang/docs/SafeStack.md
    R clang/docs/SafeStack.rst
    A clang/docs/SanitizerSpecialCaseList.md
    R clang/docs/SanitizerSpecialCaseList.rst
    A clang/docs/SanitizerStats.md
    R clang/docs/SanitizerStats.rst
    A clang/docs/ShadowCallStack.md
    R clang/docs/ShadowCallStack.rst
    A clang/docs/SourceBasedCodeCoverage.md
    R clang/docs/SourceBasedCodeCoverage.rst
    A clang/docs/StandardCPlusPlusModules.md
    R clang/docs/StandardCPlusPlusModules.rst
    A clang/docs/StructureProtection.md
    R clang/docs/StructureProtection.rst
    A clang/docs/ThinLTO.md
    R clang/docs/ThinLTO.rst
    A clang/docs/UsersManual.md
    R clang/docs/UsersManual.rst
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/test/CodeGen/ubsan-type-ignorelist-category.test

  Log Message:
  -----------
  [clang][docs] Rename selected Clang docs {.rst,.md} (#208307)

Tracking issue: https://github.com/llvm/llvm-project/issues/201242
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840

This is a rename-only commit that will temporarily break the docs build,
but it will fix after the follow-up PR lands.


  Commit: 2e81babdf17d29d2b7e833137f92a598f76a8cbb
      https://github.com/llvm/llvm-project/commit/2e81babdf17d29d2b7e833137f92a598f76a8cbb
  Author: Stefan Mada <smada at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td

  Log Message:
  -----------
  [NVVM][MLIR] Fixed valgrind leak in MMAOp (#208063)

MmaOp::getIntrinsicID triggers an uninitialized-read warning under
Valgrind. `intOverflowBehavior` is optional; in the generated selector
its `has_value()` guarded access can be speculatively loaded before the
guard, reading the empty std::optional's uninitialized payload.

The read is benign: the payload is correctly stack-allocated but
uninitialized while empty, and the loaded value is discarded by the
guard, so this is not incorrect / undefined behavior.

This MR keeps the attribute as optional, but the lowering now resolves
it to a concrete value (wrapped when omitted) before calling
getIntrinsicID, so the selector always reads an initialized value.
`wrapped` matches the PTX spec and the existing lowering, where an
omitted attribute already selected the non-satfinite intrinsic;
intrinsic selection and printed IR are unchanged. Documentation updated
to correct the stale default.


  Commit: aaad8b002c0ba5f13d5930eae45cbaa1a00e946c
      https://github.com/llvm/llvm-project/commit/aaad8b002c0ba5f13d5930eae45cbaa1a00e946c
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/HIPSupport.md
    M clang/docs/HLSL/HLSLDocs.md
    M clang/docs/LTOVisibility.md
    M clang/docs/MSVCCompatibility.md
    M clang/docs/MisExpect.md
    M clang/docs/Modules.md
    M clang/docs/OpenCLSupport.md
    M clang/docs/OpenMPSupport.md
    M clang/docs/OverflowBehaviorTypes.md
    M clang/docs/PointerAuthentication.md
    M clang/docs/SYCLSupport.md
    M clang/docs/SafeStack.md
    M clang/docs/SanitizerSpecialCaseList.md
    M clang/docs/SanitizerStats.md
    M clang/docs/ShadowCallStack.md
    M clang/docs/SourceBasedCodeCoverage.md
    M clang/docs/StandardCPlusPlusModules.md
    M clang/docs/StructureProtection.md
    M clang/docs/ThinLTO.md
    M clang/docs/UsersManual.md

  Log Message:
  -----------
  [clang][docs] Rewrite 20 selected Clang docs from reST to Markdown (#208310)

Tracking issue: https://github.com/llvm/llvm-project/issues/201242
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
This change was produced with rst2myst plus LLM cleanups.

I manually paged through all of the linked HTML documents looking for
visual artifacts, and I fixed everything I found.

To reviewers: Please spot check the generated HTML below, and spot check
the diff to look for artifacts. This change is too large to review
everything line-by-line, but if you check 10 pages of documentation, and
only find one migration bug, I hope you think that this is good enough
to land. We have existing reST bugs that this fixes (mostly italic
blocks that should be code font spans).

-----

Links to the updated HTML for validation:

| Source file | Before HTML | After HTML |
|---|---|---|
| `clang/docs/UsersManual.md` |
[before](https://clang.llvm.org/docs/UsersManual.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/UsersManual.html)
|
| `clang/docs/SanitizerStats.md` |
[before](https://clang.llvm.org/docs/SanitizerStats.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/SanitizerStats.html)
|
| `clang/docs/SanitizerSpecialCaseList.md` |
[before](https://clang.llvm.org/docs/SanitizerSpecialCaseList.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/SanitizerSpecialCaseList.html)
|
| `clang/docs/OverflowBehaviorTypes.md` |
[before](https://clang.llvm.org/docs/OverflowBehaviorTypes.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/OverflowBehaviorTypes.html)
|
| `clang/docs/LTOVisibility.md` |
[before](https://clang.llvm.org/docs/LTOVisibility.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/LTOVisibility.html)
|
| `clang/docs/PointerAuthentication.md` |
[before](https://clang.llvm.org/docs/PointerAuthentication.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/PointerAuthentication.html)
|
| `clang/docs/SafeStack.md` |
[before](https://clang.llvm.org/docs/SafeStack.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/SafeStack.html)
|
| `clang/docs/ShadowCallStack.md` |
[before](https://clang.llvm.org/docs/ShadowCallStack.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/ShadowCallStack.html)
|
| `clang/docs/StructureProtection.md` |
[before](https://clang.llvm.org/docs/StructureProtection.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/StructureProtection.html)
|
| `clang/docs/SourceBasedCodeCoverage.md` |
[before](https://clang.llvm.org/docs/SourceBasedCodeCoverage.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/SourceBasedCodeCoverage.html)
|
| `clang/docs/StandardCPlusPlusModules.md` |
[before](https://clang.llvm.org/docs/StandardCPlusPlusModules.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/StandardCPlusPlusModules.html)
|
| `clang/docs/Modules.md` |
[before](https://clang.llvm.org/docs/Modules.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/Modules.html)
|
| `clang/docs/MSVCCompatibility.md` |
[before](https://clang.llvm.org/docs/MSVCCompatibility.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/MSVCCompatibility.html)
|
| `clang/docs/MisExpect.md` |
[before](https://clang.llvm.org/docs/MisExpect.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/MisExpect.html)
|
| `clang/docs/OpenCLSupport.md` |
[before](https://clang.llvm.org/docs/OpenCLSupport.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/OpenCLSupport.html)
|
| `clang/docs/OpenMPSupport.md` |
[before](https://clang.llvm.org/docs/OpenMPSupport.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/OpenMPSupport.html)
|
| `clang/docs/SYCLSupport.md` |
[before](https://clang.llvm.org/docs/SYCLSupport.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/SYCLSupport.html)
|
| `clang/docs/HIPSupport.md` |
[before](https://clang.llvm.org/docs/HIPSupport.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/HIPSupport.html)
|
| `clang/docs/HLSL/HLSLDocs.md` |
[before](https://clang.llvm.org/docs/HLSL/HLSLDocs.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/HLSL/HLSLDocs.html)
|
| `clang/docs/ThinLTO.md` |
[before](https://clang.llvm.org/docs/ThinLTO.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/ThinLTO.html)
|

---------

Co-authored-by: Chris B <chris.bieneman at me.com>


  Commit: 5ffb1046335f4c1ecc9f688f1337b31c260f37c8
      https://github.com/llvm/llvm-project/commit/5ffb1046335f4c1ecc9f688f1337b31c260f37c8
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/stdint.h
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init-riscv.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/stdint.c

  Log Message:
  -----------
  [Clang] Define `__WCHAR_MIN__` and related macros (#208135)

Define `__WCHAR_MIN__`, `__WINT_MIN__`, and `__SIG_ATOMIC_MIN__` for
compatibility with GCC.

This also fixes targets such as `riscv*-netbsd` that define `WCHAR_MIN`
from `__WCHAR_MIN__`.

Reference:
https://gcc.gnu.org/onlinedocs/gcc-16.1.0/cpp/Common-Predefined-Macros.html
Closes #199678


  Commit: 9722a2ceddb6e4fc098f89c9c55c5ad7afd1a64c
      https://github.com/llvm/llvm-project/commit/9722a2ceddb6e4fc098f89c9c55c5ad7afd1a64c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/include/mlir/IR/StorageUniquerSupport.h

  Log Message:
  -----------
  [mlir][IR] Avoid Clang 21 crash during SFINAE overload resolution (#208359)

Clang 21.1.8 segfaults during SFINAE overload resolution for
T::getChecked
when matching non-pointer arguments against an unconstrained
MLIRContext*
parameter.

This patch avoids the crash by adding an explicit SFINAE constraint to
the second overload of StorageUserBase::getChecked, ensuring that it is
only considered when the second argument is convertible to MLIRContext*.

Assisted-by: Antigravity


  Commit: d12356dbdcb217b93de0df61a3f76888d7c37420
      https://github.com/llvm/llvm-project/commit/d12356dbdcb217b93de0df61a3f76888d7c37420
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Assembler/atomic.ll
    M llvm/test/Assembler/invalid-atomicrmw-add-must-be-integer-type.ll
    M llvm/test/Assembler/invalid-atomicrmw-elementwise.ll
    M llvm/test/Assembler/invalid-atomicrmw-fadd-must-be-fp-type.ll
    M llvm/test/Assembler/invalid-atomicrmw-fsub-must-be-fp-type.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
    A llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-vector.ll
    M llvm/unittests/IR/VerifierTest.cpp

  Log Message:
  -----------
  [IR] Allow integer vector atomicrmw (#190716)

Previously, we allowed floating-point vector atomicrmw, but not
integer-vector atomicrmw. Relax this restriction. By default, integer
vector atomicrmw will cmpxchg expand.

Assisted by AI


  Commit: ee5f1f82a8ddb1a30719880f79d5d37a10a163c6
      https://github.com/llvm/llvm-project/commit/ee5f1f82a8ddb1a30719880f79d5d37a10a163c6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV][P-ext] Rewrite intrinsic widening code to be more agnostic to number of operands. NFC (#208335)

Copy the operands to a vector and use a loop to widen them.


  Commit: d776ee4d4caedbcc1a02a2a002566f896278b0c2
      https://github.com/llvm/llvm-project/commit/d776ee4d4caedbcc1a02a2a002566f896278b0c2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt

  Log Message:
  -----------
  offload: Use amdgpu triple name in plugin build (#208455)

The PGO tests expect the produced filename to match the triple.
The tool pulls the triple name from the binary's triple name, and the
RUN lines expect it to match the triple the build was configured with.


  Commit: 7a48c2cb8e505c53e50a74642b0b129303163c6f
      https://github.com/llvm/llvm-project/commit/7a48c2cb8e505c53e50a74642b0b129303163c6f
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/test/CIR/CodeGen/cross-reference-globals.c
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    A clang/test/CIR/CodeGen/pointer-to-empty-data-member.cpp

  Log Message:
  -----------
  [CIR] Represent 'empty' fields in structs/unions (#207033)

Since we do field based GEPs, it isn't really possible to do a
get-address-of a field without representing all the fields in a CIR
struct. This patch makes sure we do that, so we can do the proper GEPs.

This patch also as a drive-by fixes the case where we were searching for
the 'path' inside of an empty base, which we don't represent (and
probably should not need to?).

This patch ALSO adds some NYI diagnostics for cases where we try to get
the address of a `no-unique-address` field, which we are not currently
representing. In the future, we are going to have to start representing
no-unique-address fields inside of a struct as well (plus figure out how
to lower it properly in a way that gets the offsets right), but it isn't
clear this is immediately necessary (as you'd have to take an address of
one to notice?).


  Commit: a6982e5fc9c92bda7bc80a4aaed8cb9cc2789e20
      https://github.com/llvm/llvm-project/commit/a6982e5fc9c92bda7bc80a4aaed8cb9cc2789e20
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll

  Log Message:
  -----------
  [X86] Add v16i16 shuffle tests for "shift + blend" pack patterns (#208481)

Shuffles that could be expanded by shifting one input and blending with
the second inplace input


  Commit: 3b2fe66a4eb5fc569cc9a9822440ebe3a1a36f34
      https://github.com/llvm/llvm-project/commit/3b2fe66a4eb5fc569cc9a9822440ebe3a1a36f34
  Author: Ferran Toda <ferran.todacasaban at bsc.es>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/test/OpenMP/unimplemented_clause_messages.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    A flang/test/Parser/OpenMP/apply01.f90
    A flang/test/Parser/OpenMP/apply02.f90
    A flang/test/Semantics/OpenMP/apply01.f90
    A flang/test/Semantics/OpenMP/apply02.f90
    M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/TableGen/DirectiveEmitter.h
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp

  Log Message:
  -----------
  [Flang][OpenMP] add Apply clause for OpenMP Flang (#204225)

This patch adds a parser and basic checks for the Apply clause from
OpenMP 6.0 in Flang.
It is missing semantic checks for nesting loop transformations that are
being worked on.


  Commit: 34bb48e9875a03e418941c17e281076b70b60836
      https://github.com/llvm/llvm-project/commit/34bb48e9875a03e418941c17e281076b70b60836
  Author: Yuxuan Chen <ych at meta.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

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

  Log Message:
  -----------
  [clang][docs] Fix coro_await_elidable bullet list rendering (NFC) (#208333)

Add the blank line required before the reStructuredText bullet list and
indent the continuation line for the second item. Without this, the
generated AttributeReference page does not render the
coro_await_elidable safe-elide-context bullets correctly.


  Commit: d82a0d29e1bb85304e54767763ef5c036cd5bc5b
      https://github.com/llvm/llvm-project/commit/d82a0d29e1bb85304e54767763ef5c036cd5bc5b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp

  Log Message:
  -----------
  [libc++] Add missing <string> include (#208281)

Fixes #182390


  Commit: 1df703a6f4cd535e5af49ad15afcc043c68b81ca
      https://github.com/llvm/llvm-project/commit/1df703a6f4cd535e5af49ad15afcc043c68b81ca
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp

  Log Message:
  -----------
  BPF: Remove unnecessary isReg check for copy source (#208486)


  Commit: b45d68108a585507789aa26b9e2808d68386dfca
      https://github.com/llvm/llvm-project/commit/b45d68108a585507789aa26b9e2808d68386dfca
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/utils/ci/buildkite-pipeline.yml

  Log Message:
  -----------
  [libc++] Update the label for FreeBSD in CI to version 15.1 (#205417)

The FreeBSD libc++ CI has been bumped to the new FreeBSD release. The
remaining task to do is to bump the description in CI yaml file.


  Commit: 361a3e692d8c52665e9ab54fae70935d2d1cc458
      https://github.com/llvm/llvm-project/commit/361a3e692d8c52665e9ab54fae70935d2d1cc458
  Author: Kacper Doga <kacper.doga at intel.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/load-insert-store.ll

  Log Message:
  -----------
  [VectorCombine] Fix bailing out of the foldSingleElementStore with a freeze-pending index (#207702)

`foldSingleElementStore` calls `canScalarizeAccess` to decide whether a
single-element store can be scalarized. When the insert index is not a
constant, is provably in-bounds and may be poison, `canScalarizeAccess`
returns `SafeWithFreeze` and stashes a `ToFreeze` value that must later
be consumed by `freeze()` or cleared by `discard()`.

The bail-out for memory being modified between the load and store was
folded into same condition as the scalarizability check:

```cpp
auto ScalarizableIdx = canScalarizeAccess(...);
if (ScalarizableIdx.isUnsafe() || isMemModifiedBetween(...))
  return false;
```

When the index took the `SafeWithFreeze` path and memory was modified
between the load and the store, `isMemModifiedBetween` returns true and
hit `return false` while ScalarizableIdx still holds a live `ToFreeze`.

Its destructor then raises:
> Assertion !ToFreeze && "freeze() not called with ToFreeze being set"

### Fix
Move the `isMemModifiedBetween` bail-out above the `canScalarizeAccess`
call so the freeze-pending result is never constructed on the path where
we give up.


  Commit: dd824164c8e7c86cebfea1cf1bf2d92acfd4a9d9
      https://github.com/llvm/llvm-project/commit/dd824164c8e7c86cebfea1cf1bf2d92acfd4a9d9
  Author: Łukasz Plewa <lukasz.plewa at intel.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M offload/liboffload/API/Memory.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/plugins-nextgen/level_zero/include/L0Queue.h
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/memory/olMemPrefetch.cpp

  Log Message:
  -----------
  [offload] Add olMemPrefetch to liboffload (#206752)

Adds olMemPrefetch and the OL_MEM_MIGRATION_FLAG_* enum, wired through a
new dataPrefetchImpl on the plugin interface with Level Zero and CUDA
implementations. Backends without prefetch support inherit the default
no-op.

Prefetch is a hint that migrates a USM allocation between the host and a
device so subsequent accesses on the target side are faster.

Assisted-by: Claude


  Commit: d4dd90ae4d7a6b559ebc2ef5b75d2eacafadb48f
      https://github.com/llvm/llvm-project/commit/d4dd90ae4d7a6b559ebc2ef5b75d2eacafadb48f
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    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/TosaTypesBase.td
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/ops.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 constant block scaled support (#205506)

This commit adds support for block scaled tensors.

In particular, the block scaled type has been extended with the
`DenseElementTypeInterface` to allow block scaled data values to be
specified in dense element attributes.

The block scaled type has also been extended to allow optional scale
values to be specified by the type. For now, scale values are not
expected to be propagated beyond their use in the attribute input of a
constant operation. In the future, we may want to propagate these values
to allow certain optimizations.

The `tosa.const` operation has also been updated in the validation pass.


  Commit: 494697f79f5f7f6b40b78c8f49a98588ee87f1bd
      https://github.com/llvm/llvm-project/commit/494697f79f5f7f6b40b78c8f49a98588ee87f1bd
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
    M clang/test/CodeGenCXX/ptrauth-dynamic-cast-exact.cpp

  Log Message:
  -----------
  [CodeGen] Disable exact dynamic_cast for duplicable vtables (#205929)

Add `TargetInfo::getVTableUniqueness()`, which returns a
`VTableUniquenessKind` that describes whether a target's ABI guarantees
a class's vtable has a single address program-wide. Apple Mach-O targets
return `UniqueIfStrongLinkage`, since a vague-linkage (weak) vtable may
be autohidden and duplicated per image, while a vtable with strong
linkage (e.g., a class with a key function) still has a unique address.
Every other target keeps the default, `AlwaysUnique`.

Rename the `CodeGenOpts` flag backing `-f[no-]assume-unique-vtables`
from `AssumeUniqueVTables` to `DisableExactDynamicCast`, defaulting to
false so the optimization stays on unless `-fno-assume-unique-vtables`
is given. Use it together with `getVTableUniqueness()` in
`ItaniumCXXABI::hasUniqueVTablePointer()` so a weak vtable on a target
that may duplicate vtables no longer qualifies for the exact
`dynamic_cast` optimization; a vtable with a key function, or any vtable
on a target with `AlwaysUnique` semantics, is unaffected.

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

rdar://129380573


  Commit: ef84e19e3fd3f13ffbc87544054e6605226dfc79
      https://github.com/llvm/llvm-project/commit/ef84e19e3fd3f13ffbc87544054e6605226dfc79
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M compiler-rt/lib/memprof/memprof_allocator.cpp
    M compiler-rt/lib/memprof/memprof_mapping.h
    M compiler-rt/lib/memprof/tests/CMakeLists.txt
    A compiler-rt/lib/memprof/tests/shadow.cpp

  Log Message:
  -----------
  [compiler-rt][memprof] fix off-by-one in shadow access-count accumula… (#208376)

…tion.

GetShadowCount and GetShadowCountHistogram used an inclusive loop up to
MEM_TO_SHADOW(p + size), summing an extra adjacent cell when p + size is
granule-aligned. Use p + size - 1 to stay within the allocation.


  Commit: adcd0b736e3b949c71b67c658f4c22242a4f21d1
      https://github.com/llvm/llvm-project/commit/adcd0b736e3b949c71b67c658f4c22242a4f21d1
  Author: Yair Ben Avraham <yairba at protonmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/neon-2velem.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
    M clang/test/CodeGen/AArch64/neon/fused-multiply.c

  Log Message:
  -----------
  [CIR][AArch64] Lower NEON vfms builtins (#207022)

Lower additional AArch64 NEON fused multiply-subtract builtins in CIR.

This covers the ACLE wrappers from section 2.1.1.2.5:
  - vfms_f32, vfms_f64, vfmsq_f32, vfmsq_f64
  - vfms_lane_f32, vfms_lane_f64, vfmsq_lane_f32, vfmsq_lane_f64
  - vfms_laneq_f32, vfms_laneq_f64, vfmsq_laneq_f32, vfmsq_laneq_f64
  - vfmss_lane_f32, vfmss_laneq_f32
  - vfmsd_lane_f64, vfmsd_laneq_f64

The lowering reuses the existing FMA paths by negating the multiply
operand before emitting llvm.fma. Vector lane forms splat the selected
lane, while scalar lane/laneq forms extract the selected element before
the FMA.

Move the existing ACLE coverage into
clang/test/CodeGen/AArch64/neon/fused-multiply.c and add direct LLVM,
CIR-to-LLVM, and CIR checks. The replaced old-style checks are removed
from the legacy test files.

Part of #185382


  Commit: 07d5e0d550985db270e65131add93f8c5fda54dd
      https://github.com/llvm/llvm-project/commit/07d5e0d550985db270e65131add93f8c5fda54dd
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M .ci/green-dragon/lldb-windows.groovy

  Log Message:
  -----------
  [lldb][Windows][CI] split steps (#206946)

Split the lldb green-dragon lldb testing steps into 2:
1. Build and run the tests without `lldb-server.exe`
2. Run the tests with `lldb-server.exe`

This gives better separation in the UI and if the first step fails, the
second step will still attempt to run.


  Commit: 2ff8ed77e69c82ab7883369c1477bd3157c1d13c
      https://github.com/llvm/llvm-project/commit/2ff8ed77e69c82ab7883369c1477bd3157c1d13c
  Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
    M llvm/test/Transforms/VectorCombine/AArch64/combine-shuffle-ext.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
    A llvm/test/Transforms/VectorCombine/X86/shuffletoidentity-bitcast.ll

  Log Message:
  -----------
  [VectorCombine] Handle widening/narrowing bitcasts in foldShuffleToIdentity (#187870)

Track lane indices through vector bitcasts that change element count in
foldShuffleToIdentity. Widening bitcasts (e.g. <2 x i32> -> <4 x i16>)
compress R consecutive destination lanes into one source lane, while
narrowing bitcasts (e.g. <4 x i16> -> <2 x i32>) expand each destination
lane into R source lanes.

Also fix identity check, splat mask, and destination type construction
to use Item.size() instead of Ty->getNumElements(), since the Item
vector changes size when passing through element-count-changing
bitcasts.

Fixes #96884


  Commit: 88d548a2b9f53a16e14ad02825df033561b4dde4
      https://github.com/llvm/llvm-project/commit/88d548a2b9f53a16e14ad02825df033561b4dde4
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c

  Log Message:
  -----------
  [RISCV][P-ext][NFC] Add tests for packed reverse intrinsics (#208484)


  Commit: e2a8a741f75304951ea27adeb1da3db8272998fe
      https://github.com/llvm/llvm-project/commit/e2a8a741f75304951ea27adeb1da3db8272998fe
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_iter_iter.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/ctor_iter_iter.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/ctor_iter_iter_alloc.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_iter_iter.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Rename forward_list constructor tests (#208301)

The forward_list tests historically used "range" to mean an iterator
pair, but we use `iter_iter` pretty consistently elsewhere in the test
suite. Using `range` also makes it confusing with the actual tests for
`_range` operations, like `append_range` or `assign_range`.


  Commit: c7cecd8351ca1d50fca0f8526c7701e8de3fe23a
      https://github.com/llvm/llvm-project/commit/c7cecd8351ca1d50fca0f8526c7701e8de3fe23a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/assign_range.pass.cpp

  Log Message:
  -----------
  [libc++] Fix assign_range test for forward_list (#208283)

That test was checking prepend_range instead of assign_range due to a
copy-paste error.

Fixes #74536


  Commit: 3a8d8ac23213aa702f0fd08f9ec60e4d068b58e3
      https://github.com/llvm/llvm-project/commit/3a8d8ac23213aa702f0fd08f9ec60e4d068b58e3
  Author: Alex Crichton <alex at alexcrichton.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M lld/test/wasm/cooperative-threading.s
    M lld/wasm/Writer.cpp

  Log Message:
  -----------
  [WebAssembly] Don't use passive segments for bss in coop threads (#208284)

This commit is an update to `wasm-ld`'s behavior with bss data segments
with `--cooperative-threading`. Previously bss segments were forced to
become passive data segments meaning that a `start` function was emitted
with a `memory.fill` that set the required region of memory to 0. This
isn't required for coop threads though because the module is only
instantiated once and the default pattern for memory is 0, so only
special treatment of TLS segments are required.


  Commit: 5a2064d4e363533957c953e4e60470811842ffd8
      https://github.com/llvm/llvm-project/commit/5a2064d4e363533957c953e4e60470811842ffd8
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/PointerIntPair.h
    M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
    M llvm/include/llvm/CGData/CodeGenData.h
    M llvm/include/llvm/CodeGen/LiveInterval.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h
    M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/ProfileSummary.h
    M llvm/include/llvm/Passes/OptimizationLevel.h
    M llvm/include/llvm/Support/Alignment.h
    M llvm/lib/CGData/CodeGenData.cpp
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
    M llvm/lib/CodeGen/InterferenceCache.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    M llvm/lib/CodeGen/LiveIntervalCalc.cpp
    M llvm/lib/CodeGen/LiveRangeCalc.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
    M llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
    M llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp
    M llvm/lib/IR/ModuleSummaryIndex.cpp
    M llvm/lib/Object/MachOUniversalWriter.cpp
    M llvm/lib/Passes/OptimizationLevel.cpp
    M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/unittests/CodeGen/InstrRefLDVTest.cpp

  Log Message:
  -----------
  Revert "[LLVM][NFC] Remove some global constructors" (#208494)

Breaks some buildbots with gcc. Looks like constexpr member definitions
need an extern for old gcc otherwise they get local linkage...

Reverts llvm/llvm-project#208407


  Commit: 2a9f19fb5240aa85c4225a5b5737c0eafe94b7ca
      https://github.com/llvm/llvm-project/commit/2a9f19fb5240aa85c4225a5b5737c0eafe94b7ca
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/test/std/atomics/atomics.types.generic/standard_layout.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/dtor.pass.cpp

  Log Message:
  -----------
  [libc++] Add tests for LWG3949 and mark it as done (#208272)

Closes #105301


  Commit: 4e3a68f7b8e4bdc1f16dcf3d322dc4f6750510db
      https://github.com/llvm/llvm-project/commit/4e3a68f7b8e4bdc1f16dcf3d322dc4f6750510db
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv

  Log Message:
  -----------
  [libc++] Mark LWG4276 as complete (#208273)

We already harden std::array<T, 0>::front() and back(), and we have
tests for it.

Closes #171330


  Commit: 09197218036b30cd36a490191e84f0aabd523a8d
      https://github.com/llvm/llvm-project/commit/09197218036b30cd36a490191e84f0aabd523a8d
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
    M flang/test/Fir/MIF/coshape.mlir
    M flang/test/Fir/MIF/this_image.mlir
    M flang/test/Lower/MIF/coshape.f90
    M flang/test/Lower/MIF/this_image.f90

  Log Message:
  -----------
  [flang][MIF] Fix COSHAPE and THIS_IMAGE(coarray) type mismatch for non-i64 kinds (#208429)

Both COSHAPE and THIS_IMAGE(coarray [,team]) return integer arrays whose
element type is determined by the Fortran KIND argument (default: i32).
The lowering code was ignoring resultType in both cases and hardcoding
i64, which caused downstream type mismatches:

- COSHAPE: SimplifyHLFIRIntrinsics assertion in PRODUCT(COSHAPE(y)) when
the product input type (i64) did not match the declared result type
(i32).
- THIS_IMAGE(coarray): MLIR verifier error on arith.cmpi with mismatched
operand types (i64 vs i32) in comparisons like THIS_IMAGE(a) /=
[5,0,-7].

Fix: derive eleTy from resultType in both genCoshape and genThisImage
and propagate it into the mif.* op's result type. In MIFOpConversion,
extract a shared convertI64SeqToEleTy helper that post-converts the i64
scratch buffer written by the PRIF runtime into the
declared-element-type buffer when the two types differ. Both
MIFCoshapeOpConversion and MIFThisImageOpConversion call this helper.

Co-authored-by: Claude Opus 4.7 <noreply at anthropic.com>


  Commit: 06499c927e5012166f4553c58f8af593521ea14d
      https://github.com/llvm/llvm-project/commit/06499c927e5012166f4553c58f8af593521ea14d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/reduction-root-multiuse-same-opcode.ll

  Log Message:
  -----------
  [SLP][NFC] Add regressed vectorization of reduced values, NFC

Reported in https://github.com/llvm/llvm-project/pull/185320#issuecomment-4925949343

Reviewers: 

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


  Commit: c526d452fc27463ef4b856ba73b529bd47fffa50
      https://github.com/llvm/llvm-project/commit/c526d452fc27463ef4b856ba73b529bd47fffa50
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/test/benchmarks/algorithms/modifying/remove.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/replace.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/transform.binary.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/transform.unary.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/unique.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/unique_copy.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/adjacent_find.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/any_all_none_of.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/count.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/ends_with.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/equal.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/find_end.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/find_first_of.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/find_last.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/fold.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/is_permutation.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/mismatch.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/search.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/search_n.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/starts_with.bench.cpp
    M libcxx/test/benchmarks/algorithms/sorting/is_sorted.bench.cpp
    M libcxx/test/benchmarks/algorithms/sorting/is_sorted_until.bench.cpp

  Log Message:
  -----------
  [libc++] Remove benchmark::DoNotOptimize from custom predicates in benchmarks (#208412)

The point of the custom predicates is to defeat any detection of special
predicates within the library. There isn't much point in adding
`benchmark::DoNotOptimize` on top of that. It can actually hurt, since
it may hide performance changes due to how much/which information we
provide to the compiler.


  Commit: 5a29cbc765b553b331469d352272614e5d37e254
      https://github.com/llvm/llvm-project/commit/5a29cbc765b553b331469d352272614e5d37e254
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M .ci/green-dragon/lldb-windows.groovy
    A clang/docs/HIPSupport.md
    R clang/docs/HIPSupport.rst
    A clang/docs/HLSL/HLSLDocs.md
    R clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/InternalsManual.rst
    A clang/docs/LTOVisibility.md
    R clang/docs/LTOVisibility.rst
    A clang/docs/MSVCCompatibility.md
    R clang/docs/MSVCCompatibility.rst
    A clang/docs/MisExpect.md
    R clang/docs/MisExpect.rst
    A clang/docs/Modules.md
    R clang/docs/Modules.rst
    A clang/docs/OpenCLSupport.md
    R clang/docs/OpenCLSupport.rst
    A clang/docs/OpenMPSupport.md
    R clang/docs/OpenMPSupport.rst
    A clang/docs/OverflowBehaviorTypes.md
    R clang/docs/OverflowBehaviorTypes.rst
    A clang/docs/PointerAuthentication.md
    R clang/docs/PointerAuthentication.rst
    M clang/docs/ReleaseNotes.md
    A clang/docs/SYCLSupport.md
    R clang/docs/SYCLSupport.rst
    A clang/docs/SafeStack.md
    R clang/docs/SafeStack.rst
    A clang/docs/SanitizerSpecialCaseList.md
    R clang/docs/SanitizerSpecialCaseList.rst
    A clang/docs/SanitizerStats.md
    R clang/docs/SanitizerStats.rst
    A clang/docs/ShadowCallStack.md
    R clang/docs/ShadowCallStack.rst
    A clang/docs/SourceBasedCodeCoverage.md
    R clang/docs/SourceBasedCodeCoverage.rst
    A clang/docs/StandardCPlusPlusModules.md
    R clang/docs/StandardCPlusPlusModules.rst
    A clang/docs/StructureProtection.md
    R clang/docs/StructureProtection.rst
    A clang/docs/ThinLTO.md
    R clang/docs/ThinLTO.rst
    A clang/docs/UsersManual.md
    R clang/docs/UsersManual.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/stdint.h
    M clang/lib/Parse/ParseStmt.cpp
    M clang/test/CIR/CodeGen/cross-reference-globals.c
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    A clang/test/CIR/CodeGen/pointer-to-empty-data-member.cpp
    M clang/test/CodeGen/AArch64/neon-2velem.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
    M clang/test/CodeGen/AArch64/neon/fused-multiply.c
    M clang/test/CodeGen/ubsan-type-ignorelist-category.test
    M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
    M clang/test/CodeGenCXX/ptrauth-dynamic-cast-exact.cpp
    M clang/test/OpenMP/unimplemented_clause_messages.cpp
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init-riscv.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/stdint.c
    M compiler-rt/lib/memprof/memprof_allocator.cpp
    M compiler-rt/lib/memprof/memprof_mapping.h
    M compiler-rt/lib/memprof/tests/CMakeLists.txt
    A compiler-rt/lib/memprof/tests/shadow.cpp
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/test/Fir/MIF/coshape.mlir
    M flang/test/Fir/MIF/this_image.mlir
    M flang/test/Lower/MIF/coshape.f90
    M flang/test/Lower/MIF/this_image.f90
    R flang/test/Lower/OpenMP/collapse-imperfect-nest.f90
    R flang/test/Lower/OpenMP/collapse-loop-transform.f90
    A flang/test/Parser/OpenMP/apply01.f90
    A flang/test/Parser/OpenMP/apply02.f90
    A flang/test/Semantics/OpenMP/apply01.f90
    A flang/test/Semantics/OpenMP/apply02.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse-60.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do10.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do22.f90
    R flang/test/Semantics/OpenMP/doacross-nesting-omp60.f90
    R flang/test/Semantics/OpenMP/ordered-nesting-omp50.f90
    R flang/test/Semantics/OpenMP/ordered-nesting-omp51.f90
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/test/benchmarks/algorithms/modifying/remove.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/replace.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/transform.binary.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/transform.unary.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/unique.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/unique_copy.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/adjacent_find.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/any_all_none_of.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/count.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/ends_with.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/equal.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/find_end.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/find_first_of.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/find_last.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/fold.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/is_permutation.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/mismatch.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/search.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/search_n.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/starts_with.bench.cpp
    M libcxx/test/benchmarks/algorithms/sorting/is_sorted.bench.cpp
    M libcxx/test/benchmarks/algorithms/sorting/is_sorted_until.bench.cpp
    M libcxx/test/std/atomics/atomics.types.generic/standard_layout.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/dtor.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_iter_iter.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/ctor_iter_iter.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/ctor_iter_iter_alloc.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/assign_range.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_iter_iter.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp
    M libcxx/utils/ci/buildkite-pipeline.yml
    M lld/test/wasm/cooperative-threading.s
    M lld/wasm/Writer.cpp
    M llvm/docs/LangRef.md
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/TableGen/DirectiveEmitter.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Assembler/atomic.ll
    M llvm/test/Assembler/invalid-atomicrmw-add-must-be-integer-type.ll
    M llvm/test/Assembler/invalid-atomicrmw-elementwise.ll
    M llvm/test/Assembler/invalid-atomicrmw-fadd-must-be-fp-type.ll
    M llvm/test/Assembler/invalid-atomicrmw-fsub-must-be-fp-type.ll
    M llvm/test/Bitcode/compatibility.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_image_int64/image_int64.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll
    A llvm/test/CodeGen/SPIRV/linkage/link-attribute-numeric-name.ll
    A llvm/test/CodeGen/SPIRV/linkage/nameless-kernel-error.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
    A llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-vector.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
    A llvm/test/Transforms/SLPVectorizer/X86/reduction-root-multiuse-same-opcode.ll
    M llvm/test/Transforms/VectorCombine/AArch64/combine-shuffle-ext.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
    A llvm/test/Transforms/VectorCombine/X86/shuffletoidentity-bitcast.ll
    M llvm/test/Transforms/VectorCombine/load-insert-store.ll
    M llvm/unittests/IR/VerifierTest.cpp
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    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/TosaTypesBase.td
    M mlir/include/mlir/IR/StorageUniquerSupport.h
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir
    M mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/ops.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 offload/liboffload/API/Memory.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/plugins-nextgen/level_zero/include/L0Queue.h
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/memory/olMemPrefetch.cpp

  Log Message:
  -----------
  Rebase

Created using spr 1.3.7


Compare: https://github.com/llvm/llvm-project/compare/8ca25ee6e989...5a29cbc765b5

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