[all-commits] [llvm/llvm-project] 9b92e0: [SelectionDAG] Split vector types for atomic store...
Reid Kleckner via All-commits
all-commits at lists.llvm.org
Fri Jun 5 15:36:29 PDT 2026
Branch: refs/heads/users/rnk/llvm-md-1a
Home: https://github.com/llvm/llvm-project
Commit: 9b92e0fe9b0066d58073ee81afa0e5823a474e1e
https://github.com/llvm/llvm-project/commit/9b92e0fe9b0066d58073ee81afa0e5823a474e1e
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[SelectionDAG] Split vector types for atomic store (#197860)
Vector types that aren't widened are split so that a single ATOMIC_STORE
is issued for the entire vector at once. This enables SelectionDAG to
translate vectors with type bfloat,half.
Store-side counterpart to #165818. Stacked on top of #197619; and below
of #197861.
Commit: 162076fe779ea8e1d9008b42e3c5f5ea3ae473dc
https://github.com/llvm/llvm-project/commit/162076fe779ea8e1d9008b42e3c5f5ea3ae473dc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86PartialReduction.cpp
M llvm/test/CodeGen/X86/sad.ll
Log Message:
-----------
[X86] Check useBWIRegs() instead of hasBWI() before creating x86_avx512_psad_bw_512 intrinsic. (#201167)
Need to check that 512-bit vectors are enabled before using a 512-bit
intrinsic.
Commit: 40ad00beb3e275e1c50d6a718800d197a6b02c4e
https://github.com/llvm/llvm-project/commit/40ad00beb3e275e1c50d6a718800d197a6b02c4e
Author: mleair <leairmark at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/intrinsic-module-array-constant.f90
Log Message:
-----------
[flang] Define array named constants from the iso_fortran_env intrins… (#201190)
…ic module
createIntrinsicModuleDefinitions() only emitted definitions for array
named constants belonging to the __fortran_ieee_exceptions intrinsic
module. Array constants declared directly in the iso_fortran_env
intrinsic module -- in practice character_kinds -- were therefore only
lowered as bodyless `fir.global` external declarations at their use site
and never defined anywhere, producing an undefined reference at link
time.
This is usually hidden because scalar iso_fortran_env parameters fold to
immediates and constant-shape array accesses are folded away, so the
dangling external symbol is DCE'd before linking. It surfaces when the
address of the array genuinely escapes to runtime, e.g.:
```
use iso_fortran_env
integer :: i, x(1)
do i = 1, size(character_kinds)
x = findloc(character_kinds, character_kinds(i))
end do
```
which fails with:
undefined reference to `_QMiso_fortran_envECcharacter_kinds'
Fix by also processing the iso_fortran_env scope in
createIntrinsicModuleDefinitions(), so its array constants are emitted
as linkonce_odr definitions with initializers.
Note that integer_kinds/real_kinds/logical_kinds are unaffected: they
are renamed from iso_fortran_env_impl, a non-intrinsic module that is
compiled into the runtime, so their definitions already exist there.
Assisted-by: AI
Commit: f2a780bbe2d8f66bcffb76e9d5f008d581be7917
https://github.com/llvm/llvm-project/commit/f2a780bbe2d8f66bcffb76e9d5f008d581be7917
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][test] Make delayed-definition-die-searching CU-layout agnostic (#201206)
The second `ParseTypeFromDWARF` for t1 (after `p v2`) only fires when
t1's definition lives in a separate CU from its forward declaration:
LLDB parses the forward-decl DIE during `p v1` and a distinct definition
DIE during `p v2`. dsymutil's parallel linker collapses both into a
single DIE in the artificial type unit, so t1 is parsed once during `p
v1` and only re-resolved during `p v2`.
Drop the second-parse CHECK so the test no longer presumes a per-CU type
layout. The remaining `'t1' resolving forward declaration...` CHECK
after `p v2` still verifies what the test was designed to catch: t1's
complete-type resolution is deferred until v2 is evaluated. If LLDB
regressed to eager resolution during `p v1`, that log line would move
and the test would fail. Add a `(t1) (x = 0)` CHECK at the end to cover
the end-to-end value.
Commit: 87d6941017aa6022ce00baa9f1dfae5a49b113f4
https://github.com/llvm/llvm-project/commit/87d6941017aa6022ce00baa9f1dfae5a49b113f4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
M clang/test/CodeGen/lto-newpm-pipeline.c
M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/devirt_vcall_vis_public.ll
M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/LTO/LTO.h
R llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/IPO/ConstantMerge.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
R llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Assembler/index-value-order.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/CodeGen/X86/fat-lto-section.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-alias.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-weak-aliasee.ll
M llvm/test/Linker/funcimport2.ll
M llvm/test/Other/new-pm-O0-defaults.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
M llvm/test/ThinLTO/AArch64/aarch64_inline.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions1.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions2.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions3.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias2.ll
M llvm/test/ThinLTO/X86/deadstrip.ll
M llvm/test/ThinLTO/X86/devirt_function_alias.ll
M llvm/test/ThinLTO/X86/devirt_function_alias2.ll
M llvm/test/ThinLTO/X86/devirt_pure_virtual_base.ll
M llvm/test/ThinLTO/X86/devirt_vcall_vis_public.ll
M llvm/test/ThinLTO/X86/distributed_import.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-exported-internal.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-unknown.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-weak.ll
M llvm/test/ThinLTO/X86/globals-import.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
M llvm/test/ThinLTO/X86/import-ro-constant.ll
M llvm/test/ThinLTO/X86/index-const-prop-alias.ll
M llvm/test/ThinLTO/X86/index-const-prop.ll
M llvm/test/ThinLTO/X86/linkonce_resolution_comdat.ll
M llvm/test/ThinLTO/X86/memprof-dups.ll
M llvm/test/ThinLTO/X86/memprof_callee_type_mismatch.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
M llvm/test/ThinLTO/X86/prevailing_weak_globals_import.ll
M llvm/test/ThinLTO/X86/visibility-elf.ll
M llvm/test/ThinLTO/X86/visibility-macho.ll
M llvm/test/ThinLTO/X86/weak_resolution.ll
M llvm/test/ThinLTO/X86/windows-vftable.ll
M llvm/test/ThinLTO/X86/writeonly.ll
R llvm/test/Transforms/AssignGUID/assign_guid.ll
M llvm/test/Transforms/ConstantMerge/merge-dbg.ll
M llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
M llvm/test/Transforms/FunctionImport/funcimport-debug-retained-nodes.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
R llvm/test/Transforms/GlobalMerge/guid.ll
M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
M llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
M llvm/test/Transforms/SampleProfile/ctxsplit.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel-profile.ll
M llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/export-vcp.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
M llvm/test/tools/gold/X86/thinlto_weak_library.ll
M llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
M llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
Reverting PR #184065 and #200323 to address some interplay with CFI (#201194)
There is a relation between CFI and ThinLTO GUIDs that still needs to be
disentangled first. Note that we leave the `MD_unique_id` in
`FixedMetadataKinds.def` to avoid needing to re-number it later. Plus
the metadata string ("guid") itself is used by ctxprof.
Commit: 70edfe91f4fc6bd0b2137d20f3508a6fcd85bcde
https://github.com/llvm/llvm-project/commit/70edfe91f4fc6bd0b2137d20f3508a6fcd85bcde
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[cmake] Fix host tool path with driver build on Windows (#199152)
On Windows, the llvm-shlib dylib build uses the llvm-nm host tool to
make all symbols visible by default. The LLVM_TOOL_LLVM_DRIVER_BUILD=ON
build would fail because $<TARGET_FILE:llvm-nm> was invalid. This change
passes the name of the symlink / executable copy as a custom property so
things work out and the llvm-nm.exe host tool can be found.
Commit: b29bf9fa25bdb906a61ec361fba68796020cc6b9
https://github.com/llvm/llvm-project/commit/b29bf9fa25bdb906a61ec361fba68796020cc6b9
Author: Peter Hawkins <phawkins at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/include/mlir/Bytecode/BytecodeWriter.h
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.h
M mlir/unittests/Bytecode/BytecodeTest.cpp
Log Message:
-----------
[mlir][bytecode] Add option to elide locations during serialization (#201183)
Adds a setElideLocations option to BytecodeWriterConfig to elide
locations during bytecode serialization. When enabled, all LocationAttrs
are mapped to UnknownLoc during numbering and writing to produce
location-invariant bytecode (e.g., for stable fingerprinting).
Another way to achieve the same thing would be to apply the
strip-debuginfo pass,
but that requires mutating the module, which in turn requires cloning
the module if one still requires the unstripped original.
Assisted-by: Antigravity / Gemini
Commit: f2dd83075571265427547b94e06aabda61aff974
https://github.com/llvm/llvm-project/commit/f2dd83075571265427547b94e06aabda61aff974
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBanks.td
Log Message:
-----------
[RISCV][GISel] Add GPRPair to GPRB register bank and use getXLen() for GPRSize
Map GPRPair register classes to the GPRB register bank during GlobalISel
instruction selection. This is required because the introduction of HwMode-dependent
base pointer register classes (e.g. via PtrRegClassByHwMode) causes TableGen to
emit register bank checks for GPRPair variants in RISCVGenGlobalISel.inc.
Without this mapping, instruction selection crashes on unsupported classes.
To avoid assertion failures when GPRB's maximum size increases to 128-bit on RV64
due to the register pairs, update RISCVRegisterBankInfo::getInstrMapping to query
Subtarget.getXLen() for the scalar register width instead of relying on the bank's
getMaximumSize(). This matches AArch64's design pattern of mapping register pairs
(XSeqPairsClass) to GPR and resolving scalar register sizes dynamically.
This was fine previously but was exposed by the HwMode changes in
https://github.com/llvm/llvm-project/pull/177073.
Pull Request: https://github.com/llvm/llvm-project/pull/200510
Commit: 155c6e4f887a9b4fb8900ec655124303e7308b4b
https://github.com/llvm/llvm-project/commit/155c6e4f887a9b4fb8900ec655124303e7308b4b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/cmake/caches/Apple-lldb-macOS.cmake
Log Message:
-----------
[lldb] Add lldb-mcp to LLVM_DISTRIBUTION_COMPONENTS (#201225)
Add lldb-mcp to LLVM_DISTRIBUTION_COMPONENTS
Commit: 08e8df51ce23b79e50774453e7ae120c1b5de2ef
https://github.com/llvm/llvm-project/commit/08e8df51ce23b79e50774453e7ae120c1b5de2ef
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
Log Message:
-----------
[ORC] Make SimpleExecutorDylibManager::resolve an instance method. (#201211)
Promote the lambda inside resolveWrapper to a public method on
SimpleExecutorDylibManager. This brings SimpleExecutorDylibManager into
better alignment with the NativeDylibManager implementation in the new
ORC runtime, and is a step towards allowing NativeDylibManager to be
used as a drop-in replacement for SimpleExecutorDylibManager.
Commit: 72a05d59bc8cba3728ad1e3f60bdcc8504f7a708
https://github.com/llvm/llvm-project/commit/72a05d59bc8cba3728ad1e3f60bdcc8504f7a708
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/API/python_api/run_locker/TestRunLocker.py
Log Message:
-----------
[lldb] Have TestRunLocker run both styles of launch (#200978)
While debugging flakey behavior with TestRunLocker, I noticed that is
intended to run its test once with a stop at the entry function (and
then Continues) and once where we launch to the main() loop. But we were
never exercising the stop-at-entry codepath.
This doesn't fix the flakey behavior, although that only happens with
the launch-directly-into-main() codepath; I don't get failures when I
stop at the entry point and then continue.
Commit: 04d9e8687b3836af1eede7df15ecc43ac5c1f67d
https://github.com/llvm/llvm-project/commit/04d9e8687b3836af1eede7df15ecc43ac5c1f67d
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Don't expand SCEVs without uses to VPInstructions (NFC). (#201221)
If a VPExpandSCEVRecipe does not have users, there's no benefit to
expand it to VPInstructions, which then have to get cleaned up.
This also prevents DCE from removing VPInstructions pointed to by
TripCount after expansion.
Commit: 2a936ce9316042cd7e45e72b528ad1d55aa2fe3c
https://github.com/llvm/llvm-project/commit/2a936ce9316042cd7e45e72b528ad1d55aa2fe3c
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/tools/debugserver/source/DNB.cpp
Log Message:
-----------
[lldb][debugserver] Arguments to kill(2) are reversed (#201226)
This codepath is only executed as an attempt to clean up during a failed
launch, so the reversed arguments were rarely actually used.
rdar://175507620
Commit: ce465594e2394ebe6894c6f0dfc9d0817b63c9da
https://github.com/llvm/llvm-project/commit/ce465594e2394ebe6894c6f0dfc9d0817b63c9da
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
Log Message:
-----------
[NVPTX] Fix aggregate load/store lowering for (potentially) overlapping copies (#201177)
NVPTXLowerAggrCopies lowers load/store pairs of large values into a loop
of smaller copies.
However, it was incorrectly assuming that the load/store pairs it found
never alias.
This patch adds an alias check. If the pointers may alias, we emit a
memmov, which handles overlap correctly.
CUDA reproducer:
typedef char vec __attribute__((vector_size(256)));
__global__ void boom(char *p) {
*(vec *)(p + 8) = *(vec *)p;
}
Commit: 26e44e62fdaf0467e153d2f83251e2d48eb1f10e
https://github.com/llvm/llvm-project/commit/26e44e62fdaf0467e153d2f83251e2d48eb1f10e
Author: adams381 <adams at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/func-linkage-weak-import.c
A clang/test/CIR/CodeGen/inline-forward-decl.c
Log Message:
-----------
[CIR] Set ExternalWeakLinkage on weak/weak_import function declarations (#198422)
Classic CodeGen's `SetFunctionAttributes` calls `setLinkageForGV` to force `ExternalWeakLinkage` on `__attribute__((weak))` and Darwin `weak_import` declarations. CIR had no equivalent: weak function declarations were emitted with `ExternalLinkage` instead of `ExternalWeakLinkage`.
This adds `setLinkageForFunction` — the same weak/external-weak logic as `setLinkageForGV` — and calls it from `setFunctionAttributes`. The underlying crash on inline forward declarations (the original motivation) is already fixed by #195257; what remains is this linkage gap.
`inline-forward-decl.c` covers `__attribute__((weak))` on an inline forward declaration; `func-linkage-weak-import.c` covers Darwin `weak_import` (→ `extern_weak` in CIR and LLVM).
Commit: d59899763f0df2bf16fca98ab11421646957602a
https://github.com/llvm/llvm-project/commit/d59899763f0df2bf16fca98ab11421646957602a
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Drop SYCL dry-run stub-image special case (#201222)
Remove the `DryRun` branch in `bundleSYCL` that emitted a stub
`OffloadBinary`. SYCL goes through the same empty-buffer path as other
offload kinds, so the special case is no longer needed.
Update `linker-wrapper-image.c` to expect the resulting `[0 x i8]
zeroinitializer` constant and a size of `0` in the register/unregister
calls.
Assisted by Claude.
Commit: 142ad481b6254104a51da7d636ad9e3f30518a32
https://github.com/llvm/llvm-project/commit/142ad481b6254104a51da7d636ad9e3f30518a32
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/CMakeLists.txt
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/include/lldb/Host/Config.h.cmake
A lldb/include/lldb/Host/ScriptInterpreterRuntimeLoader.h
M lldb/include/module.modulemap
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/common/PythonRuntimeLoader.cpp
A lldb/source/Host/common/PythonRuntimeLoaderInternal.h
A lldb/source/Host/common/ScriptInterpreterRuntimeLoader.cpp
A lldb/source/Host/linux/PythonRuntimeLoaderLinux.cpp
A lldb/source/Host/macosx/PythonRuntimeLoaderDarwin.cpp
A lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
M lldb/unittests/Host/CMakeLists.txt
A lldb/unittests/Host/PythonRuntimeLoaderTest.cpp
Log Message:
-----------
[lldb] Add PythonRuntimeLoader for runtime libpython lookup (NFC) (#200524)
Generalizes the Windows-only Python lookup in PythonPathSetup into a
cross-platform abstraction. Adds an abstract ScriptInterpreterRuntimeLoader
with a per-language factory. The Python implementation dynamically loads Python
library into the current process.
The loader no-ops when Python is already in the process, then walks
LLDB_PYTHON_LIBRARY env override, the build-time Python
(LLDB_PYTHON_RUNTIME_LIBRARY_BUILD_PATH) and finally a platform candidate list:
- Darwin: DEVELOPER_DIR, the bundled Xcode.app, and Command Line Tools joined
against Python3.framework. Then python.org, /opt/homebrew, and /usr/local
joined against Python.framework. Then xcrun -f python3 and if that fails,
libpython3.dylib as a last resort.
- Linux: libpython3.so plus descending stable-ABI SONAMEs.
- Windows: the LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME bare name (resolved via the
loader's default search list) and the exe-relative
LLDB_PYTHON_DLL_RELATIVE_PATH fallback (built off GetModuleFileNameW).
Pre-mapping python3xx.dll lets the script interpreter plugin's delay-load
thunks resolve against the already-loaded module by base name on first use.
This commit only introduces the abstraction. No existing call site is changed,
and the script interpreter plugin still hard-links Python, which are part of
two follow-up PRs.
Commit: 3eb13f8db39ed42827122489c830c414cb6660e3
https://github.com/llvm/llvm-project/commit/3eb13f8db39ed42827122489c830c414cb6660e3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/test/CMakeLists.txt
Log Message:
-----------
[lldb] Stop hard-linking libpython into the dynamic Python plugin (#200530)
Drops ${Python3_LIBRARIES} from the SHARED build of
lldbPluginScriptInterpreterPython and lets undefined Python symbols
through at link time (`-undefined dynamic_lookup` on Darwin,
`--allow-shlib-undefined` on Linux; Windows keeps its existing
delay-load + import lib).
SystemInitializerFull::Initialize resolves the Python runtime loader
via ScriptInterpreterRuntimeLoader::Get(eScriptLanguagePython) and
calls Load() before initializing any plugin, so libpython is mapped
into the process before either entry point that references it: the
static script interpreter's Initialize() (which invokes Python via
the LLDB_PLUGIN_INITIALIZE loop) and the dynamic plugin's dlopen
(whose undefined references resolve against the in-process
libpython). This covers both LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS
=ON and =OFF, and keeps Windows working in static builds where the
delay-load thunks live in liblldb itself. The loader is
once_flag-cached, and errors propagate out via the existing Expected
return.
`import lldb` from a running Python works because libpython is
already mapped into the process. The Python runtime loader probes
for stable-ABI symbols (Py_IsInitialized, Py_InitializeFromConfig)
via dlsym(RTLD_DEFAULT) / GetProcAddress and, finding them, returns
success without dlopen'ing a second libpython on top.
The dynamic plugins are added as test-suite dependencies so
check-lldb-shell and check-lldb-api wait for them; they can't be
build-order deps of liblldb itself because the plugins link against
liblldb (CMake SHARED cycle).
The unit-test static variant lldbStaticScriptInterpreterPython keeps
hard-linking libpython so link-time symbol checking is preserved.
Commit: 678891b586ab0f3b97c83987eb2df0d2d5743ffb
https://github.com/llvm/llvm-project/commit/678891b586ab0f3b97c83987eb2df0d2d5743ffb
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGen/compound_literal.c
Log Message:
-----------
[CIR] Implement lowering for const-emitted global compound literals (#201152)
This came up in a test suite as a NYI, it is just emitting a
constant-backing literal for an initializer. These are specific to C, as
global compound literals have static storage duration in C. This patch,
just like classic codgen, just creates a '.compoundliteral' object as
backing for these variables, and lets us create references to them.
---------
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 243ddf607bbe4841cfe734507120c8d8ddc41eca
https://github.com/llvm/llvm-project/commit/243ddf607bbe4841cfe734507120c8d8ddc41eca
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/src/__support/block.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/freestore.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
Log Message:
-----------
[libc] add shrink in-place support for reallocations (#200272)
This PR adds shrinking in-place for the freelist heap. This allows the
heap to reuse the place if the reallocation shrinks the size larger than
a minimal block unit.
Synthesized random action tests show that that increase heap utilization
rate from 87% to 97% percent, basically aligns with the expectation of
dlmalloc.
Assisted-by: AI tools, manually checked.
Commit: a6745c933a3828f4e2cac4d94754688fe3b03f9f
https://github.com/llvm/llvm-project/commit/a6745c933a3828f4e2cac4d94754688fe3b03f9f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
A llvm/test/CodeGen/X86/apx/memfold-origVNI-crash.ll
Log Message:
-----------
[X86][APX] Extend original LI to the same range as DstReg (#199182)
The #189222 folds NDD+Load to non-NDD when NDD memory variant not
preferred. However, this will changes DstReg from regular def to
early-clobber def, which causes "corrupted sub-interval" in
reMaterializeFor, because the OrigLI is not updated at the same time.
Fixes: https://godbolt.org/z/7n8ozz1EG
Assisted-by: Claude Sonnet 4.6
Commit: 0e40e9e341cf78662ab468fb8cdd6cac7e58ad1f
https://github.com/llvm/llvm-project/commit/0e40e9e341cf78662ab468fb8cdd6cac7e58ad1f
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker][test] Improve dry-run mode and tighten test coverage (#200513)
- Rework `--dry-run` in `clang-sycl-linker` so it skips all real output
(writing bitcode, executing tools, etc.).
- The `link:`, `sycl-module-split:`, and a new `sycl-bundle:` summary
line are now gated on `-v` alone.
- Tighten `sycl-bundle:` checks in `basic.ll`, `split-mode.ll`, and
`triple.ll` to pin kind, triple, and arch (instead of just kind),
and add `-NOT: {{.+}}` after fully-covered dry-run check groups.
- replace the `clang-sycl-linker` + `llvm-objdump --offloading`
round-trip with a single `--dry-run -v` invocation.
- add dedicated `non-dry-run` mode test to verify code paths not exposed
in `dry-run`.
Assisted by Claude.
Commit: f132e926290fe1cc69946addfb90d61b56c9402a
https://github.com/llvm/llvm-project/commit/f132e926290fe1cc69946addfb90d61b56c9402a
Author: adams381 <adams at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
A clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-vector-to-complex.cir
Log Message:
-----------
[CIR] Coerce Direct args and returns in CallConvLowering (#195879)
Fourth PR in the split of #192119/#192124. Implements the
Direct-with-coercion path in CallConvLowering.
Every Direct argument or return whose ABI type differs from its source
type is now coerced through a store/reload roundtrip via an entry-block
alloca, mirroring classic codegen's CreateCoercedLoad/CreateCoercedStore.
The temporary alloca uses max(srcAlign, dstAlign) from the DataLayout and
is hoisted into the entry block so it composes with HoistAllocas
regardless of pipeline order. When the coerced type is larger than the
source -- e.g. a 12-byte aggregate returned as { i64, i64 } -- the slot is
sized to the larger type and accessed through a source-typed view for the
store and a destination-typed view for the load, so neither side
over-reads.
CallConvLowering is split into three phases (function-definition
coercion, call-site rewriting, and Ignore cleanup) because in-place
block-argument type changes from Direct-with-coerce otherwise confused the
earlier ordering, synthesizing alloca/load chains for call-site uses of
Ignore'd arguments that were about to be dropped.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 45bddca21c65106b41fa47a485a30c863e75da53
https://github.com/llvm/llvm-project/commit/45bddca21c65106b41fa47a485a30c863e75da53
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/test/CIR/CodeGen/switch-cleanup.cpp
Log Message:
-----------
[CIR] Fix insertion point tracking for switch with cleanups (#201210)
We had some problems where we would incorrectly maintain the insertion
point for switch statements that contained cleanup scopes. This resulted
in cir.scope statements without a terminator, tripping a verification
error.
This change adds a RunCleanupsScope RAII object for the switch statement
and adds a check inside popCleanup() to avoid moving the insertion point
to the point after the now-closed cleanup scope if the insertion point
had previously been somewhere other than inside the cleanup scope.
Assisted-by: Cursor / claude-opus-4.8
Commit: 19c7fdb3c3c68a9d6861627c85cd0251b7854f6f
https://github.com/llvm/llvm-project/commit/19c7fdb3c3c68a9d6861627c85cd0251b7854f6f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGen/global-temp-dtor.cpp
M clang/test/CIR/CodeGen/self-ref-temporaries.cpp
M clang/test/CIR/CodeGenCXX/global-refs.cpp
Log Message:
-----------
[CIR] Implement destruction of TLS and static global references (#200227)
This implements destruction of lifetime-extended reference temporaries
used to initialize TLS or static duration reference variables.
Assisted-by: Cursor / claude-opus-4.7
Commit: f48e6b81c3acb7007aa94ac768c95122796df08c
https://github.com/llvm/llvm-project/commit/f48e6b81c3acb7007aa94ac768c95122796df08c
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/test/CodeGen/NVPTX/intr-range.ll
Log Message:
-----------
[NVPTX] NVVMIntrRange: Handle maxntid > UINT32_MAX. (#201245)
Previously we computed the overall maxntid and downcast it to unsigned
int. This is not correct; it can be larger than UINT32_MAX.
This would cause reads of tid.xyz and ntid.xyz to have incorrect range
information. Also if maxntid was an exact multiple of 2^32, we'd get an
ICE (because we'd incorrectly think that maxntid is 0).
Commit: 8763a68723b0dbd1ef2e7cc0ac61b2635ceef000
https://github.com/llvm/llvm-project/commit/8763a68723b0dbd1ef2e7cc0ac61b2635ceef000
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/M68k/AsmParser/CMakeLists.txt
Log Message:
-----------
[M68k] Add to LINK_COMPONENTS to fix BUILD_SHARED_LIBS build (#201248)
Fixes: 6897c5e24ce5 ("[M68k][MC] Add MC support for PCI w/ base
displacement addressing mode (#200696)")
Commit: 53938ba7f3631583f79f1b7c1cf8a5d2347ba4d1
https://github.com/llvm/llvm-project/commit/53938ba7f3631583f79f1b7c1cf8a5d2347ba4d1
Author: Boyao Wang <wangboyao at bytedance.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
R llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/pr148084.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/fixed-vectors-shuffle-zipeven-zipodd.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.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/vl-opt.mir
M llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll
R llvm/test/MC/RISCV/xrivosvizip-invalid.s
R llvm/test/MC/RISCV/xrivosvizip-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Remove experimental XRivosVizip support (#200761)
Remove experimental XRivosVizip support which will not be maintained by
RVIOS any more.
Commit: 83318d027abdbd4694d6a070194c82f1e2a34739
https://github.com/llvm/llvm-project/commit/83318d027abdbd4694d6a070194c82f1e2a34739
Author: Fan Mo <w007878 at hotmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
Log Message:
-----------
[docs][Kaleidoscope] fix function name InitializeModuleAndManagers in Kaleidoscope (#199601)
### Description
resloves #199477
The Kaleidoscope tutorial was not fully updated with the new Pass
Manager. This pr aligns the tutorial doc with the example code.
### Changes
- Use `InitializeModuleAndManagers` instead of
`InitializeModuleAndPassManager`.
- Remove `TheModule->setDataLayout(TheJIT->getDataLayout());` in line
141, as the `setDataLayout` was introduced later.
- Use `KaleidoscopeJIT` instead of `my cool jit` as the ModuleName, to
align with the final code.
Commit: 45c4ebb92ae393a541105c120e0dba2992237c03
https://github.com/llvm/llvm-project/commit/45c4ebb92ae393a541105c120e0dba2992237c03
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/docs/conf.py
Log Message:
-----------
[lldb] Enable MyST colon_fence and deflist extensions (NFC) (#201250)
Enable the colon_fence and deflist MyST parser extensions in the LLDB
docs configuration. This is a preparatory step for converting the
remaining reStructuredText documentation pages to Markdown, where these
two extensions are needed to translate RST admonition directives
(:::{note}) and definition lists.
Context:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Commit: ee20b106ec70d3494890a707a32ac677c64c409d
https://github.com/llvm/llvm-project/commit/ee20b106ec70d3494890a707a32ac677c64c409d
Author: Thrrreeee <shijinrui at bytedance.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
A bolt/test/X86/dwarf5-dwp-tsan-data-race.test
Log Message:
-----------
[BOLT] Fix data race in multi-threaded DWP type unit processing and DWP type unit duplication (#197359)
## Summary
This PR fixes a race condition in LLVM BOLT's
DIEBuilder::buildTypeUnits() that is triggered when DWARF5 split-DWARF
(.dwo/.dwp) inputs are processed with multi-threaded CU processing.
Concurrent invocations from different worker threads share the same DWP
type-unit state, which results in duplicated DIE extraction, assertion
failures, and intermittent crashes. The fix serializes buildTypeUnits()
for DWP inputs via a function-local static std::mutex, leaving the
non-DWO fast path unchanged.
## Problem Description
When BOLT processes DWARF debug info with --debug-thread-count=4
--cu-processing-batch-size=4 on testcase
dwarf5-df-types-dup-dwp-input.test, multiple threads concurrently call
DIEBuilder::buildTypeUnits() on shared DWP type units. Since type units
within a DWP file are shared across compilation units, multiple threads
may attempt to extract DIEs from the same type unit simultaneously,
violating the assertion.
**Note:** This is an intermittent failure — due to its dependence on
thread scheduling and interleaving, it does not reproduce on every run,
and may require multiple executions under the multi-threaded
configuration to surface, which is why it escaped earlier
single-threaded testing.
Commit: 6d7962db9397eefe3a287115d413fd4c562e4178
https://github.com/llvm/llvm-project/commit/6d7962db9397eefe3a287115d413fd4c562e4178
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCUDA/addr-of-overloaded-fn.cu
A clang/test/SemaCUDA/addr-of-overloaded-template-fn.cu
Log Message:
-----------
[clang][CUDA] Avoid ambiguity in host/device template specializations (#201049)
This commit changes SemaOverload to resolve an otherwise diagnosed
ambiguity between addresses of template specializations of functions
that are overloaded for both device and host. Similar to how it works
for non-templated function overloads, these changes prioritizes the
specializations that corresponds to the target of the owning function,
i.e. if compiling for host, the address of the host specialization takes
precedence over the device specialization and vice versa.
Fixes https://github.com/llvm/llvm-project/issues/199299
---------
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: a47bddccec30255619bb8c37fa59700e661d4e66
https://github.com/llvm/llvm-project/commit/a47bddccec30255619bb8c37fa59700e661d4e66
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
Log Message:
-----------
[clangd] Handle dependent call to function with explicit object parameter in InlayHintVisitor (#201264)
Dependent calls do not yet have the implicit object argument preprended
to the CallExpr's argument list, so the first argument should not be
expected to be present and dropped in this case.
Fixes https://github.com/llvm/llvm-project/issues/198588
Commit: 70bca0f9af520569daa85959c56d95b2d1cd0389
https://github.com/llvm/llvm-project/commit/70bca0f9af520569daa85959c56d95b2d1cd0389
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
A llvm/test/CodeGen/RISCV/rvv/xsfmm-insert-vsetvl-TMTK.mir
Log Message:
-----------
[RISCV] Make VSETTM/VSETTK not affect the VSETVL emit (#197890)
VSETTM/TK will modify VTYPE, but it only affects the TM/TK bits. This
modification is safe for other RVV operations. The TM/TK value will be
maintained in insertVSETMTK.
Commit: 866c39b61f475ca4dffd9eae280d146f59cdede6
https://github.com/llvm/llvm-project/commit/866c39b61f475ca4dffd9eae280d146f59cdede6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Remove no longer tested VP_MUL handling. (#201238)
We no longer use VP_MUL in SelectionDAG on RISC-V so this code isn't
tested.
This effectively reverts db6de1a20f75cbfe1024f41e64ad39def91fa70f
Commit: e0b580a724dc58afa119eb2ce25620ebd8d5f275
https://github.com/llvm/llvm-project/commit/e0b580a724dc58afa119eb2ce25620ebd8d5f275
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Remove untested visitVP_FADD and visitVP_FSUB. (#201247)
RISC-V no longer uses VP_FADD/FSUB in SelectionDAG.
Commit: f91f589aaa82514952f7a13b3e3bd2910d32559a
https://github.com/llvm/llvm-project/commit/f91f589aaa82514952f7a13b3e3bd2910d32559a
Author: JoshuaGrindstaff <99843934+JoshuaGrindstaff at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/test/MC/AMDGPU/mcexpr_amd.s
M llvm/test/MC/AMDGPU/mcexpr_amd_err.s
A llvm/unittests/Target/AMDGPU/AMDGPUMCExprTest.cpp
M llvm/unittests/Target/AMDGPU/CMakeLists.txt
Log Message:
-----------
[AMDGPU] Added min operation for MCExprs (#199746)
The min operation is needed in MC Expressions for a future change that
caps the max number of registers used for indirect calls.
---------
Co-authored-by: JoshuaGrindstaff <jgrindst at amd.com>
Commit: c7b4b4a33350e3805deae64f17d6185b184d7887
https://github.com/llvm/llvm-project/commit/c7b4b4a33350e3805deae64f17d6185b184d7887
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
Log Message:
-----------
[NVPTX] Fix the build after ce465594e239. (#201268)
ce465594e239 (#201177) added sm_90 / PTX ISA 7.8 instructions to
lower-aggr-copies.ll, so we need to guard the RUN line appropriately.
Commit: baa8da34e6745536288edb042e89871d89376469
https://github.com/llvm/llvm-project/commit/baa8da34e6745536288edb042e89871d89376469
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
A mlir/test/Dialect/SPIRV/IR/tosa-ops-dynamic.mlir
Log Message:
-----------
[mlir][spirv] Allow dynamic rescale parameter lengths (#200155)
The SPIR-V TOSA rescale verifier checked multiplier and shift lengths
with a direct equality against the input channel dimension. That rejects
otherwise valid operations when either side of the shape comparison is
dynamic.
Express the check with reusable dimension predicates so unranked or
dynamic dimensions pass, while static dimensions still enforce the
per-channel and scalar length requirements. Add dedicated dynamic-shape
op coverage for dynamic input channel dimensions and dynamic
multiplier/shift lengths.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 4a74b4472833d57e0ecfaaa5d06a2c607bcceeae
https://github.com/llvm/llvm-project/commit/4a74b4472833d57e0ecfaaa5d06a2c607bcceeae
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M orc-rt/include/orc-rt/NativeDylibManager.h
M orc-rt/lib/executor/NativeDylibManager.cpp
M orc-rt/lib/executor/sps-ci/NativeDylibManagerSPSCI.cpp
M orc-rt/unittests/NativeDylibManagerSPSCITest.cpp
M orc-rt/unittests/NativeDylibManagerTest.cpp
Log Message:
-----------
[orc-rt] Add required/weak-ref attribute to NativeDylibManager lookup. (#201272)
Replace the std::vector<std::string> argument to lookup() with a
SymbolLookupSet (a vector of (name, LookupFlags) pairs, where
LookupFlags is RequiredSymbol or WeaklyReferencedSymbol).
This brings NativeDylibManager more closely into alignment with the
SimpleExecutorDylibManager implementation in the LLVM OrcTargetProcess
library.
Commit: c264e07c2f3d9f25a2526e69926daea3a68be74b
https://github.com/llvm/llvm-project/commit/c264e07c2f3d9f25a2526e69926daea3a68be74b
Author: Konstantin Belochapka <konstantin.belochapka at sony.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M cross-project-tests/dtlto/dtlto-cache.test
M cross-project-tests/dtlto/savetemps-lock.test
M lld/COFF/LTO.cpp
M lld/ELF/LTO.cpp
M lld/test/ELF/dtlto/timetrace.test
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/DTLTO/CMakeLists.txt
M llvm/lib/DTLTO/DTLTO.cpp
A llvm/lib/DTLTO/DTLTODistributionDriver.cpp
A llvm/lib/DTLTO/DTLTOInputFiles.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/test/ThinLTO/X86/dtlto/timetrace.ll
M llvm/tools/llvm-lto2/CMakeLists.txt
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
[DTLTO] Refactor the DTLTO code. (#192629)
DTLTO implementation code has been moved from `llvm/lib/LTO/` to
`llvm/lib/DTLTO/`. This refactor does not change any externally visible
behavior, so existing DTLTO tests and documentation remain valid. The
move was done to reduce code duplication, improve maintainability, and
make it easier to adopt future performance improvements.
Commit: 9bb17a0092a16a3c72a4b701bda9271af02fcfb2
https://github.com/llvm/llvm-project/commit/9bb17a0092a16a3c72a4b701bda9271af02fcfb2
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/unittests/CMakeLists.txt
Log Message:
-----------
[clangd] Disable PCH reuse for ClangdTests (#201232)
Fixes https://github.com/llvm/llvm-project/issues/200999
Commit: 57b09398b60d6bc95993435e51989bfcc032ad49
https://github.com/llvm/llvm-project/commit/57b09398b60d6bc95993435e51989bfcc032ad49
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/src/unistd/linux/alarm.cpp
Log Message:
-----------
[libc] Fix alarm layout mismatch on 32-bit time64 (#201276)
Fixed alarm implementation on 32-bit architectures with 64-bit time_t
(like RISC-V 32-bit). The SYS_setitimer syscall on these platforms
expects the legacy 32-bit struct itimerval (with 32-bit tv_sec and
tv_usec). Convert the arguments to this layout before invoking the
syscall to avoid the kernel misinterpreting the timeout.
Assisted-by: Automated tooling, human reviewed.
Commit: d0af9c8e3f32c28e259ea90bbb179e713e62c384
https://github.com/llvm/llvm-project/commit/d0af9c8e3f32c28e259ea90bbb179e713e62c384
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Port 142ad48 (#201283)
Commit: c2ed0b1d825d7c75ca15b57812767ec3858c60db
https://github.com/llvm/llvm-project/commit/c2ed0b1d825d7c75ca15b57812767ec3858c60db
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
Log Message:
-----------
[CaptureTracking] Remove allocator comparison special case (#201143)
CaptureTracking had a special case that (incorrectly) reported
`captures(none)` for comparisons of allocation functions with null.
Remove this special case and return the correct
`captures(address_is_null)` result instead.
It seems like this doesn't have any practical benefit anymore, as things
like AA will ignore address-only captures nowadays.
Commit: 6e6c51be667e95ee456efdc6d28b2184ceb6ed32
https://github.com/llvm/llvm-project/commit/6e6c51be667e95ee456efdc6d28b2184ceb6ed32
Author: Vinay Deshmukh <vinay_deshmukh at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/__iterator/erase_if_container.h
M libcxx/include/__node_handle
M libcxx/include/__tree
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/__utility/default_three_way_comparator.h
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
M libcxx/include/__utility/try_key_extraction.h
M libcxx/include/map
M libcxx/include/version
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/from_range_associative_containers.h
M libcxx/test/std/containers/associative/map/compare.pass.cpp
M libcxx/test/std/containers/associative/map/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/at.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/size.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/map/types.pass.cpp
M libcxx/test/std/containers/container.node/node_handle.pass.cpp
M libcxx/test/std/containers/insert_range_maps_sets.h
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/support/CopyConstructible.h
M libcxx/test/support/is_transparent.h
M libcxx/test/support/private_constructor.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Make `<map>` `std::map` constexpr as part of P3372R3 (#134330)
Fixes https://github.com/llvm/llvm-project/issues/128660
Adds `constexpr` support for `std::map` as per P3372R3
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 6a7b8876153815cf3847d952614440e79e82fc86
https://github.com/llvm/llvm-project/commit/6a7b8876153815cf3847d952614440e79e82fc86
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/README.md
Log Message:
-----------
[libclc] Use generic spirv*-unknown-unknown clang triple for SPIR-V targets (#199618)
spirv-diff shows only numbering change to
spirv64-unknown-unknown/libclc.spv. No change in `llvm-spirv -to-text`
outputs. llvm-diff shows no change on reverse-translated bitcode files.
Also fixes a bug that spirv32-unknown-unknown was incorrectly using
64-bit triple.
Update README.md to use the generic target triple for SPIR-V targets.
Commit: 6b5bb08d3aa3f498b7bd9f6bb43376719bddfa60
https://github.com/llvm/llvm-project/commit/6b5bb08d3aa3f498b7bd9f6bb43376719bddfa60
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/test/CodeGen/target-data.c
M clang/test/Frontend/spirv-target-validation.c
Log Message:
-----------
Revert "[OpenCL] Allow mesa3d OS in spirv32 and spirv64 targets" (#200727)
Reverts llvm/llvm-project#197148
libclc will use generic target triple spirv32[64]-unknown-unknown for use in mesa.
Commit: edcafdb6af16350da3444ac6bde10897a4c4ceee
https://github.com/llvm/llvm-project/commit/edcafdb6af16350da3444ac6bde10897a4c4ceee
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
M lldb/test/API/commands/apropos/formatting/TestAproposFormatting.py
M lldb/test/API/commands/expression/multiline-completion/TestMultilineCompletion.py
M lldb/test/API/commands/expression/multiline-navigation/TestMultilineNavigation.py
M lldb/test/API/commands/gui/basic/TestGuiBasic.py
M lldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
M lldb/test/API/commands/gui/breakpoints/TestGuiBreakpoints.py
M lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
M lldb/test/API/commands/gui/spawn-threads/TestGuiSpawnThreads.py
M lldb/test/API/commands/gui/viewlarge/TestGuiViewLarge.py
M lldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
M lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py
M lldb/test/API/iohandler/resize/TestIOHandlerResize.py
M lldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py
M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
M lldb/test/API/iohandler/stdio/TestIOHandlerProcessSTDIO.py
M lldb/test/API/iohandler/unicode/TestUnicode.py
M lldb/test/API/repl/clang/TestClangREPL.py
M lldb/test/API/terminal/TestDisabledBreakpoints.py
M lldb/test/API/terminal/TestEditline.py
Log Message:
-----------
[lldb][test] Always call quit when tearing down pexpect tests (#201100)
Right now we manually have to call quit at the end of each pexpect test.
This patches makes this call automatic.
This also makes tests that missed the call and where previously waiting
for a timeout faster. For example, TestClangREPL.py now only takes about
10 seconds to run instead of 1 minute.
Commit: 97bb7ec082b675cabae8c9e5001a8a8c14d03731
https://github.com/llvm/llvm-project/commit/97bb7ec082b675cabae8c9e5001a8a8c14d03731
Author: Xavier Roche <xavier.roche at algolia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/include/__type_traits/integer_traits.h
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.verify.cpp
Log Message:
-----------
[libc++] Reject cv-qualified types in __is_signed/unsigned_integer_v (#200377)
`__is_signed_integer_v` and `__is_unsigned_integer_v` previously
admitted cv-qualified types, contradicting `[basic.fundamental]/p1-2`.
The fix adds `__is_unqualified_v<_Tp>` to both predicates.
Reported by @jwakely on
[#185027](https://github.com/llvm/llvm-project/pull/185027#issuecomment-4574289895).
Trait-level tests cover all consumers via the shared concept; cast-like
templates (`in_range`, `saturating_cast`, `extents`) get explicit
cv-rejection tests.
Assisted-by: Claude (Anthropic)
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 8d42953f1518d3123ad01e4e9ccbed67042e08af
https://github.com/llvm/llvm-project/commit/8d42953f1518d3123ad01e4e9ccbed67042e08af
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port c264e07 (#201292)
Commit: 7b0d00f374097fc364ff7a40c846bb98f4950945
https://github.com/llvm/llvm-project/commit/7b0d00f374097fc364ff7a40c846bb98f4950945
Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/CommandGuide/llvm-strip.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/ObjCopy/ObjCopy.h
M llvm/lib/ObjCopy/Archive.cpp
M llvm/lib/ObjCopy/ObjCopy.cpp
A llvm/test/tools/llvm-objcopy/verbose.test
M llvm/tools/llvm-objcopy/CommonOpts.td
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
Log Message:
-----------
[llvm-objcopy] Add --verbose option to llvm-strip/llvm-objcopy (#196611)
Added `--verbose / -v` option to `llvm-strip` and `llvm-objcopy` as part
of #123041, matching GNU strip's output format. When the flag is passed,
the tool prints one line per file processed.
copy from `'input.o' [elf64-x86-64] to 'output.o' [elf64-x86-64]`
Commit: e579340c15c1c2fa814351cde0352e9be5c4878c
https://github.com/llvm/llvm-project/commit/e579340c15c1c2fa814351cde0352e9be5c4878c
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU][NFC] Use generated hasMinMaxI64Insts subtarget feature query (#201052)
Replace the custom GCNSubtarget::hasIntMinMax64 helper with the
generated hasMinMaxI64Insts from AMDGPUSubtargetFeature.
Commit: 1bd2a0ecbafce9fbea329f1b06bb3987126c4581
https://github.com/llvm/llvm-project/commit/1bd2a0ecbafce9fbea329f1b06bb3987126c4581
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
A llvm/test/CodeGen/SystemZ/vec-move-25.ll
Log Message:
-----------
[SystemZ] Don't zero extend after a VLGV[BHF] instruction. (#201109)
The VLGV already zero extends up to 64 bits, so a following zero extend
is not needed.
New TableGen patterns for these cases as well as a handling to avoid
tryRISBGZero() selecting i64 cases.
Commit: f1620435a384c56e718a80ca0b2695285b6ce978
https://github.com/llvm/llvm-project/commit/f1620435a384c56e718a80ca0b2695285b6ce978
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/test/support/nasty_string.h
Log Message:
-----------
[libc++][test] Make narrowing in `nasty_char_traits::to_char_type` more explicit (#138375)
Previously, the cast was allowed due to
[P0960R3](https://wg21.link/p0960r3), which made narrowing implicitly
done in the parenthesized aggregate initialization. MSVC doesn't seem
happy with such an implicit manner, despite not being
copy-initialization or list-initialization, and emits warning C4242.
This patch makes the narrowing more explicit to MSVC with `static_cast`.
Follows up 3e7be494f84e51d5f4245d6f39e380a500f226a6.
Commit: 74bf9b5666a6450ef87b130070b5df3da365183d
https://github.com/llvm/llvm-project/commit/74bf9b5666a6450ef87b130070b5df3da365183d
Author: Martin Wehking <martin.wehking at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_fp_int_cvtn_x2.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_int_fp_cvt.c
M clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
M clang/utils/TableGen/SveEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts_x2.ll
Log Message:
-----------
[AArch64] Add 9.7 CVT data processing intrinsics (#186807)
Add Clang intrinsics
svcvtt_f16_s8, _f32_s16, _f64_s32, _f16_u8, _f32_u16, _f64_u32
svcvtb_f16_s8, _f32_s16, _f64_s32, _f16_u8, _f32_u16, _f64_u32
+ lowering to AARCH64 Instrs. SCVTF, SCVTFLT, UCVTF, UCVTFLT
and Clang instrinsics:
svcvtn_s8[_f16_x2], _s32[_f64_x2], _u8[_f16_x2], _u16[_f32_x2],
_u32[_f64_x2]
+ lowering to AARCH64 Instrs. FCVTZSN, FCVTZUN
The Clang intrinsics are guarded by the sve2.3 and sme2.3 feature flags.
ACLE Patch:
https://github.com/ARM-software/acle/pull/428
The patch reuses `IsReductionQV` for resolving the overload of
intrinsics.
This naming is misleading and needs changed
Commit: e202047408e85b061a936a985ee9fe1e5b651633
https://github.com/llvm/llvm-project/commit/e202047408e85b061a936a985ee9fe1e5b651633
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/span
M libcxx/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp
R libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.verify.cpp
Log Message:
-----------
[libc++][span] LWG4243: `as_bytes`/`as_writable_bytes` is broken with `span<volatile T>` (#200993)
Closes #171317
Commit: 6bfca10b7a9da1b35717f16a820c8e837f87ea17
https://github.com/llvm/llvm-project/commit/6bfca10b7a9da1b35717f16a820c8e837f87ea17
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[AArch64] Tidy up getMemOpInfo cases where Width == Scale (NFC) (#201153)
Commit: 39658a8fa9d1900f90f218a5eeeb205c227e1262
https://github.com/llvm/llvm-project/commit/39658a8fa9d1900f90f218a5eeeb205c227e1262
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang-rt/test/CMakeLists.txt
Log Message:
-----------
[Flang-RT][test] Add flang-rt-mod dependency (#201297)
Flang-RT's tests require the modules since #198793. #171515 did not
account for this additional dependency.
Fixes #201254
Commit: 74f1c9417e916aed314fd429ce2faee49668ffa6
https://github.com/llvm/llvm-project/commit/74f1c9417e916aed314fd429ce2faee49668ffa6
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/AST/ASTContext.cpp
A clang/test/Modules/pr195905.cppm
Log Message:
-----------
[C++20] [Modules] Ask for definition before calling isInlineDefinitionExternallyVisible (#201291)
Close https://github.com/llvm/llvm-project/issues/195905
The root cause of the problem is, after decl merging, one of the
destructor for `base` (see test case) is chosen, and its body is not
deserialized for performance as we alreday see its body in current TU.
And then, the code call
FunctionDecl::isInlineDefinitionExternallyVisible from the destructor
without a serialized body, but
FunctionDecl::isInlineDefinitionExternallyVisible's implementation
requires to see a body. Then assertion failed.
Decl merging and function decl merging is common. We can't always make
sure we find the definition without checking. It is much more
fundamental. So the PR doesn't try to touch the decl merging mechanism
or how we handle the result of lookups.
We tried to fix the issue at the calling point to make sure we have a
definition for isInlineDefinitionExternallyVisible. Other use of
isInlineDefinitionExternallyVisible does the similar thing.
Commit: 1023990a57d5824a6fc2f7a899b8f36977bbcf66
https://github.com/llvm/llvm-project/commit/1023990a57d5824a6fc2f7a899b8f36977bbcf66
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Semantics/CMakeLists.txt
R flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/check-omp-variant.cpp
Log Message:
-----------
[flang][OpenMP] Rename check-omp-metadirective.cpp (NFC). (#201159)
Both METADIRECTIVE and DECLARE VARIANT fall into the "variant
directives" category, so check-omp-variant.cpp is a more accurate name
for the file that hosts their semantic checks.
Suggested in
https://github.com/llvm/llvm-project/pull/198799#issuecomment-4576970335
Commit: ceca0519375094ca3c950bbdc2b8bf3f79cdaf4b
https://github.com/llvm/llvm-project/commit/ceca0519375094ca3c950bbdc2b8bf3f79cdaf4b
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-fpr.ll
Log Message:
-----------
[AArch64] Fix arm64-zero-cycle-zeroing-fpr.ll check lines(NFC) (#200192)
Fix `mov`->`fmov` + add `--match-full-lines` to avoid such a pitfall
again.
Commit: 1a03c29cab6bc8c67023181cfdafbd5e0dbac815
https://github.com/llvm/llvm-project/commit/1a03c29cab6bc8c67023181cfdafbd5e0dbac815
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/asm-printer-check-vcc.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
M llvm/test/CodeGen/AMDGPU/phys-partial-liveness.mir
M llvm/test/CodeGen/AMDGPU/resource-usage-crash-unhandled-reg.mir
M llvm/test/CodeGen/AMDGPU/sched-image-sample-post-RA.mir
M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
M llvm/test/MC/AMDGPU/gfx11_asm_t16_err.s
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
Log Message:
-----------
[AMDGPU] Remove definition of hi16 for scalar registers (#197467)
The sub-register is not supported by the back-end pipelines and will
eventually cause an assert. With this change machine verifier can
enforce that hi16 is not being used. Asm parser is also updated to error
on invalid sub-registers, instead of asserting.
This is a follow up change on #188781.
Assisted-by: Claude Code
Commit: d27b4b6c1c15d3e99d35749cefcf296500b0944e
https://github.com/llvm/llvm-project/commit/d27b4b6c1c15d3e99d35749cefcf296500b0944e
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/cast-costs.ll
Log Message:
-----------
[LV][NFC] Add another case to cast-costs.ll test (#201117)
Commit: 75dece729ccdbae01e1d09d4adf9604ea1103905
https://github.com/llvm/llvm-project/commit/75dece729ccdbae01e1d09d4adf9604ea1103905
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/statically-constructed-objects.cpp
Log Message:
-----------
[clang-tidy] Avoid evaluating value-dependent static initializers in fuchsia-statically-constructed-objects (#201287)
Static data member initializers in class templates could crash the check
when they used non-type template parameters. This commit skips them
during analysis.
Closes https://github.com/llvm/llvm-project/issues/201110
Commit: 62eaec6c723129d0db2c2e7112fcf1579a94f0a6
https://github.com/llvm/llvm-project/commit/62eaec6c723129d0db2c2e7112fcf1579a94f0a6
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
Log Message:
-----------
[LV] Support partial reduce subs/fsubs without a mul operand (#199664)
This allows the `UpdateR(PrevValue, ext(...))` form for fsub/sub updates
(i.e, AddWithSub or Sub reductions). For sub reductions the
codegen/handling is identical to add reductions (with the sub handled
out of loop). For AddWithSub, reductions the sub is handled in-loop with
a NegatedExtendedReduction VP expression, which the encapsulates
`reduce.[f]add(neg(ext(op)))`.
Commit: 5d0074316a86de1019c5850584f5b5cdde9edefa
https://github.com/llvm/llvm-project/commit/5d0074316a86de1019c5850584f5b5cdde9edefa
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/div-rem-fast-path.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
Log Message:
-----------
[AMDGPU] Fix LowerDIVREM24 for the unsigned case (#196418)
This PR fixes the miscompilation bug found in
https://github.com/llvm/llvm-project/issues/194829.
The test revealed that there were missing checks for the unsigned case
in LowerDIVREM24. Without those checks, the optimization is wrongly
applied assuming that the division operands do fit in 24-bit integers,
triggering the miscompilation. One of the operands was 0xFFFFFFFF.
The bug is a regression introduced in
https://github.com/llvm/llvm-project/commit/81a709503d378c188462465918df161d664c4205.
The commit refactored the conditions that validated whether the
optimization could be applied. It moved them from each call site (signed
and unsigned cases) into the function, but missed the ones for the
unsigned case.
---------
Co-authored-by: Carlo Bertolli <carlo.bertolli at amd.com>
Commit: fb6153a65039b06319cb4b9ce2fafa84d75daa6b
https://github.com/llvm/llvm-project/commit/fb6153a65039b06319cb4b9ce2fafa84d75daa6b
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/ShrinkWrap.cpp
A llvm/test/CodeGen/RISCV/shrinkwrap-save-restore-fixed-reg.ll
Log Message:
-----------
[CodeGen] Fix ShrinkWrap crash when FindIDom receives empty predecessor/successor list (#198995)
When using `-msave-restore` with `-ffixed-x5` on RISC-V,
`canUseAsPrologue` returns false for all blocks because the save-restore
prologue requires t0 (x5) which is reserved. This causes the shrink-wrap
loop to keep searching for a valid save point, eventually reaching the
entry block. On the next iteration, it calls FindIDom with the entry
block's empty predecessor list, triggering an assertion in
findNearestCommonDominator.
Fix by returning nullptr from FindIDom when the block list is empty,
which signals the caller to stop searching and give up the optimization.
Fixes #166759
Commit: 1bde29e83bc4d077d9f553d89846c4eba402f3e6
https://github.com/llvm/llvm-project/commit/1bde29e83bc4d077d9f553d89846c4eba402f3e6
Author: Osman Yasar <osmanyas05 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-narrow-binop-feeding-add.mir
Log Message:
-----------
[GlobalISel] Add `combine_or_of_and` from SelectionDAG (#198754)
This PR adds the pattern `// fold or (and x, y), x --> x` from
SelectionDAG.
Commit: 4cfaaa679114c690edec268cb53d19d198c71bc2
https://github.com/llvm/llvm-project/commit/4cfaaa679114c690edec268cb53d19d198c71bc2
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
Log Message:
-----------
[NFC][mlir][bufferization] Remove getMemRefType() helper (#199034)
Replace getMemRefType() helper with a direct usage of
options.unknownTypeConverterFn() hook. This does not change any
behaviour since all the existing call-sites would already implicitly
call the hook. The major difference could have been in the handling of
the memref layout but this does not seem to be properly handled anyhow.
As the `getMemRefType()` helper is removed, there are two cases to keep
in mind for downstream users that need to adjust the code accordingly:
1. For creating memrefs without layouts, call
`options.unknownTypeConverterFn` hook directly (the same way this patch
is doing for upstream)
2. For creating memrefs with layouts (assuming, custom ones), please
(re)implement the same helper. As only ranked memrefs can have a layout,
a call to `mlir::MemRefType::get(shape, elementType, /*your custom
layout=*/myLayout, memorySpace)` should be sufficient.
Commit: 3419e724ad5d1cf027da971581ae31c36a9dec51
https://github.com/llvm/llvm-project/commit/3419e724ad5d1cf027da971581ae31c36a9dec51
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A bolt/docs/BOLTAArch64OptimizationStatus.rst
Log Message:
-----------
[AArch64][BOLT] Document AArch64 optimization flag support (#198282)
BOLTAArch64OptimizationStatus.rst aims to document default-off,
user-enabled passes and their status (supported/unsupported) on AArch64.
``--simplify-rodata-loads`` has a patch in review, so I have documented
its current status.
Discussion on RST/MD:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
Commit: 7496ee9be8d2d4467706615a975a4d61ccb3264d
https://github.com/llvm/llvm-project/commit/7496ee9be8d2d4467706615a975a4d61ccb3264d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/sincos.ll
Log Message:
-----------
[SLP][NFC]Add a test with non-vectorized sincos, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/201312
Commit: c958962c157b728e153b6232b800cbf556812545
https://github.com/llvm/llvm-project/commit/c958962c157b728e153b6232b800cbf556812545
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll
Log Message:
-----------
[LoopInterchange] Assume LCSSA PHI incoming value may not be instruction (#201069)
This patch fixes one of the assertion failures reported in #200819. The
root cause in this case is that `moveLCSSAPhis` assumes the incoming
values of LCSSA PHIs are always instructions and unconditionally casts
them to `Instruction`.
This assumption does not always hold, especially when the incoming value
is a constant. For such LCSSA PHI nodes, it's enough to merely replace
all the uses with its incoming value.
Commit: 94c0e6fb2536cb2c0dbd205fadd4a8e929388b1a
https://github.com/llvm/llvm-project/commit/94c0e6fb2536cb2c0dbd205fadd4a8e929388b1a
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/include/__locale
M libcxx/include/__locale_dir/messages.h
M libcxx/include/__locale_dir/money.h
M libcxx/test/libcxx/localization/locales/use_facet.abort.pass.cpp
A libcxx/test/libcxx/localization/nodiscard.verify.cpp
Log Message:
-----------
[libc++][locale] Applied `[[nodiscard]]` (#200726)
`[[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/localization
Remarks:
- Virtual functions are not marked `[[nodiscard]]` because they are not
expected to be directly called by users.
- `messages::open` is marked `[[nodiscard]]` because it is logically
similar to `operator new` and its friends.
Commit: e2efa2e958270e0f21d9db2aa9a393006c9d6d0b
https://github.com/llvm/llvm-project/commit/e2efa2e958270e0f21d9db2aa9a393006c9d6d0b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/phi-vectorization-budget.ll
Log Message:
-----------
[SLP] Gather wide PHI bundles to avoid compile-time blow-up
Vectorizing a PHI bundle recurses into one operand bundle per incoming
value, so the analysis cost grows with bundle_size * num_incoming_values.
With revectorization, very wide PHIs from jump threading make
opt -O3 hang for minutes/hours. Such PHIs are not profitable to vectorize,
so gather the bundle once that product exceeds a budget (new hidden option
-slp-phi-vectorization-budget, default 1024).
Fixes #201181
Reviewers: hiraditya, bababuck, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/201227
Commit: c7ecad5c289c67829d8d43013c9ac46bc92ae4e6
https://github.com/llvm/llvm-project/commit/c7ecad5c289c67829d8d43013c9ac46bc92ae4e6
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/DebuggerControllerBase.py
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/DextIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/LocIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/Inputs/header.h
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_function.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_line.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_file_paths.cpp
Log Message:
-----------
[Dexter] Add basic debugging support for structured scripts (#197418)
This patch adds a debugger controller for structured scripts. This
controller operates as follows:
- !where nodes at the root of the script (currently the only kind
allowed) have function or line breakpoints set to cover them.
- Whenever the debugger stops, the controller will examine the stack to
determine whether any !where nodes are in scope.
- While any !where is in scope, its associated !values will be evaluated
in the debugger and the results stored, and the debugger will
single-step.
- When no !where is in scope, the debugger will continue.
This is a simplified implementation compared to the final version, as it
is missing support for nested !where nodes, Scope evaluation, and
conditions/hit counts; these will be added in later commits.
Commit: 869be014cf9a02f26ad938cc40fa83dfb62e90f9
https://github.com/llvm/llvm-project/commit/869be014cf9a02f26ad938cc40fa83dfb62e90f9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
Log Message:
-----------
[AMDGPU] Diagnose unsupported permlane16/mov.dpp8/tanh intrinsics (#200585)
Commit: 2fabed5f49d950b669b9f9a5a624d61aa8bdeda0
https://github.com/llvm/llvm-project/commit/2fabed5f49d950b669b9f9a5a624d61aa8bdeda0
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
A llvm/test/CodeGen/SPIRV/cloned-funcs-metadata-oob.ll
Log Message:
-----------
[SPIR-V] Diagnose out-of-bounds argument index in function type metadata (#200601)
The argument index in spv.cloned_funcs/spv.mutated_callsites metadata
was used to index the parameter list with only a lower bound assert
Add boundaries check it and report_fatal_error rather than silently
miscompiling
Commit: 66ceecd18b654a4e94c70d2a8d7239114e2705cf
https://github.com/llvm/llvm-project/commit/66ceecd18b654a4e94c70d2a8d7239114e2705cf
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/asm-printer-check-vcc.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
M llvm/test/CodeGen/AMDGPU/phys-partial-liveness.mir
M llvm/test/CodeGen/AMDGPU/resource-usage-crash-unhandled-reg.mir
M llvm/test/CodeGen/AMDGPU/sched-image-sample-post-RA.mir
M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
M llvm/test/MC/AMDGPU/gfx11_asm_t16_err.s
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
Log Message:
-----------
Revert "[AMDGPU] Remove definition of hi16 for scalar registers" (#201309)
Reverts llvm/llvm-project#197467 as it causes a buildbot failure.
Commit: 90d907b54ca222271439467c5f42073625211fed
https://github.com/llvm/llvm-project/commit/90d907b54ca222271439467c5f42073625211fed
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.inst.ll
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[AMDGPU] Add llvm.amdgcn.s.prefetch.inst intrinsic (#192440)
- New intrinsic
- New SubtargetFeature for all s_prefetch_inst*/data*
- Support blockaddress
Commit: 8a81ecc4e7cfc3b63041cc28e620d339f1933cb6
https://github.com/llvm/llvm-project/commit/8a81ecc4e7cfc3b63041cc28e620d339f1933cb6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/avx512-trunc.ll
Log Message:
-----------
[X86] avx512-trunc.ll - add basic masked trunc coverage for #200617 (#201318)
Commit: d515a6e5381d967f81f5d18d1b2a7a3255b48dc6
https://github.com/llvm/llvm-project/commit/d515a6e5381d967f81f5d18d1b2a7a3255b48dc6
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/include/llvm-libc-types/CMakeLists.txt
Log Message:
-----------
[libc] Remove redundant file(COPY) for x86_64 types (#201317)
Removed the redundant file(COPY) command from the x86_64 architecture
check in libc/include/llvm-libc-types/CMakeLists.txt.
This command eagerly copies the x86_64 directory to the binary
directory, which is redundant because individual headers are already
copied by their respective add_header targets. It also preserved
read-only depot permissions from the source tree, making the build
directory read-only and causing rm -rf to fail.
Assisted-by: Automated tooling, human reviewed.
Commit: 7dc66bf2353d09a84dfa6aca70942b3902d94f6e
https://github.com/llvm/llvm-project/commit/7dc66bf2353d09a84dfa6aca70942b3902d94f6e
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/u_char.h
A libc/include/llvm-libc-types/u_int32_t.h
A libc/include/llvm-libc-types/uint.h
M libc/include/sys/types.yaml
Log Message:
-----------
[libc] Add BSD/SysV compatibility types to sys/types.h (#201314)
Added u_char, u_int32_t, and uint to sys/types.h. These types are
commonly used by legacy and compatibility-reliant libraries like libedit
and libcap.
Assisted-by: Automated tooling, human reviewed.
Commit: fb2233e688d089b1d7bf9a8032cd92a6de2ae213
https://github.com/llvm/llvm-project/commit/fb2233e688d089b1d7bf9a8032cd92a6de2ae213
Author: Luke Lau <luke at igalia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Move mask intrinsics out of VP section (#201282)
Somehow llvm.get.active.lane.mask and
llvm.loop.dependence.{war,raw}.mask ended up in the VP intrinsics
section of the LangRef. This PR pulls them out into a new "Vector Mask
Intrinsics" section.
Commit: f86688b3a16be15f7a50132d0497fcef6110afd1
https://github.com/llvm/llvm-project/commit/f86688b3a16be15f7a50132d0497fcef6110afd1
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/function-attr.ll
R llvm/test/Transforms/LoopInterchange/memory-attr.ll
Log Message:
-----------
[LoopInterchange] Rename test to `function-attr.ll` (NFC) (#201330)
The new name is more appropriate if we want to add further test cases.
Commit: 2ba8bebb270d64a486096b6258f8ea6f764a630c
https://github.com/llvm/llvm-project/commit/2ba8bebb270d64a486096b6258f8ea6f764a630c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/symbol.cpp
M flang/test/Semantics/OpenMP/requires-modfile.f90
Log Message:
-----------
[flang][OpenMP] Refactor interface of WithOmpDeclarative (#200876)
The two major changes are that:
1. The clause sets are not optional anymore. In the absence of any
declarative directives (REQUIRES in this case), the set will simply be
empty.
2. The optional memory order member will serve as the value of the
argument to the ATOMIC_DEFAULT_MEM_ORDER clause, and will only be
meaningful (and required) when the clause is a member of the clause set.
Additionally,
- Rename the RequiredClauses type alias to OmpClauseSet, since it will
be reused for other purposes in the future.
- Remove the has_* functions since they are not necessary, and when more
members are added these functions will only add to the clutter.
- Add a version_ member for printing directive/clause names.
Commit: 23172e419c567115a7a00e48debae327c502fe03
https://github.com/llvm/llvm-project/commit/23172e419c567115a7a00e48debae327c502fe03
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
[NFC][AMDGPU] Introduce AMDGPU::FlatAddrSpace enum to replace uint64_t FLAT discriminant (#200431)
This is the reapply of https://github.com/llvm/llvm-project/pull/200396 with renamed AMDGPU::FlatVariant to AMDGPU::FlatAddrSpace to avoid name conflict with function arguments (build error on gcc)
Replace the uint64_t parameter used as a FLAT address-space segment discriminant in isLegalFLATOffset, splitFlatOffset, allowNegativeFlatOffset with a typed enum class to prevent usage of raw TSFlags.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 8943bfbd08202aae1e85181082a1ec337e6a8b0b
https://github.com/llvm/llvm-project/commit/8943bfbd08202aae1e85181082a1ec337e6a8b0b
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
Log Message:
-----------
[AMDGPU] Do not scale private alloca size when using flat-scratch (#201142)
When using flat-scratch, the `scratch_load/scratch_store` instructions
scale the stack offset by the wavefront size on their own.
Scaling the alloca-size by the wave-front size lead to accesses outside
of the private-memory limit.
Commit: 0385a1b4e839ed35bf44bb5391999c3d48a8e2f7
https://github.com/llvm/llvm-project/commit/0385a1b4e839ed35bf44bb5391999c3d48a8e2f7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avg-mask.ll
M llvm/test/CodeGen/X86/avx512-trunc.ll
Log Message:
-----------
[X86] combineSelect - fold select(c,trunc(x),y) -> X86ISD::MTRUNC(x,y,c) for non-BWI targets (#201339)
Fixes #200617
Commit: 27fd70f849f417db18ac581457f0419332a7a1fa
https://github.com/llvm/llvm-project/commit/27fd70f849f417db18ac581457f0419332a7a1fa
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[clang][NFC] Introduce `LangOptions::isCompatibleWith(ClangABI)` (#201067)
This slightly improves readability and reduces the probability of
off-by-one errors.
Commit: 799af5d80d6335cd10de91506b6beb7c043278eb
https://github.com/llvm/llvm-project/commit/799af5d80d6335cd10de91506b6beb7c043278eb
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-vcnt.ll
Log Message:
-----------
[AArch64][GlobalISel] Add handling for cls intrinsic (#200440)
Neon intrinsic neon.cls wasn't linked to the generic node G_CTLS.
Add in this link in Legalisation (LegalizeIntrinsic), to allow the intrinsic to properly lower.
Commit: d67b41a20ca55b47f4d09bdba609fc305a9d2484
https://github.com/llvm/llvm-project/commit/d67b41a20ca55b47f4d09bdba609fc305a9d2484
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/clmul-vector.ll
Log Message:
-----------
[X86] Add clmul vector allones baseline tests for #200592 (#201321)
Commit: 906968b379d2d591299b677868e4364e0ea1b5a0
https://github.com/llvm/llvm-project/commit/906968b379d2d591299b677868e4364e0ea1b5a0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopInterchange/function-attr.ll
Log Message:
-----------
[LoopInterchange] Add tests for func attributes called in loops (NFC) (#201331)
LoopInterchange has special handling for call instructions. In general,
loops that contain call instructions are not legal to interchange, but
if a call satisfies certain conditions, we allow the interchange to
proceed. Currently, the legality checker only verifies whether the call
reads or writes memory. However, as pointed out in
https://github.com/llvm/llvm-project/pull/200828#issuecomment-4593914293,
we also need to ensure that the call does not diverge. Otherwise, an
illegal interchange may occur.
This patch adds test cases that demonstrate the issue, which will be
fixed in a follow-up patch.
Commit: b1d5d7e3237ac5be660f82c71ec7323d6db7b724
https://github.com/llvm/llvm-project/commit/b1d5d7e3237ac5be660f82c71ec7323d6db7b724
Author: John Brawn <john.brawn at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
Log Message:
-----------
[VPlan] Don't use the legacy cost model for loop conditions (#156864)
The current behaviour of using the legacy cost model for instructions
that compute the loop exit condition gets the wrong result when the loop
has been transformed to use a different exit condition, e.g. when have
tail-folded predicated vectorization the exit condition is based on the
predicate vector.
Fix this by adding cost computation for BranchOnCount and removing the
restriction on computing the cost for scalar ICmp/FCmp, and removing the
use of the legacy cost model for loop exit conditions.
This causes quite a lot of changes to expected output in tests. Some of
these are just changes to the -debug output, others are choosing a
different VF due to previously over or under-estimating the cost, and in
others the minimum trip count has changed as we now compute the cost for
compares in the middle block.
Commit: 0fd2402e94447ae9ae77e319cc8e312b97e5a30e
https://github.com/llvm/llvm-project/commit/0fd2402e94447ae9ae77e319cc8e312b97e5a30e
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M offload/ci/hip-tpl.py
Log Message:
-----------
[HIP] Remove explicit compiler-rt from bot recipe (#201329)
The same change was done to the AnnotatedBuilder script recently. Let's
keep them in sync.
https://github.com/llvm/llvm-zorg/pull/861
Commit: 52cf94a82eabfe70d417c17a3ab38736ded4938b
https://github.com/llvm/llvm-project/commit/52cf94a82eabfe70d417c17a3ab38736ded4938b
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
M llvm/test/CodeGen/AMDGPU/widen_extending_scalar_loads.ll
Log Message:
-----------
[AMDGPU] Drop !noundef when widening sub-DWORD constant loads (#201085)
The widened i32 load reads bytes outside the original sub-DWORD load, so
new op cannot claim !noundef
Commit: 70d62e1e10907e1bd6dd0e92968acbf6fe58af37
https://github.com/llvm/llvm-project/commit/70d62e1e10907e1bd6dd0e92968acbf6fe58af37
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
Log Message:
-----------
[Clang] Rework LTO mode selection to be a Toolchain property (#201155)
Summary:
Currently, the LTO mode is a property of the Driver, which makes sense
because it is used to set up phases. However, we currently have `-flto`
and `-foffload-lto`, which is a split that doesn't fully work with the
full context of a heterogenous compilation as it is 'all-or-nothing'.
This PR seeks to be mostly NFC for now, just moving the queries to a
per-toolchain interface rather than the static driver mode setting we
have right now. The *single* use of this before ToolChains are created
is for the Webassembly toolchain to set an include path. This is now
just a direct check on the flag, which is consistent. In the future they
could shift to fat LTO objects as well.
The main goal for the PR is to allow the GPU / Offloading toolchains to
specify their "real" LTO behavior. Right now SPIR-V and AMDGCN both
default to LTO, but rather than re-use the LTO handling we hack through
the driver phases to override it. Allowing this split would let us
heavily simplify this logic.
Co-authored-by: Cursor <cursoragent at cursor.com>
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 911eddeed7ba2359c953396afce934fee269f50e
https://github.com/llvm/llvm-project/commit/911eddeed7ba2359c953396afce934fee269f50e
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/include-omp-header.f90
M flang/test/lit.cfg.py
M openmp/module/CMakeLists.txt
Log Message:
-----------
[Flang] Fix omp_lib.h location and search path (#201104)
Before this PR, omp_lib.h is emitted to `${PREFIX}/include` or
`${PREFIX}/lib/clang/<version>/include` (install prefix) and
`${PREFIX}/runtime/src/omp_lib.h` (builddir prefix). It is never found
there because the driver only adds `${PREFIX}/include/flang/OpenMP` to
the include path.
Fix the `omp_lib.h` include by using the same mechanism as the
omp_lib.mod; that is, move it to
`${PREFIX}/lib/clang/<version>/finclude/flang/<target-triple>`. The
search path is already added by the driver via
`-fintrinsics-modules-path` by the driver. Although omp_lib.h currently
does not contain anything target-specific, it could do so in the future
and I don't think it is worth the effort to add a mechanism without the
target triple. It should also me consistent with omp_lib.mod.
The changes in detail consist of:
1. Move the omp_lib.h output in the builddir to
`${RUNTIMES_OUTPUT_RESOURCE_MOD_DIR}`. This already takes care of
whether it is a bootstrapping build or not.
3. Move the omp_lib.h install dir to
`${RUNTIMES_INSTALL_RESOURCE_MOD_PATH}`.
4. Remove the implicit search path `include/flang/OpenMP` from the
frontend. There is nothing in there anyway.
5. Hardcoding the include search path for testing to the
`LLVM_RUNTIME_TARGETS=default` build becomes unnecessary. This was way
the `include-omp-header.f90` test was still passing, although it would
not work outside the regression tests. Essentially, it tested
lit.site.cfg, not the driver.
6. Replace the old `include-omp-header.f90` test. It created a temporary
`omp_lib.h` that interferes with any other test that use `include
omp_lib.h` (there currently isn't but I originally intended to add the
replacement as an additional omp_lib.h test which resulted in a flaky
test while the original test was there). Due to how the %flang(_fc1)
substitution works, lookup order may also vary.
Commit: e5332f3ea1766a0cfaa1a50a4db9f78c9d39cd3b
https://github.com/llvm/llvm-project/commit/e5332f3ea1766a0cfaa1a50a4db9f78c9d39cd3b
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/lib/MC/GOFFObjectWriter.cpp
Log Message:
-----------
[SystemZ][GOFF] Implement reset() for GOFFObjectWriter (#201197)
The reset() methods is used to free memory before the object is
destructed or reused. This change adds this functionality to the GOFF
writer.
Commit: c689c165ba2723285258975a14cd562d41d059ab
https://github.com/llvm/llvm-project/commit/c689c165ba2723285258975a14cd562d41d059ab
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/src/__support/FPUtil/bfloat16.h
M libc/test/src/__support/FPUtil/bfloat16_test.cpp
Log Message:
-----------
[libc] Add compound assignment operator overloads for BFloat16 (#201301)
The current Bfloat16 has normal operator overloads `+` , `-` , `=`,
`!=`, `*`, & `/`.
Later during a function failure `*=` was added in
https://github.com/llvm/llvm-project/pull/182882
For completeness the rest of the operators: `/=`, `+=`, `-=` are added
These are added along with some smoke test .
Commit: a2369b9743391351b1dd4a5c38fb61e295ff7088
https://github.com/llvm/llvm-project/commit/a2369b9743391351b1dd4a5c38fb61e295ff7088
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[Clang] Fix leftover use of old LTO path (#201360)
Summary:
This was accidentally missed when I merged the refactor because it
showed up after I made the PR and didn't have any merge conflicts I
noticed.
Commit: ef4fb183a8d5c0d1910f7b5b6776ba669d6795ef
https://github.com/llvm/llvm-project/commit/ef4fb183a8d5c0d1910f7b5b6776ba669d6795ef
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
Log Message:
-----------
[flang][hlfir] Resolve shape_of users when bufferizing eval_in_mem (#201214)
A follow-up to #197814.
Example:
```fortran
bmat = matmul(mat, mat) ! bmat is allocatable
```
In this code, `SeparateAllocatableAssign` sizes the reallocation with an
`hlfir.shape_of` of the RHS. Once the `matmul` is lowered to
`hlfir.eval_in_mem`, that `shape_of` is an extra user, so
`EvaluateIntoMemoryAssignBufferization` erases the `eval_in_mem` while
it's still used, hitting a `use-after-erase` assertion at `-O2`.
Fix: in `OptimizedBufferization`, redirect a `shape_of` user to the
`eval_in_mem`'s shape operand before erasing it.
Commit: a7bfea843c73c9b48feb1b94c996924d2881f362
https://github.com/llvm/llvm-project/commit/a7bfea843c73c9b48feb1b94c996924d2881f362
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
R llvm/test/Transforms/InferAddressSpaces/AMDGPU/old-pass-regressions-inseltpoison.ll
R llvm/test/Transforms/InterleavedAccess/AArch64/interleaved-accesses-inseltpoison.ll
Log Message:
-----------
[Transforms] Delete identical poison tests (NFC) (#201349)
These are now bit-identical to the original tests:
- llvm/test/Transforms/InferAddressSpaces/AMDGPU/old-pass-regressions.ll
- llvm/test/Transforms/InterleavedAccess/AArch64/interleaved-accesses.ll
Commit: 9e01e0970c4cf810e99bdfde3a2329610df6d90c
https://github.com/llvm/llvm-project/commit/9e01e0970c4cf810e99bdfde3a2329610df6d90c
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang-rt/CMakeLists.txt
Log Message:
-----------
[Flang-RT] Disable tests by default without modules (#201311)
With #201297 flang-rt-mod is required for running tests. Disable tests
by default if module files are not built.
Commit: 7eff475c4998039878563b987121c7fcc002b7b3
https://github.com/llvm/llvm-project/commit/7eff475c4998039878563b987121c7fcc002b7b3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
[HIP] Fix test for --no-lto (#201367)
Commit: 3a9c6cdb5d99cbcbb98c8d3562c409ddc5822deb
https://github.com/llvm/llvm-project/commit/3a9c6cdb5d99cbcbb98c8d3562c409ddc5822deb
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A clang/include/clang/AST/MatrixUtils.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/HLSL/matrix_layout_attr.hlsl
A clang/test/CodeGenHLSL/matrix-layout-attr-overrides-default.hlsl
M clang/test/SemaHLSL/BuiltIns/logical-mat-operator-errors.hlsl
M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixImplicitTruncCastWarnings.hlsl
Log Message:
-----------
[Matrix][HLSL] Add codegen support for Matrix Layout keywords (#198887)
fixes #192262
- Wrap Matrix Type in a row or column major layout attribute
- Add Helper to know which Matrix Layout to apply in codegen or check
for in Sema
- Remove the Decl Atribute and only store on the type.
Assisted by Claud Opus 4.7
Commit: 270a6a8f6742b6a0e86d1a6b3ca6b90b39a64e87
https://github.com/llvm/llvm-project/commit/270a6a8f6742b6a0e86d1a6b3ca6b90b39a64e87
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/symbol.cpp
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/groupprivate.f90
A flang/test/Semantics/OpenMP/declare-target-flags.f90
A flang/test/Semantics/OpenMP/declare-target-modfile.f90
M flang/test/Semantics/OpenMP/dump-requires-details.f90
Log Message:
-----------
[flang][OpenMP] Store DECLARE_TARGET information in WithOmpDeclarative (#201103)
This will be used to emit DECLARE_TARGET directives into module files.
When a symbol apperars in DECLARE_TARGET, the OmpDeclareTarget flag will
be set on it (this includes procedures containing a DECLARE_TARGET
without arguments or clauses). The set of accompanying clauses will be
stored in the associated details, in the WithOmpDeclarative mixin. The
mixin was added to ObjectEntityDetails, ProcEntityDetails, and
CommonBlockDetails.
The design goal was to be able to reconstruct the appropriate DECLARE_
TARGET directive for individual symbols for the purpose of emitting it
in a module file. Simply storing and then unparsing the AST node may
include symbols that should not be emitted.
Additionally, refactor the WithOmpDeclarative printing code for reuse in
symbol dumping for debugging, and for printing clause sets.
Commit: 9606c9ff18f0d90a639b132a7f69ebc8a8f61c99
https://github.com/llvm/llvm-project/commit/9606c9ff18f0d90a639b132a7f69ebc8a8f61c99
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/atomic-options.hip
M clang/test/CodeGenCUDA/builtins-amdgcn.cu
M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenHIP/placement-new-addrspace.hip
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/OpenMP/amdgcn_target_device_vla.cpp
M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
Log Message:
-----------
Reapply "[clang] remove lots of "innocuous" addrspacecasts" (#200427)
Reapply #197745, with an additional commit to undo a small part of the
first commit, pending further analysis of alternatives to that part of it.
In particular, make the `agg.tmp` (CreateAggTemp) values keep using the
declared expression type of the RValue. This is indeed probably
sensible, since it lets Sema influence this via the expression type,
though it runs into some issues where some expression types (notably for
any load) haven't had one of the equivalent functions
getNonLValueExprType/DeduceAutoType/getUnqualifiedType called on them,
so they are bringing along additional annotation baggage which doesn't
apply the the rvalue when turned into a temporary (see comments in
getNonLValueExprType for relevant part of C++ standard). This in turn is
also rarely relevant, since inventing temporaries aren't often allowed
in this part of the pipeline (it'd require a move constructor) so the
LValue Dest already provides the type and the RValue type is ignored.
However, it does affect a single test (which loads a global but ignores
the result) and so this adds an extra `getUnqualifiedType` call to
`CodeGenFunction::EmitAnyExpr` so that load doesn't propagate the
qualifiers from source to temporary. This might be a common issue with
load-like expressions (for example, there's a `getUnqualifiedType` in
AtomicExpr code when computing the appropriate codegen for the result,
so it also didn't trust Sema to have created this correctly--and indeed
it seems that Sema expects CG to wait until after
DefaultLvalueConversion before it is does anything with the result type)
Commit: 90a172b53e77e4171b67e9fe4215707aed45cda4
https://github.com/llvm/llvm-project/commit/90a172b53e77e4171b67e9fe4215707aed45cda4
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size-error.ll
Log Message:
-----------
[AMDGPU] Reject named single register inline asm constraints for wider types (#200771)
A named single register constraint like `={v0}` was silently accepted
for i64 result, binding it to one 32-bit register
Reject scalars larger than 32 bits as well
Commit: 4a8c5d231227d7c6c61160e5be25f4626cdabbb8
https://github.com/llvm/llvm-project/commit/4a8c5d231227d7c6c61160e5be25f4626cdabbb8
Author: Yair Ben Avraham <yairba at protonmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
M clang/test/CodeGen/AArch64/neon/fused-multiply.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
Log Message:
-----------
[CIR][AArch64] Lower vfmaq_lane_v and vfma_laneq_v (#197084)
Lower BI__builtin_neon_vfmaq_lane_v and BI__builtin_neon_vfma_laneq_v in
CIR.
This handles the covered vfmaq_lane_* and vfma_laneq_* ACLE wrappers by
bitcasting operands to the expected types, selecting the requested lane
from the lane source operand, and emitting fma through
emitCallMaybeConstrainedBuiltin.
For vfmaq_lane_v, the selected lane is splatted with emitNeonSplat.
For vfma_laneq_v, the lane is selected from the wider lane source; the
f64 case extracts the scalar lane before emitting scalar fma.
Neighboring scalar lane/laneq wrappers and other out-of-scope forms
remain explicit NYI cases.
Tests are moved into the existing CIR-enabled fused multiply files under
clang/test/CodeGen/AArch64/neon/, reusing upstream LLVM checks where
possible and adding CIR coverage for lane selection and fma lowering.
Part of #185382
Follow-up to #195602
Commit: f1b42dcc2326b80116430c9a60f41b0f86abbff7
https://github.com/llvm/llvm-project/commit/f1b42dcc2326b80116430c9a60f41b0f86abbff7
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
M llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
A llvm/test/Transforms/LoopVectorize/interleave_uncountable_exits.ll
A llvm/test/Transforms/LoopVectorize/scalarized_conditional_ops_uncountable_exits.ll
A llvm/test/Transforms/LoopVectorize/tail_fold_uncountable_exits.ll
M llvm/unittests/Transforms/Vectorize/VPlanUncountableExitTest.cpp
Log Message:
-----------
[LV] Vectorize early exit loops with stores using masking (#178454)
This is an alternative approach to vectorizing early exit loops with
stores that avoids needing to add an extra check block. This is a
fairly straightforward approach that should work on vector ISAs
supporting masked memory ops.
The basic approach is to create a mask covering all lanes _before_ any
exiting lane, using cttz.elts and active.lane.mask (which sets all lanes
to true if the uncountable exit wasn't taken). If the uncountable exit
was taken, then there will still be one scalar iteration left to perform
after the vector loop, which will also handle which exit block we should
branch to.
We no longer need to advance exit conditions in the vector body to the
next iteration (compared to the other PR), though we still need to move
the recipes needed to generate the exit condition (depending on which
memory operations are first in the loop).
The advantage this has over a full in-loop mask approach is that we
don't need to form intermediate masks for each uncountable exit; while I
haven't tried to mix this with the ongoing multiple-exit work yet, we
should be able to handle them without increasing the amount of generated
per-exit code. We also won't need to unpick which exit condition was met
first.
For a pseudo-C example of the transformation (with S1 and S2
representing statements with a side effect, like stores, or possibly a
load that may fault if continued past the early exit), given the
following scalar loop:
```c
for (i = 0; i < N; ++i) {
S1;
if (a[i] == threshold)
break;
S2;
}
```
we would have a vector loop and scalar tail like the following:
```c
int i = 0;
for (; i < vecN; i += VF) {
// Move load for uncountable exit condition before other
// operations in the loop.
vecA = a[i]...a[i+VF-1];
// Create mask for all lanes _before_ any uncountable exit.
vecCmp = vecA == splat(threshold);
mask = get.active.lane.mask(0, cttz.elts(vecCmp));
// Execute statements with side effects using the mask
vecS1(mask);
vecS2(mask);
// If there was an uncountable exit, increase IV by the number
// of elements in the mask, and bail out to the scalar tail.
if (any_of(vecCmp)) {
i += cttz.elts(vecCmp);
break;
}
}
// Scalar tail handles remaining iterations, plus any differences
// in exit block for different exits.
for (; i < N; ++i) {
S1;
if (a[i] == threshold)
break;
S2;
}
```
For the mask, given a comparison result of `<0, 0, 1, 0>`, we would
expect a mask of `<1, 1, 0, 0>`.
Commit: fdf8fb6c13deb88c2e179a4eed0c66900dcd92d8
https://github.com/llvm/llvm-project/commit/fdf8fb6c13deb88c2e179a4eed0c66900dcd92d8
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/OpenACC-extensions.md
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Lower/OpenACC/acc-module-definition-multi-name.f90
A flang/test/Lower/OpenACC/acc-routine-multi-name.f90
A flang/test/Parser/acc-routine-empty-parens.f90
M flang/test/Parser/acc-unparse.f90
A flang/test/Semantics/OpenACC/acc-routine-multi-name-disabled.f90
A flang/test/Semantics/OpenACC/acc-routine-multi-name.f90
Log Message:
-----------
[flang][openacc] add extension which accepts multiple names in a OpenACC routine directive (#200296)
This PR adds an extension which allows one or more function names in a
single named routine directive. This is treated as multiple named
routine directives with the same clauses. The bind clause is forbidden.
The empty list of names isn't excepted. Routine clauses are stable under
unparsing.
This PR tests Parsing, Unparsing, Semantics, and Lowering.
Commit: d307ba096e49c4503b50191d6e0ab2879942ffdd
https://github.com/llvm/llvm-project/commit/d307ba096e49c4503b50191d6e0ab2879942ffdd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[DAGCombiner] Remove untested vp_fma combines. (#201239)
RISC-V no longer uses vp_fma in SelectionDAG leaving these combines
untested.
This effectively reverts 2fe2a6d4b8a4647e49d69a5ff7161946aeb7cee1.
Commit: 05e8d9f86a1d29e32d92a04ff9f0371f25057f33
https://github.com/llvm/llvm-project/commit/05e8d9f86a1d29e32d92a04ff9f0371f25057f33
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/AssemblyAnnotationWriter.h
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
[AsmWriter] Add emitMDNodeAnnot (#198317)
Similarly to the other AAW::emit*Annot functions, this may be used to
emit a comment before a metadata node.
Commit: 5816ef1560d13b7fd27e623e7f88f2e44cd11e21
https://github.com/llvm/llvm-project/commit/5816ef1560d13b7fd27e623e7f88f2e44cd11e21
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/basic_evaluate.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/evaluate_nothing.cpp
Log Message:
-----------
[Dexter] Add basic result evaluation for structured scripts (#198803)
This patch adds evaluation for structured scripts, completing the
features required to run simple Dexter tests using structured scripts.
The basic output from these evaluations is a list of named metrics
aggregating the results of evaluating !value nodes. The verbose output
gives a per-step summary of the results for each expect node active at
that step.
Most of the new functionality is in the evaluation/ dir, which has also
absorbed some functionality previously stored in the
ScriptDebuggerController for matching !where nodes to a debugger StepIR,
as this is logic which is common to both managing a debugger session and
evaluating the end result.
Commit: aa8e38f4f87189a5952c8471fb6cb7464f2b9d94
https://github.com/llvm/llvm-project/commit/aa8e38f4f87189a5952c8471fb6cb7464f2b9d94
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M openmp/module/CMakeLists.txt
Log Message:
-----------
[OpenMP] FIx omp_lib.mod compilation for the GPU (#201377)
Commit: 582d2fd3901f2f3b5ea9373471d87c5995a26a80
https://github.com/llvm/llvm-project/commit/582d2fd3901f2f3b5ea9373471d87c5995a26a80
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/call-instructions.ll
M llvm/test/Transforms/LoopInterchange/function-attr.ll
Log Message:
-----------
[LoopInterchange] Bail out if function that may diverge is called (#201348)
This patch fixes the issue pointed out in
https://github.com/llvm/llvm-project/pull/200828#issuecomment-4593914293.
As demonstrated by the test cases added in #201331, it is not legal to
interchange loops that contain call instructions which may diverge. This
patch adds an additional check and bails out early when we cannot prove
that a call instruction in the loops doesn't diverge.
Commit: 8ae895af32cc2f7c506e39f5736e1115a8afb4ce
https://github.com/llvm/llvm-project/commit/8ae895af32cc2f7c506e39f5736e1115a8afb4ce
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/atomicrmw-allow-ftz-atomics.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm60.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm70.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm90.ll
M llvm/test/CodeGen/NVPTX/atomicrmw.py
M llvm/test/CodeGen/NVPTX/atomics.ll
Log Message:
-----------
[NVPTX] Respect FTZ flag when lowering atomicrmw fadd. (#200732)
Previously we unconditionally lowered LLVM atomicrmw fadd to PTX
atom.add. This is incorrect, because it ignores the FTZ behavior of the
LLVM and PTX instructions.
Commit: e97e67681d0d7de9c6ab8b293852068ea5591066
https://github.com/llvm/llvm-project/commit/e97e67681d0d7de9c6ab8b293852068ea5591066
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/test/API/macosx/expedited-thread-pcs/TestExpeditedThreadPCs.py
Log Message:
-----------
[lldb/test] Fix TestExpeditedThreadPCs on remote-darwin targets (#201275)
Commit: 12f60d0684a96e3858296c49db4c4cd275ae672f
https://github.com/llvm/llvm-project/commit/12f60d0684a96e3858296c49db4c4cd275ae672f
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Log Message:
-----------
[AMDGPU] Remove unneeded early outs in getDivNumBits. NFC. (#201366)
Commit: 2d249cd753ca8f6d291d4fccdcfba3af3bd9c778
https://github.com/llvm/llvm-project/commit/2d249cd753ca8f6d291d4fccdcfba3af3bd9c778
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
Remove incorrect gcal link from C/C++ language wg (#201374)
The C and C++ language working group meets on the first and third Wed of
the month, but Google Calendar does not support doing this via a single
event. Instead, we have one event for recurring on the 1st Wed and a
second event for recurring on the 3rd Wed. That means we cannot use a
single gcal link for the event. Instead of listing two links, this
removes the gcal link entirely because the meeting is also listed on the
community calendar itself. This reduces confusion for folks, but it
would be nice to get a replacement link at some point.
Commit: 0cea23a93700e1a454369f617525f628df84a064
https://github.com/llvm/llvm-project/commit/0cea23a93700e1a454369f617525f628df84a064
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/test/Driver/hipspv-toolchain.hip
Log Message:
-----------
[HIP] Fix another test for --no-lto (#201382)
Commit: 0f4b1e11e64fdaaf6258043e1a30014b00bd04d3
https://github.com/llvm/llvm-project/commit/0f4b1e11e64fdaaf6258043e1a30014b00bd04d3
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
Log Message:
-----------
[AArch64] Address issue reported in PR#196029 (#199122)
For certain types of truncating stores, the lowering action is set to
custom although no custom lowering exists for them.
This patch addresses issue reported in PR #196029 by removing the custom lowering entry.
Commit: c6c2ad52586c28e74a724570985a48dc0022d250
https://github.com/llvm/llvm-project/commit/c6c2ad52586c28e74a724570985a48dc0022d250
Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/bitfield-insert.ll
M llvm/test/CodeGen/AArch64/bswap-known-bits.ll
M llvm/test/CodeGen/AArch64/sshl_sat.ll
M llvm/test/CodeGen/AArch64/ushl_sat.ll
A llvm/test/CodeGen/X86/aext-and-trunc-avx512.ll
A llvm/test/CodeGen/X86/aext-and-trunc.ll
M llvm/test/CodeGen/X86/and-with-overflow.ll
M llvm/test/CodeGen/X86/combine-srem.ll
M llvm/test/CodeGen/X86/llvm.frexp.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-innerouter.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-interleavedbits.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-interleavedbytehalves.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-lowhigh.ll
Log Message:
-----------
[DAG] Fold any-extend(and(trunc(x), C)) -> and(x, C) (#200052)
Fixes #195575
Fix a missed optimization in `DAGCombiner::visitANY_EXTEND` where the
pattern `any-extend(and(trunc(x), C))` was not being folded into `and(x,
C)` on X86, causing a redundant `movzbl` instruction to be emitted after
a small-mask AND.
Commit: 91edd87a801fc5c9d12c7f5c6863edd50327cef8
https://github.com/llvm/llvm-project/commit/91edd87a801fc5c9d12c7f5c6863edd50327cef8
Author: mike-goutokuji <gfunni234 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/ucmp.ll
Log Message:
-----------
[Legalizer] Add support for promoting integers for s/ucmp (#198554)
Instead of manually doing promotion in LowerUCMP of platforms like
PowerPC, we should have this logic in the legalizer.
Commit: 678a6c7dbbb90b5cf856d487820c63aafa6de25b
https://github.com/llvm/llvm-project/commit/678a6c7dbbb90b5cf856d487820c63aafa6de25b
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/SampleGrad.ll
Log Message:
-----------
[DirectX] Implement lowering of SampleGrad. Refactor sample lowering functions (#200871)
Fixes #192549
This PR builds atop #199745 by adding a helper `lowerSampleOp` function
to refactor `lowerSampleBias` and implement `lowerSampleGrad`.
The `lowerSampleGrad` implementation is very similar to
`lowerSampleBias`, just with ddx and ddy arguments instead of a bias.
Unlike SampleBias, SampleGrad is usable in all shader stages because it
has explicit gradient/derivative arguments.
Assisted-by: GitHub Copilot
Commit: 06ac45db1597049c0e4f04c334bf78cd362b75ee
https://github.com/llvm/llvm-project/commit/06ac45db1597049c0e4f04c334bf78cd362b75ee
Author: Ilpo Ruotsalainen <lonewolf at iki.fi>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
A llvm/test/CodeGen/X86/GlobalISel/calllowering-inalloca.ll
Log Message:
-----------
[GISel][CallLowering] Set byval flag for inalloca/preallocated args (#200600)
GlobalISel asserts when lowering a function with an `inalloca` or
`preallocated` argument:
> TargetCallingConv.h:183: void
llvm::ISD::ArgFlagsTy::setByValSize(unsigned): Assertion `isByVal() &&
!isByRef()' failed.
https://godbolt.org/z/jWr4enjaj
`addFlagsFromAttrSet()` sets the `InAlloca`/`Preallocated` flags but
never `ByVal`.
`setArgFlags()` then calls `Flags.setByValSize()` for any non-`ByRef`
indirect argument which asserts `isByVal()`.
`SelectionDAGISel::LowerArguments()` avoids this by deliberately also
setting the `ByVal` flag for `inalloca`/`preallocated`, this change
makes the GlobalISel side match that behavior.
Commit: 15375d84799ec260d101aa35670f61fa456b6a4e
https://github.com/llvm/llvm-project/commit/15375d84799ec260d101aa35670f61fa456b6a4e
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/OpenACC-extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Semantics/OpenACC/acc-default-none-scalars-strict.f90
M flang/test/Semantics/OpenACC/acc-default-none-scalars.f90
Log Message:
-----------
[flang][openacc] change option feature flag names to address comments. (#200037)
- Fixes FeatureFlags and CLI flags to use OpenACC instead of ACC.
- Offline comments further refined the name to be
OpenACCDefaultNoneScalarsStrict
- Which changes the semantics requiring the user to opt out of the
default behavior, instead of opt-in to an extension.
- Also makes the CLI flag OptOut instead of OptIn to match the cli
behavior.
- Gets rid of the unneeded warning flag since FeatureFlags have both a
disabled bit and a warning bit.
- Updates old test for these changes and adds a new test to document all
the different cli configurations.
Commit: cd75a7db92289d9784b471b27cd72cb50a2352fd
https://github.com/llvm/llvm-project/commit/cd75a7db92289d9784b471b27cd72cb50a2352fd
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/clmul-vector.ll
M llvm/test/CodeGen/X86/clmul.ll
Log Message:
-----------
[SelectionDAG] Fix missed optimization for CLMUL where one operand is all ones (#200592)
Fixes #200556
This special case is equivalent to a "parallel prefix XOR" or "bitwise
parity" operation, which can be expanded to a logarithmic amount of
bitwise operations instead of a linear amount (relative to the bit
width). When other bitwise operations such as BDEP and BEXT are
expanded, they rely on that operation being lowered to a CLMUL directly
or expanded to this efficient form.
See also
- #200570 (this PR needs this fix to have good codegen)
Commit: cf9bf34e29e67fae3562705cfaffb71c7846e8c8
https://github.com/llvm/llvm-project/commit/cf9bf34e29e67fae3562705cfaffb71c7846e8c8
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.cpp
M llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
Log Message:
-----------
[AMDGPU] Fix backward compatibility kernarg preload prolog base offset (#201355)
Backward compatibility preload prolog loaded args from kernarg-segment
byte 0, but on non-AMDHSA triples the explicit args start at
`getExplicitKernelArgOffset()` (value: 36), so preloaded SGPRs held the
runtime header instead of the arguments
Commit: ee10231219016efcc51a23bb74dc541dcba3aaf6
https://github.com/llvm/llvm-project/commit/ee10231219016efcc51a23bb74dc541dcba3aaf6
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF-disable.h
M libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF.h
M libc/include/stdio.yaml
Log Message:
-----------
[libc] Add explicit format attributes for modular printf (#201212)
We had been relying on compiler-generated format attributes when using
the modular_format attribute for printf-family functions, but this is
not applied in -ffreestanding mode. When modular format is enabled, libc
is explicitly asserting the semantics of these functions, so it should
be explicit about the format attributes as well to keep them from
breaking in -ffreestanding.
Generated by Gemini, reviewed and edited by hand.
Commit: 3a1420effe06748cb9bd1b2ef746bd5be25fad52
https://github.com/llvm/llvm-project/commit/3a1420effe06748cb9bd1b2ef746bd5be25fad52
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A clang/cmake/caches/generic-allow-shared-imports.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-defaults-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib-dist.cmake
Log Message:
-----------
[Hexagon] Add cmake caches for cross-toolchain distribution build (#201207)
Adds and extends the
clang/cmake/caches/hexagon-unknown-linux-musl-clang* files to drive a
full install-distribution build: host tools, per-target builtins (Linux
and baremetal), and runtimes for hexagon-unknown-linux-musl.
Commit: f080619e96dfc661fd0f4c0f51a7cc2457d298b9
https://github.com/llvm/llvm-project/commit/f080619e96dfc661fd0f4c0f51a7cc2457d298b9
Author: Martin Erhart <martin.erhart at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/test/python/ir/location.py
Log Message:
-----------
[mlir][Python] Downcast location returned from diagnostic (#201337)
Essentially a follow up to
https://github.com/llvm/llvm-project/pull/192630
Commit: 0b109532693fec0dce3a8d275b716f5a5fb6e45c
https://github.com/llvm/llvm-project/commit/0b109532693fec0dce3a8d275b716f5a5fb6e45c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/CMakeLists.txt
M lldb/source/Host/common/PythonRuntimeLoader.cpp
Log Message:
-----------
[lldb][windows] explicitly load python3.dll in PythonRuntimeLoader (#201399)
When building with the Python stable API, `liblldb.dll`'s delay-load
crashes because it needs `python3.dll` and it can't find it
Loading `python310.dll` via `LoadLibrary` with a full path doesn't add
Python's directory to the DLL search path for subsequent loads.
This patch also explicitly loads `python3.dll` from the same directory
in `PythonRuntimeLoader` to fix the issue.
This is needed for https://github.com/llvm/llvm-project/pull/200533.
Commit: 7954dcc70ef251581f95582beb7929e286ec9fe9
https://github.com/llvm/llvm-project/commit/7954dcc70ef251581f95582beb7929e286ec9fe9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/test/Transforms/CodeExtractor/input-value-debug.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.globals.expected
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[HotColdSplit] Unconditionally mark new functions as cold (#200947)
Previously, HotColdSplit would only mark functions as cold if there was
a profile summary available in the module metadata. This was causing
profcheck failures and is inconsistent with how we handle profile
metadata in other parts of the compiler.
This behavior has been around since
c36c10ddfb3dc07129b9f3973029d17940f6a45f when the profile annotation was
first introduced.
Commit: 7e45473cc229baff6c2a8d2130b58035f4f70e41
https://github.com/llvm/llvm-project/commit/7e45473cc229baff6c2a8d2130b58035f4f70e41
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DTLTO/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#201400)
142ad481b625
87d6941017aa
c264e07c2f3d
f91f589aaa82
Commit: 28b12c6317568c8d31a701a35d1c59366030e054
https://github.com/llvm/llvm-project/commit/28b12c6317568c8d31a701a35d1c59366030e054
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-lto2/BUILD.gn
Log Message:
-----------
[gn build] Add missing dep (#201414)
Commit: 102d8583355c316618648de7d8537299f4357f95
https://github.com/llvm/llvm-project/commit/102d8583355c316618648de7d8537299f4357f95
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/clmul.ll
Log Message:
-----------
Regenerate X86/clmul.ll expectations (#201405)
Fixes a build failure on trunk after merging:
- #200592
See
https://github.com/llvm/llvm-project/pull/200592#issuecomment-4614719422
Commit: 3f67f166d6580970a9f4d50bdf7827c510d884d3
https://github.com/llvm/llvm-project/commit/3f67f166d6580970a9f4d50bdf7827c510d884d3
Author: Philipp Rados <philipp.rados at openchip.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
A llvm/test/CodeGen/RISCV/stack-offset-large.ll
Log Message:
-----------
[RISCV] Allow 64-bit fixed frame-offsets on RV64 (#201338)
Some HPC code requires a _very_ large stack. GCC also allows 64-bit
frame-offsets on 64-bit systems.
Since RISCVInstrInfo::movImm() supports materializing 64-bit immediates
the existing framework already handles the lowering correctly.
This patch only enables support for 64-bit _fixed_ frame offsets.
Scalable offsets call RISCVInstrInfo::mulImm() which doesn't seem to
support 64-bit calculations yet. This should be fine since there'd have
to be more than 2^31 RVV spills for this case to happen.
Commit: 1c88bd716167a0650513319176c30dd715101a70
https://github.com/llvm/llvm-project/commit/1c88bd716167a0650513319176c30dd715101a70
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/include/lldb/Host/MainLoopBase.h
M lldb/source/Host/common/MainLoopBase.cpp
Log Message:
-----------
[lldb] Preserve FIFO order for equal time MainLoop callbacks (#199056)
Co-authored-by: Adrian Prantl <adrian.prantl at gmail.com>
Commit: 6cfa1a01a0f737ed1d54963810057fb1bd67a274
https://github.com/llvm/llvm-project/commit/6cfa1a01a0f737ed1d54963810057fb1bd67a274
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
R clang/test/CodeGenHIP/offload-pgo-sections.hip
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
R compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
R llvm/test/Instrumentation/InstrProfiling/amdgpu-instrumentation.ll
R llvm/test/Instrumentation/InstrProfiling/amdgpu-profc-arrays.ll
R llvm/test/Instrumentation/InstrProfiling/gpu-weak.ll
R llvm/test/Transforms/PGOProfile/amdgpu-disable-value-profiling.ll
Log Message:
-----------
Revert "[PGO][AMDGPU] Add basic HIP offload PGO support (#177665)" (#201416)
This broke profiling builds on Windows by switching the profile library
to link against the dynamic CRT; see discussion on the PR.
There were already a number of issues reported and fixed after this PR.
Rather than piling on the fixes (and this one may need some work),
revert back to green for now to let the project recover.
This reverts commit 5db13643f4b7038db0ca304d9f8900122502935c.
Additionally, this reverts the followup PRs in
635e120fb87304924508a7a204574727e3c37363,
2766733764f4bdf8399d48c0225e9c64bdfa95f7,
4c33844b4b560f24b2a3a0cc689d73510cb01ad5, and
5eca8b67ff3c5f371141d54b6e4544a0ebe77fdb:
"[PGO][HIP] Stop pulling ROCm.o into every PGO host link (#200101)"
"[compiler-rt][profile] Add COMPILER_RT_BUILD_PROFILE_ROCM option
(#200127)"
"[PGO][HIP] Skip ROCm interceptor in profile-only compiler-rt builds
(#200111)"
"[PGO][HIP] Fix profile-only Windows link by gating ROCm interceptor
macro (#200859)"
Commit: 09020f9d68e4a0a8f93d2e7f4875ef58f451f948
https://github.com/llvm/llvm-project/commit/09020f9d68e4a0a8f93d2e7f4875ef58f451f948
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.frexp.exp.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.frexp.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for llvm.amdgcn.frexp.exp (#201178)
Commit: e43adaea1fb557e860fbb34568ac024fd649cf5c
https://github.com/llvm/llvm-project/commit/e43adaea1fb557e860fbb34568ac024fd649cf5c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A lldb/docs/python_api.md
R lldb/docs/python_api.rst
A lldb/docs/python_extensions.md
R lldb/docs/python_extensions.rst
A lldb/docs/resources/caveats.md
R lldb/docs/resources/caveats.rst
A lldb/docs/resources/contributing.md
R lldb/docs/resources/contributing.rst
A lldb/docs/resources/fuzzing.md
R lldb/docs/resources/fuzzing.rst
A lldb/docs/use/links.md
R lldb/docs/use/links.rst
A lldb/docs/use/ondemand.md
R lldb/docs/use/ondemand.rst
A lldb/docs/use/python-reference.md
R lldb/docs/use/python-reference.rst
A lldb/docs/use/repeat-commands.md
R lldb/docs/use/repeat-commands.rst
Log Message:
-----------
[lldb][docs] Convert simple RST pages to Markdown (NFC) (#201256)
Convert nine short, low-risk RST docs to MyST Markdown as the first
batch of an incremental RST -> Markdown migration. Subsequent batches
will cover the rest.
Verified by building the docs on origin/main and on this branch with
identical sphinx flags and diffing the rendered HTML. Seven of nine
pages are byte-identical.
contributing.html differs in 42 lines, all attributable to `{doc}` xrefs
replacing RST hyperlinks to sibling pages (`reference external` ->
`reference internal`) and CommonMark collapsing two-spaces-after- period
to one.
ondemand.html differs in 26 lines because two bulleted lists that
followed a paragraph with no blank-line separator originally rendered as
literal `- ...` text in both RST and Markdown. The conversion tool
preserved that by emitting `\-`; this patch instead inserts a blank line
so they render as proper `<ul>` lists, fixing a latent doc bug.
Context:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Assisted-by: Claude
Commit: 47209321457b4302ac0d2cb668cdd3f3caff9134
https://github.com/llvm/llvm-project/commit/47209321457b4302ac0d2cb668cdd3f3caff9134
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCComputeLowering.cpp
A mlir/test/Dialect/OpenACC/acc-compute-lowering-compute-device-type.mlir
A mlir/test/Dialect/OpenACC/acc-compute-lowering-loop-device-type.mlir
Log Message:
-----------
[mlir][acc] ACCComputeLowering needs to account for device_type par (#201267)
When assigning parallelism for compute constructs or loops, device_type
parallelism must be first considered as a group for all available (gang,
worker, vector) - if any of these have device_type setting, then those
are the only ones that should be considered. Only if the loop has no
device_type specific parallelism then default parallelism should be
assigned.
Commit: 91b00526a599fa21e43da82438f1e9c8a8e1b7b3
https://github.com/llvm/llvm-project/commit/91b00526a599fa21e43da82438f1e9c8a8e1b7b3
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll.bc
M llvm/test/Instrumentation/AddressSanitizer/musttail.ll
M llvm/test/Instrumentation/ThreadSanitizer/tsan_musttail.ll
M llvm/test/Transforms/CallSiteSplitting/musttail.ll
M llvm/test/Transforms/SafeStack/X86/musttail.ll
M llvm/test/Verifier/musttail-invalid.ll
Log Message:
-----------
Remove the optional bitcast between a musttail call and its ret (#201280)
Under opaque pointers the only bitcast the verifier could accept in this
position is a no-op ptr->ptr cast
Drop it and reduce isTypeCongruent to a plain type equality check
Commit: 420b8b3cede41894dc5dac29f8e64bcff13e3620
https://github.com/llvm/llvm-project/commit/420b8b3cede41894dc5dac29f8e64bcff13e3620
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
M llvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
Log Message:
-----------
[llvm-exegesis] Support LookupRegClassByHwMode in exegesis Instruction::create
This resolves the TODO for LookupRegClassByHwMode support in llvm-exegesis by
passing the MCSubtargetInfo to Instruction::create and calling
getOpRegClassID with the active HwMode.
This also updates MemoryUse test expectations for Mips, as the target now
correctly resolve HwMode-dependent memory register operands (MSA128F16 in
Mips and post-#177073 BasePtrRegClass for RISC-V).
Pull Request: https://github.com/llvm/llvm-project/pull/200525
Commit: 4169b17acfe53c79e0e170ebb8249ef749e061a2
https://github.com/llvm/llvm-project/commit/4169b17acfe53c79e0e170ebb8249ef749e061a2
Author: adams381 <adams at nvidia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR][NFC] Remove unused DataLayout in array lowering (#201408)
The per-element loop in CIRAttrToValue::visitCirAttr(ConstArrayAttr) constructed an mlir::DataLayout for every element of an ArrayAttr-backed constant array and never used it. Constructing a DataLayout walks the parent ops to gather the layout spec, so for an N-element array this was N redundant constructions on the lowering path. Removing the dead local is NFC -- the generated IR is unchanged.
Split out of #198427, where it was flagged as an unrelated drive-by.
Commit: 0b9dc1bdd3a0186582ae7a56c3c27b6e449715fa
https://github.com/llvm/llvm-project/commit/0b9dc1bdd3a0186582ae7a56c3c27b6e449715fa
Author: cmtice <cmtice at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
A lldb/test/API/commands/frame/var-dil/expr/Assignment/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILAssign.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILCompositeAssign.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/main.cpp
Log Message:
-----------
[LLDB] Add assignment to DIL. (#190223)
Add the ability for DIL to recognize and process assignment, updating
program variables. Recognizes '=', '+=' and '-=' operators. Increment
and decrement ('++' and '--') will be added in a separate (future) PR.
"*=" and "/=" need to wait until DIL handles multiply and divide
operators.
Commit: 5708e7fd9eca368b1b519c13a58360a15a263e4f
https://github.com/llvm/llvm-project/commit/5708e7fd9eca368b1b519c13a58360a15a263e4f
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
Log Message:
-----------
[compiler-rt] fix out-of-bounds access in scudo test (#201390)
When `I = 0`, we can't do `Array[I-1]`.
Caught by libcxx hardening.
Commit: 517308ad15ee9480edfb9aa6dcc2c628c43da20d
https://github.com/llvm/llvm-project/commit/517308ad15ee9480edfb9aa6dcc2c628c43da20d
Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
Log Message:
-----------
[clang-tidy] Extend readability-container-size-empty to std::size() (#201231)
Fixes #198494
Extend the check to warn when the non-member `std::size()` free function
is used in a boolean context or compared to 0/1, and suggest using
.empty instead.
Commit: 7e439d571e3dcf420448391eb76e58879e73ee1e
https://github.com/llvm/llvm-project/commit/7e439d571e3dcf420448391eb76e58879e73ee1e
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-intrinsics.ll
Log Message:
-----------
[VectorCombine] Skip foldShuffleOfIntrinsics when operand types differ (#201241)
Example:
```llvm
define <4 x i32> @t(<2 x float> %a, <2 x double> %b) {
%fa = call <2 x i32> @llvm.fptosi.sat.v2i32.v2f32(<2 x float> %a)
%fb = call <2 x i32> @llvm.fptosi.sat.v2i32.v2f64(<2 x double> %b)
%s = shufflevector <2 x i32> %fa, <2 x i32> %fb, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
ret <4 x i32> %s
}
```
In this code, `foldShuffleOfIntrinsics` folds `shuffle(intrinsic(x),
intrinsic(y))` into `intrinsic(shuffle(x, y))`, but only checks the
result type, not the operand types. Since `fptosi.sat` is overloaded on
its operand type, the two calls share an `<2 x i32>` result but have
different operands (`<2 x float>` vs `<2 x double>`), so the new
`shufflevector` gets mismatched operands and trips `isValidOperands`.
Fix: bail out when the intrinsics' shuffled operands have different
types.
Commit: bad4005b863bf8f8d0f108d82c27c10d59d01e6d
https://github.com/llvm/llvm-project/commit/bad4005b863bf8f8d0f108d82c27c10d59d01e6d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/utils/LLVMVisualizers/llvm.natvis
Log Message:
-----------
[NATVIS] Fix bitrotted SmallPtrSet handling (#201404)
Use IsSmall to report Small/Big Mode
Use NumEntries instead of NumNonEmpty to track array size
Commit: 85b72c16948f940058e04cd804ffb1d9b4249407
https://github.com/llvm/llvm-project/commit/85b72c16948f940058e04cd804ffb1d9b4249407
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
A llvm/test/Assembler/invalid-phi-fast-math-flags.ll
A llvm/test/Assembler/invalid-select-fast-math-flags.ll
Log Message:
-----------
[AsmParser] Delete orphaned select/phi when rejecting fast-math-flags (#201409)
parseSelect/parsePHI create the instruction before the caller checks the
fast-math-flags. When FMF are rejected on a non-FP select/phi, the error
path leaked the instruction, which crashed on teardown with "Uses remain
when a value is destroyed!".
Fix by deleting the instruction before returning the error, as is
already done for `call`.
Fixes #185111.
Commit: 974be2bc84be577e395479171f1db70d733d7efc
https://github.com/llvm/llvm-project/commit/974be2bc84be577e395479171f1db70d733d7efc
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/non-phi-uses-lcssa-phi.ll
Log Message:
-----------
[LoopInterchange] Fix assertion failure when LCSSA PHI is used by non-PHI (#201059)
This patch fixes one of the assertion failures reported in #200819. The
root cause is that the assertion assumes all uses of LCSSA PHIs are PHI
nodes, which is not always true, so `cast<PHINode>(U)` can fail. In
fact, the user does not have to be a PHI, and the assertion should apply
the special check only when the user is a PHI node.
Commit: 8eb252007ce042204d9ebf904a353864989ffe8b
https://github.com/llvm/llvm-project/commit/8eb252007ce042204d9ebf904a353864989ffe8b
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
M lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.h
M lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
M lldb/source/Utility/StringExtractorGDBRemote.cpp
M lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
A lldb/unittests/Utility/AcceleratorGDBRemotePacketsTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
Log Message:
-----------
[lldb-server] Add breakpoint support to accelerator plugin protocol (#200584)
This is the 2nd PR of many related to
https://discourse.llvm.org/t/upstreaming-basic-support-for-accelerators/89827/6
Continuation to https://github.com/llvm/llvm-project/pull/198907
Extend the accelerator plugin infrastructure with breakpoint request and
hit handling, allowing plugins to set breakpoints in the native process
and respond when those breakpoints are hit.
This patch adds:
- Support for jAcceleratorPluginBreakpointHit packet handler in
GDBRemoteCommunicationServerLLGS that routes hits to the correct plugin
by name and returns the plugin's response
- Many related struct for defining request packet and response packet.
New structs: AcceleratorBreakpointByName,
AcceleratorBreakpointByAddress, AcceleratorBreakpointInfo, SymbolValue
,AcceleratorBreakpointHitArgs and AcceleratorBreakpointHitResponse
structs with JSON encode/decode for the hit round-trip.
- breakpoints field in AcceleratorActions for plugins to request
breakpoints during initialization
- Tests verifying breakpoints in initialize response and breakpoint hit
round-trip with JSON validation
- Packet documentation in lldbgdbremote.md
Commit: d8fb3dc721c4481eabc95f1a1ab6e2d270d763b4
https://github.com/llvm/llvm-project/commit/d8fb3dc721c4481eabc95f1a1ab6e2d270d763b4
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M offload/test/api/omp_indirect_func_basic.c
M offload/test/offloading/cuda_no_devices.c
M offload/test/offloading/shared_lib_fp_mapping.c
Log Message:
-----------
[offload][lit] Disable three more tests on Intel GPU (#201381)
Buildbot is still unstable, these tests are causing kernel driver errors
so let's disable them.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: b76fb96a862f3acf374117895a44a36c0a23d615
https://github.com/llvm/llvm-project/commit/b76fb96a862f3acf374117895a44a36c0a23d615
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Program.h
M offload/plugins-nextgen/level_zero/src/L0Program.cpp
M offload/unittests/OffloadAPI/symbol/olGetSymbolInfo.cpp
Log Message:
-----------
[OFFLOAD][L0] Return symbol size in getGlobalMetadataFromDevice (#201352)
Return not just the address but also the size of the symbols in getGlobalMetadataFromDevice.
Fixes olGetSymbolInfoSizeGlobalTest.SuccessSize unitt test failure with L0 plugin.
Commit: 1b5a86f165d642cac56cb4a4becbded2c1872c1d
https://github.com/llvm/llvm-project/commit/1b5a86f165d642cac56cb4a4becbded2c1872c1d
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M offload/unittests/OffloadAPI/memory/olMemFill.cpp
Log Message:
-----------
[OFFLOAD] Update L0 olMemFill unit tests known failures (#201323)
With the latest L0 changes most MemFill tests are passing. Only those
that rely on olLaunchHostFunction should be skipped.
Commit: 0fcf63e179486c0a7e72d656c65d2c0a45754a11
https://github.com/llvm/llvm-project/commit/0fcf63e179486c0a7e72d656c65d2c0a45754a11
Author: Ron Green [NVIDIA] <rogreen at nvidia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/docs/OpenACC-extensions.md
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
M flang/test/Semantics/reduce.cuf
M flang/test/Semantics/resolve124.f90
Log Message:
-----------
[flang][OpenACC] Add minus operator to reduction clause (#200909)
Adds '-' as a recognized reduction operator alongside '+'. The new
ReductionOperator::Operator::Minus is parsed from the '-' token,
accepted on integer/real/complex reduction variables, and lowered the
same as Plus (mlir::acc::ReductionOperator::AccAdd in OpenACC, and
fir::ReduceOperationEnum::Add in DO CONCURRENT). The unparser emits it
as '-'.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 884168c32563d20b0f2d6df5210a07c9de18a332
https://github.com/llvm/llvm-project/commit/884168c32563d20b0f2d6df5210a07c9de18a332
Author: Michael Jones <michaelrj at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
Log Message:
-----------
[libc] add HUGE_VALL (#201235)
Straightforward macro in math-macros.h
Commit: d703919410c5055132c037df810dfe70074ef58b
https://github.com/llvm/llvm-project/commit/d703919410c5055132c037df810dfe70074ef58b
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/atomic-memory-ordering.ll
A llvm/test/Transforms/LoopInterchange/invoke.ll
Log Message:
-----------
[LoopInterchange] Add tests for instructions that aren't checked (NFC) (#201401)
This patch adds test cases that contain instructions which are currently
not handled properly in the legality check, leading to miscompilations.
Some of the test cases are taken from #200913, and others are cases that
trigger unsafe interchange for the same reason. I am not trying to cover
all possible instruction types here, since a follow-up patch will update
the legality check so that it can handle other instructions as well.
Commit: 37432c85b43654d0c3e15edd503e95c74f39afb1
https://github.com/llvm/llvm-project/commit/37432c85b43654d0c3e15edd503e95c74f39afb1
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/unittests/Host/CMakeLists.txt
Log Message:
-----------
[lldb] Add PARTIAL_SOURCES_INTENDED to HostTests to fix build (#201361)
with LLDB_ENABLE_PYTHON=OFF
PythonRuntimeLoaderTest.cpp is only added to the target when Python is
enabled, which orphaned the source and broke configuration otherwise
culprit PR: https://github.com/llvm/llvm-project/pull/200524
Commit: 5e890995b2ebcf4bbbf8fb3161647c4788245e4c
https://github.com/llvm/llvm-project/commit/5e890995b2ebcf4bbbf8fb3161647c4788245e4c
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Log Message:
-----------
[AMDGPU] Simplify getDivNumBits with APInt::countMaxActiveBits. NFC. (#201387)
Commit: 3d830a9c517725bd73e9497cbe4c159c6d04f9ba
https://github.com/llvm/llvm-project/commit/3d830a9c517725bd73e9497cbe4c159c6d04f9ba
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-cache.f90
Log Message:
-----------
[flang][OpenACC] Re-declare cached array sections with lower bounds only (#201223)
When acc.cache yields a box, rebind the symbol with a fir.shift (lower
bounds, no extents) instead of a fir.shape_shift, so the rebox preserves
the materialized descriptor's extents and strides. Add lowering tests.
Assisted by Claude
Commit: cca173885706f6c728b46f9035f034de4f39a4ba
https://github.com/llvm/llvm-project/commit/cca173885706f6c728b46f9035f034de4f39a4ba
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/atomic-memory-ordering.ll
M llvm/test/Transforms/LoopInterchange/call-instructions-remarks.ll
M llvm/test/Transforms/LoopInterchange/invoke.ll
Log Message:
-----------
[LoopInterchange] Identify unsafe instructions for interchange (#201402)
In LoopInterchange, all instructions in the loops are traversed and
checked during the legality phase, and the pass bails out if it finds an
instruction that is unsafe to interchange. However, previously it only
handled call instructions and ignored all others, leaving several kinds
of instruction that should have been detected but were not.
This patch fixes the issue by restructuring the legality check, in
particular replacing instruction‑specific handling with calling general
Instruction APIs.
Fixes #200913.
Commit: fb649b41b0db8cd33a5be613345be845a41d0d98
https://github.com/llvm/llvm-project/commit/fb649b41b0db8cd33a5be613345be845a41d0d98
Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
Log Message:
-----------
[compiler-rt][cmake][msvc] Install PDBs for shared libraries (#201224)
Following up on similar PRs in the past to address PDBs not being copied
for install targets:
* https://github.com/llvm/llvm-project/pull/126961
* https://github.com/llvm/llvm-project/pull/126680
* https://github.com/llvm/llvm-project/pull/120683
Commit: 3c9afa9fe7c091dffd353e65a9a16653f139787b
https://github.com/llvm/llvm-project/commit/3c9afa9fe7c091dffd353e65a9a16653f139787b
Author: Petr Hosek <phosek at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A llvm/docs/ProjectGovernance.rst
M llvm/docs/index.rst
Log Message:
-----------
[Docs] Project governance documentation (#197108)
This page largely covers the same information as proposal LP-0004 and
also includes information on current area team and project council
composition.
Commit: 0a4f19e4769eae755cdad1a4af1d73988762dd2c
https://github.com/llvm/llvm-project/commit/0a4f19e4769eae755cdad1a4af1d73988762dd2c
Author: mygitljf <101249452+mygitljf at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestObjC.cpp
Log Message:
-----------
[clang-format][Objective-C] Fix assertion crash on stray '-'/'+' in @interfa… (#199104)
Before calling `parseObjCMethod()`, it now checks whether the next token
is a `(` or an identifier; if not, it simply skips ahead, thereby
preventing the assertion failure and subsequent crash.
Fixes #199075
Commit: b207fd6fd43514b2852ff64b89769a2cf4b781c2
https://github.com/llvm/llvm-project/commit/b207fd6fd43514b2852ff64b89769a2cf4b781c2
Author: Martin Storsjö <martin at martin.st>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/CMakeLists.txt
M lldb/source/Host/common/PythonRuntimeLoader.cpp
Log Message:
-----------
[lldb] Use the right MinGW name for the Python DLLs (#201325)
In MinGW mode, the Python DLLs have different names than they have in
MSVC mode; they are named `libpython<major>.<minor>.dll` (a "lib" prefix
and a dot between major and minor) and `libpython3.dll`.
This avoids a warning on startup after
142ad481b6254104a51da7d636ad9e3f30518a32 and total failures to start up
after 3eb13f8db39ed42827122489c830c414cb6660e3.
Commit: 98160521cb72966e984a241f28b1dc5aae19e4ec
https://github.com/llvm/llvm-project/commit/98160521cb72966e984a241f28b1dc5aae19e4ec
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/test/CodeGen/NVPTX/global-ordering.ll
Log Message:
-----------
[NVPTX] Handle symbol-relative integer initializers in aggregates (#201220)
A symbol-relative integer applies an offset outside the ptrtoint, e.g.
@g = addrspace(1) global i8 0
@s = addrspace(1) global { i64, i64 }
{ i64 add (i64 ptrtoint (ptr addrspace(1) @g to i64), i64 4),
i64 7 }
I'm not sure this is an important feature, but it's explicitly
implemented and works for scalars; the bug is that it hits
llvm_unreachable if you use it inside an aggregate.
While we're here, we also add support for Sub in addition to Add.
Commit: 309ace568351f1d3001a736c58c496277fc000dd
https://github.com/llvm/llvm-project/commit/309ace568351f1d3001a736c58c496277fc000dd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Remove unnecessary explicit template parameter on has_single_bit (#201421)
I think this code was extracted into a function and the Amount was not a
uint32_t when it was in the original location.
Commit: 67a641cf8adb083e6694fbf306b375b99c45de91
https://github.com/llvm/llvm-project/commit/67a641cf8adb083e6694fbf306b375b99c45de91
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCComputeLowering.cpp
A mlir/test/Dialect/OpenACC/acc-compute-lowering-compute-async-wait.mlir
M mlir/test/Dialect/OpenACC/canonicalize.mlir
Log Message:
-----------
[mlir][acc] Specialize compute region target during ACCComputeLowering (#201386)
During ACCComputeLowering, when an acc compute region (such as
acc.parallel) is split into in acc.kernel_environment and
acc.compute_region, all wait and async operands are transferred over.
This includes the multiple lists that are used to manage device_type
specific aspects eg:
`acc parallel async device_type(nvidia) async(2)`
This ends up as
`acc.parallel async([#acc.device_type<none>], %c2_i32 : i32
[#acc.device_type<nvidia>])`
And similarly, acc.kernel_environment inherited both async aspects.
However, during ACCComputeLowering, the pass knows its device_type
target. Thus it can directly create a single async (because only
async(2) applies when device_type is nvidia): `acc.kernel_environment
async(%c2_i32 : i32)`
This MR simplifies the operation to not hold all of the multiple lists
and updates to ACCComputeLowering pass to ensure to transfer only
relevant information. The intent/goal is that the none of the CG
operations will hold device_type specific lists.
Commit: deb6854eec93529b2bd30178d400ad2ee7665cd4
https://github.com/llvm/llvm-project/commit/deb6854eec93529b2bd30178d400ad2ee7665cd4
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/test/CodeGen/NVPTX/globals_init.ll
Log Message:
-----------
[NVPTX] Pad non-power-of-2 vectors in structs properly. (#201246)
A non-power-of-2 vector inside of a struct is padded up to its alloc
size.
But when the NVPTX asm printer emits bytes for such a struct, it
currently skips this tail padding, thus emitting an incorrect struct.
Commit: 971076f616e6c6f07580c506375b700b207224f9
https://github.com/llvm/llvm-project/commit/971076f616e6c6f07580c506375b700b207224f9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
Log Message:
-----------
[NFC][mlir][SPIR-V] Test ceildivui/ceildivsi/floordivsi via test-convert-to-spirv (#198766)
SPIR-V has no direct opcode for these ops. Verify that using
`--test-convert-to-spirv` pass is sufficient to convert these ops to
SPIR-V
Commit: 55587f7b757583b1e30c3027803ed092790471a3
https://github.com/llvm/llvm-project/commit/55587f7b757583b1e30c3027803ed092790471a3
Author: Adhemerval Zanella <zatrazz at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/read-fp-reg.ll
A llvm/test/CodeGen/AArch64/read-reg-non-entry.ll
M llvm/test/CodeGen/AArch64/write-volatile-register.ll
Log Message:
-----------
[CodeGen] Mark read_register of allocatable physreg as live-in (#200825)
llvm.read_register / llvm.read_volatile_register of an allocatable
register (e.g. the MSVC __getReg/__getRegFp intrinsics reading xN/dN)
was lowered to a plain COPY from the physical register. That COPY uses a
physical register that is never defined, which the machine verifier
rejects as "Using an undefined physical register" (seen on
read-fp-reg.ll under LLVM_ENABLE_EXPENSIVE_CHECKS).
Reading such a register only makes sense as "whatever value it currently
holds", i.e. like an inline-asm read; it cannot be modelled as a normal
SSA use of a physical register, and a live-in only works in the entry
block.
Lower these reads in AArch64 like the existing MRS/MSR sysreg path:
select to a small pseudo (READ_REGISTER_GPR64 / READ_REGISTER_FPR64)
that carries the source register as an immediate operand rather than a
tracked physical-register use, and have the AsmPrinter materialize the
real "mov Xt, Xn" / "fmov Dt, Dn". The verifier never sees an undefined
physreg use, so the read is valid in any block and needs no live-in or
undef. Reads of reserved registers (e.g. sp) and system registers keep
their existing lowering.
Commit: 4d23acde98acb72e103d8c999edf752a9317aced
https://github.com/llvm/llvm-project/commit/4d23acde98acb72e103d8c999edf752a9317aced
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M .github/workflows/release-binaries.yml
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
[release] Add zstd archives to github releases (#186526)
This leaves the previous xz files but also creates zstd archives of the
binaries. This provides significantly reduced download sizes. We could
integrate this with cpack but we don't have control over the compression
level in that until version 4.3 which isn't even released yet.
Fixes https://github.com/llvm/llvm-project/issues/164537
Commit: f70a28f4d1b5d17d94fca03fb74387ad800560de
https://github.com/llvm/llvm-project/commit/f70a28f4d1b5d17d94fca03fb74387ad800560de
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A lldb/docs/resources/build.md
R lldb/docs/resources/build.rst
A lldb/docs/resources/dataformatters.md
R lldb/docs/resources/dataformatters.rst
A lldb/docs/resources/debugging.md
R lldb/docs/resources/debugging.rst
A lldb/docs/resources/extensions.md
R lldb/docs/resources/extensions.rst
A lldb/docs/resources/formatterbytecode.md
R lldb/docs/resources/formatterbytecode.rst
A lldb/docs/resources/overview.md
R lldb/docs/resources/overview.rst
A lldb/docs/resources/projects.md
R lldb/docs/resources/projects.rst
A lldb/docs/resources/qemu-testing.md
R lldb/docs/resources/qemu-testing.rst
A lldb/docs/resources/sbapi.md
R lldb/docs/resources/sbapi.rst
A lldb/docs/resources/test.md
R lldb/docs/resources/test.rst
Log Message:
-----------
[lldb][docs] Convert resources/ RST docs to Markdown (NFC) (#201442)
Convert the ten contributor-facing RST docs under lldb/docs/resources/
to MyST Markdown. This is the second batch of an incremental RST ->
Markdown migration. The previous PR (#201256) covered nine small leaf
pages.
Files: build, dataformatters, debugging, extensions, formatterbytecode,
overview, projects, qemu-testing, sbapi, test.
Verified by building the docs on origin/main and on this branch with
identical sphinx flags and diffing both the warnings and the rendered
HTML. After file extension and line numbers are normalized, the warning
sets match exactly. Six of the ten pages are byte-identical. The four
that differ (dataformatters, projects, sbapi, test) differ only in:
- CommonMark collapsing two-spaces-after-period to one.
- MyST adding a `myst` CSS class to `<dl>` elements and an `<hr>`
separator before footnote sections.
- Footnote IDs renamed from auto `id3` to named `footnote-1`.
The diff also surfaced two semantic regressions in the conversion, fixed
here:
- build.md `{ref}` to `Optional Dependencies` did not match the new
`(optional-dependencies)=` anchor; updated to use the new label.
- test.md and build.md lost cross-reference behavior on single- backtick
refs to SB-class names and `lldb`. RST's default role is `any`, so
single backticks attempted xrefs; in MyST single backticks are plain
code spans. Converted these 14 occurrences to explicit `{any}`...``
syntax.
Several `eval-rst` blocks remain in formatterbytecode.md and test.md to
preserve grid tables that MyST does not render natively.
Context: https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Assisted-by: Claude
Commit: ad422cd10bfd0be0c069221546de7c7299ca305d
https://github.com/llvm/llvm-project/commit/ad422cd10bfd0be0c069221546de7c7299ca305d
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/cuf-constant-generic-unified.cuf
Log Message:
-----------
[flang][cuda] Handle Constant and Shared attributes in CUDA generic matching distance (#201451)
The CUDA generic resolution matching distance function did not handle
actual arguments with the `Constant` or `Shared` data attribute. These
attributes represent device memory but were unhandled, causing the
distance to fall through to infinity. Under `-gpu=mem:unified`, this led
to spurious ambiguity errors when multiple specifics (e.g.
host-to-device and device-to-device overloads) both became candidates
with tied infinite distances.
Treat Constant and Shared actuals the same as Device in the matching
distance table, since all three reside in device memory.
Commit: 9ae0d890a9236a94f23d5c3ff84ea08d7a670f03
https://github.com/llvm/llvm-project/commit/9ae0d890a9236a94f23d5c3ff84ea08d7a670f03
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
A clang/test/Analysis/Checkers/WebKit/nodelete-lazy-initialize.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Treat a r-value smart pointer return value as no-delete. (#200912)
Skip the checkin g of the destructor of T in ExprWithCleanups /
CXXBindTemporaryExpr when returning a value using r-value reference
since such a construct never invokes delete.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 901cfb4aa4d52fd4f751b78bf932f54210fdcf5b
https://github.com/llvm/llvm-project/commit/901cfb4aa4d52fd4f751b78bf932f54210fdcf5b
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
A llvm/test/CodeGen/Hexagon/hvc-remarks.ll
A llvm/test/CodeGen/Hexagon/hwloop-remarks.ll
A llvm/test/CodeGen/Hexagon/loop-idiom-remarks.ll
A llvm/test/CodeGen/Hexagon/vlcr-remarks.ll
Log Message:
-----------
[Hexagon] Add optimization remarks to Hexagon IR and MIR passes (#189176)
Add OptimizationRemark/OptimizationRemarkMissed emissions to four
Hexagon-specific passes, making them observable via the standard
-Rpass/-Rpass-missed flags:
- HexagonLoopIdiomRecognition (hexagon-lir): remarks for loop-to-memcpy/
memmove conversions and polynomial multiply recognition, with missed
remarks for non-countable loops, aliasing, non-affine pointers, etc.
- HexagonVectorLoopCarriedReuse (hexagon-vlcr): remarks for reused
loop-carried vector values, with missed remarks for multi-block loops,
non-innermost loops, and missing candidates.
- HexagonVectorCombine (hexagon-vc): remarks for aligned vector memory
operations, with missed remarks for group size limits, unsafe
relocations, and insufficient HVX version.
- HexagonHardwareLoops (hwloops): remarks for hardware loop conversion,
with missed remarks for invalid instructions (calls), multiple exits,
induction variable issues, and non-computable trip counts.
Commit: 5f975bb6afec710e4ef47c3b90a299b2212c6ec0
https://github.com/llvm/llvm-project/commit/5f975bb6afec710e4ef47c3b90a299b2212c6ec0
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang-c/BuildSystem.h
M clang/include/clang/Serialization/ModuleCache.h
M clang/lib/Serialization/ModuleCache.cpp
M clang/tools/libclang/BuildSystem.cpp
M clang/tools/libclang/libclang.map
M clang/unittests/libclang/LibclangTest.cpp
Log Message:
-----------
[libclang] Add clang_ModuleCache_pruneWithCallback (#199789)
clang_ModuleCache_pruneWithCallback takes a callback that is invoked for
each PCM that gets pruned. This is to support build systems that would
like to clean up additional data when PCMs are removed from disk.
Commit: 2e9cdc4f3be729686c8c238f9da2ffa961690e47
https://github.com/llvm/llvm-project/commit/2e9cdc4f3be729686c8c238f9da2ffa961690e47
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/test/CodeGen/NVPTX/global-ordering.ll
Log Message:
-----------
[NVPTX] Remove support for `sub` in global initializers. (#201473)
I added this in https://github.com/llvm/llvm-project/pull/201220 and
assumed it worked because the pre-commit builders passed. But (a) this
is not attested in the PTX ISA, and (b) it seems that the builders don't
actually run ptxas.
Oops. Removed support for `sub`.
Commit: 49ac4f475e4cf643a3fd68f9bf97f6b7d1adef83
https://github.com/llvm/llvm-project/commit/49ac4f475e4cf643a3fd68f9bf97f6b7d1adef83
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll
M llvm/test/CodeGen/Xtensa/setcc.ll
Log Message:
-----------
[Xtensa] Fix setcc test. (#201196)
Fix setcc test after changes in llvm passes.
Also add minor fix in inline-asm-invalid.ll test.
Commit: 2b081a26d96450283814209d2b9001db89000f0a
https://github.com/llvm/llvm-project/commit/2b081a26d96450283814209d2b9001db89000f0a
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
A llvm/test/CodeGen/AMDGPU/ldsdmacnt_sched.mir
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
M llvm/test/CodeGen/AMDGPU/sched-ldsdma-mask.mir
Log Message:
-----------
[AMDGPU] Do not add latency for tensorcnt / asynccnt dependencies (#201201)
Currently, when constructing the ScheduleDAG we see dependencies between
LDSDMA->LDSDMA or s_wait->s_wait due to implicit $asynccnt / $tensorcnt
operands. These implicit operands are necessary to force ordering of the
instructions, but there should be no latency for this dependency. In the
LDSDMA->LDSDMA case, the scheduler thinks it will be hundreds of cycles
until the next LDSDMA is ready.
This handles the cases:
1. LDSDMA -> LDSDMA
2. WAIT -> LDSDMA
3. WAIT -> WAIT
In the LDSDMA -> WAIT case, usually the relevant WAIT is in a different
iteration, so we don't need latency between these instructions in the
same iteration, though that isn't guaranteed. I plan to handle remove
the latency for obvious cases in a followup PR.
Commit: 7917772d7d61384696c61102c08c2ea158e610fa
https://github.com/llvm/llvm-project/commit/7917772d7d61384696c61102c08c2ea158e610fa
Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
Log Message:
-----------
[AMDGPU][NFC] Hoist independent condition out of loop in dependsOnLocalPhi in AMDGPUTTI (#198789)
Commit: 58de983ea7c28e1fa83add7d89d5e7b2cc6e9386
https://github.com/llvm/llvm-project/commit/58de983ea7c28e1fa83add7d89d5e7b2cc6e9386
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
Log Message:
-----------
[NFC] Remove trailing whitespaces in Intrinsics.td (#201472)
Commit: aa9099a47468425b6d16613e08ae84c8c77671b7
https://github.com/llvm/llvm-project/commit/aa9099a47468425b6d16613e08ae84c8c77671b7
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/noalias-scope-decl.ll
Log Message:
-----------
[JumpThreading] Clone noalias scopes in duplicateCondBranchOnPHIIntoPred (#200550)
duplicateCondBranchOnPHIIntoPred clones a block into a predecessor with
its own loop. Unlike cloneInstructions (used by threadEdge), it never
cloned the duplicated noalias scope declarations. The duplicated code
therefore shared the original's !alias.scope/!noalias MDNodes, letting
AA incorrectly treat two accesses on different paths as non-aliasing.
Fix by cloning the scopes.
Commit: 7132f8f40649ebe15f701c8103e22dead7ea8f71
https://github.com/llvm/llvm-project/commit/7132f8f40649ebe15f701c8103e22dead7ea8f71
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[NFC] Remove trailing whitespaces from llvm/docs/ReleaseNotes.md (#201478)
Commit: 96a50e0ee0959dd3095b0d3c561fab0c5f5fe94c
https://github.com/llvm/llvm-project/commit/96a50e0ee0959dd3095b0d3c561fab0c5f5fe94c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/lto.c
Log Message:
-----------
[Clang] Accept `-flto=none` similar to `-fno-lto` (#201460)
Summary:
Personal preference, but I would like to be able to set all the LTO
kinds from the string, and it feels a little odd to need to use
`-fno-lto` to override the mode.
Commit: 086f9c1e6ea3ed30345f685d9055f57f044834a7
https://github.com/llvm/llvm-project/commit/086f9c1e6ea3ed30345f685d9055f57f044834a7
Author: ovatonne <ovatonne at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
Log Message:
-----------
[libc++][tests] Add missing strong exception guarantee test coverage in forward_list (#200666)
Adds missing test coverage for exception guarantees in forward_list.
- Strong exception guarantee for forward_list::push_front and
forward_list::emplace_front.
- Exception guarantee for constructor, operator= and assign overloads
taking an initializer_list.
- Add move and inplace construction as throwing functions in test
helpers.
- Add tests throwing upon moving or constructing elements inplace for
relevant overloads.
Commit: 8a21afca17117a380f2716ae81fb402d673f48fe
https://github.com/llvm/llvm-project/commit/8a21afca17117a380f2716ae81fb402d673f48fe
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/arith-costs.ll
R llvm/test/Transforms/LoopVectorize/AArch64/binop-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
Log Message:
-----------
[LV] Add cost for VPInstruction::Not. (#198445)
This patch add the cost for VPInstruction::Not which will lower to Xor.
Commit: ff812a578f236d3554750391041146a6781a9f55
https://github.com/llvm/llvm-project/commit/ff812a578f236d3554750391041146a6781a9f55
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb/test] Add _excluded_variant_combinations hook in lldbtest (#201459)
Add a module-scope hook that LLDBTestCaseFactory consults during variant
expansion so the suite can declare combinations of variant axis values
that should never be generated. Each entry in
`_excluded_variant_combinations` is a dict mapping variant_name ->
value; the helper `_is_excluded_variant_combination(method,
variant_name, value_name)` returns True when assigning the given
variant=value to the method would produce a combination matching every
entry. `_expand_test_variants` checks the predicate before generating
each copy and drops the variant entirely so excluded crosses don't
appear in the test matrix at all.
This is a suite-wide per-axis-combination analogue of
NO_DEBUG_INFO_TESTCASE: instead of collapsing the entire debug-info axis
for one test class, it lets the suite declare narrowly that any variant
carrying e.g. {"swift_module_importer": "noclang", "swift_embedded":
"swiftembed"} should be dropped, regardless of which source method or
test class generated it. Useful when a subset of the variant matrix is
known broken (or simply redundant) without resorting to broad @skipIf /
@expectedFailureAll decorators on each affected method.
The list starts empty; the first downstream consumer
(swiftlang/llvm-project) adds the noclang × swiftembed cross at the same
time it registers the swift_module_importer / swift_embedded variants.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: c10e5060490e1377a4d59cab5f8e345134d35d97
https://github.com/llvm/llvm-project/commit/c10e5060490e1377a4d59cab5f8e345134d35d97
Author: Michael Jones <michaelrj at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/CMakeLists.txt
M libc/include/inttypes.yaml
M libc/src/inttypes/CMakeLists.txt
A libc/src/inttypes/wcstoimax.cpp
A libc/src/inttypes/wcstoimax.h
A libc/src/inttypes/wcstoumax.cpp
A libc/src/inttypes/wcstoumax.h
M libc/test/src/inttypes/CMakeLists.txt
A libc/test/src/inttypes/wcstoimax_test.cpp
A libc/test/src/inttypes/wcstoumax_test.cpp
Log Message:
-----------
[libc] implement wcstoimax/wcstoumax (#200284)
Adds the implementation and tests for wide character to intmax_t and
uintmax_t.
Assisted-by: Automated tooling, human reviewed.
Commit: 2e27610b8f79c34238ffc405d3f4558945c32752
https://github.com/llvm/llvm-project/commit/2e27610b8f79c34238ffc405d3f4558945c32752
Author: Florian Mayer <fmayer at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
R llvm/test/Bitcode/musttail-bitcast-upgrade.ll
R llvm/test/Bitcode/musttail-bitcast-upgrade.ll.bc
M llvm/test/Instrumentation/AddressSanitizer/musttail.ll
M llvm/test/Instrumentation/ThreadSanitizer/tsan_musttail.ll
M llvm/test/Transforms/CallSiteSplitting/musttail.ll
M llvm/test/Transforms/SafeStack/X86/musttail.ll
M llvm/test/Verifier/musttail-invalid.ll
Log Message:
-----------
Revert "Remove the optional bitcast between a musttail call and its ret" (#201479)
This reverts https://github.com/llvm/llvm-project/pull/201280
This broke MSan on the buildbots:
https://lab.llvm.org/buildbot/#/builders/169/builds/23291/steps/10/logs/stdio
This is the only change in the batch that touched BitcodeReader
Commit: 0f3d6b9cac25c750f5fa477d92ba15b68b03e210
https://github.com/llvm/llvm-project/commit/0f3d6b9cac25c750f5fa477d92ba15b68b03e210
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
A llvm/include/llvm/ExecutionEngine/Orc/SymbolLookupSet.h
Log Message:
-----------
[ORC] Lift SymbolLookupSet into its own header. NFCI. (#201295)
Lifts the SymbolLookupSet class and SymbolLookupFlags enum out of Core.h
and into a new SymbolLookupSet.h header.
Commit: f0d98c3693a47679115ce05a5a5629e9b869472f
https://github.com/llvm/llvm-project/commit/f0d98c3693a47679115ce05a5a5629e9b869472f
Author: savchart <metaartem at protonmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/function-size-ignore-macros.cpp
Log Message:
-----------
[clang-tidy][readability] Ignore macros in function-size check (#199549)
This patch adds an IgnoreMacros option to the readability-function-size
check.
Fixes https://github.com/llvm/llvm-project/issues/112835
Commit: 9263a42920ea470ff7377fa3ca3b3759aeb86fa1
https://github.com/llvm/llvm-project/commit/9263a42920ea470ff7377fa3ca3b3759aeb86fa1
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-to-host.mlir
Log Message:
-----------
[OpenMP] Use ext linkage for kernels handles and globals handles keep… (#200964)
… linkage
Host handles are now emmitted with external linkage to clash if two
kernels with the same name are registered. This could have happen right
now and silently corrupt the program, but it can happen more easily once
we allow users to name their kernels.
In the same patch we make global variable handles retain the linkage of
the global variable, forcing clashes for external ones and continue to
support weak use cases.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 97d72648474f2bd8832810993a31a69d28196ffe
https://github.com/llvm/llvm-project/commit/97d72648474f2bd8832810993a31a69d28196ffe
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-icp-recursive.ll
Log Message:
-----------
[MemProf] Change default of memprof-icp-noinline-threshold to 0 (#201474)
This is no longer needed after PR172502 added support to identify
indirect callees from inlined frames.
Commit: 84085aac175bd949c521957af88ff5cda4aeeb20
https://github.com/llvm/llvm-project/commit/84085aac175bd949c521957af88ff5cda4aeeb20
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
Log Message:
-----------
[mlir][linalg] Improve contraction specialization (#201300)
Extend the matcher to recognize additional supported boolean contraction
form(and+or). Fixes #198235.
Commit: 70256dff97f1393c0bceb6c90c0341215d2ba598
https://github.com/llvm/llvm-project/commit/70256dff97f1393c0bceb6c90c0341215d2ba598
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
R flang/test/Lower/OpenMP/Todo/metadirective-dynamic.f90
M flang/test/Lower/OpenMP/metadirective-user.f90
M flang/test/Semantics/OpenMP/metadirective-user.f90
Log Message:
-----------
[flang][OpenMP] Support lowering of metadirective (part 2) (#194424)
Lower non-constant `user={condition(expr)}` selectors in OpenMP
metadirectives to a runtime `fir.if` / `else` selection cascade.
Dynamic user conditions are handled in two separate phases:
- Static applicability uses only selector traits that are known at
compile time.
- Guarded ranking preserves selector specificity and dynamic-condition
scores for the path where the runtime condition evaluates to true.
Lowering first filters candidates using compile-time selector traits,
then orders the remaining candidates with the normal OpenMP variant
ranking rules. If the selected candidate has a non-constant user
condition, that condition is emitted as a `fir.if` guard. When the
condition evaluates to false, the `else` branch continues selection
among the remaining candidates.
For example:
```fortran
!$omp metadirective &
!$omp & when(user={condition(score(100): high)}: barrier) &
!$omp & when(user={condition(low)}: taskwait) &
!$omp & otherwise(nothing)
```
is selected as:
```text
if (high) barrier
else if (low) taskwait
else nothing
```
Scores attached to dynamic `condition(score(...): expr)` selectors are
preserved for the guarded candidate. As a result, those scores affect
ranking only on the runtime path where the condition is true, instead of
allowing a false runtime condition to influence unconditional selection.
This also fixes the interactions with `extension(match_any)` and
`extension(match_none)`:
- `match_any` can be satisfied by a runtime condition when no static
trait matches.
- If static traits already satisfy `match_any`, the dynamic condition
score is used only when the condition is true.
- `match_none` keeps the dynamic condition inactive for static
applicability while still preserving its score for ranking.
For example, this `match_any` selector is statically applicable through
`vendor(llvm)`, but the score on `flag` is used only when `flag`
evaluates to true:
```fortran
!$omp metadirective &
!$omp & when(implementation={extension(match_any), vendor(llvm)}, &
!$omp & user={condition(score(100): flag)}: barrier) &
!$omp & when(user={condition(score(10): .true.)}: taskwait) &
!$omp & otherwise(nothing)
```
is selected as:
```text
if (flag) barrier
else taskwait
```
The final fallback is the highest-ranked unguarded candidate, an
explicit `otherwise` / `default` clause, or implicit `nothing`.
This patch is part of the feature work for #188820 and is stacked on top
of [#193664](https://github.com/llvm/llvm-project/pull/193664).
Assisted with Copilot and GPT-5.4.
Commit: a53507fb5c108f0fd71270bf6498fa0f283b27c1
https://github.com/llvm/llvm-project/commit/a53507fb5c108f0fd71270bf6498fa0f283b27c1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Fix a crash with covariant return types (#201354)
`Context::collectBaseOffset()` will assert if the passed-in classes are
the same.
Commit: 36e714b78712ef7f697d172b3ede0131568b892c
https://github.com/llvm/llvm-project/commit/36e714b78712ef7f697d172b3ede0131568b892c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorResolver.h
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorResolutionGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorResolver.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/tools/lli/ForwardingMemoryManager.h
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
Log Message:
-----------
[ORC] Replace ExecutorSymbolDef with ExecutorAddr in remote lookup. (#201492)
Update DylibManager and associated interfaces to return ExecutorAddrs
for remote symbols, rather than ExecutorSymbolDefs. No clients were
using the flags component of ExecutorSymbolDef, and this brings the
SimpleExecutorDylibManager implementation in OrcTargetProcess into
closer alignment with the NativeDylibManager implementation in the new
ORC runtime.
Commit: 4a77ce7c6f510283083dba0daccefc4d32326e44
https://github.com/llvm/llvm-project/commit/4a77ce7c6f510283083dba0daccefc4d32326e44
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SplitKit.cpp
A llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
Log Message:
-----------
[CodeGen][AMDGPU] Remove premature empty subrange elimination (#201263)
This commit removes a call to `removeEmptySubRanges` inside
`SplitEditor::rewriteAssigned` which removes empty subranges that may be
expected at a later stage. The empty subranges are eliminated by a later
call to `removeEmptySubRanges`.
Fixes https://github.com/llvm/llvm-project/issues/199337.
---------
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: c17f6208157d04b730576d84c8998f7bd8112cef
https://github.com/llvm/llvm-project/commit/c17f6208157d04b730576d84c8998f7bd8112cef
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll
Log Message:
-----------
[LoopInterchange] Check all inner-exit LCSSA PHIs (#200860)
areInnerLoopExitPHIsSupported() returned true as soon as it saw the
reduction LCSSA PHI, skipping the user-check for any later LCSSA PHIs.
If one had a non-PHI user, legality wrongly succeeded and the transform
hit a cast<PHINode> assertion. Use continue so the remaining PHIs are
still validated.
Fixes #200811.
Commit: cdf26f6721363d542865d826dd6455d448e1e860
https://github.com/llvm/llvm-project/commit/cdf26f6721363d542865d826dd6455d448e1e860
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/srem-lkk.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
Log Message:
-----------
[RISCV] Fold (add X, (mulhs X, C)) -> (mulhsu X, C) if C is negative. (#199287)
Improves some division by constant cases.
Based on this blog post
https://needlesscomplexity.substack.com/p/implementing-division-by-multiplying
Correctness proof is sketched out in the comments.
Commit: e75e96af6987cb017f8d11efc1eed430b0d6080d
https://github.com/llvm/llvm-project/commit/e75e96af6987cb017f8d11efc1eed430b0d6080d
Author: mike-goutokuji <gfunni234 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-adjust-icmp-imm.mir
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
Log Message:
-----------
[AArch64][GlobalISel] Port shouldBeAdjustedToZero to GlobalISel (#195941)
Commit: 4695c84c7954f0133679b76302bff13e2b059def
https://github.com/llvm/llvm-project/commit/4695c84c7954f0133679b76302bff13e2b059def
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Extend op definitions to support 3D+: load_nd, store_nd, prefetch_nd (#199811)
**Summary**
Extend xegpu.load_nd, xegpu.store_nd, and xegpu.prefetch_nd operations
to support 3D and higher-dimensional tensor descriptors with batch
dimensions, enabling batched memory operations for workloads like [4, 8,
16] tensor loads/stores.
**Changes**
- Verifiers: Removed rank > 2 checks in LoadNdOp::verify() and
StoreNdOp::verify() to allow 3D+ tensor descriptors
- Documentation: Added comprehensive documentation explaining: Tensor
descriptors can be 1D, 2D, 3D, or higher dimensional; Batch dimensions
(leading dimensions) are unrolled to unit dimensions during lowering;
Operations execute at 2D granularity at subgroup level to match 2D block
IO hardware; Examples of 3D operations
- Tests: Added unit tests for 3D operations (load_nd_3d, store_nd_3d,
prefetch_nd_3d)
---------
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 5f517ddd3e7c29ac51ea88a33e500455deee03a1
https://github.com/llvm/llvm-project/commit/5f517ddd3e7c29ac51ea88a33e500455deee03a1
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Extend op definitions to support 3D+: dpas, dpas_mx (#199809)
**Summary**
Extend xegpu.dpas and xegpu.dpas_mx operations to support 3D and 4D
operands with batch dimensions, enabling batched matrix multiplication
workloads like [4, 128, 512] x [4, 512, 128] -> [4, 128, 128].
**Changes**
- Type definitions: Extended XeGPU_DpasOprType and XeGPU_DpasResType to
support rank 3-4 (previously 1-3 and 1-2)
- Op definitions: Extended dpas_mx scale operands to support rank 3-4
vectors
- Verifiers: Updated verifyDpasDimensions() to validate batch dimensions
across A, B, and result operands; updated DpasMxOp::verify() for
batch-aware scale dimension checks
- Documentation: Added comprehensive documentation explaining batch
dimensions, microarchitecture-specific matrix sizes, and 3D/4D usage
examples
- Tests: Added unit tests for 3D batched dpas and dpas_mx operations
Assisted-by-Claude
---------
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 3192648845b87e1907377a395d626b85a7bad6ee
https://github.com/llvm/llvm-project/commit/3192648845b87e1907377a395d626b85a7bad6ee
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M orc-rt/include/orc-rt/NativeDylibManager.h
M orc-rt/lib/executor/NativeDylibManager.cpp
M orc-rt/lib/executor/Unix/NativeDylibAPIs.inc
M orc-rt/lib/executor/sps-ci/NativeDylibManagerSPSCI.cpp
M orc-rt/unittests/NativeDylibManagerSPSCITest.cpp
M orc-rt/unittests/NativeDylibManagerTest.cpp
Log Message:
-----------
[orc-rt] Make NativeDylibManager::lookup return optional addresses. (#201519)
NativeDylibManager::lookup used to return (asynchronously) a vector of
void *s where null represented not-present. This commit updates it to
return a vector of std::optional<void *>s where std::nullopt represents
not-present and an address of zero indicates that the symbol is present
with an address of zero.
This matches the resolve semantics of SimpleExecutorDylibManager,
completing the alignment of the two implementations after the earlier
additions of the Mode argument to load() and the
required/weakly-referenced flag on lookup symbols.
Commit: 192c013865fbdc038996550e34ecc943f9b5c90e
https://github.com/llvm/llvm-project/commit/192c013865fbdc038996550e34ecc943f9b5c90e
Author: Guy David <guyda96 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/dup.ll
Log Message:
-----------
[AArch64] Fix DUP-of-extload combine to ignore chain uses (#201351)
The original combine bailed when the load had more than one use, but
counted chain uses too.
Commit: b8cc5942b3c1b3dd56d3e37093b0c22e134fd0b0
https://github.com/llvm/llvm-project/commit/b8cc5942b3c1b3dd56d3e37093b0c22e134fd0b0
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
M mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.cpp
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaConstants.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-invalid.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-mark-invalid.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-mark.mlir
M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
Log Message:
-----------
[mlir][spirv] Add TOSA graph constant marking (#201095)
Add a TOSA to SPIR-V TOSA preprocessing pass that marks large tosa.const
and tosa.const_shape operations for lowering to spirv.ARM.GraphConstant.
Keep small constants inline as spirv.Constant, assign graph constant IDs
with a grapharm-prefixed marker attribute, and teach the existing
constant conversion to use the marker when present.
Expose the grapharm source-side attribute names used for interface ABI
annotations and graph constant IDs.
Add tests for marking large constants, leaving small constants unmarked,
increasing graph constant IDs across mixed constants, and lowering
pre-marked constants to spirv.ARM.GraphConstant.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 364a8837a9d67135d050fe594ba51e319fbab938
https://github.com/llvm/llvm-project/commit/364a8837a9d67135d050fe594ba51e319fbab938
Author: ShashwathiNavada <shashwathinavada at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/test/Driver/frelaxed-c-loc-checks.f90
Log Message:
-----------
[Flang] Fix -frelaxed-c-loc-checks being ignored when using the driver (#200733)
`-frelaxed-c-loc-checks` worked correctly when passed directly to -fc1,
but was silently ignored when using the driver (e.g., flang -c
-frelaxed-c-loc-checks), causing the flag to go unused. This patch fixes
it by adding `OPT_relaxed_c_loc` to the `addAllArgs` call in Flang.cpp
Also extend the existing test with a driver-mode RUN line to cover this
path.
Commit: ee1fe9431baedb216674a1452eb39aca9d3a78d9
https://github.com/llvm/llvm-project/commit/ee1fe9431baedb216674a1452eb39aca9d3a78d9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
Log Message:
-----------
[mlir][arith] Use subui_extended in wide integer emulation of subi (#197762)
Commit: b8c18e9aa7f273a786a0dd09a4fcab822438e975
https://github.com/llvm/llvm-project/commit/b8c18e9aa7f273a786a0dd09a4fcab822438e975
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
Log Message:
-----------
[mlir][ArithToLLVM] Lower arith.subui_extended (#197737)
Commit: bdd7b4cc2a0c9a8c58e4025edae079ce6af73aa0
https://github.com/llvm/llvm-project/commit/bdd7b4cc2a0c9a8c58e4025edae079ce6af73aa0
Author: ShashwathiNavada <shashwathinavada at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/entry01.f90
Log Message:
-----------
[Flang][Semantics] Throw diagnostics for identical entry and result names. (#198500)
Fixes https://github.com/llvm/llvm-project/issues/198499
In flang entry name and result names cannot be same as per
[C1583](https://j3-fortran.org/doc/year/25/25-007r1.pdf).
Previously, Flang did not diagnose cases where the ENTRY name and RESULT
name were identical, e.g.
```
function m1f1()
integer :: m1f1
real :: m1f1e1
m1f1 = 0
entry m1f1e1() result(m1f1e1)
m1f1e1 = 0.1
end function
```
Commit: 96c0f5ad27abba13bc941df99686fdb8c7b59fff
https://github.com/llvm/llvm-project/commit/96c0f5ad27abba13bc941df99686fdb8c7b59fff
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/unittests/Target/MemoryTest.cpp
Log Message:
-----------
[lldb] Use MemoryCache in Process::ReadRangesFromMemory (#201166)
There are scenarios (especially in the ObjectiveC metadata reading) in
which multiple strings are read over and over again, but through
different code paths. In order to make that part of the code use
MultiMemRead effectively, the memory cache must be integrated into
ReadRangesFromMemory before we can migrate the string reading to
vectorized version.
Commit: 375fa6fb02035afc8719e8484f0c914a96987fd8
https://github.com/llvm/llvm-project/commit/375fa6fb02035afc8719e8484f0c914a96987fd8
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
Log Message:
-----------
[Loads] Use willNotFreeBetween() for dereferenceable-at-point (#201353)
If dereferenceable-at-point semantics are enabled, use
willNotFreeBetween() to check whether frees are known to not occur
between the definition point of the value and the context instruction.
We already use this logic for dereferenceable assumptions, this enables
it for other dereferenceability fact (under deref-at-point).
Commit: f02dd4afbac15705016a9a7962d87161524b66cc
https://github.com/llvm/llvm-project/commit/f02dd4afbac15705016a9a7962d87161524b66cc
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/CodeGen/ms-intrinsics-other.c
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/Attributor/nosync.ll
M llvm/test/Transforms/FunctionAttrs/atomic.ll
M llvm/test/Transforms/FunctionAttrs/initializes.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nofpclass.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/branch-dom-cond.ll
Log Message:
-----------
[CaptureTracking] Volatile operations only capture address (#201316)
The fact that a volatile access was performed on a certain address is an
observable effect in the abstract machine, so volatile operations
capture the address of the accessed pointer. However, they do not
capture the provenance. This matches what we document in LangRef.
While I'm pretty sure that this models the semantics correctly, I'm
slightly concerned that we might be using the provenance capture here to
paper over some other issue, though nothing specific comes to mind (and
the test changes don't show anything problematic).
Commit: 73802c2e9d102a4fb646bc039754779fca3ea476
https://github.com/llvm/llvm-project/commit/73802c2e9d102a4fb646bc039754779fca3ea476
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A offload/test/offloading/array_reductions.cpp
M offload/test/offloading/multiple_reductions.cpp
Log Message:
-----------
[OpenMP][offload] Add enhanced array-reduction tests (#201040)
Commit: 601958395ae7f24c74d85fcda2829e102e4176f0
https://github.com/llvm/llvm-project/commit/601958395ae7f24c74d85fcda2829e102e4176f0
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[NFC][GlobalISel] Refactor ownership of InstructionMatchers (#200798)
- Clarify that the array of InstructionMatchers in the RuleMatcher are
for the roots only.
- Let RuleMatcher own all of the InstructionMatcher used for/by
predicates.
They are all kept in an array in which the index of the
InstructionMatcher is equal to its
InsnID, which eliminates some redundant tracking.
- Remove duplicate tracking of InsnID from RuleMatcher;
InstructionMatcher does it on its own already.
Co-authored-by: Pierre-vh <29600849+Pierre-vh at users.noreply.github.com>
Commit: b6599484337145cd03cdc42b30de08939e3f6947
https://github.com/llvm/llvm-project/commit/b6599484337145cd03cdc42b30de08939e3f6947
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex-atomic-cast.c
Log Message:
-----------
[CIR] Fix Complex Casting with Atomic qualifier (#201424)
Apply Complex Casting with Atomic qualifier fixes from PRs #172210 and
#172163
Issue https://github.com/llvm/llvm-project/issues/192331
Commit: b12cd6aa2faac1af50ee332c30a3e863dc462d7d
https://github.com/llvm/llvm-project/commit/b12cd6aa2faac1af50ee332c30a3e863dc462d7d
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
Log Message:
-----------
[lldb] Use batched memory reads in ClassDescriptorV2::relative_list_entry_t (#201284)
This reduces the number of memory reads performed when reading Objective
C classes metadata.
Note: these addresses are indeed sequential (with a small offset between
them), but there are so many of them that they would not fit into a
single Process::ReadMemory cache line, so this is still a win, and it
also puts the code into the right shape for vectorizing the next read in
the same loop, which will see the biggest savings.
Commit: ca085afb41ab167597e76daf732b4f5a6eb36298
https://github.com/llvm/llvm-project/commit/ca085afb41ab167597e76daf732b4f5a6eb36298
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A llvm/test/CodeGen/X86/freeze-fp.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
[SelectionDAG] Pre-commit tests for dagcombine improvements (#201270)
I've got a stack of dagcombine improvements that together make an
infinite cycle relating to freeze insertion in vector-manipulation IR.
Here we have
- Handling freeze(undef) in demanded-elts for shufflevector
- Improvements to noundef checks for bitcast, concat, and select
- Improvements to extract(concat), extract(extract), and extract(insert)
handling
Even though the regression I'm fixing is an AMDGPU one, these tests are
mainly X86 because the AMDGPU calling convention makes it hard to
demonstrate the folds I'm adding.
AI note: I got an LLM to find most of these tests, especially some of
the fiddly ones that needed control flow.
Commit: b0cb331995d494dda75d5fd967e160ec0c32caf1
https://github.com/llvm/llvm-project/commit/b0cb331995d494dda75d5fd967e160ec0c32caf1
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
Log Message:
-----------
[clang-tidy] Avoid brace fix-it crash in macro body expansion (#198788)
`readability-braces-around-statements `could assert when diagnosing an
unbraced statement that ends in the middle of a macro body expansion. It
would be hard/unsafe to give fix-its for such cases, so treat them as
diagnostic-only.
Closes https://github.com/llvm/llvm-project/issues/198711
Commit: 6fd4b82f8985b4d86ba190781f132832637e8642
https://github.com/llvm/llvm-project/commit/6fd4b82f8985b4d86ba190781f132832637e8642
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-usabs.ll
Log Message:
-----------
[LV] Optimize partial reduction extends before handling inloop subs (#199665)
The crash avoided in #194660 was caused by the extend optimizations
failing to match as due to the extra sub/negation added to the
"ExtendedOp".
A similar crash exists for [us]abs partial reductions (see
https://godbolt.org/z/MerMon5rE), which is fixed with this patch.
This patch solves the underlying issue by running the extend
optimizations before any inloop sub/fsub handling.
Fixes #194000
Commit: 808b9e58c651486eee2e297b8814de90254082a2
https://github.com/llvm/llvm-project/commit/808b9e58c651486eee2e297b8814de90254082a2
Author: KRM7 <rugasikrisztian at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-and-mask.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_poison.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_poison.ll
Log Message:
-----------
[GlobalISel] Combine sext(load), zext(load) patterns when the load has multiple uses (#182831)
Extend the existing combiners for sext(load), zext(load) patterns to also work when the load has multiple uses.
Commit: d226dcc019d6a83cba79951ec2a8a08c53a57858
https://github.com/llvm/llvm-project/commit/d226dcc019d6a83cba79951ec2a8a08c53a57858
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
A llvm/test/CodeGen/NVPTX/insert-vector-elt-bitcast-legalize.ll
Log Message:
-----------
[NVPTX] Fix illegal combineInsertEltToShuffle pattern (#198259)
Adds a condition to the `isShuffleMaskLegal` method to prevent
`combineInsertEltToShuffle` from creating an illegal `vector_shuffle`
after type legalization which leads to a crash.
Context:
This is triggered when bitcasting a `v2f16` into a vector that type
legalizes to a `v2i32`. This happens on architectures supporting packed
`f32` operations (>= `sm_100`). In certain cases, this leads to
`combineInsertEltToShuffle` creating a vector shuffle with `v4f16` for
simplification. Since this happens after type legalization and `v4f16`
is an illegal type, it leads to a crash.
Commit: 3112581e2945ed5027360387f0ddcb72115f3886
https://github.com/llvm/llvm-project/commit/3112581e2945ed5027360387f0ddcb72115f3886
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant_folding.mlir
Log Message:
-----------
[mlir][tosa] Improve folder conformance to TOSA specification (#200223)
This commit fixes some bugs in TOSA folders that cause non-conformant
results. The fixes include:
- tosa.intdiv - Folding when the lhs and rhs are zero. In the TOSA
specification this is undefined behaviour.
- tosa.div_ceil_shape/tosa.div_floor_shape - Folding when the lhs is
negative or the rhs is non-positive. In the TOSA specification this is
undefined behaviour.
In addition, some test cases have been added for non-exercised code
paths, including:
- tosa.intdiv - Rejects overflow cases
- tosa.greater/tosa.greater_equal/tosa.equal - Correctly evaluates NaN
cases to False.
- tosa.cast - Saturating rounding when input is out of range of the
output type.
- tosa.mod_shape - Rejects cases where lhs is negative or rhs is
non-positive.
Commit: c88cefb9f13ee2a448e06f75e98fe01d8a0bcb60
https://github.com/llvm/llvm-project/commit/c88cefb9f13ee2a448e06f75e98fe01d8a0bcb60
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libcxx/include/__memory/unique_ptr.h
Log Message:
-----------
[libc++] Simplify unique_ptr constructor SFINAE (#201305)
This patch does a couple of things:
- inline aliases to `__enable_if_t`s, making it easier to understand
what's actually going on
- make the `enable_if`s dependent via a `class _Deleter = deleter_type`
instead of a `bool` and `__dependent_type`, reducing the number of
instantiated classes
- remove `__unique_ptr_deleter_sfinae`
Commit: b09fceba26bf6d34465821460deb40b3834cf50f
https://github.com/llvm/llvm-project/commit/b09fceba26bf6d34465821460deb40b3834cf50f
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
A llvm/test/Transforms/LoopFusion/peel-preserve-lcssa.ll
Log Message:
-----------
[LoopFusion] Reform LCSSA after peelFusionCandidate's peelLoop (#200442)
peelLoop's internal simplifyLoop call requires LCSSA to be preserved
across it, but the cloned exit edges and cloned defs that peelLoop
introduces are not reflected in the existing LCSSA phis, so the contract
cannot be honoured. Pass PreserveLCSSA=false to peelLoop here and reform
LCSSA on the affected nest immediately afterward. LCSSA is expected
before and after peel+fuse, just not during it.
Caught by yarpgen fuzzing of clang -O3 -fexperimental-loop-fusion -mllvm
-loop-fusion-peel-max-count=8 on AArch64.
Fixes #199418
Commit: b66b10e852ea3bcb4a35ff83c781bf875ed50870
https://github.com/llvm/llvm-project/commit/b66b10e852ea3bcb4a35ff83c781bf875ed50870
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/managed-var.cu
M clang/test/CodeGenHIP/builtins-amdgcn-vi-f16.hip
M clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
M clang/test/CodeGenHLSL/Operators/logical-not.hlsl
M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2-overloads_mat.hlsl
M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/resources/Texture2D-GetDimensions.hlsl
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Operator.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Assembler/fast-math-flags.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/divrem24-assume.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/log-pow.ll
Log Message:
-----------
[IR] Add fast-math support to {u,s}itofp (#198470)
- `{u,s}itofp` are floating point typed values.
- CodeGen part (foldFPToIntToFP in DAGCombiner) needs `nsz` to fold
pattern (uitofp (fptoui x)) -> (trunc x).
- LLVM has intrinsic variants of `{u,s}itofp`, which already support
fast-math flags.
Now optimization flags require 9 bits in bitcode, fast-math flags of
`uitofp` are stored in high 8 bits.
VPlan part may need some extra work, it assumes optimization flags from
different categories are disjoint.
Commit: 7da29bc529d74d327804ad25e49e0cdeccfed263
https://github.com/llvm/llvm-project/commit/7da29bc529d74d327804ad25e49e0cdeccfed263
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvdota.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/rvv/zvfqwdota8f.s
A llvm/test/MC/RISCV/rvv/zvfwdota16bf.s
A llvm/test/MC/RISCV/rvv/zvqwdotai8i16.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Support experimental Zvdota Family instructions (#195069)
Spec:
https://github.com/aswaterman/riscv-misc/blob/main/isa/ldot-bdot/ldot-bdot.adoc
---------
Co-authored-by: Brandon Wu <songwu0813 at gmail.com>
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 1960c7a9fdf2fc613a148fbc078173adddd6ca13
https://github.com/llvm/llvm-project/commit/1960c7a9fdf2fc613a148fbc078173adddd6ca13
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Reject erroneous vector conversions (#201368)
Commit: 8557b5714bca181906118a86d8152598f525fcc7
https://github.com/llvm/llvm-project/commit/8557b5714bca181906118a86d8152598f525fcc7
Author: Jacob Crawley <jacob.crawley at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/sve-fixed-length-frintz.ll
A llvm/test/CodeGen/AArch64/sve-frintz.ll
M llvm/test/CodeGen/AMDGPU/fptoui_uitofp.ll
Log Message:
-----------
[DAG] Fold INT_TO_FP( FP_TO_INT (x) ) to FTRUNC(X) (#198477)
Extends the `foldFPToIntToFP` DAG Combine so that it can now be applied
when `FTRUNC` has a custom lowering, and given that `INT_TO_FP
(FP_TO_INT (X))` is not already legal.
On AArch64 targets with SVE, this change simplifies the codegen of
`INT_TO_FP (FP_TO_INT (X))` conversions by making use of the `frintz`
instruction.
Commit: 6b13656fd8386f979e061cc97e32b607ee3fcdf4
https://github.com/llvm/llvm-project/commit/6b13656fd8386f979e061cc97e32b607ee3fcdf4
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/CMakeLists.txt
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/AArch64/compare-and-branch-inversion.S
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][AArch64] Transform cmpbr ~> cmp + br when inversion not possible (#185731)
When reordering blocks we may have to invert branches. Sometimes this
isn't possible for compare-and-branch instructions because the immediate
value would overflow/underflow after the adjustment. In such cases I am
splitting the instruction into a compare followed by a branch. For this
to be legal we should be sure that the condition flags are not being
clobbered. Liveness analysis may help here.
Commit: bd209f39b43f958a1ac338c338a9a9538751b2fe
https://github.com/llvm/llvm-project/commit/bd209f39b43f958a1ac338c338a9a9538751b2fe
Author: wanglei <wanglei at loongson.cn>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
A llvm/test/CodeGen/LoongArch/pr198339.ll
Log Message:
-----------
[LoongArch] Fix FP_EXTEND legalization for v2f32 (#201260)
FP_EXTEND may reach ReplaceNodeResults due to a Custom action for
v2f32 results, but no target-specific lowering is required.
Fixes #198339
Commit: d83abac82bd290e16a38ab79f6207f0bc3a07b3c
https://github.com/llvm/llvm-project/commit/d83abac82bd290e16a38ab79f6207f0bc3a07b3c
Author: Barbara Mitic <bmitic at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns.ll
Log Message:
-----------
[AMDGPU][InstCombine] Match ds_swizzle rotate mode for cyclic lane shuffles (#199004)
Follow-up to 17cc4f77109d [AMDGPU][InstCombine] Optimize constant
shuffle patterns (#192246).
Adds matchDsSwizzleRotatePattern to recognise shuffles of the form
dst_lane = (src_lane + N) % 32 (N in [1, 31]) and lower them to a single
ds_swizzle with rotate-mode encoding (ROTATE_MODE_ENC | N << 5),
available on GFX9+. The bitmask mode cannot express such rotations since
the carry between bit positions makes the per-bit mapping
non-independent. On wave64 the pattern is accepted only when
hasPeriodicLayout<32> confirms both 32-lane groups rotate by the same
amount. Wave32-only ID forms (mbcnt.lo alone) are correctly rejected on
wave64 targets.
Co-authored-by: Barbara Mitic <Barbara.Mitic at amd.com>
Commit: faf4728454f57e93530a1ce4fa6f6ca2192e8afb
https://github.com/llvm/llvm-project/commit/faf4728454f57e93530a1ce4fa6f6ca2192e8afb
Author: ioana ghiban <ioana.ghiban at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-dealloc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
Log Message:
-----------
[mlir][EmitC] Convert MemRef::DeallocOp (#194591)
Add `memref.dealloc` lowering to EmitC by mapping pointer-backed
deallocations to `void*` cast + `free()` call. This complements the
existing `memref.alloc` lowering to `malloc()` / `aligned_alloc()` and
ensures the pass emits the required standard library include when
`free()` is used.
Assisted-by: Codex (refine implementation + tests). I reviewed all code
and tests before submission.
Commit: 5c2565b67d086a3f56ce837424402084c37c7895
https://github.com/llvm/llvm-project/commit/5c2565b67d086a3f56ce837424402084c37c7895
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/gep-canonicalize-index-constfold.ll
Log Message:
-----------
[InstCombine] Fix assertion in GEP exact div/shr index canonicalization (#201431)
When canonicalizing the index of `(gep ptr, (div/shr exact X, C))`,
visitGetElementPtrInst builds the new index with Builder.CreateBinOp and
then sets the exact flag via
`cast<BinaryOperator>(NewOp)->setIsExact()`. If X is a constant (as can
be proved during InstCombine), the folding builder constant-folds NewOp
to a non-BinaryOperator, so the cast asserts.
Fix this by adding a CreateExactBinOp API, so the exact flag is set on creation.
Fixes #190324.
Commit: ed4ed6f41e94e24035e07406af737502a8e149a6
https://github.com/llvm/llvm-project/commit/ed4ed6f41e94e24035e07406af737502a8e149a6
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GlobalISel] Do not depend on the RuleMatcher at MatchTable emission (#200799)
Some PredicateMatchers/MatchAction/OperandRenderers relied on accessing
RuleMatcher at emission as a crutch.
Instead, make these classes collect all necessary information in the
constructor so the `emit` methods don't depend on RuleMatcher anymore.
The primary motivation for this is that I've been looking at ways to
optimize the MatchTable better,
and the fact that Predicates/Actions/Renderers are not "pure" objects,
in the sense that they keep
accessing a bunch of data all over the place even as late as emission,
was a consistent pain.
This is NFCI. There are no changes to any of the match table for
AMDGPU/AArch64 in this patch.
This patch has a bunch of noise due to function signature changes so
I'll highlight the following interesting changes:
- `SameOperandMatcher` needed a bit of an update in its
`canHoistOutsideOf` function. I had to rewrite it
but I think the end result is the same.
- `EraseInstAction` has been updated as well, and its users in both
Combiner/ISel backends have been updated to.
Instead of ignoring this action if the Inst was already erased, it's now
the responsibility of the
builder to never insert it in the first place. `BuildMIAction` had a
small update because of that too.
Assisted-By: Claude Sonnet 4.6
Context-of-Use: I used Claude to mass-remove the `RuleMatcher&`
arguments from the `emitPredicateOpcode`
methods. It did not write any logic.
Co-authored-by: Pierre-vh <29600849+Pierre-vh at users.noreply.github.com>
Commit: 7a008c0ad92a434e3bd419f4bb1c94ce85c56844
https://github.com/llvm/llvm-project/commit/7a008c0ad92a434e3bd419f4bb1c94ce85c56844
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Protect the const member getter's this argument (#201147)
This PR fixes a bug that when a const member variable getter is
detected, we don't check if its object argument is kept alive for the
duration of the function call.
Commit: 4590ef3017290cd2bb7eeadf14c23fe0c6d5128f
https://github.com/llvm/llvm-project/commit/4590ef3017290cd2bb7eeadf14c23fe0c6d5128f
Author: Abhinav Garg <abhinav.garg at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
Log Message:
-----------
[AMDGPU][Uniformity Analysis] Marking G_DYN_STACKALLOC AlwaysUniform in uniformity analysis (#200390)
Mark G_DYN_STACKALLOC as AlwaysUniform.
The result of G_DYN_STACKALLOC is always derived from the wave-uniform
stack pointer and wave-wide max reduce alloca size hence its always uniform.
Commit: ab478d9c57547e96e9b5db2621ac2d913bec6ab8
https://github.com/llvm/llvm-project/commit/ab478d9c57547e96e9b5db2621ac2d913bec6ab8
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/f128-fmuladd-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-ptradd-with-replicated-operand.ll
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
Log Message:
-----------
[LV] Implement integer part of VPDerivedIV cost model (#198252)
Adds support for InductionDescriptor::IK_IntInduction variants of
inductions in VPDerivedIVRecipe::computeCost. Designing a cost model for
this recipe is tricky because it gets expanded in expandVPDerivedIV into
smaller individual recipes that will then be folded by simplifyRecipe.
Effectively the cost model has to guess how these will be folded
otherwise the costs will be too pessimistic. For example, 'add i32 %x,
0' and 'mul i32 %x, 1' should both be treated as zero cost since all
uses will be replaced with '%x'. Similarly,
'mul i32 %x, 4' will be converted to 'shl i32 %x, 2', and 'mul i32 %x,
-1' will be simplified to 'sub i32 0, %x'.
As can be seen by this PR, it's important to have non-zero costs for
cases where VPDerivedIVRecipe recipes will end up with non-foldable
instructions. Some of the tests now favour wider VFs to cover the
non-zero cost, or in other cases we prefer not to vectorise at all. I've
added loop attributes in some places to maintain the previous
vectorisation behaviour so that we're still matching the intent of the
test.
I built the LLVM test suite and I couldn't find any cases where we use
more than the first lane of the result so for now I maintained the
original behaviour and returned 0. The other induction types (pointers,
floating point values) are also left as returning 0 for now. These will
be handled in future PRs.
Commit: 6a68bd8892d9bbfaba3847fb48da78a8923fe144
https://github.com/llvm/llvm-project/commit/6a68bd8892d9bbfaba3847fb48da78a8923fe144
Author: adeshcom14 <aadikane at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Log Message:
-----------
[AMDGPU][GIsel] Replace old C type castings with safer C++ (#201505)
AMDGPURegisterBankInfo.cpp still contains the old C style castings to int type which can be switched to much safer C++ variants.
Commit: 76b035c3b00e072334f6f516b0ccb31140f5975f
https://github.com/llvm/llvm-project/commit/76b035c3b00e072334f6f516b0ccb31140f5975f
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-hoisting-cxx.td
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[GlobalISel] Do not use recordsOperand() to check if a Combiner C++ predicate can be hoisted (#200815)
The combiner does not use RecordNamedOperand, so assume that any operand
is "recorded" in the sense that can be used by a C++ predicate.
Commit: 31f0e25074627bd081130f81ba6ffcb0ede1aaab
https://github.com/llvm/llvm-project/commit/31f0e25074627bd081130f81ba6ffcb0ede1aaab
Author: dong jianqiang <dongjianqiang2 at huawei.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.h
M llvm/test/CodeGen/ARM/elf-preemption.ll
A llvm/test/CodeGen/ARM/weak-hidden-pic.ll
Log Message:
-----------
[ARM] Use GOT indirection for weak symbols in PIC mode (#198577)
On ARM ELF PIC, weak dso_local symbols were incorrectly accessed via
PC-relative constant pool entries (e.g. .long xxx-(.LPC+8)). The
assembler eagerly resolves this expression when both the symbol and
label are in the same section, preventing the linker from overriding a
weak definition with a strong one from another object file.
Fix #183916 by treating weak symbols as indirect (requiring GOT) on ELF
PIC, matching GCC's behavior. This affects:
- isGVIndirectSymbol (ARMTargetMachine) — Darwin, GlobalISel, stack
prot.
- isGVInGOT (ARMSubtarget)
- LowerGlobalAddressELF (SelectionDAG path)
- ARMLowerPICELF (FastISel path)
Assisted-by: Claude Opus 4.7 <noreply at anthropic.com>
Commit: 36a1b5156e94f2c07ee8eeabe710ab99fc1a5489
https://github.com/llvm/llvm-project/commit/36a1b5156e94f2c07ee8eeabe710ab99fc1a5489
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
clang: Remove hacky OpenMP handling for appending bound arch (#201555)
Use the same path as CUDA/HIP and stop doing a hacky search through
the arguments looking for -march.
Commit: 5fe1bf6c1987c3e5e38e4ba31fe26d2415d18002
https://github.com/llvm/llvm-project/commit/5fe1bf6c1987c3e5e38e4ba31fe26d2415d18002
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[FunctionAttrs] Switch readonly etc inference to use CaptureTracking (#201136)
Inference of memory attributes on arguments also needs to reason about
indirect accesses via captures and implemented a home-grown variant of
CaptureTracking for that purpose. Switch it to the shared
implementation, which slightly improves precision.
Commit: 03127a03860b9d8cb440fe8f51c00647f45eb8be
https://github.com/llvm/llvm-project/commit/03127a03860b9d8cb440fe8f51c00647f45eb8be
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/extern.cpp
Log Message:
-----------
[clang][bytecode] Fix a diagnostic difference with extern variables (#201369)
If the extern variable is constexpr of of non-array type, we should
diagnose it as missing an initializer. Otherwise, we diagose a read of
non-constexpr variable.
Commit: 37f8a85dbcb70cd87471a4bf388d0d85fa105105
https://github.com/llvm/llvm-project/commit/37f8a85dbcb70cd87471a4bf388d0d85fa105105
Author: John Brawn <john.brawn at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/Transforms/LoopStrengthReduce/AArch64/use-outside-loop.ll
Log Message:
-----------
[LSR] Narrow search space by merging users outside and inside loop (#185929)
Loop Strength Reduce can give different (and worse) results for a loop
when it is followed by uses of variables used inside the loop. This is
because the uses outside the loop increase the size of the search space,
which can lead to using NarrowSearchSpaceByPickingWinnerRegs which often
discards the best solution.
Solve this by narrowing the search space by merging uses outside the
loop with uses inside the loop. This ignores the Kind and AccessTy of
the use which can mean that the cost may be inaccurate, but it will give
the same cost as if we had just ignored the uses outside of the loop.
Commit: 4d2a670ba868a75103424ff3203f443391d55b1b
https://github.com/llvm/llvm-project/commit/4d2a670ba868a75103424ff3203f443391d55b1b
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/nofree.ll
M llvm/test/Transforms/FunctionAttrs/optnone.ll
M llvm/test/Transforms/FunctionAttrs/out-of-bounds-iterator-bug.ll
Log Message:
-----------
[FunctionAttrs] Regenerate test checks (NFC) (#201576)
Commit: 5e0b3c94aed2d5127843e7e5eb7f1b23eb5ca876
https://github.com/llvm/llvm-project/commit/5e0b3c94aed2d5127843e7e5eb7f1b23eb5ca876
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
Log Message:
-----------
[X86] Add test coverage for #199445 (#201564)
Commit: 9de6f9e7c8d1faabf7e7e49ba49e6d6f3af21373
https://github.com/llvm/llvm-project/commit/9de6f9e7c8d1faabf7e7e49ba49e6d6f3af21373
Author: Jan André Reuter <j.reuter at fz-juelich.de>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M offload/libomptarget/OpenMP/API.cpp
Log Message:
-----------
[Offload][libomptarget] Replace slow `omp_target_memset` implementation by `dataFill` (#200202)
`omp_target_memset` was initially implemented before the existance of
`offload`. Because of this, a slow path was chosen to implement
`omp_target_memset`, first allocating memory on the host, calling
`memset` on that memory, and then transferring this to the device.
Aside from the inefficient way of setting device memory, this also
causes a data transfer event for the OpenMP Tools Interface, interfering
with the added memset event in OpenMP v6.0.
Since offload implements setting data via `dataFill` by now, replace the
slow path by just calling `dataFill` instead. This resolves both the
inefficiency, and removes the superfluous event dispatched to a tool.
Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>
Commit: 3a1d8a8db2645a2a62b4f13916e2ba6e639a7fad
https://github.com/llvm/llvm-project/commit/3a1d8a8db2645a2a62b4f13916e2ba6e639a7fad
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/Interpreter/Value.h
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] Fix Value::setRawBits unit confusion and right-size raw storage. (#200886)
Value::setRawBits had inconsistent units: the default value and the size
assert treated the parameter as bytes (sizeof(Storage)), while the
memcpy treated it as bits (NBits / 8). A caller passing the natural byte
count (e.g. sizeof(long long)) ended up copying only sizeof(T)/8 bytes
-- one byte for an 8-byte payload, leaving the rest stale. The one
in-tree caller compensated by multiplying by 8, hiding the bug.
Rename the parameter to NBytes and drop the / 8 so the API name,
default, assert, and memcpy all agree on bytes. Update the caller in
InterpreterValuePrinter.cpp to pass ElemSize directly.
Right-size the Storage::m_RawBits array while we are here: it was
sizeof(long double) * 8 bytes, which reads like a bit/byte confusion
since the widest typed member of the union is long double itself. The
oversized array made sizeof(Value) ~144 bytes on x86_64 instead of ~40,
bloating every copy/move of a Value.
Add a regression test exercising setRawBits with both an explicit byte
count and the default argument. Pre-fix the test fails for both: the
explicit-count branch copies 1 byte instead of 8, and the default branch
copies sizeof(Storage)/8 bytes instead of the full union width.
Commit: 48f20c86d0fe594bdb3a5633cb11e19829211ec4
https://github.com/llvm/llvm-project/commit/48f20c86d0fe594bdb3a5633cb11e19829211ec4
Author: sujianIBM <Jian.Su at ibm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/utils/lit/tests/lit.cfg
M llvm/utils/lit/tests/shtest-cat.py
M llvm/utils/lit/tests/shtest-format.py
M llvm/utils/lit/tests/shtest-output-printing.py
Log Message:
-----------
[z/OS] Modify regex in error message to match on z/OS. (#194020)
This PR modifies regex in error message to match on z/OS:
```
[Errno 129] EDC5129I No such file or directory.: 'temp1.txt'
wc: file "missing-file": EDC5129I No such file or directory.
cat: does-not-exist: EDC5129I No such file or directory.
```
Commit: 3e447333fe327854484fa5b4c75210fdf04cb369
https://github.com/llvm/llvm-project/commit/3e447333fe327854484fa5b4c75210fdf04cb369
Author: Ádám Kallai <kadam at inf.u-szeged.hu>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M bolt/unittests/Profile/CMakeLists.txt
A bolt/unittests/Profile/PerfScripts.cpp
M bolt/unittests/Profile/PerfSpeEvents.cpp
Log Message:
-----------
[BOLT] Add pre-parsed perf script support (#163785)
Implement the functionality to read and parse a pre-parsed perf-script
profile generated by perf2bolt's '--profile-format=perfscript' option.
The '-ps' option defines the perfscript input profile format. It requires
specifying the aggregation type ('--spe', '--ba') if it differs from
the default one ('brstack'). Note that the profile has to also be generated
using the exact same aggregation type.
Examples:
For ARM SPE:
1) $ perf2bolt BINARY -p perf.data -o test.text --spe --profile-format=perfscript
2) $ perf2bolt BINARY -o test.fdata -p test.text --spe -ps
For Brstack aggregation:
1) $ perf2bolt BINARY -p perf.data -o test.text --profile-format=perfscript
2) $ perf2bolt BINARY -o test.fdata -p test.text -ps
Commit: 07e081dcd784f3286ed9aa1ac549beb61066ce97
https://github.com/llvm/llvm-project/commit/07e081dcd784f3286ed9aa1ac549beb61066ce97
Author: Ariel-Burton <arielburton at yahoo.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/DebugInfo/CXX/line.cpp
Log Message:
-----------
Fix clang/test/DebugInfo/CXX/line.cpp (#198401)
This PR twaeks the clang/test/DebugInfo/line.cpp test to pass on z/OS.
The reason the test was failing is that the RUN lines which specify
-triple %itanium_abi_triple expands to s390x-ibm-zos when run on z/OS.
The IR that is emitted for this triple does not match the patterns
expected by the test.
This PR tweaks the patterns in the CHECK lines so that the test also
passes on z/OS.
Commit: ba57a015bae759554357f1a88abe7b03a6e4c9e0
https://github.com/llvm/llvm-project/commit/ba57a015bae759554357f1a88abe7b03a6e4c9e0
Author: John Brawn <john.brawn at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
R llvm/test/Transforms/LoopStrengthReduce/AArch64/use-outside-loop.ll
Log Message:
-----------
Revert "[LSR] Narrow search space by merging users outside and inside loop" (#201581)
This is causing buildbot failures.
Reverts llvm/llvm-project#185929
Commit: 011fab8c30c6ec7a937c33e21f5a586391a51de2
https://github.com/llvm/llvm-project/commit/011fab8c30c6ec7a937c33e21f5a586391a51de2
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit-versioned-language.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-subprogram.ll
M llvm/test/CodeGen/DirectX/debug-info.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Move IR printing to DXILPrettyPrinter (#198318)
By doing the IR printing inside DXILPrettyPrinter, we have the option to
customise what we print and include the info that we collect and
generate in DXILDebugInfo.
Commit: 39dc8415bf0e3c444e5f67dfdd400bd4fb2062f3
https://github.com/llvm/llvm-project/commit/39dc8415bf0e3c444e5f67dfdd400bd4fb2062f3
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
Log Message:
-----------
[LV][NFC] Fix force-scalable-vectorization-always.ll (#201580)
Fixes a buildbot failure related to FP rounding error in LV debug
output.
Commit: 76ddd457c4244ea1a2cd5d3f69b5698d341a0f5b
https://github.com/llvm/llvm-project/commit/76ddd457c4244ea1a2cd5d3f69b5698d341a0f5b
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_console.py
Log Message:
-----------
[lldb-dap][Windows] skip TestDAP_restart_console (#201587)
`TestDAP_restart_console` is already failing on Windows. It reliably
crashes (UNRESOLVED) on some Windows version, including inside Docker
containers.
This is preventing us from enabling pre-merge CI testing for lldb on
Windows in https://github.com/llvm/llvm-project/pull/198906.
This patch skips the test entirely. See
https://github.com/llvm/llvm-project/issues/200840 for more details.
Commit: 78d4eac701720c252ed1c835d1f635a223bf70ce
https://github.com/llvm/llvm-project/commit/78d4eac701720c252ed1c835d1f635a223bf70ce
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Suspend new threads when stopped (#201558)
`OnCreateThread` runs from the `DebuggerThread` loop after a
`CREATE_THREAD_DEBUG_EVENT`. Each iteration of that loop ends with a
`ContinueDebugEvent`, which on Windows resumes every thread in the
debuggee that *isn't* individually suspended with `SuspendThread`.
If a thread is created while the debuggee is stopped, all the existing
threads are suspended expect the new one. After the next
ContinueDebugEvent it just runs, while lldb's StateType still reads
eStateStopped.
This patch suspends the new thread when the debuggee is stopped.
This fixes `TestTwoHitsOneActual.py` and `TestBreakOnLambdaCapture.py`
when running the test suite with `LLDB_USE_LLDB_SERVER=1`.
rdar://178718627
Commit: 9fbb941b9defce93fb98099b91653db063b0ecba
https://github.com/llvm/llvm-project/commit/9fbb941b9defce93fb98099b91653db063b0ecba
Author: ioana ghiban <ioana.ghiban at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/test/Conversion/FuncToEmitC/func-to-emitc-failed.mlir
Log Message:
-----------
[mlir][Func][EmitC] Bail-out to avoid errors from MemRef array conversions (#198583)
Update FuncToEmitC to bail-out before creating invalid EmitC ops for
unsupported cases.
FuncToEmitC now rejects functions, calls, and returns whose converted
result type is `emitc.array`, instead of relying on later `emitc.func`,
`emitc.call`, or `emitc.return` verifier failures.
This does not add support for returning memrefs from functions. It only
makes the existing limitation explicit at the conversion boundary.
## Tests
Added negative tests for the standalone conversion pass. This pass marks
their source ops illegal, so when a pattern bails-out the pass reports a
legalization failure. This is the expected behavior and documents the
unsupported cases directly.
`convert-to-emitc` is more permissive because it allows partial
conversion and does not mark the same source ops illegal, so it can
leave unsupported ops unconverted without reporting the same failures.
Assisted-by: Codex (refine description). I reviewed all text before
submission.
Commit: 50347f52b68155f49d100839fb17bbda7a40a490
https://github.com/llvm/llvm-project/commit/50347f52b68155f49d100839fb17bbda7a40a490
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/lit.local.cfg
Log Message:
-----------
[Dexter][NFC] Mark script tests unsupported for non-lldb debuggers (#201596)
The recently-added structured script feature currently relies on
DAP-based debuggers, of which the only one currently supported by Dexter
is LLDB. In order to prevent the tests that depend on this feature from
running for other debuggers, we require LLDB for the script test
directory.
Commit: 6e58021642834b4646ffea0fb9a2254f46d30173
https://github.com/llvm/llvm-project/commit/6e58021642834b4646ffea0fb9a2254f46d30173
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
A llvm/test/CodeGen/AArch64/dag-maps-huge-region.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
Log Message:
-----------
[MachineScheduler] Rework dag-maps-huge-region (#200945)
For compile time/memory reasons, dag-maps-huge-region is the number of
memory instructions at which we create a barrier and reset maps.
Previously we'd get to dag-maps-huge-region number of instructions, then
add a barrier in the middle of the current set of instructions, and
continue processing the second half of remaining instructions.
With this change, now we simply add a barrier every time we reach
dag-maps-huge-region number of memory instructions, and blow away all
previous instructions.
So now instead of waiting until we get to 1000 memory operations before
creating a barrier for 500 of them, we do it at 500 and do it for all
500.
With this change, -dag-maps-huge-region=500 still has
addChainDependencies() taking up over half of the codegen pipeline in
some cases I looked at, but it's much better than the previous 90%.
Commit: 2e9f45a7020ba1bb99409e61d17c20cfe60e2e23
https://github.com/llvm/llvm-project/commit/2e9f45a7020ba1bb99409e61d17c20cfe60e2e23
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/unittests/Driver/ToolChainTest.cpp
Log Message:
-----------
[clang][driver] Rename ClangExecutable and getClangProgramPath (NFC) (#200814)
This patch is to rename ClangExecutable to DriverExecutable and
getClangProgramPath to getDriverProgramPath. This makes the
name more neutral and less confusing when used in flang.
Commit: 9d3f50a94aae33ee6077353f846e940f8aaff2f4
https://github.com/llvm/llvm-project/commit/9d3f50a94aae33ee6077353f846e940f8aaff2f4
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/machine-block-hash.mir
Log Message:
-----------
[X86] Fix MachineBlockInfo hash for machine-block-hash.mir (#201039)
I looked at llvm/include/llvm/CodeGen/MachineBlockHashInfo.h,
BlendedBlockHash function and rewrote failing test.
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: 1fe66fcfff699bd4aeb6efa0a64ed32fc603af76
https://github.com/llvm/llvm-project/commit/1fe66fcfff699bd4aeb6efa0a64ed32fc603af76
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-redundant-bitcast.mir
Log Message:
-----------
[GlobalISel] Add bitcast chain combine (#200694)
Commit: ef86984f539ff8091ef4e1114a5322fae0fea836
https://github.com/llvm/llvm-project/commit/ef86984f539ff8091ef4e1114a5322fae0fea836
Author: UebelAndre <github at uebelandre.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
M utils/bazel/extensions.bzl
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPCWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
R utils/bazel/third_party_build/BUILD.bazel
R utils/bazel/third_party_build/gmp.BUILD
R utils/bazel/third_party_build/mpc.BUILD
R utils/bazel/third_party_build/mpfr.BUILD
R utils/bazel/third_party_build/nanobind.BUILD
R utils/bazel/third_party_build/pfm.BUILD
R utils/bazel/third_party_build/pyyaml.BUILD
R utils/bazel/third_party_build/robin_map.BUILD
R utils/bazel/third_party_build/vulkan_headers.BUILD
R utils/bazel/third_party_build/zlib-ng.BUILD
R utils/bazel/third_party_build/zstd.BUILD
Log Message:
-----------
[Bazel]: Pull from Bazel-Central-Registry for third party deps. (#197316)
The majority of these dependencies are available in the
[Bazel-Central-Registry](https://github.com/bazelbuild/bazel-central-registry)
(BCR) and to improve build performance for bzlmod users, llvm-project
should pull from the BCR to consolidate targets.
Commit: 6530683b31d8b9a3cb7e04eae7c59abeb223faae
https://github.com/llvm/llvm-project/commit/6530683b31d8b9a3cb7e04eae7c59abeb223faae
Author: Kartik Ohlan <kartik7ohlan at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
R clang/test/CodeGen/AArch64/neon-across.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR] Maximum across vector (IEEE754) (#199779)
Part of https://github.com/llvm/llvm-project/issues/185382
Move the test cases to
[intrinsics.c](https://github.com/llvm/llvmproject/pull/clang/test/CodeGen/AArch64/neon/intrinsics.c)
Removed the test cases from
[neon-intrinsics.c](https://github.com/llvm/llvmproject/pull/clang/test/CodeGen/AArch64/neon/intrinsics.c)
Removed [neon-across.c](clang/test/CodeGen/AArch64/neon-across.c)
---------
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Commit: 8858ddd8a4735ae120855beb23b3e97dae1887ac
https://github.com/llvm/llvm-project/commit/8858ddd8a4735ae120855beb23b3e97dae1887ac
Author: Tony Guillot <tony.guillot at protonmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[Clang][Docs] Documented sentinel attribute (#196088)
The documentation of the sentinel attribute was missing, this PR
documents the behavior of the sentinel attribute.
Commit: 9f531751bbba6b1493ef4c73c6c97f0adb029976
https://github.com/llvm/llvm-project/commit/9f531751bbba6b1493ef4c73c6c97f0adb029976
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
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 bswap/bitreverse. (#200448)
We can implement these using combinations of rev, rev8, and ppairoe.*.
Rename REV16->REV16_RV64. A hypothetical REV16 on RV32 would have a
different encoding like REV and REV8.
Long term we should probably custom lower these instead of having
complex isel patterns. That would allow additional optimizations. But I
think the isel patterns are fine as a starting point.
Commit: 017380d800cc03dfc84f8e9c598b4ced6c052a8b
https://github.com/llvm/llvm-project/commit/017380d800cc03dfc84f8e9c598b4ced6c052a8b
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
Log Message:
-----------
[AArch64][GlobalISel] Add pattern to prevent scalar uqxtn fallback (#201546)
Previously, attempting to select the intrinsic
@llvm.aarch64.neon.scalar.uqxtn would cause GlobalISel to fall back to
SDAG.
This was both due to:
1. RegBankSelect placing the operands on gpr banks.
2. No instruction selection patterns for the intrinsic.
Add pattern, and fix RegBankSelect to place operands on the correct
banks.
Commit: 816e2924786a0d7d300aa9a2ff80e5a2a082e6fa
https://github.com/llvm/llvm-project/commit/816e2924786a0d7d300aa9a2ff80e5a2a082e6fa
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaStmt.cpp
M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
M clang/test/SemaCXX/co_await-range-for.cpp
M clang/test/SemaCXX/for-range-dereference.cpp
Log Message:
-----------
[Clang] Correct diagnostic notes for C++11 range-based for statements with invalid iterator types (#201461)
Previously, diagnostic notes issued for errors encountered due to invalid
iterator types in C++11 range-based for statements reported the range type
as the iterator type instead of the invalid iterator type. Now fixed.
Commit: 27d0d76799cf05975ee3aa5b6a1d13d6831aae28
https://github.com/llvm/llvm-project/commit/27d0d76799cf05975ee3aa5b6a1d13d6831aae28
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrSystem.td
A llvm/test/MC/Disassembler/X86/ibhf-64.txt
A llvm/test/MC/X86/ibhf-64.s
Log Message:
-----------
[X86] Add encoding support for indirect branch history fence (#200918)
This patch introduces ISA under BHI_CTRL CPUID.
The following tech paper is published in May, 2025:
[intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html#ibhf](https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html#ibhf)
As shown in the paper, The encoding is F3 48 0F 1E F8.
It does not need c-intrinsic.
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: a314c1073cb2eb3a995013cbea6a7870b82f1f1c
https://github.com/llvm/llvm-project/commit/a314c1073cb2eb3a995013cbea6a7870b82f1f1c
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][NFC] Run buildifier on libc/BUILD.bazel (#201616)
Out of order deps
Commit: 1e87cdf03fb9d6659f7d039ebbb9a4c011947a49
https://github.com/llvm/llvm-project/commit/1e87cdf03fb9d6659f7d039ebbb9a4c011947a49
Author: Sam Fuller <sgfuller31 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
Include AArch64 SME builtins to compiler-rt for Bazel. (#196607)
Include the AArch64 SME (Scalable Matrix Extension) source files in the
compiler-rt builtins library when targeting aarch64. Added a selection
based on OS platform to use either Apple or Non-Apple sources.
Commit: 48f50e89b726578ee87cd1305330fa32932bb685
https://github.com/llvm/llvm-project/commit/48f50e89b726578ee87cd1305330fa32932bb685
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
Log Message:
-----------
[MCP] Early exit if no copies (NFC) (#201602)
These two functions do expensive per-regunit work, but are no-ops if
there are no Copies, so short-circuit this case.
Commit: fbe7392bdf453cff70615c242d74f11789dd76f1
https://github.com/llvm/llvm-project/commit/fbe7392bdf453cff70615c242d74f11789dd76f1
Author: Arun Thangamani <arun.thangamani at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
M mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir
Log Message:
-----------
[mlir][x86] Fix - replace `vector.load` with `vector.transfer_read` (#201503)
This patch replaces `vector.load` with `vector.transfer_read` to load
elements as `vector<2x32xi8>` instead of `vector<64xi8>`. This fixes the
online shuffling for `int8` and `f8` types.
Commit: e44d060dfd617e8a5e37b61adcb38ed4ac5d782d
https://github.com/llvm/llvm-project/commit/e44d060dfd617e8a5e37b61adcb38ed4ac5d782d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/Inputs/empty.h
A clang/test/Driver/Inputs/module.modulemap
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
A clang/test/Driver/crash-diagnostics-modules.c
A clang/test/Driver/crash-diagnostics-tar.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-crashfile.m
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/crash-report-multi-arch.c
M clang/test/Driver/crash-report-null.test
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/lld-repro.c
M clang/test/Modules/crash-vfs-headermaps.m
M clang/test/Modules/crash-vfs-include-pch.m
M clang/test/Modules/crash-vfs-ivfsoverlay.m
M clang/test/Modules/crash-vfs-path-emptydir-entries.m
M clang/test/Modules/crash-vfs-path-symlink-component.m
M clang/test/Modules/crash-vfs-path-symlink-topheader.m
M clang/test/Modules/crash-vfs-path-traversal.m
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-relative-overlay.m
M clang/test/Modules/crash-vfs-run-reproducer.m
M clang/test/Modules/crash-vfs-umbrella-frameworks.m
M clang/tools/driver/driver.cpp
Log Message:
-----------
[clang] Add -fcrash-diagnostics-tar for tarball of crash reproducer files (#198838)
Makes it easier to move around crash diagnostics.
Commit: 01dbfa0b6e04c09e389bafd7668b2f99bba3ea79
https://github.com/llvm/llvm-project/commit/01dbfa0b6e04c09e389bafd7668b2f99bba3ea79
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/unittests/Runtime/ListInputTest.cpp
M flang-rt/unittests/Runtime/Namelist.cpp
M flang/docs/Extensions.md
Log Message:
-----------
[flang-rt] Extension: accept '!' as value separator in NAMELIST input (#200441)
Treat '!' as a self-delimiting value separator when reading NAMELIST
input, so that "name=value!comment" is accepted without an intervening
blank, comma, slash, or end of record. This matches gfortran, ifx, and
classic nvfortran behavior on real-world namelist input files.
F2023 13.11.3.6 p.1 requires a value separator before a '!' comment
introducer in namelist input, so this is a documented extension. The
change does not affect '!' characters inside character literal
constants, which continue to be taken literally.
The extension was documented in flang/docs/Extensions.md.
Assisted-by: AI
Commit: 6d1eed609e08df72209e746bb39abbc494de8750
https://github.com/llvm/llvm-project/commit/6d1eed609e08df72209e746bb39abbc494de8750
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
Log Message:
-----------
[RDA] Slightly optimize enterBasicBlock() (NFC) (#201608)
Instead of initializing LiveRegs and doing an elementwise std::max with
the first incoming predecessor, directly copy the data for the first
predecessor.
Commit: 8b140d425a48f90a858394c4186d4bb7826c1376
https://github.com/llvm/llvm-project/commit/8b140d425a48f90a858394c4186d4bb7826c1376
Author: David Green <david.green at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/Target/AArch64/AArch64Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-select-zero.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
Log Message:
-----------
[AArch64][GlobalISel] Add select to and combines (#200131)
This adds combines for
// select c, x, 0 -> and c, x
// select c, 0, x -> and (not c), x
// select (not c), x, y -> select c, y, x
We need to freeze the value in the first two. The second is only
profitable if hasAndNot, so it excluded from all_combines.
https://alive2.llvm.org/ce/z/eG-aHT
This helps alleviate regressions when G_SELECT is made legal for vector
operations under AArch64. The AMD tests I am not sure about - let me
know if they look worse. The third combine is mostly useful
post-legalize.
Commit: 9a423a22f4047a8e4daf678cc00393a8f3b7700a
https://github.com/llvm/llvm-project/commit/9a423a22f4047a8e4daf678cc00393a8f3b7700a
Author: Muhammed Shiyas N <114045581+Shiyas-N at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/select_meta.ll
Log Message:
-----------
[InstCombine] Avoid propagating invalid metadata in FoldOpIntoSelect (#199155)
Fixes #186471
FoldOpIntoSelect may create a select with a different result type from
the original instruction. The existing implementation blindly copied all
metadata from the original select, which could propagate invalid
type-specific metadata to the transformed instruction.
In particular, folding an fcmp over a floating-point select could copy
!fpmath metadata onto a non-FP select, producing invalid IR and causing
verifier failures.
This change preserves only metadata that remains valid for the
transformed select and propagates !fpmath only for FP-typed selects.
Debug locations are also preserved explicitly.
Commit: 2a577a44a35975f1ac25096861ab87e4c5ad9ddd
https://github.com/llvm/llvm-project/commit/2a577a44a35975f1ac25096861ab87e4c5ad9ddd
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/ops-cg-privatization.mlir
M mlir/unittests/Dialect/OpenACC/OpenACCTypeInterfacesTest.cpp
Log Message:
-----------
[mlir][acc] Add operation for private handle to memref (#201603)
This MR introduces a new operation `acc.unwrap_private` for creating a
pointer-like view of the `acc.private_type` handle. This operation will
be used when materializing `acc.private_local` into the memory view
needed to access the allocated private memory. This new operation is
just a simple cast and thus it gets ViewLikeOpInterface attached to it.
Additionally, `acc.private_type` is now treated as a pointer-like type
to ease conversions to other pointer-like types via
PointerLikeType::genCast.
Commit: a7a53bfbcff401dbc9df5544b7662a7f96ce7336
https://github.com/llvm/llvm-project/commit/a7a53bfbcff401dbc9df5544b7662a7f96ce7336
Author: Ayush Sahay <asahay at qti.qualcomm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.cpp
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_riscv32.h
M lldb/source/Plugins/Process/Utility/lldb-riscv-register-enums.h
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.h
M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
M lldb/source/Utility/RISCV_DWARF_Registers.h
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/API/functionalities/postmortem/elf-core/riscv32-imcxqcixqccmp.gpr_csr.core
A lldb/test/API/functionalities/postmortem/elf-core/riscv32-imcxqcixqccmp.gpr_csr.out
Log Message:
-----------
[lldb][RISCV] Handle subsets of CSRs in RV32 core dump images (#142932)
The standard RISC-V ISA sets aside a 12-bit encoding space for up to
4,096 CSRs. However, many of these may remain unutilized and needn't be
saved in core dump images. To address this, we've come up with a new
note, _NT_CSREGMAP_, that saves subsets of CSRs as key-value pairs. This
change provisions support for handling the subsets of CSRs saved in
32-bit RISC-V core dump images by building the register information for
GPRs, FPRs, and CSRs dynamically.
Kindly refer to the corresponding topic ([Add RISC-V CSRs to core
dumps](https://discourse.llvm.org/t/add-risc-v-csrs-to-core-dumps/84348))
for additional details.
Commit: b7e08b6467d554c73997b6eb6b7a2bdec51c444e
https://github.com/llvm/llvm-project/commit/b7e08b6467d554c73997b6eb6b7a2bdec51c444e
Author: Thurston Dang <thurston at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Transforms/IndVarSimplify/issue195176.ll
Log Message:
-----------
[SCEV] Fix ScalarEvolution::getBackedgeTakenInfo when L not found (#201502)
By the end of ScalarEvolution::getBackEdgeTakenInfo():
```
...
BackedgeTakenInfo Result = computeBackedgeTakenCount(L);
if (Result.hasAnyInfo()) {
// Invalidate any expression using an addrec in this loop.
...
}
return BackedgeTakenCounts.find(L)->second = std::move(Result);
```
BackedgeTakenCounts may no longer contain an entry for L, resulting in a
crash (https://github.com/llvm/llvm-project/issues/195176). This patch
fixes the issue by inserting the entry if it does not exist (and
otherwise keeping the same behavior).
This adds a regression test (crash on opt 19.1.0 onwards e.g.,
https://godbolt.org/z/Wq3n3rEqT), metarenamed from
https://github.com/dtcxzyw/llvm-autoreduce/issues/106, which in turn was
derived from https://github.com/llvm/llvm-project/issues/195176.
Commit: b6d82d2ff0c3271ff32077576bbe618d5448a6d8
https://github.com/llvm/llvm-project/commit/b6d82d2ff0c3271ff32077576bbe618d5448a6d8
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/test/CodeGen/NVPTX/vaargs.ll
Log Message:
-----------
[ExpandVariadics] Expand vaarg instructions (#201156)
Expand vaarg instructions within ExpandVariadics (Clang generally does
not emit these instructions but other front-ends may). This pass already
has all the necessary information to expand these instructions and doing
this in IR as part of this pass is simpler than lowering these
instructions during ISel after type legalization. This fixed a
type-mismatch bug in NVPTX.
Commit: 5a4516ca104fbc9607704714e3f2dbe0f8baa822
https://github.com/llvm/llvm-project/commit/5a4516ca104fbc9607704714e3f2dbe0f8baa822
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 2a577a4 (#201625)
This fixes 2a577a44a35975f1ac25096861ab87e4c5ad9ddd.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 69f7aeb52e71ebb7d264bc9e613bc4bc90cb0c47
https://github.com/llvm/llvm-project/commit/69f7aeb52e71ebb7d264bc9e613bc4bc90cb0c47
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/Driver.cpp
R clang/test/Driver/Inputs/empty.h
R clang/test/Driver/Inputs/module.modulemap
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
R clang/test/Driver/crash-diagnostics-modules.c
R clang/test/Driver/crash-diagnostics-tar.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-crashfile.m
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/crash-report-multi-arch.c
M clang/test/Driver/crash-report-null.test
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/lld-repro.c
M clang/test/Modules/crash-vfs-headermaps.m
M clang/test/Modules/crash-vfs-include-pch.m
M clang/test/Modules/crash-vfs-ivfsoverlay.m
M clang/test/Modules/crash-vfs-path-emptydir-entries.m
M clang/test/Modules/crash-vfs-path-symlink-component.m
M clang/test/Modules/crash-vfs-path-symlink-topheader.m
M clang/test/Modules/crash-vfs-path-traversal.m
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-relative-overlay.m
M clang/test/Modules/crash-vfs-run-reproducer.m
M clang/test/Modules/crash-vfs-umbrella-frameworks.m
M clang/tools/driver/driver.cpp
Log Message:
-----------
Revert "[clang] Add -fcrash-diagnostics-tar for tarball of crash reproducer files" (#201622)
Reverts llvm/llvm-project#198838
Test failing at
https://lab.llvm.org/buildbot/#/builders/190/builds/43494
Commit: 119e57630281e246d858717f8e331772b01f2908
https://github.com/llvm/llvm-project/commit/119e57630281e246d858717f8e331772b01f2908
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
A lldb/cmake/modules/LLDBConcatFiles.cmake
A lldb/scripts/extract-dynamic-script-interpreter-exports.py
M lldb/source/API/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[lldb] Build liblldb exports from script-interpreter imports (#201392)
With LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS, the script interpreter
plugins are built as standalone shared libraries that resolve their
lldb_private/llvm references through liblldb's re-exports. liblldb was
falling back to liblldb-private.exports, which allowlists the
lldb_private/llvm namespaces wholesale.
Generate the export list per build instead. For each plugin, run llvm-nm
on its compiled objects, keep undefined references in namespaces liblldb
owns, subtract the plugin's own definitions, and concatenate the
per-plugin lists with liblldb.exports.
The plugin's SHARED target LINK_LIBS liblldb, which makes the plugin's
compile order depend on liblldb. Wiring the exports file in via
add_llvm_symbol_exports' built-in target dependency would form a cycle
through that order-only edge. Add NO_TARGET_DEPENDENCY to
add_llvm_symbol_exports so we can apply the file via LINK_DEPENDS alone;
that still triggers a relink when the symbol set changes, without
participating in compile-order tracking.
Windows is unchanged: msvc_extract_private_symbols.py was already doing
per-symbol extraction at namespace granularity.
Assisted-by: Claude
Commit: 5b12f6e1aa8440888cb6a48099b5f999f8692b2e
https://github.com/llvm/llvm-project/commit/5b12f6e1aa8440888cb6a48099b5f999f8692b2e
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
Log Message:
-----------
[bazel] Bump versions of BCR deps + bazel 8.6->8.7 (#201613)
After merging #197316, I noticed a warning about a `rules_cc` version
mismatch (`--check_direct_dependencies=off`). Might as well bump all the
versions since we haven't done that in a while.
This doesn't bump the bazel version to 9 yet, but we could try that
next. Just bumping 8.6 -> 8.7 to keep things fresh but at the same
compatibility level.
Commit: e492f11226d81445bffe263b0421362850d37811
https://github.com/llvm/llvm-project/commit/e492f11226d81445bffe263b0421362850d37811
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[lldb][windows] enable CI tests (#198906)
Commit: a8267ccddd8324733eb5ac2663b6a0ca1d904c10
https://github.com/llvm/llvm-project/commit/a8267ccddd8324733eb5ac2663b6a0ca1d904c10
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
M clang/test/CIR/CodeGen/complex-mul-div.cpp
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/Lowering/binop-fp.cir
M clang/test/CodeGen/AArch64/neon/fullfp16.c
Log Message:
-----------
[CIR] Separate floating-point bin ops from integer bin ops (#201462)
This change creates new FP-specific binary operations and updates the
existing binary operations that previously accepted any arithmetic type
to only allow integer and vector-of-integer types.
This change is being done to prepare for extended floating-point
handling such as strict FP semantics and fast-math handling. It also
simplifies the handling of integer overflow flags.
Assisted-by: Cursor / claude-opus-4.8
Commit: ff25d3158175c089b39cc98c411679ec8f7be4b6
https://github.com/llvm/llvm-project/commit/ff25d3158175c089b39cc98c411679ec8f7be4b6
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py
M lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py
M lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
Log Message:
-----------
[lldb] xfail tests for arm64e caused by compiler bugs (#201454)
These tests are caused by bugs in clang where arm64e support is not yet
complete.
Commit: 131ca5c65eca521626041639742479a0f300496c
https://github.com/llvm/llvm-project/commit/131ca5c65eca521626041639742479a0f300496c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/Profile/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#201639)
3e447333fe32
a7a53bfbcff4
Commit: c193b2df39c711eab8fdd9ad9a5cffb045835c28
https://github.com/llvm/llvm-project/commit/c193b2df39c711eab8fdd9ad9a5cffb045835c28
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang/docs/Extensions.md
Log Message:
-----------
[flang][docs] Documented `c_float128` and `c_float128_complex` extension (#201614)
flang has supported this for a long time, but it wasn't documented as an
extension
Commit: 7d27cf7c2bddffded12f5526be2d1215671db8d1
https://github.com/llvm/llvm-project/commit/7d27cf7c2bddffded12f5526be2d1215671db8d1
Author: Thurston Dang <thurston at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
R llvm/test/Transforms/IndVarSimplify/issue195176.ll
Log Message:
-----------
Revert "[SCEV] Fix ScalarEvolution::getBackedgeTakenInfo when L not found" (#201640)
Reverts llvm/llvm-project#201502 due to buildbot breakage:
https://lab.llvm.org/buildbot/#/builders/187/builds/20579
Commit: 77a4516f18785307d3a3add49de0aa151a69fdcf
https://github.com/llvm/llvm-project/commit/77a4516f18785307d3a3add49de0aa151a69fdcf
Author: Kunal Pathak <kunalspathak.github at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/ldst-opt-umov-fpr-store.mir
A llvm/test/CodeGen/AArch64/umov-fpr-store-from-phi.ll
Log Message:
-----------
[AArch64] Fold UMOV(lane 0) + GPR store in FPR store (#199139)
Problem: LLVM generates `umov w8, v0.h[0]` + `strh w8, [x0]` instead of
`str h0, [x0]` when storing vector lane 0 to memory, specifically when
SimplifyCFG merges stores across branches -- splitting the
extractelement and store into different basic blocks and preventing the
existing DAG combine from firing.
https://godbolt.org/z/v5G9ohMPa
Root cause: SimplifyCFG creates a PHI + merged store in a successor
block. SelectionDAG ISel processes each block independently, so it
lowers the extract to `UMOV` (GPR) in the predecessor and the store sees
only a GPR value via the PHI. Late tail duplication puts the store back
in the same block, but the `UMOV` is already baked in.
Fix: Added a post-RA peephole in `AArch64LoadStoreOptimizer` (step 6 in
`optimizeBlock`) that recognizes `UMOVvi*_idx0` + GPR store patterns and
replaces them with direct FPR sub-register stores. The peephole:
- Handles all element sizes: i8 (`bsub`), i16 (`hsub`), i32 (`ssub`),
i64 (`dsub`)
- Correctly updates liveness by clearing intervening kill flags on the
vector register
- Bails out if the GPR value has other uses, the vector register is
clobbered, or the store doesn't kill the GPR
Assisted-by: Claude
Fixes: https://github.com/llvm/llvm-project/issues/137086
---------
Co-authored-by: Kunal Pathak <kupathak at fb.com>
Commit: 52a43992cd92b98f5059851fe43a33ba94527bd4
https://github.com/llvm/llvm-project/commit/52a43992cd92b98f5059851fe43a33ba94527bd4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A lldb/docs/use/formatting.md
R lldb/docs/use/formatting.rst
A lldb/docs/use/intel_pt.md
R lldb/docs/use/intel_pt.rst
A lldb/docs/use/map.md
R lldb/docs/use/map.rst
A lldb/docs/use/remote.md
R lldb/docs/use/remote.rst
A lldb/docs/use/symbolfilejson.md
R lldb/docs/use/symbolfilejson.rst
A lldb/docs/use/symbolication.md
R lldb/docs/use/symbolication.rst
A lldb/docs/use/symbols.md
R lldb/docs/use/symbols.rst
A lldb/docs/use/troubleshooting.md
R lldb/docs/use/troubleshooting.rst
A lldb/docs/use/tutorial.md
R lldb/docs/use/tutorial.rst
A lldb/docs/use/variable.md
R lldb/docs/use/variable.rst
Log Message:
-----------
[lldb][docs] Convert use/ RST docs to Markdown (NFC) (#201467)
Convert the ten user-facing RST docs under lldb/docs/use/ to MyST
Markdown. This is the third batch of an incremental RST -> Markdown
migration; PR1 covered the small leaf pages and PR2 covered the
contributor-facing docs under resources/.
Files: formatting, intel_pt, map, remote, symbolfilejson, symbolication,
symbols, troubleshooting, tutorial, variable.
Verified by building the docs on origin/main and on this branch with
identical sphinx flags and diffing both the warnings and the rendered
HTML. After file extension and line numbers are normalized, the warning
sets match exactly. Seven of the ten pages are byte-identical. The three
that differ (symbolication, tutorial, variable) differ only in
CommonMark collapsing two-spaces-after-period to one and MyST renaming
auto-numbered footnote IDs (`id6` -> `footnote-1`) plus adding an `<hr>`
separator before footnote sections.
The diff also surfaced three semantic regressions in the conversion,
fixed here:
- variable.md lost cross-reference behavior on single-backtick refs to
`SBValue` and `SBData`. RST's default role is `any`, so single backticks
attempted xrefs; in MyST single backticks are plain code spans.
Converted these occurrences to explicit `{any}`...``.
- map.md emitted bare `[Section Name]` for the page TOC, which
CommonMark treats as an undefined reference shortcut and falls through
to literal text. Converted to `[Section Name](#slug)`.
- variable.md emitted `[format name][format name]` as a similar
undefined reference shortcut. Converted to `[format name](#format-
name)` to match the new `(format-name)=` anchor.
Context:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Assisted-by: Claude
Commit: 2851820759fd912c17ac07a492687499aa83906a
https://github.com/llvm/llvm-project/commit/2851820759fd912c17ac07a492687499aa83906a
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
Log Message:
-----------
[flang][acc] Attach FortranObjectViewOpInterface to acc.unwrap_private (#201646)
Since this operation is simply a zero-offset view, attach the
FortranObjectViewOpInterface to allow FIR AA to walk this if needed.
Commit: f357a470de89660b6a887abc95f6a15aae205e64
https://github.com/llvm/llvm-project/commit/f357a470de89660b6a887abc95f6a15aae205e64
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][lex] Store `HeaderFileInfo` in a `DenseMap` (#200968)
Calling `FileManager::GetUniqueIDMapping()` during modular builds gets
very expensive if the `FileManager` has seen lots of files. This
function is used in two places in the `ASTWriter` to look up
`HeaderFileInfo` in `HeaderSearch`.
This PR changes the storage of `HeaderFileInfo` from
`FileEntry::getUID()`-indexed `std::vector<T>` to
`llvm::DenseMap<FileEntryRef, T>`, improving scanning performance by
~2.5%.
Commit: c005f737e764fab61a02ca5587cf43a16716b5fc
https://github.com/llvm/llvm-project/commit/c005f737e764fab61a02ca5587cf43a16716b5fc
Author: Abinaya Saravanan <asaravan at qti.qualcomm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonPatterns.td
A llvm/test/CodeGen/Hexagon/bitcast-f64-vector.ll
Log Message:
-----------
Fix "Cannot select" crash on bitcast between f64 and int vector types (#201509)
All of i64, f64, v2i32, v4i16, v8i8 are assigned to the DoubleRegs
register class (64-bit register pairs). A bitcast between any two of
these types is a machine-level no-op (ie. the same physical register is
reinterpreted with a different type).
HexagonPatterns.td had NopCast_pat entries for all int-to-int bitcasts
within DoubleRegs, and explicit patterns for f64 <-> i64, but was
missing patterns for f64 <-> v2i32, f64 <-> v4i16, and f64 <-> v8i8. The
same gap existed in IntRegs for f32 <-> v2i16 and f32 <-> v4i8.
Without a tableGen pattern for "f64 = bitcast v2i32" node, the
instruction selector crashed with:
LLVM ERROR: Cannot select: t26: f64 = bitcast t6
t6: v2i32,ch = CopyFromReg t0, Register:v2i32 %2
Fix by adding the five missing NopCast_pat entries.
Fixes: https://github.com/llvm/llvm-project/issues/195495
Commit: 990811766057d912deab1a4aca9d61c73f136b2e
https://github.com/llvm/llvm-project/commit/990811766057d912deab1a4aca9d61c73f136b2e
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/Inputs/empty.h
A clang/test/Driver/Inputs/module.modulemap
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
A clang/test/Driver/crash-diagnostics-modules.c
A clang/test/Driver/crash-diagnostics-tar.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-crashfile.m
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/crash-report-multi-arch.c
M clang/test/Driver/crash-report-null.test
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/lld-repro.c
M clang/test/Modules/crash-vfs-headermaps.m
M clang/test/Modules/crash-vfs-include-pch.m
M clang/test/Modules/crash-vfs-ivfsoverlay.m
M clang/test/Modules/crash-vfs-path-emptydir-entries.m
M clang/test/Modules/crash-vfs-path-symlink-component.m
M clang/test/Modules/crash-vfs-path-symlink-topheader.m
M clang/test/Modules/crash-vfs-path-traversal.m
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-relative-overlay.m
M clang/test/Modules/crash-vfs-run-reproducer.m
M clang/test/Modules/crash-vfs-umbrella-frameworks.m
M clang/tools/driver/driver.cpp
Log Message:
-----------
[clang] Add -fcrash-diagnostics-tar for tarball of crash reproducer files (#201643)
Makes it easier to move around crash diagnostics.
Reland of #198838 with crash-diagnostics-tar.c and
crash-report-crashfile.m fixed.
Commit: 1b85dfdd324eb2a7eef5f17c0595d84791ded2c9
https://github.com/llvm/llvm-project/commit/1b85dfdd324eb2a7eef5f17c0595d84791ded2c9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitreverse.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add handling for X86ISD::VSHLDQ\VSRLDQ byte shift instructions (#201641)
Commit: bb3d14fb4a2f57daf5e859a6797dcfc81dfa3c51
https://github.com/llvm/llvm-project/commit/bb3d14fb4a2f57daf5e859a6797dcfc81dfa3c51
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[cmake] Add llvm-nm before lldb (#201648)
After #199152, CMake failed for me with:
```
CMake Error at cmake/modules/AddLLVM.cmake:2805 (get_target_property):
get_target_property() called with non-existent target "llvm-nm".
Call Stack (most recent call first):
F:/Dev/llvm-project/lldb/source/API/CMakeLists.txt:205 (get_host_tool_path)
```
I'm not sure why it didn't fail in CI or on the buildbots. The fix here
is to add llvm-nm before lldb like we do with other projects.
Commit: bcdb732df219fc5de7c16b9712d52aa56b22fed0
https://github.com/llvm/llvm-project/commit/bcdb732df219fc5de7c16b9712d52aa56b22fed0
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-templates-pattern.cpp
M clang/test/CXX/basic/basic.link/p11.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/CodeGenCXX/default-arguments.cpp
M clang/test/CodeGenCXX/explicit-instantiation.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/instantiate-scope.cpp
M clang/test/Templight/templight-default-func-arg.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[clang] Reland: fix getTemplateInstantiationArgs (#201373)
Relands #199528
This implements a new strategy for collecting the template arguments, by
relying on the qualifiers and template parameter lists to navigate the
template
context of out-of-line definitions.
This greatly simplifies the signature of that function, by removing a
bunch
of workarounds, and simpliffying a couple that weren't removed yet.
Since this now relies on qualifiers and template parameter lists,
this patch expends most of its effort making sure these are placed,
transformed and propagated to template instantiations.
Also makes the explicit specialization AST nodes stop abusing the
template
parameter lists by storing it's own template parameter list, creating a
dedicated field for them, similar to partial specializations.
Commit: 9f6b3b34e278ebd11b330c6135d28189f27eb3d8
https://github.com/llvm/llvm-project/commit/9f6b3b34e278ebd11b330c6135d28189f27eb3d8
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel][lldb] Port a7a53bfbcff401dbc9df5544b7662a7f96ce7336 (#201660)
Adds a new dep
Commit: 07c318fa917428f8f2b9c7cf49f1c91a6e8a089a
https://github.com/llvm/llvm-project/commit/07c318fa917428f8f2b9c7cf49f1c91a6e8a089a
Author: KRM7 <rugasikrisztian at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
Log Message:
-----------
Add missing REQUIRES: asserts to test case which needs it (#201626)
Commit: 19703323e0c75c63214fcc29272c118326b95ecc
https://github.com/llvm/llvm-project/commit/19703323e0c75c63214fcc29272c118326b95ecc
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
[scudo] Log if randomness degrades. (#201482)
Commit: 7b4d5d09813707fc448fd95ce366889913428614
https://github.com/llvm/llvm-project/commit/7b4d5d09813707fc448fd95ce366889913428614
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/CMakeLists.txt
M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
M offload/plugins-nextgen/level_zero/dynamic_l0/level_zero/ze_api.h
M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
M offload/plugins-nextgen/level_zero/include/L0Context.h
M offload/plugins-nextgen/level_zero/include/L0Device.h
A offload/plugins-nextgen/level_zero/include/L0Event.h
M offload/plugins-nextgen/level_zero/include/L0Memory.h
M offload/plugins-nextgen/level_zero/include/L0Queue.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
A offload/plugins-nextgen/level_zero/src/L0Event.cpp
M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
Log Message:
-----------
[OFFLOAD][L0] Implement Event APIs (#201306)
Introduce a new L0EventTy type used to implement most of the Event APIs
of PluginInterface (all but getEventElapsedTimeImpl).
---------
Co-authored-by: Kevin Sala Penades <kevinsala.ks at gmail.com>
Commit: cac3e7973a5f84473c9a6543cdae5a614114eaa9
https://github.com/llvm/llvm-project/commit/cac3e7973a5f84473c9a6543cdae5a614114eaa9
Author: Alexis Perry-Holby <aperry at lanl.gov>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A flang/docs/MeetingNotes/2026/2026-06-03.md
Log Message:
-----------
[flang] Adding notes from the Flang Community Call June 3rd (#201458)
Commit: e4828aa1eabba8905cb878d07e5e956b5cc0e165
https://github.com/llvm/llvm-project/commit/e4828aa1eabba8905cb878d07e5e956b5cc0e165
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
Log Message:
-----------
[clang-doc] Wrap per thread arenas in an accessor for BUILD_SHARED (#201388)
It seems like for BUILD_SHARED builds of the toolchain on Windows,
specifically aarch64-windows-gnu hosts, the use of the `thread_local`
variables in Representation.cpp causes an issue at link time due to
non-explicit export. Instead, just wrap them in an accessor function,
which should solve the issue in a cross platform way.
Fixes #200915
Commit: a89a59367fce12bc2d2d75510cda653b2482d962
https://github.com/llvm/llvm-project/commit/a89a59367fce12bc2d2d75510cda653b2482d962
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/Inputs/blockaddr-import.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/cfi-direct-call.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/cfi-direct-call1.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-alias.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-icall.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-thinlto-funcs.yaml
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
Log Message:
-----------
[CFI] Refactor `CfiFunctionIndex` to externalize GUID calculation (#201635)
In preparation for PR #201370 - the goal is to decouple CFI from _how_
ThinLTO computes its GUIDs, and enable PR #184065 (for this
[RFC](https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801)).
This PR just changes APIs and the internal implementation of
CfiFunctionIndex, the subsequent one (201370) actually propagates GUIDs
through metadata. It's _almost_ NFC - the YAML format does change
though.
Commit: 6f5702095457319e5e530baeafb191e4bcd556f3
https://github.com/llvm/llvm-project/commit/6f5702095457319e5e530baeafb191e4bcd556f3
Author: Dan Bonachea <dobonachea at lbl.gov>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang/docs/ParallelMultiImageFortranRuntime.md
Log Message:
-----------
docs/ParallelMultiImageFortranRuntime: Update link to latest PRIF Specification (#201403)
The PRIF Committee is pleased to announce the publication of the
Parallel Runtime Interface for Fortran (PRIF) Specification, Revision
0.8. The latest iteration of this specification represents the efforts
of a collaborative design process involving multiple individuals across
several institutions.
The document is available here: https://doi.org/10.25344/S4Z88F
The PRIF specification is governed by a formal PRIF Committee. For more
details, see: https://go.lbl.gov/prif-governance
The Committee vote to approve the technical content in this revision
began on 2026-04-30 and concluded successfully on 2026-05-18.
The 7-day committee comment period for cosmetic feedback began on
2026-05-21 and concluded on 2026-05-28 with no comments, and only minor
editorial changes by the Editor.
See the Change Log in Section 1 of the document for the list of changes
relative to the prior revision.
Commit: 889496c13bd4d3114e375bd0aeb1f161eff67c33
https://github.com/llvm/llvm-project/commit/889496c13bd4d3114e375bd0aeb1f161eff67c33
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/SemaTemplate/ctad.cpp
Log Message:
-----------
[clang] fix assertion for DeducedAsPack DeducedTemplateSpecializationType (#201664)
This fixes a regression introduced in #186727, which was never released,
so there are no release notes.
Fixes #200418
Commit: 6e310bf37a199297a86f6338d94af14220bed969
https://github.com/llvm/llvm-project/commit/6e310bf37a199297a86f6338d94af14220bed969
Author: Srividya Sundaram <srividya.sundaram at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][doc][SYCL] Expand SYCL driver release notes (#200449)
## Summary
The SYCL Support section in the release notes previously had a single
entry for the default SPIR-V target change. This PR adds driver-level
entries covering all notable SYCL changes landed upstream:
- `-fsycl`, `-fsycl-device-only`, `-fsycl-host-only` flag introduction
(#GH117268)
- C++17 default enforcement and sub-C++17 rejection (#GH194014)
- Runtime library rename from `libsycl.so` to `libLLVMSYCL.so` and
automatic runtime path / header include injection (#GH188770, #GH174877)
- Windows SYCL runtime library linking support with CRT management
(#GH194744)
- Fix for `-nolibsycl` being silently ignored and spurious spirv-link
flags forwarded to `clang-sycl-linker` (#GH200252)
Addresses the review comment on #200200 requesting that notable SYCL
driver and offload tool changes be documented alongside the front-end
changes. This PR covers only the Clang Driver changes.
---------
Co-authored-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 6ecdfcfb1ebdc545020080f10ec2d6587122c73f
https://github.com/llvm/llvm-project/commit/6ecdfcfb1ebdc545020080f10ec2d6587122c73f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
Log Message:
-----------
[LV] Add test showing incorrect flag merging in narrowIG (NFC). (#201673)
Add test showing narrowInterleaveGroups incorrectly using the flags from
the first member, even if other members do not have the same flags.
Commit: 6b3aeb8a2788f65bb16bc9542630438a44195a90
https://github.com/llvm/llvm-project/commit/6b3aeb8a2788f65bb16bc9542630438a44195a90
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/Import/intrinsic-unregistered.ll
Log Message:
-----------
[MLIR][LLVMIR] Add support for intrinsics with metadata arguments (#200308)
This updates the LLVM dialect to properly handle intrinsics with
metadata arguments.
The primary goal of this change is to support the constrained FP
intrinsics, but support for other intrinsics with metadata arguments
came along with the change.
I have not yet added the RoundingModeOpInterface and
FPExceptionBehaviorOpInterface to CallIntrinsicOp. I intend to do that
as a follow up change if this direction is accepted. I have also not yet
removed existing specialized operations that explicitly handle a subset
of the constrained intrinsics.
Assisted-by: Cursor / claude-opus-4.7
Commit: 0027d8904d5a94e6b39e2c3198e901be6d929097
https://github.com/llvm/llvm-project/commit/0027d8904d5a94e6b39e2c3198e901be6d929097
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-install-name-tool.rst
A llvm/test/tools/llvm-objcopy/MachO/install-name-tool-output.test
M llvm/tools/llvm-objcopy/InstallNameToolOpts.td
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
Log Message:
-----------
[llvm-objcopy] Add -o to install_name_tool (#189495)
This allows copying the binary vs updating it in place
Commit: cc377f71c3b5b9b3d38b7f661d88908b3f235a2f
https://github.com/llvm/llvm-project/commit/cc377f71c3b5b9b3d38b7f661d88908b3f235a2f
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Batch common-factor folding in getAddExpr (#184258)
The existing pairwise common-factor fold in getAddExpr handles two
patterns:
`W + X + (X * Y * Z) --> W + (X * ((Y*Z)+1))`
`X + (A*B*C) + (A*D*E) --> X + (A*(B*C+D*E))`
Both fold exactly two terms sharing a common factor, then re-enter
getAddExpr() with the partially-simplified Ops. When n terms share a
common factor X, this requires n-1 re-entries through the full
getAddExpr normalization pipeline.
Replace this with a single-pass scan that collects all terms sharing the
common factor and folds them in one shot:
`A1*X + A2*X + ... + An*X --> X * (A1 + A2 + ... + An)`
This reduces the number of top-level re-entries into getAddExpr() for
this fold from n-1 to 1, improving compile time for expressions with
many terms sharing a common factor.
Note that in some cases this change causes benign operand order
changes.
Commit: 2dce1190b0aae797996023783731efbfb8e33a8f
https://github.com/llvm/llvm-project/commit/2dce1190b0aae797996023783731efbfb8e33a8f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libcxx/include/__expected/expected.h
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp
Log Message:
-----------
[libc++] Fix constraint recursion in std::expected's operator== (#201455)
The C++26 constraint added to operator==(const expected& x, const T2& v)
by P3379R0 evaluates *x == v as part of constraint satisfaction. When
ADL on a comparison reaches this hidden friend through a type whose
associated namespaces include std::expected -- for example std::pair<T,
std::expected<U, V>> -- the constraint check ends up considering the
same overload again with the original type as T2, producing a
"satisfaction of constraint depends on itself" error.
Parameterize the expected operand with an extra template parameter
constrained to be the same type as the enclosing expected's value type.
This is observationally equivalent but makes template argument deduction
fail for non-expected operands before the constraint is evaluated, so
the recursion never starts.
Fixes #160431
rdar://178226313
Assisted-by: Claude
Commit: 717e3c7bcf37a252ba90d612406aba037b50c0ff
https://github.com/llvm/llvm-project/commit/717e3c7bcf37a252ba90d612406aba037b50c0ff
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libcxx/include/__locale_dir/wstring_convert.h
A libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/pragma_suppress.compile.pass.cpp
Log Message:
-----------
[libc++] Suppress deprecation warning around wstring_convert::to_bytes (#201633)
The deprecation warning for wstring_convert::to_bytes fires from inside
the libc++ header, so users can't suppress it with their own diagnostic
pragmas around the call site. Wrap the definition with
_LIBCPP_SUPPRESS_DEPRECATED_PUSH/POP, mirroring what's already done for
the destructor and from_bytes just above.
Add a regression test under test/libcxx.
rdar://173319468
Assisted-by: Claude
Commit: 7e2c7050a7b59d324f26a10da73edff5aeedd3ba
https://github.com/llvm/llvm-project/commit/7e2c7050a7b59d324f26a10da73edff5aeedd3ba
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A lldb/docs/index.md
R lldb/docs/index.rst
A lldb/docs/python_api_enums.md
R lldb/docs/python_api_enums.rst
Log Message:
-----------
[lldb][docs] Convert top-level RST docs to Markdown (NFC) (#201674)
Convert the two remaining top-level RST docs, index and
python_api_enums, to MyST Markdown. This is the final batch of an
incremental RST -> Markdown migration.
After this change, the only RST sources left under lldb/docs/ are
man/lldb.rst and man/lldb-server.rst, which conf.py intentionally keeps
as RST so the man-page builder can run without myst_parser installed
(this reduces dependencies for some llvm distributions).
Verified by building the docs on origin/main and on this branch with
identical sphinx flags and diffing both the warnings and the rendered
HTML. After file extension and line numbers are normalized, the warning
sets match exactly. index.html is byte-identical; python_api_enums.html
differs in a single line where CommonMark collapses two spaces after a
period to one.
The diff also surfaced two semantic regressions in the conversion, fixed
here:
- index.md and python_api_enums.md lost cross-reference behavior on
single-backtick refs to `lldb` and `SBHostOS.GetLLDBPath`. RST's default
role is `any`, so single backticks attempted xrefs; in MyST single
backticks are plain code spans. Converted to explicit `{any}`...``
syntax.
Context: https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Assisted-by: Claude
Commit: f76f26d9560356680da47bc9252df6283a14adad
https://github.com/llvm/llvm-project/commit/f76f26d9560356680da47bc9252df6283a14adad
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-icp-metadata.ll
Log Message:
-----------
[MemProf] Fix incorrect VP metadata update during ICP promotion (#201658)
Track unpromoted candidates explicitly when performing ICP during
MemProf
context disambiguation. Previously, the code assumed that the first N
candidates were always the ones promoted, which led to incorrect
metadata
on the fallback indirect call if a candidate was skipped (e.g. due to
missing definition or being illegal to promote).
Commit: b0b433c725aa6fc80ba3de35abb345c7b2cd191e
https://github.com/llvm/llvm-project/commit/b0b433c725aa6fc80ba3de35abb345c7b2cd191e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
Log Message:
-----------
[VPlan] Intersect IR flags across interleave members when narrowing. (#201682)
Update narrowInterleaveGroupOp to properly intersect flags for all wide
members, to make sure we only use the flags common across all combined
members.
Commit: 01c00d115c3e46c4cb78ec78c2a8c729aa0e07ca
https://github.com/llvm/llvm-project/commit/01c00d115c3e46c4cb78ec78c2a8c729aa0e07ca
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
Log Message:
-----------
[MLIR][XeGPU] Promote memref.alloca to SLM in convert-vector-to-xegpu (#197978)
Run a small pre-pass at the start of convert-vector-to-xegpu that
rewrites every memref.alloca to address space 3, so allocations coming
out of bufferization carry the SLM attribute by the time the conversion
patterns run.
Commit: bea8fa29233c8daa2dc8818df2763f6bf8765f69
https://github.com/llvm/llvm-project/commit/bea8fa29233c8daa2dc8818df2763f6bf8765f69
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit-versioned-language.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-subprogram.ll
M llvm/test/CodeGen/DirectX/Metadata/cbuffer-metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/dx_precise.ll
M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
M llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll
M llvm/test/CodeGen/DirectX/debug-info.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead-lib.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead.ll
M llvm/test/CodeGen/DirectX/finalize_linkage.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll
M llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll
M llvm/test/CodeGen/DirectX/scalar-store.ll
M llvm/test/CodeGen/DirectX/scalarize-two-calls.ll
M llvm/test/CodeGen/DirectX/strip-fn-attrs.ll
Log Message:
-----------
[DirectX] Remove --filetype=asm from tests (#201600)
--filetype=asm is the default. Suggested by arsenm.
Commit: aa513cbc24a4dcfd3f98bff0e96fa85748080e75
https://github.com/llvm/llvm-project/commit/aa513cbc24a4dcfd3f98bff0e96fa85748080e75
Author: dpalermo <dan.palermo at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-to-host.mlir
Log Message:
-----------
Revert "[OpenMP] Use ext linkage for kernels handles and globals handles keep…" (#201698)
Reverts llvm/llvm-project#200964
This patch breaks flang declare target on a common block
Commit: 3a4aab52cd0e6a4d253c16bab6ae4cb4cc5c8fb7
https://github.com/llvm/llvm-project/commit/3a4aab52cd0e6a4d253c16bab6ae4cb4cc5c8fb7
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 01c00d1 (#201696)
This fixes 01c00d115c3e46c4cb78ec78c2a8c729aa0e07ca.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: a81c5a6df4ddba64a4e085aebf435d276eb46e22
https://github.com/llvm/llvm-project/commit/a81c5a6df4ddba64a4e085aebf435d276eb46e22
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/rvi-pseudos-invalid.s
A llvm/test/MC/RISCV/xqci-access-pseudos.s
Log Message:
-----------
[RISCV] Support Qualcomm Access Relocations (#188671)
These QUALCOMM vendor relocations mark 16-bit compressed and 32-bit
load/store instructions as candidates for relaxation from a QC_E_LI +
Load/Store sequence.
This change adds support for assembling instructions with these
relocations. These relocations are documented in
https://github.com/quic/riscv-elf-psabi-quic-extensions
Commit: adaa9e08b73829701b0b7ebc86d35be2602d3f2a
https://github.com/llvm/llvm-project/commit/adaa9e08b73829701b0b7ebc86d35be2602d3f2a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
Revert "[clang][lex] Store `HeaderFileInfo` in a `DenseMap`" (#201702)
Reverts llvm/llvm-project#200968
This is causing some non-determinism in PCM files in the
`clang/test/Modules/rebuild.m` test.
Commit: 1d13b74cf086629d5cdae5f44ef4a62cebcaf3ff
https://github.com/llvm/llvm-project/commit/1d13b74cf086629d5cdae5f44ef4a62cebcaf3ff
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.h
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/debug-names-static-member-decl.test
Log Message:
-----------
[DWARFLinker] Emit .debug_names entries for type-unit DIEs in parallel linker (#201215)
The default tag arm of AcceleratorRecordsSaver::save returned early when
a DIE was cloned into the artificial type unit, so class-static const
data members (DW_AT_const_value, no out-of-class definition) never got
an accelerator entry. As a result `target var A::int_val` in LLDB then
found nothing.
The HasLiveAddress / HasRanges guard already decides whether a DIE
carries enough information of its own to warrant a name record; the
output unit is just doing the routing. Drop the early return and thread
the TypeEntry through saveNameRecord / saveObjCNameRecord / saveObjC so
they emit into the type-unit accel storage when appropriate, the same
way saveTypeRecord and saveNamespaceRecord already do.
Commit: 3c20bc59dd8b1a7defb021722ce38b6311f8e893
https://github.com/llvm/llvm-project/commit/3c20bc59dd8b1a7defb021722ce38b6311f8e893
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support mulhs/u for i8 vectors. (#201665)
We already marked them as legal, but would crash.
Commit: 9959cbfeffa4f972df12130df4f921cc9ec215a3
https://github.com/llvm/llvm-project/commit/9959cbfeffa4f972df12130df4f921cc9ec215a3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/dsymutil.cpp
Log Message:
-----------
[dsymutil] Make the Parallel DWARF linker the default (#200971)
This commit toggles the default linker in dsymutil from the classic
linker to the parallel linker. This means that we have parity between
the two implementations, at least for everything we have test coverage
for in LLVM and LLDB.
I expected we'll continue to uncover more differences in the future.
However I don't think that necessitates holding off on toggling the
default. By making the parallel linker the default, we get maximum
living on upstream, even if that audience is comparatively small.
Fixes #195390
Commit: 72c2f7e0552ed468bbfb06f651b221f5c7b4b0bf
https://github.com/llvm/llvm-project/commit/72c2f7e0552ed468bbfb06f651b221f5c7b4b0bf
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/cbuffer-matrix-layout-keyword.hlsl
Log Message:
-----------
[HLSL][CBuffer][Matrix] Honor row_major/column_major keyword in cbuffer layout (#201671)
fixes #201668
A per-declaration `row_major`/`column_major` keyword on a cbuffer matrix
was being dropped when building the cbuffer layout, so the layout struct
and the buffer-layout copy fell back to the translation-unit
`-fmatrix-memory-layout=`
Needed to fix the desugar in two places:
* HLSLBufferLayoutBuilder::layOutMatrix took a `const ConstantMatrixType
*` and called ConvertTypeForMem(QualType(MT, 0)), discarding the sugar.
It now takes the sugared QualType.
* SemaHLSL's host-layout struct construction called
getUnqualifiedDesugaredType() on each field, erasing the orientation
attribute. A getHostLayoutFieldType() helper now keeps the sugared type
for constant matrices while desugaring everything else.
Commit: 6369f3382514b36a7a50f92b945d7dace1b5b9b7
https://github.com/llvm/llvm-project/commit/6369f3382514b36a7a50f92b945d7dace1b5b9b7
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A offload/ci/openmp-offload-amdgpu-libc-runtime.py
Log Message:
-----------
[CI][AMDGPU] Create scriptedbuilder for libc build (#201687)
Introduced a new scriptedbuilder for libc build. It will enable
developers to conveniently reproduce the same build by our bot:
https://lab.llvm.org/buildbot/#/builders/10
Tested locally, tests passed.
Commit: becc74f032080821ddceb04106ef7f30223b4913
https://github.com/llvm/llvm-project/commit/becc74f032080821ddceb04106ef7f30223b4913
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
A clang/test/Driver/riscv-zilsd-word-align.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/zdinx-spill.ll
M llvm/test/CodeGen/RISCV/zilsd-ldst-opt-prera.mir
M llvm/test/CodeGen/RISCV/zilsd-regalloc-hints.mir
M llvm/test/CodeGen/RISCV/zilsd-spill.ll
M llvm/test/CodeGen/RISCV/zilsd.ll
Log Message:
-----------
[RISCV] Clang flags for controlling zilsd alignment (#181439)
Called `-mzilsd-word-align` and `-mzilsd-strict-align`. These interact
with scalar/strict alignment, in hopefully a reasonable way.
They cause errors on rv64, where zilsd is not available.
Commit: 762b77ac29b8aba6783ddb895ec7c5df5e7b677a
https://github.com/llvm/llvm-project/commit/762b77ac29b8aba6783ddb895ec7c5df5e7b677a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libcxx/include/ios
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android23.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android23.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/ios.cpp
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Remove ios_base::__xindex_ from the ABI (#198994)
`__xindex_` is only ever used from the dylib from a single function. We
can simplify the code a bit by making the variable function-local and
avoiding exposing it to the ABI at all. This also fixes a TODO about
whether it's safe to use `atomic` with the GCC ABI: yes, since it's not
actually part of our ABI.
Commit: 48d0cbd339310d965b4602b514c420e5ab54a3d4
https://github.com/llvm/llvm-project/commit/48d0cbd339310d965b4602b514c420e5ab54a3d4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
Log Message:
-----------
[flang][OpenMP] Separate checks for type-parameter inquiry and subobject (#201324)
This will make it possible to diagnose these situations independently.
This isn't perfect, but will be improved gradually in the future.
Commit: b19d4591663758787f9929eccfd9136c58275127
https://github.com/llvm/llvm-project/commit/b19d4591663758787f9929eccfd9136c58275127
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
Log Message:
-----------
[clang-tidy] avoid 64-bit truncation in redundant bitwise checks (#201363)
Fixes #201115
Commit: 70f7167ce2622a610a6d6dca4d5934ea8a07a056
https://github.com/llvm/llvm-project/commit/70f7167ce2622a610a6d6dca4d5934ea8a07a056
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libc/src/__support/threads/raw_rwlock.h
Log Message:
-----------
[libc][rwlock] fix the race condition in waiter queue (#201629)
Fix #201615.
Fix the issue that non atomic operations race in waiting queue, which
causes missed futex wakeup signals.
Confirmed by TSAN:
```
==================
WARNING: ThreadSanitizer: data race (pid=388518)
Write of size 4 at 0x7ffd21cf98e4 by thread T23:
#0 __llvm_libc_23_0_0_git::RawRwLock::notify_pending_threads() ./libc/src/__support/threads/raw_rwlock.h:443:44
#1 __llvm_libc_23_0_0_git::RawRwLock::unlock() ./libc/src/__support/threads/raw_rwlock.h:520:5
#2 randomized_thread_operation(SharedData*) ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:104:18
#3 thread_runner(void*) ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:148:5
Previous atomic read of size 4 at 0x7ffd21cf98e4 by thread T4:
#0 __llvm_libc_23_0_0_git::cpp::Atomic<unsigned int>::load(...) ./libc/src/__support/CPP/atomic.h:115:5
#1 __llvm_libc_23_0_0_git::Futex::wait(...) ./libc/src/__support/threads/linux/futex_utils.h:43:17
#2 __llvm_libc_23_0_0_git::cpp::expected<int, int> __llvm_libc_23_0_0_git::rwlock::WaitingQueue::wait<Role::Reader>(...) ./libc/src/__support/threads/raw_rwlock.h:101:35
#3 __llvm_libc_23_0_0_git::rwlock::LockResult __llvm_libc_23_0_0_git::RawRwLock::lock_slow<Role::Reader>(...) ./libc/src/__support/threads/raw_rwlock.h:402:34
#4 __llvm_libc_23_0_0_git::RawRwLock::read_lock(...) ./libc/src/__support/threads/raw_rwlock.h:485:12
#5 randomized_thread_operation(SharedData*) ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:79:16
#6 thread_runner(void*) ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:148:5
Thread T23 (tid=388553, running) created by main thread at:
#0 pthread_create ...
#1 main ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:166:5
Thread T4 (tid=388533, running) created by main thread at:
#0 pthread_create ...
#1 main ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:166:5
SUMMARY: ThreadSanitizer: data race ./libc/src/__support/threads/raw_rwlock.h:443:44 in __llvm_libc_23_0_0_git::RawRwLock::notify_pending_threads()
==================
```
AI wrote the detection script. Manually fixed.
Commit: bb180dd616c61932a0000ff45cd5d69fc1195b87
https://github.com/llvm/llvm-project/commit/bb180dd616c61932a0000ff45cd5d69fc1195b87
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/test/CodeGen/WebAssembly/wasm-arguments.c
Log Message:
-----------
[WebAssembly] Fix crash combining complex numbers and multivalue (#200514)
This fixes a crash in Clang when the `experimental-mv` ABI is used on
WebAssembly targets in conjunction with complex numbers as arguments.
There's no strict definition for what the multivalue ABI is at this
time, so the main goal is to just not crash for now.
Closes #70402
Closes #153567
Commit: 60bd8f8088eba2ede01b9d112fc6b927e9e99795
https://github.com/llvm/llvm-project/commit/60bd8f8088eba2ede01b9d112fc6b927e9e99795
Author: Rashmi Mudduluru <r_mudduluru at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
M clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
Log Message:
-----------
[Webkit Checkers][SaferCpp] Detect base-to-derived downcasts laundered through void* in MemoryUnsafeCastChecker (#200294)
Adds a matcher for static_cast<Derived*>(static_cast<void*>(base)),
which previously evaded detection because the outer cast's immediate
source expression is void*, not Base*.
rdar://173770143
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
Commit: ef574da13acec7d30de1e949d8a2c7c6f7ff531f
https://github.com/llvm/llvm-project/commit/ef574da13acec7d30de1e949d8a2c7c6f7ff531f
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
A compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
Log Message:
-----------
Reland HIP offload PGO runtime support as a separate opt-in library (#201606)
This mostly relands the compiler-rt part of #177665 (approved and
merged, then reverted in #201416). The first commit restores it as
merged.
It was reverted because of a Windows problem: the ROCm runtime needs the
sanitizer interception library, which is built /MD on Windows, so
putting it in clang_rt.profile forced that library to /MD and broke
users linking it with the static CRT (/MT).
The second commit fixes this by building the ROCm support as a separate,
opt-in library clang_rt.profile_rocm, a /MD superset of
clang_rt.profile. The base library is left unchanged (/MT, no ROCm). The
driver links clang_rt.profile_rocm first, so it resolves all profile
symbols and the base library stays inert.
clang_rt.profile_rocm is off by default. The compiler-side change and
driver wiring are in a separate PR.
Commit: fbbf5f0398ea7509c2da194ac67882096e232f80
https://github.com/llvm/llvm-project/commit/fbbf5f0398ea7509c2da194ac67882096e232f80
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lld/test/wasm/many-functions.ll
Log Message:
-----------
[lld][WebAssembly] Simplify many-functions.ll test (#201711)
Remove superfluous checks (function bodies, data section, symbol table,
and segment info) from the test.
The primary purpose of this test is to verify that relocations within
the CODE section are handled correctly when linking objects with many
functions (requiring multi-byte LEB128 for function count).
Checking the entire symbol table, segment info, data section, and all
129 function bodies is superfluous and adds unnecessary noise (over 1000
lines of expectations) to the test. These features are covered by other,
more targeted tests. Reducing these checks makes the test much easier to
read and maintain.
Commit: d7a23b7ab0afad10d26f0f1a5edfce88de452f81
https://github.com/llvm/llvm-project/commit/d7a23b7ab0afad10d26f0f1a5edfce88de452f81
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
R lld/test/wasm/export-all.ll
M lld/test/wasm/export-all.s
Log Message:
-----------
[lld][Webassembly] Merge lld/test/wasm/export-all.ll into export-all.s. NFC (#201724)
Part of the effort to convert all our tests to assembly.
Commit: 1e3dc606df3aefc924fb58238dd705b8bfde1581
https://github.com/llvm/llvm-project/commit/1e3dc606df3aefc924fb58238dd705b8bfde1581
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/docs/ProgrammersManual.rst
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/BitVectorTest.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
Log Message:
-----------
[DenseMap] Store occupancy in a packed used-bit array (#201281)
Track bucket occupancy in a packed 1-bit-per-bucket "used" array (uint32
words)
instead of an `Empty` sentinel key. The buckets and the used array share
one
allocation. The probing scheme is unchanged.
(uint64_t words lead to slightly larger clang binary.)
Because occupancy is a packed bit instead of an in-band sentinel,
probing and
iteration test a dense bit rather than loading each bucket key. This
helps
find-miss and iteration (the empty terminus and the empty buckets become
a bit
test, not a bucket load; for large keys it also skips the structural
compare
against the empty key) and large-bucket insert. It costs find-hit (the
matched
bucket is loaded either way, so the bit is pure overhead) and, for small
buckets,
fill/insert (the per-insert used-bit write). instructions:u rises
slightly
(stage2 sqlite around +0.4% -O0-g), but wall time is neutral-to-faster:
the
find-miss and iteration gains are cache effects an instruction count
does not
see.
The instruction-count increase concentrates in hot (pointer key,
sizeof(bucket) <= 16) maps.
getMemorySize now also counts the used array; the InitSize tests are
updated and
the BitVectorTest DenseSet test no longer expects inserting a default
key to
abort.
Aided by Clause Opus 4.8
Commit: 3b095d9763756c3ba245a9eedbce4509302a4f23
https://github.com/llvm/llvm-project/commit/3b095d9763756c3ba245a9eedbce4509302a4f23
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV][P-ext] Select scalar asub/asubu and mulhr/mulhru/mulhrsu on RV32 (#201540)
The truncate combine only formed these nodes for packed vectors; extend
it to scalar i32 on RV32 and add the matching isel patterns.
Commit: 4417a7501aae8a9b8d3ffee1d491540a0858cc29
https://github.com/llvm/llvm-project/commit/4417a7501aae8a9b8d3ffee1d491540a0858cc29
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/static-init.c
Log Message:
-----------
[ExprConstant] Treat `&*p` as not a dereference in C constant initializers (#201483)
In C, [C11 6.5.3.2p3] specifies that when the operand of unary `&` is
the result of a unary `*` operator, neither operator is evaluated and
the result is as if both were omitted. So `&*p` yields the pointer value
`p` without performing a dereference, and forming it is well-defined
even when `p` is null (e.g. `&*(int *)0`).
The constant evaluator did not honor this: it evaluated the `*` as a
real lvalue access and diagnosed a null dereference as undefined
behavior. This went unnoticed for ordinary scalar initializers, which
use the relaxed `Expr::isConstantInitializer()` check, but a bit-field
initializer is evaluated via `EvaluateAsInt()` with `SE_NoSideEffects`,
so the same expression was rejected there with "initializer element is
not a compile-time constant":
```
struct S { long v : 8; };
const struct S s = { .v = (long)&*(int *)0 }; // error
const long x = (long)&*(int *)0; // accepted
```
Handle `&*p` in `PointerExprEvaluator::VisitUnaryAddrOf` (and the
corresponding `UO_AddrOf` case in the bytecode interpreter) by
evaluating the pointer operand directly in C.
Fixes #197846.
rdar://158774335
Commit: de2d0f48ea2c237f12a046c2b56589b1b0ea22e0
https://github.com/llvm/llvm-project/commit/de2d0f48ea2c237f12a046c2b56589b1b0ea22e0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Add zero/sign extend support between 32-bit and 64-bit vectors. (#201694)
Still need to improve sext on RV64.
Assisted-by: Claude Sonnet 4.6
Commit: 2cc6b14b11010b8e537a5dfe627159ce96f5a690
https://github.com/llvm/llvm-project/commit/2cc6b14b11010b8e537a5dfe627159ce96f5a690
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Get the right definition before compiling functions (#201105)
This broke libc++'s
std/ranges/range.adaptors/range.concat/iterator/arithmetic.pass.cpp.
The (reduced via cvise but not enough) function looks like this:
```c++
friend constexpr unsigned
operator-(const __iterator &__x, const __iterator &__y)
{
(void)-(__y - __x);
return 0;
}
```
When evaluating the binary operator for overflow, we will compile the
operator- (_this_ function) to bytecode. At that point,
::isThisDeclarationADefiniton() will return true and ::getDefiniton()
returns the function itself. However, all this is happening while the
function is being instantiated, which means the function doesn't have a
body yet and the bytecode ends up being just a NoRet op. This will of
course later fail.
Fix this by querying the body before trying to compile a function.
Unfortunately I wasn't able to create a reproducer of reasonable size.
Commit: 6f233ceb01347d37bd943dde84e81710ac24bfdf
https://github.com/llvm/llvm-project/commit/6f233ceb01347d37bd943dde84e81710ac24bfdf
Author: adeshcom14 <aadikane at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
M llvm/docs/AMDGPUAsyncOperations.rst
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tensor.load.store.ll
Log Message:
-----------
[AMDGPU] Track tensor load/store DMAs with asyncmark (#200775)
Wire existing variants of the tensor load-to/store-from LDS intrinsics
into the existing asyncmark/wait.asyncmark mechanism via TENSOR_CNT
waitcnt counter.
Fixes: LCOMPILER-1619
Commit: 131fd59a0296383bc9fec9bb0459201814bc3d0c
https://github.com/llvm/llvm-project/commit/131fd59a0296383bc9fec9bb0459201814bc3d0c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
A llvm/test/Bitcode/Inputs/cfi-functions-upgrade.bc
A llvm/test/Bitcode/Inputs/cfi-summary-upgrade.bc
A llvm/test/Bitcode/cfi-functions-upgrade.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/ThinLTO/X86/cfi-icall-only-defuse.ll
A llvm/test/ThinLTO/X86/cfi-icall-thinlto.ll
M llvm/test/ThinLTO/X86/cfi-icall.ll
M llvm/test/Transforms/CrossDSOCFI/cfi_functions.ll
M llvm/test/Transforms/LowerTypeTests/export-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-cross-dso-cfi.ll
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
M llvm/test/Transforms/LowerTypeTests/export-rename-local.ll
M llvm/test/Transforms/LowerTypeTests/export-symver.ll
M llvm/test/Transforms/LowerTypeTests/pr37625.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/function-alias.ll
Log Message:
-----------
[CFI][ThinLTO] Remove the need for CFI calculating ThinLTO GUIDs (#201370)
CFI does name-based matching. ThinLTO uses a hash over the function name
(the "GUID"). As a result of this
[RFC](https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801)
- see also PR #184065 - GUID calculation should be treated as an
implementation detail, i.e. passes shouldn't need to re-do / reverse
engineer GUIDs.
The main reasons CFI is aware of GUIDs is because (1) the CFI functions
need to be communicated to ThinLink, as they need to be treated as
exports, in `LTO::runThinLTO`; and (2) because CFI needs to check the
liveliness of functions referenced in `cfi.functions` metadata, and this
check happens via the thinlto export summary
(`LowerTypeTestsModule::lower`).
To a lesser extent, the optimization in PR #130382 benefits from CFI
knowing about GUIDs; however, if this were the only reason, we could
make `ValueInfo`s available at that point, which carry names, and
perform name-based matching for CFI's needs.
This PR lets GUIDs be passed to CFI. The bulk of the change is moving
them around as metadata fields. The GUID calculation is hoisted out, but
kept the same as before this patch, following that once PR #184065 is
relanded it will be switched to the stable mechanism it (PR #184065)
introduces. The compile time effects are
[here](https://llvm-compile-time-tracker.com/compare.php?from=b29bf9fa25bdb906a61ec361fba68796020cc6b9&to=7bb1c07144e8ccb8a3332e91fc193303acd9439e&stat=instructions:u).
Commit: d146ef738a7bdde3b44bbbf23487f7de69dcfecb
https://github.com/llvm/llvm-project/commit/d146ef738a7bdde3b44bbbf23487f7de69dcfecb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode.ll
Log Message:
-----------
[RISCV] Enable combineAddMulh for vectors to improve div by constant. (#201657)
I modified the constant in some RVV division tests for coverage. I can
add new tests cases if that's preferred.
Commit: dbe91f4a4b55a17197c52335db4b7a0aa9c69f6b
https://github.com/llvm/llvm-project/commit/dbe91f4a4b55a17197c52335db4b7a0aa9c69f6b
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 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
Log Message:
-----------
[CIR][AArch64] Lower NEON vslid intrinsics (#199415)
### summary
part of: https://github.com/llvm/llvm-project/issues/185382
this is a follow up of :
https://github.com/llvm/llvm-project/pull/198309
This adds CIR lowering for the scalar AArch64 NEON shift-left-and-insert
intrinsics `vslid_n_s64` and `vslid_n_u64`.
These ACLE builtins expose scalar `i64` interfaces, but the
corresponding LLVM intrinsic is vector-shaped:
```llvm
llvm.aarch64.neon.vsli.v1i64(<1 x i64>, <1 x i64>, i32) -> <1 x i64>
```
The new lowering wraps the scalar 64-bit operands in one-lane CIR vector
types, emits the aarch64.neon.vsli LLVM
intrinsic call, and bitcasts the result back to the scalar return type.
Commit: 0b0a345d18626801395b6ca957af0a1be5aecc1e
https://github.com/llvm/llvm-project/commit/0b0a345d18626801395b6ca957af0a1be5aecc1e
Author: Brad Smith <brad at comstyle.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/riscv.c
A compiler-rt/lib/builtins/cpu_model/riscv.h
A compiler-rt/lib/builtins/cpu_model/riscv/hwprobe.inc
A compiler-rt/lib/builtins/cpu_model/riscv/unimplemented.inc
Log Message:
-----------
[LLVM][compiler-rt][RISCV] Refactor RISC-V CPU features (#199438)
Commit: f21e893db6e1ab89ebad69004ef7935c3bdc80a7
https://github.com/llvm/llvm-project/commit/f21e893db6e1ab89ebad69004ef7935c3bdc80a7
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libc/test/integration/src/threads/cnd_test.cpp
Log Message:
-----------
[libc] fix lost signal issue in cnd_test (#201721)
Commit: 5589d540cce8fe95e12062d5c118da9e7769bd83
https://github.com/llvm/llvm-project/commit/5589d540cce8fe95e12062d5c118da9e7769bd83
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[DenseMap] Fix ubsan error after #201281 (#201742)
```
/home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/DenseMap.h:492:17: runtime error: null pointer passed as argument 1, which is declared to never be null
```
Commit: 36b3ffbae3bdfa0b4ec5adb0ad6fe6eaa6d6afec
https://github.com/llvm/llvm-project/commit/36b3ffbae3bdfa0b4ec5adb0ad6fe6eaa6d6afec
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/EPCGenericDylibManagerTest.cpp
Log Message:
-----------
[ORC] Enable EPCGenericDylibManager to use orc_rt::NativeDylibManager. (#201744)
Adds two EPCGenericDylibManager::Create overloads (taking JITDylib& or
ExecutionSession&) that look up implementation addresses by name,
defaulting to orc_rt::NativeDylibManager's SPS controller interface (CI)
symbols. SimpleExecutorDylibManager::addBootstrapSymbols now also vends
its instance, open, and resolve symbols under those names, so the new
Create overloads work against either backend.
Commit: 48686f88f06f358145e4f177dd7c6b3ba1f93ae5
https://github.com/llvm/llvm-project/commit/48686f88f06f358145e4f177dd7c6b3ba1f93ae5
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/currentLimitation.ll
A llvm/test/Transforms/LoopInterchange/guarded-inner-loop.ll
M llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
Log Message:
-----------
[LoopInterchange] Do not interchange guarded imperfect loop nests (#201504)
When the outer-loop header conditionally branches to the outer latch,
that branch guards the inner loop, so the inner loop runs only on a
subset of the outer iterations. Interchanging such a nest moves the
inner loop outside the guard and runs it on every outer iteration,
including the guarded-off ones. That is incorrect when the inner loop
relies on the guard to terminate (e.g. an eq/ne exit whose trip count is
degenerate once the guard is false): the extra runs do not terminate, so
the program hangs at run time. Reject these guarded, imperfect nests in
tightlyNested().
This patch takes conservative approach to fix the crash and keep
upstream sane. In the long term, we need to see permissible cases under
which we can still interchange. I believe this is first good step.
Most importantly, three existing tests
(`currentLimitation.ll`, `loop-interchange-optimization-remarks.ll`,
`lcssa-preheader.ll`) were going through this unsafe transform; **these
tests would no longer interchange with this patch.**
I verified that they were hanging after illegal loop interchange with
`lli`: the un-interchanged function returns but the interchanged one
spins for a degenerate input (interchange_01(0, 2), test02(0, 2),
lcssa_08(1, 0)).
Fixes #201273
Assisted by Cursor.
Commit: 6ae71f321933ff629755ca61978a276a6e816827
https://github.com/llvm/llvm-project/commit/6ae71f321933ff629755ca61978a276a6e816827
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/sys-ptrace-macros.h
A libc/include/sys/ptrace.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/ptrace.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/ptrace/CMakeLists.txt
A libc/src/sys/ptrace/linux/CMakeLists.txt
A libc/src/sys/ptrace/linux/ptrace.cpp
A libc/src/sys/ptrace/ptrace.h
M libc/test/integration/src/sys/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/linux/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/linux/ptrace_test.cpp
Log Message:
-----------
[libc] (Begin to) implement ptrace for linux (#201601)
This function is more complicated than your average syscall wrapper,
which is why this PR is mainly about setting up the infrastructure. I've
made this an experimental entry point, as the only request it handles is
PTRACE_TRACEME.
I also added a test to verify the PTRACE_TRACEME behavior. It's an
integration test as anything ptrace-y requires two processes.
Assisted by Gemini.
Commit: e33f287237feb9563c4866326d95fd3a5b151a22
https://github.com/llvm/llvm-project/commit/e33f287237feb9563c4866326d95fd3a5b151a22
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] packed shift-add codegen (#201294)
Add isel patterns for `psh1add`, `pssh1sadd` and the scalar `ssh1sadd`,
matching `(a << 1) + b` and `sadd.sat(sshl.sat(a, 1), b)`/`sadd.sat(sadd.sat(a, a), b)`.
Commit: 44c1640a3b74fc32d23979a9a5c4a491fa66398f
https://github.com/llvm/llvm-project/commit/44c1640a3b74fc32d23979a9a5c4a491fa66398f
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
R llvm/test/CodeGen/MIR/Generic/scalable-vector-type-err3.mir
Log Message:
-----------
[CodeGen][MIR] Delete llvm/test/CodeGen/MIR/Generic/scalable-vector-type-err3.mir (NFC) (#201340)
It's bit-identical to
llvm/test/CodeGen/MIR/Generic/scalable-vector-type-err2.mir. Not sure
what the original intention was.
Commit: aab1251f8420273f630df7a3fe075688f4063c48
https://github.com/llvm/llvm-project/commit/aab1251f8420273f630df7a3fe075688f4063c48
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Log Message:
-----------
[GlobalISel] Move G_MEMCPY_INLINE into lowerMemCpyFamily (NFC) (#201570)
Makes refactoring this code so it can be moved into TableGen simpler.
Assisted-by: codex
Commit: 78c586615f1b31c6c5f3d37a6638c76cdb821388
https://github.com/llvm/llvm-project/commit/78c586615f1b31c6c5f3d37a6638c76cdb821388
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
A llvm/test/Transforms/LoopFusion/cannot_fuse_atomic.ll
Log Message:
-----------
[LoopFusion] Reject loops containing atomic accesses (#201525)
The fusion legality check relies on DependenceInfo, which models memory
dependences purely by address and does not capture the ordering or
synchronization (synchronizes-with / fence) semantics of atomic
operations. Fusing two loops interleaves their bodies, which can reorder
atomics in ways that violate the memory model even when they touch
different locations.
Mirror the existing volatile handling and invalidate any fusion
candidate whose body contains an atomic access, adding a
ContainsAtomicAccess statistic.
This is conservative: Instruction::isAtomic() is true for unordered and
higher, so even unordered atomics (which carry no cross-thread ordering)
are rejected. This matches the all-or-nothing volatile precedent and
keeps the check simple; it can be narrowed to allow unordered later if
needed.
Fixes #193770.
Commit: 511d2e40ddeacf25f403b40ed73a41d1dea1b636
https://github.com/llvm/llvm-project/commit/511d2e40ddeacf25f403b40ed73a41d1dea1b636
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/Parse/ParsePragma.cpp
Log Message:
-----------
[NFC][clang] Format pragma comment kind StringSwitch (#201754)
This is a formatting-only change to the pragma comment kind
`StringSwitch`.
A follow-up change needs to add another pragma comment kind to this
block. Applying the formatter as part of that functional change would
also reformat the existing cases, making the functional diff harder to
review.
No functional change intended.
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: e3260943a9bf6f14b9f92cb30de40ac6cc4ae406
https://github.com/llvm/llvm-project/commit/e3260943a9bf6f14b9f92cb30de40ac6cc4ae406
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
A clang-tools-extra/clangd/test/modules_config_remove_flags.test
Log Message:
-----------
[clangd][modules] Provide correct context to ModulesBuilder::hasRequiredModules() call (#201419)
To make command mangler to use compile command edits from the
configuration, we need to provide the correct context to it.
Without this patch compile command edits declared in .clangd file are
not used during required modules check, which can lead to compile errors
appearing and false negative `ModulesBuilder::hadRequiredModules()`
return result.
This PR addresses problem described here
https://github.com/llvm/llvm-project/pull/200001#issuecomment-4590514342
Commit: e80f1329ce2ba3fb775e6ca0f9b69f4ab3f3866a
https://github.com/llvm/llvm-project/commit/e80f1329ce2ba3fb775e6ca0f9b69f4ab3f3866a
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/xor-decompose.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/xor-decompose.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Decompose xor constant operand when possible (#195830)
It may be desirable to fold constants directly into the addressing mode
when computing an address. While lowering GEPs and looking for a
constant to extract among the indexes, take into account constants which
are xor expressions as well. When some bits of the constant operand of
the xor are known-zero in the base operand, then, for those specific
bits (disjoint bits), xor and additions behave alike. Such bits may be
extracted from the xor, and are those that can contribute to the final
GEP offset.
Proofs: https://alive2.llvm.org/ce/z/JtmXsu.
Co-authored-by: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
Commit: df170b20e9e0bbec29f69a51c0ba6e68ecabb160
https://github.com/llvm/llvm-project/commit/df170b20e9e0bbec29f69a51c0ba6e68ecabb160
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/test/CodeGen/X86/slow-pmulld.ll
M llvm/test/CodeGen/X86/vector-interleave.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] X86FixupInstTuning - fold VPERM2x128 -> VINSERTx128 when shuffling lower xmm half ymm sources (#201618)
VINSERTx128 is never slower than VPERM2x128 and notably quicker on some
targets (btver2, znver1, e-cores, etc.).
Shuffle lowering avoids some VINSERT patterns for AVX targets as it can
affect folding/commutation - but by the time we get to the fixup passes,
these are all done and we can safely convert to VINSERTF128/I128.
There's more variants of the VPERM2 immediate mask that could be folded,
but its incredibly difficult to hit them as its easily commutable.
I hit this while working on #199445.
Commit: 45a9a697a6a31efae2f05a5f8db1028fc090b67f
https://github.com/llvm/llvm-project/commit/45a9a697a6a31efae2f05a5f8db1028fc090b67f
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir] Fix crash in test type converter for 1->N result conversion (#201738)
Use `results.append` instead of `results.assign`, preserving previous
results.
Fixes https://github.com/llvm/llvm-project/issues/201521
Commit: fd6afc5c26b1213de58ed1770aeee1dc45d17641
https://github.com/llvm/llvm-project/commit/fd6afc5c26b1213de58ed1770aeee1dc45d17641
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Object/RelocationResolver.cpp
Log Message:
-----------
[Object] Support COFF MIPS in RelocationResolver (#200477)
Similar to other 32-bit COFF logic.
Commit: ce5b2e876494cb95f02d9f915081e2b8781e74d1
https://github.com/llvm/llvm-project/commit/ce5b2e876494cb95f02d9f915081e2b8781e74d1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/test/tsan/many_held_mutex.cpp
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/__functional/function.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/cwchar
M libcxx/include/deque
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdexcept
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/system_error
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/pr40459.pass.cpp
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
Log Message:
-----------
[libc++] Drop transitive includes by default (#195509)
This patch removes the unused transitive includes by default.
`_LIBCPP_KEEP_TRANSITIVE_INCLUDES_LLVM23` can be defined to keep the
transitive includes around for an easier transition. The macro will be
removed in LLVM 24.
This patch implements
https://discourse.llvm.org/t/rfc-remove-unused-transitive-includes-from-the-libc-headers/90157
Commit: 53e3e24490a044bd24706d6628b73a56f0b6e9e6
https://github.com/llvm/llvm-project/commit/53e3e24490a044bd24706d6628b73a56f0b6e9e6
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
Log Message:
-----------
[AMDGPU] In `LowerDYNAMIC_STACKALLOC`, hoist the `readfirstlane` up one instruction (#201528)
Instead of:
```
$max_size_vgpr = wave_reduction_umax($vgpr_alloca_size)
$sgpr_newsp = readfirstlane($max_size_vgpr + $sgpr_sp)
```
Hoist the readfirstlane up to perform the addition using scalar
registers:
```
$max_size_sgpr = readfirstlane(wave_reduction_umax($vgpr_alloca_size))
$sgpr_newsp = $max_size_sgpr + $sgpr_sp
```
Commit: 59bdd5b63b1a649d5bfc7d422c2b4173c582d114
https://github.com/llvm/llvm-project/commit/59bdd5b63b1a649d5bfc7d422c2b4173c582d114
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
Log Message:
-----------
[lldb][test] Make TestInterruptThreadNames not depend on debug info (#201553)
This test only reads the pthread names, which don't depend on any debug
info.
This halves the runtime of this very long test from 22s to 11s.
Commit: 7b9435b0ed1db10c81167a5f415ae14b4b3e0565
https://github.com/llvm/llvm-project/commit/7b9435b0ed1db10c81167a5f415ae14b4b3e0565
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/commands/process/attach/main.cpp
Log Message:
-----------
[lldb][test] Increase polling frequency in ProcessAttach (#201532)
The test_attach_to_process_by_id_correct_executable_offset subtest
requires us to hit a breakpoint in an attached process. For this we
implement a loop that hits the breakpoint location every 2 seconds.
This patch increases the rate at which we hit this breakpoint to 50ms.
The reason is that a 2s interval means that this test is waiting on any
fast system for nearly 2 seconds on the first breakpoint hit. With a
50ms interval this subtest passed immediately.
Commit: baccad7b70143154bf978b00d3a8bed9a03db84a
https://github.com/llvm/llvm-project/commit/baccad7b70143154bf978b00d3a8bed9a03db84a
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/support/gmodules.py
Log Message:
-----------
[lldb][test] Assume clang supports -gmodules (#201333)
We currently spend 50ms in most dotest invocations to check if clang
supports `-gmodules`. The expensive part of this check is creating the
clang process to run `clang --help`.
`-gmodules` was added 11 years ago and is present in any compiler that
has even a remote chance in supporting the rest of our test suite. This
patch just assumes that our compiler supports -gmodules if it is clang.
Commit: fdfd1c1344187d64b63504ea8e3662ae4936503a
https://github.com/llvm/llvm-project/commit/fdfd1c1344187d64b63504ea8e3662ae4936503a
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
Log Message:
-----------
[lldb][test] Increase polling in TestInterruptThreadNames.py (#201554)
This test runs for a very long time on my machine (11s per variation),
and nearly all of this time is spent on the 10s sleep in this function.
There are two issues here:
1. It uses the (now outdated) logic that arm64 means we have a remote
Darwin device. This is no longer true these days as Macs also run on
arm64.
2. The polling duration of 1s is still very long, and the test will
still spend all its time just waiting for this 1s sleep. A 100ms sleep
that we poll in a loop should be slow enough.
Commit: ec8c8183af2087e9b6e543b3331af57db0f5a9e4
https://github.com/llvm/llvm-project/commit/ec8c8183af2087e9b6e543b3331af57db0f5a9e4
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
Log Message:
-----------
[lldb][NFC] Don't use C++20 designated initializer (#201075)
This source triggers the `-Wc++20-designator` warning as we're still
using C++ 17.
Commit: b73568035408a139e26a8d51635afe0bfc0c9044
https://github.com/llvm/llvm-project/commit/b73568035408a139e26a8d51635afe0bfc0c9044
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/test/Dialect/Builtin/Bytecode/attrs.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
Log Message:
-----------
[mlirbc] Add AffineMap serialization support (#191970)
Add binary bytecode encoding for AffineMapAttr, replacing the textual fallback.
AffineMap is encoded as numDims, numSymbols, numResults, followed by the result
expressions. Where each expression, AffineExpr, is encoded in the general case
as a recursive/prefix tree with a VarInt kind tag followed by kind-specific
data. To guard a bit more against malformed bytecode it uses an iterative
parser for these.
Special case encoding for common case AffineMap's (required less space & easy
to create without much higher maintenance needs). The ordering of the enum
serialized differs from AffineExprKind as the latter has an expansion point in
the middle (new kinds can be added there) while the serialized encoding needs
to remain stable.
Updated the checked in mlirbc file as memref has a default affinemap, so
updating it pre snap.
Assisted-by: Antigravity : Gemini
Commit: 0f18088dca8aa03124cac4d174e97174a9aa35be
https://github.com/llvm/llvm-project/commit/0f18088dca8aa03124cac4d174e97174a9aa35be
Author: Kiva <zengtao at iscas.ac.cn>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvvm.td
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/rvv/zvvmtls-invalid.s
A llvm/test/MC/RISCV/rvv/zvvmtls.s
A llvm/test/MC/RISCV/rvv/zvvmttls-invalid.s
A llvm/test/MC/RISCV/rvv/zvvmttls.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Add experimental `Zvvmtls` and `Zvvmttls` support (#198229)
This patch adds experimental MC-layer support for the [RISC-V Integrated
Matrix
Extension](https://github.com/riscv/integrated-matrix-extension/releases/tag/riscv-isa-release-71c48b9-2026-05-17),
specifically the tile load/store extensions: `Zvvmtls` and `Zvvmttls`
This PR:
- Adds the optional tile lambda operand syntax (`L1` through `L64`), and
related asm operand.
- Adds the `vmtl.v`, `vmts.v`, `vmttl.v` and `vmtts.v` instructions to
the MC
- Modifies `parseMaskReg` to return `NoMatch` to allow overloaded
mnemonics to continue matching alternative optional operands, such as
parsing `vmtl.v v8, (a0), a1, L4` as the tile-lambda form instead of
failing by treating `L4` as a malformed mask operand. Real mask
registers missing .t, such as v0, still produce the existing diagnostic.
Commit: 29f6956144ec2ec9b638108cf05058a219a548ba
https://github.com/llvm/llvm-project/commit/29f6956144ec2ec9b638108cf05058a219a548ba
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/docs/LoopFusion.rst
Log Message:
-----------
[LoopFusion][docs][NFC] Document atomic accesses as a fusion blocker (#201775)
Loops containing atomic accesses are now rejected outright, mirroring
the volatile blocker. Update the eligibility sections to match.
Commit: 6ab6b803f552d909341e3c561e84ef9bc6beefe0
https://github.com/llvm/llvm-project/commit/6ab6b803f552d909341e3c561e84ef9bc6beefe0
Author: jay0x <90309873+blazie2004 at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/private03.f90
Log Message:
-----------
[Flang][OpenMP]add semantic check for linear clause with statement function variables (#199743)
### **Description**
1. This patch adds a missing semantic check for the LINEAR clause.
2. OpenMP treats LINEAR variables similarly to PRIVATE variables.
Variables used inside statement function expressions are not allowed to
be privatized, but Flang was not checking this for LINEAR.
3. The existing privatization check already handled PRIVATE,
FIRSTPRIVATE, and LASTPRIVATE. This patch extends the same check to
LINEAR.
Fixes : [199660](https://github.com/llvm/llvm-project/issues/199660)
### **Reproducer**
```
subroutine test()
integer :: pi, r, f, x
f(r) = pi * r + x
!$omp parallel do linear(x)
do r = 1, 10
pi = f(r)
end do
!$omp end parallel do
end subroutine
```
when compiled with : `-fopenmp -fopenmp-version=45 -c`
**Observed Behavior**
` No diagnostic emitted
`
**Expected Behavior**
```
error: Variable 'x' in statement function expression cannot be in a LINEAR clause
!$omp parallel do linear(x)
```
Co-authored-by: Jay Satish Kumar Patel <kumarpat at pe31.hpc.amslabs.hpecorp.net>
Commit: d37537c53d3edda0f8c6d96c110371104b2f11ef
https://github.com/llvm/llvm-project/commit/d37537c53d3edda0f8c6d96c110371104b2f11ef
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Allow numeric values to be specified for mxint8 constants (#200762)
This commit uses the DenseElementTypeInterface to allow signless numeric
values to be specified for mxint8 constants by supplying `i8` values.
This is more user-friendly than the previous hex representation.
Commit: e379ef3ebeec1fb2592abb9b459c89c82acb3eb6
https://github.com/llvm/llvm-project/commit/e379ef3ebeec1fb2592abb9b459c89c82acb3eb6
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
Log Message:
-----------
[SLSR] Avoid repeatedly calling canReuseInstruction for the same Basis (#196545)
`canReuseInstruction` only depends on `Basis`, but runs for each
`(Basis, C)` pair. This patch moves the check earlier in the pass to
remove the repeated call.
Assisted-by: Claude Code
Commit: 9c5dcfcf8572c347b1d4acb165bdac6f43f93838
https://github.com/llvm/llvm-project/commit/9c5dcfcf8572c347b1d4acb165bdac6f43f93838
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[NFC][clang] Add pragma comment formatting commit to blame ignore list (#201765)
Add the previously landed formatting-only commit for the pragma comment
kind StringSwitch to `.git-blame-ignore-revs`.
This keeps git blame useful across the NFC formatting change.
Formatting commit:
511d2e40ddeacf25f403b40ed73a41d1dea1b636
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: 7d987f8a35a71a97754ccab804cb9966ece52e08
https://github.com/llvm/llvm-project/commit/7d987f8a35a71a97754ccab804cb9966ece52e08
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Allow no-delete default constructors (#201544)
This PR fixes the bug in TrivialFunctionAnalysis that it treats a
default constructor without an explicit body / definition as not
"trivial". Fixed the bug by allowing the function body to be missing
when isThisDeclarationADefinition is true.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 0d566c6fc6af5c9e9428c03891c9fc4da6920ddc
https://github.com/llvm/llvm-project/commit/0d566c6fc6af5c9e9428c03891c9fc4da6920ddc
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/phi-undef-loadstore.ll
Log Message:
-----------
[SimplifyCFG] Look at all uses when checking phi incoming for UB (#200164)
passingValueIsAlwaysUndefined only looks at the first use of the phi
that has a UB-candidate opcode. If that use is in a different block, the
function gives up, even when another use in the same block would prove
UB. Use-list order is not guaranteed, so this happens in practice.
Move the same-block check into the find_if lambda so the scan keeps
going past cross-block uses.
Commit: 982dc4f20cce5c6b92b1d9e3235ecf84cc84e149
https://github.com/llvm/llvm-project/commit/982dc4f20cce5c6b92b1d9e3235ecf84cc84e149
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - peek through BITCAST and EXTRACT_SUBVECTOR when trying to find shuffle combine candidates (#201781)
Helps with some expanded CONCAT_VECTORS cases where both halves came
from wider shuffles.
More yak shaving for #199445
Commit: 643eec316566aaf5e9bc3b29ef3a0365fdab89df
https://github.com/llvm/llvm-project/commit/643eec316566aaf5e9bc3b29ef3a0365fdab89df
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/utils/gdb-scripts/prettyprinters.py
Log Message:
-----------
[prettyprinters] Fix syntax error introduced by 17f85f467249. (#201359)
Commit: d7d2a558253250a087fe9b9b21abfc111e91425b
https://github.com/llvm/llvm-project/commit/d7d2a558253250a087fe9b9b21abfc111e91425b
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
Log Message:
-----------
[AArch64] Add an early return and de-indent a long indented block (NFC) (#201345)
As per LLVM coding standards recommendation in [1].
[1]:
https://llvm.org/docs/CodingStandards.html#use-early-exits-and-continue-to-simplify-code
Commit: 25e94da798b1ddc24c8680e8fe0b6f4099e7e876
https://github.com/llvm/llvm-project/commit/25e94da798b1ddc24c8680e8fe0b6f4099e7e876
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
A flang/test/Transforms/debug-char-type-2.fir
Log Message:
-----------
[flang][debug] Fix DIStringType size for arrays of assumed-length chars. (#201649)
When generating DWARF for an assumed-shape array whose element type is
an assumed-length character, `convertBoxedSequenceType` called
`convertType` for the element, which in turn called
`convertCharacterType` with `hasDescriptor`=false. With no descriptor
and a non-constant length, none of the branches that set `sizeInBits` or
produce a length expression were taken, so the resulting
`DIStringTypeAttr` had `sizeInBits` equal to =0 and no
`stringLengthExp`, leaving GDB unable to determine the string length or
display the array elements.
Fix this by detecting a non-constant-length character element in
`convertBoxedSequenceType` and calling `convertCharacterType` directly
with `hasDescriptor=true`. This generates the correct `stringLengthExp`
that reads the element byte-size from the descriptor. A
`genStringLocation` parameter (default true) is also added to suppress
the string location expression for the element type, since the data
location of array elements is already provided by the enclosing array.
Fixes https://github.com/llvm/llvm-project/issues/113895
Commit: 6d4cd34d861baec5a761d15b81395fbe88f4391b
https://github.com/llvm/llvm-project/commit/6d4cd34d861baec5a761d15b81395fbe88f4391b
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/docs/Frontend/PerformanceTips.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/IRTranslator.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-irtranslator.ll
A llvm/test/CodeGen/Generic/GlobalISel/irtranslator-byte-type.ll
M llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
Log Message:
-----------
[GlobalISel] Support the byte type in the IRTranslator (#196125)
> [!NOTE]
> Stacked: this PR is the base of a 2-PR stack.
> - **#196125 (this PR)** — GlobalISel byte-type support (lands first)
> - **#177908** — LoadStoreVectorizer mixed-type support (depends on
this; rebased on top)
Mirror SelectionDAG's behaviour by treating byte as integer at the
IR-to-MIR boundary:
- `getLLTForType` maps ByteType to `LLT::integer(N)`, matching the
byte->integer EVT mapping in ValueTypes.cpp.
- `translate(Constant)` handles ConstantByte by routing through
buildConstant with the underlying APInt.
- `translateBitCast` redirects only **scalar** byte<->ptr crossings to
G_INTTOPTR / G_PTRTOINT (the well-typed MIR shape for that boundary).
Vector byte<->ptr (e.g. `<N x b32>` -> ptr produced by mixed-type load
coalescing in #177908) and other legacy ptr/non-ptr IR bitcasts (AMDGPU
iN<->p3 kernarg packing, etc.) keep their historical G_BITCAST lowering
— G_INTTOPTR has no vector-src -> scalar-ptr form.
Co-authored-by: Claude Opus 4.7 <noreply at anthropic.com>
Commit: 013b33583b632f4c680db82f42223e3684da8cb2
https://github.com/llvm/llvm-project/commit/013b33583b632f4c680db82f42223e3684da8cb2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libcxx/include/__chrono/duration.h
Log Message:
-----------
[libc++][NFC] Simplify duration comparisons a bit (#201788)
The comparisons have been delegated to a class which has been
specialized for the equality case. This has likely been done to avoid
`common_type` if possible. However, `common_type` got a lot cheaper, to
the point where the classes likely do more harm than good.
Commit: 09a709aa70e76e00a5f3b1336d42a444b4f88c8b
https://github.com/llvm/llvm-project/commit/09a709aa70e76e00a5f3b1336d42a444b4f88c8b
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-fpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-fpr8.mir
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-gpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-fpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-gpr.ll
Log Message:
-----------
[AArch64] Align ZCM/ZCZ test strictness(NFC) (#200645)
Commit: 89905ff21441d8ed04b2bfafc57a8bb7c9402800
https://github.com/llvm/llvm-project/commit/89905ff21441d8ed04b2bfafc57a8bb7c9402800
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin.c
M clang/test/CodeGen/PowerPC/builtins-dmf-vsx-vector-float.c
M clang/test/CodeGen/PowerPC/builtins-ppc-amo.c
M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/bitint.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/arm-cmse-attr.c
M clang/test/CodeGen/arm-vfp16-arguments.c
M clang/test/CodeGen/arm-vfp16-arguments2.cpp
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/cfi-check-fail2-nomerge.c
M clang/test/CodeGen/glibc_ptr_align.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/pointer-arithmetic-align.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
M clang/test/CodeGen/transparent-union-type.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/bitfield-ir.cpp
M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenHIP/amdgcnspirv-uses-amdgpu-abi.cpp
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/as_type.cl
M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-cooperative-atomics.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-workgroup-size.cl
M clang/test/CodeGenOpenCL/kernel-param-alignment.cl
M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
M clang/test/DebugInfo/Generic/cfi-icall-generalize-debuginfo.c
M clang/test/DebugInfo/Generic/ubsan-function-debuginfo.c
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/wasm.c
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-uniform-waterfall.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-uniform-intrinsic-combine.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/BPF/loop-exit-cond.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
M llvm/test/Feature/OperandBundles/function-attrs.ll
M llvm/test/LTO/X86/mix-opaque-typed.ll
M llvm/test/Other/cgscc-devirt-iteration.ll
M llvm/test/Other/optimize-inrange-gep.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
M llvm/test/Transforms/FunctionAttrs/atomic.ll
M llvm/test/Transforms/FunctionAttrs/convergent.ll
M llvm/test/Transforms/FunctionAttrs/initializes.ll
M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
M llvm/test/Transforms/FunctionAttrs/noalias.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nofpclass.ll
M llvm/test/Transforms/FunctionAttrs/nofree.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/norecurse.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/FunctionAttrs/nounwind.ll
M llvm/test/Transforms/FunctionAttrs/optnone.ll
M llvm/test/Transforms/FunctionAttrs/out-of-bounds-iterator-bug.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/readnone.ll
M llvm/test/Transforms/FunctionAttrs/stats.ll
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
M llvm/test/Transforms/InstCombine/unused-nonnull.ll
M llvm/test/Transforms/LoopUnroll/unroll-cleanup.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-load-from-vector-loop.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loop-rotate-to-enable-unrolling-and-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_muladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/scalarize-load-ext-extract.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/udotabd.ll
M llvm/test/Transforms/PhaseOrdering/AMDGPU/infer-address-space.ll
M llvm/test/Transforms/PhaseOrdering/RISCV/any-of-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
M llvm/test/Transforms/PhaseOrdering/X86/madd.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/X86/sad.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/spurious-peeling.ll
M llvm/test/Transforms/PhaseOrdering/X86/unroll-vectorizer.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/always-inline-alloca-promotion.ll
M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
M llvm/test/Transforms/PhaseOrdering/branch-dom-cond.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
M llvm/test/Transforms/PhaseOrdering/early-arg-attrs-inference.ll
M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
M llvm/test/Transforms/PhaseOrdering/gvn-replacement-vs-hoist.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/lto-argpromotion-ipsccp.ll
M llvm/test/Transforms/PhaseOrdering/memcpy-offset.ll
M llvm/test/Transforms/PhaseOrdering/phi-protected-field-ptr.ll
M llvm/test/Transforms/PhaseOrdering/pr95152.ll
M llvm/test/Transforms/PhaseOrdering/pr98799-inline-simplifycfg-ub.ll
M llvm/test/Transforms/PhaseOrdering/struct-to-vector-before-memcpyopt.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
Log Message:
-----------
[FunctionAttrs] Add support for nofree argument inference (#201591)
Unlike Attributor, FunctionAttrs currently only supports inferring
nofree on functions. This PR adds support for inferring it on arguments
as well.
I've chosen to integrate this with the inference for
readnone/readonly/writeonly attributes, as the core logic for these is
the same.
There is a lot of test fallout. The only significant changes are in
llvm/lib/Transforms/IPO/FunctionAttrs.cpp and
llvm/test/Transforms/FunctionAttrs/nofree.ll.
Commit: e26ef0c943415ec3c3bd88c9c3e9bdca3791d4fd
https://github.com/llvm/llvm-project/commit/e26ef0c943415ec3c3bd88c9c3e9bdca3791d4fd
Author: Ming Yan <ming.yan at terapines.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/test/Fir/boxproc.fir
M flang/test/Lower/HLFIR/elemental-result-length.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
M flang/test/Lower/volatile1.f90
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
Log Message:
-----------
[mlir][arith] Canonicalize cmpi select to min/max (#201737)
This PR adds canonicalization patterns that fold `arith.select` +
`arith.cmpi` into
`arith.minsi`/`arith.maxsi`/`arith.minui`/`arith.maxui` operations.
---------
Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
Commit: 8e217eda17df80d2035d6ff27e74bfa8df77339a
https://github.com/llvm/llvm-project/commit/8e217eda17df80d2035d6ff27e74bfa8df77339a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
Log Message:
-----------
[lldb][Windows] skip TestDAP_attachCommands.py and TestDAP_launch_extra_launch_commands.py (#201796)
Commit: aa57c6af07b9086fd7a9b9b72df22f99dd30ee64
https://github.com/llvm/llvm-project/commit/aa57c6af07b9086fd7a9b9b72df22f99dd30ee64
Author: gretay-amd <Greta.Yorsh at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
Log Message:
-----------
[AMDGPU] Preserve call-site attributes rebuilding an intrinsic (#201549)
This PR copies the original call-site attributes onto the new call.
`AMDGPUInstCombineIntrinsic` uses `IC.Builder.CreateIntrinsic` to
rebuild intrinsic calls. `CreateIntrinsic` only inherits attributes from
the intrinsic declaration, and any call-site only attributes are
silently dropped.
The change is needed in both `modifyIntrinsicCall` simplifications and
`simplifyAMDGCNMemoryIntrinsicDemanded`. The new test exercises both
transformations firing in sequence on the same `image.sample` call. Two
commits: the first adds the test that drops the attribute and then the
second commit fixes the bug and the test.
This fix was originally introduced in the context of
waterfall intrinsics #192409, but the issue and the fix are independent.
Commit: 3086dc0582b23df394d069c3d14b5edbe0afeb77
https://github.com/llvm/llvm-project/commit/3086dc0582b23df394d069c3d14b5edbe0afeb77
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
[bazel] Exclude `profile_rocm` related file for now. (#201800)
This has been intrdocued in #201606.
Commit: 3cb8eefcc3cc7c613eb729914532b7a05546953b
https://github.com/llvm/llvm-project/commit/3cb8eefcc3cc7c613eb729914532b7a05546953b
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add `LLVM_BUILD_STATIC` to `llvm-lto2` (#201799)
This is added by add_llvm_tool in CMake side and affects `DTLTO` inline
ctor. (Introduced in #192629)
Commit: 094bbde3e86c5b7890e162afe6d32957153565b6
https://github.com/llvm/llvm-project/commit/094bbde3e86c5b7890e162afe6d32957153565b6
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
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 trait-matching helpers to Semantics (#201584)
Move the five trait-matching functions (`mapTraitSet`,
`mapTraitSelector`, `evaluateUserCondition`, `getTraitScore`,
`processTraitProperties`) that back metadirective lowering out of
Lower/OpenMP/Utils.cpp and into Semantics/openmp-utils.
These functions only operate on parsed OpenMP trait selectors and the
Fortran evaluate/folding machinery and carry no MLIR or lowering
dependency. Placing them in Semantics makes them reusable from the
semantic-recording phase of `declare variant` (and any other feature
that needs to build a `VariantMatchInfo`).
In Utils.cpp, the four pure mapping/folding functions are removed
entirely; their callers now call the Semantics versions directly. The
`processTraitProperties` is kept as a local wrapper to generate a TODO
error on Clause and extension properties.
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 04cedfd597561be75d46797978f8a744a2715105
https://github.com/llvm/llvm-project/commit/04cedfd597561be75d46797978f8a744a2715105
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/iohandler/sigint/cat.cpp
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
M lldb/test/API/tools/lldb-dap/breakpoint/main.cpp
Log Message:
-----------
[lldb] Add missing includes to some tests (#201804)
#195509 removed a bunch of transitive includes from libc++, causing the
test to fail.
Commit: b9e7f1f0ccbc8e829d4d68d1bf6d57665e1da62f
https://github.com/llvm/llvm-project/commit/b9e7f1f0ccbc8e829d4d68d1bf6d57665e1da62f
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/fp-to-int-to-fp.ll
M llvm/test/CodeGen/AArch64/ftrunc.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-frintz.ll
M llvm/test/CodeGen/AArch64/sve-frintz.ll
M llvm/test/CodeGen/AMDGPU/fp-to-int-to-fp.ll
M llvm/test/CodeGen/PowerPC/fp-int128-fp-combine.ll
M llvm/test/CodeGen/PowerPC/fp-to-int-to-fp.ll
M llvm/test/CodeGen/PowerPC/ftrunc-vec.ll
M llvm/test/CodeGen/PowerPC/no-extra-fp-conv-ldst.ll
M llvm/test/CodeGen/X86/ftrunc.ll
Log Message:
-----------
[SelectionDAG] Remove the remaining `NoSignedZerosFPMath` use (#201535)
This should be the last use in CodeGen part.
Commit: fd68fe73c8bebd034dab52d82f0ed4414d348c32
https://github.com/llvm/llvm-project/commit/fd68fe73c8bebd034dab52d82f0ed4414d348c32
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
Log Message:
-----------
[DFAJumpThreading] Clone noalias scopes when duplicating a block (#200620)
cloneBlockAndUpdatePredecessor cloned the block but not its noalias scope
declarations, so duplicated paths shared the same scope MDNodes and AA could
treat aliasing accesses on different paths as noalias.
Give each clone fresh scopes, like JumpThreading/LoopUnroll/LoopPeel.
Commit: e18112c7073d0a97a158323258dcfe00c2505b42
https://github.com/llvm/llvm-project/commit/e18112c7073d0a97a158323258dcfe00c2505b42
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes d37537c (#201787)
This fixes d37537c53d3edda0f8c6d96c110371104b2f11ef.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: ea66732d303ae00e446691e105d039f527382091
https://github.com/llvm/llvm-project/commit/ea66732d303ae00e446691e105d039f527382091
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
Log Message:
-----------
[Loads] Handle missing context instruction for willNotFreeBetween() (#201828)
This crashed previously.
Commit: 978468398d2e991772e86efe249c64c4fd2ab762
https://github.com/llvm/llvm-project/commit/978468398d2e991772e86efe249c64c4fd2ab762
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
M llvm/test/Transforms/LoopVectorize/alias-mask-negative-tests.ll
M llvm/test/Transforms/LoopVectorize/alias-mask.ll
Log Message:
-----------
[LV] Allow reductions with partial alias masking (#200813)
This patch enables reductions with partial alias masking by forcing the
use of a predicated reduction select with alias masking. This prevents
poison values from being propagated to the header phi for lanes outside
the alias mask.
Note: An alternate approach would be to select the identity value before
the final horizontal reduction (outside the vector loop). That however,
does not generalize to all reduction kinds (e.g., AnyOf), and at least
for AArch64 SVE, we already prefer the in-loop selects.
Commit: 2a80e6670190bf6a0ba0e9ba97a79c1e81eede35
https://github.com/llvm/llvm-project/commit/2a80e6670190bf6a0ba0e9ba97a79c1e81eede35
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[JumpThreading] NFC: Add comment referencing #199408. (#199718)
Leave a breadcrumb indicating that not `freeze`'ing a select's condition
when turning it into a conditional branch is unsound (unless we can
prove that the cond is never poison). Nonetheless this doesn't seem to
cause real-world problems afaict.
Commit: ddfa5eb8ae2e0cdd1c0542fff9c6671b8b3ff85c
https://github.com/llvm/llvm-project/commit/ddfa5eb8ae2e0cdd1c0542fff9c6671b8b3ff85c
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaAttr.cpp
M clang/test/SemaCXX/attr-section.cpp
Log Message:
-----------
[Sema] Fix assertion crash on section conflict with a non-identifier decl (#200873)
NamedDecl::getName() asserts the name is a simple identifier, so
UnifySection crashed when the conflicting section decl had a special
name such as a lambda's call operator.
Drop the argument: `note_declared_at` has no format placeholder, so it
was dead code. The error already prints the section decl.
Fixes https://github.com/llvm/llvm-project/issues/192264
Commit: fd259a565c444ebcdbafcc43da48479f935a755d
https://github.com/llvm/llvm-project/commit/fd259a565c444ebcdbafcc43da48479f935a755d
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/InstCombine/invariant.group.ll
Log Message:
-----------
[IR] Preserve !invariant.group in copyMetadataForLoad (#200535)
copyMetadataForLoad is supposed to be used when only changing a load's
type. If we're only changing the type (and not the SSA value of the
loaded pointer) then we can preserve invariant.group.
All callers of this function indeed either (a) leave the pointer SSA
value unchanged, or (b) change *all* pointers in the group from one
value to another (which is also safe).
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 07bd30557f2b00225d4eb7c125e74188b54f1faa
https://github.com/llvm/llvm-project/commit/07bd30557f2b00225d4eb7c125e74188b54f1faa
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Fix conditional operator scoping (#201777)
The code and the comment are correct, but they also applied to the
conditional operator condition, which they shouldn't.
Commit: 12cfc4dc56fcf7568602d0973d8b1090959d0900
https://github.com/llvm/llvm-project/commit/12cfc4dc56fcf7568602d0973d8b1090959d0900
Author: Timur Golubovich <timurgol007 at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/test/CodeGen/X86/apx/memfold-no-physreg.ll
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
A llvm/test/CodeGen/X86/apx/setjmp-win64-abi.ll
A llvm/test/CodeGen/X86/apx/win64-abi.ll
Log Message:
-----------
[X86][APX] Implement Windows APX ABI callee-saved registers per Microsoft spec (#200391)
Per the Microsoft x64 calling convention, R30 and R31 are non-volatile
when APX is available. Define CSR_Win64_APX and CSR_Win64_APX_NoSSE
extending the standard Win64 CSR sets. Update getCalleeSavedRegs and
getCallPreservedMask accordingly.
Reserve R30/R31 in functions that call setjmp, as the unwinder cannot
restore APX extended registers. Emit a warning for large functions where
this may impact performance.
Ref:
https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170#callercallee-saved-registers
---------
Co-authored-by: Daniel Paoliello <danpao at microsoft.com>
Commit: 9e2db573528ea46d659c74f0a059fb73eeb2fb42
https://github.com/llvm/llvm-project/commit/9e2db573528ea46d659c74f0a059fb73eeb2fb42
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat 4x128-bit shuffles as 2x256-bit shuffles (#201831)
Fixes #199445
Commit: 85da6a915345ce0a8614f8ff4531ba4efb592564
https://github.com/llvm/llvm-project/commit/85da6a915345ce0a8614f8ff4531ba4efb592564
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
A clang/test/OpenMP/amdgpu-arch-compat.c
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
Log Message:
-----------
OpenMP: Accept amdgpu name in arch directive (#201789)
Accept amdgpu as an alias for amdgcn as part of the general
trend of preferring the amdgpu name. This is so the name is
consistent in the future when the triple arch name changes.
Commit: 72668850f6f204451350a1e42fe8a5d9954542a9
https://github.com/llvm/llvm-project/commit/72668850f6f204451350a1e42fe8a5d9954542a9
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ptrace_macros.h
M libc/include/llvm-libc-macros/sys-ptrace-macros.h
M libc/include/sys/ptrace.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/ptrace.h
M libc/src/sys/ptrace/linux/CMakeLists.txt
M libc/src/sys/ptrace/linux/ptrace.cpp
M libc/test/integration/src/sys/ptrace/linux/ptrace_test.cpp
Log Message:
-----------
[libc] Support for argument-taking ptrace requests (#201830)
Some of these requests are architecture specific, and linux/ptrace.h is
pretty clean, so I'm including it for all the constants definitions
(this matches bionic, but not musl or glibc).
There's one unfortunate rename that we need to fix up (kernel uses
PTRACE_PEEKUSR, without the *E*), and (matching all libc
implementations) I also add the BSD-compatibility names for the basic
requests (although the usefulness if this is questionable as nearly
everything about ptrace is OS-specific).
Some of the options structs also have a different name in the kernel
headers (ptrace_peeksiginfo_args) and glibc (__ptrace_peeksiginfo_args),
but:
- these are very scarcely used, and
- the manpage actually documents the kernel names
which is why I'm hoping we can get away with this.
The ptrace entry point implements the standard PTRACE_PEEK translation
from by-ptr arguments to return values.
---------
Co-authored-by: Jeff Bailey <jbailey at raspberryginger.com>
Commit: b2a6da6197daabfc5bda2f4b2a5880aae10fc1a9
https://github.com/llvm/llvm-project/commit/b2a6da6197daabfc5bda2f4b2a5880aae10fc1a9
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/config/config.json
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/suseconds_t.h
M libc/include/llvm-libc-types/time_t.h
R libc/include/llvm-libc-types/time_t_32.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/utimensat.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/time/linux/clock_gettime.cpp
M libc/src/__support/time/linux/clock_settime.cpp
M libc/src/poll/linux/poll.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/time_constants.h
M libc/src/time/time_utils.cpp
M libc/test/src/__support/time/linux/timeout_test.cpp
M libc/test/src/sys/time/utimes_test.cpp
M libc/test/src/time/asctime_test.cpp
M libc/test/src/time/gmtime_r_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
[libc] Remove 32-bit time_t support (#200426)
Removed time_t_32.h and forced time_t to 64-bit (__INT64_TYPE__) on all
platforms.
Forced tv_nsec in struct timespec and tv_usec in struct timeval to
64-bit. This ensures struct timespec matches the kernel layout of struct
__kernel_timespec, allowing direct casting in syscall wrappers. Note
that under C23, tv_nsec is allowed to be any signed integer type capable
of representing [0, 999999999], making this 64-bit definition fully
compliant.
Updated syscall wrappers to prefer 64-bit time syscalls:
* clock_gettime64
* clock_settime64
* clock_nanosleep_time64
* pselect6_time64
* utimensat_time64
* futex_time64
Added static_asserts to legacy fallback paths to prevent compiling on
32-bit platforms that lack 64-bit time support.
Removed obsolete Y2038 overflow tests from mktime and other time tests.
Assisted-by: Automated tooling, human reviewed.
Commit: 1c0b58eeab671d0173b3431bebd96f2d974b3628
https://github.com/llvm/llvm-project/commit/1c0b58eeab671d0173b3431bebd96f2d974b3628
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/fneg-combines.legal.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.si.ll
M llvm/test/CodeGen/AMDGPU/fneg-fold-legalize-dag-increase-insts.ll
M llvm/test/CodeGen/PowerPC/scalar-min-max-p10.ll
Log Message:
-----------
[CodeGen] Remove `--enable-no-signed-zeros-fp-math` flag support (#201819)
Now CodeGen part no longer depends on this flag, remove it, so we can
remove `Target::resetTargetOptions` later.
Commit: 4fdb108b8e203e7fc7ff3ea73b7fc5d009a36954
https://github.com/llvm/llvm-project/commit/4fdb108b8e203e7fc7ff3ea73b7fc5d009a36954
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
Log Message:
-----------
[AMDGPU] Be more careful about using expandDivRem24 (#201186)
expandDivRem24 uses v_rcp_f32 which can have an error of one ulp. This
can cause an incorrect calculation of Y/X when abs(Y) > 0x800000. Thus,
do not use expandDivRem24 for unsigned 24-bit values.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 48aec0a9c45209139339c252f67898219e596a94
https://github.com/llvm/llvm-project/commit/48aec0a9c45209139339c252f67898219e596a94
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/Profile/BUILD.gn
Log Message:
-----------
[gn] make bolt ProfileTests depend on TargetsToBuild (#201842)
Added to CMake in f75973949b0e5, actually needed after
3e447333fe32785.
Commit: ff643b208cf697291510043ae47c404834bf464a
https://github.com/llvm/llvm-project/commit/ff643b208cf697291510043ae47c404834bf464a
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/Profile/BUILD.gn
Log Message:
-----------
[gn] make bolt ProfileTests depend on TestingSupport (#201843)
Part of porting 3e447333fe.
Commit: b082ea1f961b22e02a870c0cb6f3f8bcd031b2a8
https://github.com/llvm/llvm-project/commit/b082ea1f961b22e02a870c0cb6f3f8bcd031b2a8
Author: Vadim Curcă <80581374+VadimCurca at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
Log Message:
-----------
[MLIR][LLVMIR] Fix llvm.extractvalue folder (#201838)
Fix the llvm.extractvalue folder when trying to extract a value from a
multidimensional constant. Add lit tests that would crash without the
fix.
Commit: 441a7255e97c8198988b66ad7e15ab69051ed358
https://github.com/llvm/llvm-project/commit/441a7255e97c8198988b66ad7e15ab69051ed358
Author: Aditya Trivedi <120598696+adit4443ya at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/OpenMP/simd-aligned.f90
Log Message:
-----------
[Flang][OpenMP] Fix false positive common block error in LINEAR clause (#189170)
Fixes #184923
Commit: 678c1a2a02927677e1013c5cb60cc3dc09e461e8
https://github.com/llvm/llvm-project/commit/678c1a2a02927677e1013c5cb60cc3dc09e461e8
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
Log Message:
-----------
[LoopFusion][NFC] Fix NumSunkInsts statistic description (NFC) (#201841)
The NumSunkInsts counter was described as "Number of hoisted preheader
instructions.", a copy of NumHoistedInsts. It counts sunk instructions.
Commit: 3734a928541890a8f2b5d91587ff0bd6ebc90b46
https://github.com/llvm/llvm-project/commit/3734a928541890a8f2b5d91587ff0bd6ebc90b46
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
Log Message:
-----------
[lldb][Windows] Forward debuggee STDOUT through lldb-server via ConPTY (#201124)
`lldb-server.exe` currently does not forward the debuggee's STDIO to the
client.
This patch wires STDOUT using a ConPTY, mirroring the existing
`ProcessWindows` path. The two implementations share the same
infrastructure (PseudoConsole, ConnectionConPTY, ThreadedCommunication):
- The ConPTY is setup in
`GDBRemoteCommunicationServerLLGS::LaunchProcess`.
- `NativeProcessWindows` owns the ConPTY STDOUT read thread. The
read-thread callback forwards each chunk into a new
`NativeProcessProtocol::NewProcessOutput` delegate hook.
- `GDBRemoteCommunicationServerLLGS::NewProcessOutput` copies the data
and posts `SendONotification` to the main loop.
- The ConPTY is closed in `OnExitProcess`.
This patch uses a default terminal size to create the ConPTY, which
causes issues. This will be fixed in
https://github.com/llvm/llvm-project/pull/201141.
The STDIN path will be done in a follow up PR.
rdar://178725650
Commit: 9fb174c2955ae7e0d3e1b73e2fc9d4b39105f1e8
https://github.com/llvm/llvm-project/commit/9fb174c2955ae7e0d3e1b73e2fc9d4b39105f1e8
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/ctls.ll
Log Message:
-----------
[AMDGPU] Fix umin(sffbh(x), bitwidth) fold when x may be all-ones (#201795)
We can drop the umin clamp only if x is neither 0 nor -1. There is a
problem with -1 check:
- old: The old guard `!isAllOnes()` is too weak because if the bit is
not definitely unknown (could be either 0 or 1) this check will not work
properly
- new: `Known.Zero.getBoolValue()` guarantees that there is at least one
`0` bit which means that the value is definitely not -1 which is needed
for this specific case
Commit: acbd01a55d0ff71ec37654878a94111624c298dc
https://github.com/llvm/llvm-project/commit/acbd01a55d0ff71ec37654878a94111624c298dc
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
Log Message:
-----------
[lldb][Windows] Clear stale thread stop info on resume (#201595)
Commit: 36ba42d09737872243f1968067fa835fbaecbe73
https://github.com/llvm/llvm-project/commit/36ba42d09737872243f1968067fa835fbaecbe73
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vbmi2-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlvbmi2-builtins.c
A clang/test/CodeGen/builtin-masked-addrspace.c
M clang/test/CodeGen/builtin-masked.c
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/test/Analysis/CostModel/AArch64/masked_expand_load.ll
M llvm/test/Analysis/CostModel/PowerPC/ld-st-with-length.ll
M llvm/test/Analysis/CostModel/RISCV/gep.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-expandload-compressstore.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Assembler/masked-load-store-intrinsics-attributes.ll
M llvm/test/Bitcode/upgrade-masked-keep-metadata.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-masked-load-store.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/masked-store-load.ll
M llvm/test/Other/force-opaque-ptrs.ll
M llvm/test/Transforms/InstCombine/load-store-masked-constant-array.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/SPIRV/expand-masked-compressstore.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/SPIRV/expand-masked-expandload.ll
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[IR][CodeGen][mlir] Overload pointer argument for compressstore/expandload intrinsics (#200492)
Update the `llvm.masked.expandload` and `llvm.masked.compressstore`
intrinsics to have overloaded pointer arguments so other address spaces
can be used. This puts these intrinsics in line with other similar
intrinsics, which already have overloaded pointer arguments.
The change may look large, but almost all of the changes are adding
`.p0` to tests.
This is needed for targets that have non-zero default address space, the
problem was found when trying to compile the libc LIT tests for SPIRV,
specifically
[this](https://github.com/llvm/llvm-project/blob/4ac26f45fa8f5c58a90effb903808cb0e908cf1c/libc/test/src/__support/CPP/simd_test.cpp)
one.
Co-Authored-By: Claude Sonnet 4.5 <noreply at anthropic.com>
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 3dad31f753a9950ac1841dea1a9b03f32e8b6997
https://github.com/llvm/llvm-project/commit/3dad31f753a9950ac1841dea1a9b03f32e8b6997
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
Log Message:
-----------
[clang] Fix VFS creation crash with missing `DiagnosticConsumer` (#201397)
For convenience, the `CompilerInstance::createVirtualFileSystem()` API
allows omitting the diagnostic consumer for clients that don't care
about missing overlay files and other VFS creation errors. However, even
in that case, the temporary `DiagnosticsEngine` created internally
within the function does need a consumer. This PR sets it up.
rdar://176754115
Commit: 383e5d2a6907410dc3486604bdaae0c18cbf111c
https://github.com/llvm/llvm-project/commit/383e5d2a6907410dc3486604bdaae0c18cbf111c
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/test/Driver/objc-constant-literals.m
Log Message:
-----------
[Driver] Don't warn on ObjC constant-literal flags for non-ObjC inputs (#200303)
-fobjc-constant-literals and the per-kind
-f[no-]constant-ns{number,array, dictionary}-literals flags are only
acted on for Objective-C inputs. When a build system passes them
uniformly to every source via a shared response file, they go unclaimed
on assembly and C/C++ inputs and trigger:
error: argument unused during compilation: '-fobjc-constant-literals'
[-Werror,-Wunused-command-line-argument]
Mark the options NoArgumentUnused so the unused argument is ignored
regardless of input type or whether the cc1 or cc1as path runs. The
behavior of the flags is unchanged: only the positive forms are
forwarded to cc1, and only for ObjC inputs.
rdar://175647747
Commit: de1ff3e2db8a207f366f33b8918079a5ed273d77
https://github.com/llvm/llvm-project/commit/de1ff3e2db8a207f366f33b8918079a5ed273d77
Author: Ryan Mitchell <Ryan.Mitchell at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vimage_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vimage.txt
Log Message:
-----------
[AMDGPU] Allow null operands in VImage tensor instructions (#200911)
NULL is equivalent to passing a block of SGPRs that are set to zero, and
is allowed for 3+ opnds.
Commit: c8faaf9a9ef24873fe97d46554ad5fb909d0fd5d
https://github.com/llvm/llvm-project/commit/c8faaf9a9ef24873fe97d46554ad5fb909d0fd5d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
A llvm/test/tools/llubi/call_unknown.ll
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[llubi] Don't check type after the program exited (#201862)
Closes https://github.com/llvm/llvm-project/issues/201791.
Commit: 86d0c2b10427110892de794f73c0b0db476a9211
https://github.com/llvm/llvm-project/commit/86d0c2b10427110892de794f73c0b0db476a9211
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
Log Message:
-----------
[lldb][Windows] enable TestGdbRemote_qThreadStopInfo (#201868)
Commit: fdd3e7cae11fff30a33af79a8814db9c72d5179b
https://github.com/llvm/llvm-project/commit/fdd3e7cae11fff30a33af79a8814db9c72d5179b
Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[llvm][cmake] Pass /Brepro to linker (#201708)
* The /Brepro flag should also be passed to the linker. The `BUILD.gn`
correctly does
[this](https://github.com/llvm/llvm-project/blob/70f7167ce2622a610a6d6dca4d5934ea8a07a056/llvm/utils/gn/build/BUILD.gn#L332).
* The /Brepro flag in `clang-cl` omits the timestamp for .obj files
while the linker flag omits the timestamp for .exe and .dll files.
Commit: ae3ef5367dd37e7b6b80339fcaa267dead9ad223
https://github.com/llvm/llvm-project/commit/ae3ef5367dd37e7b6b80339fcaa267dead9ad223
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
Log Message:
-----------
[AArch64][GlobalISel] Add patterns for signed scalar extend intrinsics (#201617)
Follow on from https://github.com/llvm/llvm-project/pull/201546
Add patterns for signed versions of scalar extend intrinsics as well.
Commit: c941964c58cf8ba2b65c1358f42576ab1eff67b0
https://github.com/llvm/llvm-project/commit/c941964c58cf8ba2b65c1358f42576ab1eff67b0
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 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-function-int-string-dedup.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-multi-scalar-params.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-omit.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-pointer-debug-none-base.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-pointer-param.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-scalar-returns.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-subroutine-type-flags.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-void-prototypes.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer-composite-pointee.ll
Log Message:
-----------
[SPIRV] Extend NSDI debug handling for DebugTypeFunction. (#197003)
Extend NSDI handling for
[DebugTypeFunction](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugTypeFunction).
Changes:
- Collect required types with DebugInfoFinder instead of walking
DbgVariableRecords only. This allows processing types that might not be
available in these records, and avoids code duplication for the
traversals.
- Emit DebugTypeFunction for DISubroutineType when every signature slot
maps to an emitted debug type.
- Reset per-module state in beginModule().
- Replace parallel FileStringRegs/BasicTypeNameRegs with a StringMap
OpString cache, deduplicating identical strings.
- Add LLVM DINode flag lowering for NSDI.
- Cache DebugInfoNone, OpTypeVoid and OpTypeInt32 registers to avoid
duplicate instructions.
Commit: c4f2f2535438cbdf23d9f84689ea0f518ffa4a95
https://github.com/llvm/llvm-project/commit/c4f2f2535438cbdf23d9f84689ea0f518ffa4a95
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
A lldb/source/Plugins/Process/Windows/Common/IOHandlerProcessSTDIOWindows.cpp
A lldb/source/Plugins/Process/Windows/Common/IOHandlerProcessSTDIOWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
Log Message:
-----------
[NFC][lldb][Windows] extract IOHandlerProcessSTDIOWindows (#201651)
Co-authored-by: Nerixyz <nero.9 at hotmail.de>
Commit: 89f4b84d8b2cd0a5c54dc9a819090f131bf87d0d
https://github.com/llvm/llvm-project/commit/89f4b84d8b2cd0a5c54dc9a819090f131bf87d0d
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
Log Message:
-----------
[InstCombine] Use copyMetadata in PointerReplacer::replace (#201827)
PointerReplacer::replace creates a new load that differs from the
original only in its pointer operand; the loaded type is unchanged. It
was using copyMetadataForLoad(), which is meant for the case where the
load's *type* changes. Since the type is the same here, plain
copyMetadata() is correct and preserves all metadata directly.
Commit: 3691cf9d025a1d37f69da8abf8577926e8fe9b84
https://github.com/llvm/llvm-project/commit/3691cf9d025a1d37f69da8abf8577926e8fe9b84
Author: Timur Golubovich <timur.golubovich at intel.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
M llvm/test/CodeGen/AArch64/pr164181.ll
M llvm/test/CodeGen/AArch64/sitofp-to-tbl.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
M llvm/test/CodeGen/X86/mbp-false-cfg-break.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr62660-normalization-failure.ll
Log Message:
-----------
[Test] Fix loop exit conditions to prevent trivial optimizations (#201867)
Several tests had 'br i1 %ec, label %loop, label %exit' which exits on
the first iteration instead of looping so I swapped them. Also changed
predicates to keep the loops, otherwise they are going to be eliminated
by https://github.com/llvm/llvm-project/pull/201839.
Commit: b16873b218bd3f387adb33d796e0775a57a2490e
https://github.com/llvm/llvm-project/commit/b16873b218bd3f387adb33d796e0775a57a2490e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/Headers/__clang_hip_libdevice_declares.h
M clang/test/Headers/__clang_hip_libdevice_declares.cpp
M clang/test/Headers/openmp-device-functions-bool.c
Log Message:
-----------
clang/HIP: Remove __ockl_fdot2 declaration (#201878)
The builtin headers should not be in the business of exporting
ockl functions, and only declaring the minimum which are actively
used by the builtin headers.
Commit: 581ee88f638e53b91245e0b8f938263cf974a938
https://github.com/llvm/llvm-project/commit/581ee88f638e53b91245e0b8f938263cf974a938
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/IR/Intrinsics.cpp
M llvm/test/Assembler/invalid-interleave.ll
M llvm/test/Assembler/invalid-vecreduce.ll
M llvm/test/Verifier/intrinsic-bad-arg-type.ll
M llvm/test/Verifier/intrinsic-bad-arg-type1.ll
M llvm/test/Verifier/reduction-intrinsics.ll
M llvm/test/Verifier/scatter_gather.ll
Log Message:
-----------
[LLVM] Precise error message for intrinsic signature verification (3/n) (#200493)
Print precise error message for dependent types when an intrinsic's type
signature verification fails.
Commit: 92a57848c2ac96021bc8abc1d422c60fe7a01565
https://github.com/llvm/llvm-project/commit/92a57848c2ac96021bc8abc1d422c60fe7a01565
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[flang][OpenMP] Adding support for weak extended-atomic clause (#201823)
Adding support for "!$omp atomic compare weak".
!$omp atomic compare weak
if (var1 == num1) var1 = num2
!$omp end atomic
This also Fixes
[#201812](https://github.com/llvm/llvm-project/issues/201812)
---------
Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>
Commit: 559ea918dfe81b1bbe222af15a0085eb73a7c3d1
https://github.com/llvm/llvm-project/commit/559ea918dfe81b1bbe222af15a0085eb73a7c3d1
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/test/Driver/objc-constant-literals.m
Log Message:
-----------
[Driver][test] Use -### for non-ObjC constant-literal RUN lines (#201877)
The RUN lines added in 3b100666a70f did a real compile for
arm64-apple-macosx11, which fails on builders that don't register the
AArch64 backend (e.g. llvm-clang-x86_64-sie-ubuntu-fast). The
NoArgumentUnused behavior under test is driver-side, so switch to -###
and avoid the backend dependency.
Commit: 96f3f0a7f7ebbc3e6078fe3d691822c6d9e7df0a
https://github.com/llvm/llvm-project/commit/96f3f0a7f7ebbc3e6078fe3d691822c6d9e7df0a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
clang: Remove use of auto which may have been a triple copy (#201880)
Commit: 7839f1fad5402dcf081432c2cd4c2b19ee987f62
https://github.com/llvm/llvm-project/commit/7839f1fad5402dcf081432c2cd4c2b19ee987f62
Author: Hex Wu <hex4 at foxmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lld/wasm/InputFiles.cpp
Log Message:
-----------
[lld][WebAssembly] Add missing space in unmodeled diagnostic (#201764)
This is just a nit change, I hit this fatal while trying to use a GC
object, and noticed that the diagnostic showed `foo.ofile has unmodeled
reference or GC types`
Commit: e668f641467892c75ea724ec21c30439a463a772
https://github.com/llvm/llvm-project/commit/e668f641467892c75ea724ec21c30439a463a772
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-templates-pattern.cpp
M clang/test/CXX/basic/basic.link/p11.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/CodeGenCXX/default-arguments.cpp
M clang/test/CodeGenCXX/explicit-instantiation.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/instantiate-scope.cpp
M clang/test/Templight/templight-default-func-arg.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Revert "[clang] Reland: fix getTemplateInstantiationArgs" (#201864)
Reverts llvm/llvm-project#201373
This caused compilation errors. See comment on the original PR.
Commit: 681fc74ac47eaa597d22506231a347748dda635b
https://github.com/llvm/llvm-project/commit/681fc74ac47eaa597d22506231a347748dda635b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUAttrs.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUBase.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
A mlir/include/mlir/Dialect/LLVMIR/ROCDLAttrs.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
A mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
A mlir/include/mlir/Dialect/LLVMIR/ROCDLEnums.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Conversion/AMDGPUToROCDL/global-prefetch.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma.mlir
M mlir/test/Conversion/AMDGPUToROCDL/wmma-gfx1250.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
A mlir/test/Dialect/LLVMIR/rocdl-cache-policy-invalid.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Integration/GPU/ROCM/gpu-lower-to-rocdl-pipeline.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][ROCDL] Move ROCDL intrinsic enum immargs to enums (#198875)
In many cases, a "i32" `immarg` arguhment to an intrinsic in the AMDGPU
backend actually corresponds directly to some enumerated set of values
in the backend, which we have to smuggle through an I32. This makes the
MLIR forms of intrinsics less readable and means that people either have
to use the `amdgpu` dialect to get these enums or have to roll their own
enums if they want to know what's going on.
This PR rips the band-aid off and breaks the world by swapping out those
integer attributes for enum attributes.
Of special note is the handling of the aux/cachepolicy field on various
intrinsics; in the backend, all the architectures share an enum and
you've just got to use the right names in the right spots. Here, we've
separated out the cases for pre-gfx942, gfx942+, and gfx12 enums as
separate attributes (including separate casing for gfx12 atomics) and
allowed any of them to be used. We also allow an I32Attr in those
arguments for easy importing and to make the common case of "0" portably
printable.
In all other cases, we've just moved to the new enums.
The WMMA ops, which have multiple immadiate arguments that could be
confusing, have been given assembly formats than name the filed names.
This commit also moves the AMDGPU dialct to use the new enums.
In order to be able to use the current `EnumAttr` system, a method has
been added to LLVM translation to allow such enum attributes to be
converted to their underlying integer constants.
AI usage: this is a quasi-mechanical refactor that was pretty much
farmed out to Codex
---------
Co-authored-by: OpenAI Codex <codex at openai.com>
Commit: b764858749de56611794a7e92b32ee3008936337
https://github.com/llvm/llvm-project/commit/b764858749de56611794a7e92b32ee3008936337
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Lower/Support/Utils.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/Utils.cpp
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-parallel-do-simd-private-adjustable-array.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-private-adjustable-array.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-nested-distribute-private-adjustable-array.f90
Log Message:
-----------
[Flang][OpenMP] Heap-allocate GPU dynamic private arrays in distribute parallel do (#200841)
Fixes GPU offload crashes for Fortran automatic arrays privatised in
target teams distribute parallel do.
For delayed privatisation on GPU, dynamically sized boxed array privates
are now routed through the existing heap-allocation path, with matching
cleanup emitted in the privatiser dealloc region. This avoids lowering
such arrays to runtime-sized scratch allocas whose descriptors can be
captured across the distribute callback boundary.
Fixes [#2419](https://github.com/ROCm/llvm-project/issues/2419).
Co-authored-by: Codex <codex at openai.com>
Commit: 44ef831f9da0283e16c11c903d81d4186ed8ea6d
https://github.com/llvm/llvm-project/commit/44ef831f9da0283e16c11c903d81d4186ed8ea6d
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/Type.cpp
A clang/test/AST/attributed-type-dedup-address-space.c
A clang/test/AST/attributed-type-dedup-annotate-type-args.c
A clang/test/AST/attributed-type-dedup-annotate-type.m
A clang/test/AST/attributed-type-dedup-nullability.m
A clang/test/AST/attributed-type-dedup-objc-ownership.m
A clang/test/AST/attributed-type-dedup-pcs.c
A clang/test/AST/attributed-type-dedup-swift-attr.m
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang][AST] Hash `AttributedType`'s `Attr` by Arguments (#200961)
https://github.com/llvm/llvm-project/pull/108631 added
`ID.AddPointer(attr)` to `AttributedType::Profile`, which turned the
`ID` into a pointer-identity key. This inhibits deduplication of
attributed types (such as types with `_Nonnull/_Nullable` attributes).
Such duplications can lead to significant increases in pcm/pch sizes.
This PR adds the arguments of the attributes to the folding set ID, so
that the content of the argument is taken into account when computing
the ID in addition to the existing inputs. The implementation teaches
tablegen to generate the `profile` method for each attribute, similar to
how we generate methods to check equivalence. This way, the argument
contents are handled automatically. Additionally, an attribute can have
an escape hatch to add its own customized profile method, through the
`profileFn` tablegen field, in case something special is needed.
Assisted-by: claude-opus-4.7
Fixes rdar://170586474.
Commit: 05d4fd021e9e5b8d2815163a8e4463bcf1f515e6
https://github.com/llvm/llvm-project/commit/05d4fd021e9e5b8d2815163a8e4463bcf1f515e6
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
Log Message:
-----------
[NFC][Doc] Fix non-existing reference in BuiltinsAMDGPUDocs.td (#201889)
Commit: d4ec02e1afa71847a72ced8929448ea1e7b84018
https://github.com/llvm/llvm-project/commit/d4ec02e1afa71847a72ced8929448ea1e7b84018
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support v4i16/v2i32->v4i8/v2i16 truncate. (#201757)
Commit: 2433b06e6dbe3ef015a226620d207a45f7b98c7c
https://github.com/llvm/llvm-project/commit/2433b06e6dbe3ef015a226620d207a45f7b98c7c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][TargetLowering][P-ext] Support sext_inreg or v2i32/v4i16 vectors on RV32. (#201752)
Update sext_vector_inreg expansion to use sext_inreg. Previously it
emitted 2 shifts that wouldn't be combined.
Commit: a4e48b5d1a5dc7af00c4adb4076145afd9846739
https://github.com/llvm/llvm-project/commit/a4e48b5d1a5dc7af00c4adb4076145afd9846739
Author: Ehsan Amiri <ehsan.amiri at huawei.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/test/Transforms/LoopFusion/cannot_fuse.ll
Log Message:
-----------
[LoopFusion] Simplify the logic of checking trip count equality (NFCI). (#201446)
Currently `haveIdenticalTripCounts` has a clunky return value, which
makes it very easy to make a mistake. The returned pair doesn't provide
much value and can be replaced with an optional integer. Also the
function `haveIdenticalTripCounts` does more than what its name
suggests. It checks whether peeling is supported for the pair of loops
or not. Interestingly this is not the only place where we check whether
peeling for this pair is supported!
This patch changes the function and renames it to
`calculateTripCountDiff`. It does exactly what the names says. It tries
to calculate the difference of the trip counts of the two loops and if
it fails it returns an empty optional. It is up to the caller to decide
whether it wants to do fusion/peeling based on this result. The patch
changes some debug output but no functional change is intended.
Datatypes has been modified with explicit specification of size and
signedness to avoid any bug due to overflow in subtraction or comparison
of different integer types.
Commit: 427d632c4c307dfac7f21a3f0cd3f82b5e11dea4
https://github.com/llvm/llvm-project/commit/427d632c4c307dfac7f21a3f0cd3f82b5e11dea4
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 681fc74 (#201894)
This fixes 681fc74ac47eaa597d22506231a347748dda635b.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: f04b27125ad150f3ca7488272cddc3a6341cbf15
https://github.com/llvm/llvm-project/commit/f04b27125ad150f3ca7488272cddc3a6341cbf15
Author: Kazu Hirata <kazu at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
Log Message:
-----------
[SampleProfile] Switch getNameTable() to return iterator_range (NFC) (#200995)
This patch teaches SampleProfileReader::getNameTable() to return an
iterator_range instead of a pointer to std::vector<FunctionId>.
This patch is meant to be a preparation patch for the following
speed-up opportunity. I'm planning to lazy-load SecNameTable in a
subsequent patch for performance reasons. We have SecNameTable that
takes up about 90MB on disk. We eager-load this section into
std::vector<FunctionId> on the heap. This ends up taking about 180MB
on the heap because the element type of the section is 8-byte MD5 hash
value while FunctionId takes up 16 bytes. This eager loading shows up
on the execution profile -- about 1%. Since we do have a few places
where we scan the entire NameTable, we should accommodate those places
with iterators that lazy-load SecNameTable.
See the RFC at:
https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957
Commit: c19fa5be5f47d8747f523509382b12997f2bd25f
https://github.com/llvm/llvm-project/commit/c19fa5be5f47d8747f523509382b12997f2bd25f
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
M llvm/test/CodeGen/WebAssembly/saturating-truncation.ll
Log Message:
-----------
[WebAssembly] narrow instructions use signed saturation (#201798)
Fixes https://github.com/llvm/llvm-project/issues/201780
Per
https://www.w3.org/TR/wasm-core-2/#-hrefop-narrowmathrmnarrowmathsfu_m-n-i
the saturation is signed, the truncation is unsigned.
Commit: a9f6afded01c7a8a9f949937e89d0d961f7a8423
https://github.com/llvm/llvm-project/commit/a9f6afded01c7a8a9f949937e89d0d961f7a8423
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/test/Driver/function-sections.f90
Log Message:
-----------
[flang] Update a test case for AIX (NFC) (#201865)
-fdata-sections is specified by default on AIX. This patch is to adjust
the testing for the case that the option is off and on by default.
Commit: 3b983204e4c2cc3c383dba022fe85463e520b3b5
https://github.com/llvm/llvm-project/commit/3b983204e4c2cc3c383dba022fe85463e520b3b5
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
R lld/test/wasm/Inputs/custom.ll
A lld/test/wasm/Inputs/custom.s
R lld/test/wasm/Inputs/explicit-section.ll
A lld/test/wasm/Inputs/explicit-section.s
R lld/test/wasm/Inputs/locals-duplicate1.ll
A lld/test/wasm/Inputs/locals-duplicate1.s
R lld/test/wasm/Inputs/locals-duplicate2.ll
A lld/test/wasm/Inputs/locals-duplicate2.s
R lld/test/wasm/Inputs/many-funcs.ll
A lld/test/wasm/Inputs/many-funcs.s
R lld/test/wasm/Inputs/tag-section1.ll
A lld/test/wasm/Inputs/tag-section1.s
R lld/test/wasm/Inputs/tag-section2.ll
A lld/test/wasm/Inputs/tag-section2.s
R lld/test/wasm/custom-section-name.ll
A lld/test/wasm/custom-section-name.s
R lld/test/wasm/custom-sections.ll
A lld/test/wasm/custom-sections.s
R lld/test/wasm/function-imports-first.ll
A lld/test/wasm/function-imports-first.s
R lld/test/wasm/gc-sections.ll
A lld/test/wasm/gc-sections.s
R lld/test/wasm/init-fini-no-gc.ll
A lld/test/wasm/init-fini-no-gc.s
R lld/test/wasm/local-symbols.ll
A lld/test/wasm/local-symbols.s
M lld/test/wasm/locals-duplicate.test
R lld/test/wasm/many-functions.ll
A lld/test/wasm/many-functions.s
M lld/test/wasm/section-symbol-relocs.yaml
R lld/test/wasm/signature-mismatch-export.ll
A lld/test/wasm/signature-mismatch-export.s
R lld/test/wasm/signature-mismatch-unknown.ll
A lld/test/wasm/signature-mismatch-unknown.s
R lld/test/wasm/signature-mismatch-weak.ll
A lld/test/wasm/signature-mismatch-weak.s
R lld/test/wasm/startstop.ll
A lld/test/wasm/startstop.s
R lld/test/wasm/tag-section.ll
A lld/test/wasm/tag-section.s
R lld/test/wasm/undefined.ll
A lld/test/wasm/undefined.s
R lld/test/wasm/visibility-hidden.ll
A lld/test/wasm/visibility-hidden.s
Log Message:
-----------
[lld][WebAssembly] Convert more tests from .ll to .s (#201713)
This continues the work of converting Wasm tests to use assembly instead
of LLVM IR.
For this change I chose all of the `.ll` tests that could be converted
with minimal changed.
Some changes that were needed:
- data-segments.s: Updated segment order and offsets to match .tdata
behavior.
- visibility-hidden.s: Removed __stack_pointer export expectation as
it's no longer automatically exported in the assembly-based test.
- init-fini.s: Updated body encoding and InitFunctions indices to match
llvm-mc output.
- locals-duplicate.test: Added explicit alignment to inputs to match
original test expectations.
- function-imports-first.s, init-fini.s, signature-mismatch-export.s:
Removed __stack_pointer export expectation as it's no longer
automatically exported in assembly-based tests when unused.
- gc-sections.s: Updated expectations to reflect that __stack_pointer is
garbage collected when GC is enabled.
- tag-section.s: Added and exported an explicit global variable
(`my_global`) to ensure a GLOBAL section is created, preserving the test
for checking that the GLOBAL section comes after the TAG section.
To verify the expectation changes, you can use the following command to
diff the .ll (pre-image) and .s (post-image) expectations ignoring
comment character differences:
```shell
git diff --name-status HEAD~1 HEAD | grep '^D' | grep '\.ll$' | while read -r _ ll; do \
s="${ll%.ll}.s"; \
if [ -f "$s" ]; then \
echo "=== Diff for $s ==="; \
diff -u \
<(git show HEAD~1:"$ll" | grep -E 'CHECK|RUN' | sed -E 's/^;[[:space:]]*//') \
<(cat "$s" | grep -E 'CHECK|RUN' | sed -E 's/^#[[:space:]]*//'); \
fi; \
done
```
Commit: 9bcd58f811dd2760fa721affd605abc2a4ddbb6e
https://github.com/llvm/llvm-project/commit/9bcd58f811dd2760fa721affd605abc2a4ddbb6e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
Log Message:
-----------
[CIR] Fix compressstore builtin tests (#201902)
The llvm.masked.compressstore intrinsic was update to allow overloaded
pointer arguments for address space support. This led to failures in the
CIR tests that check for this intrinsic being called. This change
updates the checks.
Commit: de727e5f511816d74178c8bde35d56cc61ebab6a
https://github.com/llvm/llvm-project/commit/de727e5f511816d74178c8bde35d56cc61ebab6a
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-vector.ll
Log Message:
-----------
[DAG] isGuaranteedNotToBeUndefOrPoison - add ISD::CONCAT_VECTORS handling (#200932)
Teach isGuaranteedNotToBeUndefOrPoison to distribute fixed-length
demanded element masks across CONCAT_VECTORS operands. This is part of
the series of fixes needed to resolve a SelectionDAG hang by making it
possible to prove certain values don't need to be frozen.
AI note: an LLM generated the code and the test, I've read them
---------
Co-authored-by: OpenAI Codex <codex at openai.com>
Commit: aa1c599c7ef96169514b481afaf4275791c4e955
https://github.com/llvm/llvm-project/commit/aa1c599c7ef96169514b481afaf4275791c4e955
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-vector.ll
Log Message:
-----------
[SelectionDAG] isGuaranteedNotToBeUndefOrPoison - add ISD::SELECT handling (#200934)
Propagate demanded elements through to the two arms of a select, which might be vectors.
AI note: an LLM generated the code and the test, I've read them
---------
Co-authored-by: OpenAI Codex <codex at openai.com>
Commit: a79272b56bcbeda369ec29a6f013a4d5ecedf8a4
https://github.com/llvm/llvm-project/commit/a79272b56bcbeda369ec29a6f013a4d5ecedf8a4
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Restrict addOperand to sub-classes that need it (NFC). (#200692)
Make addOperand protected and add dedicated helpers in sub-classes that
verify the type of the added operand if possible.
Most recipes already add all their operands on construction. This patch
makes sure that addOperand cannot be used to add operands with invalid
types.
PR: https://github.com/llvm/llvm-project/pull/200692
Commit: 0dedc9511bca8038ef0386225b97c867037f45bb
https://github.com/llvm/llvm-project/commit/0dedc9511bca8038ef0386225b97c867037f45bb
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Support/Unix/Signals.inc
M llvm/unittests/Support/SignalsTest.cpp
Log Message:
-----------
[Support] Fix symbolizer markup backtrace; reenable test (#181035)
The symbolizer markup backtrace test depended on the binary having a
build ID; this isn't a given. Instead, we check to see if the binary
name is anywhere in the output string; if not, we skip the test. This
isn't perfect of course, but determining whether the binary under test
overlaps contains a build ID overlaps too much with the implementation
of the feature; this at least keeps the tests independent.
The above fix uncovered an issue: the build ID of another DSO would be
misattributed to the main DSO if the main DSO had no build ID. This
issue has been corrected also.
Fixes #168891
Commit: 8dd73767aa9081cf67cd6aaa1358970034a7d697
https://github.com/llvm/llvm-project/commit/8dd73767aa9081cf67cd6aaa1358970034a7d697
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support 4i16/v8i8 MULHS/MULHU/MULHSU for division by constant (#201747)
Update the mulhs+add->mulhsu combine to create a split mulhsu for 64-bit
types. LegalizeVectorOps will ignore target specific opcodes so we can't
custom lower it later.
Commit: 97b7e451423b8e971d6feb3369d67f659037ce83
https://github.com/llvm/llvm-project/commit/97b7e451423b8e971d6feb3369d67f659037ce83
Author: Petr Hosek <phosek at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Debugging/CMakeLists.txt
Log Message:
-----------
[ORC] Add missing dependency on intrinsics_gen to Debugging library (#201908)
The Debugging library includes llvm/IR/Attributes.inc so it needs to
depend on intrinsics_gen to make sure the file is generated before it's
used.
Commit: 237644975a5d2df88f624b5e797522cc81b65aac
https://github.com/llvm/llvm-project/commit/237644975a5d2df88f624b5e797522cc81b65aac
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libc/src/__support/CPP/tuple.h
Log Message:
-----------
[libc] Fix putting tuple_size into libc++ namespace. (#201905)
633539bfa1516e616b798b2eae98bea689b3c410 added special-case for putting
`tuple_size` into correct namespace when building with libc++. It uses
`_LIBCPP_BEGIN_NAMESPACE_STD` macro, which recently started to contain
more logic, including the Clang pragmas to ensure correct visibility. It
also may also introduce warnings for `-Wpragma-clang-attribute` which
need to be suppressed. After fad51d3f41482e148683e12741ac9abfbe49742d,
this suppression only works for libc++ headers themselves (which define
`#pragma GCC system_header`), but not for the user code.
This change bypasses explicit ABI annotation macros in libc++ by
switching to using `_LIBCPP_ABI_NAMESPACE` (that libc++ uses under the
hood) if it's available.
Commit: ae48a36859750575a9d9166b5ebd604656741ad1
https://github.com/llvm/llvm-project/commit/ae48a36859750575a9d9166b5ebd604656741ad1
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/lib/orc/record_section_tracker.h
Log Message:
-----------
[orc] Add missing <iterator> include (#201916)
Fixes build after libc++ PR #195509 which drops transitive includes.
Commit: 4bf77a4abbeec52d2b229d36f9ae01d09d2794b8
https://github.com/llvm/llvm-project/commit/4bf77a4abbeec52d2b229d36f9ae01d09d2794b8
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/bindings/python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
Log Message:
-----------
[lldb][windows] Fix Python library link for LLDB_ENABLE_PYTHON_LIMITED_API (#201407)
When `LLDB_ENABLE_PYTHON_LIMITED_API` is `ON`, `liblldb` should link
against `python3.dll` (stable ABI) rather than the `python310.dll`.
Previously, two issues prevented this on Windows:
1. The `ScriptInterpreter` plugin explicitly linked
`${Python3_LIBRARIES}` regardless of whether the limited API was
enabled.
2. Python's `pyconfig.h` emits a `#pragma` to select the import library
at link time, choosing `python3.lib` or `python310.lib` depending on
whether `Py_LIMITED_API` is defined. However,
`LLDB_ENABLE_PYTHON_LIMITED_API` was only surfaced through Config.h,
which is not included early enough in the compilation chain to affect
pyconfig.h in all translation units.
This patch fixes both issues.
This is needed for https://github.com/llvm/llvm-project/pull/200533.
Commit: ff65d814129d3220845ff64cbec90c1b83cf79e7
https://github.com/llvm/llvm-project/commit/ff65d814129d3220845ff64cbec90c1b83cf79e7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
R lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.h
M lldb/source/Host/CMakeLists.txt
R lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
R lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
Log Message:
-----------
[lldb] Drop client-side Python pre-load and remove PythonPathSetup (#200533)
PythonPathSetup was a Windows-only helper that pre-mapped python3xx.dll
into lldb.exe / lldb-dap.exe so liblldb.dll's direct imports from
python3xx.dll would resolve when the delay-load thunk for liblldb fired
on the first SB call. ScriptInterpreterRuntimeLoader's Windows backend
has subsumed that responsibility, so this commit deletes the helper and
rewrites the two clients on the new API.
The Windows pre-load itself stays in the clients: the central load in
SystemInitializerFull::Initialize() lives behind the liblldb.dll thunk
that the import binding fires against, so the loader still has to run
from the binary that statically links lldbHost (lldb.exe / lldb-dap.exe)
before the first SB call lands.
Commit: e3fee08c14eab9ee30c7d6d19c66cbd6bf1ff704
https://github.com/llvm/llvm-project/commit/e3fee08c14eab9ee30c7d6d19c66cbd6bf1ff704
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
Log Message:
-----------
[VPlan] Remove special cost logic for stores predicated by header mask. (#196632)
Update the predicated memop costs with uniform operands to
match the code we generate.
Depends on https://github.com/llvm/llvm-project/pull/196630
PR: https://github.com/llvm/llvm-project/pull/196632
Commit: 989ef9ccdf6eb327f7b358485509774f11eadbce
https://github.com/llvm/llvm-project/commit/989ef9ccdf6eb327f7b358485509774f11eadbce
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-vector.ll
Log Message:
-----------
[DAG] isGuaranteedNotToBeUndefOrPoison - add ISD::BITCAST demanded elements handling (#200933)
Bitcasts preserve undef/poison status, but vector bitcasts can change
which source lanes cover a demanded result lane. Map the demanded
element mask through fixed-length vector bitcasts before checking the
source where possible.
AI note: an LLM generated the code and the test, I've read them
Fixes #161512
Co-Authored-By: OpenAI Codex <codex at openai.com>
---------
Co-authored-by: OpenAI Codex <codex at openai.com>
Commit: 1118fa12a9db10712b38db126807df983f4dda9a
https://github.com/llvm/llvm-project/commit/1118fa12a9db10712b38db126807df983f4dda9a
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/test/Semantics/OpenMP/linear-clause01.f90
Log Message:
-----------
[flang][OpenMP] Fix failure in linear-clause01.f90 test (#201920)
Apparently the order of some OpenMP checks changed since the pre-commit
CI tested PR #189170.
Now the error `The list item 'i' must be a dummy argument` occurs
instead of
`'cc' is a common block name and must not appear in a LINEAR clause`.
Commit: ab9644ac1733b30e5947a65f0e11946bb9d56895
https://github.com/llvm/llvm-project/commit/ab9644ac1733b30e5947a65f0e11946bb9d56895
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/complex-builtins.cpp
M clang/test/CIR/CodeGen/complex-unary.cpp
M clang/test/CIR/CodeGen/long-double-inc-dec.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/IR/unary.cir
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CodeGen/AArch64/neon/fullfp16.c
Log Message:
-----------
[CIR] Update CIR unary operations (#201727)
This creates a floating-point-specific FNegOp and updates the type
constraints on the existing unary operations to match the types that are
actually produced by the Clang AST.
This change also moves complex types out of the unary operations. A
ComplexConjOp is added to handle what was previously being incorrectly
referred to as "not", while inc, dec, and minus are just expanded to
their component representation during codegen. We may want to consider
adding operations like cir.complex.add later, but for now I'm just
removing this type from the unary ops. I'm doing this for two reasons:
(1) the old use was inconsistent with how we handle other arithmetic
operations on complex types, and (2) I will soon need to attach
FP-specific attributes to add and subtract of complex types (and so also
inc and dec).
Assisted-by: Cursor / claude-opus-4.8
Commit: 6a8608e5a75f9c4b945c3ed210dee6b20705cefe
https://github.com/llvm/llvm-project/commit/6a8608e5a75f9c4b945c3ed210dee6b20705cefe
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/test/Driver/crash-diagnostics-tar.c
Log Message:
-----------
[clang] Disable crash-diagnostic-tar.c if backtraces are disabled (#201921)
PR #201643 adds a test that fails if backtraces are disabled, e.g. in
tests for a stripped build. This was failing the Fuchsia CI, so this
change disables this test in such cases. It is likely possible to make
this test finer-grained to allow it to succeed with backtraces disabled.
Commit: fa9e7b77b19a9d59b13a49116924b562b09a6599
https://github.com/llvm/llvm-project/commit/fa9e7b77b19a9d59b13a49116924b562b09a6599
Author: macurtis-amd <macurtis at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
A llvm/test/CodeGen/AMDGPU/debug-independence-exec-masking.mir
Log Message:
-----------
AMDGPU: fix assert when calling LiveRegUnits::stepBackward (#201887)
`stepBackward` assert added in
https://github.com/llvm/llvm-project/pull/193104.
Found while building `aqlprofile` as part of TheRock.
Commit: 1227b19800524b542df685282096a2fe07a0aa5d
https://github.com/llvm/llvm-project/commit/1227b19800524b542df685282096a2fe07a0aa5d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Fix -Wunused-variable (#201932)
NumDstElts is only used in assertions so mark it [[maybe_unused]] to
prevent any issues with non-asserts builds and -Wunused-variable.
Commit: 6ffd9f8c5c574f20c930d1104ef7215ff20536d5
https://github.com/llvm/llvm-project/commit/6ffd9f8c5c574f20c930d1104ef7215ff20536d5
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
M mlir/test/Target/SPIRV/ocl-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Add OpenCL erfc op (#201906)
Commit: 0dcca55e4a9adb7909eacb59e56ddcb0167d0d36
https://github.com/llvm/llvm-project/commit/0dcca55e4a9adb7909eacb59e56ddcb0167d0d36
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/test/Dialect/SPIRV/IR/types.mlir
Log Message:
-----------
[mlir][SPIR-V] Validate float types in parseAndVerifyType (#201910)
Commit: 75db4ce2177b37a2ae94fdbb9cee076dde5080df
https://github.com/llvm/llvm-project/commit/75db4ce2177b37a2ae94fdbb9cee076dde5080df
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
M clang/test/Headers/hip-header.hip
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_vtable_codegen_explicit.cpp
Log Message:
-----------
Restore unnamed_addr on vtables in -fno-rtti builds (#201846)
This is a follow-up to #200108 which dropped unnamed_addr from vtables
since it can break dynamic_cast under some circumstances. However, that
caused significant binary size regressions due to preventing ICF of
vtables.
This patch restores unnamed_addr on vtables in -fno-rtti builds, since
those do not support dynamic_cast, recovering the binary size savings at
least for those using that configuration.
Commit: c3e9d05ce8044612ecae2eb27dd5ca52b612a8ac
https://github.com/llvm/llvm-project/commit/c3e9d05ce8044612ecae2eb27dd5ca52b612a8ac
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lld/MachO/LTO.cpp
M lld/test/MachO/icf-safe-thunks.ll
Log Message:
-----------
[lld-macho][LTO] Emit `__llvm_addrsig` for `--icf=safe_thunks` (#188486)
LTO was emitting `__llvm_addrsig` metadata when `--icf=safe` was
specified, but not for `--icf=safe_thunks`. After the recent PR
https://github.com/llvm/llvm-project/pull/188400 that makes safe ICF
conservative without `__llvm_addrsig` (marking all symbols as
address-significant when the section is absent), this omission caused
safe_thunks to silently degrade for all LTO-compiled objects: every
symbol became `keepUnique`, preventing body folding entirely.
Fix this by also enabling `EmitAddrsig` when `icfLevel` is
`safe_thunks`. This allows the LTO backend to emit precise
address-significance metadata, so that only truly address-significant
functions get thunk treatment while non-address-significant identical
functions can still be body-folded.
Add a regression test that verifies LTO + `--icf=safe_thunks` correctly
body-folds non-address-significant identical functions, which would fail
without this fix due to missing addrsig metadata.
Commit: 276cc2fac75a476824ea25b5349dfbac0d5b5545
https://github.com/llvm/llvm-project/commit/276cc2fac75a476824ea25b5349dfbac0d5b5545
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
A llvm/test/CodeGen/DirectX/DebugInfo/di-globalvariable.ll
A llvm/test/tools/dxil-dis/di-globalvariable.ll
Log Message:
-----------
[DirectX] Rewrite DIGlobalVariableExpression to DXDIGlobalVariable (#199791)
DIGlobalVariable used to have an `expr` operand. Starting from
bceaaa964360 `expr` is now an operand of DIGlobalVariableExpression,
which references both the variable and the expression.
Before:
!0 = !DIGlobalVariable(expr: !1)
!1 = !DIExpression(DW_OP_plus, 4)
Now:
!2 = !DIGlobalVariableExpression(var: !3, expr: !4)
!3 = distinct !DIGlobalVariable(name: "a", scope: null, isLocal: false,
isDefinition: true, type: !6)
!4 = !DIExpression(DW_OP_plus, 4)
DXIL does not support DIGlobalVariableExpression, so we have to fold
`expr` back to DIGlobalVariable.
---------
Co-authored-by: Andrew Savonichev <andrew.savonichev at gmail.com>
Commit: 35901313800ea6e6cbeb9226e51c7c4b29bfc40e
https://github.com/llvm/llvm-project/commit/35901313800ea6e6cbeb9226e51c7c4b29bfc40e
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
M mlir/test/Target/SPIRV/ocl-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Add OpenCL cbrt op (#201914)
Commit: de59f9ed12db9d47ad41ad44d54ec604ef8841cb
https://github.com/llvm/llvm-project/commit/de59f9ed12db9d47ad41ad44d54ec604ef8841cb
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/MC/DXContainerInfo.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart.yaml
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[DirectX][ObjectYAML] Add SRCI part support (#199446)
Add support for DXContainer SRCI in the ObjectYAML pipeline so it can be
represented in structured YAML and round-tripped through
yaml2obj/obj2yaml.
SRCI is emitted into shader PDB files. It stores shader source code that
is displayed in PIX, and shader compilation flags.
Commit: 3b89e77151214ec62546f7437b4d5e07b1c2ce1d
https://github.com/llvm/llvm-project/commit/3b89e77151214ec62546f7437b4d5e07b1c2ce1d
Author: Florian Mayer <fmayer at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cpp
Log Message:
-----------
[compiler-rt] [sanitizers] Add includes for symbolizer (#201929)
After ce5b2e876494cb95f02d9f915081e2b8781e74d1 this stopped building.
Commit: e9a4dd0b325c8d171e68662fbea554a86757a79f
https://github.com/llvm/llvm-project/commit/e9a4dd0b325c8d171e68662fbea554a86757a79f
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/test/fuzzer/OutOfProcessFuzzTarget.cpp
Log Message:
-----------
[compiler-rt] Add stdlib include to OutOfProcessFuzzTarget.cpp (#201944)
Fixes test after libc++ PR #195509 which drops transitive includes.
Commit: 80ad2966e2902ec378050228321080eff3f4702e
https://github.com/llvm/llvm-project/commit/80ad2966e2902ec378050228321080eff3f4702e
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll.bc
M llvm/test/Instrumentation/AddressSanitizer/musttail.ll
M llvm/test/Instrumentation/ThreadSanitizer/tsan_musttail.ll
M llvm/test/Transforms/CallSiteSplitting/musttail.ll
M llvm/test/Transforms/SafeStack/X86/musttail.ll
M llvm/test/Verifier/musttail-invalid.ll
Log Message:
-----------
Reland "Remove the optional bitcast between a musttail call and its ret" (#201280) (#201642)
This relands #201280, which was reverted in #201479 because it broke the
sanitizer buildbot
The revert was caused by a heap-use-after-free in
`BitcodeReader::materialize`
Fix: The CallBase branch could have erased I before we read it in the
new conditional
Commit: 4f73c8195b51042d349916c162663252c7f60eb7
https://github.com/llvm/llvm-project/commit/4f73c8195b51042d349916c162663252c7f60eb7
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTWriter.cpp
M llvm/include/llvm/ADT/MapVector.h
Log Message:
-----------
[clang][lex] Store `HeaderFileInfo` in a `MapVector` (#201936)
This is a re-commit of PR #200968 (f357a47) that was reverted by PR
#201702 (adaa9e0). One call-site of
`HeaderSearch::forEachExistingLocalFileInfo()` in `ASTWriter` relies on
stable order, which the `DenseMap` didn't provide. This PR switches to
`MapVector`, which has the same performance characteristics as the
original solution at the cost of a theoretical memory usage increase.
Original PR description:
Calling `FileManager::GetUniqueIDMapping()` during modular builds gets
very expensive if the `FileManager` has seen lots of files. This
function is used in two places in the `ASTWriter` to look up
`HeaderFileInfo` in `HeaderSearch`.
This PR changes the storage of `HeaderFileInfo` from
`FileEntry::getUID()`-indexed `std::vector<T>` to
`llvm::DenseMap<FileEntryRef, T>`, improving scanning performance by
~2.5%.
Commit: ba7b74ff70328b3dff4fd3a33ee513342c453ec5
https://github.com/llvm/llvm-project/commit/ba7b74ff70328b3dff4fd3a33ee513342c453ec5
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/test/CodeGen/X86/GlobalISel/legalize-undef-vec-scaling.mir
Log Message:
-----------
[X86][GlobalISel] Adding missing Query to G_BUILD_VECTOR legalization (#199435)
Once G_BUILD_VECTOR was fixed, legalize-undef-vec-scaling.mir falled
into endless legalization loop as incoming MIR doesn't match correct
lowering of the type.
Commit: 638f3ae61de291f85b711f6e3597fae6edd29986
https://github.com/llvm/llvm-project/commit/638f3ae61de291f85b711f6e3597fae6edd29986
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M compiler-rt/include/profile/InstrProfData.inc
A llvm/docs/AliasAnalysis.md
R llvm/docs/AliasAnalysis.rst
A llvm/docs/Atomics.md
R llvm/docs/Atomics.rst
A llvm/docs/BitCodeFormat.md
R llvm/docs/BitCodeFormat.rst
A llvm/docs/CommandLine.md
R llvm/docs/CommandLine.rst
A llvm/docs/CompilerWriterInfo.md
R llvm/docs/CompilerWriterInfo.rst
A llvm/docs/Coroutines.md
R llvm/docs/Coroutines.rst
A llvm/docs/CoverageMappingFormat.md
R llvm/docs/CoverageMappingFormat.rst
A llvm/docs/DebuggingLLVM.md
R llvm/docs/DebuggingLLVM.rst
A llvm/docs/ExceptionHandling.md
R llvm/docs/ExceptionHandling.rst
A llvm/docs/Extensions.md
R llvm/docs/Extensions.rst
A llvm/docs/FAQ.md
R llvm/docs/FAQ.rst
A llvm/docs/GarbageCollection.md
R llvm/docs/GarbageCollection.rst
A llvm/docs/GettingStartedVS.md
R llvm/docs/GettingStartedVS.rst
A llvm/docs/InstrProfileFormat.md
R llvm/docs/InstrProfileFormat.rst
A llvm/docs/Lexicon.md
R llvm/docs/Lexicon.rst
A llvm/docs/LibFuzzer.md
R llvm/docs/LibFuzzer.rst
A llvm/docs/LoopTerminology.md
R llvm/docs/LoopTerminology.rst
A llvm/docs/MIRLangRef.md
R llvm/docs/MIRLangRef.rst
A llvm/docs/MemorySSA.md
R llvm/docs/MemorySSA.rst
A llvm/docs/NewPassManager.md
R llvm/docs/NewPassManager.rst
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/Support/AtomicOrdering.h
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/test/Transforms/Coroutines/coro-retcon-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon.ll
M llvm/test/Transforms/Coroutines/ex0.ll
M llvm/test/Transforms/Coroutines/ex1.ll
M llvm/test/Transforms/Coroutines/ex2.ll
M llvm/test/Transforms/Coroutines/ex3.ll
M llvm/test/Transforms/Coroutines/ex4.ll
M llvm/test/Transforms/Coroutines/ex5.ll
Log Message:
-----------
[docs] Rename 20 key LLVM docs to Markdown (#201464)
This may break the docs build temporarily, but there will be a follow-up
PR that fixes it immediately after. The rename is being committed first
to aid review and source code archaelogy.
Tracking issue: #201242
Commit: cab8d8c9e268d1d94c56e3068377fd7c006cdd7d
https://github.com/llvm/llvm-project/commit/cab8d8c9e268d1d94c56e3068377fd7c006cdd7d
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/docs/AliasAnalysis.md
M llvm/docs/Atomics.md
M llvm/docs/BitCodeFormat.md
M llvm/docs/CommandLine.md
M llvm/docs/CompilerWriterInfo.md
M llvm/docs/Coroutines.md
M llvm/docs/CoverageMappingFormat.md
M llvm/docs/DebuggingLLVM.md
M llvm/docs/ExceptionHandling.md
M llvm/docs/Extensions.md
M llvm/docs/FAQ.md
M llvm/docs/GarbageCollection.md
M llvm/docs/GettingStartedVS.md
M llvm/docs/InstrProfileFormat.md
M llvm/docs/Lexicon.md
M llvm/docs/LibFuzzer.md
M llvm/docs/LoopTerminology.md
M llvm/docs/MIRLangRef.md
M llvm/docs/MemorySSA.md
M llvm/docs/NewPassManager.md
Log Message:
-----------
[docs] Migrate 20 LLVM docs to markdown (#201465)
An LLM assisted in the rewrite. I didn't use pandoc or any other tools,
and I think there are fewer artifacts. I validated these docs by opening
all 20 HTML files in my browser.
Files:
- DebuggingLLVM.md
- FAQ.md
- CompilerWriterInfo.md
- GettingStartedVS.md
- NewPassManager.md
- MemorySSA.md
- LoopTerminology.md
- Lexicon.md
- MIRLangRef.md
- CoverageMappingFormat.md
- InstrProfileFormat.md
- BitCodeFormat.md
- Atomics.md
- GarbageCollection.md
- AliasAnalysis.md
- LibFuzzer.md
- Extensions.md
- CommandLine.md
- ExceptionHandling.md
- Coroutines.md
Tracking issue: #201242
Commit: b9a00945b02a01ff0c9a485c441b4faddba19661
https://github.com/llvm/llvm-project/commit/b9a00945b02a01ff0c9a485c441b4faddba19661
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .git-blame-ignore-revs
M .github/workflows/release-binaries.yml
A bolt/docs/BOLTAArch64OptimizationStatus.rst
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/CMakeLists.txt
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/AArch64/compare-and-branch-inversion.S
M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
A bolt/test/X86/dwarf5-dwp-tsan-data-race.test
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M bolt/unittests/Profile/CMakeLists.txt
A bolt/unittests/Profile/PerfScripts.cpp
M bolt/unittests/Profile/PerfSpeEvents.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/InlayHints.cpp
A clang-tools-extra/clangd/test/modules_config_remove_flags.test
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/statically-constructed-objects.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/function-size-ignore-macros.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
A clang/cmake/caches/generic-allow-shared-imports.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-defaults-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib-dist.cmake
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang-c/BuildSystem.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Attr.h
A clang/include/clang/AST/MatrixUtils.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Serialization/ModuleCache.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Headers/__clang_hip_libdevice_declares.h
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/extern.cpp
M clang/test/AST/HLSL/matrix_layout_attr.hlsl
A clang/test/AST/attributed-type-dedup-address-space.c
A clang/test/AST/attributed-type-dedup-annotate-type-args.c
A clang/test/AST/attributed-type-dedup-annotate-type.m
A clang/test/AST/attributed-type-dedup-nullability.m
A clang/test/AST/attributed-type-dedup-objc-ownership.m
A clang/test/AST/attributed-type-dedup-pcs.c
A clang/test/AST/attributed-type-dedup-swift-attr.m
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
A clang/test/Analysis/Checkers/WebKit/nodelete-lazy-initialize.cpp
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/complex-atomic-cast.c
M clang/test/CIR/CodeGen/complex-builtins.cpp
M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
M clang/test/CIR/CodeGen/complex-mul-div.cpp
M clang/test/CIR/CodeGen/complex-unary.cpp
A clang/test/CIR/CodeGen/compound_literal.c
A clang/test/CIR/CodeGen/func-linkage-weak-import.c
A clang/test/CIR/CodeGen/global-temp-dtor.cpp
A clang/test/CIR/CodeGen/inline-forward-decl.c
M clang/test/CIR/CodeGen/long-double-inc-dec.cpp
M clang/test/CIR/CodeGen/self-ref-temporaries.cpp
A clang/test/CIR/CodeGen/switch-cleanup.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenCXX/global-refs.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/IR/unary.cir
M clang/test/CIR/Lowering/binop-fp.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-vector-to-complex.cir
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
M clang/test/CodeGen/AArch64/neon-2velem.c
R clang/test/CodeGen/AArch64/neon-across.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/fullfp16.c
M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
M clang/test/CodeGen/AArch64/neon/fused-multiply.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_fp_int_cvtn_x2.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_int_fp_cvt.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin.c
M clang/test/CodeGen/PowerPC/builtins-dmf-vsx-vector-float.c
M clang/test/CodeGen/PowerPC/builtins-ppc-amo.c
M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/bitint.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/WebAssembly/wasm-arguments.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vbmi2-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlvbmi2-builtins.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/arm-cmse-attr.c
M clang/test/CodeGen/arm-vfp16-arguments.c
M clang/test/CodeGen/arm-vfp16-arguments2.cpp
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
A clang/test/CodeGen/builtin-masked-addrspace.c
M clang/test/CodeGen/builtin-masked.c
M clang/test/CodeGen/cfi-check-fail2-nomerge.c
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
M clang/test/CodeGen/glibc_ptr_align.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/lto-newpm-pipeline.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/pointer-arithmetic-align.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
M clang/test/CodeGen/transparent-union-type.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/atomic-options.hip
M clang/test/CodeGenCUDA/builtins-amdgcn.cu
M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
M clang/test/CodeGenCUDA/managed-var.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/bitfield-ir.cpp
M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenHIP/amdgcnspirv-uses-amdgpu-abi.cpp
M clang/test/CodeGenHIP/builtins-amdgcn-vi-f16.hip
R clang/test/CodeGenHIP/offload-pgo-sections.hip
M clang/test/CodeGenHIP/placement-new-addrspace.hip
M clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
M clang/test/CodeGenHLSL/Operators/logical-not.hlsl
M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2-overloads_mat.hlsl
M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
A clang/test/CodeGenHLSL/cbuffer-matrix-layout-keyword.hlsl
A clang/test/CodeGenHLSL/matrix-layout-attr-overrides-default.hlsl
M clang/test/CodeGenHLSL/resources/Texture2D-GetDimensions.hlsl
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/as_type.cl
M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-cooperative-atomics.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-workgroup-size.cl
M clang/test/CodeGenOpenCL/kernel-param-alignment.cl
M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/DebugInfo/CXX/line.cpp
M clang/test/DebugInfo/Generic/cfi-icall-generalize-debuginfo.c
M clang/test/DebugInfo/Generic/ubsan-function-debuginfo.c
A clang/test/Driver/Inputs/empty.h
A clang/test/Driver/Inputs/module.modulemap
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
A clang/test/Driver/crash-diagnostics-modules.c
A clang/test/Driver/crash-diagnostics-tar.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-crashfile.m
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/crash-report-multi-arch.c
M clang/test/Driver/crash-report-null.test
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/Driver/lld-repro.c
M clang/test/Driver/lto.c
M clang/test/Driver/objc-constant-literals.m
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/riscv-zilsd-word-align.c
M clang/test/Frontend/spirv-target-validation.c
M clang/test/Headers/__clang_hip_libdevice_declares.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/hip-header.hip
M clang/test/Headers/openmp-device-functions-bool.c
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/Headers/wasm.c
M clang/test/Modules/crash-vfs-headermaps.m
M clang/test/Modules/crash-vfs-include-pch.m
M clang/test/Modules/crash-vfs-ivfsoverlay.m
M clang/test/Modules/crash-vfs-path-emptydir-entries.m
M clang/test/Modules/crash-vfs-path-symlink-component.m
M clang/test/Modules/crash-vfs-path-symlink-topheader.m
M clang/test/Modules/crash-vfs-path-traversal.m
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-relative-overlay.m
M clang/test/Modules/crash-vfs-run-reproducer.m
M clang/test/Modules/crash-vfs-umbrella-frameworks.m
A clang/test/Modules/pr195905.cppm
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
M clang/test/OpenMP/amdgcn_target_device_vla.cpp
A clang/test/OpenMP/amdgpu-arch-compat.c
M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
M clang/test/OpenMP/target_vtable_codegen_explicit.cpp
M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
M clang/test/Sema/static-init.c
M clang/test/SemaCUDA/addr-of-overloaded-fn.cu
A clang/test/SemaCUDA/addr-of-overloaded-template-fn.cu
M clang/test/SemaCXX/attr-section.cpp
M clang/test/SemaCXX/co_await-range-for.cpp
M clang/test/SemaCXX/for-range-dereference.cpp
M clang/test/SemaHLSL/BuiltIns/logical-mat-operator-errors.hlsl
M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixImplicitTruncCastWarnings.hlsl
M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
M clang/test/SemaTemplate/ctad.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/BuildSystem.cpp
M clang/tools/libclang/libclang.map
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/libclang/LibclangTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/builtins/cpu_model/riscv.c
A compiler-rt/lib/builtins/cpu_model/riscv.h
A compiler-rt/lib/builtins/cpu_model/riscv/hwprobe.inc
A compiler-rt/lib/builtins/cpu_model/riscv/unimplemented.inc
M compiler-rt/lib/orc/record_section_tracker.h
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/test/fuzzer/OutOfProcessFuzzTarget.cpp
M compiler-rt/test/tsan/many_held_mutex.cpp
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/DebuggerControllerBase.py
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/DextIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/LocIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/Inputs/header.h
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_function.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_line.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_file_paths.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/basic_evaluate.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/evaluate_nothing.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/lit.local.cfg
M cross-project-tests/dtlto/dtlto-cache.test
M cross-project-tests/dtlto/savetemps-lock.test
M flang-rt/CMakeLists.txt
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/test/CMakeLists.txt
M flang-rt/unittests/Runtime/ListInputTest.cpp
M flang-rt/unittests/Runtime/Namelist.cpp
M flang/docs/Extensions.md
A flang/docs/MeetingNotes/2026/2026-06-03.md
M flang/docs/OpenACC-extensions.md
M flang/docs/ParallelMultiImageFortranRuntime.md
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-omp-loop.cpp
R flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/check-omp-variant.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Driver/frelaxed-c-loc-checks.f90
M flang/test/Driver/function-sections.f90
M flang/test/Driver/include-omp-header.f90
M flang/test/Fir/boxproc.fir
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
M flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/HLFIR/elemental-result-length.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
M flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenACC/acc-module-definition-multi-name.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
A flang/test/Lower/OpenACC/acc-routine-multi-name.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-parallel-do-simd-private-adjustable-array.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-private-adjustable-array.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-nested-distribute-private-adjustable-array.f90
R flang/test/Lower/OpenMP/Todo/metadirective-dynamic.f90
M flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/metadirective-user.f90
A flang/test/Lower/intrinsic-module-array-constant.f90
M flang/test/Lower/volatile1.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/groupprivate.f90
A flang/test/Parser/acc-routine-empty-parens.f90
M flang/test/Parser/acc-unparse.f90
A flang/test/Semantics/OpenACC/acc-default-none-scalars-strict.f90
M flang/test/Semantics/OpenACC/acc-default-none-scalars.f90
M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
A flang/test/Semantics/OpenACC/acc-routine-multi-name-disabled.f90
A flang/test/Semantics/OpenACC/acc-routine-multi-name.f90
A flang/test/Semantics/OpenMP/declare-target-flags.f90
A flang/test/Semantics/OpenMP/declare-target-modfile.f90
M flang/test/Semantics/OpenMP/dump-requires-details.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/OpenMP/metadirective-user.f90
M flang/test/Semantics/OpenMP/private03.f90
M flang/test/Semantics/OpenMP/requires-modfile.f90
M flang/test/Semantics/OpenMP/simd-aligned.f90
A flang/test/Semantics/cuf-constant-generic-unified.cuf
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/reduce.cuf
M flang/test/Semantics/resolve124.f90
A flang/test/Transforms/debug-char-type-2.fir
M flang/test/lit.cfg.py
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/config/config.json
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ptrace_macros.h
M libc/include/CMakeLists.txt
M libc/include/inttypes.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF-disable.h
M libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF.h
M libc/include/llvm-libc-macros/math-macros.h
A libc/include/llvm-libc-macros/sys-ptrace-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/suseconds_t.h
M libc/include/llvm-libc-types/time_t.h
R libc/include/llvm-libc-types/time_t_32.h
A libc/include/llvm-libc-types/u_char.h
A libc/include/llvm-libc-types/u_int32_t.h
A libc/include/llvm-libc-types/uint.h
M libc/include/stdio.yaml
A libc/include/sys/ptrace.yaml
M libc/include/sys/types.yaml
M libc/src/__support/CPP/tuple.h
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/ptrace.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/utimensat.h
M libc/src/__support/block.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/freestore.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/raw_rwlock.h
M libc/src/__support/time/linux/clock_gettime.cpp
M libc/src/__support/time/linux/clock_settime.cpp
M libc/src/inttypes/CMakeLists.txt
A libc/src/inttypes/wcstoimax.cpp
A libc/src/inttypes/wcstoimax.h
A libc/src/inttypes/wcstoumax.cpp
A libc/src/inttypes/wcstoumax.h
M libc/src/poll/linux/poll.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sys/CMakeLists.txt
A libc/src/sys/ptrace/CMakeLists.txt
A libc/src/sys/ptrace/linux/CMakeLists.txt
A libc/src/sys/ptrace/linux/ptrace.cpp
A libc/src/sys/ptrace/ptrace.h
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/time_constants.h
M libc/src/time/time_utils.cpp
M libc/src/unistd/linux/alarm.cpp
M libc/test/integration/src/sys/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/linux/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/linux/ptrace_test.cpp
M libc/test/integration/src/threads/cnd_test.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/FPUtil/bfloat16_test.cpp
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
M libc/test/src/__support/time/linux/timeout_test.cpp
M libc/test/src/inttypes/CMakeLists.txt
A libc/test/src/inttypes/wcstoimax_test.cpp
A libc/test/src/inttypes/wcstoumax_test.cpp
M libc/test/src/sys/time/utimes_test.cpp
M libc/test/src/time/asctime_test.cpp
M libc/test/src/time/gmtime_r_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
M libclc/CMakeLists.txt
M libclc/README.md
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__chrono/duration.h
M libcxx/include/__expected/expected.h
M libcxx/include/__functional/function.h
M libcxx/include/__iterator/erase_if_container.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/messages.h
M libcxx/include/__locale_dir/money.h
M libcxx/include/__locale_dir/wstring_convert.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__node_handle
M libcxx/include/__tree
M libcxx/include/__type_traits/integer_traits.h
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/__utility/default_three_way_comparator.h
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
M libcxx/include/__utility/try_key_extraction.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/cwchar
M libcxx/include/deque
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdexcept
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/system_error
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android23.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android23.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/ios.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
A libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/pragma_suppress.compile.pass.cpp
M libcxx/test/libcxx/localization/locales/use_facet.abort.pass.cpp
A libcxx/test/libcxx/localization/nodiscard.verify.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
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/from_range_associative_containers.h
M libcxx/test/std/containers/associative/map/compare.pass.cpp
M libcxx/test/std/containers/associative/map/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/at.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/size.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/map/types.pass.cpp
M libcxx/test/std/containers/container.node/node_handle.pass.cpp
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/insert_range_maps_sets.h
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp
R libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/pr40459.pass.cpp
M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.verify.cpp
A libcxx/test/support/CopyConstructible.h
M libcxx/test/support/is_transparent.h
M libcxx/test/support/nasty_string.h
M libcxx/test/support/private_constructor.h
M libcxx/utils/generate_feature_test_macro_components.py
M lld/COFF/LTO.cpp
M lld/ELF/LTO.cpp
M lld/MachO/LTO.cpp
M lld/test/ELF/dtlto/timetrace.test
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/devirt_vcall_vis_public.ll
M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
M lld/test/MachO/icf-safe-thunks.ll
R lld/test/wasm/Inputs/custom.ll
A lld/test/wasm/Inputs/custom.s
R lld/test/wasm/Inputs/explicit-section.ll
A lld/test/wasm/Inputs/explicit-section.s
R lld/test/wasm/Inputs/locals-duplicate1.ll
A lld/test/wasm/Inputs/locals-duplicate1.s
R lld/test/wasm/Inputs/locals-duplicate2.ll
A lld/test/wasm/Inputs/locals-duplicate2.s
R lld/test/wasm/Inputs/many-funcs.ll
A lld/test/wasm/Inputs/many-funcs.s
R lld/test/wasm/Inputs/tag-section1.ll
A lld/test/wasm/Inputs/tag-section1.s
R lld/test/wasm/Inputs/tag-section2.ll
A lld/test/wasm/Inputs/tag-section2.s
R lld/test/wasm/custom-section-name.ll
A lld/test/wasm/custom-section-name.s
R lld/test/wasm/custom-sections.ll
A lld/test/wasm/custom-sections.s
R lld/test/wasm/export-all.ll
M lld/test/wasm/export-all.s
R lld/test/wasm/function-imports-first.ll
A lld/test/wasm/function-imports-first.s
R lld/test/wasm/gc-sections.ll
A lld/test/wasm/gc-sections.s
R lld/test/wasm/init-fini-no-gc.ll
A lld/test/wasm/init-fini-no-gc.s
R lld/test/wasm/local-symbols.ll
A lld/test/wasm/local-symbols.s
M lld/test/wasm/locals-duplicate.test
R lld/test/wasm/many-functions.ll
A lld/test/wasm/many-functions.s
M lld/test/wasm/section-symbol-relocs.yaml
R lld/test/wasm/signature-mismatch-export.ll
A lld/test/wasm/signature-mismatch-export.s
R lld/test/wasm/signature-mismatch-unknown.ll
A lld/test/wasm/signature-mismatch-unknown.s
R lld/test/wasm/signature-mismatch-weak.ll
A lld/test/wasm/signature-mismatch-weak.s
R lld/test/wasm/startstop.ll
A lld/test/wasm/startstop.s
R lld/test/wasm/tag-section.ll
A lld/test/wasm/tag-section.s
R lld/test/wasm/undefined.ll
A lld/test/wasm/undefined.s
R lld/test/wasm/visibility-hidden.ll
A lld/test/wasm/visibility-hidden.s
M lld/wasm/InputFiles.cpp
M lldb/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
M lldb/cmake/caches/Apple-lldb-macOS.cmake
M lldb/cmake/modules/AddLLDB.cmake
A lldb/cmake/modules/LLDBConcatFiles.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/conf.py
M lldb/docs/dil-expr-lang.ebnf
A lldb/docs/index.md
R lldb/docs/index.rst
A lldb/docs/python_api.md
R lldb/docs/python_api.rst
A lldb/docs/python_api_enums.md
R lldb/docs/python_api_enums.rst
A lldb/docs/python_extensions.md
R lldb/docs/python_extensions.rst
A lldb/docs/resources/build.md
R lldb/docs/resources/build.rst
A lldb/docs/resources/caveats.md
R lldb/docs/resources/caveats.rst
A lldb/docs/resources/contributing.md
R lldb/docs/resources/contributing.rst
A lldb/docs/resources/dataformatters.md
R lldb/docs/resources/dataformatters.rst
A lldb/docs/resources/debugging.md
R lldb/docs/resources/debugging.rst
A lldb/docs/resources/extensions.md
R lldb/docs/resources/extensions.rst
A lldb/docs/resources/formatterbytecode.md
R lldb/docs/resources/formatterbytecode.rst
A lldb/docs/resources/fuzzing.md
R lldb/docs/resources/fuzzing.rst
M lldb/docs/resources/lldbgdbremote.md
A lldb/docs/resources/overview.md
R lldb/docs/resources/overview.rst
A lldb/docs/resources/projects.md
R lldb/docs/resources/projects.rst
A lldb/docs/resources/qemu-testing.md
R lldb/docs/resources/qemu-testing.rst
A lldb/docs/resources/sbapi.md
R lldb/docs/resources/sbapi.rst
A lldb/docs/resources/test.md
R lldb/docs/resources/test.rst
A lldb/docs/use/formatting.md
R lldb/docs/use/formatting.rst
A lldb/docs/use/intel_pt.md
R lldb/docs/use/intel_pt.rst
A lldb/docs/use/links.md
R lldb/docs/use/links.rst
A lldb/docs/use/map.md
R lldb/docs/use/map.rst
A lldb/docs/use/ondemand.md
R lldb/docs/use/ondemand.rst
A lldb/docs/use/python-reference.md
R lldb/docs/use/python-reference.rst
A lldb/docs/use/remote.md
R lldb/docs/use/remote.rst
A lldb/docs/use/repeat-commands.md
R lldb/docs/use/repeat-commands.rst
A lldb/docs/use/symbolfilejson.md
R lldb/docs/use/symbolfilejson.rst
A lldb/docs/use/symbolication.md
R lldb/docs/use/symbolication.rst
A lldb/docs/use/symbols.md
R lldb/docs/use/symbols.rst
A lldb/docs/use/troubleshooting.md
R lldb/docs/use/troubleshooting.rst
A lldb/docs/use/tutorial.md
R lldb/docs/use/tutorial.rst
A lldb/docs/use/variable.md
R lldb/docs/use/variable.rst
M lldb/include/lldb/Host/Config.h.cmake
M lldb/include/lldb/Host/MainLoopBase.h
A lldb/include/lldb/Host/ScriptInterpreterRuntimeLoader.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
R lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.h
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/module.modulemap
M lldb/packages/Python/lldbsuite/support/gmodules.py
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
A lldb/scripts/extract-dynamic-script-interpreter-exports.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/MainLoopBase.cpp
A lldb/source/Host/common/PythonRuntimeLoader.cpp
A lldb/source/Host/common/PythonRuntimeLoaderInternal.h
A lldb/source/Host/common/ScriptInterpreterRuntimeLoader.cpp
A lldb/source/Host/linux/PythonRuntimeLoaderLinux.cpp
A lldb/source/Host/macosx/PythonRuntimeLoaderDarwin.cpp
R lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
R lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
A lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.cpp
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_riscv32.h
M lldb/source/Plugins/Process/Utility/lldb-riscv-register-enums.h
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
A lldb/source/Plugins/Process/Windows/Common/IOHandlerProcessSTDIOWindows.cpp
A lldb/source/Plugins/Process/Windows/Common/IOHandlerProcessSTDIOWindows.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.h
M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
M lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.h
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
M lldb/source/Utility/RISCV_DWARF_Registers.h
M lldb/source/Utility/StringExtractorGDBRemote.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
M lldb/test/API/commands/apropos/formatting/TestAproposFormatting.py
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
M lldb/test/API/commands/expression/multiline-completion/TestMultilineCompletion.py
M lldb/test/API/commands/expression/multiline-navigation/TestMultilineNavigation.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILAssign.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILCompositeAssign.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/main.cpp
M lldb/test/API/commands/gui/basic/TestGuiBasic.py
M lldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
M lldb/test/API/commands/gui/breakpoints/TestGuiBreakpoints.py
M lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
M lldb/test/API/commands/gui/spawn-threads/TestGuiSpawnThreads.py
M lldb/test/API/commands/gui/viewlarge/TestGuiViewLarge.py
M lldb/test/API/commands/process/attach/main.cpp
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/API/functionalities/postmortem/elf-core/riscv32-imcxqcixqccmp.gpr_csr.core
A lldb/test/API/functionalities/postmortem/elf-core/riscv32-imcxqcixqccmp.gpr_csr.out
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
M lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py
M lldb/test/API/iohandler/resize/TestIOHandlerResize.py
M lldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py
M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
M lldb/test/API/iohandler/sigint/cat.cpp
M lldb/test/API/iohandler/stdio/TestIOHandlerProcessSTDIO.py
M lldb/test/API/iohandler/unicode/TestUnicode.py
M lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py
M lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py
M lldb/test/API/macosx/expedited-thread-pcs/TestExpeditedThreadPCs.py
M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
M lldb/test/API/python_api/run_locker/TestRunLocker.py
M lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
M lldb/test/API/repl/clang/TestClangREPL.py
M lldb/test/API/terminal/TestDisabledBreakpoints.py
M lldb/test/API/terminal/TestEditline.py
M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
M lldb/test/API/tools/lldb-dap/breakpoint/main.cpp
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_console.py
M lldb/test/API/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
M lldb/test/CMakeLists.txt
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
M lldb/tools/debugserver/source/DNB.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
M lldb/unittests/Host/CMakeLists.txt
A lldb/unittests/Host/PythonRuntimeLoaderTest.cpp
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
M lldb/unittests/Target/MemoryTest.cpp
A lldb/unittests/Utility/AcceleratorGDBRemotePacketsTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/AMDGPUAsyncOperations.rst
M llvm/docs/AMDGPUUsage.rst
A llvm/docs/AliasAnalysis.md
R llvm/docs/AliasAnalysis.rst
A llvm/docs/Atomics.md
R llvm/docs/Atomics.rst
A llvm/docs/BitCodeFormat.md
R llvm/docs/BitCodeFormat.rst
M llvm/docs/CommandGuide/llvm-install-name-tool.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/CommandGuide/llvm-strip.rst
A llvm/docs/CommandLine.md
R llvm/docs/CommandLine.rst
A llvm/docs/CompilerWriterInfo.md
R llvm/docs/CompilerWriterInfo.rst
A llvm/docs/Coroutines.md
R llvm/docs/Coroutines.rst
A llvm/docs/CoverageMappingFormat.md
R llvm/docs/CoverageMappingFormat.rst
A llvm/docs/DebuggingLLVM.md
R llvm/docs/DebuggingLLVM.rst
A llvm/docs/ExceptionHandling.md
R llvm/docs/ExceptionHandling.rst
A llvm/docs/Extensions.md
R llvm/docs/Extensions.rst
A llvm/docs/FAQ.md
R llvm/docs/FAQ.rst
M llvm/docs/Frontend/PerformanceTips.rst
A llvm/docs/GarbageCollection.md
R llvm/docs/GarbageCollection.rst
M llvm/docs/GettingInvolved.md
A llvm/docs/GettingStartedVS.md
R llvm/docs/GettingStartedVS.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/IRTranslator.rst
A llvm/docs/InstrProfileFormat.md
R llvm/docs/InstrProfileFormat.rst
M llvm/docs/LangRef.rst
A llvm/docs/Lexicon.md
R llvm/docs/Lexicon.rst
A llvm/docs/LibFuzzer.md
R llvm/docs/LibFuzzer.rst
M llvm/docs/LoopFusion.rst
A llvm/docs/LoopTerminology.md
R llvm/docs/LoopTerminology.rst
A llvm/docs/MIRLangRef.md
R llvm/docs/MIRLangRef.rst
A llvm/docs/MemorySSA.md
R llvm/docs/MemorySSA.rst
A llvm/docs/NewPassManager.md
R llvm/docs/NewPassManager.rst
M llvm/docs/ProgrammersManual.md
A llvm/docs/ProjectGovernance.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/index.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/MapVector.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
A llvm/include/llvm/ExecutionEngine/Orc/SymbolLookupSet.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorResolver.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/include/llvm/IR/AssemblyAnnotationWriter.h
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/ObjCopy/ObjCopy.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/include/llvm/Support/AtomicOrdering.h
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetOptions.h
R llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/DTLTO/CMakeLists.txt
M llvm/lib/DTLTO/DTLTO.cpp
A llvm/lib/DTLTO/DTLTODistributionDriver.cpp
A llvm/lib/DTLTO/DTLTOInputFiles.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.h
M llvm/lib/ExecutionEngine/Orc/Debugging/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorResolutionGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorResolver.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/MC/DXContainerInfo.cpp
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/ObjCopy/Archive.cpp
M llvm/lib/ObjCopy/ObjCopy.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.h
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/M68k/AsmParser/CMakeLists.txt
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBanks.td
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
R llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvdota.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvvm.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86PartialReduction.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Transforms/IPO/ConstantMerge.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
R llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/masked_expand_load.ll
M llvm/test/Analysis/CostModel/PowerPC/ld-st-with-length.ll
M llvm/test/Analysis/CostModel/RISCV/gep.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-expandload-compressstore.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Assembler/fast-math-flags.ll
M llvm/test/Assembler/index-value-order.ll
M llvm/test/Assembler/invalid-interleave.ll
A llvm/test/Assembler/invalid-phi-fast-math-flags.ll
A llvm/test/Assembler/invalid-select-fast-math-flags.ll
M llvm/test/Assembler/invalid-vecreduce.ll
M llvm/test/Assembler/masked-load-store-intrinsics-attributes.ll
A llvm/test/Bitcode/Inputs/cfi-functions-upgrade.bc
A llvm/test/Bitcode/Inputs/cfi-summary-upgrade.bc
A llvm/test/Bitcode/cfi-functions-upgrade.ll
M llvm/test/Bitcode/compatibility.ll
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll.bc
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/Bitcode/upgrade-masked-keep-metadata.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-select-zero.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-adjust-icmp-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-and-mask.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-narrow-binop-feeding-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/arm64-vcnt.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-fpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-fpr8.mir
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-gpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-fpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-gpr.ll
M llvm/test/CodeGen/AArch64/bitfield-insert.ll
M llvm/test/CodeGen/AArch64/bswap-known-bits.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
A llvm/test/CodeGen/AArch64/dag-maps-huge-region.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
M llvm/test/CodeGen/AArch64/fp-to-int-to-fp.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/ftrunc.ll
A llvm/test/CodeGen/AArch64/ldst-opt-umov-fpr-store.mir
M llvm/test/CodeGen/AArch64/pr164181.ll
M llvm/test/CodeGen/AArch64/read-fp-reg.ll
A llvm/test/CodeGen/AArch64/read-reg-non-entry.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/sitofp-to-tbl.ll
M llvm/test/CodeGen/AArch64/sshl_sat.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-frintz.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
A llvm/test/CodeGen/AArch64/sve-frintz.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts_x2.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
A llvm/test/CodeGen/AArch64/umov-fpr-store-from-phi.ll
M llvm/test/CodeGen/AArch64/ushl_sat.ll
M llvm/test/CodeGen/AArch64/write-volatile-register.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-irtranslator.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-redundant-bitcast.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-uniform-waterfall.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-uniform-intrinsic-combine.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
M llvm/test/CodeGen/AMDGPU/ctls.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_poison.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_poison.ll
A llvm/test/CodeGen/AMDGPU/debug-independence-exec-masking.mir
A llvm/test/CodeGen/AMDGPU/div-rem-fast-path.ll
M llvm/test/CodeGen/AMDGPU/divrem24-assume.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.legal.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.si.ll
M llvm/test/CodeGen/AMDGPU/fneg-fold-legalize-dag-increase-insts.ll
M llvm/test/CodeGen/AMDGPU/fp-to-int-to-fp.ll
M llvm/test/CodeGen/AMDGPU/fptoui_uitofp.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size-error.ll
M llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
A llvm/test/CodeGen/AMDGPU/ldsdmacnt_sched.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.frexp.exp.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.frexp.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.inst.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tensor.load.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
M llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
M llvm/test/CodeGen/AMDGPU/sched-ldsdma-mask.mir
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
A llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/widen_extending_scalar_loads.ll
M llvm/test/CodeGen/ARM/elf-preemption.ll
A llvm/test/CodeGen/ARM/weak-hidden-pic.ll
M llvm/test/CodeGen/BPF/loop-exit-cond.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit-versioned-language.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-globalvariable.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-subprogram.ll
M llvm/test/CodeGen/DirectX/Metadata/cbuffer-metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/dx_precise.ll
M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
A llvm/test/CodeGen/DirectX/SampleGrad.ll
M llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll
M llvm/test/CodeGen/DirectX/debug-info.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead-lib.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead.ll
M llvm/test/CodeGen/DirectX/finalize_linkage.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll
M llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll
M llvm/test/CodeGen/DirectX/scalar-store.ll
M llvm/test/CodeGen/DirectX/scalarize-two-calls.ll
M llvm/test/CodeGen/DirectX/strip-fn-attrs.ll
A llvm/test/CodeGen/Generic/GlobalISel/irtranslator-byte-type.ll
A llvm/test/CodeGen/Hexagon/bitcast-f64-vector.ll
A llvm/test/CodeGen/Hexagon/hvc-remarks.ll
A llvm/test/CodeGen/Hexagon/hwloop-remarks.ll
A llvm/test/CodeGen/Hexagon/loop-idiom-remarks.ll
A llvm/test/CodeGen/Hexagon/vlcr-remarks.ll
A llvm/test/CodeGen/LoongArch/pr198339.ll
R llvm/test/CodeGen/MIR/Generic/scalable-vector-type-err3.mir
A llvm/test/CodeGen/NVPTX/atomicrmw-allow-ftz-atomics.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm60.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm70.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm90.ll
M llvm/test/CodeGen/NVPTX/atomicrmw.py
M llvm/test/CodeGen/NVPTX/atomics.ll
M llvm/test/CodeGen/NVPTX/global-ordering.ll
M llvm/test/CodeGen/NVPTX/globals_init.ll
A llvm/test/CodeGen/NVPTX/insert-vector-elt-bitcast-legalize.ll
M llvm/test/CodeGen/NVPTX/intr-range.ll
M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
M llvm/test/CodeGen/PowerPC/fp-int128-fp-combine.ll
M llvm/test/CodeGen/PowerPC/fp-to-int-to-fp.ll
M llvm/test/CodeGen/PowerPC/ftrunc-vec.ll
M llvm/test/CodeGen/PowerPC/no-extra-fp-conv-ldst.ll
M llvm/test/CodeGen/PowerPC/scalar-min-max-p10.ll
M llvm/test/CodeGen/PowerPC/ucmp.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/pr148084.ll
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.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-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.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/vl-opt.mir
A llvm/test/CodeGen/RISCV/rvv/xsfmm-insert-vsetvl-TMTK.mir
A llvm/test/CodeGen/RISCV/shrinkwrap-save-restore-fixed-reg.ll
M llvm/test/CodeGen/RISCV/srem-lkk.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
A llvm/test/CodeGen/RISCV/stack-offset-large.ll
M llvm/test/CodeGen/RISCV/zdinx-spill.ll
M llvm/test/CodeGen/RISCV/zilsd-ldst-opt-prera.mir
M llvm/test/CodeGen/RISCV/zilsd-regalloc-hints.mir
M llvm/test/CodeGen/RISCV/zilsd-spill.ll
M llvm/test/CodeGen/RISCV/zilsd.ll
A llvm/test/CodeGen/SPIRV/cloned-funcs-metadata-oob.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-int-string-dedup.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-multi-scalar-params.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-omit.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-pointer-debug-none-base.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-pointer-param.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-scalar-returns.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-subroutine-type-flags.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-void-prototypes.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer-composite-pointee.ll
A llvm/test/CodeGen/SystemZ/vec-move-25.ll
M llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
M llvm/test/CodeGen/WebAssembly/saturating-truncation.ll
A llvm/test/CodeGen/X86/GlobalISel/calllowering-inalloca.ll
M llvm/test/CodeGen/X86/GlobalISel/legalize-undef-vec-scaling.mir
A llvm/test/CodeGen/X86/aext-and-trunc-avx512.ll
A llvm/test/CodeGen/X86/aext-and-trunc.ll
M llvm/test/CodeGen/X86/and-with-overflow.ll
M llvm/test/CodeGen/X86/apx/memfold-no-physreg.ll
A llvm/test/CodeGen/X86/apx/memfold-origVNI-crash.ll
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
A llvm/test/CodeGen/X86/apx/setjmp-win64-abi.ll
A llvm/test/CodeGen/X86/apx/win64-abi.ll
M llvm/test/CodeGen/X86/atomic-load-store.ll
M llvm/test/CodeGen/X86/avg-mask.ll
M llvm/test/CodeGen/X86/avx512-trunc.ll
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/clmul-vector.ll
M llvm/test/CodeGen/X86/clmul.ll
M llvm/test/CodeGen/X86/combine-srem.ll
M llvm/test/CodeGen/X86/fat-lto-section.ll
A llvm/test/CodeGen/X86/freeze-fp.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/ftrunc.ll
M llvm/test/CodeGen/X86/llvm.frexp.ll
M llvm/test/CodeGen/X86/machine-block-hash.mir
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/mbp-false-cfg-break.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/slow-pmulld.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-innerouter.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-interleavedbits.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-interleavedbytehalves.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-lowhigh.ll
M llvm/test/CodeGen/X86/vector-interleave.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll
M llvm/test/CodeGen/Xtensa/setcc.ll
M llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll
M llvm/test/Feature/OperandBundles/function-attrs.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-masked-load-store.ll
M llvm/test/Instrumentation/AddressSanitizer/musttail.ll
R llvm/test/Instrumentation/InstrProfiling/amdgpu-instrumentation.ll
R llvm/test/Instrumentation/InstrProfiling/amdgpu-profc-arrays.ll
R llvm/test/Instrumentation/InstrProfiling/gpu-weak.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/masked-store-load.ll
M llvm/test/Instrumentation/ThreadSanitizer/tsan_musttail.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-alias.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-weak-aliasee.ll
M llvm/test/LTO/X86/mix-opaque-typed.ll
M llvm/test/Linker/funcimport2.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vimage_err.s
M llvm/test/MC/AMDGPU/mcexpr_amd.s
M llvm/test/MC/AMDGPU/mcexpr_amd_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vimage.txt
A llvm/test/MC/Disassembler/X86/ibhf-64.txt
M llvm/test/MC/RISCV/rvi-pseudos-invalid.s
A llvm/test/MC/RISCV/rvv/zvfqwdota8f.s
A llvm/test/MC/RISCV/rvv/zvfwdota16bf.s
A llvm/test/MC/RISCV/rvv/zvqwdotai8i16.s
A llvm/test/MC/RISCV/rvv/zvvmtls-invalid.s
A llvm/test/MC/RISCV/rvv/zvvmtls.s
A llvm/test/MC/RISCV/rvv/zvvmttls-invalid.s
A llvm/test/MC/RISCV/rvv/zvvmttls.s
A llvm/test/MC/RISCV/xqci-access-pseudos.s
R llvm/test/MC/RISCV/xrivosvizip-invalid.s
R llvm/test/MC/RISCV/xrivosvizip-valid.s
A llvm/test/MC/X86/ibhf-64.s
M llvm/test/Other/cgscc-devirt-iteration.ll
M llvm/test/Other/force-opaque-ptrs.ll
M llvm/test/Other/new-pm-O0-defaults.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
M llvm/test/Other/optimize-inrange-gep.ll
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-hoisting-cxx.td
M llvm/test/ThinLTO/AArch64/aarch64_inline.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions1.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions2.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions3.ll
M llvm/test/ThinLTO/X86/cfi-icall-only-defuse.ll
A llvm/test/ThinLTO/X86/cfi-icall-thinlto.ll
M llvm/test/ThinLTO/X86/cfi-icall.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias2.ll
M llvm/test/ThinLTO/X86/deadstrip.ll
M llvm/test/ThinLTO/X86/devirt_function_alias.ll
M llvm/test/ThinLTO/X86/devirt_function_alias2.ll
M llvm/test/ThinLTO/X86/devirt_pure_virtual_base.ll
M llvm/test/ThinLTO/X86/devirt_vcall_vis_public.ll
M llvm/test/ThinLTO/X86/distributed_import.ll
M llvm/test/ThinLTO/X86/dtlto/timetrace.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-exported-internal.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-unknown.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-weak.ll
M llvm/test/ThinLTO/X86/globals-import.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
M llvm/test/ThinLTO/X86/import-ro-constant.ll
M llvm/test/ThinLTO/X86/index-const-prop-alias.ll
M llvm/test/ThinLTO/X86/index-const-prop.ll
M llvm/test/ThinLTO/X86/linkonce_resolution_comdat.ll
M llvm/test/ThinLTO/X86/memprof-dups.ll
A llvm/test/ThinLTO/X86/memprof-icp-metadata.ll
M llvm/test/ThinLTO/X86/memprof-icp-recursive.ll
M llvm/test/ThinLTO/X86/memprof_callee_type_mismatch.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
M llvm/test/ThinLTO/X86/prevailing_weak_globals_import.ll
M llvm/test/ThinLTO/X86/visibility-elf.ll
M llvm/test/ThinLTO/X86/visibility-macho.ll
M llvm/test/ThinLTO/X86/weak_resolution.ll
M llvm/test/ThinLTO/X86/windows-vftable.ll
M llvm/test/ThinLTO/X86/writeonly.ll
R llvm/test/Transforms/AssignGUID/assign_guid.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/Attributor/nosync.ll
M llvm/test/Transforms/CallSiteSplitting/musttail.ll
M llvm/test/Transforms/CodeExtractor/input-value-debug.ll
M llvm/test/Transforms/ConstantMerge/merge-dbg.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/coro-retcon-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon.ll
M llvm/test/Transforms/Coroutines/ex0.ll
M llvm/test/Transforms/Coroutines/ex1.ll
M llvm/test/Transforms/Coroutines/ex2.ll
M llvm/test/Transforms/Coroutines/ex3.ll
M llvm/test/Transforms/Coroutines/ex4.ll
M llvm/test/Transforms/Coroutines/ex5.ll
M llvm/test/Transforms/CrossDSOCFI/cfi_functions.ll
M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
M llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
M llvm/test/Transforms/FunctionAttrs/atomic.ll
M llvm/test/Transforms/FunctionAttrs/convergent.ll
M llvm/test/Transforms/FunctionAttrs/initializes.ll
M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
M llvm/test/Transforms/FunctionAttrs/noalias.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nofpclass.ll
M llvm/test/Transforms/FunctionAttrs/nofree.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/norecurse.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/FunctionAttrs/nounwind.ll
M llvm/test/Transforms/FunctionAttrs/optnone.ll
M llvm/test/Transforms/FunctionAttrs/out-of-bounds-iterator-bug.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/readnone.ll
M llvm/test/Transforms/FunctionAttrs/stats.ll
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
M llvm/test/Transforms/FunctionImport/funcimport-debug-retained-nodes.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
R llvm/test/Transforms/GlobalMerge/guid.ll
R llvm/test/Transforms/InferAddressSpaces/AMDGPU/old-pass-regressions-inseltpoison.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
M llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns.ll
A llvm/test/Transforms/InstCombine/gep-canonicalize-index-constfold.ll
M llvm/test/Transforms/InstCombine/invariant.group.ll
M llvm/test/Transforms/InstCombine/load-store-masked-constant-array.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/InstCombine/log-pow.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/select_meta.ll
M llvm/test/Transforms/InstCombine/unused-nonnull.ll
R llvm/test/Transforms/InterleavedAccess/AArch64/interleaved-accesses-inseltpoison.ll
M llvm/test/Transforms/JumpThreading/noalias-scope-decl.ll
M llvm/test/Transforms/LoopFusion/cannot_fuse.ll
A llvm/test/Transforms/LoopFusion/cannot_fuse_atomic.ll
A llvm/test/Transforms/LoopFusion/peel-preserve-lcssa.ll
A llvm/test/Transforms/LoopInterchange/atomic-memory-ordering.ll
M llvm/test/Transforms/LoopInterchange/call-instructions-remarks.ll
M llvm/test/Transforms/LoopInterchange/call-instructions.ll
M llvm/test/Transforms/LoopInterchange/currentLimitation.ll
A llvm/test/Transforms/LoopInterchange/function-attr.ll
A llvm/test/Transforms/LoopInterchange/guarded-inner-loop.ll
A llvm/test/Transforms/LoopInterchange/invoke.ll
A llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll
M llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
R llvm/test/Transforms/LoopInterchange/memory-attr.ll
A llvm/test/Transforms/LoopInterchange/non-phi-uses-lcssa-phi.ll
A llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr62660-normalization-failure.ll
M llvm/test/Transforms/LoopUnroll/unroll-cleanup.ll
M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
A llvm/test/Transforms/LoopVectorize/AArch64/arith-costs.ll
R llvm/test/Transforms/LoopVectorize/AArch64/binop-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
M llvm/test/Transforms/LoopVectorize/AArch64/f128-fmuladd-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-usabs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-ptradd-with-replicated-operand.ll
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/alias-mask-negative-tests.ll
M llvm/test/Transforms/LoopVectorize/alias-mask.ll
M llvm/test/Transforms/LoopVectorize/cast-costs.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
M llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
A llvm/test/Transforms/LoopVectorize/interleave_uncountable_exits.ll
A llvm/test/Transforms/LoopVectorize/scalarized_conditional_ops_uncountable_exits.ll
A llvm/test/Transforms/LoopVectorize/tail_fold_uncountable_exits.ll
M llvm/test/Transforms/LowerTypeTests/Inputs/blockaddr-import.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/cfi-direct-call.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/cfi-direct-call1.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-alias.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-icall.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-thinlto-funcs.yaml
M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-cross-dso-cfi.ll
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
M llvm/test/Transforms/LowerTypeTests/export-rename-local.ll
M llvm/test/Transforms/LowerTypeTests/export-symver.ll
M llvm/test/Transforms/LowerTypeTests/pr37625.ll
R llvm/test/Transforms/PGOProfile/amdgpu-disable-value-profiling.ll
M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-load-from-vector-loop.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loop-rotate-to-enable-unrolling-and-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_muladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/scalarize-load-ext-extract.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/udotabd.ll
M llvm/test/Transforms/PhaseOrdering/AMDGPU/infer-address-space.ll
M llvm/test/Transforms/PhaseOrdering/RISCV/any-of-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
M llvm/test/Transforms/PhaseOrdering/X86/madd.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/X86/sad.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/spurious-peeling.ll
M llvm/test/Transforms/PhaseOrdering/X86/unroll-vectorizer.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/always-inline-alloca-promotion.ll
M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
M llvm/test/Transforms/PhaseOrdering/branch-dom-cond.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
M llvm/test/Transforms/PhaseOrdering/early-arg-attrs-inference.ll
M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
M llvm/test/Transforms/PhaseOrdering/gvn-replacement-vs-hoist.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/lto-argpromotion-ipsccp.ll
M llvm/test/Transforms/PhaseOrdering/memcpy-offset.ll
M llvm/test/Transforms/PhaseOrdering/phi-protected-field-ptr.ll
M llvm/test/Transforms/PhaseOrdering/pr95152.ll
M llvm/test/Transforms/PhaseOrdering/pr98799-inline-simplifycfg-ub.ll
M llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
M llvm/test/Transforms/PhaseOrdering/struct-to-vector-before-memcpyopt.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-vectorization-budget.ll
A llvm/test/Transforms/SLPVectorizer/X86/sincos.ll
M llvm/test/Transforms/SafeStack/X86/musttail.ll
M llvm/test/Transforms/SampleProfile/ctxsplit.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/SPIRV/expand-masked-compressstore.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/SPIRV/expand-masked-expandload.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/xor-decompose.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/xor-decompose.ll
M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
M llvm/test/Transforms/SimplifyCFG/phi-undef-loadstore.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/function-alias.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-intrinsics.ll
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel-profile.ll
M llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/export-vcp.ll
M llvm/test/Verifier/intrinsic-bad-arg-type.ll
M llvm/test/Verifier/intrinsic-bad-arg-type1.ll
M llvm/test/Verifier/musttail-invalid.ll
M llvm/test/Verifier/reduction-intrinsics.ll
M llvm/test/Verifier/scatter_gather.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.globals.expected
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/debug-names-static-member-decl.test
A llvm/test/tools/dxil-dis/di-globalvariable.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
M llvm/test/tools/gold/X86/thinlto_weak_library.ll
M llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
M llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
A llvm/test/tools/llubi/call_unknown.ll
A llvm/test/tools/llvm-objcopy/MachO/install-name-tool-output.test
A llvm/test/tools/llvm-objcopy/verbose.test
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart.yaml
M llvm/tools/CMakeLists.txt
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/lli/ForwardingMemoryManager.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto2/CMakeLists.txt
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-objcopy/CommonOpts.td
M llvm/tools/llvm-objcopy/InstallNameToolOpts.td
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/optdriver.cpp
M llvm/unittests/ADT/BitVectorTest.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/EPCGenericDylibManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
M llvm/unittests/Support/SignalsTest.cpp
A llvm/unittests/Target/AMDGPU/AMDGPUMCExprTest.cpp
M llvm/unittests/Target/AMDGPU/CMakeLists.txt
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanUncountableExitTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
M llvm/utils/LLVMVisualizers/llvm.natvis
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/gdb-scripts/prettyprinters.py
M llvm/utils/gn/secondary/bolt/unittests/Profile/BUILD.gn
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DTLTO/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-lto2/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU/BUILD.gn
M llvm/utils/lit/tests/lit.cfg
M llvm/utils/lit/tests/shtest-cat.py
M llvm/utils/lit/tests/shtest-format.py
M llvm/utils/lit/tests/shtest-output-printing.py
M llvm/utils/profcheck-xfail.txt
M llvm/utils/release/github-upload-release.py
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/include/mlir/Bytecode/BytecodeWriter.h
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUAttrs.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUBase.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
A mlir/include/mlir/Dialect/LLVMIR/ROCDLAttrs.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
A mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
A mlir/include/mlir/Dialect/LLVMIR/ROCDLEnums.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.cpp
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaConstants.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCComputeLowering.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Conversion/AMDGPUToROCDL/global-prefetch.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma.mlir
M mlir/test/Conversion/AMDGPUToROCDL/wmma-gfx1250.mlir
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
M mlir/test/Conversion/FuncToEmitC/func-to-emitc-failed.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-dealloc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-invalid.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-mark-invalid.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-mark.mlir
M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
M mlir/test/Dialect/Builtin/Bytecode/attrs.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
A mlir/test/Dialect/LLVMIR/rocdl-cache-policy-invalid.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
A mlir/test/Dialect/OpenACC/acc-compute-lowering-compute-async-wait.mlir
A mlir/test/Dialect/OpenACC/acc-compute-lowering-compute-device-type.mlir
A mlir/test/Dialect/OpenACC/acc-compute-lowering-loop-device-type.mlir
M mlir/test/Dialect/OpenACC/canonicalize.mlir
M mlir/test/Dialect/OpenACC/ops-cg-privatization.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
A mlir/test/Dialect/SPIRV/IR/tosa-ops-dynamic.mlir
M mlir/test/Dialect/SPIRV/IR/types.mlir
M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
M mlir/test/Dialect/Tosa/constant_folding.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
M mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Integration/GPU/ROCM/gpu-lower-to-rocdl-pipeline.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/Import/intrinsic-unregistered.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
M mlir/test/Target/SPIRV/ocl-ops.mlir
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/python/ir/location.py
M mlir/unittests/Bytecode/BytecodeTest.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCTypeInterfacesTest.cpp
M offload/ci/hip-tpl.py
A offload/ci/openmp-offload-amdgpu-libc-runtime.py
M offload/libomptarget/OpenMP/API.cpp
M offload/plugins-nextgen/level_zero/CMakeLists.txt
M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
M offload/plugins-nextgen/level_zero/dynamic_l0/level_zero/ze_api.h
M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
M offload/plugins-nextgen/level_zero/include/L0Context.h
M offload/plugins-nextgen/level_zero/include/L0Device.h
A offload/plugins-nextgen/level_zero/include/L0Event.h
M offload/plugins-nextgen/level_zero/include/L0Memory.h
M offload/plugins-nextgen/level_zero/include/L0Program.h
M offload/plugins-nextgen/level_zero/include/L0Queue.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
A offload/plugins-nextgen/level_zero/src/L0Event.cpp
M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
M offload/plugins-nextgen/level_zero/src/L0Program.cpp
M offload/test/api/omp_indirect_func_basic.c
A offload/test/offloading/array_reductions.cpp
M offload/test/offloading/cuda_no_devices.c
M offload/test/offloading/multiple_reductions.cpp
M offload/test/offloading/shared_lib_fp_mapping.c
M offload/unittests/OffloadAPI/memory/olMemFill.cpp
M offload/unittests/OffloadAPI/symbol/olGetSymbolInfo.cpp
M openmp/module/CMakeLists.txt
M orc-rt/include/orc-rt/NativeDylibManager.h
M orc-rt/lib/executor/NativeDylibManager.cpp
M orc-rt/lib/executor/Unix/NativeDylibAPIs.inc
M orc-rt/lib/executor/sps-ci/NativeDylibManagerSPSCI.cpp
M orc-rt/unittests/NativeDylibManagerSPSCITest.cpp
M orc-rt/unittests/NativeDylibManagerTest.cpp
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
M utils/bazel/extensions.bzl
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPCWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
R utils/bazel/third_party_build/BUILD.bazel
R utils/bazel/third_party_build/gmp.BUILD
R utils/bazel/third_party_build/mpc.BUILD
R utils/bazel/third_party_build/mpfr.BUILD
R utils/bazel/third_party_build/nanobind.BUILD
R utils/bazel/third_party_build/pfm.BUILD
R utils/bazel/third_party_build/pyyaml.BUILD
R utils/bazel/third_party_build/robin_map.BUILD
R utils/bazel/third_party_build/vulkan_headers.BUILD
R utils/bazel/third_party_build/zlib-ng.BUILD
R utils/bazel/third_party_build/zstd.BUILD
Log Message:
-----------
Merge branch 'main' into users/rnk/llvm-md-1a
Compare: https://github.com/llvm/llvm-project/compare/c3f147491e50...b9a00945b02a
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