[all-commits] [llvm/llvm-project] 8a9a82: [VPlan] Remove redundant vp_merge pattern. NFC (#2...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Sat May 30 04:43:42 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slp-fix-extract-cost-scale-using-ncd-of-all-external-user-sites
Home: https://github.com/llvm/llvm-project
Commit: 8a9a82c53e82c8bcbde3f01cf674b8afc5fed753
https://github.com/llvm/llvm-project/commit/8a9a82c53e82c8bcbde3f01cf674b8afc5fed753
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Remove redundant vp_merge pattern. NFC (#200116)
m_RemoveMask still matches even if there's no other mask combined, we
just need to check if Mask is null.
Commit: 4503872fe57315e6df7dbc93128dbe6a02011872
https://github.com/llvm/llvm-project/commit/4503872fe57315e6df7dbc93128dbe6a02011872
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/atomic.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nosync.ll
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
Log Message:
-----------
[IR][FunctionAttrs] Clarify memory effects of atomics (#193768)
FunctionAttrs was treating atomic instructions, including with ordering
stronger than monotonic, as only reading/writing their operand.
I don't think doing this is correct, because we model the ordering
constraints of synchronizing atomics via reading/writing "all" memory.
So e.g. if you have a function with a release store on an argument,
marking it as argmem-only is wrong, because that would permit reordering
accesses to other locations around it. (What this PR is doing is not
*sufficient* to model this correctly due to the fence-like effects on
not-yet-escaped memory, but it brings us closer to correctness.)
I initially tried to implement mayReadFromMemory() and
mayWriteToMemory() on top of getMemoryEffects(), but this caused
significant compile-time regressions, so I've kept the logic duplicated.
Commit: 0e02ccdaf01081dbd947e192fb4769da7bf74d54
https://github.com/llvm/llvm-project/commit/0e02ccdaf01081dbd947e192fb4769da7bf74d54
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm-c/Remarks.h
M llvm/include/llvm-c/lto.h
Log Message:
-----------
llvm: Fix most LLVM_C_ABI annotations (#199914)
This updates most LLVM_C_ABI annotations in the llvm-c headers to match
expected usage:
* All public APIs should be properly annotated.
* Inlined functions should not be annotated.
These changes were done by a script fixing annotations on LLVM public
headers and manually checked.
This effort is tracked in #109483.
Commit: 1235c442a3c08e9cb4a9d2a6c082f392ec0885f1
https://github.com/llvm/llvm-project/commit/1235c442a3c08e9cb4a9d2a6c082f392ec0885f1
Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
Log Message:
-----------
Fix Bazel build for 5dc8711 (#200142)
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 86a74788dcc851d501e33c70a88f14dc47293b9f
https://github.com/llvm/llvm-project/commit/86a74788dcc851d501e33c70a88f14dc47293b9f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
Log Message:
-----------
[X86] matchBinaryPermuteShuffle - match to X86ISD::SHLD funnel shift patterns (#200136)
Add matchShuffleAsVSHLD helper to recognise shuffle masks that can fold to funnel shifts
Fixes #145276
Commit: 174eb79572b3433aa338ede31815fa8fa6a13b29
https://github.com/llvm/llvm-project/commit/174eb79572b3433aa338ede31815fa8fa6a13b29
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/arm/fixdfdi.S
A compiler-rt/lib/builtins/arm/fixdfsi.S
A compiler-rt/lib/builtins/arm/fixsfdi.S
A compiler-rt/lib/builtins/arm/fixsfsi.S
A compiler-rt/lib/builtins/arm/fixunsdfdi.S
A compiler-rt/lib/builtins/arm/fixunsdfsi.S
A compiler-rt/lib/builtins/arm/fixunssfdi.S
A compiler-rt/lib/builtins/arm/fixunssfsi.S
A compiler-rt/test/builtins/Unit/fixdfdinew_test.c
A compiler-rt/test/builtins/Unit/fixdfsinew_test.c
A compiler-rt/test/builtins/Unit/fixsfdinew_test.c
A compiler-rt/test/builtins/Unit/fixsfsinew_test.c
A compiler-rt/test/builtins/Unit/fixunsdfdinew_test.c
A compiler-rt/test/builtins/Unit/fixunsdfsinew_test.c
A compiler-rt/test/builtins/Unit/fixunssfdinew_test.c
A compiler-rt/test/builtins/Unit/fixunssfsinew_test.c
Log Message:
-----------
[compiler-rt][ARM] Optimized FP -> integer conversions (#179927)
This commit adds a total of 8 new functions, all converting a
floating-point number to an integer, varying in 3 independent choices:
* input float format (32-bit or 64-bit)
* output integer size (32-bit or 64-bit)
* output integer type (signed or unsigned)
Commit: cee1c3ba576fc6259510313b73fde56150268c52
https://github.com/llvm/llvm-project/commit/cee1c3ba576fc6259510313b73fde56150268c52
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TargetEnv.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TargetEnv.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
R mlir/test/Dialect/Tosa/fold_concats.mlir
Log Message:
-----------
[mlir][tosa] Limit consecutive concat rewrite to MAX_TENSOR_LIST_SIZE (#199051)
Previously folding could produce an operation that would later be
considered invalid in validation due to the number of operands it has.
This change adds a check to prevent rewriting consecutive concat
operations if the resulting operation has more than MAX_TENSOR_LIST_SIZE
operands, based on the selected target environment level. If no level is
specified, folding will proceed as before.
In addition, this change rewrites the concat folder as a
canonicalization pattern, since it is not a fold of constant operands.
The change also consolidates testing in
canonicalize.mlir.
Commit: 172ea47e6d5b04c4849991ffd5ab0f87d444ab86
https://github.com/llvm/llvm-project/commit/172ea47e6d5b04c4849991ffd5ab0f87d444ab86
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
Log Message:
-----------
[AMDGPU] Use separate tables for VOPD3X and VOPDY in `getCanBeVOPD` (NFC) (#199072)
With this change tables for valid VOPD3X (VOPDX still uses
`getVOPDComponentHelper`) and VOPDY operations are
generated through TableGen. This simplifies the look-up
leading to a 2-3% compile-time speed-up for tested shaders
where `getCanBeVOPD` is on a hot path.
Assisted-by: Claude Code
Commit: 66ee43ce9d66f80cc311e5653478ae83372afb89
https://github.com/llvm/llvm-project/commit/66ee43ce9d66f80cc311e5653478ae83372afb89
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Improve diagnostics for use-after-scope (#200031)
Reuses the function for getting object information that was added in
#199432
Comes as part of completing #186002
Co-authored-by: Utkarsh Saxena <usx at google.com>
Commit: 51d823197cb40a57f25d00882546374d460c649e
https://github.com/llvm/llvm-project/commit/51d823197cb40a57f25d00882546374d460c649e
Author: Matthew Nagy <matthew.nagy at sony.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M compiler-rt/include/sanitizer/tysan_interface.h
M compiler-rt/lib/tysan/tysan.cpp
M compiler-rt/lib/tysan/tysan.h
M compiler-rt/lib/tysan/tysan_interceptors.cpp
A compiler-rt/test/tysan/set_type_unknown-interface.c
Log Message:
-----------
[TySan] Expose __tysan_set_type_unknown interface (#198800)
This can help work around issues like
[#143587](https://github.com/llvm/llvm-project/issues/143587)
The function is renamed with two trailing underscores to match the
naming scheme of the other sanitizers.
Commit: b115dd117ac109ac501b8bc044dbdefd6f5f2471
https://github.com/llvm/llvm-project/commit/b115dd117ac109ac501b8bc044dbdefd6f5f2471
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lldb/test/API/commands/register/aarch64_dynamic_regset/main.c
M lldb/test/API/commands/register/aarch64_sve_registers/rw_access_static_config/main.c
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
M llvm/test/CodeGen/AArch64/aarch64-sysreg128.ll
A llvm/test/CodeGen/AArch64/arm64-invalid-sys-reg.ll
R llvm/test/CodeGen/AArch64/arm64-named-reg-notareg.ll
M llvm/test/CodeGen/AArch64/expand-sme-pseudos.mir
M llvm/test/CodeGen/AArch64/machine-sme-abi-find-insert-pt.mir
M llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
M llvm/test/CodeGen/AArch64/sme-abi-eh-liveins.mir
M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
M llvm/test/CodeGen/AArch64/special-reg.ll
M llvm/test/MC/AArch64/arm64-system-encoding.s
M llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s
M llvm/test/MC/AArch64/armv9-mrrs.s
M llvm/test/MC/AArch64/armv9-msrr-diagnostics.s
M llvm/test/MC/AArch64/armv9-msrr.s
M llvm/test/MC/AArch64/basic-a64-instructions.s
M llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt
M llvm/test/MC/Disassembler/AArch64/armv8.4a-dit.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-dataproc.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-mte.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-sb.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-ssbs.txt
M llvm/test/MC/Disassembler/AArch64/armv8.7a-wfxt.txt
M llvm/test/MC/Disassembler/AArch64/armv8.7a-xs.txt
M llvm/test/MC/Disassembler/AArch64/armv8.8a-nmi.txt
M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
Log Message:
-----------
[AArch64] Fix definition of system register move instructions (#185709)
Current implementation of these instructions makes bit20 in the encoding
part of the system register operand, which is incorrect since
[specification](https://developer.arm.com/documentation/ddi0602/latest)
specifies that bit must be set to 1. This patch changes that and removes
the bit 20 from the encoding of the operand and makes it fixed field for
these instructions. It also fixes the parser and codegen by checking
that Op0 in system register name/encoding is correctly constrained to 2
or 3.
Depends on #185970
Commit: a554a1989f60ebb292b198bbbe084b5a34f880c5
https://github.com/llvm/llvm-project/commit/a554a1989f60ebb292b198bbbe084b5a34f880c5
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A clang/test/Driver/dxc_section_emission.hlsl
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
A llvm/test/CodeGen/DirectX/ContainerData/DebugName-DXIL.ll
M llvm/test/CodeGen/DirectX/lit.local.cfg
Log Message:
-----------
[DirectX] Generate shader debug file name part in llc (#199555)
This change modifies DXContainerGlobals pass to generate debug name
(ILDN) part in DXContainer. ILDN part allows consumers to find PDB file
containing shader debug info.
As ILDB emission PR is not merged yet, and PDB file creation is not
upstreamed yet, debug name is generated based on MD5-hash of bitcode
module in DXIL part.
This corresponds to DXC behavior when a shader is compiled with `/Zi
/Qembed_debug /Zsb` flags (with `/Qembed_debug`, DXC does not produce an
actual PDB file, but still emits ILDN, `/Zsb` tells DXC to use bitcode
from DXIL to compute hash).
However, here ILDN is emitted for any debug info flag configuration.
assuming that it won't break debug info consumers, and that PDB creation
will be added later.
Commit: eb1b57c639947ad381d9dff6093c2b8085b99d0f
https://github.com/llvm/llvm-project/commit/eb1b57c639947ad381d9dff6093c2b8085b99d0f
Author: ritter-x2a <9519134+ritter-x2a at users.noreply.github.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Specify that syncscopes can affect the monotonic modification order (#189017)
If a target specifies that atomics with mismatching syncscopes appear
non-atomic to each other, there is no point in requiring them to be ordered in
the monotonic modification order. Notably, the [AMDGPU target user
guide](https://llvm.org/docs/AMDGPUUsage.html#memory-scopes) has specified
syncscopes to relax the modification order for years.
So far, I haven't found an example where this less constrained ordering would
be observable (at least with the AMDGPU inclusive scope rules). Whenever a load
would be able to see two monotonic stores with non-inclusive scope, that's
considered a data race (i.e., the load would return `undef`), so it cannot be
used to observe the order of the stores.
Related RFC: https://discourse.llvm.org/t/rfc-clarifying-llvm-irs-concurrent-memory-model/90480
Commit: dbebcb02d3d8f2e92e1ba235992fb43b5fad50a3
https://github.com/llvm/llvm-project/commit/dbebcb02d3d8f2e92e1ba235992fb43b5fad50a3
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
Log Message:
-----------
[mlir][spirv] Remove unnecessary assertion (#200137)
The use of the variable in the assertion was causing a build failure
when compiling with assertion off and hence the variable becomes unused.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 326a1320dc98be6ce17270a2138b76f2036aaa5e
https://github.com/llvm/llvm-project/commit/326a1320dc98be6ce17270a2138b76f2036aaa5e
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
Log Message:
-----------
[LSR][AArch64] Precommit tests showing lack of `mul vl` addressing (NFC) (#200149)
These loops could be using `mul vl` addressing in the loop and use fewer
base registers and have a smaller loop setup.
Commit: dbdbb8d6afd8d30a0074ee0aadc2dbf81c0e8d02
https://github.com/llvm/llvm-project/commit/dbdbb8d6afd8d30a0074ee0aadc2dbf81c0e8d02
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M libcxx/include/__type_traits/conditional.h
Log Message:
-----------
[libc++] Simplify the implementation of conditional a bit (#199916)
We can use our internal `_If` instead of specializing `conditional` for
selecting the appropriate type.
Commit: ff7e6bbb7f1187a839690b2832507038b5ea2fc3
https://github.com/llvm/llvm-project/commit/ff7e6bbb7f1187a839690b2832507038b5ea2fc3
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/include/llvm/CodeGen/AntiDepBreaker.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/AsmPrinterAnalysis.h
M llvm/include/llvm/CodeGen/AssignmentTrackingAnalysis.h
M llvm/include/llvm/CodeGen/AtomicExpand.h
M llvm/include/llvm/CodeGen/BasicBlockMatchingAndInference.h
M llvm/include/llvm/CodeGen/BasicBlockSectionUtils.h
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/BranchFoldingPass.h
M llvm/include/llvm/CodeGen/BranchRelaxation.h
M llvm/include/llvm/CodeGen/CFIFixup.h
M llvm/include/llvm/CodeGen/CalcSpillWeights.h
M llvm/include/llvm/CodeGen/CodeGenCommonISel.h
M llvm/include/llvm/CodeGen/CodeGenPrepare.h
M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
M llvm/include/llvm/CodeGen/DFAPacketizer.h
M llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h
M llvm/include/llvm/CodeGen/DeadMachineInstructionElim.h
M llvm/include/llvm/CodeGen/DebugHandlerBase.h
M llvm/include/llvm/CodeGen/DetectDeadLanes.h
M llvm/include/llvm/CodeGen/DwarfEHPrepare.h
M llvm/include/llvm/CodeGen/EarlyIfConversion.h
M llvm/include/llvm/CodeGen/EdgeBundles.h
M llvm/include/llvm/CodeGen/ExecutionDomainFix.h
M llvm/include/llvm/CodeGen/ExpandIRInsts.h
M llvm/include/llvm/CodeGen/ExpandPostRAPseudos.h
M llvm/include/llvm/CodeGen/ExpandReductions.h
M llvm/include/llvm/CodeGen/ExpandVectorPredication.h
M llvm/include/llvm/CodeGen/FEntryInserter.h
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/include/llvm/CodeGen/FaultMaps.h
M llvm/include/llvm/CodeGen/FinalizeISel.h
M llvm/include/llvm/CodeGen/FixupStatepointCallerSaved.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/GCEmptyBasicBlocks.h
M llvm/include/llvm/CodeGen/GCMetadataPrinter.h
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
M llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
M llvm/include/llvm/CodeGen/GlobalMerge.h
M llvm/include/llvm/CodeGen/GlobalMergeFunctions.h
M llvm/include/llvm/CodeGen/HardwareLoops.h
M llvm/include/llvm/CodeGen/IndirectBrExpand.h
M llvm/include/llvm/CodeGen/InitUndef.h
M llvm/include/llvm/CodeGen/InlineAsmPrepare.h
M llvm/include/llvm/CodeGen/InsertCodePrefetch.h
M llvm/include/llvm/CodeGen/InterleavedAccess.h
M llvm/include/llvm/CodeGen/InterleavedLoadCombine.h
M llvm/include/llvm/CodeGen/IntrinsicLowering.h
M llvm/include/llvm/CodeGen/JMCInstrumenter.h
M llvm/include/llvm/CodeGen/KCFI.h
M llvm/include/llvm/CodeGen/LatencyPriorityQueue.h
M llvm/include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h
M llvm/include/llvm/CodeGen/LexicalScopes.h
M llvm/include/llvm/CodeGen/LibcallLoweringInfo.h
M llvm/include/llvm/CodeGen/LiveDebugValuesPass.h
M llvm/include/llvm/CodeGen/LiveDebugVariables.h
M llvm/include/llvm/CodeGen/LiveIntervalUnion.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/LiveRangeEdit.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/CodeGen/LiveStacks.h
M llvm/include/llvm/CodeGen/LocalStackSlotAllocation.h
M llvm/include/llvm/CodeGen/LoopTraversal.h
M llvm/include/llvm/CodeGen/LowerEmuTLS.h
M llvm/include/llvm/CodeGen/MBFIWrapper.h
M llvm/include/llvm/CodeGen/MIR2Vec.h
M llvm/include/llvm/CodeGen/MIRFSDiscriminator.h
M llvm/include/llvm/CodeGen/MIRFSDiscriminatorOptions.h
M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
M llvm/include/llvm/CodeGen/MIRSampleProfile.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineBlockHashInfo.h
M llvm/include/llvm/CodeGen/MachineBlockPlacement.h
M llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h
M llvm/include/llvm/CodeGen/MachineCSE.h
M llvm/include/llvm/CodeGen/MachineConstantPool.h
M llvm/include/llvm/CodeGen/MachineCopyPropagation.h
M llvm/include/llvm/CodeGen/MachineDominanceFrontier.h
M llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/MachineIDFSSAUpdater.h
M llvm/include/llvm/CodeGen/MachineLateInstrsCleanup.h
M llvm/include/llvm/CodeGen/MachineLoopUtils.h
M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/include/llvm/CodeGen/MachineRegionInfo.h
M llvm/include/llvm/CodeGen/MachineSSAUpdater.h
M llvm/include/llvm/CodeGen/MachineSink.h
M llvm/include/llvm/CodeGen/MachineTraceMetrics.h
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/CodeGen/MultiHazardRecognizer.h
M llvm/include/llvm/CodeGen/OptimizePHIs.h
M llvm/include/llvm/CodeGen/PEI.h
M llvm/include/llvm/CodeGen/PHIElimination.h
M llvm/include/llvm/CodeGen/PatchableFunction.h
M llvm/include/llvm/CodeGen/PeepholeOptimizer.h
M llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h
M llvm/include/llvm/CodeGen/PostRAMachineSink.h
M llvm/include/llvm/CodeGen/PostRASchedulerList.h
M llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h
M llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
M llvm/include/llvm/CodeGen/RDFGraph.h
M llvm/include/llvm/CodeGen/RDFLiveness.h
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/CodeGen/RegAllocGreedyPass.h
M llvm/include/llvm/CodeGen/RegAllocPBQP.h
M llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
M llvm/include/llvm/CodeGen/RegUsageInfoCollector.h
M llvm/include/llvm/CodeGen/RegUsageInfoPropagate.h
M llvm/include/llvm/CodeGen/RegisterBankInfo.h
M llvm/include/llvm/CodeGen/RegisterCoalescerPass.h
M llvm/include/llvm/CodeGen/RegisterScavenging.h
M llvm/include/llvm/CodeGen/RegisterUsageInfo.h
M llvm/include/llvm/CodeGen/Rematerializer.h
M llvm/include/llvm/CodeGen/RemoveLoadsIntoFakeUses.h
M llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h
M llvm/include/llvm/CodeGen/RenameIndependentSubregs.h
M llvm/include/llvm/CodeGen/ResourcePriorityQueue.h
M llvm/include/llvm/CodeGen/SDNodeInfo.h
M llvm/include/llvm/CodeGen/SafeStack.h
M llvm/include/llvm/CodeGen/SanitizerBinaryMetadata.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/include/llvm/CodeGen/ScheduleDFS.h
M llvm/include/llvm/CodeGen/ScheduleHazardRecognizer.h
M llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h
M llvm/include/llvm/CodeGen/SelectOptimize.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/ShadowStackGCLowering.h
M llvm/include/llvm/CodeGen/ShrinkWrap.h
M llvm/include/llvm/CodeGen/SjLjEHPrepare.h
M llvm/include/llvm/CodeGen/SpillPlacement.h
M llvm/include/llvm/CodeGen/Spiller.h
M llvm/include/llvm/CodeGen/StackColoring.h
M llvm/include/llvm/CodeGen/StackFrameLayoutAnalysisPass.h
M llvm/include/llvm/CodeGen/StackProtector.h
M llvm/include/llvm/CodeGen/StackSlotColoring.h
M llvm/include/llvm/CodeGen/SwiftErrorValueTracking.h
M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
M llvm/include/llvm/CodeGen/TailDuplicator.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TwoAddressInstructionPass.h
M llvm/include/llvm/CodeGen/TypePromotion.h
M llvm/include/llvm/CodeGen/UnreachableBlockElim.h
M llvm/include/llvm/CodeGen/VLIWMachineScheduler.h
M llvm/include/llvm/CodeGen/WasmEHPrepare.h
M llvm/include/llvm/CodeGen/WinEHFuncInfo.h
M llvm/include/llvm/CodeGen/WinEHPrepare.h
M llvm/include/llvm/CodeGen/WindowScheduler.h
M llvm/include/llvm/CodeGen/XRayInstrumentation.h
Log Message:
-----------
llvm: Fix most LLVM_ABI annotations in CodeGen (#199921)
This updates most LLVM_ABI annotations in the CodeGen headers to match
expected usage:
* All public APIs should be properly annotated.
* Inlined functions should not be annotated.
These changes were done by a script fixing annotations on LLVM public
headers and manually checked.
This effort is tracked in #109483.
Commit: 4683f6ba6152e26c22adeaa4daf46732492228e5
https://github.com/llvm/llvm-project/commit/4683f6ba6152e26c22adeaa4daf46732492228e5
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Fix data race on disconnecting (#200017)
Guard m_disconnecting with the m_queue_mutex because the value can be
changed in multiple threads
Commit: f6758a5664a61596ea601ea44304aab798c33962
https://github.com/llvm/llvm-project/commit/f6758a5664a61596ea601ea44304aab798c33962
Author: ejose02 <ejose at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M flang/lib/Frontend/FrontendAction.cpp
A flang/test/Preprocessing/show-macros-stdin.f90
Log Message:
-----------
[flang] Fix -E -dM macro dumping for stdin and .f90 inputs (#200144)
Issue:
flang -E -dM does not consistently print predefined macros for stdin and
.f90 inputs, unlike expected behavior.
Root cause:
Flang only initialized predefined macros when preprocessing was implied
by -cpp or suffix-based inference (mustBePreprocessed), but not when -dM
alone requested macro dumping.
Fix:
Treat -dM as an explicit trigger to initialize macro predefinitions in,
and add a stdin regression test for flang -E -dM - < /dev/null.
Fixes #198234
Commit: 5cac2751fb9cf3112d16717b278e40d07dd6cfdc
https://github.com/llvm/llvm-project/commit/5cac2751fb9cf3112d16717b278e40d07dd6cfdc
Author: Rong "Mantle" Bao <rong.bao at csmantle.top>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/stack-clash-protection.c
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-f.ll
A llvm/test/CodeGen/LoongArch/stack-clash-prologue-nounwind.ll
A llvm/test/CodeGen/LoongArch/stack-clash-prologue.ll
A llvm/test/CodeGen/LoongArch/stack-probing-dynamic-nonentry.ll
A llvm/test/CodeGen/LoongArch/stack-probing-dynamic.ll
A llvm/test/CodeGen/LoongArch/stack-probing-frame-setup.mir
Log Message:
-----------
[LoongArch] Add `-fstack-clash-protection` support (#195595)
This PR adds stack probing and `-fstack-clash-protection` support to the
LoongArch backend and Clang driver.
The implementation is largely borrowed from the RISCV backend (cf.
#117612, #139731), with the same allocation-unrolling strategy for
const-sized allocations.
Commit: 8ecfd9b96df46fc394173e4e6fecdac6381f37b6
https://github.com/llvm/llvm-project/commit/8ecfd9b96df46fc394173e4e6fecdac6381f37b6
Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M mlir/include/mlir/Target/SPIRV/SPIRVExtInstSets.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[BUILD]: Fix for af772866 (#200158)
Commit: 5b32c6e99e8dba8d1415b2d65f38650e3cff9951
https://github.com/llvm/llvm-project/commit/5b32c6e99e8dba8d1415b2d65f38650e3cff9951
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[InstCombine] Drop the correct assume when working on assume bundles (#198404)
Currently, all assumes of the same kind in an assume bundle are dropped,
even though only a single one is actually checked to be redundant and
should be dropped. This introduces a new `removeOperandFromBundleAt`,
which instead drops a bundle at a specific position. This should also be
faster, since copying the bundles can now be done into an already
correctly allocated vector.
Commit: 9107dacd6e41c4b65c503c1fa199a1e30a8356a5
https://github.com/llvm/llvm-project/commit/9107dacd6e41c4b65c503c1fa199a1e30a8356a5
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/AssumptionCache.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/CFGSCCPrinter.h
M llvm/include/llvm/Analysis/CmpInstAnalysis.h
M llvm/include/llvm/Analysis/CostModel.h
M llvm/include/llvm/Analysis/CycleAnalysis.h
M llvm/include/llvm/Analysis/DDGPrinter.h
M llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
M llvm/include/llvm/Analysis/Delinearization.h
M llvm/include/llvm/Analysis/DomConditionCache.h
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/GuardUtils.h
M llvm/include/llvm/Analysis/HashRecognize.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/IVUsers.h
M llvm/include/llvm/Analysis/IndirectCallPromotionAnalysis.h
M llvm/include/llvm/Analysis/InstCount.h
M llvm/include/llvm/Analysis/KernelInfo.h
M llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h
M llvm/include/llvm/Analysis/LazyBranchProbabilityInfo.h
M llvm/include/llvm/Analysis/LazyValueInfo.h
M llvm/include/llvm/Analysis/Lint.h
M llvm/include/llvm/Analysis/LoopCacheAnalysis.h
M llvm/include/llvm/Analysis/LoopIterator.h
M llvm/include/llvm/Analysis/MLInlineAdvisor.h
M llvm/include/llvm/Analysis/MemDerefPrinter.h
M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
M llvm/include/llvm/Analysis/ModuleDebugInfoPrinter.h
M llvm/include/llvm/Analysis/ObjCARCAliasAnalysis.h
M llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
M llvm/include/llvm/Analysis/ObjCARCInstKind.h
M llvm/include/llvm/Analysis/OverflowInstAnalysis.h
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/Analysis/RegionInfo.h
M llvm/include/llvm/Analysis/ReplayInlineAdvisor.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ScalarEvolutionDivision.h
M llvm/include/llvm/Analysis/StackLifetime.h
M llvm/include/llvm/Analysis/StackSafetyAnalysis.h
M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/Analysis/StructuralHash.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/Trace.h
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/include/llvm/Analysis/UniformityAnalysis.h
M llvm/include/llvm/Analysis/ValueLatticeUtils.h
M llvm/lib/Analysis/DominanceFrontier.cpp
M llvm/lib/Analysis/RegionInfo.cpp
Log Message:
-----------
llvm: Fix most LLVM_ABI annotations in Analysis (#199019)
This updates most LLVM_ABI annotations in the Analysis headers to match
expected usage:
* All public APIs should be properly annotated.
* Inlined functions should not be annotated.
These changes were done by a script fixing annotations on LLVM public
headers and manually checked.
This effort is tracked in #109483.
Commit: 61b5b08623e8457e28bce2984593632a9774be96
https://github.com/llvm/llvm-project/commit/61b5b08623e8457e28bce2984593632a9774be96
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M libc/test/integration/src/__support/GPU/CMakeLists.txt
Log Message:
-----------
[libc] Move fixed buffer GPU test to an integration test (#200042)
Move the `fixedbuffer` GPU test to an integration test.
libc tests are intended to be GTest style tests written with the normal
`TEST(Suite, Test)` GTest macros. Example
[here](https://github.com/llvm/llvm-project/blob/main/libc/test/include/SignbitTest.h#L32).
This test has its own `main` which ends up causing a `main multiple
definitions` linker error when compiling for SPIR-V (work in progress).
I'm not sure why this error doesn't occur for AMDGPU, probably the fact
we have to compile with a ton less compile/linker flags for SPIR-V and
one of them hides the issue.
Specifically the fix is that we don't link against
`libc/test/UnitTest/CMakeFiles/LibcTest.hermetic.dir/LibcTestMain.cpp.o`
which has its own main which conflicts with the one defined in the test.
All other tests in this directory are integration tests too.
A quick check of other uses of the `TEST_MAIN` macro also showed them
using `add_integration_test` and not `add_libc_test`.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 3e8fc3561fb5ccd50441804a56244fac6142e7b4
https://github.com/llvm/llvm-project/commit/3e8fc3561fb5ccd50441804a56244fac6142e7b4
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
A clang/test/CIR/CodeGen/coro-exceptions.cpp
Log Message:
-----------
[CIR] Implement 'coroutine' exception handling lowering (#200045)
This patch implements the lowering to CIR for exception handling.
Unfortunately the missing components of Flatten-CFG don't work here, so
we only test that we get successfully to CIR, not to LLVM-IR.
This patch runs the 'await-resume' in a try/catch, and only if that
succeeds, does it run the coroutine body (also in a try/catch if there
is an exception handler).
This is nearly identical to the implementation in classic-codegen,
except we invert the resume-eh variable's value, so we can just use a
simple `if` op for the branch.
Commit: 4471b623631534fb9bf50f55150594be69a305e8
https://github.com/llvm/llvm-project/commit/4471b623631534fb9bf50f55150594be69a305e8
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub] Add InstCombine Contributor Guide to new contributor greeting comment (#199730)
I have always manually replied to new contributors, reminding them to
follow the InstCombine contributor guide. Let’s automate this process.
Now it will append the link to the guide when the PR changes the
InstCombine (and highly related components) files.
Commit: 98c7814ca93baa6976b92a753d8a6364915266f0
https://github.com/llvm/llvm-project/commit/98c7814ca93baa6976b92a753d8a6364915266f0
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/test/tools/llubi/alloca.ll
M llvm/test/tools/llubi/assume_misalign_all_ones.ll
M llvm/test/tools/llubi/assume_null.ll
M llvm/test/tools/llubi/assume_null_all_ones.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_nullary_provenance.ll
M llvm/test/tools/llubi/attributes.ll
M llvm/test/tools/llubi/bitcast_be.ll
M llvm/test/tools/llubi/bitcast_le.ll
M llvm/test/tools/llubi/freeze.ll
M llvm/test/tools/llubi/gep.ll
M llvm/test/tools/llubi/inttoptr.ll
M llvm/test/tools/llubi/lib_calloc_large_size.ll
M llvm/test/tools/llubi/lib_calloc_size_overflow.ll
M llvm/test/tools/llubi/lib_free_nullary_pointer.ll
M llvm/test/tools/llubi/lib_malloc_large_size.ll
M llvm/test/tools/llubi/loadstore_be.ll
M llvm/test/tools/llubi/loadstore_le.ll
M llvm/test/tools/llubi/loadstore_uaf.ll
M llvm/test/tools/llubi/metadata.ll
M llvm/test/tools/llubi/store_dead.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Add basic support for provenance modeling (#185977)
There are four solutions to model the provenance in the memory:
1. `(allocid, bitindex)` for each bit: It follows the definition of byte
type.
2. `(allocid, bitindex)` for each byte: This assumes the pointer/byte
types are always byte-sized, and requires bitextract/bitinsert to shift
by multiples of 8, as posted in
https://discourse.llvm.org/t/rfc-add-a-new-byte-type-to-llvm-ir/89522/53.
I believe this is true in most real-world cases.
3. Assign a random tag for each memory object: The tag has the same
width as the address. It is stored in the memory like addresses. Thus,
each logical byte only occupies 4 bytes. When loading a pointer, the tag
is loaded and used to recover the provenance. Incorrect bit ordering
will result in nullary provenance (with a negligible rate of false
negatives). I think it is feasible because we can always turn a false
negative into a positive with a different seed. It is also compatible
with captured components
(https://github.com/dtcxzyw/llvm-ub-aware-interpreter/blob/d15dfef5bc0c1b30b05512bbc28fddb2b50cc0b1/ubi.h#L187)
and noalias (https://jhostert.de/blog/2025/noalias/) if we maintain the
tree structure in a hashmap.
4. Maintains a `addr -> provenance` map like
[miri](https://github.com/rust-lang/rust/blob/main/compiler/rustc_middle/src/mir/interpret/allocation/provenance_map.rs).
It also looks expensive to maintain the provenance at the bit level.
This patch implements the third approach. After
https://github.com/llvm/llvm-project/pull/178666 lands, I can add more
tests to play with byte types.
Commit: 9f82a4e41f9a0101488cd81444adfa646063dbc5
https://github.com/llvm/llvm-project/commit/9f82a4e41f9a0101488cd81444adfa646063dbc5
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/arm64-ldst-unscaled-pre-post.mir
M llvm/test/CodeGen/AArch64/ldst-miflags.mir
M llvm/test/CodeGen/AArch64/ldst-opt.mir
M llvm/test/CodeGen/AArch64/ldst_update_cfpath.mir
M llvm/test/CodeGen/AArch64/memtag-merge-writeback.mir
M llvm/test/CodeGen/AArch64/no-reorder-cfi-merge-back-load.mir
M llvm/test/CodeGen/AArch64/no-reorder-cfi-merge-fwd-load.mir
M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
A llvm/test/CodeGen/AArch64/volatile-reg-writeback.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-memcpy.ll
Log Message:
-----------
[AArch64] Do not generate indexed addressing mode for volatile accesses (#196305)
Instructions performing register writeback do not set a valid
instruction syndrome, making it impossible to handle MMIO in protected
hypervisors. Suppress the use of postinc/preinc addressing modes for
volatile accesses, which may be used to interact with MMIO.
There are three different places that can form indexed addressing modes:
* GISel via isIndexingLegal()
* SDAG via getPreIndexedAddressParts() and getPostIndexedAddressParts()
* AArch64LoadStoreOptimizer
The the latter case, exclude volatile accesses on SP (which are relevant
for stack probing) and MTE tag stores, as both cannot be MMIO.
Fixes https://github.com/llvm/llvm-project/issues/173014.
Commit: 34f294ccbca8c820fffd0538015499108f6600aa
https://github.com/llvm/llvm-project/commit/34f294ccbca8c820fffd0538015499108f6600aa
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
R flang/test/Semantics/OpenMP/detach-symbols.f90
Log Message:
-----------
[flang][OpenMP] Event handles are not predetermined shared (#200055)
An event-handle variable that appears in a DETACH has its data-sharing
attributes determined according to the usual rules in the constructs
enclosing the clause.
Commit: 7fb99eefbc6eb6850cb392165388fd87b61b526b
https://github.com/llvm/llvm-project/commit/7fb99eefbc6eb6850cb392165388fd87b61b526b
Author: Prerona Chaudhuri <pchaudhuri at nvidia.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Analysis/CallGraphSCCPass.cpp
A llvm/test/Other/legacy-callgraph-scc-pass-printer.ll
Log Message:
-----------
Emit newline after IR-dump banner in PrintCallGraphPass (#199410)
Required for Compiler Explorer's opt-pipeline viewer: the tool parses
pass output by splitting on the IR-dump banner line, so the banner must
end with a newline. Without it, targets that exercise this pass cannot
be inspected through the opt-pipeline feature.
Assisted by Claude.
Commit: ee3709b5db6fa563674c7f7dcaf72a85d19a1656
https://github.com/llvm/llvm-project/commit/ee3709b5db6fa563674c7f7dcaf72a85d19a1656
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64] Lower SUMLA via two udot products on plain dotprod targets. (#199761)
Lower PARTIAL_REDUCE_SUMLA on targets without i8mm using udot via
sum(mul (zext %a, sext %b)) =
sum(mul zext %a, zext (xor %b, 0x80)) -
sum(mul 128, zext %a)
using sext(s) = zext(xor(s, 0x80)) - 128
(https://alive2.llvm.org/ce/z/8G8rer)
Alive2 proofs:
* mul (zext, sext) https://alive2.llvm.org/ce/z/8Av7rG
* mul (sext, zext) https://alive2.llvm.org/ce/z/g-gJGq
PR: https://github.com/llvm/llvm-project/pull/199761
Commit: da4e5cc928c8f8000643e48bc2790b51927eeac6
https://github.com/llvm/llvm-project/commit/da4e5cc928c8f8000643e48bc2790b51927eeac6
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/rounding-demanded-bits.ll
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-known-bits.ll
Log Message:
-----------
[SCEV] Canonicalise round-up idiom when some bits known (#197126)
Since #174380, instcombine can clear some set bits in the added constant
in expressions like this, when A has some known-clear low order bits.
(A + 15) & ~15
This transformation is valid, but can make it harder for later passes to
recognise this idiom for rounding up to a power of 2. This is causing
the ARM MVE tail predication pass to fail on loops with a trip count
which is a multiple of a small power of 2.
The fix is to reverse the transformation when building SCEV expressions,
canonicalising to always use the largest valid value for the added
constant.
Alive proofs:
https://alive2.llvm.org/ce/z/hhndoW
https://alive2.llvm.org/ce/z/_JYVat
Commit: ebe8595c0012674eb5ce7427ee938214f711ca66
https://github.com/llvm/llvm-project/commit/ebe8595c0012674eb5ce7427ee938214f711ca66
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
Log Message:
-----------
[lldb][NFCI] Cleanup APIs in AppleObjCClassDescriptorV2 (#200122)
This removes unnecessary unique_ptrs and uses better error handling
(expected instead of bools).
Commit: c8ef5dcfae341d176cd84a182c320d61afc441cf
https://github.com/llvm/llvm-project/commit/c8ef5dcfae341d176cd84a182c320d61afc441cf
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Directly pass SrcEltTy when constructing WideGEP (NFC) (#200043)
Avoid getting the source element type from the underlying instruction,
and make the underlying instruction optional.
Commit: 5d29057a58760454c96411d27a92b8d80e40b048
https://github.com/llvm/llvm-project/commit/5d29057a58760454c96411d27a92b8d80e40b048
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M .github/actions/push-container/action.yml
Log Message:
-----------
actions/push-container: Remove template expansion (#200062)
https://github.com/llvm/llvm-project/security/code-scanning/1757
Commit: d5edbe411d8f60d13a5aeb2a4b0764dbb83a6155
https://github.com/llvm/llvm-project/commit/d5edbe411d8f60d13a5aeb2a4b0764dbb83a6155
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
workflows/upload-release-artifact: Validate input and remove template expansion (#199972)
https://github.com/llvm/llvm-project/security/code-scanning/1757
https://github.com/llvm/llvm-project/security/code-scanning/1758
https://github.com/llvm/llvm-project/security/code-scanning/1759
https://github.com/llvm/llvm-project/security/code-scanning/1760
https://github.com/llvm/llvm-project/security/code-scanning/1761
Commit: 992ee5934c1142c00dc09589380b8277cc43ef09
https://github.com/llvm/llvm-project/commit/992ee5934c1142c00dc09589380b8277cc43ef09
Author: Matt Turner <mattst88 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
A compiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_alpha.inc
Log Message:
-----------
Add support for Alpha to libsanitizer (#194161)
Add support for [Alpha](https://en.wikipedia.org/wiki/DEC_Alpha) to
libsanitizer.
- [sanitizer] Add SANITIZER_ALPHA platform macro
- [sanitizer] Add Linux/Alpha syscall implementation
- [sanitizer] Skip __old_kernel_stat check on Alpha
- [sanitizer] Use statx for stat syscalls on Linux/Alpha
- [sanitizer] Add GetPcSpBp signal context support for Alpha
- [sanitizer] Add Alpha struct size constants
- [sanitizer] Add Alpha ioctl encoding constants
- [compiler-rt] sanitizer: Alpha struct sigaction has no sa_restorer
- [compiler-rt] sanitizer: Disable interceptor trampoline on Alpha
- [compiler-rt] sanitizer: Add Alpha __sanitizer_dirent layout
- [compiler-rt] sanitizer: Add Alpha ThreadDescriptorSizeFallback()
- [compiler-rt] Enable Alpha Linux target
- [compiler-rt] Use fixed shadow offset 0x10000000000 (1T) for Alpha
- [compiler-rt][ASan] Limit allocator to 512G on Alpha
Tested by porting the changes to gcc's downstream libsanitizer and
building and running the libunwind test suite with UBSan / ASan enabled.
Commit: 2766733764f4bdf8399d48c0225e9c64bdfa95f7
https://github.com/llvm/llvm-project/commit/2766733764f4bdf8399d48c0225e9c64bdfa95f7
Author: Guy David <guyda96 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
Log Message:
-----------
[compiler-rt][profile] Add COMPILER_RT_BUILD_PROFILE_ROCM option (#200127)
Commit: 34e7ecaf872f324c11d1e7e631831f2876cd8bd0
https://github.com/llvm/llvm-project/commit/34e7ecaf872f324c11d1e7e631831f2876cd8bd0
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/IR/Constants.cpp
Log Message:
-----------
[IR] Avoid caching a DenseMap reference across erase in handleOperandChangeImpl. NFC (#200179)
They bind a reference into the map and write through it after erasing
the old entry. This will not hold for backward-shift deletion. Extracted
from #199615
Commit: b43dcbeffe022d5e03d60c4091c92f651c4f20a4
https://github.com/llvm/llvm-project/commit/b43dcbeffe022d5e03d60c4091c92f651c4f20a4
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/arithmetic-poison-execmode-metadata.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/arithmetic-poison-execmode-negative.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/arithmetic-poison-execmode.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/freeze.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/poison-composite.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/poison.ll
Log Message:
-----------
Implement SPV_KHR_poison_freeze extension (#198037)
Specification can be found here:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/KHR/SPV_KHR_poison_freeze.asciidoc
Commit: 3c21a0cbad43398d47fb2a95b242a02f084dd767
https://github.com/llvm/llvm-project/commit/3c21a0cbad43398d47fb2a95b242a02f084dd767
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/i128-icmp.ll
Log Message:
-----------
[SPIR-V] Add s128 to allPtrsScalarsAndVectors in legalizer (#199998)
Without this, i128 G_ICMP fails legalization before OpTypeInt emits the
diagnostic
---------
Co-authored-by: Dmitry Sidorov <dsidorov at amd.com>
Commit: 5536348d060066e875c9bf9e056447ece59c783d
https://github.com/llvm/llvm-project/commit/5536348d060066e875c9bf9e056447ece59c783d
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/utils/lit/lit/TestingConfig.py
Log Message:
-----------
[lit] Handle config loading safely (#200168)
Currently, the config file is opened outside the `try` block without
explicit encoding and handled with a bare `except`.
We can move to putting a `with open()` context manager inside the `try`
block and catching OSError.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: a16511c2d9697e7c5a9a9bc10948762666573c3c
https://github.com/llvm/llvm-project/commit/a16511c2d9697e7c5a9a9bc10948762666573c3c
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/clang/Driver/Types.def
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
M clang/test/Driver/modules-driver-dep-graph-stdlib-modules.cpp
M clang/test/Driver/modules-driver-import-std.cpp
Log Message:
-----------
[clang][modules-driver] Precompile std modules independently of -o and final phase (#199289)
With this, Standard library modules are always precompiled as the
primary output of their `-cc1` invocation, instead of being produced as
a byproduct of compiling the Standard library modules to object files.
This also keeps Standard library module precompilation independent of
the final phase specified on the command line, so importing them keep
working under `-fsyntax-only` (and other command-line options that
specify the final phase).
This also makes the Standard library module precompilation independent
of the `-o` flag, so that a command like `clang -std=c++23
-fmodules-driver main.cpp -o main` no longer redirects the Standard
library module outputs to 'main', breaking the compilation.
Commit: 8ab00f2c21e5975f5de977ca68607b4acc23c856
https://github.com/llvm/llvm-project/commit/8ab00f2c21e5975f5de977ca68607b4acc23c856
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll
M llvm/test/CodeGen/Generic/available_externally_alias.ll
Log Message:
-----------
[z/OS][tests] XFAIL using aliases on z/OS (#200176)
This PR XFAIL 2 lit test cases as the following errors are expected:
```
FAIL: LLVM :: CodeGen/Generic/available_externally_alias.ll
# | <unknown>:0: error: Only aliases to functions is supported in GOFF.
FAIL: LLVM :: CodeGen/Generic/2009-03-17-LSR-APInt.ll
# | <unknown>:0: error: Weak alias/reference not supported on z/OS
```
Commit: f24ee22550de8bfe926df7a6358f307023b8f24b
https://github.com/llvm/llvm-project/commit/f24ee22550de8bfe926df7a6358f307023b8f24b
Author: ioana ghiban <ioana.ghiban at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-dealloc.mlir
R mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc.mlir
Log Message:
-----------
[mlir][EmitC] Include DeallocOp in AllocOp memref conversion tests (#198275)
This PR helps keep changes introduced in
https://github.com/llvm/llvm-project/pull/194591 visible, by renaming
files in a separate commit.
Commit: 3e92883e83f76926467adaee8d81902c407823a9
https://github.com/llvm/llvm-project/commit/3e92883e83f76926467adaee8d81902c407823a9
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/test/type-hierarchy-ext.test
M clang-tools-extra/clangd/test/type-hierarchy.test
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
Log Message:
-----------
[clangd] Remove redundant symbol name from hierarchy item details (#170112)
Closes clangd/clangd#2346.
Commit: c20c666e7df2b09fb51704d5e44dce94503baa76
https://github.com/llvm/llvm-project/commit/c20c666e7df2b09fb51704d5e44dce94503baa76
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
Log Message:
-----------
[lldb][NFCI] Cleanup AppleObjCClassDescriptorV2::objc_class_t API (#200180)
Commit: 082ac6e3eaaa33b579f9e4c67a84599e9d49e9d4
https://github.com/llvm/llvm-project/commit/082ac6e3eaaa33b579f9e4c67a84599e9d49e9d4
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/utils/lit/lit/ShUtil.py
Log Message:
-----------
[lit] Optimize ShLexer string construction (#199641)
`lex_arg_quoted` and `lex_arg_slow` methods in the `lit`'s `ShLexer`
class used `+=` for string concatenation, which was inefficient. This change
replaces that pattern by collecting string fragments in a list and using
`"".join()` at the end.
**Baseline:**
| Stage | Metric (Runtime / Peak RSS) |
| :--- | :--- |
| **CodeGen-X86** | 99.310s / 51872 kB |
| **llvm-transforms** | 51.457s / 66928 kB |
**Changes made here:**
| Stage | Metric (Runtime / Peak RSS) |
| :--- | :--- |
| **CodeGen-X86** | 94.964s / 51868 kB |
| **llvm-transforms** | 50.890s / 66328 kB |
This PR is part of the "GSoC 2026: Improving lit" project.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: 7ac0a3cec9bf6c6199f62be26d1cdb754c97383d
https://github.com/llvm/llvm-project/commit/7ac0a3cec9bf6c6199f62be26d1cdb754c97383d
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/utils/lit/lit/ProgressBar.py
Log Message:
-----------
[lit] Replace zip(range(len(x)), x) with enumerate(x) in ProgressBar (#199884)
Updated `ProgressBar.py` to replace four instances of
`zip(range(len(x)), x)` with `enumerate(x)`. The former is a legacy
Python 2 pattern, while `enumerate()` is the modern and efficient Python
3 idiom. This is a clean-up refactor that results in no behavioral
changes to the code.
This PR is part of the "GSoC 2026: Improving lit" project.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: 3beee85e5244bc70fa32210d89634c0e53d2606d
https://github.com/llvm/llvm-project/commit/3beee85e5244bc70fa32210d89634c0e53d2606d
Author: Matt <MattPD at users.noreply.github.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/OpenMP/declare-reduction-accessibility.f90
A flang/test/Semantics/OpenMP/declare-reduction-default-private.f90
A flang/test/Semantics/OpenMP/declare-reduction-modfile-private.f90
A flang/test/Semantics/OpenMP/declare-reduction-public-regression.f90
A flang/test/Semantics/OpenMP/declare-reduction-use-assoc.f90
Log Message:
-----------
[flang][OpenMP] Fix declare reduction accessibility in module scope (#197078)
Fix four interacting issues with OpenMP declare reduction accessibility
when reductions are declared in Fortran modules:
1. Accessibility propagation (resolve-names.cpp): Reduction symbols like
`op.+` had no linkage to the corresponding `operator(+)` accessibility.
`ApplyDefaultAccess()` now reverse-maps mangled names to their Fortran
identifiers and inherits operator/procedure accessibility.
2. USE-associated duplicate detection (resolve-names.cpp):
`FindSymbol()`
searched parent scopes and found USE-associated symbols, causing false
"Duplicate definition" errors. Changed to scope-local `FindInScope()`
with proper `UseDetails` handling that shadows USE symbols.
3. Module file serialization (mod-file.cpp): `PutUserReduction()` never
emitted accessibility, so PRIVATE was lost on module file round-trips.
Now emits `private::<identifier>` when no GenericDetails symbol already
carries PRIVATE (avoiding duplicates with PutGeneric output).
4. Reduction clause checking (check-omp-structure.cpp):
`CheckSymbolSupportsType()` scanned all module scopes ignoring
accessibility. Now skips PRIVATE reductions in the module scope scan.
Also fixes a pre-existing bug in `MakeNameFromOperator()` where the
CharBlock lengths for OR, EQV, and NEQV included the null terminator
(6/7/8 instead of 5/6/7), causing silent mismatches in StringSwitch
comparisons.
Note: `CheckSymbolSupportsType` still scans all global module scopes
rather than only USE-reachable ones. This pre-existing over-broad lookup
is improved by the PRIVATE filter added here but a proper
scope-restricted resolution is left as future work.
Fixes #187415
Related: #192580
Assisted-by: Claude Opus 4.6.
Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
Commit: 96b6bb78aa04c489fcd95e844a74bbcc64f8a2ef
https://github.com/llvm/llvm-project/commit/96b6bb78aa04c489fcd95e844a74bbcc64f8a2ef
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AMDGPU/freeze-other-uses-issue-198094.ll
Log Message:
-----------
[DAGCombiner] Loop unfreeze step in visitFREEZE freezeOtherUses (#200120)
The first ReplaceAllUsesOfValueWith in visitFREEZE's freezeOtherUses
block can leave users of N behind: when the inner RAUW cascade
encounters a freeze user whose hash collides post-mutation, the
recursive merge prepends new freeze users to N's use-list that the outer
iterator deliberately skips (PR3018 invariant). Those leftover users
then collide with the self-cycle the next RAUW step creates, firing
"Node is not in map!" in RemoveNodeFromCSEMaps.
Wrap the unfreeze in a convergence loop so all such prepended users are
drained before the second RAUW. Each iteration strictly shrinks N's
use-set, bounded by the depth of the freeze chain.
Fixes #198094
Commit: 7948d336a9eb457321dce284bdd1dfbffa33ef33
https://github.com/llvm/llvm-project/commit/7948d336a9eb457321dce284bdd1dfbffa33ef33
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/utils/lit/lit/Test.py
Log Message:
-----------
[lit] Refactor super() calls in ResultCode (#199891)
This PR simplifies the `super()` call in `ResultCode.__new__`
by migrating from the Python 2 style explicit arguments to the
standard Python 3 zero-argument syntax.
This PR is part of the "GSoC 2026: Improving lit" project.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: ba7d42b096cbef00320abe2b2e12a0125a6dc2f3
https://github.com/llvm/llvm-project/commit/ba7d42b096cbef00320abe2b2e12a0125a6dc2f3
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
M llvm/test/CodeGen/PowerPC/combine-fneg.ll
M llvm/test/CodeGen/PowerPC/fma-combine.ll
M llvm/test/CodeGen/PowerPC/recipest.ll
M llvm/test/CodeGen/PowerPC/repeated-fp-divisors.ll
A llvm/test/CodeGen/PowerPC/vec-splats-opt.ll
Log Message:
-----------
[PowerPC] Optimize vec_splats of small FP values on Power8/9 (#199538)
Recognize small constant FP splats representable as integers and lower
them to vspltisw + xvcvsxwdp/xvcvsxwsp on Power8/9, avoiding constant
pool loads.
Commit: 90aece05fdd4be2f6ccac93508d7ee7852d336b5
https://github.com/llvm/llvm-project/commit/90aece05fdd4be2f6ccac93508d7ee7852d336b5
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/ashr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr.mir
Log Message:
-----------
[AMDGPU] Do not combine V_ASHRREV_I16* to make sdwa (#198491)
Do not combine V_ASHRREV_I16* instructions to form sdwa instructions.
These instructions zero-fill the high 16-bits.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 8fea28089a91bbcee1ffb21d034548019329d775
https://github.com/llvm/llvm-project/commit/8fea28089a91bbcee1ffb21d034548019329d775
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Object/DXContainer.cpp
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DirectX] Check DXContainer's header magic during parsing (#198586)
Check that header magic is 'DXBC' during parsing to avoid random data
being treated like a correct header.
Commit: c34220a5709dabcd22d07929a82b5e563e955562
https://github.com/llvm/llvm-project/commit/c34220a5709dabcd22d07929a82b5e563e955562
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Use append TableGen feature in RISCVInstrInfoP.td. NFC (#200110)
I may go back and adjust some formatting in a follow up. I wanted to
keep the diff here focused on the Predicates changes.
Commit: 67ac1b07a38f44ff9f05b8d7b1e3fe2b3698782c
https://github.com/llvm/llvm-project/commit/67ac1b07a38f44ff9f05b8d7b1e3fe2b3698782c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support v4i16/v8i8 build_vector on RV32. (#199883)
Commit: c4d820ce311b74acf70e52ec04856fc89b503ab9
https://github.com/llvm/llvm-project/commit/c4d820ce311b74acf70e52ec04856fc89b503ab9
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/lib/IR/Value.cpp
M llvm/unittests/ADT/BitVectorTest.cpp
Log Message:
-----------
[DenseMap] Replace tombstone deletion with TAOCP 6.4 Algorithm R (#199615)
DenseMap uses quadratic probing with lazy deletion: an erased entry
becomes a tombstone, a third bucket state alongside empty and live that
every find/insert must inspect.
Switch to linear probing with backward-shift deletion (Knuth TAOCP 6.4
Algorithm R), similar to the SmallPtrSet change #197637. This removes
the tombstone state entirely.
In exchange, erase now relocates the following live entries to close the
hole, so it invalidates iterators and references other than the erased
one. For callers that cache pointers into the bucket array,
erase(Key, OnMoved) and erase(iterator, OnMoved) fire a callback once
per
shifted bucket, so fix-ups cost O(cluster) rather than O(NumEntries).
ValueHandleBase::RemoveFromUseList uses this to refresh each moved
handle's PrevPtr.
Linear probing is more vulnerable to primary clustering than quadratic
probing, so this relies on the stronger DenseMapInfo<T*>::getHashValue
mixer from #197390.
Operation distribution when compiling CGExpr.cpp/ScalarEvolution.cpp:
62.8% lookups, 34.3% inserts, 2.9% erases. The heaviest DenseMap
specializations have pointer keys and 16-byte key/value pairs.
Alternatives such as Robin Hood hashing, Verstable, and Boost's
unordered_flat_map were evaluated; they are slower and have a larger
code footprint. I believe the current in-band sentinel value approach,
despite the pain (#146595), is the best, or at least very difficult to
beat.
Non-core cleanups aided by Claude Opus 4.7.
Commit: ea4cd9228f872677395d1ded19f67f20f016c78a
https://github.com/llvm/llvm-project/commit/ea4cd9228f872677395d1ded19f67f20f016c78a
Author: michaelselehov <michael.selehov at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/lib/CodeGen/Targets/AMDGPU.cpp
R clang/test/CodeGen/amdgpu-abi-struct-coerce.c
M clang/test/CodeGen/amdgpu-variadic-call.c
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/Headers/amdgcn-openmp-device-math-complex.c
Log Message:
-----------
Revert "[AMDGPU] Stop coercing structs with FP and int fields to inte… (#199981)
…ger arrays (#185083)"
This reverts commit 50b859cca1ccf7d174ee61a8a130ae14220209e4.
Co-authored-by: mselehov <mselehov at amd.com>
Commit: 2c8ca9679e85e466e8d7105027df322d03c45e3d
https://github.com/llvm/llvm-project/commit/2c8ca9679e85e466e8d7105027df322d03c45e3d
Author: Jan André Reuter <j.reuter at fz-juelich.de>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/docs/OpenMPSupport.rst
M offload/include/OpenMP/OMPT/Interface.h
M offload/libomptarget/OpenMP/API.cpp
M offload/libomptarget/OpenMP/OMPT/Callback.cpp
A offload/test/ompt/target_memset.c
A offload/test/ompt/target_memset_async.c
A offload/test/ompt/target_memset_emi.c
Log Message:
-----------
[OMPT] Add callback for `omp_target_memset` calls (#194168)
OpenMP v6.0 added new enum values to `ompt_callback_target_data_op_t`
for communicating `memset` events. Add a corresponding callback
invokation to `omp_target_memset` calls.
Expand the tests to ensure correct behavior.
Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>
Commit: 10f84995b430a7964d0873488100756a52652fa0
https://github.com/llvm/llvm-project/commit/10f84995b430a7964d0873488100756a52652fa0
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
Log Message:
-----------
[lit] Modernize ParserKind implementation using Python3 IntEnum (#199965)
`ParserKind` in `TestRunner.py` uses a detached dictionary
for suffix mapping, which is a Python 2 idiom. We can convert
the class to a Python 3 `IntEnum`. No change in behavior.
This PR is part of the "GSoC 2026: Improving lit" project.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: 10497d20fc2f5312df03dc7c48f4f050f92ad6d5
https://github.com/llvm/llvm-project/commit/10497d20fc2f5312df03dc7c48f4f050f92ad6d5
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/IR/Constants.cpp
M llvm/test/Assembler/aggregate-constant-values.ll
Log Message:
-----------
[IR] Remove options for vector of null representation (#200172)
This had a bit time to bake in tree, I don't think we need these options
anymore.
Commit: aff129e825b5e21943f89a3994d6e26a14600367
https://github.com/llvm/llvm-project/commit/aff129e825b5e21943f89a3994d6e26a14600367
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/X86/machine-block-hash.mir
Log Message:
-----------
[AArch64][GlobalISel] Add support for pmul intrinsic (#198809)
Previously, pmul couldn't lower as there were neither any GlobalISel
patterns for the intrinsic, nor a GlobalISel node to allow use of the
SelectionDAG patterns.
Create a G_PMUL node linked to the SelectionDAG node 'clmul' (CarryLess
MULtiplication). Now the ISel stage of GlobalISel has suitable patterns
to lower the intrinsic.
Commit: ac2c011dd3b15e97b6dd6fbd11ca57b6411cab09
https://github.com/llvm/llvm-project/commit/ac2c011dd3b15e97b6dd6fbd11ca57b6411cab09
Author: Piotr Balcer <piotr.balcer at intel.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M offload/unittests/OffloadAPI/common/Fixtures.hpp
M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
M offload/unittests/OffloadAPI/kernel/olCalculateOptimalOccupancy.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/memory/olMemFill.cpp
M offload/unittests/OffloadAPI/queue/olDestroyQueue.cpp
M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
M offload/unittests/OffloadAPI/symbol/olGetSymbolInfo.cpp
Log Message:
-----------
[offload] add SKIP_KNOWN_FAILURE unittest macro (#196275)
... and disable failing level-zero tests, to be reenabled once the
plugin is fully functional.
Here is the passrate for the level-zero plugin unit tests:
```
Total Discovered Tests: 645
Skipped: 74 (11.47%)
Passed : 571 (88.53%)
```
We are actively working on fixing the issues marked as known failures
here.
Commit: 35a10827d093d5890948c9ac362ac546464a67bc
https://github.com/llvm/llvm-project/commit/35a10827d093d5890948c9ac362ac546464a67bc
Author: Gábor Tóthvári <gabor.tothvari at ericsson.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/docs/analyzer/developer-docs/IPA.rst
M clang/include/clang/Analysis/AnalysisDeclContext.h
M clang/include/clang/Analysis/PathDiagnostic.h
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/StaticAnalyzer/Checkers/Taint.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ProgramPoint.cpp
M clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
M clang/lib/StaticAnalyzer/Checkers/Iterator.h
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.cpp
M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
M clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnconditionalVAArgChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/Environment.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
M clang/lib/StaticAnalyzer/Core/LoopWidening.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
R clang/lib/StaticAnalyzer/Core/PrettyStackTraceLocationContext.h
A clang/lib/StaticAnalyzer/Core/PrettyStackTraceStackFrame.h
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/lib/StaticAnalyzer/Core/WorkList.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
M clang/unittests/StaticAnalyzer/ParamRegionTest.cpp
M clang/unittests/StaticAnalyzer/StoreTest.cpp
M clang/unittests/StaticAnalyzer/SymbolReaperTest.cpp
M clang/unittests/StaticAnalyzer/UnsignedStatDemo.cpp
M clang/www/analyzer/checker_dev_manual.html
Log Message:
-----------
[analyzer][NFC] Merge the class `LocationContext` into `StackFrame` (#198211)
This commit implements the final parts of the roadmap described in issue
#190973 by merging the class `LocationContext` into the class
`StackFrame` and replacing `LocationContext` with `StackFrame`
throughout the analyzer.
Commit: 020b4dde0f8c26fc880f4410e7a682fff9db5311
https://github.com/llvm/llvm-project/commit/020b4dde0f8c26fc880f4410e7a682fff9db5311
Author: Mishal Shah <mishal_shah at apple.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M .ci/green-dragon/lldb-windows.groovy
Log Message:
-----------
[CI] Add 'lld' to LLVM projects in build script for lldb windows bot (#200207)
Commit: 839091f0f298294459495a562ae29e75c389df95
https://github.com/llvm/llvm-project/commit/839091f0f298294459495a562ae29e75c389df95
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A lldb/include/lldb/Host/windows/LazyImport.h
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
A lldb/test/API/windows/thread/Makefile
A lldb/test/API/windows/thread/TestThreadName.py
A lldb/test/API/windows/thread/main.c
Log Message:
-----------
[lldb-server][Windows] add support for thread name (#199983)
Commit: f505ceabdd2339f078cd6886d3f52cc622abd5c9
https://github.com/llvm/llvm-project/commit/f505ceabdd2339f078cd6886d3f52cc622abd5c9
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
M clang/test/SemaTemplate/class-template-spec.cpp
Log Message:
-----------
[clang] fix member specializations of class and variable partial specializations (#200092)
A partial specialization may be a member specialization even if there is
no corresponding primary member partial specialization.
For example:
```C++
template<class> struct X {
template<class> struct Inner;
};
template<> template<class T>
struct X<int>::Inner<T*> {};
```
Make sure this state is represented, so that
[temp.spec.partial.member]p2 can be applied.
Split off from #199528
Commit: b76d08a8fc46684c43728eb3c097718d0b6c00b7
https://github.com/llvm/llvm-project/commit/b76d08a8fc46684c43728eb3c097718d0b6c00b7
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A llvm/lib/Target/RISCV/RISCVSchedSiFive8.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
Log Message:
-----------
[RISCV] Factor out common scheduling model part between SiFive P400 and P500. NFCI (#199796)
This is the first part a patch series that tries to factor out common
bits from the SiFiveP400, SiFiveP500, and the SiFiveP600 scheduling
models.
This PR contains the related changes on the SiFiveP400 and SiFiveP500
models
NFCI.
---------
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 7e539a4497fb6f4c7a8c112514bb1b1ec54fe94f
https://github.com/llvm/llvm-project/commit/7e539a4497fb6f4c7a8c112514bb1b1ec54fe94f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Thread scalar types through VPWiden(Cast)Recipe. (NFC) (#199572)
Update VPWidenRecipe and VPWidenCastRecipe to populate
VPSingleDefValue's
scalar type. For all VPWidenRecipe opcodes, the scalar type is determine
from the operands, via computeScalarTypeForInstruction (from
https://github.com/llvm/llvm-project/pull/199378).
For cast, the type must be provided explicitly.
Depends on https://github.com/llvm/llvm-project/pull/199378
PR: https://github.com/llvm/llvm-project/pull/199572
Commit: 934e5610ebfae936598896dc188cad331992d1af
https://github.com/llvm/llvm-project/commit/934e5610ebfae936598896dc188cad331992d1af
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoumax.cpp
M libc/src/stdlib/strtol.cpp
M libc/src/stdlib/strtol_l.cpp
M libc/src/stdlib/strtoll.cpp
M libc/src/stdlib/strtoll_l.cpp
M libc/src/stdlib/strtoul.cpp
M libc/src/stdlib/strtoul_l.cpp
M libc/src/stdlib/strtoull.cpp
M libc/src/stdlib/strtoull_l.cpp
M libc/src/wchar/wcstol.cpp
M libc/src/wchar/wcstoll.cpp
M libc/src/wchar/wcstoul.cpp
M libc/src/wchar/wcstoull.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/wchar/WcstolTest.h
Log Message:
-----------
[libc] Don't touch str_end in strto* and wcsto* functions when base is incorrect (#200073)
Updates the behavior of `stro*` and `wcsto*` endpoints to not touch
`str_end` pointer when the provided value of `base` is incorrect and
errno is set to `EINVAL`.
`strto*` and `wcsto*` functions accept `base` as an input argument,
which can only be 0 or lie in [2,36] range. In case of invalid argument,
the functions should return 0 and set errno accordingly. Should the
"output argument" of `str_end` be updated in this case to point to the
beginning of the input string?
* C standard is unclear about it -
is says that `str` should be stored in `str_end` **if `str` is empty or
does not have the expected form** -- but there is no "expected form" for
invalid base values.
* POSIX standard explicitly mentions that for incorrect base value errno
should be set to `EINVAL` and points out that the value of `str_end`
is **unspecified** in this case.
Known implementations don't have a universal agreement about it:
* musl sets `str_end` unconditionally
* glibc doesn't do that in `EINVAL` case
* newlib doesn't do that either.
LLVM-libc used to unconditionally set `str_end` even in `EINVAL` case,
which is changed in this PR. This would not only help with portability,
but makes sense by itself - if input arguments are clearly invalid,
let's not touch output arguments either.
Assisted by: Gemini, human-reviewed
Commit: 58e35f93069976d71ee4b1ce6215217890da781c
https://github.com/llvm/llvm-project/commit/58e35f93069976d71ee4b1ce6215217890da781c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#200224)
Ported commits:
- 174eb79572b3
- e1e52c9ccef3
Commit: 218a21cee57f5eabcecdcb6d739fa8863c3ae9b9
https://github.com/llvm/llvm-project/commit/218a21cee57f5eabcecdcb6d739fa8863c3ae9b9
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/utils/gn/build/BUILD.gn
M llvm/utils/gn/build/toolchain/compiler.gni
M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Frontend/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/DataFormatters/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Interpreter/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ABI/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn
Log Message:
-----------
[gn build] Format all files (#200226)
$ git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format
Commit: f1c26bce3f30f29e9130d55a7ffb0a2a171a5652
https://github.com/llvm/llvm-project/commit/f1c26bce3f30f29e9130d55a7ffb0a2a171a5652
Author: Michael Jones <michaelrj at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wctype.yaml
M libc/src/__support/CMakeLists.txt
M libc/src/__support/wctype/CMakeLists.txt
M libc/src/__support/wctype/perfect_hash_map.h
A libc/src/__support/wctype/wctype_conversion_utils.cpp
A libc/src/__support/wctype/wctype_conversion_utils.h
M libc/src/__support/wctype_utils.h
M libc/src/wctype/CMakeLists.txt
A libc/src/wctype/towlower.cpp
A libc/src/wctype/towlower.h
A libc/src/wctype/towupper.cpp
A libc/src/wctype/towupper.h
M libc/test/src/__support/wctype/CMakeLists.txt
M libc/test/src/__support/wctype_utils_test.cpp
M libc/test/src/wctype/CMakeLists.txt
M libc/test/src/wctype/iswprint_test.cpp
A libc/test/src/wctype/towlower_test.cpp
A libc/test/src/wctype/towupper_test.cpp
Log Message:
-----------
[libc] Implement towupper and towlower entrypoints (#198659)
Following up on #187670 to add public entrypoints for the wctype
conversion functions.
Assisted-by: Automated tooling, human reviewed.
---------
Co-authored-by: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Commit: 3613e27b4c6f5bd79ed0bf982efd76495bdf3dd7
https://github.com/llvm/llvm-project/commit/3613e27b4c6f5bd79ed0bf982efd76495bdf3dd7
Author: David Meng <davidmenggx at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-macro.cpp
Log Message:
-----------
[LifetimeSafety] Add fix-it for misplaced lifetimebound attributes (#199149)
This patch adds a fix-it hint for
`warn_lifetime_safety_intra_tu_misplaced_lifetimebound` and
`warn_lifetime_safety_cross_tu_misplaced_lifetimebound` to the
appropriate declaration.
The fix-it attribute is emitted in the correct location, accounting for
pure virtual functions, overrides, trailing return types, and default
arguments. The message is suppressed for macros.
Resolves #198634
Commit: 0aa9ec6a361002f54deb2a8036410455ee527950
https://github.com/llvm/llvm-project/commit/0aa9ec6a361002f54deb2a8036410455ee527950
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/ARM/mve-narrow.ll
A llvm/test/Transforms/InstCombine/fold-zext-of-deinterleave.ll
Log Message:
-----------
[InstCombine] Fold zext into de-interleaving (factor=2) instructions (#195330)
Given the following de-interleaving shufflevectors and the consuming
zexts:
```
%f0 = shufflevector <8 x i32> %v, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
%f1 = shufflevector <8 x i32> %v, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
%z0 = zext <4 x i32> %f0 to <4 x i64>
%z1 = zext <4 x i32> %f1 to <4 x i64>
```
We can actually bitcast the input value, `%v`, first into a vector type
with double the element size but half the vector length, before
replacing zexts with simple arithmetics on this new bitcast:
```
%bc = bitcast <8 x i32> %v to <4 x i64>
%z0 = and <4 x i64> %bc, splat (i64 4294967295)
%z1 = lshr <4 x i64> %bc, splat (i64 32)
```
This transformation is almost always benefitial as shufflevector is
generally more expensive than normal arithmetics.
Commit: 9092493752a25c94c7e001695e37ab0073c50f5e
https://github.com/llvm/llvm-project/commit/9092493752a25c94c7e001695e37ab0073c50f5e
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/CXX/expr/expr.prim/expr.prim.this/p4.cpp
Log Message:
-----------
[Clang][Sema] Use correct DeclContext when checking 'this' (#163243)
As mentioned in #163089, clang crashes for the following inputs:
```cpp
struct S {
static void f() {
auto x = []() -> decltype(this) {};
}
};
```
```cpp
struct S {
static void f() {
auto x = []() noexcept(decltype(this)()) {};
}
};
```
The crash happens because we currently pass `CurContext` to
`isLambdaCallWithExplicitObjectParameter` in `Sema::CheckCXXThisType`
when we should be passing `DC` (returned from
`getFunctionLevelDeclContext`).
Fixes #163089.
Commit: 72871f6fa1f1edc3df45d01b67f5093ff9d8e8b5
https://github.com/llvm/llvm-project/commit/72871f6fa1f1edc3df45d01b67f5093ff9d8e8b5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M libcxx/include/__tree
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
Log Message:
-----------
[libc++] Fix multi{map,set}::extract not returning the first matching element (#199703)
According to [associative.reqmts] `extract(k)` returns the _first_
element in the container with key equivalent to k.
Commit: ab0178ce058b660d51ab44c38087c9408125f244
https://github.com/llvm/llvm-project/commit/ab0178ce058b660d51ab44c38087c9408125f244
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
Log Message:
-----------
[ExpandVariadics] Fixup handeling of mismatched return types (#198843)
Fix an assert when RAUW tries to replace all uses with a different type.
Commit: 743cd53e67d267daf9a1d748bfc551f69980fceb
https://github.com/llvm/llvm-project/commit/743cd53e67d267daf9a1d748bfc551f69980fceb
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
Log Message:
-----------
[AMDGPU][GlobalIsel] Add regbank support for amdgcn_cvt_scalef32_sr_f8_f16/32 (#197031)
This patch adds register bank legalization rules for amdgcn_cvt_scalef32_sr_f8_f16/32 intrinsics in the AMDGPU GlobalISel
pipeline.
Commit: f30438b2ab6ca099584c0921f369f46693f83fbb
https://github.com/llvm/llvm-project/commit/f30438b2ab6ca099584c0921f369f46693f83fbb
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
Log Message:
-----------
[AMDGPU] Add an early exit in `tryMatchVOPDPairVariant` (#200148)
This allows to skip calls to `hasRAWDependency` when we know that no
VOPD pair can be encoded.
Commit: a0150ce371d1d808e0753c954618388fbe7ef7b7
https://github.com/llvm/llvm-project/commit/a0150ce371d1d808e0753c954618388fbe7ef7b7
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/array-coor-canonicalization.fir
Log Message:
-----------
[flang] Canonicalize fir.array_coor for contiguous arrays. (#200106)
This patch adds new canonicalization pattern for `fir.array_coor`
sequences appearing for contiguous array slices like `dx(1:3)`,
`dx(1:3, 2)`, etc. This canonicalization helps exposing the original
rank of the array, which makes MLIR after FIRToMemRef better
optimizable.
Assisted by Cursor
Commit: 45304733791f94bff5c9141c4c793dba3a03360f
https://github.com/llvm/llvm-project/commit/45304733791f94bff5c9141c4c793dba3a03360f
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
M clang/test/Sema/warn-lifetime-safety-dangling-global.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Improve dangling field/global diagnostics (#200147)
Reuses the function for getting object information that was added in
#199432
Comes as part of completing #186002
---------
Co-authored-by: Utkarsh Saxena <usx at google.com>
Commit: 192601e8b3ad8b5f73cf27f2093fef5a8c9f4cb6
https://github.com/llvm/llvm-project/commit/192601e8b3ad8b5f73cf27f2093fef5a8c9f4cb6
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/arithmetic.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/bitwise.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/comparison.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/conversion.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/fma.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/fp.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/mask.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/minmax.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/mul-div.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/permutation.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/reduction.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vle-vse-vlm.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlse-vsse.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlseg-vsseg.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlxe-vsxe.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvbb.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvbc.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvkg.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvkned.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvknhb.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvksed.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvksh.s
Log Message:
-----------
[RISCV] Update the ProcResource used by vsetvli in SiFiveP400 model (#199802)
The vsetvli instruction (and friends) should use the first integer pipe
(i.e. SiFiveP400IEXQ0)
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 6dec1e526f0300094dad64bcf16123d353117617
https://github.com/llvm/llvm-project/commit/6dec1e526f0300094dad64bcf16123d353117617
Author: David Green <david.green at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
Log Message:
-----------
[AArch64] Add more tests for generating mull from disjoint or. NFC (#200237)
Commit: e1d2b5b52d80440048789527e22345fef154056e
https://github.com/llvm/llvm-project/commit/e1d2b5b52d80440048789527e22345fef154056e
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll
M llvm/test/CodeGen/Generic/available_externally_alias.ll
Log Message:
-----------
[z/OS][tests] using aliases on z/OS are not supported (#200233)
This PR follows up on #200176 by replacing XFAIL with UNSUPPORTED for
test cases that are not planned for support in the near future.
Commit: 742b750f5e2b90c79401fa000f91248db6f80b8f
https://github.com/llvm/llvm-project/commit/742b750f5e2b90c79401fa000f91248db6f80b8f
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
Log Message:
-----------
[lldb][Darwin] Save "most recent SDK root" in local var (#200095)
In PlatformRemoteDarwinDevice::GetSharedModule we have an array of "sdk
root" directories (aka DeviceSupport directories) for a remote device,
which contain all of the system shared libraries on the local mac. We
may have 6 SDK Root directories for different OS builds. We try to
identify the correct one for the target based on version number, but
when we find a file with a matching UUID in one directory we set that as
the "most recently successful" directory, and start our searches with
that one. Then we fall back to searching all the other directories.
Since adding parallel module loading, because this method doesn't lock
access to the "most recently successful directory"
(m_last_module_sdk_idx), we could check the m_last_module_sdk_idx
directory, and then if that was unsuccessful, check all other entries !=
m_last_module_sdk_idx. But m_last_module_sdk_idx could mutate via
another thread, and we skip one of our SDK Root directories. Resulting
in reading a binary out of memory, when we had a local copy of it.
This PR reads the value of m_last_module_sdk_idx into a local const, and
uses the same local index to check for it -- and if not found, to skip
that directory when iterating over all directories again, instead of
adding locking around access to this.
The array itself is created when the Platform is initialized and not
mutated when parallel-binary-loading, so there are no concerns with
that.
rdar://178096480
Commit: a0ac7521342567573da5b1e47c94f6199faada39
https://github.com/llvm/llvm-project/commit/a0ac7521342567573da5b1e47c94f6199faada39
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/memtag.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
A compiler-rt/lib/scudo/standalone/tests/error_info_test.cpp
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.cpp
Log Message:
-----------
[scudo] Create a non-static getErrorInfo function. (#199770)
Create a getErrorInfo function that operates on the Allocator and
doesn't require passing in all of the extra information.
Add interface function __scudo_get_fault_error_info that calls this new
function.
Add all needed functions to support the new getErrorInfo.
This is being added to replace the static version from Android that
required linking in a copy of libscudo to use. This new version will be
used directly from libc.
Commit: 9c640504466ab0c7cd2850fd482092b72a01bc9e
https://github.com/llvm/llvm-project/commit/9c640504466ab0c7cd2850fd482092b72a01bc9e
Author: David Green <david.green at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/arith-bf16.ll
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
Log Message:
-----------
[AArch64] Fixup f16->bf16 in intrinsic defs. NFC (#200244)
Commit: 09ad10052903ad38aa770642ae5c6a7115c92e5e
https://github.com/llvm/llvm-project/commit/09ad10052903ad38aa770642ae5c6a7115c92e5e
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
A lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas-msvc.cpp
A lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp
Log Message:
-----------
[lldb][NativePDB] Use decl context from a method's class (#199221)
When we look up the parent decl context for a method, we used to look
for that by name. For "regular" types that works well.
Say, we have a `struct ns::Foo` and `ns::Foo::bar`. We'd search for
`ns::Foo` and use its context.
For special types - mainly lambdas - this doesn't work. They can't be
found by looking for the name we get from the function symbol. That name
won't be in the TPI hash table we use.
I'm not fully sure under which name they're in that table. For example,
if we get the name `Foo::fun::<lambda_1>::operator()` from the function
symbol, we'd look for `Foo::fun::<lambda_1>`. This fails. A class with
this name is actually present, but it has a different unique name. Its
unique name demangles to `` `public: void __cdecl
Foo::fun(void)'::`1'::<lambda_1> `` which doesn't match what we searched
for. That might be the issue.
If we can't find a class/struct, we create namespaces. So before, we
created namespaces for each segment and added a regular function inside.
This was wrong for methods.
However, we can tell that a function is a method by looking at its
function type. And we know the parent class from this type. With this PR
that parent class is used if it's available.
Commit: 184a8f94757c35deecf7a7323ca3ce73c9f228b7
https://github.com/llvm/llvm-project/commit/184a8f94757c35deecf7a7323ca3ce73c9f228b7
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M libcxx/include/__iterator/static_bounded_iter.h
M libcxx/include/__iterator/wrap_iter.h
A libcxx/test/libcxx/containers/sequences/array/nodiscard.iterator.verify.cpp
Log Message:
-----------
[libc++] Applied `[[nodiscard]]` to `array::iterator` (#198492)
Towards #172124
Commit: 5f49cff125e2adb255f2d61e8589ae761d5b4826
https://github.com/llvm/llvm-project/commit/5f49cff125e2adb255f2d61e8589ae761d5b4826
Author: David Green <david.green at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/and_xor_shift.ll
Log Message:
-----------
[AArch64] Add tests for and+xor+shift. NFC (#200250)
This adds test coverage for #199813. Hopefully this will prevent gisel
from
getting worse.
Commit: d69c732e6e71bf80ad7336ae2a5834ee74593c28
https://github.com/llvm/llvm-project/commit/d69c732e6e71bf80ad7336ae2a5834ee74593c28
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M .github/workflows/hlsl-test-all.yaml
Log Message:
-----------
CI: ignore errors on HLSL Publish step (#200240)
This step seems to fail consistently on the remote endpoint for large
PRs.
Example:
https://github.com/llvm/llvm-project/actions/runs/26589632748/job/78344693871?pr=199528
Commit: 060ef6a90c39b4573c9eba2757be2cbf6ec22796
https://github.com/llvm/llvm-project/commit/060ef6a90c39b4573c9eba2757be2cbf6ec22796
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/utils/lit/lit/LitConfig.py
A llvm/utils/lit/tests/Inputs/lit-config-readonly/lit.cfg
A llvm/utils/lit/tests/lit-config-readonly.py
Log Message:
-----------
[lit] Enforce read-only behavior on lit_config.maxIndividualTestTime (#198193)
Enforce read-only behavior on lit_config.maxIndividualTestTime after
initialization to prevent test suites from modifying it globally, and
add a core lit test to verify this behavior.
PR Stack:
* https://github.com/llvm/llvm-project/pull/198192
* https://github.com/llvm/llvm-project/pull/199886
* https://github.com/llvm/llvm-project/pull/199996
* ➤ https://github.com/llvm/llvm-project/pull/198193
Assisted-by: Gemini
Commit: 4df74706ab477798263cade8b742bba48d0b172f
https://github.com/llvm/llvm-project/commit/4df74706ab477798263cade8b742bba48d0b172f
Author: xys-syx <xuyuansui at outlook.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvm/barrier.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/python/dialects/nvvm.py
Log Message:
-----------
[MLIR][NVVM] Split nvvm.barrier into nvvm.barrier and nvvm.barrier.reduction (#199404)
Commit: f089890d5e200a1811d69842aa71fa39e7c33482
https://github.com/llvm/llvm-project/commit/f089890d5e200a1811d69842aa71fa39e7c33482
Author: Berkay Sahin <berkaysahindev at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[clang-tidy] Fixes false positive with a non-const method on a pointer (#188844)
Fixes
#56777
#58098
#64955
Non-const member functions don't mutate the pointer but the pointee.
Pointee mutations follow different path within the analyzer, so should
not be effected.
Edit to old tests were needed. Adds a dedicated tests besides those.
Commit: 3769bd61d0b3e555c45a9b5de919f0f166355fe8
https://github.com/llvm/llvm-project/commit/3769bd61d0b3e555c45a9b5de919f0f166355fe8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
Log Message:
-----------
[RISCV] Use std::optional::operator* instead of value(). NFC (#200235)
Commit: 3df7e3707c2a3673a25e2fa8147d3cb9ba0aad0e
https://github.com/llvm/llvm-project/commit/3df7e3707c2a3673a25e2fa8147d3cb9ba0aad0e
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Implement missing API for successors (#195301)
This patch implements the missing API for accessing the DAG successors.
This includes the successor iterators and DAG Node member functions like
succs(). These are mirroring the existing predecessor API.
Commit: e7ea47d98e7e1b38496846d37ca06d1f1562f54b
https://github.com/llvm/llvm-project/commit/e7ea47d98e7e1b38496846d37ca06d1f1562f54b
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
worflows/premerge: Remove template expansion (#200068)
https://github.com/llvm/llvm-project/security/code-scanning/1686
https://github.com/llvm/llvm-project/security/code-scanning/1687
https://github.com/llvm/llvm-project/security/code-scanning/1688
https://github.com/llvm/llvm-project/security/code-scanning/1689
Commit: 46c8c1e1320e5524700f09998490a5fd7216917b
https://github.com/llvm/llvm-project/commit/46c8c1e1320e5524700f09998490a5fd7216917b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
Log Message:
-----------
[AggressiveInstCombine] Factor common code out of tryToRecognizePopCount and tryToRecognizePopCount2n3. (#199440)
Both of these patterns end with code to compute the popcount of each
byte.
This isn't NFC because tryToRecognizePopCount2n3 handled an alternate
pattern for one of the steps and tryToRecognizePopCount used
MaskedValueIsZero. The shared code applies these differences to both
cases. New tests have been added.
Assisted-by: Claude Sonnet 4.6
---------
Co-authored-by: Min-Yih Hsu <min at myhsu.dev>
Commit: 63da2695b1a3c8e4f42d2e1d63faa1eb412886ec
https://github.com/llvm/llvm-project/commit/63da2695b1a3c8e4f42d2e1d63faa1eb412886ec
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
Log Message:
-----------
[VPlan] Strip IR-PatternMatch include in VPlanAnalysis (NFC) (#200186)
To reduce confusion.
Commit: 42010078e75053f09e46a8d58033fa768c57961f
https://github.com/llvm/llvm-project/commit/42010078e75053f09e46a8d58033fa768c57961f
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
Log Message:
-----------
[MemCpyOpt] Keep volatile memset before memcpy (#200100)
Commit: 810e67f50d8f149c0c88cbda1707b52b7ae9936f
https://github.com/llvm/llvm-project/commit/810e67f50d8f149c0c88cbda1707b52b7ae9936f
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M flang/lib/Lower/OpenMP/Clauses.cpp
A flang/test/Lower/OpenMP/Todo/ordered-depend.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[flang][OpenMP] Fix crash on standalone ordered with depend(source|sink:) (#200193)
A standalone ordered construct using the pre-OpenMP 5.2 depend(source) /
depend(sink:) spelling crashed flang with an assertion failure in
buildConstructQueue ("Construct decomposition failed"), or emitted a
TODO when assertions were disabled.
These dependence types are valid on ordered since OpenMP 4.5, but flang
represents them internally as a doacross clause, which construct
decomposition only accepts from OpenMP 5.2. As a result, decomposition
produced an empty output and tripped the assertion at every OpenMP
version below 5.2 (including the default 3.1).
Lowering of the standalone ordered directive is not implemented yet
(genOrderedOp only emits a "not yet implemented" message and ignores the
construct queue). Build the construct queue only for the
block-associated variant and emit the TODO directly for the standalone
directive, so the decomposition that would otherwise assert is no longer
reached.
Note: at versions below 4.5 the construct is technically invalid, but
flang's semantics accepts it silently. Making semantics emit a "requires
OpenMP 4.5" error/warning is probably a good idea.
Fixes #198972
Commit: b2edcf9fb336b06f624d7c58a04c6dcf3cf74a54
https://github.com/llvm/llvm-project/commit/b2edcf9fb336b06f624d7c58a04c6dcf3cf74a54
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/test/Instrumentation/Instrumentor/alloca_and_function.ll
M llvm/test/Instrumentation/Instrumentor/default_config.json
M llvm/test/Instrumentation/Instrumentor/module_and_globals.ll
Log Message:
-----------
[Instrumentor] Introduce BasePointerIO to communicate base pointer information (#197607)
Loads, stores, and later probably calls, can request a base pointer info
object from the user runtime. This object is queried right after the
base pointer of the operation is defined, and then passed to the
pre/post runtime calls of the loads and stores. This allows users to
inspect pointers early and once, but provide the analysis results to all
operations that might be executed in loops. A potential use case is to
lookup the size and start of the underlying object and then provide
those to the access runtime calls for in-bounds checking.
Commit: cdb606c37c8f08783aad6d4cc73adbc7d199b1e2
https://github.com/llvm/llvm-project/commit/cdb606c37c8f08783aad6d4cc73adbc7d199b1e2
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Predicate SCEVs in getSCEVExprForVPValue (NFC) (#199994)
Although the change could be functional in theory, it is very difficult
to find a test case.
Commit: b41aef8b809c255814801d658138b98e828012b1
https://github.com/llvm/llvm-project/commit/b41aef8b809c255814801d658138b98e828012b1
Author: adams381 <adams at nvidia.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/vector-binop-overflow.cpp
Log Message:
-----------
[CIR] Omit nsw/nuw on integer vector binops (#199123)
CIRGen was attaching `nsw` to `cir.add` on `!cir.vector` integer types
because the signed-overflow path keys off `compType` (the element type,
still `!s32i`), while the verifier only allows `nsw`/`nuw` on scalar
`!cir.int` results. That mismatch showed up 144 times in the libcxx
CIR sweep on `std::experimental::simd` — `experimental/__simd/vec_ext.h`
increment/decrement (`__data + 1` / `__data - 1`).
Classic CodeGen never enters the signed-overflow block for vector
computation types; CIR now skips the scalar `nsw`/`nuw` path when the
MLIR operand is an integer vector, and uses `getAs<VectorType>()` for
`compType` so typedef-wrapped GCC vectors resolve the element type
correctly.
Regression test `vector-binop-overflow.cpp` checks scalar add still gets
`nsw` and vector add/sub/mul do not (CIR + LLVM + OGCG).
Commit: 5c219c86b6ffb8adb284e6c439ad1f78f5c10803
https://github.com/llvm/llvm-project/commit/5c219c86b6ffb8adb284e6c439ad1f78f5c10803
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/lib/Transforms/IPO/Instrumentor.cpp
A llvm/test/Instrumentation/Instrumentor/cast.ll
A llvm/test/Instrumentation/Instrumentor/cast_config.json
A llvm/test/Instrumentation/Instrumentor/cast_crash.ll
A llvm/test/Instrumentation/Instrumentor/cast_filter.ll
A llvm/test/Instrumentation/Instrumentor/cast_filter_config.json
M llvm/test/Instrumentation/Instrumentor/default_config.json
Log Message:
-----------
[Instrumentor] Add cast instruction instrumentation support (#198224)
We now allow to have instrumentation opportunities for many instructions
(=opcodes) to bundle common classes together. Users can use filters on
the opcode, type-id, and size to statically select what they are
interested in.
Coded with Claude.
Commit: 23776bd325ec951781923a638ad632e4126b30ea
https://github.com/llvm/llvm-project/commit/23776bd325ec951781923a638ad632e4126b30ea
Author: Vedran Miletić <vedran at miletic.net>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
Log Message:
-----------
[llvm] Fix LLVMOrcTargetProcess symbol export with MinGW/Cygwin shared libs (#174266)
When any symbol in a DLL carries dllexport, the MinGW/Cygwin linker
switches to exclusive-export mode and omits all other symbols from the
export table. LLVMOrcTargetProcess uses LLVM_ALWAYS_EXPORT (__declspec(
dllexport)) so its symbols can be found via GetProcAddress from a
statically linked executable, which triggers this behaviour.
Add --export-all-symbols to LLVMOrcTargetProcess for MinGW/Cygwin
BUILD_SHARED_LIBS builds to restore full symbol export.
Commit: 2f98f171c2983c2fe875e0f597128a5c1de2165f
https://github.com/llvm/llvm-project/commit/2f98f171c2983c2fe875e0f597128a5c1de2165f
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
[PowerPC] Fix MSan failure in LowerBUILD_VECTOR (#200260)
Initialize SplatBitSize to fix use-of-uninitialized-value error detected
by MemorySanitizer in ba7d42b.
Commit: 0d1e9a6177d9ae85d2822fd98bffe55f86e38875
https://github.com/llvm/llvm-project/commit/0d1e9a6177d9ae85d2822fd98bffe55f86e38875
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
Log Message:
-----------
[X86][TTI] Retrieve address space from intrinsic info. (#200265)
Instead of using the passed Ptr argument to get the type, to retrieve
the address space, directly retrieve it from MICA.
This fixes a crash when Ptr is nullptr, as after #200049.
Fixes https://github.com/llvm/llvm-project/issues/200199.
Commit: 642bbbaf57ed1d0ce6b7871a8d3dc1386e95926b
https://github.com/llvm/llvm-project/commit/642bbbaf57ed1d0ce6b7871a8d3dc1386e95926b
Author: Dhruva Chakrabarti <Dhruva.Chakrabarti at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveRangeEdit.cpp
Log Message:
-----------
[2/3][RegAlloc][LiveRegMatrix] Fix inconsistency when fold creates a CopyMI (#197776)
When TargetInstrInfo::foldMemoryOperand produces a side-effect CopyMI,
the copy destination vreg's LiveInterval is extended via addSegment. If
that vreg is already assigned in LiveRegMatrix, the matrix becomes
inconsistent because it still holds the old (smaller) interval.
Fix this in two places:
- InlineSpiller::foldMemoryOperand: unassign the vreg from the matrix
before addSegment, reassign after, so the matrix reflects the updated
interval.
- LiveRangeEdit::foldAsLoad: notify the delegate via
LRE_WillShrinkVirtReg before addSegment.
LIT test exercised by this patch (i.e. if I introduce consistency
verification as in https://github.com/llvm/llvm-project/pull/197778 but
not this patch, the following test fails):
CodeGen/X86/apx/pr191368.ll
Assisted-by: Cursor/Claude Opus
Commit: 01cfbaabef6cb59a1a6eb870bf5f48ac2e747118
https://github.com/llvm/llvm-project/commit/01cfbaabef6cb59a1a6eb870bf5f48ac2e747118
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
workflows/upload-release-artifact: Use require-release-manager action (#195374)
This removes the final use of RELEASE_TASKS_USER_TOKEN secret. It
required plumbing the secrets in thrugh several levels of workflow
calls, which is not ideal, but I don't see a better way to do this.
Commit: f7f3d9d0aea8588ed1aff033978370a5bdf97029
https://github.com/llvm/llvm-project/commit/f7f3d9d0aea8588ed1aff033978370a5bdf97029
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lldb/test/API/windows/thread/main.c
Log Message:
-----------
[lldb][Windows] Move `processthreadsapi.h` include (#200278)
`processthreadsapi.h` needs to be included after `windows.h`.
clang-format needs to be disabled here to avoid sorting the includes.
Fixes the test failure from
https://github.com/llvm/llvm-project/pull/199983#issuecomment-4567633271.
Commit: 075e16f74d7b265a22af73c4fcb5a6bd4b186543
https://github.com/llvm/llvm-project/commit/075e16f74d7b265a22af73c4fcb5a6bd4b186543
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/test/CIR/CodeGen/vla.c
Log Message:
-----------
[CIR] Correctly emit the size expr of a VLA with a 'bool' size. (#200066)
This came up in a test suite, the frontend considers 'bool' to be
integral enough to use as a bounds, so bool makes it through to the VLA
codegen. This patch adds a new cast function that takes a bool or int
type and casts it to an int (as this is a pretty useful task, that I
believe I've seen before).
Commit: 927c51d2434e9cb094742e77289b35dad88383c5
https://github.com/llvm/llvm-project/commit/927c51d2434e9cb094742e77289b35dad88383c5
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
Log Message:
-----------
[lldb] Improve frame variable handling of recognizer arguments (#200084)
Fixes two bugs. The bug which prompted this change is that `frame
variable name` would
print all regcognizer arguments, even though only "name" was requested.
While making a test for the first bug, I found that `frame variable
recognizer_arg` will
both successfully print the variable, and also report a false positive
error:
```
error: <user expression>:1:1: use of undeclared identifier 'recognizer_arg'
1 | recognizer_arg
```
This change fixes both bugs, including when using `--regex`.
Commit: 58dff928280641f764fd08e421ee8a707f586f2d
https://github.com/llvm/llvm-project/commit/58dff928280641f764fd08e421ee8a707f586f2d
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A llvm/test/tools/llvm-offload-binary/llvm-offload-binary-malformed.ll
M llvm/test/tools/llvm-offload-binary/llvm-offload-binary.ll
Log Message:
-----------
[llvm-offload-binary] Fix test failures on z/OS by splitting malformed tests (#200258)
## Summary
This PR fixes test failures in `llvm-offload-binary.ll` on z/OS (and
potentially other EBCDIC platforms) by splitting the malformed file
tests into a separate test file.
## Problem
The test was failing on z/OS because it uses `printf` with octal escape
sequences to create malformed binary test data:
```bash
printf "\020\377\020\255\012" > %t9
```
On z/OS, the shell's I/O redirection performs automatic EBCDIC-to-ASCII
translation on the output from `printf`. This means the binary data
written to the file gets translated, resulting in different bytes than
intended. The malformed test data is therefore not created correctly,
causing `llvm-offload-binary` to fail in unexpected ways or not produce
the expected error messages.
## Benefits of this solution
- Main test file now passes on all platforms including z/OS
- Malformed file error handling tests are preserved for ASCII-based
systems
- Clear separation of concerns between standard tests and
platform-specific tests
- No loss of test coverage on supported platforms
Commit: ee40c5e35152cbd7ddb9d44aecab455e66df8d5a
https://github.com/llvm/llvm-project/commit/ee40c5e35152cbd7ddb9d44aecab455e66df8d5a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
A flang/test/HLFIR/order_assignments/where-allocatable-base.f90
Log Message:
-----------
[flang] Fix WHERE self-updates on allocatable array sections (#200281)
Teach ArraySectionAnalyzer to use the scheduler's value-equivalence
callback
when comparing hlfir.designate base memrefs. This lets HLFIR ordered
assignment
lowering recognize allocatable WHERE self-updates as aligned even when
the LHS
and RHS use distinct descriptor loads.
This avoids generating full-sized RHS temporaries for these masked
self-updates, preventing device heap exhaustion while preserving
parallel
kernel generation. Add a regression test for allocatable WHERE section
scheduling.
Commit: 7e200ebdd08cc5d95016c02636abe6e93bb581d4
https://github.com/llvm/llvm-project/commit/7e200ebdd08cc5d95016c02636abe6e93bb581d4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
Log Message:
-----------
[AggressiveInstCombine] Support Len==8 in tryToRecognizePopCount2n3. (#199551)
Len==8 can use matchPopCountBytes to do it's matching.
Commit: f85729489de0289a24920fa931b0aa00fb095c56
https://github.com/llvm/llvm-project/commit/f85729489de0289a24920fa931b0aa00fb095c56
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[Docs] Improve Documentation on Writing IR Test Cases (#200259)
This adds documentation for a couple common review comments I've seen:
1. Extraneous target triples/data-layouts
2. Tests not getting put in the right folder (especially when they
require a target and are not put in the target-specific subfolder)
3. Extraneous FileCheck prefixes.
Commit: 75fb8e47f6170d66c72311b9629b19c02e97841b
https://github.com/llvm/llvm-project/commit/75fb8e47f6170d66c72311b9629b19c02e97841b
Author: Alan Zhao <ayzhao at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
Log Message:
-----------
[lld][nfc] Fix spelling (#200279)
Commit: 8d8ebb1cb1b552423f6dff74a0887943d36dce08
https://github.com/llvm/llvm-project/commit/8d8ebb1cb1b552423f6dff74a0887943d36dce08
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/revec-fma-vectorize.ll
Log Message:
-----------
[SLP][REVEC][NFC]Add a test with the missed fma vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/200298
Commit: a853917bbf7b88e5b7e6cf61d0e724d68e0e1df1
https://github.com/llvm/llvm-project/commit/a853917bbf7b88e5b7e6cf61d0e724d68e0e1df1
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h
Log Message:
-----------
[Instrumentor] Fix nondeterminism in indirect argument alloca usage (#200289)
Co-authored-by: Kevin Sala Penades <salapenades1 at llnl.gov>
Commit: 3f140498c2d7ad67226c14d9d2cf5caf1442cceb
https://github.com/llvm/llvm-project/commit/3f140498c2d7ad67226c14d9d2cf5caf1442cceb
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/include/llvm/Transforms/IPO/InstrumentorStubPrinter.h
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/InstrumentorStubPrinter.cpp
R llvm/test/Instrumentation/Instrumentor/default_rt
A llvm/test/Instrumentation/Instrumentor/default_rt.c
A llvm/test/Instrumentation/Instrumentor/default_rt.h
M llvm/test/Instrumentation/Instrumentor/generate_rt.ll
A llvm/test/Instrumentation/Instrumentor/lit.local.cfg
M llvm/test/Instrumentation/Instrumentor/rt_config.json
Log Message:
-----------
[Instrumentor] Improve stub printer (for C/C++ and value packs) (#198366)
The stub printer now emits a helper header to deal with value packs (in
C and C++). We also make the files C/C++ compatible and use the proper
format strings for int32_t and int64_t.
Commit: 843d4a6a27a06527122d3c5fa1a3f85fd8d5fd1b
https://github.com/llvm/llvm-project/commit/843d4a6a27a06527122d3c5fa1a3f85fd8d5fd1b
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/test/Instrumentation/Instrumentor/default_config.json
M llvm/test/Instrumentation/Instrumentor/module_and_globals.ll
A llvm/test/Instrumentation/Instrumentor/operations.json
A llvm/test/Instrumentation/Instrumentor/operations.ll
Log Message:
-----------
[Instrumentor] Add numeric operation instruction instrumentation support (#199749)
This patch introduces a new instrumentation opportunity for numeric
operations.
Commit: 4910eda2a04e8532e434acb140c692e1c4da319c
https://github.com/llvm/llvm-project/commit/4910eda2a04e8532e434acb140c692e1c4da319c
Author: Florian Mayer <fmayer at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[FlowSensitive] [StatusOr] Support ABSL_RETURN_IF_ERROR (#200287)
This was recently introduced in absl
Commit: 7964b66bf55d53f7a528a8153c005bee0614a3d7
https://github.com/llvm/llvm-project/commit/7964b66bf55d53f7a528a8153c005bee0614a3d7
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/CMakeLists.txt
A llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
A llvm/include/llvm/Transforms/IPO/InstrumentorVariables.inc.in
M llvm/lib/Transforms/IPO/InstrumentorStubPrinter.cpp
M llvm/test/Instrumentation/Instrumentor/default_rt.h
Log Message:
-----------
[Instrumentor] Move instrumentor stub library into its own header file (#199329)
This patch depends on #198366. It moves the instrumentor runtime helper
header into its own file and makes it accessible as a string value to
the instrumentor pass.
Commit: 5047ae21b426452b3ee753574be45404d15111cb
https://github.com/llvm/llvm-project/commit/5047ae21b426452b3ee753574be45404d15111cb
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
[Docs] Note change to Maintainers.md in DeveloperPolicy (#200315)
This was brought up in a Discord discussion around adding a new target.
Update the documentation to mention Maintainers.md everywhere and remove
references to Maintainers.rst where the former is exclusive.
The only remaining usage of Maintainers.rst is in clang-tools-extra and
we should probably just rewrite it in Markdown especially given it seems
like there is conesnsus to move away from ReST entirely, but we can do
that later.
Commit: 7672a992182dee9ddaabe538bd3fd61a91d854b8
https://github.com/llvm/llvm-project/commit/7672a992182dee9ddaabe538bd3fd61a91d854b8
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 7964b66 (#200316)
This fixes 7964b66bf55d53f7a528a8153c005bee0614a3d7.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 4c33844b4b560f24b2a3a0cc689d73510cb01ad5
https://github.com/llvm/llvm-project/commit/4c33844b4b560f24b2a3a0cc689d73510cb01ad5
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M compiler-rt/lib/profile/CMakeLists.txt
Log Message:
-----------
[PGO][HIP] Skip ROCm interceptor in profile-only compiler-rt builds (#200111)
PR #177665 made `libclang_rt.profile.a` merge `RTInterception` and
`sanitizer_common` object libs to support the `hipModuleLoad*` host
interceptor added in `InstrProfilingPlatformROCm.cpp`. Those object-lib
targets are only created when `COMPILER_RT_BUILD_SANITIZERS / _MEMPROF /
_XRAY / _CTX_PROFILE` is enabled (see `compiler-rt/lib/CMakeLists.txt`),
so a profile-only configuration fails at configure time:
```
CMake Error at cmake/Modules/AddCompilerRT.cmake:365 (add_library):
Error evaluating generator expression:
$<TARGET_OBJECTS:RTInterception.x86_64>
Objects of target "RTInterception.x86_64" referenced but no such target
exists.
Call Stack (most recent call first):
lib/profile/CMakeLists.txt:233 (add_compiler_rt_runtime)
```
Fix: gate the object-lib merge on the `RTInterception.<arch>` /
`RTSanitizerCommon*.<arch>` targets actually existing, and drop
`InstrProfilingPlatformROCm.cpp` from `PROFILE_SOURCES` in that case so
the static archive stays self-contained. The host-side hook
`__llvm_profile_hip_collect_device_data` is already declared weak in
`InstrProfilingFile.c` (PR #200101), so its absence is fine at link
time.
Verified:
- Profile-only standalone compiler-rt build
(`-DCOMPILER_RT_BUILD_SANITIZERS=OFF -DCOMPILER_RT_BUILD_MEMPROF=OFF
-DCOMPILER_RT_BUILD_XRAY=OFF -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-DCOMPILER_RT_BUILD_PROFILE=ON`) now configures and links cleanly.
- Default runtimes build still merges the object libs and produces the
interceptor; `check-profile` 134/134 pass.
Commit: 3cb8e7215f2d3aa2849813320d3d337859242388
https://github.com/llvm/llvm-project/commit/3cb8e7215f2d3aa2849813320d3d337859242388
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
Log Message:
-----------
[AMDGPU] Address follow-up concerns from 189121 (#192322)
Addressing some comments missed in
https://github.com/llvm/llvm-project/pull/185726
Commit: 561c528b5e1900d41aeef506dfb632a66b3b9d51
https://github.com/llvm/llvm-project/commit/561c528b5e1900d41aeef506dfb632a66b3b9d51
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
Log Message:
-----------
[RISCV] Extend vp.reverse vp.load/vp.store combine to non-VP splice + reverse (#180907)
As part of #172961, we can replace vp.reverse with
vector.splice.right(reverse(X), poison, EVL). This extends the existing
vp.reverse(vp.load) -> vp.strided.load stride=-1 and
vp.store(vp.reverse) -> vp.strided.store stride=-1 combines to also
handle the splice form.
It adds a pattern match helper to match both vp.reverse and
vector.splice.right. If vp.reverse is removed in future, then this
pattern match helper can be removed.
Commit: 01a92098491a9d94f84149b92a5a522b1725668b
https://github.com/llvm/llvm-project/commit/01a92098491a9d94f84149b92a5a522b1725668b
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
Log Message:
-----------
[CIR] Add emitBuiltinWithOneOverloadedType helper (#199518)
Port `emitBuiltinWithOneOverloadedType<N>` from classic
CodeGen(`CGBuiltin.h`) to `CIRGenFunction` so the common pattern "emit N
scalar operands and call an LLVM intrinsic whose return type matches the
first operand" can be written as a one-liner across all targets.
Used it to simplify a few existing AMDGPU builtin lowerings (`div_fmas`,
`ds_swizzle`, `readlane`, `readfirstlane`).
Commit: b378c7162613afdc982e8a2e6ec478066ea04492
https://github.com/llvm/llvm-project/commit/b378c7162613afdc982e8a2e6ec478066ea04492
Author: Jin Huang <jinhuang1102 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-int-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-ui129tofp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-optnone.ll
Log Message:
-----------
[profcheck] Fix profile metadata propagation for Large FP Operations (#175864)
This PR improves the propagation of profile metadata within the
ExpandIRInsts pass. When lowering non-standard floating-point
operations, the pass now ensures that branch weights are correctly
attached to the generated control flow, preventing the loss of profile
data during IR expansion.
This enhancements cover the conversions between non-standard
floating-point formats and large integers (e.g., `fptosi/fptoui`,
`sitofp/uitofp` involving `i129`).
This PR implements Heuristic-Based Branch Weights labeling using
established heuristics for Floating-point rounding overflow and
saturation checks and adds detailed comments within the expansion logic
to explain the rationale behind specific branch weight choices and the
underlying mathematical invariants.
Please refer to the implementation details in the source code for the
specific branch weight values and the logic governing their application.
---------
Co-authored-by: Jin Huang <jingold at google.com>
Co-authored-by: Aiden Grossman <aidengrossman at google.com>
Commit: 023e7decf625eb03e93aec568ffdbf13e726fbee
https://github.com/llvm/llvm-project/commit/023e7decf625eb03e93aec568ffdbf13e726fbee
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
M llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
Log Message:
-----------
[RISCV] Skip unrelated COPY during Zdinx/P instruction generation in RISCVMoveMerge (#200219)
`findMatchingInstPair` returned early on the first non-matching `COPY`,
which could miss a valid later `COPY` pair.
Update the scan to continue past non-matching `COPY` instructions and
only apply existing dependency checks when a lane match is found.
Commit: 479818a38ccfb1d82a1e67d13ae11d2151a62c30
https://github.com/llvm/llvm-project/commit/479818a38ccfb1d82a1e67d13ae11d2151a62c30
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[Profcheck] Update xfail list after b378c7162613afdc982e8a2e6ec478066ea04492 (#200326)
Commit: 767f01e0910d9211486d4022c5c5e7d71c85dff2
https://github.com/llvm/llvm-project/commit/767f01e0910d9211486d4022c5c5e7d71c85dff2
Author: Wenju He <wenju.he at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
A libclc/clc/include/clc/internal/math/clc_runtime_has_hw_fma32.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/clc_fma.h
M libclc/clc/lib/generic/math/clc_fma.cl
M libclc/clc/lib/spirv/CMakeLists.txt
A libclc/clc/lib/spirv/math/clc_fma.cl
A libclc/clc/lib/spirv/math/clc_fma.inc
A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
A libclc/clc/lib/spirv/math/clc_sw_fma.cl
M libclc/clc/lib/spirv/vulkan/CMakeLists.txt
R libclc/clc/lib/spirv/vulkan/math/clc_sw_fma.cl
M libclc/opencl/lib/generic/math/fma.cl
M libclc/opencl/lib/spirv/CMakeLists.txt
A libclc/opencl/lib/spirv/math/fma.cl
Log Message:
-----------
[libclc] Use float sw_fma for spirv*-mesa-mesa3d targets (#199626)
This partially reverts 39f3d72b72fd, which changes almost all targets to
use __builtin_elementwise_fma.
The same revert was done for clspv in 1d719edd9935.
Restore __clc_runtime_has_hw_fma32 so that Mesa can dynamically change
its behavior to enable native fma for specific hardware.
Fixes #198542
Commit: 021b93e7e763e81db740972c5f2b761a6f7f47b5
https://github.com/llvm/llvm-project/commit/021b93e7e763e81db740972c5f2b761a6f7f47b5
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/test/API/python_api/sbmodule/TestSBModule.py
Log Message:
-----------
[lldb] Make TestSBModule a no-SHARED_BUILD_TESTCASE (#188265)
Building libfoo.a twice (quickly) confuses the cache in
ObjectContainerBSDArchive (which works only with second granularity),
and causes the second test to fail due to accessing wrong parts of the
file.
I'm also making this a NO_DEBUG_INFO_TESTCASE as the debug info
distinction is not particularly relevant for this test. Technically,
this would be enough as the collision is between two debug info variants
of the same test case, but SHARED_BUILD_TESTCASE=False seems like a more
principled fix.
Commit: bf8dabd88282bb9cf6bd364d29e6d797645074f0
https://github.com/llvm/llvm-project/commit/bf8dabd88282bb9cf6bd364d29e6d797645074f0
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
A offload/ci/hip-tpl.py
Log Message:
-----------
[HIP][CI] Add HIP Kokkos bot recipe (#200201)
Commit: 7d7f98b11b9c2dee5ca6b570fba161dbb102ef87
https://github.com/llvm/llvm-project/commit/7d7f98b11b9c2dee5ca6b570fba161dbb102ef87
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGen/construction-vtable-visibility.cpp
M clang/test/CodeGen/push-hidden-visibility-subclass.cpp
M clang/test/CodeGen/split-lto-unit-input.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/PR26569.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllexport.cpp
M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllimport.cpp
M clang/test/CodeGenCXX/cfi-cross-dso.cpp
M clang/test/CodeGenCXX/ctor-dtor-alias.cpp
M clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dllimport-rtti.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/dso-local-executable.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/internal-linkage.cpp
M clang/test/CodeGenCXX/key-function-vtable.cpp
M clang/test/CodeGenCXX/mangle-ms-md5.cpp
M clang/test/CodeGenCXX/mangle-subst-std.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.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/microsoft-interface.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/modules-vtable.cppm
M clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
M clang/test/CodeGenCXX/ms-thunks-unprototyped.cpp
M clang/test/CodeGenCXX/pr70585.cppm
M clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
M clang/test/CodeGenCXX/template-instantiation.cpp
M clang/test/CodeGenCXX/type-metadata.cpp
M clang/test/CodeGenCXX/type_visibility.cpp
M clang/test/CodeGenCXX/vcall-visibility-metadata.cpp
M clang/test/CodeGenCXX/virt-template-vtable.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenCXX/vtable-align-address-space.cpp
M clang/test/CodeGenCXX/vtable-align.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load.cpp
M clang/test/CodeGenCXX/vtable-available-externally.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/CodeGenCXX/vtable-constexpr-address-space.cpp
M clang/test/CodeGenCXX/vtable-constexpr.cpp
M clang/test/CodeGenCXX/vtable-key-function-address-space.cpp
M clang/test/CodeGenCXX/vtable-key-function-arm.cpp
M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
M clang/test/CodeGenCXX/vtable-key-function-win-comdat.cpp
M clang/test/CodeGenCXX/vtable-key-function.cpp
M clang/test/CodeGenCXX/vtable-linkage-address-space.cpp
M clang/test/CodeGenCXX/vtable-linkage.cpp
M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
M clang/test/CodeGenCXX/vtt-layout.cpp
M clang/test/CodeGenCXX/windows-itanium-type-info.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
M clang/test/Headers/hip-header.hip
M clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_vtable_codegen_explicit.cpp
Log Message:
-----------
[CodeGen] Stop setting vtable as unnamed_addr (#200108)
Successor of https://github.com/llvm/llvm-project/pull/197855
Close https://github.com/llvm/llvm-project/issues/71196
See the above PR for the full context.
AI assisted
Commit: 891b8f6fa8e796464b34fa9460933fccf69f3cc3
https://github.com/llvm/llvm-project/commit/891b8f6fa8e796464b34fa9460933fccf69f3cc3
Author: Claire Fan <fanyungching at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp
M llvm/lib/Target/BPF/BPFSelectionDAGInfo.h
A llvm/test/CodeGen/BPF/libcall-memcpy-threshold.ll
Log Message:
-----------
[BPF] crash fix for memcpy with unsupported alignment (#199541)
### Summary
BPF only has scalar load/store opcodes up to 8 bytes and `memcpy` with
16 byte alignment crashes with `llvm_unreachable("unsupported memcpy
alignment");` in `BPFInstrInfo::expandMEMCPY`
### Issue
The crash can be reproduced from Rust code like:
```rust
#[no_mangle]
pub extern "C" fn entry(src: *const u128) -> u64 {
let mut dst = [0u128; 2];
unsafe { ptr::copy_nonoverlapping(src, dst.as_mut_ptr(), 2) };
let _ = black_box(dst);
0
}
```
This produces a `memcpy` with 16-byte alignment and
`BPFSelectionDAGInfo::EmitTargetCodeForMemcpy` emit the `BPFISD::MEMCPY`
pseudo for 16-byte alignment. That pseudo later reaches `expandMEMCPY`
during the Post-RA pseudo expansion pass and hits:
```
llvm_unreachable("unsupported memcpy alignment");
```
The crash report looks like:
```
= note: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/
and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0. Running pass 'Function Pass Manager' on module 'linked_module'.
1. Running pass 'Post-RA pseudo instruction expansion pass' on function '@entry'
```
### Fix
Return `SDValue()` in `BPFSelectionDAGInfo::EmitTargetCodeForMemcpy`
when the alignment is larger than 8 bytes. LLVM then naturally falls
back to the existing libcall path and emits `call memcpy` instead of
creating a pseudo instruction that cannot be expanded later.
Since `memcpy`, `memset`, and `memmove` are now whitelisted, I think
this fallback behavior is the right fix: unsupported target expansion
should decline and use the existing libcall path instead of crashing.
### Opt-in controls around libcalls
I also want to use this chance to introduce two opt-in controls around
libcalls for VM/runtime use cases built on top of the BPF backend (both
controls are opt-in and disabled by default, so existing kernel projects
and current BPF behavior remain unchanged),
### --bpf-max-stores-per-memfunc
First, an opt-in flag to control over
`BPFSelectionDAGInfo::getCommonMaxStoresPerMemFunc()`.
Today, the target memory expansion path uses:
```c++
if (StoresNumEstimate > getCommonMaxStoresPerMemFunc())
return SDValue();
```
This threshold controls whether `EmitTargetCodeForMemcpy` continues
emitting the BPF memory pseudo(which is later expanded with load/store
ops) or falls back to the libcall path.
Currently this value is effectively fixed at 128, which means most
constant-size memory operations are expanded into inline load/store
sequences. Exposing the threshold gives VM/runtime users a way to allow
more memory operations to fall through to libcalls, while keeping the
current default behavior unchanged.
### --bpf-allows-libcalls (PR #199542 )
Second, an opt-in flag to allow additional libcalls beyond the currently
whitelisted ones.
Today BPF rejects unsupported libcalls here:
```c++
if (Sym != BPF_TRAP && Sym != "__multi3" && Sym != "__divti3" &&
Sym != "__modti3" && Sym != "__udivti3" &&
Sym != "__umodti3" && Sym != "memcpy" &&
Sym != "memset" && Sym != "memmove")
fail(
CLI.DL, DAG,
Twine("A call to built-in function '" + Sym +
"' is not supported."));
```
With the new flag enabled, _this error path is skipped_ so VM/runtime
environments can provide their own libcall implementations.
For VM runtimes using the BPF backend, libcalls are useful because they
create an interface between normal compiler-generated code and
runtime-specific optimization. We have already explored this model for
u128 arithmetic, where libcalls allow normal Rust code to stay unchanged
while the runtime can provide optimized behavior:
https://blueshift.gg/research/accelerating-u128-math-with-libcalls-and-jit-intrinsics
The same idea applies to memory operations. Users can continue writing
normal Rust like `ptr::copy_nonoverlapping`, while the runtime can
choose an implementation tailored to its execution environment.
Both controls are opt-in and disabled by default, so existing kernel
projects and current BPF behavior remain unchanged.
Commit: 6bee6b09e21c579f191daab05a180b3ffeedfebc
https://github.com/llvm/llvm-project/commit/6bee6b09e21c579f191daab05a180b3ffeedfebc
Author: Claire Fan <fanyungching at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/BPF/BPFISelLowering.cpp
A llvm/test/CodeGen/BPF/libcall-non-whitelisted.ll
Log Message:
-----------
[BPF] cli option to allow libcalls (#199542)
This is the follow up PR for PR #199541
### --bpf-allows-libcalls
Second, an opt-in flag to allow additional libcalls beyond the currently
whitelisted ones.
Today BPF rejects unsupported libcalls here:
```c++
if (Sym != BPF_TRAP && Sym != "__multi3" && Sym != "__divti3" &&
Sym != "__modti3" && Sym != "__udivti3" &&
Sym != "__umodti3" && Sym != "memcpy" &&
Sym != "memset" && Sym != "memmove")
fail(
CLI.DL, DAG,
Twine("A call to built-in function '" + Sym +
"' is not supported."));
```
With the new flag enabled, this error path is skipped so VM/runtime
environments can provide their own libcall implementations.
For VM runtimes using the BPF backend, libcalls are useful because they
create an interface between normal compiler-generated code and
runtime-specific optimization. We have already explored this model for
u128 arithmetic, where libcalls allow normal Rust code to stay unchanged
while the runtime can provide optimized behavior:
https://blueshift.gg/research/accelerating-u128-math-with-libcalls-and-jit-intrinsics
The same idea applies to memory operations. Users can continue writing
normal Rust like `ptr::copy_nonoverlapping`, while the runtime can
choose an implementation tailored to its execution environment.
This new option is opt-in and disabled by default, so existing kernel
projects and current BPF behavior remain unchanged.
Commit: 05bcb056f05607025d260945a982dd2fd230b9f6
https://github.com/llvm/llvm-project/commit/05bcb056f05607025d260945a982dd2fd230b9f6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
Log Message:
-----------
[RISCV] Combine isGPRPairCopyCandidateEven/isGPRPairCopyCandidateOdd in MoveMerger. NFC (#200254)
These only differ in the subreg index. Add a bool to control it.
Commit: 4c1bc59365360f7f24a5c82b8cebd2b52634879a
https://github.com/llvm/llvm-project/commit/4c1bc59365360f7f24a5c82b8cebd2b52634879a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Fix variadic operator calls with explicit this (#199978)
Commit: bbf8a33ad5f51b5641e7665e5f0d2f0079b454f6
https://github.com/llvm/llvm-project/commit/bbf8a33ad5f51b5641e7665e5f0d2f0079b454f6
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
Log Message:
-----------
[mlir][spirv][tosa] Extend TOSA to SPIR-V TOSA op conversion (#200009)
Add conversion patterns for additional TOSA 1.0 operations targeting
the SPIR-V TOSA extended instruction set.
Introduce a common TosaOpConvert pattern with small replacer classes
to share result type conversion while keeping op-specific replacement
logic explicit.
The newly covered operations include:
* elementwise ops such as clamp, arithmetic_right_shift, mul, table,
negate, and select
* reductions and argmax
* gather, scatter, resize
* reshape, reverse, slice, tile, transpose
* cast and const_shape
Also add conversion tests.
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: b835d5a98f48cb9dcae3ec915a0790826eb7d2a2
https://github.com/llvm/llvm-project/commit/b835d5a98f48cb9dcae3ec915a0790826eb7d2a2
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/IR/Value.cpp
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
Log Message:
-----------
[IR] Only require nofree in canBeFreed() (#200191)
After https://github.com/llvm/llvm-project/pull/195658 we only need the
function to be nofree, as this also precludes freeing via
synchronization now. Being nosync is no longer required.
Commit: 01c93f511b4b5f734ac420709266036497610014
https://github.com/llvm/llvm-project/commit/01c93f511b4b5f734ac420709266036497610014
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGenCXX/new_hot_cold.cpp
M clang/test/CodeGenCXX/operator-new.cpp
Log Message:
-----------
[Clang] Mark new as inaccessiblememonly if sane (#197199)
If `-fassume-sane-operator-new` (the default), assume that `operator
new` does not read or write accessible memory.
Currently, this assumption already exists due to special treatment in
BasicAA. I'd like to remove this special treatment (see
https://github.com/llvm/llvm-project/pull/197180), and instead rely only
on the `memory` attribute.
It's worth noting that this is consistent with GCC's interpretation of
the flag (where it is also enabled by default):
> [...] With -fassume-sane-operators-new-delete option GCC may assume
that calls to the replaceable global operators from new or delete
expressions or from __builtin_operator_new or __builtin_operator_delete
calls don’t read or modify any global variables or variables whose
address could escape to the operators (global state; except for errno
for the new and new[] operators). [...]
Commit: b159ed6fa212607ecd287fa73f4bee59802b1528
https://github.com/llvm/llvm-project/commit/b159ed6fa212607ecd287fa73f4bee59802b1528
Author: hev <wangrui at loongson.cn>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/CMakeLists.txt
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
A llvm/lib/Target/LoongArch/LoongArchTargetObjectFile.cpp
A llvm/lib/Target/LoongArch/LoongArchTargetObjectFile.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.h
A llvm/test/DebugInfo/LoongArch/tls.ll
A llvm/test/MC/LoongArch/Directives/tls.s
M llvm/utils/gn/secondary/llvm/lib/Target/LoongArch/BUILD.gn
Log Message:
-----------
[LoongArch] Emit DTPREL relocations for TLS debug info (#199326)
Teach the LoongArch backend to lower thread-local debug references using
target-specific DTPREL relocations.
This adds .dtprelword and .dtpreldword directive parsing and streaming,
introduces 32-bit and 64-bit DTPREL fixups and ELF relocation mappings,
and uses a LoongArch target object file to represent debug TLS symbols
as VK_DTPREL expressions. LoongArchAsmPrinter is updated to emit the new
directives for debug TLS values in assembly output.
Add MC and debug info tests for assembly emission and object
relocations.
Commit: 8f45cf9822a5840925836457b78ba4d515ef8da5
https://github.com/llvm/llvm-project/commit/8f45cf9822a5840925836457b78ba4d515ef8da5
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/SystemZ/cmp-ext-01.ll
Log Message:
-----------
[SystemZ] Handle pointer size correctly in getVectorBitmaskConversionCost(). (#200171)
Unfortunately, getScalarSizeInBits() returns 0 for PointerTy, which
means that the loop vectorizer got way too high costs for sext i1 after
a compare(ptr, 0).
There is already a version of getScalarSizeInBits() in
SystemZTargetTransformInfo.cpp that handles this, so this is fixed by
using this in the needed places.
As a result, a few more loops are vectorized, and perl improves ~1%.
Commit: 64bc1fae11d6591739ed0c14f1f3464ae7bc24ac
https://github.com/llvm/llvm-project/commit/64bc1fae11d6591739ed0c14f1f3464ae7bc24ac
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGen/SystemZ/stack-guard-global-option.c
M clang/test/Driver/stack-protector-guard.c
M llvm/include/llvm/IR/Module.h
M llvm/lib/IR/Module.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
A llvm/test/CodeGen/SystemZ/stack-guard-global-nopic.ll
A llvm/test/CodeGen/SystemZ/stack-guard-global-pic.ll
A llvm/test/CodeGen/SystemZ/stack-guard-pseudos.ll
A llvm/test/CodeGen/SystemZ/stack-guard-tls.ll
R llvm/test/CodeGen/SystemZ/stack-guard.ll
Log Message:
-----------
[SystemZ] Global Stackprotector and associated location section (#169317)
This commit allows `-mstack-protector-guard=global` for `s390x`.
It also adds a new arch-specific option
`-mstack-protector-guard-record`, analogous to `-mrecord-mcount`, which
will cause `clang` to emit a `__stack_protector_loc` section containing
all the locations in the output binary that load the stack guard
address, for the purposes of later rewriting of those loads by the
kernel. This new option only works together with the `global` stack
protector.
In order to minimize exposure of the stack guard, both the storing of
the stack guard onto the stack, and the later comparison of that value
against the reference value, are handled via direct mem-to-mem
instructions, those being `mvc` and `clc`.
This is achieved by introducing two new pseudo instructions,
`MOVE_STACK_GUARD` and `COMPARE_STACK_GUARD`, which are inserted by the
DAGCombiner after SelectionDAG construction. These pseudos stick around
throughout the entire backend pipeline, and are lowered only in the
AsmPrinter.
This commit also adds tests for both kinds of stack protectors (tls and
global), for the proper insertion of the pseudos, the proper emission of
the, `__stack_protector_loc` section, as well as the option
compatibility checks for the new options.
Commit: f7a2267de9e3088bafe241da9bd90c710ccc9c3c
https://github.com/llvm/llvm-project/commit/f7a2267de9e3088bafe241da9bd90c710ccc9c3c
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/IR/LegacyPassManager.cpp
Log Message:
-----------
[IR] Skip remove_if scan for empty maps in removeNotPreservedAnalysis (#200292)
removeNotPreservedAnalysis runs after every legacy-PM pass. #198982
changed it to DenseMap::remove_if, which iterates the raw bucket array
even when the map is empty. The old begin()/end() loop did not:
begin()'s
makeBegin returns end() directly for an empty map (its "avoid advancing
past empty buckets" shortcut), so the loop touched no buckets. These
maps
are usually empty here but keep a grown bucket array after their entries
are erased (a 64-bucket array when compiling sqlite3.i at -O0 -g), so
remove_if walks empty buckets for nothing, regressing instructions:u
(most visible at -O0). #199571 was a small fix for the out-of-lined
remove_if call; this addresses the dominant cost.
Skip empty maps, which fixes the regression:
https://llvm-compile-time-tracker.com/compare.php?from=8ab00f2c21e5975f5de977ca68607b4acc23c856&to=6a33135fad599da0c2c9919ec37f81217e5c8f6b&stat=instructions:u
Commit: 3648f148c70b1980e858f539f1d49837ad94dbf0
https://github.com/llvm/llvm-project/commit/3648f148c70b1980e858f539f1d49837ad94dbf0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Add myself as maintainer for LoopInterchange and related passes (#200335)
I have been consistently contributing to LoopInterchange and the passes
related to it, including Delinearization, DependenceAnalysis, and
ScalarEvolutionDivision. In accordance with [the LLVM Developer
Policy](https://llvm.org/docs/DeveloperPolicy.html#adding-or-enabling-a-new-llvm-pass),
and to help move things forward, particularly toward enabling
LoopInterchange by default, I would like to nominate myself as a
maintainer for these passes.
See also: #124911.
Commit: 971ad593d6a2df38ab3854dc3bc440eab8416057
https://github.com/llvm/llvm-project/commit/971ad593d6a2df38ab3854dc3bc440eab8416057
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
Log Message:
-----------
[AArch64][GlobalISel] Add handling for scalar sqneg intrinsic (#200211)
Scalar versions of the intrinsic must be performed on FPR banks. To
ensure this happens, coerce the source and destination registers to be
on FPR.
Commit: 3ca81aa6b6d081797eeb555fb905fe7707acac74
https://github.com/llvm/llvm-project/commit/3ca81aa6b6d081797eeb555fb905fe7707acac74
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll
Log Message:
-----------
[VectorCombine] Don't scalarize atomic loads (#200263)
scalarizeLoad tries to convert e.g.
%a = load <2 x i32> %ptr
%b = extractelement %a, 1
into a scalar load. Before this patch it would do this even when the
load is atomic, but in doing so it accidentally dropped the atomicity of
the load!
Although it is correct to apply this transformation to unordered
atomics, for now we simply don't apply this pass to atomics at all.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 9d47197593c671a2925b1121b9194d73d2b0195b
https://github.com/llvm/llvm-project/commit/9d47197593c671a2925b1121b9194d73d2b0195b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libcxx/include/__memory/shared_ptr.h
Log Message:
-----------
[libc++] Use variable templates instead of class templates in shared_ptr.h (#199481)
This improves readability and compile times a bit.
Commit: eaf5ba7478e774e55334b021221db62f331667e5
https://github.com/llvm/llvm-project/commit/eaf5ba7478e774e55334b021221db62f331667e5
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/transcoding/ReqdSubgroupSize.ll
Log Message:
-----------
[SPIR-V] Recognize reqd_sub_group_size metadata for SubgroupSize (#199521)
Recognize function metadata without a vendor prefix for the
`SubgroupSize` Execution Mode, alongside the existing vendor-prefixed
metadata. `SubgroupSize` is a core SPIR-V feature, so representing it
using vendor-prefixed metadata was misleading.
Relates to
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/3742
Commit: e8772d99d89a5ed47a58d1a429bc55e5e055c3f7
https://github.com/llvm/llvm-project/commit/e8772d99d89a5ed47a58d1a429bc55e5e055c3f7
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[Maintainers] Fix Markdown heading level (#200340)
Commit: d7703c6aab9fd496cc467d81415d07c01247f188
https://github.com/llvm/llvm-project/commit/d7703c6aab9fd496cc467d81415d07c01247f188
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
Log Message:
-----------
[libc] Add byteswap.h to Linux public header target lists (#200345)
The headers don't get built/installed without this.
Commit: a0f7a62bb6a20404221e2823d4b7dd77f67e77ea
https://github.com/llvm/llvm-project/commit/a0f7a62bb6a20404221e2823d4b7dd77f67e77ea
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][doc][SYCL] Add a very first SYCL release note (#200200)
Commit: 2d046bd62066067a1de8cb65752f1dd9404c4121
https://github.com/llvm/llvm-project/commit/2d046bd62066067a1de8cb65752f1dd9404c4121
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
A llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-negative-i32-offset.ll
Log Message:
-----------
[LSR] Improve the recognition of vscale immediates (#196998)
Previously, the extraction of vscale immediates was handled the same as
the non-scalable case. That is we'd look for a `vscale * constant`
scMulExpr on the LHS of the SCEV expression.
However, within a SCEV expression operands are ordered by "complexity",
which is defined (mostly) by the order of the SCEVTypes enum:
https://github.com/llvm/llvm-project/blob/bcb84e234980ca42ee47e21e4c97180c788c946a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h#L38-L59
So, (non-scalable) constants would always occur on the LHS as the
simplest expression type, but a scMulExpr could occur later in the
operand list for a scAddExpr (e.g., after a sext/zext expression). This
meant in some cases we'd fail to find vscale immediates.
This patch updates `ExtractImmediate` to search later operands to find
vscale offsets, and prefer vscale offsets based on the access type and
current BaseOffset. So for scalable accesses, we prefer finding vscale
immediates over fixed immediates when both are present.
Commit: f7fa98ea57dc665d8fcde895fe44547b9d9189cb
https://github.com/llvm/llvm-project/commit/f7fa98ea57dc665d8fcde895fe44547b9d9189cb
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[llvm][docs] Correct link to libc maintainers file (#200348)
Commit: c2e39974c8e27727b15297f82b6bd3be684a4789
https://github.com/llvm/llvm-project/commit/c2e39974c8e27727b15297f82b6bd3be684a4789
Author: Weibo He <NewSigma at 163.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
A llvm/test/Transforms/Coroutines/coro-frame-inramp.ll
Log Message:
-----------
[CoroSplit] Never cross suspending points when `coro.is_in_ramp` is true (#198226)
When `coro.is_in_ramp` is true, the marked region does not appear in
resumers after splitting and therefore never crosses a suspension point.
This patch leverages that property to avoid wasting space on lazy
conversion:
``` C++
#include <coroutine>
struct coro {
struct promise_type {
auto get_return_object() noexcept {
return std::coroutine_handle<promise_type>::from_promise(*this);
}
std::suspend_always initial_suspend() noexcept { return {}; }
std::suspend_never final_suspend() noexcept { return {}; }
void return_void() noexcept {}
void unhandled_exception() {}
};
coro(std::coroutine_handle<promise_type> handle) : handle(handle) {}
std::coroutine_handle<> handle;
long l[2];
};
coro fn() {
co_return;
}
```
Commit: 2e10a9f2e95a17d4d009e9546a6cb5d442049233
https://github.com/llvm/llvm-project/commit/2e10a9f2e95a17d4d009e9546a6cb5d442049233
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/const-eval.c
Log Message:
-----------
[clang][bytecode] Check Mulc op for numbers (#199657)
Commit: bafde6fbb860e9b2f887a649c19f3b3ebb168041
https://github.com/llvm/llvm-project/commit/bafde6fbb860e9b2f887a649c19f3b3ebb168041
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/FlangRTIntrospection.cmake
M flang-rt/lib/CMakeLists.txt
M flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/__cuda_builtins.f90
A flang-rt/lib/runtime/__cuda_device.f90
A flang-rt/lib/runtime/__fortran_builtins.f90
A flang-rt/lib/runtime/__fortran_ieee_exceptions.f90
A flang-rt/lib/runtime/__fortran_type_info.f90
A flang-rt/lib/runtime/__ppc_intrinsics.f90
A flang-rt/lib/runtime/__ppc_types.f90
A flang-rt/lib/runtime/cooperative_groups.f90
A flang-rt/lib/runtime/cuda_runtime_api.f90
A flang-rt/lib/runtime/cudadevice.f90
A flang-rt/lib/runtime/flang_debug.f90
A flang-rt/lib/runtime/ieee_arithmetic.f90
A flang-rt/lib/runtime/ieee_exceptions.f90
A flang-rt/lib/runtime/ieee_features.f90
A flang-rt/lib/runtime/iso_c_binding.f90
A flang-rt/lib/runtime/iso_fortran_env.f90
M flang-rt/lib/runtime/iso_fortran_env_impl.cpp
A flang-rt/lib/runtime/iso_fortran_env_impl.f90
A flang-rt/lib/runtime/mma.f90
M flang-rt/test/CMakeLists.txt
M flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
M flang-rt/test/Driver/iso_fortran_env_impl.f90
M flang-rt/test/lit.cfg.py
M flang-rt/test/lit.site.cfg.py.in
M flang/CMakeLists.txt
M flang/lib/Semantics/semantics.cpp
R flang/module/.clang-format
R flang/module/__cuda_builtins.f90
R flang/module/__cuda_device.f90
R flang/module/__fortran_builtins.f90
R flang/module/__fortran_ieee_exceptions.f90
R flang/module/__fortran_type_info.f90
R flang/module/__ppc_intrinsics.f90
R flang/module/__ppc_types.f90
R flang/module/cooperative_groups.f90
R flang/module/cuda_runtime_api.f90
R flang/module/cudadevice.f90
R flang/module/flang_debug.f90
R flang/module/ieee_arithmetic.f90
R flang/module/ieee_exceptions.f90
R flang/module/ieee_features.f90
R flang/module/iso_c_binding.f90
R flang/module/iso_fortran_env.f90
R flang/module/iso_fortran_env_impl.f90
R flang/module/mma.f90
M flang/test/CMakeLists.txt
R flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/finclude/flang/x86_64-unknown-linux-gnu/.keep
M flang/test/Driver/intrinsic-module-path_per_target.f90
M flang/test/Driver/pp-fixed-form.f90
M flang/test/Lower/OpenMP/simd_aarch64.f90
M flang/test/Lower/OpenMP/target-enter-data-default-openmp52.f90
M flang/test/Lower/where-loc.f90
M flang/test/Parser/bug2280.f90
M flang/test/Preprocessing/fixed-free.f
M flang/test/Preprocessing/no-pp-if.f90
M flang/test/Semantics/bug163242.f90
M flang/test/Semantics/bug164303.f90
M flang/test/Semantics/bug2021.f90
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/CMakeLists.txt
R flang/tools/f18/CMakeLists.txt
R flang/tools/f18/dump.cpp
M llvm/runtimes/CMakeLists.txt
M openmp/CMakeLists.txt
R openmp/cmake/modules/LibompCheckFortranFlag.cmake
M openmp/cmake/modules/LibompHandleFlags.cmake
M openmp/module/CMakeLists.txt
M openmp/runtime/cmake/LibompExports.cmake
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M runtimes/cmake/config-Fortran.cmake
Log Message:
-----------
[Flang] Move builtin .mod generation into runtimes (Reapply #137828) (#171515)
Reapplication of #137828 and #169638
Move building the .mod files from openmp/flang to openmp/flang-rt using
a shared mechanism. Motivations to do so are:
1. Most modules are target-dependent and need to be re-compiled for each
target separately, which is something the LLVM_ENABLE_RUNTIMES system
already does. Prime example is `iso_c_binding.mod` which encodes the
target's ABI. Constants such as `c_long_double` also have different
values).
Most other modules have `#ifdef`-enclosed code as well. For instance
this caused offload targets nvptx64-nvidia-cuda/amdgpu-amd-amdhsa to use
the modules files compiled for the host which may contrain uses of the
types REAL(10) or REAL(16) not available for nvptx/amdgpu.
2. CMake has support for Fortran that we should use. Among other things,
it automatically determines module dependencies so there is no need to
hardcode them in the CMakeLists.txt.
Currently the dependencies between builtin modules and `omp_lib.mod`
seem to be incorrect:
https://github.com/llvm/llvm-project/pull/174474#issuecomment-3880189581
3. It allows using Fortran itself to implement Flang-RT. Currently, only
`iso_fortran_env_impl.f90` emits object files that are needed by Fortran
applications (#89403). The workaround of #95388 could be reverted (PR
#169525).
If using Flang for cross-compilation or target-offloading, flang-rt must
now be compiled for each target not only for the library, but also to
get the target-specific module files. For instance in a bootstrapping
runtime build, this can be done by adding:
`-DLLVM_RUNTIME_TARGETS=default;nvptx64-nvidia-cuda;amdgpu-amd-amdhsa`.
Some new dependencies come into play:
* openmp depends on flang-rt for building `lib_omp.mod` and
`lib_omp_kinds.mod`. Currently, if flang-rt is not found then the
modules are not built.
* check-flang depends on flang-rt: If not found, the majority of tests
are disabled. If not building in a bootstrpping build, the location of
the module files can be pointed to using
`-DFLANG_INTRINSIC_MODULES_DIR=<path>`, e.g. in a flang-standalone
build. Alternatively, the test needing any of the intrinsic modules
could be marked with `REQUIRES: flangrt-modules`.
* check-flang depends on openmp: Not a change; tests requiring
`lib_omp.mod` and `lib_omp_kinds.mod` those are already marked with
`openmp_runtime`.
As intrinsic are now specific to the target, their location is moved
from `include/flang` to `<resource-dir>/finclude/flang/<triple>`. The
mechnism to compute the location have been moved from flang-rt
(previously used to compute the location of `libflang_rt.*.a`) to common
locations in `cmake/GetToolchainDirs.cmake` and
`runtimes/CMakeLists.txt` so they can be used by both, openmp and
flang-rt. Potentially the mechnism could also be shared by other
libraries such as compiler-rt.
`finclude` was chosen because `gfortran` uses it as well and avoids
misuse such as `#include <flang/iso_c_binding.mod>`. The search location
is now determined by `ToolChain` in the driver, instead of by the
frontend. Another subdirectory `flang` avoids accidental inclusion of
gfortran-modules which due to compression would result in
user-unfriendly errors. Now the driver adds `-fintrinsic-module-path`
for that location to the frontend call (Just like gfortran does).
Since the driver determines the location,
tests invoking `flang -fc1` and `bbc` must also be passed the location
by llvm-lit. This works like llvm-lit does for finding the include dirs
for Clang using `-print-file-name=...`.
Commit: 0d8316a53da5ef7b46dd54ea5cf69c89129bb46d
https://github.com/llvm/llvm-project/commit/0d8316a53da5ef7b46dd54ea5cf69c89129bb46d
Author: Dan Liew <dan at su-root.co.uk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M compiler-rt/docs/BuildingCompilerRT.rst
M compiler-rt/test/CMakeLists.txt
Log Message:
-----------
[Compiler-rt][CMake][BoundsSafety] Add `COMPILER_RT_ENABLE_TEST_SUITES` to control which test suites are enabled (#196385)
This change introduces a new CMake cache variable
`COMPILER_RT_ENABLE_TEST_SUITES` that allows users to have fine-grained
control over which test suites are included and therefore run when
running `ninja check-all`.
For example building with `COMPILER_RT_ENABLE_TEST_SUITES=builtins;asan`
will only enable the builtins and asan tests under `compiler-rt/tests`.
The default value of `COMPILER_RT_INCLUDE_TESTS` is `all` which is a
special value that includes everything and it being the default means
this patch preserves existing behavior. Note this new option only has
affect when `COMPILER_RT_INCLUDE_TESTS` is On.
The primary use case for this change is it allows controlling tests that
don't have a corresponding runtime to be enabled/disabled. An example of
this is the `shadowcallstack` test suite. `-fbounds-safety` also has a
downstream test suite in compiler-rt like this. Previously there was no
way to disable including these tests when `COMPILER_RT_INCLUDE_TESTS`
was on.
The `-fbounds-safety` test suite will be upstreamed once the necessary
clang pieces exist upstream.
A side benefit of this change is it allows building runtimes but not
testing some of them which can be useful in some testing environments
(e.g. smoke-test). It is not the primary motivation though.
While the existing `COMPILER_RT_BUILD_<NAME>` options can be used to
prevent running tests (by not building corresponding runtimes) that
isn't a good solution because it:
* Doesn't work for tests that have no corresponding runtime to be built
like `shadowcallstack` because there's no CMake option for it.
* Requires specifying multiple CMake options to disable building each
runtime that we don't want tested. This approach disallows "building
but not testing certain runtimes" and also is annoying to maintain
because its effectively a subtractive list (you say what you don't
want) that has to be updated everytime a new runtime is introduced
whereas COMPILER_RT_ENABLE_TEST_SUITES is an additive list (you say
what you want) that doesn't need modifying everytime a new runtime is
introduced.
To implement this all test directories in `compiler-rt/test` are now
added through the `compiler_rt_test_runtime()` function which has been
adapted to accommodate all use cases.
Assisted-by: Claude Code
rdar://176477660
Commit: 386dac00fba8c7386fe33174234ca1c22b82258b
https://github.com/llvm/llvm-project/commit/386dac00fba8c7386fe33174234ca1c22b82258b
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGenCXX/new_hot_cold.cpp
M clang/test/CodeGenCXX/operator-new.cpp
Log Message:
-----------
Revert "[Clang] Mark new as inaccessiblememonly if sane" (#200349)
Reverts llvm/llvm-project#197199.
This had some unexpected optimization impact.
Commit: 0850f6e62ea02a51be9aa465dbc926d30f7ef6a5
https://github.com/llvm/llvm-project/commit/0850f6e62ea02a51be9aa465dbc926d30f7ef6a5
Author: Bill Wendling <morbo at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[CodeGen][NFC] Refactor EmitAsmStmt to reduce header churn (#199377)
Implement Justin's suggestion, which was far better than what we had.
Commit: 2c49ef885bae8fdb540705a8df0200fbc9de4592
https://github.com/llvm/llvm-project/commit/2c49ef885bae8fdb540705a8df0200fbc9de4592
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
Log Message:
-----------
[VPlan] Support URem in getSCEVExprForVPValue. (#199794)
Extend vputils::getSCEVExprForVPValue to construct SCEV expressions for
URem recipes.
Enables SCEV-based no-alias reasoning for stores derived from UREM GEPs.
PR: https://github.com/llvm/llvm-project/pull/199794
Commit: 73080a6c3b5c3e7d11c1294e0afa7ebe5821d712
https://github.com/llvm/llvm-project/commit/73080a6c3b5c3e7d11c1294e0afa7ebe5821d712
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Remove _dpp variants from VOPD tables (#200184)
DPP instructions are not eligible to pariticpate in VOPD and will be
eventually rejected -- `VOPDComponentTable` size is reduced by 33%. This
address a comment from #199072.
Assisted-by: Claude Code
Commit: 7527985fd76cd2a22e4d2a168b813fd29142e24d
https://github.com/llvm/llvm-project/commit/7527985fd76cd2a22e4d2a168b813fd29142e24d
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Use direct lookup table for VOPD eligibility (#200241)
This further improves lookup by using a packed key that returns both X
and Y eligibility via a direct lookup, removing the need for a binary
search on the VOPDX and VOPDY tables.
Due to TableGen limitations the direct lookup table is generated
manually from the VOPDX and VOPDY tables. Doing it automatically is
future work.
After this patch, `getCanBeVOPD` is reduced to one O(log n) binary
search and one O(1) direct lookup. We could replace the whole function
with a direct lookup using Opc as a key, but the new table would be an
order of magnitude larger. As such, a two-step lookup is the preferred
approach unless we can show that the benefit of a single lookup
outweighs the significant increase in table size — especially since n in
the initial O(log n) lookup is only ~50.
With this patch I'm seeing a decrease from ~2.5% to ~1.75% in perf
report for `getCanBeVOPD`. The baseline has both #199072 and #200184
applied.
Assisted-By: Claude Code
Commit: afddfe074afb19681e2d7628f37f5d621df2ff3a
https://github.com/llvm/llvm-project/commit/afddfe074afb19681e2d7628f37f5d621df2ff3a
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
Log Message:
-----------
[lldb][NFCI] Cleanup AppleObjCClassDescriptorV2::class_ro_t API (#200213)
Commit: 7a4d7733ae55ef8ac139d80e2b0f2bd1951ff5c8
https://github.com/llvm/llvm-project/commit/7a4d7733ae55ef8ac139d80e2b0f2bd1951ff5c8
Author: Deepak Shirke <117824396+deepakshirkem at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/linkerscript/end-overflow-check.test
A lld/test/ELF/linkerscript/memory-loc-counter-dot-addr.s
Log Message:
-----------
[ELF] Fix location counter used for output section address with MEMOR… (#197293)
When a section uses '.' as its address expression inside a MEMORY region
(e.g. 's02 . : { ... } > FLASH'), lld was incorrectly evaluating '.'
against the memory region's current position instead of the global
location counter. Save the global dot before the memRegion override and
restore it when an explicit addrExpr is present.
Fixes #112919
@maskray @smithp35 could you please review this patch?
Commit: 3843c160526fcda1e6c0760bff09b9c43c3a0b9d
https://github.com/llvm/llvm-project/commit/3843c160526fcda1e6c0760bff09b9c43c3a0b9d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/const-eval.c
Log Message:
-----------
[clang][bytecode] `Pointer::computeOffsetForComparison()` can fail (#199987)
It used to cause an assertion failure inside
`ASTContext::getTypeSizeInChars()` when the reocord decl was not
defined.
Commit: cfeeab33e66c56bf7619a8672bf44cb48473b00d
https://github.com/llvm/llvm-project/commit/cfeeab33e66c56bf7619a8672bf44cb48473b00d
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
Log Message:
-----------
[SystemZ] Remove unused variable warning (#200359)
This PR removes a variable declaration that was causing issues in builds
without assertions and `-Werror` enabled. Instead of declaring a
variable that is then only used in an assert, the value assigned to the
variable is moved into the assert instead.
This should resolve the build issue caused by #169317 discovered
[here](https://lab.llvm.org/buildbot/#/builders/228/builds/377).
Commit: e7a1a60f63b095f45cbd66f5e9542bd2498e371a
https://github.com/llvm/llvm-project/commit/e7a1a60f63b095f45cbd66f5e9542bd2498e371a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/revec-fma-vectorize.ll
Log Message:
-----------
[SLP][REVEC] Skip external-use extract cost for insertelement buildvector roots
An insertelement buildvector node produces a single vector whose type
equals the scalar type, and its external use is the whole vector, not a
subvector lane. SLP charged it an SK_ExtractSubvector cost, flipping
trees like the complex FMA (2.0f * A) + B from cost -1 to 0 so REVEC
kept them scalar.
Fixes #199715
Reviewers: RKSimon, hiraditya, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/200299
Commit: 1cf8469545abb5f5df92714a3b6d98dc2a485fa0
https://github.com/llvm/llvm-project/commit/1cf8469545abb5f5df92714a3b6d98dc2a485fa0
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[NFC][ValueType] Add is*VectorOf(VT) helpers. (#200189)
Allows VT.isFixedLengthVectorOf(MVT::i1) in place of
"VT.isFixedLengthVector() && VT.getVectorElementType() == MVT::i1".
Commit: 354cdd40be8715c41c1d68faab31c330e026b369
https://github.com/llvm/llvm-project/commit/354cdd40be8715c41c1d68faab31c330e026b369
Author: Martin Storsjö <martin at martin.st>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M compiler-rt/lib/builtins/arm/fixdfdi.S
M compiler-rt/lib/builtins/arm/fixsfdi.S
M compiler-rt/lib/builtins/arm/fixunsdfdi.S
M compiler-rt/lib/builtins/arm/fixunssfdi.S
Log Message:
-----------
[compiler-rt] [ARM] Restore Windows specific names for fp->int functions (#200360)
These Windows specific names were added in
8c59680ac26cf3d772f51aa5ebd64be8e59ed384 (and refactored later in
e6407356ba008e474322d52b7d031f65fa4913fc).
When ARM specific implementations of them were added in
174eb79572b3433aa338ede31815fa8fa6a13b29, the ARM specific files replace
the generic ones - while the ARM specific file lacked the Windows/ARM
renaming of the functions.
Restore the Windows naming of these functions.
Commit: 458e23591c4df2b330aa9d949c4b0933c1529be2
https://github.com/llvm/llvm-project/commit/458e23591c4df2b330aa9d949c4b0933c1529be2
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/sincos.ll
Log Message:
-----------
[LLVM][InstSimplify] Ensure scalar sincos constant fold only triggers for scalars. (#200229)
Commit: fad51d3f41482e148683e12741ac9abfbe49742d
https://github.com/llvm/llvm-project/commit/fad51d3f41482e148683e12741ac9abfbe49742d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libcxx/include/__configuration/namespace.h
Log Message:
-----------
[libc++] Only push/pop diagnostics for ABI annotations pragmas if not in a system header (#200338)
This should significantly reduce the compile time hit for Clang modules
with the new explicit and implicit ABI annotations.
Commit: edb7a0487060c9e786d9d4dd7d362627a7d3da54
https://github.com/llvm/llvm-project/commit/edb7a0487060c9e786d9d4dd7d362627a7d3da54
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[DAG] isAllOnesOrAllOnesSplat - handle implicitly truncated constants (#200209)
Allow implicit truncation in BUILD_VECTOR/SPLAT_VECTOR splat nodes - we only need 1's in the lower bits of every element
More yak shaving for #198162 where we often have <8 x i1> <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1> used in XOR patterns.
Commit: 1cd28beb77558f80644b4764a9402d0461345ae9
https://github.com/llvm/llvm-project/commit/1cd28beb77558f80644b4764a9402d0461345ae9
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
A llvm/test/MC/AMDGPU/vcc_tuples.s
Log Message:
-----------
[AMDGPU] Have VCC as a first-class member of the SGPR pool. (#173870)
Add VCC and tuples using VCC to SGPR register classes.
We already support VCC as an allocatable register for 32-bit SGPR
operands, so it seems most natural to support it for register
tuple operands as well.
s106/s107 are still not allowed as aliases of vcc_lo/hi in
AsmParser.
The names given to the VCC tuples match those produced by SP3,
though it feels like there is room for improvement.
https://github.com/llvm/llvm-project/issues/62651
Commit: 472e7ed971bd24a14ba2c75f6c442928f8283d7c
https://github.com/llvm/llvm-project/commit/472e7ed971bd24a14ba2c75f6c442928f8283d7c
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/test/API/commands/expression/expr_inside_lambda/TestExprInsideLambdas.py
Log Message:
-----------
[lldb] Treat `__this` from CodeView/PDB as captured `this` (#200271)
When building with CodeView/PDB, the captured `this` parameter in a
lambda is named `__this` instead of `this` (for clang, see
[`CGDebugInfo::GetLambdaCaptureName`](https://github.com/llvm/llvm-project/blob/23776bd325ec951781923a638ad632e4126b30ea/clang/lib/CodeGen/CGDebugInfo.cpp#L2064)).
In this PR, I added lookups for `__this`. This change will make the
success cases in `TestExprInsideLambdas.py` pass. The only difference
with CodeView/PDB is that the errors show "use of undeclared identifier"
instead of "use of non-static data member" because the lambda object
isn't a nested type here.
Fixes #71837.
Commit: e0282749ff6bab5a436b201315982483a6d04113
https://github.com/llvm/llvm-project/commit/e0282749ff6bab5a436b201315982483a6d04113
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC] Factor out vectorization report functions to a separate namespace (#194951)
This patch groups the stateless vectorization-reporting helpers into a
new `LoopVectorizationUtils` namespace in the Planner so they can be
shared cleanly across the Loop Vectorizer's components.
Commit: 9f34092cbdc079e17fb42c4c911f5e90ffbb7f14
https://github.com/llvm/llvm-project/commit/9f34092cbdc079e17fb42c4c911f5e90ffbb7f14
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C23] Combine two proposals on C status tracking page (#200239)
N2601 is what added Annex H for the interchange and extended floating
point types.
N2844 removed default argument promotions for the types in Annex H.
So these two proposals really do go together.
Commit: 421cfead959f7a616a4899828895347edb28ff1b
https://github.com/llvm/llvm-project/commit/421cfead959f7a616a4899828895347edb28ff1b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang][bytecode] Reject dynamic_cast on constexpr-unknown pointers (#200363)
Commit: caa7b801d217b3a6147e0a9a6787d56f4496abf3
https://github.com/llvm/llvm-project/commit/caa7b801d217b3a6147e0a9a6787d56f4496abf3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/avx512-mask-op.ll
Log Message:
-----------
[X86] avx512-mask-op.ll - add #198162 test coverage based off "Eval4Inputs" example (#200373)
Commit: 8c4a5318ae93ffc598b5dbc4cc0c3795ecd423eb
https://github.com/llvm/llvm-project/commit/8c4a5318ae93ffc598b5dbc4cc0c3795ecd423eb
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawConstants.h
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
A llvm/test/tools/llvm-pdbutil/dxcontainer.test
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.h
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
Log Message:
-----------
[PDB][llvm-pdbutil] Add DXContainer support for `pdb2yaml` and `yaml2pdb` (#198351)
This patch enables the following:
1. Attempting to parse a `DXContainer` from stream 5 (generated by
DirectX tools) of a PDB file.
2. Outputting a PDB file with a built in DXContainer as YAML. Existing
DirectX tools form a PDB container with empty DBI, TPI and IPI streams,
so this patch also allows them to be empty when dumping a PDB file as
YAML.
3. Creating a PDB file from YAML with an built in DXContainer. When
creating a PDB with a DXContainer, streams DBI, TPI and IPI can be
completely empty, so this patch also includes adjustments to allow
forming such a PDB file. This is done to maintain compatibility with
other DirectX tools.
Commit: 5154b695ec1c37b4756199234842a1eea3437258
https://github.com/llvm/llvm-project/commit/5154b695ec1c37b4756199234842a1eea3437258
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][bytecode] Use in `VarDecl::evaluateDestruction()` (#199646)
Fixes https://github.com/llvm/llvm-project/issues/146832
It's not possible to add a test for this unfortunately, since using the
current interpreter for this isolated use case worked just fine. I have
verified that this does not cause any regressions however.
Commit: 040ee4af4d2554ebee49cc7792869f247c462960
https://github.com/llvm/llvm-project/commit/040ee4af4d2554ebee49cc7792869f247c462960
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Add m_Shl matcher. (NFC) (#200376)
Add matcher for Shl, analogous to m_URem, m_UDiv etc.
Commit: 8785f7cea2ce68fb117e23ac0d6700d14c8beae1
https://github.com/llvm/llvm-project/commit/8785f7cea2ce68fb117e23ac0d6700d14c8beae1
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/IR/Intrinsics.cpp
M llvm/test/Assembler/implicit-intrinsic-declaration-invalid.ll
M llvm/test/Verifier/arbitrary-fp-convert.ll
M llvm/test/Verifier/callbr.ll
M llvm/test/Verifier/get-active-lane-mask.ll
M llvm/test/Verifier/intrinsic-arg-overloading-struct-ret.ll
M llvm/test/Verifier/matrix-intrinsics.ll
M llvm/test/Verifier/reduction-intrinsics.ll
M llvm/test/Verifier/sat-intrinsics.ll
M llvm/test/Verifier/scatter_gather.ll
M llvm/test/Verifier/stepvector-intrinsic.ll
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
Log Message:
-----------
[LLVM] Precise error message for intrinsic signature verification (2/n) (#199217)
Print precise error message for overloaded types and `LLVMMatchType`
when an intrinsic's type signature verfication fails.
Commit: 78eca55b542b6bca573f34a1b359fa949c3a8c89
https://github.com/llvm/llvm-project/commit/78eca55b542b6bca573f34a1b359fa949c3a8c89
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/combine-ccmask-tm-full.ll
Log Message:
-----------
[SystemZ] Fix off-by-one error in backend (#200141)
When combineCCMask is called on a TM node with two constant operands,
and all of the bits in the mask are active, the existing APInt bit
access goes off the overall length of the integer by one. This commit
fixes that by using the index value of the leftmost active bit, rather
than the number of active bits.
Commit: f9cab1481053994428feba1baf7571188f00a368
https://github.com/llvm/llvm-project/commit/f9cab1481053994428feba1baf7571188f00a368
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[lldb][windows] allow longer paths than MAX_PATH in GetFileNameByLoadAddress (#200225)
DLLs can be longer than MAX_PATH. This is causing test failures when
running `check-lldb` in a Windows Docker container.
This patch allow long paths when calling `GetFileNameByLoadAddress`.
https://github.com/llvm/llvm-project/pull/198795#discussion_r3276277895
was correct.
Commit: 5e89f5217299579dd834e42173fcc50bc1d31f10
https://github.com/llvm/llvm-project/commit/5e89f5217299579dd834e42173fcc50bc1d31f10
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawConstants.h
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
R llvm/test/tools/llvm-pdbutil/dxcontainer.test
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.h
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
Log Message:
-----------
Revert "[PDB][llvm-pdbutil] Add DXContainer support for `pdb2yaml` and `yaml2pdb`" (#200380)
Reverts llvm/llvm-project#198351
Commit: 2359e773d7e4fa003b921a2b6bded996657fb868
https://github.com/llvm/llvm-project/commit/2359e773d7e4fa003b921a2b6bded996657fb868
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrInfo.td
A llvm/test/MC/Mips/j-alias-r6.s
Log Message:
-----------
[Mips] Add 'j' alias for r6 (#196706)
Fix #107460.
Commit: 8466750c230d5e51d509a8071c8a50e7de390029
https://github.com/llvm/llvm-project/commit/8466750c230d5e51d509a8071c8a50e7de390029
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/MultiImageFortran.cpp
M flang/test/Lower/MIF/coarray_allocation.f90
Log Message:
-----------
[flang][coarray] Fix error fir.store mismatch memory reference type in genCoBounds #193131 (#194870)
The error mentioned in issue #193131 occurs when the lower bound of a
coarray is specified and its corank is 1. A conversion operation was
missing.
I noticed that the hasStat argument wasn't being taken into account in
Allocatable.cpp
Commit: 3c0e4ece789db7750e65c6d8b31f652be906c8a2
https://github.com/llvm/llvm-project/commit/3c0e4ece789db7750e65c6d8b31f652be906c8a2
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M .github/workflows/ci-post-commit-analyzer.yml
Log Message:
-----------
workflows/ci-post-commit-analyzer: Pin container image (#200293)
This is pinned to the image that was used in the last successful run of
this job.
https://github.com/llvm/llvm-project/security/code-scanning/1596
Commit: a182b4bed2c443f383258fe7dcd886b39624526f
https://github.com/llvm/llvm-project/commit/a182b4bed2c443f383258fe7dcd886b39624526f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/include/lldb/Host/FileBase.h
M lldb/include/lldb/Host/windows/FileWindows.h
M lldb/source/Host/common/File.cpp
M lldb/source/Host/windows/FileWindows.cpp
M lldb/test/API/python_api/file_handle/TestFileHandle.py
Log Message:
-----------
[lldb][windows] fix command source hitting EOF (#194950)
Commit: 13ccc7c5bfc6f878625a7ab019926d72f878d07a
https://github.com/llvm/llvm-project/commit/13ccc7c5bfc6f878625a7ab019926d72f878d07a
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/test/CIR/CodeGen/ctor-null-init.cpp
Log Message:
-----------
[CIR] Handle vptr zero-init- (#200305)
For the purposes of zeroing out a type, we need to make sure that we
handle vptrs. While this seems like it is the wrong thing to do, we end
up immediately initializing the vtable correctly in the constructor
prologue, so this just ensures we do a memset/etc right before then.
Note that the original version of this function operates on a
CXXRecordDecl, so skips this type, which we cannot do, since later logic
determines whether we can/should zero-init this based on whether there
is zero-attrs in the zero init.
Commit: 4a955e932e3a622c601e8fbd78f975191c0ea856
https://github.com/llvm/llvm-project/commit/4a955e932e3a622c601e8fbd78f975191c0ea856
Author: Abhinav Garg <abhinav.garg at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
Log Message:
-----------
[AMDGPU][GIsel] Legalize rules for cvt_scalef32_sr_pk_fp4_{f16,f32} intrinsic (#193176)
Add RegBankLegalize rules for- - amdgcn_cvt_scalef32_sr_pk_fp4_f16
- amdgcn_cvt_scalef32_sr_pk_fp4_f32
Update the existing test case _llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll_
to use -new-reg-bank-select flag.
Commit: c7d072c0d046a4334ec1dc383c6d19858aace37c
https://github.com/llvm/llvm-project/commit/c7d072c0d046a4334ec1dc383c6d19858aace37c
Author: MarcoCastorina <125660462+MarcoCastorina at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
A llvm/test/CodeGen/AMDGPU/wqm-debug-instr-terminator.mir
Log Message:
-----------
Fix assert in SlotIndexes::getInstructionIndex in debug builds (#189370)
In some cases, when debug info is enabled, the assertion in
SlotIndexes::getInstructionIndex fires as the interval contains only
debug instructions. This change ensures only valid instructions are
taken into account.
Fixes SWDEV-581578
Commit: f545a3b3f558a29e2d7c2dc18748e8bedc3ce6c6
https://github.com/llvm/llvm-project/commit/f545a3b3f558a29e2d7c2dc18748e8bedc3ce6c6
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/include/lldb/Host/PseudoTerminal.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/source/Host/common/PseudoTerminal.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
Log Message:
-----------
[lldb] Make PTY initialization idempotent (#197717)
Commit: 4b703fb5fbb9e517eb205f310a129472f3cac655
https://github.com/llvm/llvm-project/commit/4b703fb5fbb9e517eb205f310a129472f3cac655
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[lldb][windows] enumerate volumes via FindFirstVolumeW (#200231)
Commit: a64bc13adcb51db80dd1167ac0338cd6d9771720
https://github.com/llvm/llvm-project/commit/a64bc13adcb51db80dd1167ac0338cd6d9771720
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/IR/ValueMap.h
Log Message:
-----------
[ValueMap] Simplify insert methods (NFC) (#200264)
The other methods cannot be simplified: the use of find_as() here is to
specifically avoid the construction of temporary CallbackVHs, which is
very expensive.
Commit: 0fd11e4a83e862fcb48690555015f7da44131075
https://github.com/llvm/llvm-project/commit/0fd11e4a83e862fcb48690555015f7da44131075
Author: eleviant <eleviant at accesssoftek.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ms-intrinsics.c
A clang/test/CodeGen/wrapv.c
M clang/test/Driver/clang_wrapv_opts.c
M compiler-rt/test/ubsan/TestCases/Integer/shift.cpp
M compiler-rt/test/ubsan/TestCases/Misc/abs.cpp
Log Message:
-----------
Honor two's complement signed overflow with -fms-compatibility (#198538)
This matches MSVC behavior, where signed integer overflow follows
two's-complement semantics
Commit: 7fba4dba57ac5624e7918c023b83faa4dec973ec
https://github.com/llvm/llvm-project/commit/7fba4dba57ac5624e7918c023b83faa4dec973ec
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
[NFC][AMDGPU] Replace getClampMask with hasSameClamp in SIInstrInfo (#200382)
getClampMask had a single call site that used the result only for
equality comparison. Replace it with hasSameClamp(A, B) which directly
expresses the intent and removes the need to expose raw TSFlags bit
values through the return type.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: f9207d7c4b48836d83cce1d369f7115a0122618d
https://github.com/llvm/llvm-project/commit/f9207d7c4b48836d83cce1d369f7115a0122618d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libcxx/include/__memory/shared_ptr.h
Log Message:
-----------
[libc++][NFC] Move functions in shared_ptr.h into the class body (#200343)
This removes some boilerplate code and makes it more consistent with
most of the rest of the code base.
Commit: 733d188a9548a3601278b35b027fc02d0ce94731
https://github.com/llvm/llvm-project/commit/733d188a9548a3601278b35b027fc02d0ce94731
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
Log Message:
-----------
[AArch64][llvm] Restrict STSHH decoding to valid policy encodings (#200389)
Commit: 3791c8b8773735a20fcb07f7f8d87fb2222b795c
https://github.com/llvm/llvm-project/commit/3791c8b8773735a20fcb07f7f8d87fb2222b795c
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/test/Transforms/FIRToMemRef/slice-projected.mlir
Log Message:
-----------
[flang][FIRToMemRef] Non-box complex slices use shapeVec strides, not `fir.box_dims` (#200285)
FIRToMemRef now lowers `fir.array_coor` on projected complex %re / %im
when the base is a contiguous `!fir.ref` with `fir.shape` (e.g. a static
component array in a derived type), without calling `fir.box_dims` on
the ref and with strides that match the memref<…×2×T> view.
Previously, any projected slice is lowered through the descriptor path
and produced invalid `fir.box_dims` on a ref. Fixed to take descriptor
strides only when the coor base is actually a box. For ref + shape, it
keeps the synthesized row-major layout and scales array strides by two
scalar slots per complex, with a re/im dimension (extent 2, stride 1).
Commit: afe61654c0e8637b919c9292659a7a5515027d7c
https://github.com/llvm/llvm-project/commit/afe61654c0e8637b919c9292659a7a5515027d7c
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/gh170072.c
Log Message:
-----------
[Clang][Sema] Fix crash when calling EvaluateForOverflow for UnaryOpe… (#200317)
…rator that can not overflow
A while ago I added checking for overflow in unary operators during
constant evaluation:
https://reviews.llvm.org/D142867
This created some new bug opportunities. I am now checking if the
UnaryOperator can overflow before calling EvaluateForOverflow in
Sema::CheckForIntOverflow.
Fixes: https://github.com/llvm/llvm-project/issues/170072
Commit: a8a91c01b734cfecdd6061caef71554deee55daf
https://github.com/llvm/llvm-project/commit/a8a91c01b734cfecdd6061caef71554deee55daf
Author: Srividya Sundaram <srividya.sundaram at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/test/Driver/sycl-offload-jit-unix.cpp
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/sycl-windows.cpp
Log Message:
-----------
[SYCL] Fix -nolibsycl and spurious spirv-link flags for SYCL offloading (#200252)
Two related driver fixes for SYCL offloading on Linux:
1. Honor -nolibsycl during linking: the SYCL runtime library
(libLLVMSYCL.so) was unconditionally added to the link line even when
-nolibsycl was passed. The flag was recognized but silently ignored at
the point where the library path is emitted.
2. Do not forward spirv-link flags to clang-sycl-linker: the driver was
passing --allow-partial-linkage and --create-library to
clang-sycl-linker for all SPIR-V offload targets, but these flags are
only meaningful to the out-of-tree spirv-link tool used by OpenMP. SYCL
uses clang-sycl-linker which does not accept them, causing a link
failure. The flags are now restricted to non-SYCL SPIR-V offload kinds.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 4db74c054e2bc911a942f0843c2fdb49a95dd9df
https://github.com/llvm/llvm-project/commit/4db74c054e2bc911a942f0843c2fdb49a95dd9df
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[NFC][AMDGPU] Replace uint64_t SDWA inst-type discriminant with typed enum (#200388)
cvtSDWA() previously took a uint64_t BasicInstType parameter and callers
passed raw TSFlag bit values (SIInstrFlags::VOP1/VOP2/VOPC) as a
discriminant. Introduce a private AMDGPUAsmParser::SDWAInstType enum
class to remove the raw-flag dependency.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: bdcce4a12c828d7cf5475e5f39dde32280c29a3c
https://github.com/llvm/llvm-project/commit/bdcce4a12c828d7cf5475e5f39dde32280c29a3c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-mask-op.ll
M llvm/test/CodeGen/X86/fold-select.ll
Log Message:
-----------
[X86] combineMaskBitOp - fold vXi1 logicop(truncate(N0),truncate(N1)) -> truncate(logicop(X,Y)) (#200385)
Replace costly predicate logic when possible - generic 128/256/512 vector types are always cheaper
Part of #198162
Commit: 170bdf55faef8000f8abe8eb97472b3c3bab91c5
https://github.com/llvm/llvm-project/commit/170bdf55faef8000f8abe8eb97472b3c3bab91c5
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
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::FlatVariant enum to replace uint64_t FLAT discriminant (#200396)
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: c4a6fe766e2fe71d478efc9652f45abec8ce5abb
https://github.com/llvm/llvm-project/commit/c4a6fe766e2fe71d478efc9652f45abec8ce5abb
Author: hev <wangrui at loongson.cn>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
A lld/test/ELF/loongarch-tls-dtprel.s
Log Message:
-----------
[lld][LoongArch] Handle DTPREL relocations in debug sections (#199327)
Teach the LoongArch lld backend to classify R_LARCH_TLS_DTPREL32 and
R_LARCH_TLS_DTPREL64 as R_DTPREL.
This allows linker processing of TLS debug info references emitted into
.debug_info via .dtprelword/.dtpreldword. Add 32-bit and 64-bit tests
that assemble objects with DTPREL relocations in debug sections.
Commit: 8d4e7d9f4e2e16fb14a1409b1bb5a9fc469c7de5
https://github.com/llvm/llvm-project/commit/8d4e7d9f4e2e16fb14a1409b1bb5a9fc469c7de5
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
Add new coro test to profcheck-xfail.txt (coro aren't yet profcheck ready (#200422)
Commit: 00062ed982256651a28187e865d6ae14e21d8395
https://github.com/llvm/llvm-project/commit/00062ed982256651a28187e865d6ae14e21d8395
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
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:
-----------
Revert "[NFC][AMDGPU] Introduce AMDGPU::FlatVariant enum to replace uint64_t FLAT discriminant" (#200420)
Reverts llvm/llvm-project#200396
Build failure
Commit: fa6f7426a39977661a100547690c30e5a4b3691e
https://github.com/llvm/llvm-project/commit/fa6f7426a39977661a100547690c30e5a4b3691e
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/ClangSYCLLinker.rst
R clang/test/Driver/Inputs/SYCL/bar.ll
R clang/test/Driver/Inputs/SYCL/baz.ll
R clang/test/Driver/Inputs/SYCL/foo.ll
R clang/test/Driver/Inputs/SYCL/libLLVMSYCL.ll
R clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
A clang/test/OffloadTools/clang-sycl-linker/link.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[clang-sycl-linker] Decouple link step from SYCL; adopt -L / --bc-library options (#199777)
The bitcode link phase in `clang-sycl-linker` is not SYCL-specific — it
links input bitcode, then links library bitcode with `LinkOnlyNeeded`.
This PR makes the implementation reflect that and aligns the option
surface with `clang-nvlink-wrapper`.
- Rename `linkDeviceCode` / `getSYCLDeviceLibs` and strip SYCL/device
wording from verbose output, errors, and doc-comments. The
`runSYCLLink` doc-comment is expanded to describe the full
link → split → codegen → AOT → pack pipeline it actually drives.
- Replace `--device-libs=a.bc,b.bc` with repeatable `--bc-library`,
resolved against `-L` search paths. `-L` becomes the canonical form;
`--library-path` / `--library-path=` are kept as hidden aliases and
now accumulate (previously last-wins).
- Consolidate the four `Inputs/SYCL/*.ll` fixtures and
`link-device-code.test` into one `split-file`-based `link.ll`; refresh
affected check prefixes. New checks cover `-L` joined form,
multi-`-L` fall-through, and first-match-wins ordering.
- ClangSYCLLinker.rst got a substantive refresh beyond doc-comments:
intro paragraphs rewritten, help-text block updated, dropped options
(-g,
-is-windows-msvc-env, -llvm-spirv-options=, --llvm-spirv-path=) and
added options (--module-split-mode, --ocloc-options,
--opencl-aot-options) so the doc
matches current .td reality.
Assisted by claude.
Commit: a57049a7f8259d197361acd833c36b0467ecd44b
https://github.com/llvm/llvm-project/commit/a57049a7f8259d197361acd833c36b0467ecd44b
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-add.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.class.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.class.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fabs.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmul.v2s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fneg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-freeze.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-or.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-xor.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
Log Message:
-----------
[AMDGPU][True16] Upstream GlobalISel True16 tests/run lines (#200288)
All of these tests do not require functional changes to go with them
Commit: 6ce211f02fcf114a843a29b2910f6633e701b4e6
https://github.com/llvm/llvm-project/commit/6ce211f02fcf114a843a29b2910f6633e701b4e6
Author: Martin Storsjö <martin at martin.st>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/lib/IR/Value.cpp
M llvm/unittests/ADT/BitVectorTest.cpp
Log Message:
-----------
Revert "[DenseMap] Replace tombstone deletion with TAOCP 6.4 Algorithm R" (#200421)
Reverts llvm/llvm-project#199615.
That change causes nondeterministic failed assertions, see the linked PR
for examples.
Commit: dc40fccbc1f8fcd6d53c970efe199fc02464b986
https://github.com/llvm/llvm-project/commit/dc40fccbc1f8fcd6d53c970efe199fc02464b986
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
M llvm/test/CodeGen/WebAssembly/exception.ll
Log Message:
-----------
[WebAssembly] Avoid crash in LateEHPrepare with empty cleanup pads (#200322)
WebAssemblyLateEHPrepare::addCatchRefsAndThrowRefs was using
Catch->getIterator()->getNextNode() to find the insertion position
after the CATCH (or CATCH_ALL) instruction in an EH pad.
If the CATCH/CATCH_ALL instruction is the last instruction in the basic
block, getNextNode() returns nullptr, which causees a crash when passed
to BuildMI. This patch fixes it by using std::next(Catch->getIterator())
which returns MBB.end() if the catch is the last instruction, and the
overload of BuildMI that takes an iterator correctly handles BB.end().
Fixes #197077
Assisted-By: Gemini
Commit: 99b5ebd51f498804d6e555952e895d79152340c8
https://github.com/llvm/llvm-project/commit/99b5ebd51f498804d6e555952e895d79152340c8
Author: Sean Clarke <seanedwardsclarke at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/test/Transforms/InstCombine/sub-xor.ll
Log Message:
-----------
[InstCombine] Replace undef with poison in a test (#199757)
This is intended as part of the effort to deprecate undef. The
additional wrap-flags are due to the fact that the add can no longer
overflow with poison, but could overflow with undef.
Alive2 proof: https://alive2.llvm.org/ce/z/qiRYcQ
Commit: 6c9542c3f99e5cc8cdba8122b36323370fcf6d95
https://github.com/llvm/llvm-project/commit/6c9542c3f99e5cc8cdba8122b36323370fcf6d95
Author: Matt Davis <mattd at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.cpp
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.h
A llvm/test/DebugInfo/NVPTX/language-dialect.ll
Log Message:
-----------
Add NVPTX DW_AT_LLVM_language_dialect emission. (#200003)
This PR makes use of the recently introduced DW_AT_LLVM_language_dialect
attribute. Currently, no other targets emit this compile unit DWARF
attribute ; however, this PR changes that. NVPTX can optionally emit a
dialect based on the type of input being compiled (e.g., from a Tile
frontend or traditional CUDA (SIMT) frontend).
- DwarfDebug: add finishTargetUnitAttributes virtual hook so backends
can finalize per-CU attributes.
- NVPTX: override the hook to emit DW_AT_LLVM_language_dialect
(DW_FORM_data1) for the simt and tile dialects, suppressing emission and
warning (per-CU deduplicated) for unknown values.
(Co-developed via LLM)
Commit: c4346f2a09aa809ddd5b3607f6efe8de254890b7
https://github.com/llvm/llvm-project/commit/c4346f2a09aa809ddd5b3607f6efe8de254890b7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/Transforms/IPO/ConstantMerge.cpp
M llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/test/Transforms/ConstantMerge/merge-dbg.ll
A llvm/test/Transforms/GlobalMerge/guid.ll
Log Message:
-----------
Ignore `!guid` metadata when merging globals or constants (#200323)
Follow up from PR #184065. Since globals or constants would now have
their GUID pre-calculated and affixed with metadata, we need to tolerate
its presence when merging. To that effect, we rename (and change
accordingly) `GlobalObject::hasMetadataOtherThanDebugLoc` to
`...AndGuid`.
In the case of Constants, they are merged into one of them, which then
keeps its guid, while the rest are erased. In the case of
GlobalVariables, a new one is created, and we will give it its own guid.
Commit: d043ec846b79e30b8de88e601e8c9e36eee771eb
https://github.com/llvm/llvm-project/commit/d043ec846b79e30b8de88e601e8c9e36eee771eb
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Log Message:
-----------
[lldb] Avoid trie prefix recompuation (NFC) (#200026)
Avoid O(depth) string concatenations for every symbol in the Mach-O
exports trie.
This change uses a string to track the current trie prefix, instead of a
vector of substrings. Instead of pushing and popping on the vector, the
string is appended and truncated.
Assisted-by: claude
Commit: a8a988bd6a5be1d58402a66613814afcb60ef920
https://github.com/llvm/llvm-project/commit/a8a988bd6a5be1d58402a66613814afcb60ef920
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vtable-emission.cpp
M clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
Log Message:
-----------
[CIR]Fix CIR Test failures after unnamed_addr removed from vtables (#200435)
See #200108 and #197855 for the cause. We weren't generating this
anywhere in our code, so it is only OGCG check lines that got changed.
Commit: 7dcce4c16da12365709adc685679df70572ac49e
https://github.com/llvm/llvm-project/commit/7dcce4c16da12365709adc685679df70572ac49e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[lldb][windows] fix scope_exit warning (#200439)
Using the constructor rather than `make_scope_exit` is preferred.
Commit: bf8e8c221f26fd92fc4ab8baa0e801e599b67fc8
https://github.com/llvm/llvm-project/commit/bf8e8c221f26fd92fc4ab8baa0e801e599b67fc8
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Map tags into provenances (#200236)
This patch adjusts https://github.com/llvm/llvm-project/pull/185977 to
generate tags for provenances (i.e., pointer components excluding
addresses), instead of memory objects. This allows us to distinguish
between `read_provenance` and `provenance`. See the original comment in
https://github.com/llvm/llvm-project/pull/185977#discussion_r3310861793.
Currently, tags are only generated for those pointer components
associated with a known memory object. We may need some special tags for
`capture(address)`-only pointers and the result of inttoptr (wildcard
provenance) in the future.
Commit: 398573eecb37143f649f0562e565a6a5f6da5255
https://github.com/llvm/llvm-project/commit/398573eecb37143f649f0562e565a6a5f6da5255
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/lit/lit/Test.py
Log Message:
-----------
[lit] Make MetricValue a proper abstract base class (#200187)
Currently, `MetricValue` signals abstract methods by raising
`RuntimeError("abstract method")` at runtime. This means a subclass that
forgets to implement `format()` or `todata()` is only caught when the
method is actually called.
This change makes `MetricValue` inherit from `abc.ABC` and decorates
`format` and `todata` with `@abc.abstractmethod`. All three existing
subclasses (`IntMetricValue`, `RealMetricValue`, `JSONMetricValue`)
already implement both methods. No change in behavior.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: 0ad051a0a338797c37aa05ca8e79c0062d9c52eb
https://github.com/llvm/llvm-project/commit/0ad051a0a338797c37aa05ca8e79c0062d9c52eb
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.h
M llvm/test/CodeGen/AMDGPU/asyncmark-merge-empty-other.mir
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx12.mir
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx1250.mir
M llvm/test/CodeGen/AMDGPU/insert-skips-gfx12.mir
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-gfx12-wbinv.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.mir
M llvm/test/CodeGen/AMDGPU/spill-wait.mir
M llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
M llvm/test/CodeGen/AMDGPU/wait-xcnt.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-func-global-inv.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-kmcnt-scc-different-block.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-wcg-attributes.mir
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_loadcnt_dscnt-errors.mir
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_loadcnt_dscnt.mir
Log Message:
-----------
[AMDGPU][MIRFormatter] S_WAIT_LOADCNT_DSCNT human-readable mask (#200059)
This patch implements a printer and parser for the S_WAIT_LOADCNT_DSCNT
mask. It prints the mask in a human-readable format, showing the counter
values like: `Loadcnt_<NUM>_Dscnt_<NUM>`.
The format matches the printing style of S_WAITCNT_DEPCTR. For example:
```
S_WAIT_LOADCNT_DSCNT .Loadcnt_0_Dsccnt_0
S_WAIT_LOADCNT_DSCNT .Dsccnt_2
S_WAIT_LOADCNT_DSCNT .AllOff
```
Counters at their maximum value (meaning "don't wait") are omitted. When
all counters are at max, `.AllOff` is printed.
Commit: 5f71480b522edbe5c8c4d509e1d9872575ace1d6
https://github.com/llvm/llvm-project/commit/5f71480b522edbe5c8c4d509e1d9872575ace1d6
Author: Matt <MattPD at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/declare-reduction-use-assoc-named.f90
Log Message:
-----------
[flang][OpenMP] Fix USE-associated declare reduction symbol resolution (#200328)
When a declare reduction is accessed via USE association, the symbol in
the consuming scope has `UseDetails` rather than `UserReductionDetails`.
Calling `detailsIf<UserReductionDetails>()` directly on such a symbol
returns nullptr. This causes two distinct failure modes:
1. **Operator/identifier validation** (`CheckReductionOperator`): named
reductions and defined operators are rejected with "Invalid reduction
identifier" or "Invalid reduction operator".
2. **Type validation** (`CheckSymbolSupportsType`,
`IsReductionAllowedForType`):
the type compatibility check cannot find `UserReductionDetails` for the
reduction, producing "The type of 'x' is incompatible with the
reduction operator".
This bug has existed since `UserReductionDetails` was introduced (June
2025). Only intrinsic operator reductions (like `+`) worked via USE,
because they bypass the operator validation check and their type
checking
was handled by a global module scan workaround (added Feb 2026).
**Fix:** Add `GetUltimate()` at 4 locations in `check-omp-structure.cpp`
to resolve
through `UseDetails` chains before checking for `UserReductionDetails`:
two in `CheckReductionOperator` (validation paths 1 and 2 above), one in
`CheckSymbolSupportsType`, and one in `IsReductionAllowedForType`.
Fixes https://github.com/llvm/llvm-project/issues/184932
Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
Commit: 912f0d1055b8dafe8602c773787c658b5d7b3bd8
https://github.com/llvm/llvm-project/commit/912f0d1055b8dafe8602c773787c658b5d7b3bd8
Author: Chris B <chris.bieneman at me.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ExprConstant.cpp
A clang/test/SemaHLSL/Language/ConstexprVectorCasts.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/VectorCastConstantExpr.hlsl
Log Message:
-----------
[HLSL] `constexpr` vector element conversions (#195173)
This PR updates the constant expression evaluators to support HLSL's
element-wise vector element conversions. These conversions allow
element-by-element conversion of a vector from one type to another
vector of the same dimension.
Fixes #163437
---------
Co-authored-by: Deric C. <cheung.deric at gmail.com>
Commit: 3c34c34901d659873117546781847d4d68710973
https://github.com/llvm/llvm-project/commit/3c34c34901d659873117546781847d4d68710973
Author: Adhemerval Zanella <zatrazz at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.td
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Headers/arm64intr.h
M clang/lib/Headers/intrin.h
M clang/lib/Sema/SemaARM.cpp
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
A llvm/test/CodeGen/AArch64/read-fp-reg.ll
A llvm/test/CodeGen/AArch64/write-volatile-register.ll
Log Message:
-----------
[aarch64] Add more MSVC intrinsics (#194632)
This patchset adds more intrinsics from MSVC build 2026 [1]. I focused
on the one documented by Microsoft, although intrin.h and related
headers do export more symbols.
This is split from https://github.com/llvm/llvm-project/pull/193221 ,
where I only added the non-controversial ones.
Commit: c241374079f12aabe5d1db5133cb5d924a3cc1d6
https://github.com/llvm/llvm-project/commit/c241374079f12aabe5d1db5133cb5d924a3cc1d6
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Comment.h
M clang/lib/AST/Comment.cpp
M clang/lib/Index/CommentToXML.cpp
M clang/test/Sema/warn-documentation.cpp
Log Message:
-----------
[clang] Fix @tparam warnings for concept template parameters (#199800)
`-Wdocumentation` would warn on `@tparam` commands for concepts even if
the named
parameter existed. This patch fixes that by adding concept support to
`comment::DeclInfo` when its
properties are filled from the associated comment's decl.
Fixes #64087
Commit: 77800224eba1bd273c50fb1153945c38da507a52
https://github.com/llvm/llvm-project/commit/77800224eba1bd273c50fb1153945c38da507a52
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawConstants.h
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
A llvm/test/tools/llvm-pdbutil/dxcontainer.test
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.h
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
Log Message:
-----------
Reapply "[PDB][llvm-pdbutil] Add DXContainer support for `pdb2yaml` and `yaml2pdb`" (#200413)
This reapplies #198351 with a fix for `-Wchanges-meaning` causing an
error in `PdbYaml.h`.
Original description:
This patch enables the following:
1. Attempting to parse a `DXContainer` from stream 5 (generated by
DirectX tools) of a PDB file, to be used later in `llvm-pdbutil`.
2. Outputting a PDB file with a built in DXContainer as YAML. Existing
DirectX tools form a PDB container with empty DBI, TPI and IPI streams,
so this patch also allows them to be empty when dumping a PDB file as
YAML.
3. Creating a PDB file from YAML with an built in DXContainer. When
creating a PDB with a DXContainer, streams DBI, TPI and IPI can be
completely empty, so this patch also includes adjustments to allow
forming such a PDB file. This is done to maintain compatibility with
other DirectX tools.
Commit: 4472e935678ae8aba762b2464867f9e3fe81ca15
https://github.com/llvm/llvm-project/commit/4472e935678ae8aba762b2464867f9e3fe81ca15
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
Log Message:
-----------
[LLDB] Skip test with older versions of clang (#200456)
Commit: 2f2122a1438116b6e4d159bc8c7d7abe49ce7098
https://github.com/llvm/llvm-project/commit/2f2122a1438116b6e4d159bc8c7d7abe49ce7098
Author: lntue <lntue at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/CMakeLists.txt
M libc/test/UnitTest/LibcTest.h
M libc/test/shared/CMakeLists.txt
Log Message:
-----------
[libc][NFC] Add few options to allow users to skip building and running some tests. (#199474)
These options will be used to reduce redundancy and time for precommit
CIs:
- LIBC_TEST_SKIP_DEATH_TESTS
- LIBC_TEST_SKIP_SHARED_MATH_TESTS
- LIBC_TEST_CHECK_LIBC_BUILD_ONLY
Commit: 2520a9bcd0911b598e99a34420d6359c3dc61277
https://github.com/llvm/llvm-project/commit/2520a9bcd0911b598e99a34420d6359c3dc61277
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M llvm/include/llvm/ADT/APInt.h
M llvm/lib/Support/APInt.cpp
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[APInt] Add `APIntOps::compressBits` and `APIntOps::expandBits` (#200114)
These are necessary to implement portable intrinsics for
bit_compress/pext/bext and bit_expand/pdep/bdep.
See
- https://github.com/llvm/llvm-project/issues/172857
- https://github.com/llvm/llvm-project/pull/168527 (I basically modeled my PR after this one)
Commit: df697a65e67300c72851dddb31f7e1b5e869c931
https://github.com/llvm/llvm-project/commit/df697a65e67300c72851dddb31f7e1b5e869c931
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/static-members.cpp
Log Message:
-----------
[CIR] Set the linkage properly for the _GLOBAL__SUB_I_ function (#200443)
These are required to have internal linkage, however we were generating
them with external linkage. This causes problems with linking together
files with the same name for one reason or another.
This patch does NOT change the module initializer linkage, which based
on all uses I could find, should remain external linkage.
Commit: e5dc01128ac53f4831c314906305ccca480eeecb
https://github.com/llvm/llvm-project/commit/e5dc01128ac53f4831c314906305ccca480eeecb
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/select-merge-values-build-vector-s16.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/true16-merge-values-s16.ll
Log Message:
-----------
[AMDGPU][True16] Add legalization/selection handling for G_MERGE_VALUES of 2 s16 -> s32 (#200082)
Co-authored-by: Petar Avramovic <Petar.Avramovic at amd.com>
Commit: 098b05f32989a4243243860c69e8ec775c86669c
https://github.com/llvm/llvm-project/commit/098b05f32989a4243243860c69e8ec775c86669c
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoY.td
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/CodeGen/RISCV/rvy/rvy-invalid-operands.mir
A llvm/test/MC/RISCV/rvy/rvy-basic-invalid.s
A llvm/test/MC/RISCV/rvy/rvy-basic.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISC-V][MC] Introduce initial support for RVY (CHERI)
This adds MC-level support for most of the base Y extension instructions
using the latest 0.9.8.2 draft of the specification. This initial pull
request is restricted to the execution-mode-independent subset. The RVY
base ISA (CHERI for RISC-V) also introduces an execution mode that
determines whether certain register operands use the full extended
register or only the address subset (the current XLEN registers). The
instructions that depend on execution mode (loads/stores/jumps + AUIPC)
will be added in the following commits in this stack of changes.
Specification: https://riscv.github.io/riscv-cheri/
Co-authored-by: Jessica Clarke <jrtc27 at jrtc27.com>
Pull Request: https://github.com/llvm/llvm-project/pull/199771
Commit: 8a3ed55e56dc24cfa7d78875b89f0911a791dc55
https://github.com/llvm/llvm-project/commit/8a3ed55e56dc24cfa7d78875b89f0911a791dc55
Author: Alex Langford <alangford at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
Log Message:
-----------
[lldb] Tighten TestObjcMethods test case for arm64e (#200262)
This test explicitly checks for spurious DWARF lookups by looking for
the string `$__lldb` in the dwarf lookup logs. The intent here is to
validate that any calls to `FindFunctions` or `FindTypes` won't have
`$__lldb` in its lookup target. On arm64, this is trivial because `expr
self` goes through the IRInterpreter.
However, on arm64e, `expr self` is JIT compiled and executed in the
inferior process. LLDB installs some utility functions to check
invariants and those functions are usually prefixed with `$__lldb`. When
those utility functions appear in the logs, the test incorrectly fails.
Commit: 82840c51a843ee3cf0f1480be618262465ca0bc2
https://github.com/llvm/llvm-project/commit/82840c51a843ee3cf0f1480be618262465ca0bc2
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[analyzer][webkit][NFC] Add more tests for nodelete checker (#200357)
Add more test cases based on false negative we've seen in the past.
Commit: 2d411c58671de2e251a40ec89a20b828b7a25b27
https://github.com/llvm/llvm-project/commit/2d411c58671de2e251a40ec89a20b828b7a25b27
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Check uninitialized raw pointer. (#200309)
Emit a warning for a uninitialized local pointer variable.
Commit: 70b6c3419e997a6b84c0985a13cd56b24488666b
https://github.com/llvm/llvm-project/commit/70b6c3419e997a6b84c0985a13cd56b24488666b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang/test/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[Flang] Fix runtime module file dependency on tests (#200417)
Summary:
Ever since https://github.com/llvm/llvm-project/pull/171515 we now build
the moduel files in the runtime step. This is problematic because pretty
much all of the tests depend on them. The current dependency chain
doesn't work correctly because the dependencies are set much later.
This fix just adds a global property so that we can set these
out-of-order and sets that property to depend on all the runtime tests.
Flang now becomes the only test suite who depends on the runtimes like
this, every other project's test suite is hermetic. However, moving
pretty much every flang test to flang-rt isn't ideal. We can investigate
this in depth later but for now this fixes the build.
Commit: 3330752fa10ada656e3484c82bfa8fb702c69c4f
https://github.com/llvm/llvm-project/commit/3330752fa10ada656e3484c82bfa8fb702c69c4f
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-imported-alias-assert.ll
Log Message:
-----------
Fix MemProf imported alias handling after guid metadata changes (#200430)
After PR184065 was committed, memprof ThinLTO builds were failing on
imported aliases, which now have the original aliasee guid attached
as metadata (we import aliases as a copy of the aliasee body). In
distributed ThinLTO, unless also importing the aliasee symbol, we won't
have an entry in the summary for the aliasee guid. And we now don't have
a way to locate the alias summary, which caused some assumptions and
assertions to fail.
Work around this with a TODO to add a way to find the original alias
guid.
Commit: 2c5dca550ae7b86f213aa56a0c92c53a69257968
https://github.com/llvm/llvm-project/commit/2c5dca550ae7b86f213aa56a0c92c53a69257968
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/test/tools/llvm-objdump/X86/disassemble-functions.test
M llvm/tools/llvm-objdump/ObjdumpOpts.td
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
llvm-objdump: Support --disassemble= option.
This is compatible with GNU, as well as being shorter and allowing users
to specify symbol names with commas in them.
Note that this is distinct from the existing --disassemble which has
existed for a long time and disassembles all symbols. This change adds
a near-alias for the existing LLVM-specific --disassemble-symbols=.
Reviewers: jh7370, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/196594
Commit: 8918dd8b4dc646fa9707bbfedd4efe5116abe971
https://github.com/llvm/llvm-project/commit/8918dd8b4dc646fa9707bbfedd4efe5116abe971
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/test/Driver/freebsd.c
Log Message:
-----------
[Clang][test] Fix space in ld path (#200012)
The driver resolves the path to the linker ("ld") to the absolute path.
Microsoft Visual Studio comes with its own instance of `ld.lld` which it
installs under
"c:\\program files\\microsoft visual studio\\2022\\community\\vc\\tools\\llvm\\x64\\bin\\ld.lld.exe"
In the developer command prompt, this path is added to PATH where the
Clang driver finds it. However, this path does not match regular
expression `"{{[^" ]*}}ld{{[^" ]*}}"` used by the MIPS test because the
path contains spaces.
Fix the test failure by matching only the the trailing component after
`ld`. Matching the prefix of the path is unique to the MIPS test, this
is not done with tests for other platforms.
Commit: ddef3a893ae3af11ea3a47580379e1ee6512bff9
https://github.com/llvm/llvm-project/commit/ddef3a893ae3af11ea3a47580379e1ee6512bff9
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
LangRef: Clarify that unnamed_addr constants can be duplicated.
It has always been the intent that it was possible to duplicate
unnamed_addr constants, and LTO takes advantage of it. The current LangRef
wording allows it, but it was not explicitly spelled out, which led Clang
developers to add an optimization that assumed that it wasn't possible.
We are considering changing the semantics of unnamed_addr, but for now,
just make the current state explicit.
Reviewers:
teresajohnson, zygoloid, rjmccall, ChuanqiXu9, efriedma-quic, ojhunt
Pull Request: https://github.com/llvm/llvm-project/pull/199251
Commit: bd5c7247525f448b54fc18213ee1deb7b8aaa3b0
https://github.com/llvm/llvm-project/commit/bd5c7247525f448b54fc18213ee1deb7b8aaa3b0
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-sync_synchronize.c
Log Message:
-----------
[CIR] Implement __sync_synchronize builtin (#200423)
This showed up on a spec test, but is a very simple system-sequentially
consistent fence instruction.
Commit: a10ca8ed6454361b3889a9d5b41b97d065984648
https://github.com/llvm/llvm-project/commit/a10ca8ed6454361b3889a9d5b41b97d065984648
Author: Piotr Balcer <piotr.balcer at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
M offload/include/Shared/APITypes.h
M offload/liboffload/API/Kernel.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
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/L0Kernel.h
M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
M offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
M offload/unittests/Conformance/include/mathtest/Support.hpp
M offload/unittests/Conformance/lib/DeviceContext.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/composite.cpp
M offload/unittests/OffloadAPI/device_code/multiargs.cpp
M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernelCooperative.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
Log Message:
-----------
[offload] use argument pointer array in olLaunchKernel (#194333)
This PR changes olLaunchKernel to accept an array of pointers to
arguments:
```
void *ArgPtrs[] = {&A, &B, &C};
size_t ArgSizes[] = {sizeof(A), sizeof(B), sizeof(C)};
olLaunchKernel(Queue, Device, Kernel, &LaunchArgs, std::size(ArgPtrs), ArgPtrs, ArgSizes);
```
The newly proposed interface is implementable by existing and
anticipated
backends, is familiar to CUDA programmers, eliminates the extraneous
construction of a contiguous arguments buffer, replacing it with
constructing
an array of pointers, sidesteps the alignment requirements, does not
require reading program image metadata where it's impractical, and
enables
a compliant SYCL implementation to be built on top of it.
The ArgSizes array is required to support OpenCL, which does not have
native support for launching a kernel with an argument pointer array, or
a reliable way of retrieving argument sizes for a kernel.
## Mapping the proposed API to backends
CUDA and Level-Zero both support accepting an array of pointers to
kernel arguments, through `cuLaunchKernel`
(https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__EXEC.html#group__CUDA__EXEC_1gb8f3dc3031b40da29d5f9a7139e52e15)
and `zeCommandListAppendLaunchKernelWithArguments`
(https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zecommandlistappendlaunchkernelwitharguments)
respectively.
For OpenCL, which requires the kernel arguments to be set separately
from the kernel launch, a potential implementation can extract the
number of arguments from the OpenCL API, and then iterate over the
argument pointer and size arrays:
```
cl_uint num_args = 0;
cl_int err = clGetKernelInfo(kernel, CL_KERNEL_NUM_ARGS,
sizeof(num_args), &num_args, NULL);
for (cl_uint i = 0; i < num_args; ++i) {
clSetKernelArg(kernel, i, ArgSizes[i], ArgPtrs[i]);
}
```
The AMDGPU plugin needs to construct a contiguous buffer using the array
of argument pointers. To do this conversion, we need to have offsets
at which to place the arguments. Here, luckily, as mentioned before,
the AMD plugin already reads kernel metadata from the program image.
The implementation simply retrieves size and offset for each argument
from the kernel image, and then uses it to populate a buffer.
Commit: 36264ec6151880d0a55a98b73e48da729058b76e
https://github.com/llvm/llvm-project/commit/36264ec6151880d0a55a98b73e48da729058b76e
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/lit/lit/TestingConfig.py
Log Message:
-----------
[lit] Remove redundant f.close() in TestingConfig (#200459)
[This
commit](https://github.com/llvm/llvm-project/commit/5536348d060066e875c9bf9e056447ece59c783d)
moved the config file `open()` into a `with` context manager but left
the trailing `f.close()` call behind. Since the context manager already
closes the file, the call is redundant. It is also outside the `with`
block, so `f` is unbound on the `except OSError` path. This removes it.
No change in behavior.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: 91f3d8d7030ecf4c78307bc58917f6f5ec5cdfef
https://github.com/llvm/llvm-project/commit/91f3d8d7030ecf4c78307bc58917f6f5ec5cdfef
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
[Docs] Fix build (#200467)
5047ae21b426452b3ee753574be45404d15111cb left out some whitespace that
is necessary for sphinx to work.
Commit: 3e3871d6fecdc4dfda0e0147979aea16a94bab54
https://github.com/llvm/llvm-project/commit/3e3871d6fecdc4dfda0e0147979aea16a94bab54
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/splitdouble_mat.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint_mat-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
A llvm/test/CodeGen/DirectX/splitdouble_mat.ll
Log Message:
-----------
[HLSL] Adding matrix support to splitdouble (#200257)
This patch modifies existing splitdouble lowering to handle matrix
types.
Fix: https://github.com/llvm/llvm-project/issues/199069
Commit: 5945eacb934590c2a7091d73f53289e5dbcf2c40
https://github.com/llvm/llvm-project/commit/5945eacb934590c2a7091d73f53289e5dbcf2c40
Author: michaelselehov <michael.selehov at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libclc/test/math/cos.cl
Log Message:
-----------
[libclc][test] Update math/cos.cl check lines after #199981 revert (#200353)
The libclc lit test 'math/cos.cl' (introduced by #197151 with
auto-generated FileCheck assertions) started failing on the staging
buildbot after the revert in #199981 of the AMDGPU ABI coercion change
(#185083). The revert restores the older codegen path, which produces a
slightly different IR shape for the select instruction inside the cos()
implementation:
- the select's 'contract' fast-math flag is no longer present, and
- the result is named %.v.i.i instead of a numbered SSA temporary.
Regenerate the AMDGCN CHECK lines with
libclc/test/update_libclc_tests.py to reflect the post-revert IR. After
this change, all 10 libclc tests in check-libclc-amdgcn-amd-amdhsa-llvm
pass.
Note: running update_libclc_tests.py also produces a purely cosmetic
diff in math/rsqrt.cl (it renames a few FileCheck capture names like
META13 to META12 to match the actual metadata indices); those capture
renames are not required for the test to pass and are not included here
to keep the change minimal.
Co-authored-by: mselehov <mselehov at amd.com>
Commit: 3aed319af981c39a0988485135070399917ada56
https://github.com/llvm/llvm-project/commit/3aed319af981c39a0988485135070399917ada56
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
A llvm/test/CodeGen/SPIRV/declarations-only-module.ll
Log Message:
-----------
[SPIR-V] Insert service function when module has only declarations (#199964)
A declarations-only module produces no `MachineFunction` at all,
`SPIRVModuleAnalysis` is freed before `AsmPrinter::doFinalization` and
`outputModuleSections` asserts in `getAnalysis<SPIRVModuleAnalysis>()`
which causes a failure
Commit: d5abd9c851e81accb1b743e3f12a6d7482c657ac
https://github.com/llvm/llvm-project/commit/d5abd9c851e81accb1b743e3f12a6d7482c657ac
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
Log Message:
-----------
[ExpandIRInsts] Avoid redundant dyn_cast after #175864 (#200475)
CreateCondBr always returns an Instruction, so no need to dyn_cast back
to an instruction after downcasting to a Value.
Commit: 6da24e4022f0cc6e97db939c1ea6df20dbb02ae6
https://github.com/llvm/llvm-project/commit/6da24e4022f0cc6e97db939c1ea6df20dbb02ae6
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
A clang/test/OffloadTools/clang-sycl-linker/options.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Improve --spirv-dump-device-code and harden CLI handling (#200096)
Several small fixes and improvements to `clang-sycl-linker`'s
command-line
handling, plus completing the `--spirv-dump-device-code` option:
- **`--version`**: now exits with `EXIT_SUCCESS` after printing, instead
of
falling through into the rest of `main`.
- **Empty input**: report a clear "No input files provided" error from
`getInput` rather than triggering an assertion deep inside
`linkDeviceCode`.
- **`--spirv-dump-device-code`**: previously parsed but ignored — now
actually
copies each generated `.spv` file into the requested directory. The
directory is created up-front (`mkdir -p` semantics) so a missing path
produces a friendly diagnostic instead of a low-level copy errno.
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 550f61f191e57660ce9a55da22304b736ff85606
https://github.com/llvm/llvm-project/commit/550f61f191e57660ce9a55da22304b736ff85606
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll
Log Message:
-----------
[SimplifyCFG] Preserve atomicity when merging atomic conditional stores (#200327)
mergeConditionalStoreToAddress() merges two stores into one. It does
this for non-atomic and atomic-unordered stores, but when merging
unordered stores, it would downgrade them to non-atomic!
This bug isn't accessible from C because C doesn't expose unordered
atomics. But you can access it from e.g. Objective-C with something like
```
// repro.m — clang -fno-objc-arc -O2
__attribute__((objc_root_class))
@interface C { int _value; }
@property(atomic, direct) int value;
@end
@implementation C
@end
void f(C *obj, _Bool c1, _Bool c2, int v1, int v2) {
if (!obj) __builtin_unreachable();
if (c1) obj.value = v1;
if (c2) obj.value = v2;
}
```
LLVM merges these into a single store. The store is non-atomic without
this change.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 43511b564751fa0231d012b8bda59b88915d5855
https://github.com/llvm/llvm-project/commit/43511b564751fa0231d012b8bda59b88915d5855
Author: adams381 <adams at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
A clang/test/CIR/Transforms/abi-lowering/extend-after-ignore.cir
A clang/test/CIR/Transforms/abi-lowering/extend-return.cir
A clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
A clang/test/CIR/Transforms/abi-lowering/extend-unsigned-arg.cir
Log Message:
-----------
[CIR] Add Extend (signext/zeroext) handling to CallConvLowering (#195745)
Third PR in the series splitting
[#192119](https://github.com/llvm/llvm-project/pull/192119) /
[#192124](https://github.com/llvm/llvm-project/pull/192124).
[#195725](https://github.com/llvm/llvm-project/pull/195725) and
[#195737](https://github.com/llvm/llvm-project/pull/195737) have merged;
this PR is now a standalone diff on main.
Adds Extend (signext / zeroext) to `cir-call-conv-lowering`. The CIR
signature keeps the original narrow integer type; the rewriter attaches
`llvm.signext` / `llvm.zeroext` to `arg_attrs` and `res_attrs`. That
matches classic Clang's LLVM IR convention — `define void @f(i8 signext
%x)`, not `define void @f(i32 signext %x)` with an entry-block
truncation. The `coercedType` field on an Extend `ArgClassification` is
informational only; the rewriter doesn't use it to change the CIR
signature.
Three `.cir` tests cover narrow-signed-arg, narrow-unsigned-arg, and
narrow-signed-return. Since the test target's narrow-int Extend rule
fires only on MLIR `IntegerType` and CIR functions use `cir::IntType`,
these tests drive the rewriter through the classification-injection path
added in [#195725](https://github.com/llvm/llvm-project/pull/195725).
Commit: 352fd0bd9b8ee5f89ec1fe508d5aa35525cd94e9
https://github.com/llvm/llvm-project/commit/352fd0bd9b8ee5f89ec1fe508d5aa35525cd94e9
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb][test] Link test binaries with -random_uuid (#199385)
Link using `-random_uuid` on macOS to avoid accidental UUID matching in tests.
Commit: a20c21b8bedc0492ea7f78e5bc72b805d47b0520
https://github.com/llvm/llvm-project/commit/a20c21b8bedc0492ea7f78e5bc72b805d47b0520
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/test/SemaCXX/init-priority-attr.cpp
Log Message:
-----------
[clang] Enable GNU __attribute__((init_priority(...))) on z/OS. (#199573)
Enable `init_priority` on z/OS
Motivation
The recent addition of `clang/test/Sema/type-dependent-attrs.cpp` in
https://github.com/llvm/llvm-project/pull/182208 started failing on
z/OS. That test uses `[[gnu::init_priority(2000)]]`, and the failure
exposed that init_priority support was still disabled for z/OS in
`Attr.td`.
What changed
- Enabled init_priority for z/OS in `clang/include/clang/Basic/Attr.td`
- Updated `clang/test/SemaCXX/init-priority-attr.cpp` so z/OS now
expects normal semantic handling for init_priority
This reverts commit 2c7e24c4b6893a93ddb2b2cca91eaf5bf7956965 and
preserve any changes done after this commit.
Commit: 6a96948271810324d02b23d31a83bc2166f4c787
https://github.com/llvm/llvm-project/commit/6a96948271810324d02b23d31a83bc2166f4c787
Author: lntue <lntue at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libc/src/__support/FPUtil/x86_64/sqrt.h
Log Message:
-----------
[libc] Fix SSE2 check for x86_64/sqrt.h. (#200468)
Commit: 0fc5d0ab0cea3afe32592f24af17b5d7e02c9dfe
https://github.com/llvm/llvm-project/commit/0fc5d0ab0cea3afe32592f24af17b5d7e02c9dfe
Author: Fei Peng <feip at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Transforms/GVN/metadata.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/SimplifyCFG/hoist-with-metadata.ll
A llvm/test/Verifier/mem-cache-hint.ll
Log Message:
-----------
[IR] Introduce `mem.cache_hint` metadata for composable memory cache control hints (#181612)
Add target-agnostic infrastructure for the !mem.cache_hint metadata
kind,
https://discourse.llvm.org/t/rfc-composable-and-extensible-memory-cache-control-hints-in-llvm-ir/89443
This patch includes:
- Registration of mem.cache_hint in FixedMetadataKinds
- IR Verifier validation of structural constraints
- Metadata helper support in combineMetadata(), copyMetadataForLoad(),
and dropUBImplyingAttrsAndMetadata()
- LangRef documentation for the metadata format and semantics
- Verifier and transform pass test coverage (GVN, InstCombine,
SimplifyCFG)
Co-authored-by: Yonah Goldberg <ygoldberg at nvidia.com>
Assisted-by: Claude Code
---------
Co-authored-by: Yonah Goldberg <ygoldberg at nvidia.com>
Commit: e04dbbf194773f2c70b6df9ffcfad25a493b3b45
https://github.com/llvm/llvm-project/commit/e04dbbf194773f2c70b6df9ffcfad25a493b3b45
Author: lntue <lntue at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] Add arm and riscv FEnvImpl.h to textual_hdrs. (#200479)
Commit: 02997d75928b23a3e84cce8f30418599ba12b5c0
https://github.com/llvm/llvm-project/commit/02997d75928b23a3e84cce8f30418599ba12b5c0
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/ExpandReductions.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[IR] Introduce Instruction::getFastMathFlagsOrNone (NFC) (#200457)
Commit: d337e680ba320b3c641f043f3b17fe79c12846f9
https://github.com/llvm/llvm-project/commit/d337e680ba320b3c641f043f3b17fe79c12846f9
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
R llvm/test/CodeGen/DirectX/Metadata/cbuffer-layouttype.ll
Log Message:
-----------
[DirectX] Remove obsolete cbuffer layout test (#200307)
This test uses outdated `cbuffer` layout design. It has been replaced by
`cbuffer-metadata.ll` when we updated the frontend to use explicit
padding for `cbuffer` data types.
Commit: c9cdbc4a30b83b8a8d100c19c4aba16c848b9dfb
https://github.com/llvm/llvm-project/commit/c9cdbc4a30b83b8a8d100c19c4aba16c848b9dfb
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
Log Message:
-----------
[scudo] Improve performance of pushBlocks sort. (#200297)
Ran this on an Android device using both algorithms, the new algorithm
is on average 10% faster, but gets to be 15% faster in some cases. This
is an example of the speed-ups.
Average Operation Time Maximum Operation Time Name
326.9(ns) 80770(ns) PushBlocks New
365.9(ns) 108032(ns) PushBlocks Old
Commit: 9b4e2dc291777db06af2e1a425906dd1e1cf8ffb
https://github.com/llvm/llvm-project/commit/9b4e2dc291777db06af2e1a425906dd1e1cf8ffb
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
A flang/test/Integration/OpenMP/atomic-capture-release.f90
M flang/test/Integration/OpenMP/atomic-compare.f90
A flang/test/Lower/OpenMP/atomic-mem-order-transform.f90
M flang/test/Lower/OpenMP/atomic-requires-conflict-v50-3.f90
M flang/test/Lower/OpenMP/atomic-requires-conflict-v50-4.f90
M flang/test/Lower/OpenMP/requires-admo-acqrel.f90
A flang/test/Semantics/OpenMP/atomic-mem-order.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[Flang][OpenMP]Handling restrictions of using Memory-Order-Clause with Atomic-Clause (#199636)
Adhering to the restrictions of using Memory-Order-Clause with
Atomic-Clause.
Added warnings to indicate the transformations that will done internally
in flang.
In the process of handling all the restrictions of using
memory-order-clause This also Fixes
[#199490](https://github.com/llvm/llvm-project/issues/199490)
---------
Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>
Commit: f8545bed74159326ee0e62637943f57c10a216c9
https://github.com/llvm/llvm-project/commit/f8545bed74159326ee0e62637943f57c10a216c9
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
Log Message:
-----------
[CIR] Implement cleanups of base classes for aggregates. (#200473)
This is a very simple implementation, we just make sure we add the base
class destructor to the cleanup scope.
Commit: 4e8c14df16a7758ce5f471cfed200ad0e02847a0
https://github.com/llvm/llvm-project/commit/4e8c14df16a7758ce5f471cfed200ad0e02847a0
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fpto-sat-vector.ll
Log Message:
-----------
[ExpandIRInsts] Fix e.g. fptoui.sat.f32.i256's handling of inf (#200261)
When expanding fptoui.sat/fptosi.sat, we saturate when the biased
exponent is at least ExponentBias + BitWidth - IsSigned, the point where
the value no longer fits in the target integer.
We should *also* always saturate when the floating-point value is
+/-inf. Usually this doesn't require any special handling; for example
for a float32 -> int32 conversion, inf has a biased exponent of 255 >
ExponentBias + BitWidth - IsSigned = 127 + 32 - 1.
But for integer types which are large enough to contain all source
floating-point values, this doesn't work. For example, if you're
converting float32 to int256, you'd compute a threshold of 383, which is
greater than 255. Therefore float32(inf) would not correctly saturate
to INT256_MAX.
Fix this by clamping the threshold to the all-ones biased exponent.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 9b6611986828eebaf521a7a29414cdf3ca770b22
https://github.com/llvm/llvm-project/commit/9b6611986828eebaf521a7a29414cdf3ca770b22
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
A llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsSM68.yaml
Log Message:
-----------
Add yamlobj roundtrip tests for SM 6.8 features (#198403)
This PR adds DXContainer tests for Shader Model 6.8 features;
SampleCmpGradientOrBias and ExtendedCommandInfo.
Assisted by: Github Copilot
Fixes https://github.com/llvm/llvm-project/issues/83177
Commit: 59eb19d0c061f4458b299dcbda242a90c4263689
https://github.com/llvm/llvm-project/commit/59eb19d0c061f4458b299dcbda242a90c4263689
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[InstSimplify] Expose simplifyUnaryIntrinsic (NFC) (#200444)
With the eventual goal of supporting unary intrinsics in the
constant-folder.
Commit: 5d6ed5365c0fd3909b2a83be659f23738a2d1d59
https://github.com/llvm/llvm-project/commit/5d6ed5365c0fd3909b2a83be659f23738a2d1d59
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang/docs/Extensions.md
Log Message:
-----------
[flang][docs] Documented IS_CONTIGUOUS() extension for constant arrays (#200451)
Flang considers constant objects or subobjects of constant objects as
contiguous even in cases, where the other compilers may consider them
non-contiguous. Documented the extension.
Fixes #199878
Commit: ee872666e2881119b66b137c590a59eeace22996
https://github.com/llvm/llvm-project/commit/ee872666e2881119b66b137c590a59eeace22996
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
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/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr31190.ll
Log Message:
-----------
[VPlan] Expand VPExpandSCEVRecipes to VPInstructions before CSE. (#197643)
Add expandSCEVExpressions transform that converts VPExpandSCEVRecipes
to VPInstructions where possible, running before CSE so duplicates with
other SCEV expansions (e.g., from addMinimumIterationCheck) are
eliminated. This also reuses existing loop-invariant IR values via
ScalarEvolution::getSCEVValues to avoid redundant computation.
Currently limited to SCEVMulExpr (along with constants, unknowns, and
vscale). Support for SCEVAddExpr and SCEVUDivExpr will follow in
subsequent patches.
Depends on https://github.com/llvm/llvm-project/pull/189455
PR: https://github.com/llvm/llvm-project/pull/197643
Commit: 0ed795a70b9df40d08a08e70acb889eaba5f8713
https://github.com/llvm/llvm-project/commit/0ed795a70b9df40d08a08e70acb889eaba5f8713
Author: Reid Kleckner <rnk at llvm.org>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/ghlinks.py
Log Message:
-----------
[docs] Rewrite the ghlink Sphinx plugin to use doctree (#199076)
Previously we did a simple reST-based textual rewrite during the
source-read Sphinx phase. This did the wrong thing for markdown sources,
and would rewrite #GH123 in escaped code blocks.
The new implementations does a DFS walk over the doctree AST and does
targetted replacements in text nodes matching the pattern. This makes it
more accurate and portable between markup languages.
This does renumber the #idN anchors that refer back to the table of
contents because inline reST links consume internal id numbers. However,
the #id numbers aren't stable, they change any time we add a new
heading, so I don't see this as a blocker.
An LLM did the first draft of the script, and I tuned it up from there.
Commit: 4ac26f45fa8f5c58a90effb903808cb0e908cf1c
https://github.com/llvm/llvm-project/commit/4ac26f45fa8f5c58a90effb903808cb0e908cf1c
Author: Justin Bogner <mail at justinbogner.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/test/CodeGen/DirectX/firstbitlow_error.ll
M llvm/test/CodeGen/DirectX/firstbitshigh_error.ll
M llvm/test/CodeGen/DirectX/firstbituhigh_error.ll
M llvm/test/CodeGen/DirectX/saturate_errors.ll
Log Message:
-----------
[DirectX] Update checks for more precise error messages (#200491)
We've improved these error messages in #199217, update the tests for the
DirectX backend.
Commit: 3a2b697fc101f8c9e1d59307e7936ecc1f99d308
https://github.com/llvm/llvm-project/commit/3a2b697fc101f8c9e1d59307e7936ecc1f99d308
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Check type in collectGroupedReplicateMemOps (NFC) (#192781)
collectGroupedReplicateMemOps is currently not reusable, because it
groups memory operations by the address SCEV, ignoring the load-store
type. Fix this by factoring the check from
collectComplementaryPredicatedMemOps.
Commit: 61d17f0e69cd2cbee77a5bddac2abcfeaf0e4458
https://github.com/llvm/llvm-project/commit/61d17f0e69cd2cbee77a5bddac2abcfeaf0e4458
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
A llvm/test/CodeGen/NVPTX/lower-aggr-copies-shared.ll
Log Message:
-----------
[NVPTX][FIX] Ensure memmove are kept if not lowered to loops (#200469)
Memmove lowering can fail, so we cannot unconditionally remove the
intrinsic.
Issue found by Robert Imschweiler <robert.imschweiler at amd.com>
Commit: 37732ab65726a6ba1e06435ad2aaabf267dcceff
https://github.com/llvm/llvm-project/commit/37732ab65726a6ba1e06435ad2aaabf267dcceff
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M offload/libomptarget/interface.cpp
Log Message:
-----------
[OpenMP] Fix RPC register segfaulting without PM initialized (#200494)
Summary:
This happens in practice if you link libomptarget without initializing
it in the Flang RPC IO handling.
Commit: 60290059386b267e52c2e0dbb37867ce546f3788
https://github.com/llvm/llvm-project/commit/60290059386b267e52c2e0dbb37867ce546f3788
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/unittests/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang][scan-deps] Add option to disable caching stat failures (#200484)
While the source code isn't supposed to change during a build, in some
environments it does. This adds an option that disables caching of stat
failures, meaning that source files can be added to the build during
scanning.
This adds a `-no-cache-negative-stats` option to clang-scan-deps to
enable this behavior. There are no tests for clang-scan-deps as there's
no reliable way to do so from it. A unit test has been added that
modifies the filesystem between scans to test it.
Co-authored-by: Michael Spencer <bigcheesegs at gmail.com>
Commit: 0f8a64fb33efa81d07ace7489f99eb9bc66e5ccc
https://github.com/llvm/llvm-project/commit/0f8a64fb33efa81d07ace7489f99eb9bc66e5ccc
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
Log Message:
-----------
[AtomicExpand] Preserve flags expanding loads/stores to cmpxchg/atomicrmw (#200324)
Don't drop volatile and syncscope flags.
Commit: 03d8fa70398db82a962de9368622add69e26e805
https://github.com/llvm/llvm-project/commit/03d8fa70398db82a962de9368622add69e26e805
Author: veera <veera at efficient.computer>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
Log Message:
-----------
[MLIR][Arith][WIE] Fix Conversions for Shift Left and Right Ops (#198457)
The current conversions for `arith.shli`, `arith.shrui` and
`arith.shrsi` does not handle shift by zero correctly. It tries to shift
a `iN` value by N and results in a poison value.
This PR fixes it by adopting the math used by RISCV backend to lower 64
bit shift operations for 32 bit targets. This implementation uses less
number of ops than the existing one.
Negative proofs for current implementation:
shli: https://alive2.llvm.org/ce/z/_Q8ZuC
shrui: https://alive2.llvm.org/ce/z/vDZeEV
shrsi: https://alive2.llvm.org/ce/z/vZVatx
Proofs for attempted fix in this PR:
shli: https://alive2.llvm.org/ce/z/SDJJXW
shrui: https://alive2.llvm.org/ce/z/FZcP5y
shrsi: https://alive2.llvm.org/ce/z/5nk86z
Commit: 02cf363d17487378d0a2a89e1e95738d0945ab4c
https://github.com/llvm/llvm-project/commit/02cf363d17487378d0a2a89e1e95738d0945ab4c
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
Log Message:
-----------
[clang-doc] Add specialization info to record references (#191252)
Class specializations listed in a namespace's page had the problem of
being indistinguishable from each other since they couldn't display
their template arguments. They would just be displayed as a series of
the base
template's name. Now, we can display those arguments in HTML
for a better experience.
In JSONGenerator, we query the set of Infos to find the Reference's
corresponding RecordInfo. That requires keeping a pointer to the map in
JSONGenerator.
Fixes #181771
Commit: 50ed21d39c0d0ca6d8ae4f7beed5f70d7e7f7343
https://github.com/llvm/llvm-project/commit/50ed21d39c0d0ca6d8ae4f7beed5f70d7e7f7343
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
Log Message:
-----------
[CIR] Add RunCleanupsScope RAII around loop bodies (#200461)
This fixes yet another problem where a ternary operator in a loop body
was leading to an unterminated region. We have long had a comment
suggesting that we should consider loop-specific cleanup handling to
mimic the cleanup exit block that classic codegen creates. I previously
believed that wasn't really necessary because CIR's structured
representation handles branching through cleanups during later lowering.
That's true, but not having something to trigger the cleanup stack
handling when we exit the loop's body region was causing us to miss
emitting a yield after the loop operation.
This change introduces the RAII object for cleanups. This also allows me
to remove some handling in LexicalScope::cleanup that was basically
there to smooth over terminator insertion problems.
Assisted-by: Cursor / claude-opus-4.7
Commit: 34da785839f7ddabfa735655d1c6e45c7f85b353
https://github.com/llvm/llvm-project/commit/34da785839f7ddabfa735655d1c6e45c7f85b353
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/flatten-memref-and-emulate-narrow-types.mlir
A mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-dynamic-store.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
Log Message:
-----------
[mlir][vector] Fix incorrect byte-alignment assumption in ConvertVectorStore (#189235)
When `ConvertVectorStore` emits the narrow-type emulation for a
`vector.store` into a 2-D memref, it previously assumed that if the
trailing dimension of the memref exactly matches the vector size
(`trailingDimsMatch`), then the last-dimension index must be zero and no
sub-byte alignment adjustment is needed. This assumption is wrong: a
valid store such as
vector.store %v, %src[%c0, %c1] : memref<3x4xi2>, vector<4xi2>
has a non-zero column index (%c1 == 1) even though trailingDim (4)
equals the vector size (4). The incorrect shortcut caused the pattern to
fall into the "aligned" path and emit a plain bitcast + store at byte
offset 0, silently dropping elements [1], [2], [3] of the first byte and
overwriting the wrong memory.
Fix: use `linearizedInfo.intraDataOffset` when it can be folded, so
constant non-zero offsets emit the required partial RMW stores. If the
offset is dynamic, reject the generic unaligned lowering instead of
assuming byte alignment; callers that can guarantee container-element
alignment should use the existing `assumeAligned` path.
The regression coverage includes the original constant-index case,
dynamic unaligned stores that now fail legalization, and existing
dynamic-row cases where the low-order offset is provably aligned.
Fixes #131528
Assisted-by: Claude Code
Assisted-by: Codex
Commit: 9b5d0af42f8d5f10f6ca566eeebf162dc22abe7b
https://github.com/llvm/llvm-project/commit/9b5d0af42f8d5f10f6ca566eeebf162dc22abe7b
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/include/lldb/Core/DemangledNameInfo.h
Log Message:
-----------
[lldb] Halve the size of indexes in DemangledNameInfo (NFC) (#200506)
Mangled should not be more than 4GB. This will halve the size of
`DemangledNameInfo` from 128 to 64 bytes.
Commit: f958f1716fe3dc61a48f1d53a98e38a3be5791ff
https://github.com/llvm/llvm-project/commit/f958f1716fe3dc61a48f1d53a98e38a3be5791ff
Author: veera <veera at efficient.computer>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
Log Message:
-----------
Revert "[MLIR][Arith][WIE] Fix Conversions for Shift Left and Right Ops" (#200512)
Reverts llvm/llvm-project#198457 since there are buildbot failures.
Commit: 3d24f9acc92bc3288efa8e17eee6ae41d694677f
https://github.com/llvm/llvm-project/commit/3d24f9acc92bc3288efa8e17eee6ae41d694677f
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
A lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
M lldb/include/lldb/Utility/GDBRemote.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
A lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.cpp
A lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.h
A lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/StringExtractorGDBRemote.cpp
A lldb/test/API/accelerator/mock/Makefile
A lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
A lldb/test/API/accelerator/mock/main.c
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/CMakeLists.txt
M lldb/tools/lldb-server/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.cpp
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
A lldb/tools/lldb-server/Plugins/CMakeLists.txt
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/utils/lldb-dotest/CMakeLists.txt
M lldb/utils/lldb-dotest/lldb-dotest.in
Log Message:
-----------
[lldb-server] Add accelerator plugin infrastructure for debugging hardware accelerators like gpus (#198907)
This is the first patch of many related to
https://discourse.llvm.org/t/upstreaming-basic-support-for-accelerators/89827/6
### What this patch adds
- **`LLDBServerAcceleratorPlugin`** base class in
`source/Plugins/Process/gdb-remote/` so accelerator can implement the
own plugin
- **`accelerator-plugins+`** feature in `qSupported` response, only
advertised when at least one plugin is installed
- **`jAcceleratorPluginInitialize`** GDB remote packet and its
implementation in handlers, request and response.
- **`AcceleratorActions`** struct so every plugin can return the actions
that needs to be on the initilaize. in the future we will extend this
install breakpoints etc.
- **Mock accelerator plugin** for testing, gated by CMake option
`LLDB_ENABLE_MOCK_ACCELERATOR_PLUGIN` (default OFF)
- **Tests** that connect to a real lldb-server, verify
`accelerator-plugins+` in `qSupported`, send
`jAcceleratorPluginInitialize`, and validate the JSON response
### Design decisions
- CMake option defaults to OFF so normal builds are unaffected
- Tests skip automatically when the plugin is not compiled in
Commit: f976a1d67108d7324844635a580fc4d30e554b02
https://github.com/llvm/llvm-project/commit/f976a1d67108d7324844635a580fc4d30e554b02
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Squelch unused warn in collectMemOps (NFC) (#200507)
Squelch a warning reported by a Buildbot:
https://lab.llvm.org/buildbot/#/builders/228/builds/477.
Commit: 7565961d1906df86b87c41b84a2beffc9e0a4b21
https://github.com/llvm/llvm-project/commit/7565961d1906df86b87c41b84a2beffc9e0a4b21
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M .github/workflows/issue-write.yml
Log Message:
-----------
workflows/issue-write: Do not read pr number from file for pull_request events (#200474)
For pull_request events, the author of the pull request has full control
over the workflow job and can potentially write any pull request number
to the file. This would allow them to modify comments on any pull
request not just their own.
The reading of the pull request number from the file was added in
53ff447b64186ff51181cd6050a9613983ff80be to support issue_comment events
so we don't need it for pull_request events anyway.
Commit: d70975c36995fb744b08e899a41270b3d7a609ba
https://github.com/llvm/llvm-project/commit/d70975c36995fb744b08e899a41270b3d7a609ba
Author: Brad Smith <brad at comstyle.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
M libcxx/test/benchmarks/containers/deque_iterator.bench.cpp
M libcxx/test/benchmarks/containers/sequence/vector_bool.bench.cpp
M libcxx/test/benchmarks/join_view.bench.cpp
M libcxx/test/benchmarks/streams/copy.bench.cpp
M libcxx/test/benchmarks/streams/ofstream.bench.cpp
A third-party/benchmark/.bazelversion
M third-party/benchmark/.clang-tidy
A third-party/benchmark/.clang-tidy.ignore
M third-party/benchmark/.pre-commit-config.yaml
R third-party/benchmark/.travis.yml
M third-party/benchmark/.ycm_extra_conf.py
M third-party/benchmark/AUTHORS
M third-party/benchmark/CMakeLists.txt
M third-party/benchmark/CONTRIBUTORS
M third-party/benchmark/MODULE.bazel
M third-party/benchmark/README.md
M third-party/benchmark/bazel/benchmark_deps.bzl
R third-party/benchmark/bindings/python/build_defs.bzl
M third-party/benchmark/bindings/python/google_benchmark/__init__.py
M third-party/benchmark/bindings/python/google_benchmark/benchmark.cc
M third-party/benchmark/bindings/python/google_benchmark/example.py
R third-party/benchmark/bindings/python/google_benchmark/version.py
R third-party/benchmark/bindings/python/nanobind.BUILD
R third-party/benchmark/bindings/python/python_headers.BUILD
M third-party/benchmark/cmake/CXXFeatureCheck.cmake
M third-party/benchmark/cmake/Config.cmake.in
M third-party/benchmark/cmake/GoogleTest.cmake.in
M third-party/benchmark/cmake/benchmark.pc.in
A third-party/benchmark/cmake/benchmark_main.pc.in
M third-party/benchmark/docs/dependencies.md
M third-party/benchmark/docs/platform_specific_build_instructions.md
M third-party/benchmark/docs/reducing_variance.md
M third-party/benchmark/docs/releasing.md
M third-party/benchmark/docs/user_guide.md
M third-party/benchmark/include/benchmark/benchmark.h
M third-party/benchmark/pyproject.toml
M third-party/benchmark/setup.py
M third-party/benchmark/src/CMakeLists.txt
M third-party/benchmark/src/benchmark.cc
M third-party/benchmark/src/benchmark_api_internal.cc
M third-party/benchmark/src/benchmark_api_internal.h
M third-party/benchmark/src/benchmark_main.cc
M third-party/benchmark/src/benchmark_name.cc
M third-party/benchmark/src/benchmark_register.cc
M third-party/benchmark/src/benchmark_register.h
M third-party/benchmark/src/benchmark_runner.cc
M third-party/benchmark/src/benchmark_runner.h
M third-party/benchmark/src/check.cc
M third-party/benchmark/src/check.h
M third-party/benchmark/src/colorprint.cc
M third-party/benchmark/src/colorprint.h
M third-party/benchmark/src/commandlineflags.cc
M third-party/benchmark/src/commandlineflags.h
M third-party/benchmark/src/complexity.cc
M third-party/benchmark/src/console_reporter.cc
M third-party/benchmark/src/counter.cc
M third-party/benchmark/src/csv_reporter.cc
M third-party/benchmark/src/cycleclock.h
M third-party/benchmark/src/internal_macros.h
M third-party/benchmark/src/json_reporter.cc
M third-party/benchmark/src/log.h
M third-party/benchmark/src/perf_counters.cc
M third-party/benchmark/src/re.h
M third-party/benchmark/src/reporter.cc
M third-party/benchmark/src/statistics.cc
M third-party/benchmark/src/string_util.cc
M third-party/benchmark/src/string_util.h
M third-party/benchmark/src/sysinfo.cc
M third-party/benchmark/src/thread_manager.h
M third-party/benchmark/src/timers.cc
M third-party/benchmark/src/timers.h
M third-party/benchmark/test/CMakeLists.txt
M third-party/benchmark/test/basic_test.cc
M third-party/benchmark/test/benchmark_gtest.cc
M third-party/benchmark/test/benchmark_min_time_flag_iters_test.cc
M third-party/benchmark/test/benchmark_min_time_flag_time_test.cc
M third-party/benchmark/test/benchmark_random_interleaving_gtest.cc
A third-party/benchmark/test/benchmark_setup_teardown_cb_types_gtest.cc
M third-party/benchmark/test/benchmark_setup_teardown_test.cc
M third-party/benchmark/test/benchmark_test.cc
M third-party/benchmark/test/complexity_test.cc
R third-party/benchmark/test/cxx03_test.cc
A third-party/benchmark/test/cxx11_test.cc
M third-party/benchmark/test/diagnostics_test.cc
M third-party/benchmark/test/display_aggregates_only_test.cc
M third-party/benchmark/test/donotoptimize_assembly_test.cc
M third-party/benchmark/test/donotoptimize_test.cc
M third-party/benchmark/test/filter_test.cc
M third-party/benchmark/test/internal_threading_test.cc
M third-party/benchmark/test/link_main_test.cc
A third-party/benchmark/test/locale_impermeability_test.cc
A third-party/benchmark/test/manual_threading_test.cc
M third-party/benchmark/test/map_test.cc
M third-party/benchmark/test/memory_manager_test.cc
A third-party/benchmark/test/memory_results_gtest.cc
M third-party/benchmark/test/multiple_ranges_test.cc
M third-party/benchmark/test/options_test.cc
M third-party/benchmark/test/output_test.h
M third-party/benchmark/test/output_test_helper.cc
A third-party/benchmark/test/overload_test.cc
M third-party/benchmark/test/perf_counters_gtest.cc
M third-party/benchmark/test/perf_counters_test.cc
A third-party/benchmark/test/profiler_manager_gtest.cc
A third-party/benchmark/test/profiler_manager_iterations_test.cc
A third-party/benchmark/test/profiler_manager_test.cc
M third-party/benchmark/test/register_benchmark_test.cc
M third-party/benchmark/test/repetitions_test.cc
M third-party/benchmark/test/report_aggregates_only_test.cc
M third-party/benchmark/test/reporter_output_test.cc
M third-party/benchmark/test/skip_with_error_test.cc
M third-party/benchmark/test/spec_arg_test.cc
M third-party/benchmark/test/spec_arg_verbosity_test.cc
M third-party/benchmark/test/state_assembly_test.cc
M third-party/benchmark/test/string_util_gtest.cc
A third-party/benchmark/test/templated_fixture_method_test.cc
M third-party/benchmark/test/time_unit_gtest.cc
M third-party/benchmark/test/user_counters_tabular_test.cc
M third-party/benchmark/test/user_counters_test.cc
M third-party/benchmark/test/user_counters_thousands_test.cc
A third-party/benchmark/test/user_counters_threads_test.cc
M third-party/benchmark/tools/compare.py
M third-party/benchmark/tools/gbench/report.py
M third-party/benchmark/tools/gbench/util.py
M third-party/benchmark/tools/libpfm.BUILD.bazel
M third-party/benchmark/tools/requirements.txt
M third-party/benchmark/tools/strip_asm.py
Log Message:
-----------
Update Google Benchmark to v1.9.5 (#198964)
Commit: 9b77b22a0d14b08fb4d3b217f323449911ef8213
https://github.com/llvm/llvm-project/commit/9b77b22a0d14b08fb4d3b217f323449911ef8213
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
Log Message:
-----------
[lldb][Darwin] Correct jGetLoadedDynamicLibrariesInfos typeo & fallback (#200515)
Jonas caught that I had a typeo in checking for the
`sizeof_mh_and_loadcmds` key in the `jGetLoadedDynamicLibrariesInfos`
response from debugserver in DyanmicLoaderDarwin. Fix that.
Also I originally picked a fallback value for the mach header + load
commands as a guess. I've sinced looked at a large UI app's binaries and
based on the size of their actual mh+load commands, picked a default
that will read all the data needed in the majority of cases.
rdar://178283767
Commit: 4e47b560196a442c2cbdb451c0d28df128f9f1d0
https://github.com/llvm/llvm-project/commit/4e47b560196a442c2cbdb451c0d28df128f9f1d0
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-ui129tofp.ll
Log Message:
-----------
[ExpandIRInsts] Fix sitofp/uitofp to float producing garbage instead of inf (#200291)
[ExpandIRInsts] Fix sitofp/uitofp producing garbage instead of inf
s/uitofp of an integer larger than the max finite floating-point value
should produce inf. This can't happen with e.g. an int32 -> float32
conversion, but can happen for e.g. int256 -> float32.
Before this change we'd produce garbage.
Fixes #189054.
Co-Authored-By: Claude Opus 4.8 <noreply at anthropic.com>
Commit: a3241c53528a9600046b4cd9d55793cf59992a75
https://github.com/llvm/llvm-project/commit/a3241c53528a9600046b4cd9d55793cf59992a75
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
Log Message:
-----------
workflows/build-ci-container-windows: Remove template expansion (#200097)
https://github.com/llvm/llvm-project/security/code-scanning/1580
https://github.com/llvm/llvm-project/security/code-scanning/1581
https://github.com/llvm/llvm-project/security/code-scanning/1582
https://github.com/llvm/llvm-project/security/code-scanning/1583
https://github.com/llvm/llvm-project/security/code-scanning/1584
https://github.com/llvm/llvm-project/security/code-scanning/1585
https://github.com/llvm/llvm-project/security/code-scanning/1586
https://github.com/llvm/llvm-project/security/code-scanning/1587
Commit: 95994d1e630722badb647a423f6e78f806c983d9
https://github.com/llvm/llvm-project/commit/95994d1e630722badb647a423f6e78f806c983d9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Support/FileSystem.h
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[Support] Add path-based setLastAccessAndModificationTime overload (#199256)
The existing setLastAccessAndModificationTime takes a file descriptor.
Add a const Twine & overload that opens the path internally so callers
no longer need to manage the fd themselves. The new overload accepts
both files and directories: on POSIX, O_RDONLY opens directories and the
existing fd-based implementation accepts a directory fd. On Windows,
FILE_FLAG_BACKUP_SEMANTICS is required to obtain a handle for a
directory.
The path overload pair mirrors the existing (Twine &) / (int FD) shape
used by setPermissions and resize_file.
Commit: 796f1b3320591b6045d2a269cc4edf525890b285
https://github.com/llvm/llvm-project/commit/796f1b3320591b6045d2a269cc4edf525890b285
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
A clang/test/CIR/CodeGenHIP/device-var-registration.hip
Log Message:
-----------
[CIR][HIP][NFC] Add device variable registration coverage (#200204)
Cover the HIP `__hipRegisterVar` path in CIR and LLVM.
Commit: d46b9851c0e2c5af1729f89fb24fa368f0389839
https://github.com/llvm/llvm-project/commit/d46b9851c0e2c5af1729f89fb24fa368f0389839
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Exclude some tests (#200527)
Introduced in #200291. Exclude for now while we get to fixing it.
Commit: 20f117f386e53fe348967c355d07842190c001ee
https://github.com/llvm/llvm-project/commit/20f117f386e53fe348967c355d07842190c001ee
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Symbol/Symbol.cpp
Log Message:
-----------
[lldb] Fix copy-paste typo in Symbol::operator= (#200528)
Commit: cc8dd6ccd30774d3e084be01653c7c075d30c254
https://github.com/llvm/llvm-project/commit/cc8dd6ccd30774d3e084be01653c7c075d30c254
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/kmov-kk.ll
Log Message:
-----------
[X86] Use kmovw, not kmovq, for VK16 copies without BWI (#200337)
`copyPhysReg` selected `KMOVQkk_EVEX` for a `$k -> $k` VK16 copy on a
`+egpr` (APX) subtarget even without BWI, but `KMOVQ` requires BWI. Use
`KMOVW` instead.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 720df36d34e734f40a09f3d5a909353af619128b
https://github.com/llvm/llvm-project/commit/720df36d34e734f40a09f3d5a909353af619128b
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
A clang/test/SemaCXX/os_log.cpp
Log Message:
-----------
[os_log] Fix a CodeGen crash for non-trivial C++ arguments (#200320)
The earlier fix in commit 8a0d145d90df (#158744) only emitted a hard
error for os_log arguments of record or complex type that took the
VarArgKind::Valid / ValidInCXX11 path in checkFormatExpr. Arguments of
non-trivial C++ class type (non-trivial copy/move ctor or dtor) instead
take the VarArgKind::Undefined path, which only emitted the
-Wnon-pod-varargs warning and let compilation proceed into CodeGen.
There, emitBuiltinOSLogFormat passes the argument expression to
EmitScalarExpr, which requires a scalar type. A non-trivial class
argument is not a scalar, so CodeGen crashes (asserting in
hasScalarEvaluationKind in assertions builds).
Emit the hard error err_format_conversion_argument_type_mismatch on the
Undefined path too, so compilation stops before CodeGen.
rdar://174747930
Commit: f561d59856c1a2a1f7adb9604d47e9e1e940c7a0
https://github.com/llvm/llvm-project/commit/f561d59856c1a2a1f7adb9604d47e9e1e940c7a0
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/test/API/lang/objc/objc-po-hint/TestObjcPoHint.py
Log Message:
-----------
[LLDB] Simplify the hint when po-ing an object with no object descrip… (#200499)
…tion
The current wording of the hint is so long that the output obscures the
output of the command, which can be confusing. By shortening the message
the command output hopefully comes back into the center of attention.
Commit: 1dd08114eb3b6a245ea478a6f96746085c07c30b
https://github.com/llvm/llvm-project/commit/1dd08114eb3b6a245ea478a6f96746085c07c30b
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
A llvm/test/CodeGen/RISCV/zilsd-csr-duplicate.mir
Log Message:
-----------
[RISCV] Do not append duplicate Zilsd GPRPair CSR (#200463)
`determineCalleeSaves` can run more than once and as a result we were
appending duplicate `Zilsd GPRPair CSR's`. Skip a pair if it is already
present in the CSR set.
Commit: 522ac7582ddad5296c1a2e72b98f4a396dac507d
https://github.com/llvm/llvm-project/commit/522ac7582ddad5296c1a2e72b98f4a396dac507d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
A llvm/test/tools/dsymutil/X86/bundle-mtime.test
M llvm/tools/dsymutil/dsymutil.cpp
Log Message:
-----------
[dsymutil] Bump .dSYM bundle directory mtime after a rewrite (#199257)
When dsymutil rewrites an existing .dSYM bundle, only the inner DWARF
file is replaced and the bundle directory's mtime stays frozen at the
time of the original build.
macOS Spotlight's bundle re-import path keys off the bundle directory's
mtime to decide whether the importer should re-run. With the mtime
frozen, Spotlight keeps the previous build's UUID indexed forever,
DebugSymbols.framework's Spotlight lookup misses on the new UUID.
Bump the bundle directory's mtime explicitly at the end of a successful
run, reusing the .dSYM extraction already used by the codesign path.
rdar://177725866
Commit: 0c94404f2135d3e6f34388d8118ddb64d27f3c02
https://github.com/llvm/llvm-project/commit/0c94404f2135d3e6f34388d8118ddb64d27f3c02
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
A clang/test/AST/ByteCode/blocks.cpp
Log Message:
-----------
[clang][bytecode] Reject bitcasts of objc block pointers (#200397)
They are unsupported and will hopefully always be.
Commit: 524734d88b3cdd874f00853ea6309e70bbb1cd4e
https://github.com/llvm/llvm-project/commit/524734d88b3cdd874f00853ea6309e70bbb1cd4e
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M lldb/test/API/assert_messages_test/TestAssertMessages.py
M lldb/test/API/lang/objc/objc-optimized/TestObjcOptimized.py
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
Log Message:
-----------
[lldb/test] Trim @expectedFailureAll(remote=True) decorators (#200529)
These three tests pass when run against a remote-darwin platform backed
by lldb-platform on device. Update each decorator to reflect where it's
still expected to fail rather than blanket-XFAILing every remote run.
- `TestAssertMessages.test_createTestTarget`: was XFAIL on
oslist=no_match(["linux"]) + remote=True. Add darwin_all to the no_match
list so the XFAIL stays only on remote-windows / remote-freebsd /
remote-netbsd / remote-android.
- `TestDebuggerAPI.test_CreateTarget_platform`: scope to non-Darwin
remotes (bug llvm/llvm-project#92419 still tracks the underlying issue
on those platforms).
- `TestObjcOptimized`: drop @expectedFailureAll(remote=True) from the
test method and put @skipUnlessDarwin on the class. The Makefile depends
on `-framework Foundation` and `-lobjc`, so the test cannot build on
non-Darwin platforms — skip it there outright instead of pretending it
could XFAIL.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 08d281fe7a907089789be2c6ca6577cf3aac5629
https://github.com/llvm/llvm-project/commit/08d281fe7a907089789be2c6ca6577cf3aac5629
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/CMakeLists.txt
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Config/config.h.cmake
M clang/lib/Basic/LangOptions.cpp
Log Message:
-----------
[clang] Add CLANG_USE_EXPERIMENTAL_CONST_INTERP cmake option (#199396)
To enable the new constant interpreter by default at configure time.
I don't expect any distributions to set this for now but it's useful for
testing and I think we need it eventually.
Commit: d38b5b3b990d8f8e3782ed0ea7e0499dd168d9e6
https://github.com/llvm/llvm-project/commit/d38b5b3b990d8f8e3782ed0ea7e0499dd168d9e6
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/lit/lit/ShellEnvironment.py
M llvm/utils/lit/lit/builtin_commands/diff.py
Log Message:
-----------
[lit] Add __slots__ to hot shell-execution objects (#199668)
`ShellCommand`, `ShellEnvironment` and `DiffFlags` classes are
instantiated per commad / per diff. `__slots__` drops the per-instance
`__dict__`, lowering memory and speeding attribute access. (`__slots__`
not `@dataclass(slots=True)` to keep Python 3.8 support.)
**Baseline:**
| Stage | Metric (Runtime / Peak RSS) |
| :--- | :--- |
| **CodeGen-X86** | 99.310s / 51872 kB |
| **llvm-transforms** | 51.457s / 66928 kB |
**Changes made here:**
| Stage | Metric (Runtime / Peak RSS) |
| :--- | :--- |
| **CodeGen-X86** | 98.708s / 51872 kB |
| **llvm-transforms** | 51.496s / 66824 kB |
This PR is part of the "GSoC 2026: Improving lit" project.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: 4672169040454c255dabf8023d553823833f6236
https://github.com/llvm/llvm-project/commit/4672169040454c255dabf8023d553823833f6236
Author: maxbartel <bartel at roofline.ai>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M utils/bazel/third_party_build/nanobind.BUILD
Log Message:
-----------
[Bazel] Add inl files to nanobind textual headers (#200516)
When using this overlay to build some bindings I noticed that
counter.inl was not available in the sandbox and the build failed. This
line adds it to the sandbox.
Commit: 3c193d4d88c8c05157b61da3f3cf925eef8d6c5d
https://github.com/llvm/llvm-project/commit/3c193d4d88c8c05157b61da3f3cf925eef8d6c5d
Author: Ayush Sahay <asahay at qti.qualcomm.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
Log Message:
-----------
[lldb][Windows] Cache thread context in NativeRegisterContextWindows_arm64 (#197385)
Cache thread context in _NativeRegisterContextWindows_arm64_ to improve
read performance. Previously, the thread context was retrieved for every
read or write operation.
This change intends to lay the groundwork for provisioning debug support
for SVE on WoA.
Assisted-by: Claude Sonnet 4.6
Commit: 9b03d3f319689c936937ba442d0fe5af69d26965
https://github.com/llvm/llvm-project/commit/9b03d3f319689c936937ba442d0fe5af69d26965
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
Log Message:
-----------
[CIR][CodeGen] Replace errorNYI with assert for address space in emitAutoVarAlloca (#197506)
Auto variables can only be in the default address space, or
opencl_private when compiling OpenCL. Replace the errorNYI with an
assert matching OG codegen (CGDecl.cpp).
Fixes part of #160386
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 799b8669e57a5981477d1afc462efd79aff1c4c1
https://github.com/llvm/llvm-project/commit/799b8669e57a5981477d1afc462efd79aff1c4c1
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Log Message:
-----------
[SelectionDAG] Remove redundant asserts in WidenVecRes_ATOMIC_LOAD (#200159)
These asserts duplicate guarantees already provided elsewhere:
- `isVector()` checks are redundant because `findMemType()` calls
`WidenVT.getVectorElementType()` and `WidenVT.isScalableVector()`
internally, and `WidenVecRes_ATOMIC_LOAD` is only reached from the
`ATOMIC_LOAD` case in `WidenVectorResult`, which is the vector path.
- The element-type and scalability consistency between `LdVT` and
`WidenVT` is a property of `GetWidenedVector` / `getTypeToTransformTo`.
Follow-up to feedback on #197618.
Commit: 666a8cf6ebb7b1cf502b5963c81c0ea3e19e21b1
https://github.com/llvm/llvm-project/commit/666a8cf6ebb7b1cf502b5963c81c0ea3e19e21b1
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/program-parsers.cpp
A flang/test/Parser/compiler-directive-in-interface.f90
Log Message:
-----------
[Flang][Parser] Handle compiler directives inside INTERFACE blocks (#198516)
Unrecognized !DIR$ directives between interface specifications currently
cause cascading parse errors because the grammar for
InterfaceSpecification has no path to consume them. This patch adds
CompilerDirective as a valid alternative — matching how
InternalSubprogram and ModuleSubprogram already handle this — so that
unrecognized directives produce the expected warning instead of a fatal
parse failure.
Fixes :
[https://github.com/llvm/llvm-project/issues/198289](https://github.com/llvm/llvm-project/issues/198289)
---------
Co-authored-by: Chandra Ghale <ghale at pe34genoa.hpc.amslabs.hpecorp.net>
Commit: 9d0ce81b649ffaf029e32d11680d340d7759c0ae
https://github.com/llvm/llvm-project/commit/9d0ce81b649ffaf029e32d11680d340d7759c0ae
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
A flang/test/Semantics/OpenMP/linear-clause-array-section.f90
Log Message:
-----------
[Flang][OpenMP] Reject array sections and subobjects in LINEAR clause (#197430)
Array sections like a(:,1,1) and array elements like a(1) in a LINEAR
clause cause a crash during MLIR-to-LLVM IR translation because the
semantic checker doesn't catch them.
This adds a call to CheckVarIsNotPartOfAnotherVar for the LINEAR clause,
which is the same check used by PRIVATE and FIRSTPRIVATE to reject
subobject designators.
Fixes :
[https://github.com/llvm/llvm-project/issues/196068](https://github.com/llvm/llvm-project/issues/196068)
Co-authored-by: Chandra Ghale <ghale at pe34genoa.hpc.amslabs.hpecorp.net>
Commit: 9e3c18494dfd32f85997868c7244a7ed472506d9
https://github.com/llvm/llvm-project/commit/9e3c18494dfd32f85997868c7244a7ed472506d9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
Log Message:
-----------
Revert "[X86] matchBinaryPermuteShuffle - match to X86ISD::SHLD funnel shift patterns" (#200546)
Reverts llvm/llvm-project#200136 while I investigate a miscompilation report
Commit: 093c76a9b101e4ed14854daad66223463d86d2ba
https://github.com/llvm/llvm-project/commit/093c76a9b101e4ed14854daad66223463d86d2ba
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/CodeGen/X86/atomic-mmo-align.ll
Log Message:
-----------
[SelectionDAG] Preserve IR alignment on atomicrmw/cmpxchg MMOs (#200332)
Previously SelectionDAG used the natural alignment of the value type,
even if the instruction specified a different alignment.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: c22f5665a9d631742a58e87b80b15359f65b3a66
https://github.com/llvm/llvm-project/commit/c22f5665a9d631742a58e87b80b15359f65b3a66
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/LICM/hoist-add-sub.ll
Log Message:
-----------
[LICM] Drop poison-generating flags when reassociating an icmp (#200344)
`hoistAdd`/`hoistSub` turn `LV + C1 <pred> C2` into `LV <pred> C2 - C1`,
changing the icmp's LHS. A `samesign` flag asserted about the old
operands need not hold for the new LHS, so keeping it can turn a defined
comparison into poison (e.g. for `%iv = -3`, `samesign slt(2, 100)` is
true but the reassociated `samesign slt(-3, 95)` has
opposite-sign operands → poison). Drop the icmp's poison-generating
flags after the rewrite, as `hoistMulAddAssociation` already does.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: c7614cd5507091768084f36106fa9a37f2503715
https://github.com/llvm/llvm-project/commit/c7614cd5507091768084f36106fa9a37f2503715
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/test/Transforms/MergeICmps/X86/pair-int32-int32.ll
Log Message:
-----------
[MergeICmps] Don't merge comparisons whose width isn't a byte multiple (#200346)
MergeICmps looks for cases like
struct S { char x; char y; }
A.x == B.x && A.y == B.y
If `x` and `y` are stored adjacent to one another, we can convert the
above into a memcmp, which can then be converted into a single 16-bit
compare.
This pass currently does the wrong thing if the struct members' sizes
are not multiples of 8 bits. To fix this, we simply bail if the elements
in question are not multiples of one byte.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 3c4bc6c9f7b535275a2344a78c94b8b7eb10b433
https://github.com/llvm/llvm-project/commit/3c4bc6c9f7b535275a2344a78c94b8b7eb10b433
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Handle "trunc nuw to i1" as "icmp ne,0" in foldSelectValueEquivalence (#198131)
proof: https://alive2.llvm.org/ce/z/MGhWgE
Commit: 02af47b6053dff5d9b81a04b4a55e747a31c5ff0
https://github.com/llvm/llvm-project/commit/02af47b6053dff5d9b81a04b4a55e747a31c5ff0
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/test/Driver/freebsd.c
Log Message:
-----------
[Clang][test] Fix leading slash (#200549)
A reviewer in #200012 required checking for a leading (back-)slash to
the test despite none of the other tests doing so. Turns out, the slash
isn't there if the driver is unable to resolve the full path to the
linker. Remove the leading slash from the test.
Fixes reported buildbot failures:
* clang-solaris11-sparcv9
* clang-solaris11-amd64
Commit: fdfb99f6336401e534f611c4b2df5a338e26b997
https://github.com/llvm/llvm-project/commit/fdfb99f6336401e534f611c4b2df5a338e26b997
Author: Xavier Roche <xavier.roche at algolia.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M libcxx/include/__bit/byteswap.h
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/numerics/bit/byteswap.pass.cpp
A libcxx/test/std/numerics/bit/byteswap.verify.cpp
Log Message:
-----------
[libc++] std::byteswap support for _BitInt(N) (#196512)
Add a byte-reversal loop fallback for `std::byteswap` when `sizeof(T) >
16`,
so the function works for `_BitInt(N)` with `N > 128` and any future
wider
integer type. Without it, those calls hit `static_assert(sizeof(_Tp) ==
0)`
and fail to compile.
Reject `_BitInt(N)` where `N` is not a multiple of `CHAR_BIT`. The
existing
`__builtin_bswap{16,32,64,128}` paths swap the storage representation
including padding bits, and the resulting value's meaning is
unspecified.
A new `static_assert` catches that case and reports it. Size-1 types are
exempt from the check, since no bytes move there.
Part of the [_BitInt(N) libc++
effort](https://discourse.llvm.org/t/bitint-n-support-in-libc-investigations-possible-improvements-looking-for-guidance/90063).
Assisted-by: Claude (Anthropic)
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: e3f80fe493c1e7d4701d6c08a57f106f99d15380
https://github.com/llvm/llvm-project/commit/e3f80fe493c1e7d4701d6c08a57f106f99d15380
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-fpclassify-spirv.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Convert math.clampf to spirv.GLFClamp and math.ctpop to spirv.BitCount (#200454)
Commit: f15904ec71a8ac092aaca29bddb5f419f2919b6b
https://github.com/llvm/llvm-project/commit/f15904ec71a8ac092aaca29bddb5f419f2919b6b
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M offload/include/Shared/APITypes.h
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/KernelLanguage/API.cpp
M offload/libomptarget/omptarget.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
A offload/test/offloading/ompx_bare_gridsize.c
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/gridsize.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[offload][OpenMP] Add strict flag for blocks and threads in kernel arguments (#199483)
Until now, strict behavior in the number of threads and blocks has been
applied only when the kernel is in bare mode. When this mode is enabled,
the values passed in UserNumBlocks and UserThreadLimit are not adjusted
and are the definitive values used to launch the kernel. This commit
detaches the strictness from the kernel mode.
This is going to be used by the kernel replay tool. Additionally, it
starts clearing the path for the upcoming OpenMP dims modifier, used to
configure multidimensional teams and leagues, which will include
strictness choices for teams and threads.
All the bare kernels must indicate strict behavior. Asserts are added to
check this condition.
Commit: 80ad13af63ef25d4e62adce6e3362f659b5c521f
https://github.com/llvm/llvm-project/commit/80ad13af63ef25d4e62adce6e3362f659b5c521f
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
[bazel] Fix compiler-rt:interception (#200561)
- Add `-DCOMPILER_RT_BUILD_PROFILE_ROCM=1`
- Prune `"lib/sanitizer_common/*.S"`, it means `*.inc.S`
- Add `-fvisibility=hidden`
Bazel doesn't add `-gline-tables-only` by default. Add flags to CMake
side to align the build to Bazel.
- `-DCOMPILER_RT_HAS_G_FLAG=OFF`
- `-DCOMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG=OFF`
Commit: a59f9951f3e197127fb13d729ad4c52168f29432
https://github.com/llvm/llvm-project/commit/a59f9951f3e197127fb13d729ad4c52168f29432
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/recalc-copyable-node.ll
Log Message:
-----------
[SLP] Recompute copyable operand deps for duplicate copyable nodes
A bundle may duplicate a previously built node that has copyable elements
(same schedulable instructions, different copyable lane) while the parent
node also has copyable elements. An operand modeled as a copyable element
in the previous node is then used directly by the new node, which is not
registered in the tree yet. Recomputing that operand's direct
dependencies at this point misses the direct use, so the scheduler
decrements the operand more times than its dependency count and trips the
unscheduled-deps assertion.
Defer recomputation of such operand dependencies via
RecalcCopyableOperandDeps and redo it at the next bundle scheduling, when
the duplicate node is part of the tree. Also clear and recompute the
direct dependencies of bundles whose user is a gather node referenced
through EdgeIdx == UINT_MAX in scheduleBlock, so combined gather
sub-entries get correct dependencies against the full tree.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/200564
Commit: 3467e7f9eb16b687bf79fe96b33a243542c9d701
https://github.com/llvm/llvm-project/commit/3467e7f9eb16b687bf79fe96b33a243542c9d701
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-inner-loop-scale.ll
Log Message:
-----------
[SLP] Fix extract-cost scale for LCSSA-phi external users in nested loops
getScaleToLoopIterations() used U->getParent() for all PHI-node external
users. For an LCSSA phi at an inner-loop exit still inside an outer loop,
this gave outer-loop scale instead of inner*outer scale. Because
ExtractCostCalculated deduplicates by scalar, only the first ExternalUser
determines the scale, making the cost order-dependent on use-list ordering
(and thus on .ll block ordering).
Reviewers: hiraditya, RKSimon, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/199954
Commit: d9cbed5d47d9f44a2729d2be3a9d8c91346fd5e8
https://github.com/llvm/llvm-project/commit/d9cbed5d47d9f44a2729d2be3a9d8c91346fd5e8
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M mlir/test/Dialect/LLVMIR/attach-targets.mlir
Log Message:
-----------
[MLIR][GPU][NFC] Reformat GPU target attachment tests (#199339)
Reformat attach-targets.mlir so each GPU module has a labeled check
block, split target-attachment RUN lines, and keep comments tied to the
expected target-specific matches.
Commit: 86261f9731298c92955bb7d6763e0a48c1f7d661
https://github.com/llvm/llvm-project/commit/86261f9731298c92955bb7d6763e0a48c1f7d661
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M .ci/green-dragon/lldb-windows.groovy
M .github/actions/push-container/action.yml
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/hlsl-test-all.yaml
M .github/workflows/issue-write.yml
M .github/workflows/premerge.yaml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M .github/workflows/upload-release-artifact/action.yml
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/test/type-hierarchy-ext.test
M clang-tools-extra/clangd/test/type-hierarchy.test
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang/CMakeLists.txt
M clang/docs/ClangSYCLLinker.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/developer-docs/IPA.rst
M clang/docs/ghlinks.py
M clang/include/clang/AST/Comment.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Analysis/AnalysisDeclContext.h
M clang/include/clang/Analysis/PathDiagnostic.h
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAArch64.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Types.def
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/StaticAnalyzer/Checkers/Taint.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/Comment.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ProgramPoint.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ModulesDriver.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/Flang.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/arm64intr.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
M clang/lib/StaticAnalyzer/Checkers/Iterator.h
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.cpp
M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
M clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnconditionalVAArgChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/Environment.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
M clang/lib/StaticAnalyzer/Core/LoopWidening.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
R clang/lib/StaticAnalyzer/Core/PrettyStackTraceLocationContext.h
A clang/lib/StaticAnalyzer/Core/PrettyStackTraceStackFrame.h
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/lib/StaticAnalyzer/Core/WorkList.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
A clang/test/AST/ByteCode/blocks.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
A clang/test/CIR/CodeGen/coro-exceptions.cpp
M clang/test/CIR/CodeGen/ctor-null-init.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/static-members.cpp
M clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/vbase.cpp
A clang/test/CIR/CodeGen/vector-binop-overflow.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGen/vtable-emission.cpp
M clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp
M clang/test/CIR/CodeGen/vtt.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-sync_synchronize.c
M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
A clang/test/CIR/CodeGenHIP/device-var-registration.hip
A clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
A clang/test/CIR/Transforms/abi-lowering/extend-after-ignore.cir
A clang/test/CIR/Transforms/abi-lowering/extend-return.cir
A clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
A clang/test/CIR/Transforms/abi-lowering/extend-unsigned-arg.cir
A clang/test/CXX/expr/expr.prim/expr.prim.this/p4.cpp
M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
A clang/test/CodeGen/SystemZ/stack-guard-global-option.c
R clang/test/CodeGen/amdgpu-abi-struct-coerce.c
M clang/test/CodeGen/amdgpu-variadic-call.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/construction-vtable-visibility.cpp
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/push-hidden-visibility-subclass.cpp
M clang/test/CodeGen/split-lto-unit-input.cpp
M clang/test/CodeGen/stack-clash-protection.c
A clang/test/CodeGen/wrapv.c
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/PR26569.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllexport.cpp
M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllimport.cpp
M clang/test/CodeGenCXX/cfi-cross-dso.cpp
M clang/test/CodeGenCXX/ctor-dtor-alias.cpp
M clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dllimport-rtti.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/dso-local-executable.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/internal-linkage.cpp
M clang/test/CodeGenCXX/key-function-vtable.cpp
M clang/test/CodeGenCXX/mangle-ms-md5.cpp
M clang/test/CodeGenCXX/mangle-subst-std.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.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/microsoft-interface.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/modules-vtable.cppm
M clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
M clang/test/CodeGenCXX/ms-thunks-unprototyped.cpp
M clang/test/CodeGenCXX/pr70585.cppm
M clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
M clang/test/CodeGenCXX/template-instantiation.cpp
M clang/test/CodeGenCXX/type-metadata.cpp
M clang/test/CodeGenCXX/type_visibility.cpp
M clang/test/CodeGenCXX/vcall-visibility-metadata.cpp
M clang/test/CodeGenCXX/virt-template-vtable.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenCXX/vtable-align-address-space.cpp
M clang/test/CodeGenCXX/vtable-align.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load.cpp
M clang/test/CodeGenCXX/vtable-available-externally.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/CodeGenCXX/vtable-constexpr-address-space.cpp
M clang/test/CodeGenCXX/vtable-constexpr.cpp
M clang/test/CodeGenCXX/vtable-key-function-address-space.cpp
M clang/test/CodeGenCXX/vtable-key-function-arm.cpp
M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
M clang/test/CodeGenCXX/vtable-key-function-win-comdat.cpp
M clang/test/CodeGenCXX/vtable-key-function.cpp
M clang/test/CodeGenCXX/vtable-linkage-address-space.cpp
M clang/test/CodeGenCXX/vtable-linkage.cpp
M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
M clang/test/CodeGenCXX/vtt-layout.cpp
M clang/test/CodeGenCXX/windows-itanium-type-info.cpp
A clang/test/CodeGenHLSL/builtins/splitdouble_mat.hlsl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
R clang/test/Driver/Inputs/SYCL/bar.ll
R clang/test/Driver/Inputs/SYCL/baz.ll
R clang/test/Driver/Inputs/SYCL/foo.ll
R clang/test/Driver/Inputs/SYCL/libLLVMSYCL.ll
M clang/test/Driver/clang_wrapv_opts.c
A clang/test/Driver/dxc_section_emission.hlsl
M clang/test/Driver/freebsd.c
R clang/test/Driver/link-device-code.test
M clang/test/Driver/modules-driver-dep-graph-stdlib-modules.cpp
M clang/test/Driver/modules-driver-import-std.cpp
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/stack-protector-guard.c
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/Driver/sycl-offload-jit-unix.cpp
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/sycl-windows.cpp
M clang/test/Headers/amdgcn-openmp-device-math-complex.c
M clang/test/Headers/hip-header.hip
M clang/test/Modules/vtable-windows.cppm
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
A clang/test/OffloadTools/clang-sycl-linker/link.ll
A clang/test/OffloadTools/clang-sycl-linker/options.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_vtable_codegen_explicit.cpp
A clang/test/Sema/gh170072.c
M clang/test/Sema/warn-documentation.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
M clang/test/Sema/warn-lifetime-safety-dangling-global.cpp
M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-macro.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/init-priority-attr.cpp
A clang/test/SemaCXX/os_log.cpp
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint_mat-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
A clang/test/SemaHLSL/Language/ConstexprVectorCasts.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/VectorCastConstantExpr.hlsl
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
M clang/unittests/DependencyScanning/DependencyScanningFilesystemTest.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
M clang/unittests/StaticAnalyzer/ParamRegionTest.cpp
M clang/unittests/StaticAnalyzer/StoreTest.cpp
M clang/unittests/StaticAnalyzer/SymbolReaperTest.cpp
M clang/unittests/StaticAnalyzer/UnsignedStatDemo.cpp
M clang/www/analyzer/checker_dev_manual.html
M clang/www/c_status.html
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/docs/BuildingCompilerRT.rst
M compiler-rt/include/sanitizer/tysan_interface.h
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/arm/fixdfdi.S
A compiler-rt/lib/builtins/arm/fixdfsi.S
A compiler-rt/lib/builtins/arm/fixsfdi.S
A compiler-rt/lib/builtins/arm/fixsfsi.S
A compiler-rt/lib/builtins/arm/fixunsdfdi.S
A compiler-rt/lib/builtins/arm/fixunsdfsi.S
A compiler-rt/lib/builtins/arm/fixunssfdi.S
A compiler-rt/lib/builtins/arm/fixunssfsi.S
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
A compiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_alpha.inc
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/memtag.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
A compiler-rt/lib/scudo/standalone/tests/error_info_test.cpp
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.cpp
M compiler-rt/lib/tysan/tysan.cpp
M compiler-rt/lib/tysan/tysan.h
M compiler-rt/lib/tysan/tysan_interceptors.cpp
M compiler-rt/test/CMakeLists.txt
A compiler-rt/test/builtins/Unit/fixdfdinew_test.c
A compiler-rt/test/builtins/Unit/fixdfsinew_test.c
A compiler-rt/test/builtins/Unit/fixsfdinew_test.c
A compiler-rt/test/builtins/Unit/fixsfsinew_test.c
A compiler-rt/test/builtins/Unit/fixunsdfdinew_test.c
A compiler-rt/test/builtins/Unit/fixunsdfsinew_test.c
A compiler-rt/test/builtins/Unit/fixunssfdinew_test.c
A compiler-rt/test/builtins/Unit/fixunssfsinew_test.c
A compiler-rt/test/tysan/set_type_unknown-interface.c
M compiler-rt/test/ubsan/TestCases/Integer/shift.cpp
M compiler-rt/test/ubsan/TestCases/Misc/abs.cpp
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/FlangRTIntrospection.cmake
M flang-rt/lib/CMakeLists.txt
M flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/__cuda_builtins.f90
A flang-rt/lib/runtime/__cuda_device.f90
A flang-rt/lib/runtime/__fortran_builtins.f90
A flang-rt/lib/runtime/__fortran_ieee_exceptions.f90
A flang-rt/lib/runtime/__fortran_type_info.f90
A flang-rt/lib/runtime/__ppc_intrinsics.f90
A flang-rt/lib/runtime/__ppc_types.f90
A flang-rt/lib/runtime/cooperative_groups.f90
A flang-rt/lib/runtime/cuda_runtime_api.f90
A flang-rt/lib/runtime/cudadevice.f90
A flang-rt/lib/runtime/flang_debug.f90
A flang-rt/lib/runtime/ieee_arithmetic.f90
A flang-rt/lib/runtime/ieee_exceptions.f90
A flang-rt/lib/runtime/ieee_features.f90
A flang-rt/lib/runtime/iso_c_binding.f90
A flang-rt/lib/runtime/iso_fortran_env.f90
M flang-rt/lib/runtime/iso_fortran_env_impl.cpp
A flang-rt/lib/runtime/iso_fortran_env_impl.f90
A flang-rt/lib/runtime/mma.f90
M flang-rt/test/CMakeLists.txt
M flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
M flang-rt/test/Driver/iso_fortran_env_impl.f90
M flang-rt/test/lit.cfg.py
M flang-rt/test/lit.site.cfg.py.in
M flang/CMakeLists.txt
M flang/docs/Extensions.md
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/MultiImageFortran.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.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/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
R flang/module/.clang-format
R flang/module/__cuda_builtins.f90
R flang/module/__cuda_device.f90
R flang/module/__fortran_builtins.f90
R flang/module/__fortran_ieee_exceptions.f90
R flang/module/__fortran_type_info.f90
R flang/module/__ppc_intrinsics.f90
R flang/module/__ppc_types.f90
R flang/module/cooperative_groups.f90
R flang/module/cuda_runtime_api.f90
R flang/module/cudadevice.f90
R flang/module/flang_debug.f90
R flang/module/ieee_arithmetic.f90
R flang/module/ieee_exceptions.f90
R flang/module/ieee_features.f90
R flang/module/iso_c_binding.f90
R flang/module/iso_fortran_env.f90
R flang/module/iso_fortran_env_impl.f90
R flang/module/mma.f90
M flang/test/CMakeLists.txt
R flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/finclude/flang/x86_64-unknown-linux-gnu/.keep
M flang/test/Driver/intrinsic-module-path_per_target.f90
M flang/test/Driver/pp-fixed-form.f90
M flang/test/Fir/array-coor-canonicalization.fir
A flang/test/HLFIR/order_assignments/where-allocatable-base.f90
A flang/test/Integration/OpenMP/atomic-capture-release.f90
M flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/MIF/coarray_allocation.f90
A flang/test/Lower/OpenMP/Todo/ordered-depend.f90
A flang/test/Lower/OpenMP/atomic-mem-order-transform.f90
M flang/test/Lower/OpenMP/atomic-requires-conflict-v50-3.f90
M flang/test/Lower/OpenMP/atomic-requires-conflict-v50-4.f90
M flang/test/Lower/OpenMP/requires-admo-acqrel.f90
M flang/test/Lower/OpenMP/simd_aarch64.f90
M flang/test/Lower/OpenMP/target-enter-data-default-openmp52.f90
M flang/test/Lower/where-loc.f90
M flang/test/Parser/bug2280.f90
A flang/test/Parser/compiler-directive-in-interface.f90
M flang/test/Preprocessing/fixed-free.f
M flang/test/Preprocessing/no-pp-if.f90
A flang/test/Preprocessing/show-macros-stdin.f90
A flang/test/Semantics/OpenMP/atomic-mem-order.f90
M flang/test/Semantics/OpenMP/atomic01.f90
A flang/test/Semantics/OpenMP/declare-reduction-accessibility.f90
A flang/test/Semantics/OpenMP/declare-reduction-default-private.f90
A flang/test/Semantics/OpenMP/declare-reduction-modfile-private.f90
A flang/test/Semantics/OpenMP/declare-reduction-public-regression.f90
A flang/test/Semantics/OpenMP/declare-reduction-use-assoc-named.f90
A flang/test/Semantics/OpenMP/declare-reduction-use-assoc.f90
R flang/test/Semantics/OpenMP/detach-symbols.f90
A flang/test/Semantics/OpenMP/linear-clause-array-section.f90
M flang/test/Semantics/bug163242.f90
M flang/test/Semantics/bug164303.f90
M flang/test/Semantics/bug2021.f90
M flang/test/Transforms/FIRToMemRef/slice-projected.mlir
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/CMakeLists.txt
R flang/tools/f18/CMakeLists.txt
R flang/tools/f18/dump.cpp
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/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/wctype.yaml
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/src/__support/wctype/CMakeLists.txt
M libc/src/__support/wctype/perfect_hash_map.h
A libc/src/__support/wctype/wctype_conversion_utils.cpp
A libc/src/__support/wctype/wctype_conversion_utils.h
M libc/src/__support/wctype_utils.h
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoumax.cpp
M libc/src/stdlib/strtol.cpp
M libc/src/stdlib/strtol_l.cpp
M libc/src/stdlib/strtoll.cpp
M libc/src/stdlib/strtoll_l.cpp
M libc/src/stdlib/strtoul.cpp
M libc/src/stdlib/strtoul_l.cpp
M libc/src/stdlib/strtoull.cpp
M libc/src/stdlib/strtoull_l.cpp
M libc/src/wchar/wcstol.cpp
M libc/src/wchar/wcstoll.cpp
M libc/src/wchar/wcstoul.cpp
M libc/src/wchar/wcstoull.cpp
M libc/src/wctype/CMakeLists.txt
A libc/src/wctype/towlower.cpp
A libc/src/wctype/towlower.h
A libc/src/wctype/towupper.cpp
A libc/src/wctype/towupper.h
M libc/test/CMakeLists.txt
M libc/test/UnitTest/LibcTest.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
M libc/test/shared/CMakeLists.txt
M libc/test/src/__support/wctype/CMakeLists.txt
M libc/test/src/__support/wctype_utils_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/wchar/WcstolTest.h
M libc/test/src/wctype/CMakeLists.txt
M libc/test/src/wctype/iswprint_test.cpp
A libc/test/src/wctype/towlower_test.cpp
A libc/test/src/wctype/towupper_test.cpp
A libclc/clc/include/clc/internal/math/clc_runtime_has_hw_fma32.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/clc_fma.h
M libclc/clc/lib/generic/math/clc_fma.cl
M libclc/clc/lib/spirv/CMakeLists.txt
A libclc/clc/lib/spirv/math/clc_fma.cl
A libclc/clc/lib/spirv/math/clc_fma.inc
A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
A libclc/clc/lib/spirv/math/clc_sw_fma.cl
M libclc/clc/lib/spirv/vulkan/CMakeLists.txt
R libclc/clc/lib/spirv/vulkan/math/clc_sw_fma.cl
M libclc/opencl/lib/generic/math/fma.cl
M libclc/opencl/lib/spirv/CMakeLists.txt
A libclc/opencl/lib/spirv/math/fma.cl
M libclc/test/math/cos.cl
M libcxx/include/__bit/byteswap.h
M libcxx/include/__configuration/namespace.h
M libcxx/include/__iterator/static_bounded_iter.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__tree
M libcxx/include/__type_traits/conditional.h
M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
M libcxx/test/benchmarks/containers/deque_iterator.bench.cpp
M libcxx/test/benchmarks/containers/sequence/vector_bool.bench.cpp
M libcxx/test/benchmarks/join_view.bench.cpp
M libcxx/test/benchmarks/streams/copy.bench.cpp
M libcxx/test/benchmarks/streams/ofstream.bench.cpp
A libcxx/test/libcxx/containers/sequences/array/nodiscard.iterator.verify.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
M libcxx/test/std/numerics/bit/byteswap.pass.cpp
A libcxx/test/std/numerics/bit/byteswap.verify.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/LinkerScript.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/linkerscript/end-overflow-check.test
A lld/test/ELF/linkerscript/memory-loc-counter-dot-addr.s
A lld/test/ELF/loongarch-tls-dtprel.s
M lldb/docs/resources/lldbgdbremote.md
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Host/FileBase.h
M lldb/include/lldb/Host/PseudoTerminal.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/include/lldb/Host/windows/FileWindows.h
A lldb/include/lldb/Host/windows/LazyImport.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
A lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
M lldb/include/lldb/Utility/GDBRemote.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Host/common/File.cpp
M lldb/source/Host/common/PseudoTerminal.cpp
M lldb/source/Host/windows/FileWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
A lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.cpp
A lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
M lldb/source/Symbol/Symbol.cpp
A lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/StringExtractorGDBRemote.cpp
A lldb/test/API/accelerator/mock/Makefile
A lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
A lldb/test/API/accelerator/mock/main.c
M lldb/test/API/assert_messages_test/TestAssertMessages.py
M lldb/test/API/commands/expression/expr_inside_lambda/TestExprInsideLambdas.py
M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
M lldb/test/API/commands/register/aarch64_dynamic_regset/main.c
M lldb/test/API/commands/register/aarch64_sve_registers/rw_access_static_config/main.c
M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
M lldb/test/API/lang/objc/objc-optimized/TestObjcOptimized.py
M lldb/test/API/lang/objc/objc-po-hint/TestObjcPoHint.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
A lldb/test/API/windows/thread/Makefile
A lldb/test/API/windows/thread/TestThreadName.py
A lldb/test/API/windows/thread/main.c
M lldb/test/CMakeLists.txt
A lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas-msvc.cpp
A lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-server/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.cpp
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
A lldb/tools/lldb-server/Plugins/CMakeLists.txt
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/utils/lldb-dotest/CMakeLists.txt
M lldb/utils/lldb-dotest/lldb-dotest.in
M llvm/Maintainers.md
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/SPIRVUsage.rst
M llvm/docs/TestingGuide.rst
M llvm/include/llvm-c/Remarks.h
M llvm/include/llvm-c/lto.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Analysis/AssumptionCache.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/CFGSCCPrinter.h
M llvm/include/llvm/Analysis/CmpInstAnalysis.h
M llvm/include/llvm/Analysis/CostModel.h
M llvm/include/llvm/Analysis/CycleAnalysis.h
M llvm/include/llvm/Analysis/DDGPrinter.h
M llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
M llvm/include/llvm/Analysis/Delinearization.h
M llvm/include/llvm/Analysis/DomConditionCache.h
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/GuardUtils.h
M llvm/include/llvm/Analysis/HashRecognize.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/IVUsers.h
M llvm/include/llvm/Analysis/IndirectCallPromotionAnalysis.h
M llvm/include/llvm/Analysis/InstCount.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/KernelInfo.h
M llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h
M llvm/include/llvm/Analysis/LazyBranchProbabilityInfo.h
M llvm/include/llvm/Analysis/LazyValueInfo.h
M llvm/include/llvm/Analysis/Lint.h
M llvm/include/llvm/Analysis/LoopCacheAnalysis.h
M llvm/include/llvm/Analysis/LoopIterator.h
M llvm/include/llvm/Analysis/MLInlineAdvisor.h
M llvm/include/llvm/Analysis/MemDerefPrinter.h
M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
M llvm/include/llvm/Analysis/ModuleDebugInfoPrinter.h
M llvm/include/llvm/Analysis/ObjCARCAliasAnalysis.h
M llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
M llvm/include/llvm/Analysis/ObjCARCInstKind.h
M llvm/include/llvm/Analysis/OverflowInstAnalysis.h
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/Analysis/RegionInfo.h
M llvm/include/llvm/Analysis/ReplayInlineAdvisor.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ScalarEvolutionDivision.h
M llvm/include/llvm/Analysis/StackLifetime.h
M llvm/include/llvm/Analysis/StackSafetyAnalysis.h
M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/Analysis/StructuralHash.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/Trace.h
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/include/llvm/Analysis/UniformityAnalysis.h
M llvm/include/llvm/Analysis/ValueLatticeUtils.h
M llvm/include/llvm/CMakeLists.txt
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/include/llvm/CodeGen/AntiDepBreaker.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/AsmPrinterAnalysis.h
M llvm/include/llvm/CodeGen/AssignmentTrackingAnalysis.h
M llvm/include/llvm/CodeGen/AtomicExpand.h
M llvm/include/llvm/CodeGen/BasicBlockMatchingAndInference.h
M llvm/include/llvm/CodeGen/BasicBlockSectionUtils.h
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/BranchFoldingPass.h
M llvm/include/llvm/CodeGen/BranchRelaxation.h
M llvm/include/llvm/CodeGen/CFIFixup.h
M llvm/include/llvm/CodeGen/CalcSpillWeights.h
M llvm/include/llvm/CodeGen/CodeGenCommonISel.h
M llvm/include/llvm/CodeGen/CodeGenPrepare.h
M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
M llvm/include/llvm/CodeGen/DFAPacketizer.h
M llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h
M llvm/include/llvm/CodeGen/DeadMachineInstructionElim.h
M llvm/include/llvm/CodeGen/DebugHandlerBase.h
M llvm/include/llvm/CodeGen/DetectDeadLanes.h
M llvm/include/llvm/CodeGen/DwarfEHPrepare.h
M llvm/include/llvm/CodeGen/EarlyIfConversion.h
M llvm/include/llvm/CodeGen/EdgeBundles.h
M llvm/include/llvm/CodeGen/ExecutionDomainFix.h
M llvm/include/llvm/CodeGen/ExpandIRInsts.h
M llvm/include/llvm/CodeGen/ExpandPostRAPseudos.h
M llvm/include/llvm/CodeGen/ExpandReductions.h
M llvm/include/llvm/CodeGen/ExpandVectorPredication.h
M llvm/include/llvm/CodeGen/FEntryInserter.h
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/include/llvm/CodeGen/FaultMaps.h
M llvm/include/llvm/CodeGen/FinalizeISel.h
M llvm/include/llvm/CodeGen/FixupStatepointCallerSaved.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/GCEmptyBasicBlocks.h
M llvm/include/llvm/CodeGen/GCMetadataPrinter.h
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
M llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
M llvm/include/llvm/CodeGen/GlobalMerge.h
M llvm/include/llvm/CodeGen/GlobalMergeFunctions.h
M llvm/include/llvm/CodeGen/HardwareLoops.h
M llvm/include/llvm/CodeGen/IndirectBrExpand.h
M llvm/include/llvm/CodeGen/InitUndef.h
M llvm/include/llvm/CodeGen/InlineAsmPrepare.h
M llvm/include/llvm/CodeGen/InsertCodePrefetch.h
M llvm/include/llvm/CodeGen/InterleavedAccess.h
M llvm/include/llvm/CodeGen/InterleavedLoadCombine.h
M llvm/include/llvm/CodeGen/IntrinsicLowering.h
M llvm/include/llvm/CodeGen/JMCInstrumenter.h
M llvm/include/llvm/CodeGen/KCFI.h
M llvm/include/llvm/CodeGen/LatencyPriorityQueue.h
M llvm/include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h
M llvm/include/llvm/CodeGen/LexicalScopes.h
M llvm/include/llvm/CodeGen/LibcallLoweringInfo.h
M llvm/include/llvm/CodeGen/LiveDebugValuesPass.h
M llvm/include/llvm/CodeGen/LiveDebugVariables.h
M llvm/include/llvm/CodeGen/LiveIntervalUnion.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/LiveRangeEdit.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/CodeGen/LiveStacks.h
M llvm/include/llvm/CodeGen/LocalStackSlotAllocation.h
M llvm/include/llvm/CodeGen/LoopTraversal.h
M llvm/include/llvm/CodeGen/LowerEmuTLS.h
M llvm/include/llvm/CodeGen/MBFIWrapper.h
M llvm/include/llvm/CodeGen/MIR2Vec.h
M llvm/include/llvm/CodeGen/MIRFSDiscriminator.h
M llvm/include/llvm/CodeGen/MIRFSDiscriminatorOptions.h
M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
M llvm/include/llvm/CodeGen/MIRSampleProfile.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineBlockHashInfo.h
M llvm/include/llvm/CodeGen/MachineBlockPlacement.h
M llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h
M llvm/include/llvm/CodeGen/MachineCSE.h
M llvm/include/llvm/CodeGen/MachineConstantPool.h
M llvm/include/llvm/CodeGen/MachineCopyPropagation.h
M llvm/include/llvm/CodeGen/MachineDominanceFrontier.h
M llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/MachineIDFSSAUpdater.h
M llvm/include/llvm/CodeGen/MachineLateInstrsCleanup.h
M llvm/include/llvm/CodeGen/MachineLoopUtils.h
M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/include/llvm/CodeGen/MachineRegionInfo.h
M llvm/include/llvm/CodeGen/MachineSSAUpdater.h
M llvm/include/llvm/CodeGen/MachineSink.h
M llvm/include/llvm/CodeGen/MachineTraceMetrics.h
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/CodeGen/MultiHazardRecognizer.h
M llvm/include/llvm/CodeGen/OptimizePHIs.h
M llvm/include/llvm/CodeGen/PEI.h
M llvm/include/llvm/CodeGen/PHIElimination.h
M llvm/include/llvm/CodeGen/PatchableFunction.h
M llvm/include/llvm/CodeGen/PeepholeOptimizer.h
M llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h
M llvm/include/llvm/CodeGen/PostRAMachineSink.h
M llvm/include/llvm/CodeGen/PostRASchedulerList.h
M llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h
M llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
M llvm/include/llvm/CodeGen/RDFGraph.h
M llvm/include/llvm/CodeGen/RDFLiveness.h
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/CodeGen/RegAllocGreedyPass.h
M llvm/include/llvm/CodeGen/RegAllocPBQP.h
M llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
M llvm/include/llvm/CodeGen/RegUsageInfoCollector.h
M llvm/include/llvm/CodeGen/RegUsageInfoPropagate.h
M llvm/include/llvm/CodeGen/RegisterBankInfo.h
M llvm/include/llvm/CodeGen/RegisterCoalescerPass.h
M llvm/include/llvm/CodeGen/RegisterScavenging.h
M llvm/include/llvm/CodeGen/RegisterUsageInfo.h
M llvm/include/llvm/CodeGen/Rematerializer.h
M llvm/include/llvm/CodeGen/RemoveLoadsIntoFakeUses.h
M llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h
M llvm/include/llvm/CodeGen/RenameIndependentSubregs.h
M llvm/include/llvm/CodeGen/ResourcePriorityQueue.h
M llvm/include/llvm/CodeGen/SDNodeInfo.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SafeStack.h
M llvm/include/llvm/CodeGen/SanitizerBinaryMetadata.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/include/llvm/CodeGen/ScheduleDFS.h
M llvm/include/llvm/CodeGen/ScheduleHazardRecognizer.h
M llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h
M llvm/include/llvm/CodeGen/SelectOptimize.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/ShadowStackGCLowering.h
M llvm/include/llvm/CodeGen/ShrinkWrap.h
M llvm/include/llvm/CodeGen/SjLjEHPrepare.h
M llvm/include/llvm/CodeGen/SpillPlacement.h
M llvm/include/llvm/CodeGen/Spiller.h
M llvm/include/llvm/CodeGen/StackColoring.h
M llvm/include/llvm/CodeGen/StackFrameLayoutAnalysisPass.h
M llvm/include/llvm/CodeGen/StackProtector.h
M llvm/include/llvm/CodeGen/StackSlotColoring.h
M llvm/include/llvm/CodeGen/SwiftErrorValueTracking.h
M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
M llvm/include/llvm/CodeGen/TailDuplicator.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TwoAddressInstructionPass.h
M llvm/include/llvm/CodeGen/TypePromotion.h
M llvm/include/llvm/CodeGen/UnreachableBlockElim.h
M llvm/include/llvm/CodeGen/VLIWMachineScheduler.h
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGen/WasmEHPrepare.h
M llvm/include/llvm/CodeGen/WinEHFuncInfo.h
M llvm/include/llvm/CodeGen/WinEHPrepare.h
M llvm/include/llvm/CodeGen/WindowScheduler.h
M llvm/include/llvm/CodeGen/XRayInstrumentation.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawConstants.h
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ValueMap.h
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
A llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
M llvm/include/llvm/Transforms/IPO/InstrumentorStubPrinter.h
M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h
A llvm/include/llvm/Transforms/IPO/InstrumentorVariables.inc.in
M llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Analysis/CallGraphSCCPass.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DominanceFrontier.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/RegionInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/lib/CodeGen/ExpandReductions.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveRangeEdit.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.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/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp
M llvm/lib/Target/BPF/BPFSelectionDAGInfo.h
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/CMakeLists.txt
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.h
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
A llvm/lib/Target/LoongArch/LoongArchTargetObjectFile.cpp
A llvm/lib/Target/LoongArch/LoongArchTargetObjectFile.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.h
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.cpp
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.h
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.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/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
A llvm/lib/Target/RISCV/RISCVInstrInfoY.td
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
A llvm/lib/Target/RISCV/RISCVSchedSiFive8.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
M llvm/lib/Transforms/IPO/ConstantMerge.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/InstrumentorStubPrinter.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.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/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/AArch64/arith-bf16.ll
M llvm/test/Analysis/CostModel/SystemZ/cmp-ext-01.ll
A llvm/test/Analysis/ScalarEvolution/rounding-demanded-bits.ll
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Assembler/aggregate-constant-values.ll
M llvm/test/Assembler/implicit-intrinsic-declaration-invalid.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
M llvm/test/CodeGen/AArch64/aarch64-sysreg128.ll
A llvm/test/CodeGen/AArch64/and_xor_shift.ll
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
A llvm/test/CodeGen/AArch64/arm64-invalid-sys-reg.ll
M llvm/test/CodeGen/AArch64/arm64-ldst-unscaled-pre-post.mir
R llvm/test/CodeGen/AArch64/arm64-named-reg-notareg.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/expand-sme-pseudos.mir
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
M llvm/test/CodeGen/AArch64/ldst-miflags.mir
M llvm/test/CodeGen/AArch64/ldst-opt.mir
M llvm/test/CodeGen/AArch64/ldst_update_cfpath.mir
M llvm/test/CodeGen/AArch64/machine-sme-abi-find-insert-pt.mir
M llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
M llvm/test/CodeGen/AArch64/memtag-merge-writeback.mir
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/no-reorder-cfi-merge-back-load.mir
M llvm/test/CodeGen/AArch64/no-reorder-cfi-merge-fwd-load.mir
A llvm/test/CodeGen/AArch64/read-fp-reg.ll
M llvm/test/CodeGen/AArch64/sme-abi-eh-liveins.mir
M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
M llvm/test/CodeGen/AArch64/special-reg.ll
M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
A llvm/test/CodeGen/AArch64/volatile-reg-writeback.ll
A llvm/test/CodeGen/AArch64/write-volatile-register.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-add.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.class.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.class.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fabs.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmul.v2s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fneg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-freeze.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-or.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-xor.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/select-merge-values-build-vector-s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/true16-merge-values-s16.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/ashr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-merge-empty-other.mir
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx12.mir
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx1250.mir
M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
A llvm/test/CodeGen/AMDGPU/freeze-other-uses-issue-198094.ll
M llvm/test/CodeGen/AMDGPU/insert-skips-gfx12.mir
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-gfx12-wbinv.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.mir
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/spill-wait.mir
M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
M llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
M llvm/test/CodeGen/AMDGPU/wait-xcnt.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-func-global-inv.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-kmcnt-scc-different-block.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-wcg-attributes.mir
A llvm/test/CodeGen/AMDGPU/wqm-debug-instr-terminator.mir
A llvm/test/CodeGen/BPF/libcall-memcpy-threshold.ll
A llvm/test/CodeGen/BPF/libcall-non-whitelisted.ll
A llvm/test/CodeGen/DirectX/ContainerData/DebugName-DXIL.ll
R llvm/test/CodeGen/DirectX/Metadata/cbuffer-layouttype.ll
M llvm/test/CodeGen/DirectX/firstbitlow_error.ll
M llvm/test/CodeGen/DirectX/firstbitshigh_error.ll
M llvm/test/CodeGen/DirectX/firstbituhigh_error.ll
M llvm/test/CodeGen/DirectX/lit.local.cfg
M llvm/test/CodeGen/DirectX/saturate_errors.ll
A llvm/test/CodeGen/DirectX/splitdouble_mat.ll
M llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll
M llvm/test/CodeGen/Generic/available_externally_alias.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-f.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
A llvm/test/CodeGen/LoongArch/stack-clash-prologue-nounwind.ll
A llvm/test/CodeGen/LoongArch/stack-clash-prologue.ll
A llvm/test/CodeGen/LoongArch/stack-probing-dynamic-nonentry.ll
A llvm/test/CodeGen/LoongArch/stack-probing-dynamic.ll
A llvm/test/CodeGen/LoongArch/stack-probing-frame-setup.mir
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_loadcnt_dscnt-errors.mir
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_loadcnt_dscnt.mir
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
A llvm/test/CodeGen/NVPTX/lower-aggr-copies-shared.ll
M llvm/test/CodeGen/PowerPC/combine-fneg.ll
M llvm/test/CodeGen/PowerPC/fma-combine.ll
M llvm/test/CodeGen/PowerPC/recipest.ll
M llvm/test/CodeGen/PowerPC/repeated-fp-divisors.ll
A llvm/test/CodeGen/PowerPC/vec-splats-opt.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
M llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
A llvm/test/CodeGen/RISCV/rvy/rvy-invalid-operands.mir
A llvm/test/CodeGen/RISCV/zilsd-csr-duplicate.mir
A llvm/test/CodeGen/SPIRV/declarations-only-module.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/i128-icmp.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/arithmetic-poison-execmode-metadata.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/arithmetic-poison-execmode-negative.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/arithmetic-poison-execmode.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/freeze.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/poison-composite.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/poison.ll
M llvm/test/CodeGen/SPIRV/transcoding/ReqdSubgroupSize.ll
A llvm/test/CodeGen/SystemZ/combine-ccmask-tm-full.ll
A llvm/test/CodeGen/SystemZ/stack-guard-global-nopic.ll
A llvm/test/CodeGen/SystemZ/stack-guard-global-pic.ll
A llvm/test/CodeGen/SystemZ/stack-guard-pseudos.ll
A llvm/test/CodeGen/SystemZ/stack-guard-tls.ll
R llvm/test/CodeGen/SystemZ/stack-guard.ll
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-known-bits.ll
M llvm/test/CodeGen/WebAssembly/exception.ll
M llvm/test/CodeGen/X86/apx/kmov-kk.ll
A llvm/test/CodeGen/X86/atomic-mmo-align.ll
M llvm/test/CodeGen/X86/avx512-mask-op.ll
M llvm/test/CodeGen/X86/fold-select.ll
M llvm/test/CodeGen/X86/machine-block-hash.mir
A llvm/test/DebugInfo/LoongArch/tls.ll
A llvm/test/DebugInfo/NVPTX/language-dialect.ll
M llvm/test/Instrumentation/Instrumentor/alloca_and_function.ll
A llvm/test/Instrumentation/Instrumentor/cast.ll
A llvm/test/Instrumentation/Instrumentor/cast_config.json
A llvm/test/Instrumentation/Instrumentor/cast_crash.ll
A llvm/test/Instrumentation/Instrumentor/cast_filter.ll
A llvm/test/Instrumentation/Instrumentor/cast_filter_config.json
M llvm/test/Instrumentation/Instrumentor/default_config.json
R llvm/test/Instrumentation/Instrumentor/default_rt
A llvm/test/Instrumentation/Instrumentor/default_rt.c
A llvm/test/Instrumentation/Instrumentor/default_rt.h
M llvm/test/Instrumentation/Instrumentor/generate_rt.ll
A llvm/test/Instrumentation/Instrumentor/lit.local.cfg
M llvm/test/Instrumentation/Instrumentor/module_and_globals.ll
A llvm/test/Instrumentation/Instrumentor/operations.json
A llvm/test/Instrumentation/Instrumentor/operations.ll
M llvm/test/Instrumentation/Instrumentor/rt_config.json
M llvm/test/MC/AArch64/arm64-system-encoding.s
M llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s
M llvm/test/MC/AArch64/armv9-mrrs.s
M llvm/test/MC/AArch64/armv9-msrr-diagnostics.s
M llvm/test/MC/AArch64/armv9-msrr.s
M llvm/test/MC/AArch64/basic-a64-instructions.s
A llvm/test/MC/AMDGPU/vcc_tuples.s
M llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt
M llvm/test/MC/Disassembler/AArch64/armv8.4a-dit.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-dataproc.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-mte.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-sb.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-ssbs.txt
M llvm/test/MC/Disassembler/AArch64/armv8.7a-wfxt.txt
M llvm/test/MC/Disassembler/AArch64/armv8.7a-xs.txt
M llvm/test/MC/Disassembler/AArch64/armv8.8a-nmi.txt
M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
A llvm/test/MC/LoongArch/Directives/tls.s
A llvm/test/MC/Mips/j-alias-r6.s
A llvm/test/MC/RISCV/rvy/rvy-basic-invalid.s
A llvm/test/MC/RISCV/rvy/rvy-basic.s
A llvm/test/Other/legacy-callgraph-scc-pass-printer.ll
A llvm/test/ThinLTO/X86/memprof-imported-alias-assert.ll
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
M llvm/test/Transforms/ConstantMerge/merge-dbg.ll
A llvm/test/Transforms/Coroutines/coro-frame-inramp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-int-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fpto-sat-vector.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-ui129tofp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-optnone.ll
M llvm/test/Transforms/FunctionAttrs/atomic.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nosync.ll
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
M llvm/test/Transforms/GVN/metadata.ll
A llvm/test/Transforms/GlobalMerge/guid.ll
M llvm/test/Transforms/InstCombine/ARM/mve-narrow.ll
M llvm/test/Transforms/InstCombine/assume.ll
A llvm/test/Transforms/InstCombine/fold-zext-of-deinterleave.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/sub-xor.ll
M llvm/test/Transforms/InstSimplify/sincos.ll
M llvm/test/Transforms/LICM/hoist-add-sub.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-memcpy.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
A llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-negative-i32-offset.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr31190.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
M llvm/test/Transforms/MergeICmps/X86/pair-int32-int32.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-inner-loop-scale.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/recalc-copyable-node.ll
A llvm/test/Transforms/SLPVectorizer/X86/revec-fma-vectorize.ll
M llvm/test/Transforms/SimplifyCFG/hoist-with-metadata.ll
M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll
M llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll
M llvm/test/Verifier/arbitrary-fp-convert.ll
M llvm/test/Verifier/callbr.ll
M llvm/test/Verifier/get-active-lane-mask.ll
M llvm/test/Verifier/intrinsic-arg-overloading-struct-ret.ll
M llvm/test/Verifier/matrix-intrinsics.ll
A llvm/test/Verifier/mem-cache-hint.ll
M llvm/test/Verifier/reduction-intrinsics.ll
M llvm/test/Verifier/sat-intrinsics.ll
M llvm/test/Verifier/scatter_gather.ll
M llvm/test/Verifier/stepvector-intrinsic.ll
A llvm/test/tools/dsymutil/X86/bundle-mtime.test
M llvm/test/tools/llubi/alloca.ll
M llvm/test/tools/llubi/assume_misalign_all_ones.ll
M llvm/test/tools/llubi/assume_null.ll
M llvm/test/tools/llubi/assume_null_all_ones.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_nullary_provenance.ll
M llvm/test/tools/llubi/attributes.ll
M llvm/test/tools/llubi/bitcast_be.ll
M llvm/test/tools/llubi/bitcast_le.ll
M llvm/test/tools/llubi/freeze.ll
M llvm/test/tools/llubi/gep.ll
M llvm/test/tools/llubi/inttoptr.ll
M llvm/test/tools/llubi/lib_calloc_large_size.ll
M llvm/test/tools/llubi/lib_calloc_size_overflow.ll
M llvm/test/tools/llubi/lib_free_nullary_pointer.ll
M llvm/test/tools/llubi/lib_malloc_large_size.ll
M llvm/test/tools/llubi/loadstore_be.ll
M llvm/test/tools/llubi/loadstore_le.ll
M llvm/test/tools/llubi/loadstore_uaf.ll
M llvm/test/tools/llubi/metadata.ll
M llvm/test/tools/llubi/store_dead.ll
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/arithmetic.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/bitwise.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/comparison.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/conversion.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/fma.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/fp.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/mask.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/minmax.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/mul-div.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/permutation.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/reduction.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vle-vse-vlm.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlse-vsse.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlseg-vsseg.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlxe-vsxe.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvbb.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvbc.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvkg.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvkned.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvknhb.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvksed.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvksh.s
M llvm/test/tools/llvm-objdump/X86/disassemble-functions.test
A llvm/test/tools/llvm-offload-binary/llvm-offload-binary-malformed.ll
M llvm/test/tools/llvm-offload-binary/llvm-offload-binary.ll
A llvm/test/tools/llvm-pdbutil/dxcontainer.test
A llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsSM68.yaml
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
M llvm/tools/llvm-objdump/ObjdumpOpts.td
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.h
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/Support/Path.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/git/github-automation.py
M llvm/utils/gn/build/BUILD.gn
M llvm/utils/gn/build/toolchain/compiler.gni
M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Frontend/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/DataFormatters/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Interpreter/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ABI/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/LoongArch/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/ProgressBar.py
M llvm/utils/lit/lit/ShUtil.py
M llvm/utils/lit/lit/ShellEnvironment.py
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/TestingConfig.py
M llvm/utils/lit/lit/builtin_commands/diff.py
A llvm/utils/lit/tests/Inputs/lit-config-readonly/lit.cfg
A llvm/utils/lit/tests/lit-config-readonly.py
M llvm/utils/profcheck-xfail.txt
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TargetEnv.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Target/SPIRV/SPIRVExtInstSets.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/Tosa/IR/TargetEnv.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-fpclassify-spirv.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-dealloc.mlir
R mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc.mlir
M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
M mlir/test/Dialect/LLVMIR/attach-targets.mlir
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
R mlir/test/Dialect/Tosa/fold_concats.mlir
M mlir/test/Dialect/Vector/flatten-memref-and-emulate-narrow-types.mlir
A mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-dynamic-store.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
M mlir/test/Target/LLVMIR/nvvm/barrier.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/python/dialects/nvvm.py
A offload/ci/hip-tpl.py
M offload/include/OpenMP/OMPT/Interface.h
M offload/include/Shared/APITypes.h
M offload/liboffload/API/Kernel.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/KernelLanguage/API.cpp
M offload/libomptarget/OpenMP/API.cpp
M offload/libomptarget/OpenMP/OMPT/Callback.cpp
M offload/libomptarget/interface.cpp
M offload/libomptarget/omptarget.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
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/L0Kernel.h
M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
A offload/test/offloading/ompx_bare_gridsize.c
A offload/test/ompt/target_memset.c
A offload/test/ompt/target_memset_async.c
A offload/test/ompt/target_memset_emi.c
M offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
M offload/unittests/Conformance/include/mathtest/Support.hpp
M offload/unittests/Conformance/lib/DeviceContext.cpp
M offload/unittests/OffloadAPI/common/Fixtures.hpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/composite.cpp
A offload/unittests/OffloadAPI/device_code/gridsize.cpp
M offload/unittests/OffloadAPI/device_code/multiargs.cpp
M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
M offload/unittests/OffloadAPI/kernel/olCalculateOptimalOccupancy.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernelCooperative.cpp
M offload/unittests/OffloadAPI/memory/olMemFill.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/queue/olDestroyQueue.cpp
M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
M offload/unittests/OffloadAPI/symbol/olGetSymbolInfo.cpp
M openmp/CMakeLists.txt
R openmp/cmake/modules/LibompCheckFortranFlag.cmake
M openmp/cmake/modules/LibompHandleFlags.cmake
M openmp/module/CMakeLists.txt
M openmp/runtime/cmake/LibompExports.cmake
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M runtimes/cmake/config-Fortran.cmake
A third-party/benchmark/.bazelversion
M third-party/benchmark/.clang-tidy
A third-party/benchmark/.clang-tidy.ignore
M third-party/benchmark/.pre-commit-config.yaml
R third-party/benchmark/.travis.yml
M third-party/benchmark/.ycm_extra_conf.py
M third-party/benchmark/AUTHORS
M third-party/benchmark/CMakeLists.txt
M third-party/benchmark/CONTRIBUTORS
M third-party/benchmark/MODULE.bazel
M third-party/benchmark/README.md
M third-party/benchmark/bazel/benchmark_deps.bzl
R third-party/benchmark/bindings/python/build_defs.bzl
M third-party/benchmark/bindings/python/google_benchmark/__init__.py
M third-party/benchmark/bindings/python/google_benchmark/benchmark.cc
M third-party/benchmark/bindings/python/google_benchmark/example.py
R third-party/benchmark/bindings/python/google_benchmark/version.py
R third-party/benchmark/bindings/python/nanobind.BUILD
R third-party/benchmark/bindings/python/python_headers.BUILD
M third-party/benchmark/cmake/CXXFeatureCheck.cmake
M third-party/benchmark/cmake/Config.cmake.in
M third-party/benchmark/cmake/GoogleTest.cmake.in
M third-party/benchmark/cmake/benchmark.pc.in
A third-party/benchmark/cmake/benchmark_main.pc.in
M third-party/benchmark/docs/dependencies.md
M third-party/benchmark/docs/platform_specific_build_instructions.md
M third-party/benchmark/docs/reducing_variance.md
M third-party/benchmark/docs/releasing.md
M third-party/benchmark/docs/user_guide.md
M third-party/benchmark/include/benchmark/benchmark.h
M third-party/benchmark/pyproject.toml
M third-party/benchmark/setup.py
M third-party/benchmark/src/CMakeLists.txt
M third-party/benchmark/src/benchmark.cc
M third-party/benchmark/src/benchmark_api_internal.cc
M third-party/benchmark/src/benchmark_api_internal.h
M third-party/benchmark/src/benchmark_main.cc
M third-party/benchmark/src/benchmark_name.cc
M third-party/benchmark/src/benchmark_register.cc
M third-party/benchmark/src/benchmark_register.h
M third-party/benchmark/src/benchmark_runner.cc
M third-party/benchmark/src/benchmark_runner.h
M third-party/benchmark/src/check.cc
M third-party/benchmark/src/check.h
M third-party/benchmark/src/colorprint.cc
M third-party/benchmark/src/colorprint.h
M third-party/benchmark/src/commandlineflags.cc
M third-party/benchmark/src/commandlineflags.h
M third-party/benchmark/src/complexity.cc
M third-party/benchmark/src/console_reporter.cc
M third-party/benchmark/src/counter.cc
M third-party/benchmark/src/csv_reporter.cc
M third-party/benchmark/src/cycleclock.h
M third-party/benchmark/src/internal_macros.h
M third-party/benchmark/src/json_reporter.cc
M third-party/benchmark/src/log.h
M third-party/benchmark/src/perf_counters.cc
M third-party/benchmark/src/re.h
M third-party/benchmark/src/reporter.cc
M third-party/benchmark/src/statistics.cc
M third-party/benchmark/src/string_util.cc
M third-party/benchmark/src/string_util.h
M third-party/benchmark/src/sysinfo.cc
M third-party/benchmark/src/thread_manager.h
M third-party/benchmark/src/timers.cc
M third-party/benchmark/src/timers.h
M third-party/benchmark/test/CMakeLists.txt
M third-party/benchmark/test/basic_test.cc
M third-party/benchmark/test/benchmark_gtest.cc
M third-party/benchmark/test/benchmark_min_time_flag_iters_test.cc
M third-party/benchmark/test/benchmark_min_time_flag_time_test.cc
M third-party/benchmark/test/benchmark_random_interleaving_gtest.cc
A third-party/benchmark/test/benchmark_setup_teardown_cb_types_gtest.cc
M third-party/benchmark/test/benchmark_setup_teardown_test.cc
M third-party/benchmark/test/benchmark_test.cc
M third-party/benchmark/test/complexity_test.cc
R third-party/benchmark/test/cxx03_test.cc
A third-party/benchmark/test/cxx11_test.cc
M third-party/benchmark/test/diagnostics_test.cc
M third-party/benchmark/test/display_aggregates_only_test.cc
M third-party/benchmark/test/donotoptimize_assembly_test.cc
M third-party/benchmark/test/donotoptimize_test.cc
M third-party/benchmark/test/filter_test.cc
M third-party/benchmark/test/internal_threading_test.cc
M third-party/benchmark/test/link_main_test.cc
A third-party/benchmark/test/locale_impermeability_test.cc
A third-party/benchmark/test/manual_threading_test.cc
M third-party/benchmark/test/map_test.cc
M third-party/benchmark/test/memory_manager_test.cc
A third-party/benchmark/test/memory_results_gtest.cc
M third-party/benchmark/test/multiple_ranges_test.cc
M third-party/benchmark/test/options_test.cc
M third-party/benchmark/test/output_test.h
M third-party/benchmark/test/output_test_helper.cc
A third-party/benchmark/test/overload_test.cc
M third-party/benchmark/test/perf_counters_gtest.cc
M third-party/benchmark/test/perf_counters_test.cc
A third-party/benchmark/test/profiler_manager_gtest.cc
A third-party/benchmark/test/profiler_manager_iterations_test.cc
A third-party/benchmark/test/profiler_manager_test.cc
M third-party/benchmark/test/register_benchmark_test.cc
M third-party/benchmark/test/repetitions_test.cc
M third-party/benchmark/test/report_aggregates_only_test.cc
M third-party/benchmark/test/reporter_output_test.cc
M third-party/benchmark/test/skip_with_error_test.cc
M third-party/benchmark/test/spec_arg_test.cc
M third-party/benchmark/test/spec_arg_verbosity_test.cc
M third-party/benchmark/test/state_assembly_test.cc
M third-party/benchmark/test/string_util_gtest.cc
A third-party/benchmark/test/templated_fixture_method_test.cc
M third-party/benchmark/test/time_unit_gtest.cc
M third-party/benchmark/test/user_counters_tabular_test.cc
M third-party/benchmark/test/user_counters_test.cc
M third-party/benchmark/test/user_counters_thousands_test.cc
A third-party/benchmark/test/user_counters_threads_test.cc
M third-party/benchmark/tools/compare.py
M third-party/benchmark/tools/gbench/report.py
M third-party/benchmark/tools/gbench/util.py
M third-party/benchmark/tools/libpfm.BUILD.bazel
M third-party/benchmark/tools/requirements.txt
M third-party/benchmark/tools/strip_asm.py
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/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/third_party_build/nanobind.BUILD
Log Message:
-----------
Rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/9cb6a911caf0...86261f973129
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