[all-commits] [llvm/llvm-project] d65897: [alpha.webkit.UncountedLocalVarsChecker] Detect an...
Harald van Dijk via All-commits
all-commits at lists.llvm.org
Wed Jun 3 06:42:52 PDT 2026
Branch: refs/heads/users/hvdijk/aaw-emitmdnodeannot
Home: https://github.com/llvm/llvm-project
Commit: d65897289e68696fa5f5b2d2f449f7633fff13ab
https://github.com/llvm/llvm-project/commit/d65897289e68696fa5f5b2d2f449f7633fff13ab
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Detect an assignment to a guardian argument (#198695)
A function parameter of type RefPtr<T>& should not be used as a guardian
variable of a raw pointer/reference variable if the function body
contains an assignment to it since such an assignment can shorten the
lifetime of the guarded object.
Commit: dbe6800baeec47c538f95421348c6c62a38f061c
https://github.com/llvm/llvm-project/commit/dbe6800baeec47c538f95421348c6c62a38f061c
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
M llvm/test/CodeGen/AMDGPU/commute-compares-scalar-float.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/immv216.ll
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/lround.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.f16.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/true16-imm-folded-to-0-regression.ll
M llvm/test/MC/AMDGPU/gfx1150_asm_salu_float.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx13_asm_sopc.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/literals.s
M llvm/test/MC/AMDGPU/vop3-gfx10.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_salu_float.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopcx.txt
Log Message:
-----------
[AMDGPU] This reverts patches to use fp16 inline constants for i16 (#200091)
Patches reverted:
commit c315c662cd2d33e0c7f962fed742ee53626d8005
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: Wed May 27 12:51:13 2026
[AMDGPU] Fix codesize estimate after #198005 (#200033)
This fixes failure in libc tests which checks the exact encoding
size. Encoding is now shorter, but it did not recognize fp16
immediates as an inlinable constant and assumes literal encoding.
Shorter encodings were created here:
https://github.com/llvm/llvm-project/pull/198005
commit 2b3bc03b5ef00e7eaa245420ca981c700e1c05c4
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: Wed May 27 10:55:36 2026
[AMDGPU] Use shorter form for i16 operands (#198005)
For 16-bit operands an inline constant is zero extended
which in particular allows to use FP constants. These
will have 16 bits of zeroes in the high half and FP16
value in the low 16 bits.
The patch changes semantics of the FP literal argument
used in i16 context in the asm parser to fp16.
Apparently this breaks some libc tests with bf16. I do not know
why, these were not supposed to be affected. Reverting for now.
Failed tests: https://lab.llvm.org/buildbot/#/builders/10/builds/29005
Commit: 0381a09309c6fc1e8aec031580ef5d2396143c79
https://github.com/llvm/llvm-project/commit/0381a09309c6fc1e8aec031580ef5d2396143c79
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/runtime-strided-stores.ll
Log Message:
-----------
[SLP] Precommit tests for runtime strided stores (#200019)
Accompanies #200018
Commit: 5b17cdb0b5827d8423470084e6004c5686d9cb2a
https://github.com/llvm/llvm-project/commit/5b17cdb0b5827d8423470084e6004c5686d9cb2a
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Split v4i16/v8i8 INSERT/EXTRACT_VECTOR_ELT on RV32. (#199917)
With a constant lane index, split the vector and recurse on the
single-GPR half containing Idx (already Custom-lowered).
Commit: 6619c82f729487ada200a074c72f7260511bb23e
https://github.com/llvm/llvm-project/commit/6619c82f729487ada200a074c72f7260511bb23e
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
A llvm/test/CodeGen/RISCV/move-merge-zdinx-mvsa-regression.mir
Log Message:
-----------
[RISCV] Fix incorrect CM.MVSA01/QC_CM_MVSA01 generation with Zdinx (#200000)
The `RISCVMoveMerger` pass was incorrectly forming
`CM_MVSA01/QC_CM_MVSA01` when `Zdinx` was enabled. The pass attempted CM
merge for copy pairs even when the first copy was not an `a0/a1-based`
CM candidate.
Fix by only running `findMatchingInst` when the current copy is a valid
CM candidate.
Commit: f9185454a9a70fd351cb8a1ba3b2b3e33e064c06
https://github.com/llvm/llvm-project/commit/f9185454a9a70fd351cb8a1ba3b2b3e33e064c06
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaObjC.h
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprObjC.cpp
A clang/test/AST/ast-print-amdgcn-predicate.c
Log Message:
-----------
[clang][AMDGPU] Fix -ast-print crash on expanded predicate builtins (#199963)
ExpandAMDGPUPredicateBuiltIn synthesized an IntegerLiteral typed
_Bool/bool — a shape no other producer creates, and one that
StmtPrinter::VisitIntegerLiteral has no case for. -ast-print on the
resulting if-condition hit llvm_unreachable.
Emit the canonical boolean literal instead:
- C++, C23, OpenCL, HIP: CXXBoolLiteralExpr 'bool'
- pre-C23 C: IntegerLiteral 'int'
In the C case this matches what <stdbool.h>'s true/false macros expand
to.
Fixes #199563
Commit: 2d5dac5b816726621d08ac695ed0b9799dfb7209
https://github.com/llvm/llvm-project/commit/2d5dac5b816726621d08ac695ed0b9799dfb7209
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 5db1364 (#200104)
The commit added a dep from profile -> interception, so define that
target too
Fixes 5db13643f4b7038db0ca304d9f8900122502935c
Commit: 635e120fb87304924508a7a204574727e3c37363
https://github.com/llvm/llvm-project/commit/635e120fb87304924508a7a204574727e3c37363
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
Log Message:
-----------
[PGO][HIP] Stop pulling ROCm.o into every PGO host link (#200101)
PR #177665 added an unconditional `extern` reference to
`__llvm_profile_hip_collect_device_data` from `InstrProfilingFile.c`,
which forces `InstrProfilingPlatformROCm.o` (and its sanitizer_common /
interception dependencies) out of `libclang_rt.profile.a` in every PGO
binary. That breaks bots without `-lpthread` and races dlsym/PLT state
in non-HIP programs via the interceptor constructor.
Fix:
- Declare the hook `COMPILER_RT_WEAK` and gate the call on its address.
No `COMPILER_RT_VISIBILITY`: a hidden weak-undef function would be
non-preemptible and the address test would fold to true.
- Gate `installHipModuleInterceptors` on `dlsym(hipModuleLoad)` so the
constructor is a no-op if `ROCm.o` is still pulled in.
Fixes:
- https://lab.llvm.org/buildbot/#/builders/66/builds/31311
- https://lab.llvm.org/buildbot/#/builders/174/builds/36180
Verified:
- `check-profile` 134/134 pass.
- `nm` on a non-HIP `clang -fprofile-generate` binary: zero
`installHip`/`ROCm`/`sanitizer`/`hip_collect` symbols.
- HIP offload PGO end-to-end on gfx1101 (compile → run → `llvm-profdata
merge` → `llvm-cov`) still works; interceptor installs, device profile
collected via shared API.
Commit: d5e97d77289c59d785284e6a0361570a1651acd6
https://github.com/llvm/llvm-project/commit/d5e97d77289c59d785284e6a0361570a1651acd6
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/split-debug.c
Log Message:
-----------
[Driver] Honor /Fo when deriving the split-dwarf .dwo path (#199613)
SplitDebugName checked -o and /o but not /Fo, so clang-cl /Fo<path> /c
fell through to the cwd-relative fallback and every .dwo landed in cwd
under <source-stem>.dwo regardless of the .obj location.
Commit: a20e85f74d7a3f1bc29cb80fa6d47cf74e9f2aa0
https://github.com/llvm/llvm-project/commit/a20e85f74d7a3f1bc29cb80fa6d47cf74e9f2aa0
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A clang/test/CXX/basic/basic.link/p11.cpp
Log Message:
-----------
[clang] NFC: add test cases from #111561 (#200105)
This adds those test cases while #111561 gathers dust.
Commit: da4894c874edb5fc9b9b82a8a99ed471a49153bf
https://github.com/llvm/llvm-project/commit/da4894c874edb5fc9b9b82a8a99ed471a49153bf
Author: Arda Serdar Pektezol <arda at pektezol.dev>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/test/Transforms/LoopFusion/loop_invariant.ll
A llvm/test/Transforms/LoopFusion/pr191238.ll
Log Message:
-----------
[LoopFusion] reject unsafe scalar flow dependences (#195895)
`loop-fusion` treats any loop-invariant scalar non-anti dependence as
safe to fuse. In the linked issue, it incorrectly allows scalar flow
dependences where the first loop writes a loop-invariant location and
the second loop later reads that same location. Fusion interleaves the
producer and consumer and this changes the value observed by the second
loop.
Example C source would look like:
```C
for (int i = 0; i < N; i++) {
ptr[0] = i;
}
for (int j = 0; j < N; j++) {
out[j] = ptr[0];
}
=>
for (int i = 0; i < N; i++) {
ptr[0] = i;
out[i] = ptr[0];
}
```
This patch makes the DA scalar-dependence shortcut **_more
conservative_** by rejecting scalar non-anti and allowing input/output
dependences. This preserves the existing safe read and write cases while
preventing the miscompile above.
The patch also updates the `loop-fusion` debug message to reflect the
narrower accepted case, updates the existing regression to check the new
debug message, and adds a new regression from the linked issue.
Fixes #191238
Commit: 5acb952cb5d9c899692f44f4280af75a780a599c
https://github.com/llvm/llvm-project/commit/5acb952cb5d9c899692f44f4280af75a780a599c
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGenHIP/profile-coverage-mapping.hip
M clang/test/Driver/hip-options.hip
Log Message:
-----------
[HIP][Driver] Forward -fcoverage-mapping flags to device compiler (#198872)
Add `-fcoverage-mapping`, `-fno-coverage-mapping`,
`-fcoverage-compilation-dir=`, `-ffile-compilation-dir=`, and
`-fcoverage-prefix-map=` to the LinkerWrapper `CompilerOptions`
forwarding list. Without this, passing `-fprofile-instr-generate
-fcoverage-mapping` to clang for a HIP program silently omits the
coverage mapping flags from the embedded device recompilation, so
`__llvm_covmap`/`__llvm_covfun` sections are never emitted for device
code.
Commit: 846bfd77ddc44ef76882fd165fa4d5b68b760456
https://github.com/llvm/llvm-project/commit/846bfd77ddc44ef76882fd165fa4d5b68b760456
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Avoid assert on variadic placement new (#199588)
Avoid assuming that a placement allocation function has a second
`ParmVarDecl` before checking whether that parameter is `void*`.
Variadic `operator new(size_t, ...)` can have a placement argument
matched by the ellipsis instead.
As of AI Usage: Codex is used to help rephrase part of the new comments.
Closes https://github.com/llvm/llvm-project/issues/199584
Commit: 1da70ad6da64e5737aae1b8aad1bc97a36bbe1cf
https://github.com/llvm/llvm-project/commit/1da70ad6da64e5737aae1b8aad1bc97a36bbe1cf
Author: Gaurav Dhingra <gauravdhingra.gxyd at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp
Log Message:
-----------
[clang-tidy] Fix false positive of parentheses removal for overloaded operator (#192254)
Fixes #189217
don't remove necessary parentheses for an overloaded operator, when
the parenthese occurs in the context of a binary operation
E.g. (E1 & E2) != E3 // the brackets aren't redundant here
E.g. (E1 & E2) // brackets are redundant here
Commit: 48a1ee7bc8e1d740edf635c39e0223b9b02a6ae1
https://github.com/llvm/llvm-project/commit/48a1ee7bc8e1d740edf635c39e0223b9b02a6ae1
Author: Dark Steve <Prasoon.Mishra at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
M llvm/test/CodeGen/AMDGPU/wait-xcnt.mir
Log Message:
-----------
[AMDGPU] Remove redundant s_wait_xcnt after implicit XCNT drains (#198823)
On gfx1250 several instructions implicitly drain XCNT in hardware:
`s_barrier_wait`/`signal`/`signal_isfirst`, `s_sendmsg`, PC-changes etc.
This patch will remove redundant `s_wait_xcnt` after implicit XCNT
drains.
Pre-commit tests on #198772
Fix: LCOMPILER-1665
Commit: 9cd3c0b99e5df66adcc96a2fc03b9b177d6ca487
https://github.com/llvm/llvm-project/commit/9cd3c0b99e5df66adcc96a2fc03b9b177d6ca487
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
A clang/test/CodeGenHLSL/resources/res-array-global-to-local.hlsl
M clang/test/CodeGenHLSL/resources/res-array-local2.hlsl
M clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
A clang/test/CodeGenHLSL/resources/resources-in-structs-array-to-local.hlsl
Log Message:
-----------
[HLSL] Codegen for handling global resource array initialization (#198891)
When a global resource array is accessed - whether it is declared at a
global scope or as part of a global struct instance - all of its
resource elements should be initialized from binding into a temporary
local resource array. This change intercepts the Clang codegen at the
relevant places to allow `CGHLSLRuntime` handle this special global
resource array initialization.
Fixes #187087
Fixes #198888
Commit: 690a25fd5b0bf7118370efbc681661a24a40b83a
https://github.com/llvm/llvm-project/commit/690a25fd5b0bf7118370efbc681661a24a40b83a
Author: eleviant <eleviant at accesssoftek.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/AArch64/mskernel-interlocked.c
A clang/test/CodeGen/X86/mskernel-interlocked.c
M llvm/lib/CodeGen/AtomicExpandPass.cpp
A llvm/test/CodeGen/X86/volatile-atomicrmw.ll
Log Message:
-----------
[clang] Don't optimize out no-op atomics in kernel mode (#193562)
The no-op atomics like InterlockedAnd(addr, (UINT32)-1) don't modify
the underlying value, however kernel code depends on these accesses
to touch the pool page virtual address and intentionally trigger a page
fault during page migration. This patch also fixes an LLVM issue where
idempotent volatile atomics were incorrectly lowered into memory fences.
Commit: 8059bc5944b72f3f6f3734ef61bf9eb89ca850a4
https://github.com/llvm/llvm-project/commit/8059bc5944b72f3f6f3734ef61bf9eb89ca850a4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Fix a diagnostic difference in bitcasts (#197174)
Don't immediately return failure and let it be handled by later checks.
Commit: 191aa295d9c9fe83411ae5cdfeb8a6bb8decb3d2
https://github.com/llvm/llvm-project/commit/191aa295d9c9fe83411ae5cdfeb8a6bb8decb3d2
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Do not allow free via synchronization in nofree (#195658)
The nofree attribute is currently specified to only forbid direct free
calls inside the function. A nofree function is still allowed to compel
a pointer to be freed by a different thread through synchronization.
This is currently only spelled out for the function-level nofree
attribute, but I assume the same semantics also hold for argument nofree
(and this matches how the Attributor implementation infers it).
The original motivation for this definition was to keep the attributes
orthogonal and independently inferable. However, the problem is that
nosync is a too strong condition: It excludes *any* synchronization, not
just synchronization that results in the free of a pointer.
Some frontends like Rust can guarantee that most pointer arguments
cannot be freed for the duration of a function call, including via
synchronization. However, they cannot guarantee that no synchronization
takes place at all. The current definition of nofree makes this
inexpressible in LLVM IR, which blocks further progress on
dereferenceable-at-point semantics.
This PR makes two changes to the nofree spec:
* Function-level nofree now disallows free via synchronization,
specified in terms of happens-before.
* Argument-level nofree is now specified in terms of provenance: The
argument has derived provenance that makes it UB to free during the
execution of the function (which includes freeing on another thread with
appropriate synchronization). This also clarified that argument-level
nofree only applies to the particular pointer (similar to `captures`
etc). The underlying object may still be freed via a different argument
to which the same pointer is passed.
Note: The necessary inference changes for the new semantics will
be implemented in a separate PR.
Commit: 486370c33fbd75247ef608a2ebc04ddaefd2ab46
https://github.com/llvm/llvm-project/commit/486370c33fbd75247ef608a2ebc04ddaefd2ab46
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-cooperative-atomics.cl
Log Message:
-----------
[AMDGPU][Clang] refactor addrspace and scope checks [NFC] (#199175)
Assisted-By: Claude Opus 4.6
Commit: 942292bf75168377cc06dfa2ba90a552d6d24a69
https://github.com/llvm/llvm-project/commit/942292bf75168377cc06dfa2ba90a552d6d24a69
Author: Lang Hames <lhames at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M orc-rt/include/orc-rt/NativeDylibManager.h
M orc-rt/lib/executor/NativeDylibManager.cpp
M orc-rt/lib/executor/sps-ci/NativeDylibManagerSPSCI.cpp
M orc-rt/unittests/NativeDylibManagerSPSCITest.cpp
M orc-rt/unittests/NativeDylibManagerTest.cpp
Log Message:
-----------
[orc-rt] Remove NativeDylibManager unload operation. (#200119)
NativeDylibManager is intended to act as a backend for
llvm::orc::DylibManager, which does not expose an unload operation. This
commit removes the explicit unload from both the C++ and SPS interfaces,
and unloads dylibs via an on-shutdown callback instead.
Commit: 6ed05a0b53dc777408305333dcbeec9dac4ea687
https://github.com/llvm/llvm-project/commit/6ed05a0b53dc777408305333dcbeec9dac4ea687
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
Log Message:
-----------
Revert "[Clang] prevent constexpr crash on invalid overrides" (#199895)
Reverts #184048
---
The original change marks invalid overrides too early, causing follow-up
Sema regressions in special-member handling and MS-compatible override
diagnostics.
Commit: 91d765f6ab10974f2c7080c90fe26b21bd7d7cb1
https://github.com/llvm/llvm-project/commit/91d765f6ab10974f2c7080c90fe26b21bd7d7cb1
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/Attributor/align-atomic.ll
M llvm/test/Transforms/Attributor/align.ll
M llvm/test/Transforms/Attributor/liveness.ll
M llvm/test/Transforms/Attributor/noalias.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/nocapture-2.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/Attributor/nosync.ll
M llvm/test/Transforms/Attributor/range.ll
M llvm/test/Transforms/Attributor/readattrs.ll
M llvm/test/Transforms/Attributor/undefined_behavior.ll
M llvm/test/Transforms/Attributor/value-simplify-instances.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info-struct.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
M llvm/test/Transforms/Attributor/value-simplify.ll
M llvm/test/Transforms/FunctionAttrs/atomic.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/nosync.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
M llvm/test/Transforms/OpenMP/parallel_deletion.ll
Log Message:
-----------
[FunctionAttrs][Attributor] Update nofree inference (#196266)
This updates nofree inference after the semantics changes in
https://github.com/llvm/llvm-project/pull/195658.
FunctionAttrs currently only supports function-level nofree inference,
so we just need to check for potentially synchronizing instructions.
Attributor also supports argument nofree, in which case we make
additional changes:
* For callsite arguments, in addition to checking nofree, we also need
to check nocapture. If the call itself doesn't free the arg, it may
still capture it and then we may free it via the captured pointer later.
The way this was handled was already incorrect prior to the semantics
changes.
* Reformulate the handling for other instructions in terms of looking
for provenance captures, as that's what the code was essentially doing,
in a crude way. I'm including this to avoid some regressions for cases
where we can no longer infer function nofree, but can still infer
argument nofree.
Commit: 35bfc00c5c8db8b5895b83045bbd9562691c0af1
https://github.com/llvm/llvm-project/commit/35bfc00c5c8db8b5895b83045bbd9562691c0af1
Author: Iris Shi <0.0 at owo.li>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or-bitmask.ll
Log Message:
-----------
[InstCombine] Fix type mismatch in `foldBitmaskMul` (#199920)
Resolves #199506.
`matchBitmaskMul` matches the form `!(A & N) ? 0 : N * C`.
When the select arms are splat vectors but A is a scalar, this produces
malformed ir like `%57 = and i64 %49, <4 x i64> splat (i64
3689348814741910323)`.
Reproducer: https://godbolt.org/z/EYzKTxcKn
Commit: 4306b4ab9c12a8b9bf4314cbaa7400eeaa1e7ddc
https://github.com/llvm/llvm-project/commit/4306b4ab9c12a8b9bf4314cbaa7400eeaa1e7ddc
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/uninitialized_fill_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/uninitialized_fill.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp
Log Message:
-----------
[libc++] Implement P3508R0: Wording for "constexpr for specialized memory algorithms" (#197313)
Resolves #118379
- Add `constexpr` to affected areas
- Add `constexpr` tests
- Update documentation
Tests were created with AI assistance.
Commit: 5c95f6a859394757b92b0d63ff90b9175056deb6
https://github.com/llvm/llvm-project/commit/5c95f6a859394757b92b0d63ff90b9175056deb6
Author: Martin Storsjö <martin at martin.st>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/test/COFF/arm64-relocs-imports.test
Log Message:
-----------
[LLD] [COFF] Fix handling of immediates in ARM64_SECREL_HIGH12A (#200060)
Just like for PAGEBASE_REL21, the immediate in SECREL_HIGH12A is the
byte offset, not a page offset. The byte level offset is added to the
symbol offset, which only then after that gets shifted right by 12. This
makes the handling of this immediate consistent with what MS link.exe
does.
The existing testcase had a zero immediate in the instruction for this
relocation.
This makes it clear that immediate offsets with SECREL_HIGH12A do work
fine, where the byte level offsets end up carrying over to the upper
bits.
Commit: 5dc8711b4e553ba0ddab673564ac9b6309862e81
https://github.com/llvm/llvm-project/commit/5dc8711b4e553ba0ddab673564ac9b6309862e81
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.h
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/lib/Interfaces/MemorySlotInterfaces.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/test/Transforms/mem2reg.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][mem2reg] Promote memory slots through transparent view operations (#196924)
This patch enables mem2reg to operate on load/store that are made
through cast/views of the memory slot (not directly using the SSA value
produced by the allocation op).
This is done by adding a new `PromotableAliaserInterface` interface that must
be implemented by operations that define view of the slot and through which
mem2reg should still happen.
This interface comes with three APIs. The first one allows the operation to
provide new MemorySlots that are aliasing an input MemorySlot. The slot pointers
of these new MemorySlot are results of the operation.
The other two APIs allows projecting the reaching values between the input and output
MemorySlot (one API for each direction).
Assisted by: Claude
RFC:
https://discourse.llvm.org/t/mlir-mem2reg-rfc-promote-memory-slots-through-transparent-view-operations/90761
Commit: b51a8025bed107c5f9a8113a6ecf446f86eeb9b6
https://github.com/llvm/llvm-project/commit/b51a8025bed107c5f9a8113a6ecf446f86eeb9b6
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/atomic-options.hip
M clang/test/CodeGenCUDA/builtins-amdgcn.cu
M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
M clang/test/CodeGenHIP/placement-new-addrspace.hip
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/OpenMP/amdgcn_target_device_vla.cpp
M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
Log Message:
-----------
Revert "[clang] remove lots of "innocuous" addrspacecasts" (#199685)
Reverts llvm/llvm-project#197745
Broke AMDGPU HIP Kokkos bot:
https://lab.llvm.org/buildbot/#/builders/230/builds/958
Late reply as the breakage got lost in some trouble with the buildbot
fleet.
Co-authored-by: Kewen Meng <Kewen.Meng at amd.com>
Commit: af772866888eb2e2053b5f4d784510006d760e62
https://github.com/llvm/llvm-project/commit/af772866888eb2e2053b5f4d784510006d760e62
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A mlir/include/mlir/Target/SPIRV/SPIRVExtInstSets.h
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.h
M mlir/lib/Target/SPIRV/TranslateRegistration.cpp
R mlir/test/Target/SPIRV/debug-negative.mlir
A mlir/test/Target/SPIRV/graph-debug-info-negative.mlir
A mlir/test/Target/SPIRV/graph-debug-info.mlir
M mlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
Log Message:
-----------
[mlir][spirv] Add SPIR-V NonSemantic.Graph.DebugInfo (#199519)
Add serialization and deserialization support for the SPIR-V
NonSemantic.Graph.DebugInfo.1 extended instruction set used by ARM graph
modules.
When debug info emission is enabled, serialize DebugGraph,
DebugOperation,
and DebugTensor records for graph objects, TOSA operations, graph
tensors,
and tensor constants. Emit the records after the SPIR-V objects they
reference, and make DebugOperation point at the DebugGraph result id.
Deserialize these records back into MLIR locations and diagnose
malformed
or undefined debug-info references.
Enable SPV_KHR_non_semantic_info in the default TOSA-to-SPIR-V target
environment so debug info can be emitted by default.
Specification:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/nonsemantic/NonSemantic.Graph.DebugInfo.asciidoc
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Co-authored-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: 538140ff2cb74ab2a9496119686041ea509daa08
https://github.com/llvm/llvm-project/commit/538140ff2cb74ab2a9496119686041ea509daa08
Author: Guy David <guyda96 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/module.modulemap
Log Message:
-----------
[clang] Add missing BuiltinAnchorSources.def to module map (#200125)
Started with 5db13643f4b7038db0ca304d9f8900122502935c.
Commit: 626f4061e7f2d84813f5307bd03f35592e4b70c1
https://github.com/llvm/llvm-project/commit/626f4061e7f2d84813f5307bd03f35592e4b70c1
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
Log Message:
-----------
[mlir][SPIRVToLLVM] Add conversions for more GL ops (#200115)
Commit: 597b1376bab39259fb3a03fb320dcd15a8b8f2f2
https://github.com/llvm/llvm-project/commit/597b1376bab39259fb3a03fb320dcd15a8b8f2f2
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M mlir/lib/Conversion/ComplexToSPIRV/ComplexToSPIRV.cpp
M mlir/test/Conversion/ComplexToSPIRV/complex-to-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V][complex] Convert complex.add/sub/mul/div to SPIR-V ops (#200123)
Commit: 3a50239454f81b6f6647021737bbf7797a06e00c
https://github.com/llvm/llvm-project/commit/3a50239454f81b6f6647021737bbf7797a06e00c
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
Log Message:
-----------
[GlobalISel] Replace `GIM_CheckFeatures` with `GIM_Try_CheckFeatures` (#198461)
This has two benefits. First, it slightly reduces the size of the match
table.
Secondly, if the target feature is not present, we can directly go to
the fail
case, instead of having to do another loop of the interpreter, speeding
up
rejection of rules that do not have the required target feature.
We could do the same with CheckSimplePredicate but it's less used (only
in the combiners I think)
so it is less of a priority.
```
FILE OLD NEW DIFF% SAME?
---- ------- ------- ----- -----
AArch64GenGlobalISel.inc 192681 185938 -3,5% no
AArch64GenPostLegalizeGICombiner.inc 4457 4457 0,0% yes
AArch64GenPreLegalizeGICombiner.inc 9010 9009 -0,0% no
AMDGPUGenGlobalISel.inc 596402 568486 -4,7% no
AMDGPUGenPostLegalizeGICombiner.inc 9240 9238 -0,0% no
AMDGPUGenPreLegalizeGICombiner.inc 8987 8987 0,0% yes
AMDGPUGenRegBankGICombiner.inc 1981 1980 -0,1% no
```
Commit: a63eacee2db2c6ea75c67aca729cc3d32426200b
https://github.com/llvm/llvm-project/commit/a63eacee2db2c6ea75c67aca729cc3d32426200b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Don't use Ingredient to get type in VPWidenMemoryRecipe (NFC) (#200049)
The scalar load/store type is already available on the recipe: load
recipes inherit from VPSingleDefRecipe and expose it via
getScalarType(); store recipes can derive it from the stored value's
type via VPTypeAnalysis.
This migrates a number of lookups to be based on information already
available in VPlan directly.
Commit: 0513c9cba2a02fb853b0af385c0b47503e6678ff
https://github.com/llvm/llvm-project/commit/0513c9cba2a02fb853b0af385c0b47503e6678ff
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 5dc8711 (#200129)
This fixes 5dc8711b4e553ba0ddab673564ac9b6309862e81.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
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: 8d86dc22be4f474ad102664d1cc0374a35732625
https://github.com/llvm/llvm-project/commit/8d86dc22be4f474ad102664d1cc0374a35732625
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-extract-scale.ll
Log Message:
-----------
[SLP] Fix extract-cost scale using NCD of all external-user sites
ExtractCostCalculated deduplicates by scalar so only the first
ExternalUser determines the scale, making the cost depend on IR block
ordering via LLVM's reverse-insertion use-list order.
Add a pre-pass computing ScalarToExtractBlock - the nearest common
dominator of all effective extract sites per scalar. For PHI users inside
a loop the effective site is the incoming block; for PHI users outside
all loops it is the PHI's own block (scale = 1). The extract cost is
then scaled by getLoopNestScale of the NCD block, which is fully
order-independent.
Fixes #199548
Reviewers: bababuck, RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/199962
Commit: d46e7dcee756766e9f23dd2ce3179e5e9a6cd536
https://github.com/llvm/llvm-project/commit/d46e7dcee756766e9f23dd2ce3179e5e9a6cd536
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/c.c
Log Message:
-----------
[clang][bytecode] Fix an assertion failure in AddSubNonNumber (#200393)
Calling Integral::getPtr() shouldn't happen for AddrLabelDiff integrals.
Commit: 2501cdd2cad9d3180860d7506611afd474a182cc
https://github.com/llvm/llvm-project/commit/2501cdd2cad9d3180860d7506611afd474a182cc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
Log Message:
-----------
[X86] Add VBMI2 shuffle test to track miscompile reported in #200136 (#200569)
Commit: 3c95dd29d834fde3a1070655a8a33df8ab3ee8b8
https://github.com/llvm/llvm-project/commit/3c95dd29d834fde3a1070655a8a33df8ab3ee8b8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-30 (Sat, 30 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 type through VPBlend, VPExpression recipes. (NFC) (#200255)
Set the scalar type for VPBlendRecipe and VPExpressionRecipe at
construction time, instead of inferring it on demand via VPTypeAnalysis.
With this change, all VPValues have their scalar type set at
construction, so VPTypeAnalysis::inferScalarType becomes a thin wrapper
around VPValue::getScalarType.
To be removed in a follow-up:
https://github.com/llvm/llvm-project/pull/200256.
PR: https://github.com/llvm/llvm-project/pull/200255
Commit: 30ec1fa2a9d9b6e0b6af64e93b500321977eafa1
https://github.com/llvm/llvm-project/commit/30ec1fa2a9d9b6e0b6af64e93b500321977eafa1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Reject invalid UnaryOperators (#200394)
Commit: ef6a217703a8738b89e22a19d3daca06b0028da0
https://github.com/llvm/llvm-project/commit/ef6a217703a8738b89e22a19d3daca06b0028da0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix a crash with an empty InitListExpr (#200366)
Fixes https://github.com/llvm/llvm-project/issues/200295
Commit: f7d576010fc1fbc40e8534d276d3c4837d5c5aa9
https://github.com/llvm/llvm-project/commit/f7d576010fc1fbc40e8534d276d3c4837d5c5aa9
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/Utils/IndexingUtils.h
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
Log Message:
-----------
[mlir][nfc] Fix assertion text in IndexingUtils (#181826)
Update the assertion text to match the actual code behavior.
Some functions enforce strictly positive values, whereas the error
message incorrectly mentioned "nonnegative".
Commit: 470411cf18e33fe461f7207831604f989a7a6e61
https://github.com/llvm/llvm-project/commit/470411cf18e33fe461f7207831604f989a7a6e61
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Loosen an assertion about operator delete (#200575)
We may also see OO_Array_Delete here.
Commit: 0d1ed9383d1dc5133409e5088e336bc54700fbf7
https://github.com/llvm/llvm-project/commit/0d1ed9383d1dc5133409e5088e336bc54700fbf7
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M libc/src/__support/CPP/cstddef.h
M libc/src/stdlib/qsort_data.h
Log Message:
-----------
[libc] Tag cpp::byte with gnu::may_alias (#200462)
Clang's TBAA grants the [basic.lval]/11.3 char-aliasing privilege only
to the named ::std::byte type (Type::isStdByteType() requires the enum
to be declared in the std namespace). LIBC_NAMESPACE::cpp::byte lives in
libc's cpp namespace, so it gets its own TBAA node disjoint from char
even though it has the same shape as std::byte.
That mismatch lets the optimizer reorder typed loads past raw-byte
writes through cpp::byte *, miscompiling HeapSort on rv64/Release
(UnsortedThreeElementArray{1,2,3}, UnsortedTwoElementArray1 in
SortingTest.h). The same hazard is latent in every cpp::byte *-based
raw-aliasing site: memory_utils Ptr/CPtr, lsearch/lfind, block.h and
freelist_heap.h allocator metadata.
Tag the type with gnu::may_alias so accesses through cpp::byte * share
the universal char-aliasing TBAA node, fixing all of the above in one
place. This patch also reverts PR #194171, as the may_alias attribute
fixes it too.
Commit: 2396aa8ac0e8af3e46306284e62448487a33a997
https://github.com/llvm/llvm-project/commit/2396aa8ac0e8af3e46306284e62448487a33a997
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
Log Message:
-----------
[CIR][NFC] Mark Complex visitExpr as unsupported (#197782)
Mark Complex visitExpr as unsupported, similar to Clang ORCG, not as NYI
Commit: 51256ed963046edd0cf02bf744d61f14fc9523b3
https://github.com/llvm/llvm-project/commit/51256ed963046edd0cf02bf744d61f14fc9523b3
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Type.h
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Use.cpp
Log Message:
-----------
[IR][NFC] Inline Type::isIntegerTy(n) (#200471)
Although this gets inlined in LTO builds, non-LTO builds benefit from
having isIntegerTy(n) defined in a header.
Co-authored-by: Nikita Popov <npopov at redhat.com>
Commit: aa1cf3205e63c1944238b41408fb3425fc585c61
https://github.com/llvm/llvm-project/commit/aa1cf3205e63c1944238b41408fb3425fc585c61
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/include/llvm/IR/ValueHandle.h
M llvm/unittests/IR/ValueHandleTest.cpp
Log Message:
-----------
[IR] Fix PoisoningVH relocation of a poisoned handle (#200540)
In LLVM_ENABLE_ABI_BREAKING_CHECKS builds, when poisoned (`deleted()` or
`allUsesReplacedWith()`), a PoisoningVH is removed from its use list but
keeps its raw value pointer for identity, so its PrevPtr/Next are left
stale.
PoisoningVH has no move constructor, so relocating a value that embeds
one
falls back to the copy constructor, where `setRawValPtr` relinks with
the stale pointers and corrupts the use list.
This is a latent bug for any relocation of a PoisoningVH handle
but becomes load-bearing for #199615 , which relocating erase exercises
it via ScalarEvolution's BackedgeTakenInfo (its ExitNotTakenInfo holds a
PoisoningVH<BasicBlock>).
Fix by special casing the `Poisoned` case.
Aided By Claude Opus 4.8
Commit: b771021970fcacf5eb01aaca360541534fc51547
https://github.com/llvm/llvm-project/commit/b771021970fcacf5eb01aaca360541534fc51547
Author: lntue <lntue at google.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc][ci] Clean up libc-fullbuild-tests precommit CI. (#200520)
- Pin containers.
- Cleaner names for different targets and options.
- Add Build Test step.
- Skip shared tests and death tests.
Commit: 013ee58df53b528657bc18d3869fa5dc8d1d5ff5
https://github.com/llvm/llvm-project/commit/013ee58df53b528657bc18d3869fa5dc8d1d5ff5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-05-30 (Sat, 30 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 "Reapply "[PDB][llvm-pdbutil] Add DXContainer support for `pdb2yaml` and `yaml2pdb`"" (#200588)
Reverts llvm/llvm-project#200413
Breaks build bots:
https://lab.llvm.org/buildbot/#/builders/169/builds/23142
https://lab.llvm.org/buildbot/#/builders/25/builds/18082
Commit: 56a9bba59817fa9ae5c91e011c1885ba7a689695
https://github.com/llvm/llvm-project/commit/56a9bba59817fa9ae5c91e011c1885ba7a689695
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/include/llvm/IR/FMF.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/Value.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[IR] SubclassOptionalData is only optional for Instruction (#200419)
BasicBlock currently uses this for HasAddressTaken. ConstantExpr uses
this for flags and it should not be possible to modify constant
expressions after they have been created.
Therefore, update the documentation accordingly and remove the unsafe
clearSubclassOptionalData.
Remove hasSameSubclassOptionalData, as it is unused.
Commit: 90779840d51aa3fff6fa030ade7150bc647ac5ff
https://github.com/llvm/llvm-project/commit/90779840d51aa3fff6fa030ade7150bc647ac5ff
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LowerInvoke.cpp
M llvm/test/Transforms/LowerInvoke/lowerinvoke.ll
Log Message:
-----------
[LowerInvoke] Use createCallMatchingInvoke instead of rolling it ourselves (#200536)
Using createCallMatchingInvoke ensures we copy metadata from the invoke
onto the call.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 1f10f1ca8af3dff956b353d7ff3ea169c82ed909
https://github.com/llvm/llvm-project/commit/1f10f1ca8af3dff956b353d7ff3ea169c82ed909
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-30 (Sat, 30 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 (#200595)
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.
---
This is a pure reland of #199615 (reverted in #200421) after fixing
the PoisoningVH bug by #200540.
Non-core cleanups aided by Claude Opus 4.7.
Commit: 6d2a90bd8bf321df0d1c3f2953fcc51ce5344b13
https://github.com/llvm/llvm-project/commit/6d2a90bd8bf321df0d1c3f2953fcc51ce5344b13
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:
-----------
[X86] matchBinaryPermuteShuffle - match to X86ISD::SHLD funnel shift patterns (REAPPLIED) (#200604)
Add matchShuffleAsVSHLD helper to recognise shuffle masks that can fold
to funnel shifts
Reapplied with fix for shift amount not being appropriately scaled -
test case added at #200569
Fixes #145276
Commit: 42d712ea62f5430d515ee86c3c351816e4188459
https://github.com/llvm/llvm-project/commit/42d712ea62f5430d515ee86c3c351816e4188459
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/X86/vector_max_bandwidth.ll
Log Message:
-----------
[X86][TTI] Use dyn_cast_or_null in getGSVectorCost. (#200606)
Ptr may be nullptr, use dyn_cast_or_null to fix crash.
Fixes https://github.com/llvm/llvm-project/issues/200330.
Commit: 8d5d550242cfda2deb9a098b6f86b4fd0b1c06a6
https://github.com/llvm/llvm-project/commit/8d5d550242cfda2deb9a098b6f86b4fd0b1c06a6
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Factor vputils::getIntrinsicID (NFC) (#200174)
In preparation to get getOpcodeOrIntrinsicID used by CSE to handle calls
and to constant-fold intrinsic calls, factor out vputils::getIntrinsicID
from VPlanPatternMatch to re-use.
Commit: 223ef1f31274c5dc0f176789fa09e9e467fb49fe
https://github.com/llvm/llvm-project/commit/223ef1f31274c5dc0f176789fa09e9e467fb49fe
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/promoted-complex-div.c
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.h
M llvm/include/llvm/IR/NoFolder.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extracts-from-scalarizable-vector.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reduction-extension-after-bitwidth.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/reorder-same-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/const-reduced-vals-resized.ll
M llvm/test/Transforms/SLPVectorizer/X86/constant-based-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_reordering_undefs.ll
M llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbw-multiused-from-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduce-with-folded-to-consts.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-replace-extractelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-value-in-tree.ll
M llvm/test/Transforms/SLPVectorizer/X86/reschedule-only-scheduled.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-replace-extractelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/trunc-node-reused.ll
Log Message:
-----------
[IRBuilder] ConstFold unary intrinsics (#200496)
Extend TargetFolder and InstSimplifyFolder to fold unary intrinsics.
CreateUnaryIntrinsic now returns a Value, similar to
CreateBinaryIntrinsic, and this has necessitated more changes.
Commit: 866945c20298c1bca4af6973a31f4739dfe49e91
https://github.com/llvm/llvm-project/commit/866945c20298c1bca4af6973a31f4739dfe49e91
Author: Nhat Nguyen <nhat7203 at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__ranges/concat_view.h
M libcxx/include/module.modulemap.in
M libcxx/include/ranges
M libcxx/include/version
M libcxx/modules/std/ranges.inc
A libcxx/test/libcxx/ranges/range.adaptors/range.concat/iterator.valueless_by_exception.pass.cpp
A libcxx/test/libcxx/ranges/range.adaptors/range.concat/nodiscard.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/adaptor.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/begin.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/constraints.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/ctad.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/ctor.default.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/ctor.views.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/end.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/arithmetic.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/compare.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/ctor.default.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/ctor.other.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/decrement.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/deref.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/increment.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/iter_move.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/iter_swap.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/member_types.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/subscript.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/size.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/types.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][ranges] P2542R8: Implement `views::concat` (#120920)
Closes #105419
Closes #105348
Closes #105349
Closes #171314
Assisted-by: Chatgpt.
I use AI to help me write some tests, however. I have reviewed the code
I submit in the tests.
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Hristo Hristov <hghristov.rmm at gmail.com>
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 7a07381d55111165be955ae7919c460b71aed0ae
https://github.com/llvm/llvm-project/commit/7a07381d55111165be955ae7919c460b71aed0ae
Author: lntue <lntue at google.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M libc/src/wctype/CMakeLists.txt
M libc/src/wctype/wctype.cpp
R libc/src/wctype/wctype.h
A libc/src/wctype/wctype_impl.h
M libc/test/src/wctype/iswctype_test.cpp
M libc/test/src/wctype/wctype_test.cpp
Log Message:
-----------
[libc][wctype] Rename src/wctype/wctype.h to avoid name collision with system header. (#200613)
Commit: b51054818b78dc395cd4d33f17cfb6e98a36a76d
https://github.com/llvm/llvm-project/commit/b51054818b78dc395cd4d33f17cfb6e98a36a76d
Author: Justin T. Gibbs <gibbs at scsiguy.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.cpp
Log Message:
-----------
[asan] NFC: tag ambiguous literal args at Allocate call sites (#200615)
Groundwork for #200478
Add /*name=*/ comments to ambiguous literal call-site arguments in
compiler-rt/lib/asan/asan_allocator.cpp so the parameter name is visible
at the call site for the Allocate / instance.Allocate uses. Covers the
can_fill flag and the bare alignment literals (8, 16, 0) used by:
asan_malloc / asan_vec_malloc / asan_realloc / asan_valloc /
asan_pvalloc / asan_memalign / asan_aligned_alloc /
asan_posix_memalign / asan_new / asan_new_aligned
and the internal Reallocate / Calloc paths.
NFC.
Assisted by: Claude Opus 4.7
Commit: baa079610087a765edf4edada9e3f155c8ef0b16
https://github.com/llvm/llvm-project/commit/baa079610087a765edf4edada9e3f155c8ef0b16
Author: Justin T. Gibbs <gibbs at scsiguy.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_malloc_mac.cpp
M compiler-rt/lib/asan/asan_new_delete.cpp
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
Log Message:
-----------
[asan] NFC: clang-format allocator-related files (#200478)
Depends on #200615
Groundwork for #196413.
Mechanical cleanup of allocator related files in preparation of
functional changes. clang-format (v21.1.2) applied whole-file to:
compiler-rt/lib/asan/asan_allocator.cpp
compiler-rt/lib/asan/asan_allocator.h
compiler-rt/lib/asan/asan_malloc_linux.cpp
compiler-rt/lib/asan/asan_malloc_mac.cpp
compiler-rt/lib/asan/asan_new_delete.cpp
compiler-rt/lib/asan/tests/asan_noinst_test.cpp
Both compiler-rt/lib/asan/.clang-format and
compiler-rt/lib/sanitizer_common/.clang-format use
"BasedOnStyle: Google", so pointer alignment becomes "Type* name"
throughout.
NFC.
Assisted by: Claude Opus 4.7
Commit: 16a127b531eb7916d5f3b4839d1a9cc2852df4b1
https://github.com/llvm/llvm-project/commit/16a127b531eb7916d5f3b4839d1a9cc2852df4b1
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/GVN/invariant.group.ll
M llvm/test/Transforms/NewGVN/invariant.group.ll
M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll
Log Message:
-----------
[IR] Fix !invariant.group in combineMetadataForCSE when K moves (#200551)
SimplifyCFG mergeConditionalStoreToAddress currently transforms
if (cond)
store ptr, x !invariant.group;
else
store ptr, y;
into
store ptr, select(cond, x, y) !invariant.group; // BUG
It's clearly not valid to preserve !invariant.group here.
Fix this inside combineMetadataForCSE. It can only preserve
!invariant.group if
1. !DoesKMove, meaning that original instruction ("K") is replaced by
the combined instruction in place, without moving it,
2. Both stores have !invariant.group.
This matches the logic for preserving !invariant.load.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: dbf01d40ca99e24756f7872ea39644b2fdb46f3d
https://github.com/llvm/llvm-project/commit/dbf01d40ca99e24756f7872ea39644b2fdb46f3d
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h
Log Message:
-----------
[bazel] Add CLANG_USE_EXPERIMENTAL_CONST_INTERP (fixup for #199396) (#200619)
Commit: b17edc69b07d2753ca74a3a0139cbfa68f2940b8
https://github.com/llvm/llvm-project/commit/b17edc69b07d2753ca74a3a0139cbfa68f2940b8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
Log Message:
-----------
[ExpandIRInsts] Drop ProfcheckDisableMetadataFixes in some cases (#200627)
This is unnecessary inside of applyProfMetadataIfEnabled because it is
already handled before the callback lambda gets called within the
function. There was also a redundant case to remove.
Commit: 1f2223d231a73da00168b6c205a0e59e147a55d3
https://github.com/llvm/llvm-project/commit/1f2223d231a73da00168b6c205a0e59e147a55d3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ExpandIRInsts] Fix profile metadata after #200291 (#200629)
Commit: e920ece6ae3ba4b41b0a5ba9a7a6b95b9eb560d6
https://github.com/llvm/llvm-project/commit/e920ece6ae3ba4b41b0a5ba9a7a6b95b9eb560d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/prefer-w-inst.mir
M llvm/test/CodeGen/RISCV/sextw-removal.ll
Log Message:
-----------
[RISCV] Prevent RISCVOptWInstrs from shrinking volatile LD instructions. (#200472)
Fixes #200379
Commit: b49a468051e1d36af19096cd01ff6a4b9a367ead
https://github.com/llvm/llvm-project/commit/b49a468051e1d36af19096cd01ff6a4b9a367ead
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/include/llvm/ProfileData/GCOV.h
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
Log Message:
-----------
[Profile] Remove unused argument of DataExtractor constructor (NFC) (#197119)
`AddressSize` parameter is not used by `DataExtractor` and will be
removed in the future. See #190519 for more context.
Commit: 80f6b7641ef95d435a9e641970291375e3013cbe
https://github.com/llvm/llvm-project/commit/80f6b7641ef95d435a9e641970291375e3013cbe
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/include/llvm/Object/ELF.h
M llvm/lib/Object/Decompressor.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
Log Message:
-----------
[Object] Remove unused argument of DataExtractor constructor (NFC) (#197124)
`AddressSize` parameter is not used by `DataExtractor` and will be
removed in the future. See #190519 for more context.
Commit: da3f152eebca11285f33777bf3bb97f69fb9f10d
https://github.com/llvm/llvm-project/commit/da3f152eebca11285f33777bf3bb97f69fb9f10d
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/include/llvm/IR/Constant.h
M llvm/include/llvm/IR/Constants.h
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
Log Message:
-----------
[IR][NFC] Fast path for Constant::isNullValue (#200434)
Constant::isNullValue is the, by far, most frequently called out-of-line
function of Constant. It also has non-trivial logic and needs to switch
on the class type.
Therefore, compute the "is null" property once on construction and store
it in an unused bit in SubclassOptionalData.
This improves performance of stage2-O3 by 0.15%.
Commit: c78c9004a7f82de1c9d9e7489651e4d6e9320e01
https://github.com/llvm/llvm-project/commit/c78c9004a7f82de1c9d9e7489651e4d6e9320e01
Author: David Green <david.green at arm.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
Log Message:
-----------
[AArch64] Add tests for bf16 convert with fast-math flags. NFC (#200643)
Commit: a67efda258fa73c7b6b915fb31b8412b800a15e9
https://github.com/llvm/llvm-project/commit/a67efda258fa73c7b6b915fb31b8412b800a15e9
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
Log Message:
-----------
[VPlan] Recognize shl by constant in getSCEVExprForVPValue. (#199359)
Treat `shl x, c` (with c < bitwidth) as `x * (1 << c)` so callers that
analyze GEP indices via SCEV can see through stride shifts written as
logical shifts.
PR: https://github.com/llvm/llvm-project/pull/199359
Commit: 7966cbbdd02b686dbee9134514ea113772bcfa62
https://github.com/llvm/llvm-project/commit/7966cbbdd02b686dbee9134514ea113772bcfa62
Author: Conor Kotwasinski <conorkotwasinski2024 at u.northwestern.edu>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/alias_mask.ll
M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
M llvm/test/CodeGen/AArch64/fixed_masked_deinterleaved_loads.ll
M llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
Log Message:
-----------
[AArch64] Use ADDP tree for v16i8 to i16 bitmask extraction (#199812)
Re-land of #192974, reverted in 868aefd.
The original PR was reverted because the new lowering produced an
EXTRACT_VECTOR_ELT with an illegal i16 result type, which tripped the
operation legalizer when called from combineBoolVectorAndTruncateStore
on a `<32 x i1>` store split into two `<16 x i1>` halves. Returning i32
(handled by the caller's existing getZExtOrTrunc) avoids this.
Regression test added: bitmask_v32i8_split in
vec-combine-compare-to-bitmask.ll.
Note: in alias_mask.ll's whilewr_8_split2, the four halfword bitmask
results are now stored as separate `str h` × 4 rather than packed into
a d-register via ZIP1+EXT before a single store. Functionally
equivalent, slightly fewer NEON arithmetic ops. Side effect of the i32
return type; the store-merging combine doesn't match the same shape.
Commit: 37845da44408c608b691c702375e06dccfd8b803
https://github.com/llvm/llvm-project/commit/37845da44408c608b691c702375e06dccfd8b803
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
Log Message:
-----------
[clang-tidy] `use-ranges`: preserve used `unique` results (#196035)
Preserve iterator uses when replacing `std::unique` with
`std::ranges::unique` by appending `.begin()` in used-result contexts.
Fix #127658
Assisted by Codex.
Commit: 8dc098589f3123003846244e8df642a58bd17f4a
https://github.com/llvm/llvm-project/commit/8dc098589f3123003846244e8df642a58bd17f4a
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-default-member-init.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-default-member-init/non-visible-references.h
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-non-visible-references-notes.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-non-visible-references.cpp
Log Message:
-----------
[clang-tidy] Avoid unsafe `use-default-member-init` fixes (#191607)
Suppress `modernize-use-default-member-init` diagnostics when moving a
constructor initializer into a default member initializer would
reference a declaration not visible from the field declaration.
Add `IgnoreNonVisibleReferences` to allow preserving the warning without
emitting unsafe fix-its, and document the new behavior.
Fixes #156412
Assisted by Codex
Commit: b48743be091be62232e3d51b7481604d224b992a
https://github.com/llvm/llvm-project/commit/b48743be091be62232e3d51b7481604d224b992a
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
Log Message:
-----------
[clang-tidy] `use-ranges`: preserve iterator results with `.begin()` (#196036)
Preserve used iterator results for `remove`, `partition`,
`stable_partition`, and `rotate`-style replacements by appending
`.begin()` where the ranges algorithm returns a subrange.
Fix #124794
Assisted by Codex.
Commit: fe87c971bf07eb38af97ca96bf2810e94e7549dc
https://github.com/llvm/llvm-project/commit/fe87c971bf07eb38af97ca96bf2810e94e7549dc
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/tools/llubi/lib/Context.cpp
Log Message:
-----------
[llubi] Fix the number of words to reserve in `Context::toBytes` (#200651)
The bits should be divided by 64 instead of 8 :(
Commit: 5d20fd32807e4fdb4fc8b278a77c0ab06676fd15
https://github.com/llvm/llvm-project/commit/5d20fd32807e4fdb4fc8b278a77c0ab06676fd15
Author: Maximilian Ehlers <2843450+b-m-f at users.noreply.github.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M mlir/docs/Tutorials/Toy/Ch-2.md
Log Message:
-----------
[mlir] Fix typo in toy tutorial (#200640)
Signed-off-by: Maximilian Ehlers <maximilian at sodawa.com>
Commit: 025b9a27cf74c16e1b1467aa8d7423abaac8363b
https://github.com/llvm/llvm-project/commit/025b9a27cf74c16e1b1467aa8d7423abaac8363b
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/docs/TableGen/ProgRef.rst
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
A llvm/test/TableGen/switch.td
Log Message:
-----------
[TableGen] Add !switch operator (#199659)
This patch add a syntactic sugar operator to TableGen named `!switch`,
to simplify use cases where a user needs to conditionally use a value
based on exact key match. It supports variadic case arguments (0 or
more). It requires a default value - which creates a stricter grammar
that is simpler to parse, and I think the flexibility cost is not real -
it is considered a best practice in SW design for switch expressions (or
statements) on arbitrary types to always provide a default.
At parse time, after key and value type-checking, we reduce the
`!switch` expression to `!cond`, as they effectively entirely share the
downstream logic. The impl also extracts a shared pre-reduction
type-checking for `!switch` and `!cond` called
`TGParser::resolveInitTypes`.
Motivation: switch-behaving `!cond` value selection in `llvm/lib/Target`
e.g. from `llvm/lib/Target/AArch64/AArch64InstrFormats.td`:
```
// Helper class to convert vector element types to integers.
class ChangeElementTypeToInteger<ValueType InVT> {
ValueType VT = !cond(
!eq(InVT, v2f32): v2i32,
!eq(InVT, v4f32): v4i32,
// TODO: Other types.
true : untyped);
}
```
It seems like the patch can possibly have a pretty wide impact following
up, and make many parts of TableGen code a bit more compact. I intend to
migrate actual TableGen code in followup patches.
Commit: 07f9a7d2ab89731bdb9e4093c66f35c46044894a
https://github.com/llvm/llvm-project/commit/07f9a7d2ab89731bdb9e4093c66f35c46044894a
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex-atomic-cast.c
Log Message:
-----------
[CIR] Implement Atomic Complex to Complex cast (#199260)
Implement Atomic Complex to Complex types cast
Issue https://github.com/llvm/llvm-project/issues/192331
Commit: a89a6596129cbfdf788c5d0af0d4e071708afcf4
https://github.com/llvm/llvm-project/commit/a89a6596129cbfdf788c5d0af0d4e071708afcf4
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/test/Transforms/TailCallElim/accum_recursion.ll
M llvm/test/Transforms/TailCallElim/dropping_debugloc_acc_rec_inst_rnew.ll
Log Message:
-----------
[TailCallElim] Drop poison-generating flags on reassociated accumulators (#200624)
For example if you have recursion like
int prod(n) {
if (n == 0) return 1;
return prod(n-1) * f(n)
}
then logically this computes (((f(1) * f(2)) * f(3)) * f(4)) * ... f(n).
But TailCallElim reassociates this, computing instead
((f(n) * f(n-1)) * f(n-2)) * ...
If the operator (* in this case) had poison-generating flags like
nsw, those may not still apply after reassociation. (For example,
suppose in this example f(1) returns 0 -- in that case the original
multiplication cannot overflow, but the new one still might.)
Fix this by clearing the poison-generating flags after reassociating.
Commit: c42f1884730fb51a5f802ad621c0cc7f68715424
https://github.com/llvm/llvm-project/commit/c42f1884730fb51a5f802ad621c0cc7f68715424
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M lldb/source/Commands/CommandObjectFrame.cpp
Log Message:
-----------
[lldb] Fix up comment placement (NFC) (#200671)
Follow up to https://github.com/llvm/llvm-project/pull/200084
Commit: 77860f206812145c7d327aa139a75ed09726695e
https://github.com/llvm/llvm-project/commit/77860f206812145c7d327aa139a75ed09726695e
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[NFC][LLVM] Remove redundant verifier type checks for some intrinsics (#200658)
Remove the following redundant type checks:
* `[s|u]div_fix*` intrinsics, existing checks in `isSignatureValid` will
verify that arg0 and arg1 are int or int vectors (since they use
`llvm_anyint_ty`) and arg2 is declared as i32, so checks related to it
are also redundant.
* For `lrint` family, the result is `llvm_anyfloat_ty` and the argument
is `llvm_anyint_ty`, so one of the checks is redundant.
Commit: 5000716798109db57396540160b9d989441b95b6
https://github.com/llvm/llvm-project/commit/5000716798109db57396540160b9d989441b95b6
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Convert math.cttz to spirv.GLFindILsb (#200455)
Commit: e3574d46e0de8d2c96beb0d092812a3cab153db7
https://github.com/llvm/llvm-project/commit/e3574d46e0de8d2c96beb0d092812a3cab153db7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
Log Message:
-----------
[NFC][LLVM] Fix Intrinsics.td to adhere to 80 col limit (#199346)
Verified that there is no difference in the tablegen generated files for
intrinsics except line number changes in the comments in
IntrinsicEnums.inc.
Commit: 62a23823a97991f09745b9e76f81b490989bc467
https://github.com/llvm/llvm-project/commit/62a23823a97991f09745b9e76f81b490989bc467
Author: Vedran Miletić <vedran at miletic.net>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
Log Message:
-----------
[AMDGPU] Use v_rsq_f32 for f16 rsqrt on targets without 16-bit insts (#200646)
On gfx6/gfx7 the f16 1.0/sqrt(x) pattern was not folded to a reciprocal
square root because performFDivCombine bailed out whenever f16 fsqrt was
not a legal operation. f16 fsqrt is Custom (promoted) on these targets,
so the combine never fired and the full f32 fdiv expansion was emitted.
Split the legality check: when same-type fsqrt is legal (gfx8+), keep
emitting the native rsq. For f16 without a legal fsqrt, compute the
reciprocal square root in f32 with v_rsq_f32 and round back. This is
accurate enough for f16, and needs no denormal scaling because every f16
value extends to a normal f32 and an f16 rsq result is never denormal.
bf16 is intentionally left expanded: it shares f32's exponent range, so
bf16 denormals would extend to f32 denormals that v_rsq_f32 does not
handle.
Fixes #76948
Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
Commit: 4298580c5516bc37c5afd3389b61374ac4b6014e
https://github.com/llvm/llvm-project/commit/4298580c5516bc37c5afd3389b61374ac4b6014e
Author: David Green <david.green at arm.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
A llvm/test/CodeGen/Thumb2/mve-shuffle-fp16.ll
Log Message:
-----------
[ARM] Fix some fp16 Shuffle lowering without +fullfp16 (#200688)
Without fullfp16 f16 is not a legal type, meaning we need to be careful
with
how we legalize shuffle vector and buildvector operations that cannot be
treated more optimially using shuffles.
Commit: 0631ac764a565ed13283e3c7b70a746d0a8018cc
https://github.com/llvm/llvm-project/commit/0631ac764a565ed13283e3c7b70a746d0a8018cc
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
Log Message:
-----------
[clang-format] Remove the blank line in the function try block (#199086)
old with config `{SeparateDefinitionBlocks: Always}`
```C++
void foo() try {
// do something
} catch (const std::exception &e) {
// handle exception
}
```
new
```C++
void foo() try {
// do something
} catch (const std::exception &e) {
// handle exception
}
```
Fixes #58183.
With the option `SeparateDefinitionBlocks` set, the program previously
added a blank line in the catch block. Now the problem is fixed.
Commit: fae9a1c3e887d58f03994d078f117e1f29b1810c
https://github.com/llvm/llvm-project/commit/fae9a1c3e887d58f03994d078f117e1f29b1810c
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/FormatTestVerilog.cpp
Log Message:
-----------
[clang-format] Recognize Verilog class item qualifiers (#199085)
old
```SystemVerilog
class Packet
extern protected virtual function int send
(int value);
endclass : Packet
```
new
```SystemVerilog
class Packet
extern protected virtual function int send
(int value);
endclass : Packet
```
Previously the `extern` line failed to parse completely because the
`protected virtual` part was not recognized. It made the following lines
get indented wrong.
Commit: 6897c5e24ce5e78afc2084f2c573577508443db1
https://github.com/llvm/llvm-project/commit/6897c5e24ce5e78afc2084f2c573577508443db1
Author: Min-Yih Hsu <min at myhsu.dev>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
M llvm/lib/Target/M68k/M68kAsmPrinter.cpp
M llvm/lib/Target/M68k/M68kAsmPrinter.h
M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kInstrControl.td
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/M68k/M68kInstrFormats.td
M llvm/lib/Target/M68k/M68kInstrInfo.td
M llvm/lib/Target/M68k/MCTargetDesc/M68kBaseInfo.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMemOperandPrinter.h
M llvm/test/MC/Disassembler/M68k/data.txt
A llvm/test/MC/M68k/Data/Classes/lea-m68020.s
M llvm/test/MC/M68k/Relocations/PIC/text-plt.s
M llvm/test/MC/M68k/Relocations/text-plt.s
Log Message:
-----------
[M68k][MC] Add MC support for PCI w/ base displacement addressing mode (#200696)
Program Counter Indirect with Index (PCI) is augmented in M68020+ with
(1) larger displacement (up to 32-bit), and (2) Index scaling factor. We
call this PCIBD (PCI with Base Displacement) to distinguish it with the
older PCI.
Since all the components inside PCIBD are optional, including index
register, we can actually use it to replace PCD (PC displacement)
addressing mode in newer machines in order to leverage the larger
displacement.
This is the first step to support 32-bit memory addresses on M68020+
machines.
Commit: 86350249871598fe76318ebd21af468879b9e87e
https://github.com/llvm/llvm-project/commit/86350249871598fe76318ebd21af468879b9e87e
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/sve-ldst-multi-vec.mir
Log Message:
-----------
[AArch64][SME] Add multi-vector load opcodes to getMemOpInfo (#200238)
We recently started emitting these in
84fab943b5740ec273e9f8d238ea8420033320a4, which now means we can hit an
unhandled opcode error in AArch64InstrInfo::getMemOpInfo when resolving
stack offsets.
Fixes #200034
Commit: 1bbd613e6267ea0a08994b56adc73cc7b2b5d07d
https://github.com/llvm/llvm-project/commit/1bbd613e6267ea0a08994b56adc73cc7b2b5d07d
Author: Aayush Shrivastava <79578660+iamaayushrivastava at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Analysis/ValueTracking/recurrence-knownbits.ll
M llvm/test/Transforms/InstCombine/and2.ll
M llvm/test/Transforms/InstCombine/conditional-variable-length-signext-after-high-bit-extract.ll
M llvm/test/Transforms/InstCombine/lshr.ll
M llvm/test/Transforms/InstCombine/shift-direction-in-bit-test.ll
Log Message:
-----------
[InstCombine] Fold lshr 1, X into zext (X == 0) (#200669)
This PR implements the missed optimisation reported in #200538.
`1 >> X` produces 1 only when X == 0, and 0 for all other in-range
values. Fold it directly into `zext (icmp eq X, 0)`.
Commit: 50f452f4b561eafccec23f649e379d9c845afa64
https://github.com/llvm/llvm-project/commit/50f452f4b561eafccec23f649e379d9c845afa64
Author: mike-goutokuji <gfunni234 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
Log Message:
-----------
[InstCombine] Fix miscompilation when folding cttz with non-powers-of-2 (#200583)
Does not fold correctly: https://alive2.llvm.org/ce/z/uhHnBd
Commit: f68ef5b4303de763ecf37fd57cbefc3891ee48c0
https://github.com/llvm/llvm-project/commit/f68ef5b4303de763ecf37fd57cbefc3891ee48c0
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
Log Message:
-----------
[clang-tidy] Fix FP/FN in cppcoreguidelines-missing-std-forward (#178651)
Closes #176873
Commit: 28be1eaf755a36187c40c2e251a663f811db5d9c
https://github.com/llvm/llvm-project/commit/28be1eaf755a36187c40c2e251a663f811db5d9c
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/test/DebugInfo/COFF/fission-sections.ll
Log Message:
-----------
[MC][COFF] Mark .debug_*.dwo sections IMAGE_SCN_LNK_REMOVE (#199616)
Mirror ELF's SHF_EXCLUDE so lld-link drops .dwo content from the linked
image.
Commit: 256d09201cf9728e7cdadde20365cfe063abe3c3
https://github.com/llvm/llvm-project/commit/256d09201cf9728e7cdadde20365cfe063abe3c3
Author: lijinpei-amd <jinpei.li at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
A llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-min-num-agprs.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
Log Message:
-----------
[AMDGPU] Fix missing SIMachineFunctionInfo::MinNumAGPRs from YAML mirror (#200647)
Fixes #162202.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 090308199b301dc5c6a2470b3a6b7ef89866dd6a
https://github.com/llvm/llvm-project/commit/090308199b301dc5c6a2470b3a6b7ef89866dd6a
Author: Thrrreeee <shijinrui at bytedance.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DebugInfo] Make parallel DWARF debug names generation deterministic(1/2) (#197670)
This change makes BOLT's split DWARF rewriting path produce
deterministic debug names output when processing CUs in parallel.
Previously, several pieces of state used while building `.debug_names`
and updating DWO names were populated during parallel CU processing.
This could make CU/TU index assignment, cross-
CU DIE lookup, and duplicate DWO name disambiguation depend on thread
scheduling order, which in turn could lead to non-reproducible output
across runs.
The patch moves DWO name collection into a deterministic pre-processing
step, pre-allocates debug names CU / foreign TU slots before concurrent
processing, protects cross-CU DIE tracking
with a mutex, and adds a stable tie-breaker when sorting accelerator
table entries. It also centralizes creation of the DWO output directory
before parallel work starts.
This improves reproducibility of BOLT output, makes debug info rewriting
less sensitive to parallel execution order, and avoids subtle
nondeterminism in generated `.debug_names` / split DWARF artifacts.
RFC - [[RFC][BOLT] A New Parallel DWARF Processing Approach in
BOLT](https://discourse.llvm.org/t/rfc-bolt-a-new-parallel-dwarf-processing-approach-in-bolt/90736)
(The overall changes will be split into two separate PRs for easier
review.)
Draft PR - [[BOLT][DebugInfo] Add a new parallel DWARF
processing(2/2)](https://github.com/llvm/llvm-project/pull/197859)
(including all changes)
Commit: 41c269c6cb3f6f7fb6da74052d926948ac7a1c0e
https://github.com/llvm/llvm-project/commit/41c269c6cb3f6f7fb6da74052d926948ac7a1c0e
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/docs/AMDGPUAsyncOperations.rst
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][DOCS] add async ops supported by asyncmark on GFX12 onwards (#200374)
Also clean up the text a bit.
Commit: c90a8c270328f5d88b7688f7a4eece8f2100f931
https://github.com/llvm/llvm-project/commit/c90a8c270328f5d88b7688f7a4eece8f2100f931
Author: hanbeom <kese111 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/test/CodeGen/WebAssembly/simd-setcc-reductions.ll
M llvm/test/CodeGen/WebAssembly/simd-vecreduce-bool.ll
Log Message:
-----------
[WebAssembly] Handle wide mask reductions in performSETCCCombine (#189358)
This extends `performSETCCCombine` to handle wide fixed-length mask
reductions such as `v32i1` and `v64i1`.
Small mask reductions already had good combines, but `v32i1`/`v64i1`
cases still fell back to scalar bitmask materialization. This change
adds a wide-mask path using chunked `wasm_anytrue` / `wasm_alltrue`,
while preserving the existing small-mask combines.
For example, a reduction like
%1 = icmp eq <32 x i16> %v, zeroinitializer
%2 = bitcast <32 x i1> %1 to i32
%3 = icmp ne i32 %2, 0
now avoids scalar bitmask reconstruction.
Fixed: https://github.com/llvm/llvm-project/issues/187294
Commit: 0ecf562dac85a29f3de1dd598e3ae0ecc34d1240
https://github.com/llvm/llvm-project/commit/0ecf562dac85a29f3de1dd598e3ae0ecc34d1240
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenAction.cpp
Log Message:
-----------
[Clang] Fix write-to-global TimePassesIsEnabled race condition in BackendConsumer ctor (#200102)
When multiple threads launch multiple clang::CompilerInstance to compile
sources, there is no crash but thread-sanitizer reports race condition
in simultaneously writing to global variables llvm::TimePassesIsEnabled
and llvm::TimePassesPerRun in BackendConsumer constructor.
This PR fixes it using ManagedStatic SmartMutex and SmartScopedLock.
Commit: d083abc9045fc58544892a2a7a67bf1246f5391c
https://github.com/llvm/llvm-project/commit/d083abc9045fc58544892a2a7a67bf1246f5391c
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync-and-module-lds.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync.ll
A llvm/test/CodeGen/AMDGPU/s-barrier-id-allocation.ll
M llvm/test/CodeGen/AMDGPU/s-barrier-lowering.ll
M llvm/test/CodeGen/AMDGPU/s-barrier.ll
Log Message:
-----------
AMDGPU: Improve barrier id allocation (#199997)
The existing barrier ID allocation is over-conservative when a barrier
object was indirectly accessed by several kernels. Instead of the
existing allocate barrier ID for such case per-module basis, we track
the ID allocation per kernel. This would be able to reuse the same
barrier ID for different objects which are accessed (indirectly/directly)
by non-overlapping kernels. See the case: s-barrier-id-allocation.ll.
The motivation comes from downstream use-cases which are handled using
exactly the same mechanism.
I have removed the uniquifyGVPerKernel() since it is less useful in the
new way. And I think there are correctness issues in it. For
non-kernel functions, it just did the replacement without ensuring it is
really called by the kernel (`if (!isKernel(*F) || F == KF)`). This is
problematic if the non-kernel functions was called by other kernels. We
can bring it back carefully if we really need it in the future.
Commit: 7963f459e2f3324f912feab2662a0cd23b5762d7
https://github.com/llvm/llvm-project/commit/7963f459e2f3324f912feab2662a0cd23b5762d7
Author: Yashas Andaluri <yandalur at qti.qualcomm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
A llvm/lib/Target/Hexagon/HexagonAggressiveRDFCopy.cpp
A llvm/lib/Target/Hexagon/HexagonAggressiveRDFCopy.h
M llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp
M llvm/lib/Target/Hexagon/RDFCopy.cpp
M llvm/lib/Target/Hexagon/RDFCopy.h
A llvm/lib/Target/Hexagon/RDFCopyBase.h
M llvm/test/CodeGen/Hexagon/rdf-copy-clobber.mir
A llvm/test/CodeGen/Hexagon/rdf-copy-combine.mir
Log Message:
-----------
[Hexagon] Add AggressiveRDF copy propagation (#182818)
This patch adds a reworked copy propagation algorithm. AggressiveRDF
extends standard RDF copy propagation with support for super-register
and sub-register copy propagation. It determines candidates for copy
propagation by verifying that both the copy instruction and all reached
uses have the same reaching definitions for the source register(s).
Created a RDFCopyBase parent class for the common members used by old
RDF copy propagation and AggressiveRDF copy propagation classes.
AggressiveRDF copy propagation is disabled by default. It can be enabled
using -hexagon-aggressive-rdf-copy=true
Commit: 56f28d538f737bcd50081f75fbb8c01d0bc80c38
https://github.com/llvm/llvm-project/commit/56f28d538f737bcd50081f75fbb8c01d0bc80c38
Author: Justin T. Gibbs <gibbs at scsiguy.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.cpp
Log Message:
-----------
[asan] Allow OOM Policy Injection in Allocator::Allocate API (#196413)
Groundwork for #196388.
Allocator::Allocate() previously unconditionally applied the global
OOM policy as dictated by the AllocatorMayReturnNull() flag: return
nullptr or abort via Report*+Die(). Introduce Allocator::AllocateImpl()
which delegates this decision to the caller via its 'may_return_null'
boolean parameter, allowing future changes to the operator new
implementation to fully control this behavior.
Implementation:
* Rename Allocator::Allocate(...) to Allocator::AllocateImpl(...) and
add a may_return_null parameter that replaces the three internal
AllocatorMayReturnNull() calls (RSS limit, oversize, OOM).
* Reintroduce Allocator::Allocate(...) as a thin wrapper that calls
AllocateImpl(..., AllocatorMayReturnNull()), preserving the
flag-deferring semantics for every existing caller.
NFC.
Commit: f86ce229856e0cf4cbcd29ce1261596a5cb79aa5
https://github.com/llvm/llvm-project/commit/f86ce229856e0cf4cbcd29ce1261596a5cb79aa5
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCAsmInfoELF.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/MC/MCAsmInfoWasm.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
Log Message:
-----------
[MC] Remove PrivateLabelPrefix in favor of InternalSymbolPrefix. NFC (#200700)
Every target sets `PrivateLabelPrefix` equal to `InternalSymbolPrefix`.
BPF was the last target where the two diverged, and it was unified to
".L"
(#185164).
With no remaining target distinguishing the two, drop the redundant
`PrivateLabelPrefix` member and `getPrivateLabelPrefix` accessor and
route
the basic-block label callers (MCContext::createBlockSymbol, the
inline-asm
label fixups in AsmParser/MasmParser, and BOLT) through
`getInternalSymbolPrefix`.
Commit: 0b70118713e57c947914888310584589ffca664d
https://github.com/llvm/llvm-project/commit/0b70118713e57c947914888310584589ffca664d
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
Log Message:
-----------
[SelectionDAG] Fix SplitVecRes_VP_REVERSE for sub-byte (i1) element types (#200625)
The strided-store/reload reverse computes the byte stride as
getScalarSizeInBits() / 8, which is 0 for i1: every lane lands at the
same address and the result is garbage.
Widen sub-byte elements to a byte integer (i1 -> i8), reverse, then
truncate back.
Commit: a98f112fa80eab69f843e1e6326e0ef58f6d02d6
https://github.com/llvm/llvm-project/commit/a98f112fa80eab69f843e1e6326e0ef58f6d02d6
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-31 (Sun, 31 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
Log Message:
-----------
[SelectionDAG] Fix SplitVecRes_VP_SPLICE for sub-byte (i1) element types (#200626)
The stack splice addresses elements by byte offset
(getVectorElementPointer) and, for a negative offset,
a stride of getScalarSizeInBits() / 8. Both break for i1:
getVectorElementPointer asserts, or the stride degenerates
to 0.
Widen sub-byte elements to a byte integer (i1 -> i8), splice, then truncate
back, like SplitVecRes_VP_REVERSE.
Commit: 01b0cccf58d2f908d8d9a29188dc586d17261b64
https://github.com/llvm/llvm-project/commit/01b0cccf58d2f908d8d9a29188dc586d17261b64
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
Log Message:
-----------
[Maintainers] Fix broken libc link (NFC) (#199653)
Was recently converted to .md (836c77bc0282).
Commit: f0c423380111db36f946c4ffd696928cf09db78a
https://github.com/llvm/llvm-project/commit/f0c423380111db36f946c4ffd696928cf09db78a
Author: David Green <david.green at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
A llvm/test/CodeGen/AArch64/ld1st1_post_mmo.ll
Log Message:
-----------
[AArch64] Copy MMO in ld1 / st1 post index selection. (#199023)
The non-postinc variants were already copying the MMO, this extend that
to the post variants of the instructions, allowing better scheduling.
Commit: dbe5e3391c0f7ecb4dd5b3f8943c1ebf689e4118
https://github.com/llvm/llvm-project/commit/dbe5e3391c0f7ecb4dd5b3f8943c1ebf689e4118
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/sys-param-macros.h
A libc/include/sys/param.yaml
Log Message:
-----------
[libc] Add sys/param.h header (#200559)
Added the sys/param.h header containing standard BSD macros:
* NBBY
* MIN and MAX
* howmany, roundup, and powerof2
* MAXPATHLEN
The macros are defined in llvm-libc-macros/sys-param-macros.h with
guards to prevent redefinition conflicts.
Enabled the header for x86_64, aarch64, riscv, and arm Linux targets.
Assisted-by: Automated tooling, human reviewed.
Commit: 85ec9552dc84cbc5acd025bdeb9b258b044591b9
https://github.com/llvm/llvm-project/commit/85ec9552dc84cbc5acd025bdeb9b258b044591b9
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A llvm/docs/AMDGPUMemoryModel.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/UserGuides.rst
Log Message:
-----------
[AMDGPU] A Vulkan-style memory model weaker than the LLVM model (#191246)
Add a new AMDGPU memory model specification that is weaker than the LLVM
memory model using Vulkan-style availability/visibility semantics and
scoped operations. The model allows more efficient implementations while
maintaining a safe-by-default mapping to the standard LLVM model.
**RFC:**
https://discourse.llvm.org/t/a-vulkan-style-memory-model-for-amdgpu-and-beyond/90498
Related changes:
- #191390
- #199489
Commit: db5d4d8e1e79a7cda990d7bb96881eb6316a3055
https://github.com/llvm/llvm-project/commit/db5d4d8e1e79a7cda990d7bb96881eb6316a3055
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan][NFC] Extract logical recipe simplifications from simplifyRecipe() (#196915)
Taking suggestion from here by @david-arm
https://github.com/llvm/llvm-project/pull/196080#pullrequestreview-4237356141 - outlining logical recipees.
Commit: fb2fe71ffe5ffbced0ce2ce1f4c81bfcb5d487d9
https://github.com/llvm/llvm-project/commit/fb2fe71ffe5ffbced0ce2ce1f4c81bfcb5d487d9
Author: David Green <david.green at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
Log Message:
-----------
[AArch64] Generate umaddl and smaddl from disjoint or (#200198)
Similar to other patches recently, this adds add_like handling to the
tablegen patterns for smaddl and umaddl, allowing them to match from
disjoint or.
Commit: c9b2d7224c006239641214b2b58b0ab67a254308
https://github.com/llvm/llvm-project/commit/c9b2d7224c006239641214b2b58b0ab67a254308
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
Log Message:
-----------
[TBAA] Remove handling for old TBAA format (#200370)
Nowadays only struct-path TBAA is supported, and the verifier enforced
this.
Commit: 44ddc97ade5ae1dcc06a10492ac9f2119cecd9c4
https://github.com/llvm/llvm-project/commit/44ddc97ade5ae1dcc06a10492ac9f2119cecd9c4
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/TableGen/TGParser.cpp
Log Message:
-----------
[TableGen] Remove redundant special BitsInit/BitInt resolution(NFC) (#200674)
BitsInit and BitInt are subclasses of TypedInit, so the code above will
handle them and separate if for them is not necessary. See
https://github.com/llvm/llvm-project/pull/199659#discussion_r3319597920
Keeping the test cases in `llvm/test/TableGen/switch.td` to avoid
regressions.
Commit: b73b44b5f8463072b9084b2d791f7639f0adad17
https://github.com/llvm/llvm-project/commit/b73b44b5f8463072b9084b2d791f7639f0adad17
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/TableGen/TGParser.cpp
Log Message:
-----------
[TableGen] Align ParseOperationCond vector names(NFC) (#199666)
Depends on https://github.com/llvm/llvm-project/pull/199659. The first 1
commits are from the base PR.
Commit: e5ab4f8a1f766febdc65ce89c00dec85393cfd68
https://github.com/llvm/llvm-project/commit/e5ab4f8a1f766febdc65ce89c00dec85393cfd68
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
R lldb/test/Shell/Commands/process-attach-dummy.test
Log Message:
-----------
[lldb] Fix CommandInterpreter::GetExecutionContext (#199922)
Following up Jonas's comment in #198949, this patch changes the function
to not ignore the override context in the adopt_dummy_target=false case.
However, I don't implement Jonas's suggestion exactly either. Instead of
"bypassing" the override context if it contains the dummy target, this
patch returns an empty context instead. I think this makes more sense,
as the intention of the user may very well have been to run the command
in the context of the dummy target. The test suite has no opinion either
way, but this is sufficient to fix the regression that #198949 was
trying to fix.
I also delete the test added in that PR, as the tests in this patch
cover more cases, and the test has the potential of interfering with
another process/test running on the same system.
Commit: 6a33d3f71207ae2d8497bbc29f738a91bf38aab4
https://github.com/llvm/llvm-project/commit/6a33d3f71207ae2d8497bbc29f738a91bf38aab4
Author: David Green <david.green at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-exp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sinh.mir
Log Message:
-----------
[AArch64][GlobalISel] Fill in some missing float types in mir tests. NFC (#200743)
Commit: 7a435caaf3faa8ac36ac8bb57a34e9042f2bf63a
https://github.com/llvm/llvm-project/commit/7a435caaf3faa8ac36ac8bb57a34e9042f2bf63a
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/utils/TableGen/Common/CMakeLists.txt
R llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
R llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
A llvm/utils/TableGen/Common/GlobalISel/MatchTable/MatchTable.cpp
A llvm/utils/TableGen/Common/GlobalISel/MatchTable/MatchTable.h
A llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
A llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
A llvm/utils/TableGen/Common/GlobalISel/MatchTable/Types.cpp
A llvm/utils/TableGen/Common/GlobalISel/MatchTable/Types.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Reorganize GlobalISelMatchTable.h/.cpp (#200153)
This file was a bit of a kitchen sink, and the implementation of the
match table is sufficiently difficult to get comfortable with already.
I spent the past few weeks looking at it, finding improvements, etc. and
I think a nice way to make it a bit easier to approach is to split up
the file a bit so that the main implementation (Matchers.h/.cpp) only
contains the code pertaining to the Matchers (RuleMatchers, Preds,
etc.).
We now have 3 files:
- One for type (LLT) related utilities.
- One for the MatchTable emission logic, which is generic and should not
be tied to any specific implementation. It just has the tools to emit
the opcodes for the table.
- One for the entire Matcher system, including PredicateMatchers and so
on.
Commit: ea6769c8c7ddeed6643ce2487d6c96d8f1b8abb2
https://github.com/llvm/llvm-project/commit/ea6769c8c7ddeed6643ce2487d6c96d8f1b8abb2
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/include/llvm/DWARFLinker/AddressesMap.h
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DIEAttributeCloner.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
Log Message:
-----------
[DWARFLinker] Remove unused argument of DataExtractor constructor (NFC) (#196364)
`AddressSize` parameter is not used by `DataExtractor` and will be
removed in the future. See #190519 for more context. As a drive-by
change, use the constructor taking ArrayRef where it allows removing
extra casts.
Commit: 13e62f031fcfba57d525727e39e2e7e53c245435
https://github.com/llvm/llvm-project/commit/13e62f031fcfba57d525727e39e2e7e53c245435
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
Log Message:
-----------
[LoopInterchange] Enable it by default (#124911)
This enables loop-interchange, which was first discussed here:
https://discourse.llvm.org/t/enabling-loop-interchange/82589
All bugs have been fixed, including DependenceAnalysis, and all
components have at least one maintainer; default enablement is
now meeting the requirements in the Developer's policy.
This has been a major effort by different people, many thanks to:
- Ryotaro Kasuga,
- Madhur Amilkanthwar,
- Sebastian Pop,
- Ehsan Amiri,
- Michael Kruse,
- Nikita Popov,
- Sjoerd Meijer.
Commit: fa02a6ed66b1700c996b49c96c6bc0eb014c9518
https://github.com/llvm/llvm-project/commit/fa02a6ed66b1700c996b49c96c6bc0eb014c9518
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
Log Message:
-----------
[SimplifyCFG] Permit less dense lookup tables (#200664)
It should be most often beneficial to generate a lookup table instead of
a jump table: the lookup table is rarely larger, but saves on
instructions and an indirect branch. Therefore, adjust the lookup table
threshold to match the jump table threshold.
The motivation is clang::Decl::castToDeclContext, which is a rather hot
function when parsing C++ programs, but the switch density is just 38%.
This improves stage2-O0g by 0.17% (7zip/kimwitu++ >0.5%).
Commit: 91b77dc685cf628cbf925e43e25f2f86a912b38b
https://github.com/llvm/llvm-project/commit/91b77dc685cf628cbf925e43e25f2f86a912b38b
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/TrackingMDRef.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Metadata.cpp
A llvm/test/Assembler/dbg-declare-invalid-debug-loc.ll
A llvm/test/Assembler/dbg.ll
M llvm/test/CodeGen/X86/stack-protector-dbginfo.ll
M llvm/test/DebugInfo/Generic/2009-10-16-Phi.ll
M llvm/test/DebugInfo/Generic/location-verifier.ll
M llvm/test/DebugInfo/MIR/X86/regcoalescer.mir
M llvm/test/Transforms/MergeFunc/mergefunc-preserve-nonnull.ll
M llvm/test/Verifier/RemoveDI/llvm.dbg.intrinsic-dbg-attachment.ll
R llvm/test/Verifier/dbg-declare-invalid-debug-loc.ll
M llvm/test/Verifier/dbg.ll
M llvm/test/tools/llvm-reduce/remove-metadata.ll
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[IR] Don't use TrackingMDNodeRef for DebugLoc (#200649)
TrackingMDNodeRef is expensive and the tracking functionality is only
used when parsing textual LLVM IR. Therefore, store a plain DILocation
pointer in DebugLoc and update the debug locs explicitly when parsing
finishes.
Invalid debug metadata now fails directly at parsing and not (just)
later when verifying. A consequence is that old-style DILocations cannot
be parsed from textual IR anymore.
As related cleanup, remove the now-unused hasTrivialDestructor() on
TrackingMDRef.
While work on changing DILocation to no longer be metadata is on the
way, it is going to take a while to finish, we can get this immediate
performance and max-rss improvement earlier.
Commit: 78f429c3b2aeb8105c888133008dea0023b8eebb
https://github.com/llvm/llvm-project/commit/78f429c3b2aeb8105c888133008dea0023b8eebb
Author: Harry Ramsey <harry.ramsey at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sve2-sra.ll
Log Message:
-----------
[AArch64][SVE] Match (add_like x (lsr y, c)) -> usra x, y, c
Modify SVE USRA pattern to accept add_like, so both add and or disjoint
forms can select usra.
Add known-bits support for predicated SVE logical shifts, allowing
or_disjoint matching to prove disjointness for plain ORs where possible.
Commit: 4c2348902c68ae2b095317e34ff0b4fdcc571042
https://github.com/llvm/llvm-project/commit/4c2348902c68ae2b095317e34ff0b4fdcc571042
Author: Akash Agrawal <akashag at qti.qualcomm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/Hexagon/autohvx/cttz-elts-split.ll
Log Message:
-----------
[TargetLowering] Split CTTZ_ELTS when its step vector requires splitting (#197623)
Follow-up to #190914: getLegalMaskAndStepVector() returns an empty
StepVec to signal that the operation should be split. Only
expandVectorFindLastActive handled this; expandCttzElts crashed by
dereferencing the null SDValue during vector op legalization. Apply the
same split-and-recurse strategy, preferring the low half since CTTZ_ELTS
finds the first active lane.
Assisted-by: Anthropic::claude-4.6
Commit: 261e0f4ec53f1e98a6c5c3a958827eb83c4e4dd9
https://github.com/llvm/llvm-project/commit/261e0f4ec53f1e98a6c5c3a958827eb83c4e4dd9
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-01 (Mon, 01 Jun 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
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
M libc/include/CMakeLists.txt
A libc/include/netinet/tcp.yaml
A libc/utils/docgen/netinet/tcp.yaml
Log Message:
-----------
[libc] Add netinet/tcp.h header (#200356)
This patch adds the netinet/tcp.h header definition. For now I'm only
adding TCP_NODELAY to it, as that's the only constant specified by
POSIX.
I also include the header in the public headers list for linux targets
and hook it up to the implementation status docs.
I don't add a test as this is just a constant definition, and it would
be very hard to devise (if even possible over a loopback interface) a
test to check that the option has the desired effect (in fact, POSIX
says that an implementation doesn't even have to let you set the
option).
Assisted by Gemini.
Commit: fe4b56cc54c76cb8268c4d0fb509c37428e593d6
https://github.com/llvm/llvm-project/commit/fe4b56cc54c76cb8268c4d0fb509c37428e593d6
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port 7a435ca (#200749)
Commit: fb8cb1b3d0edd14ff0b40562200b827aca72598f
https://github.com/llvm/llvm-project/commit/fb8cb1b3d0edd14ff0b40562200b827aca72598f
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Target/Process.cpp
M lldb/unittests/Target/MemoryTest.cpp
Log Message:
-----------
[lldb] Strip pointer metadata in ReadMemoryRanges (#200398)
The Process base class is generally responsible for fixing pointer
metadata before delegating memory reads to concrete Process
specializations. However, ReadMemoryRanges was a direct path into the
derived classes, which made it so that pointer metadata was never
stripped.
This commit creates a non-virtual ReadMemoryRanges in Process, which
clears pointer metadata, before delegating to the new virtual method
DoReadMemoryRanges. This also allows, in the future, to plug into the
memory cache system.
Commit: 2b955975dcc524dca2881080a66ce192c5582645
https://github.com/llvm/llvm-project/commit/2b955975dcc524dca2881080a66ce192c5582645
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/test/Conversion/MemRefToSPIRV/bitwidth-emulation.mlir
Log Message:
-----------
[mlir][SPIR-V] Add i64 tests for MemRef bitwidth emulation (NFC) (#200724)
Commit: 24b8cfa374d7c78fadcbb41bf9cb497c84f8dda5
https://github.com/llvm/llvm-project/commit/24b8cfa374d7c78fadcbb41bf9cb497c84f8dda5
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/test/Target/SPIRV/selection.mlir
Log Message:
-----------
[mlir][SPIR-V] Add roundtrip and validation test for spirv.Switch (NFC) (#200572)
Add missing `spirv-val` tests for spirv.Switch operation
Commit: abdab060c8a762aad1d11bafaa275c7d75b2f16b
https://github.com/llvm/llvm-project/commit/abdab060c8a762aad1d11bafaa275c7d75b2f16b
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Convert math.fpowi to spirv.GL.Pow (#200563)
Commit: 40b722df905dc14be1e8eb39560614e9226c50ad
https://github.com/llvm/llvm-project/commit/40b722df905dc14be1e8eb39560614e9226c50ad
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
M mlir/test/Target/SPIRV/ocl-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Add GL Trunc and CL trunc ops (#200738)
Commit: 51b54fffee8c4b3440a03b3affceba3690754115
https://github.com/llvm/llvm-project/commit/51b54fffee8c4b3440a03b3affceba3690754115
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Fix discarded dynamic casts (#200723)
If they are checked.
Commit: 683c367c21d8595a45a97e0439540d3efcd29b25
https://github.com/llvm/llvm-project/commit/683c367c21d8595a45a97e0439540d3efcd29b25
Author: David Spickett <david.spickett at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A lldb/test/Shell/lldb-server/TestGdbserverErrorDarwin.test
M lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test
M lldb/tools/lldb-server/lldb-server.cpp
Log Message:
-----------
[lldb][lldb-server][Darwin] Error when gdbserver mode is requested (#199654)
Fixes #199035
lldb-server's platform mode works on Apple platforms but the gdbserver
mode does not. Users should use debugserver instead, and platform mode
knows to spawn debugserver instead of lldb-server.
I'm adding an error to state this, because until now it would maybe
appear to work, or crash in strange ways. None of which can be fixed by
a user and are a waste of our time dealing with the bug reports.
Commit: 62b7cf9623fc310525f39ed69aaecc318a909731
https://github.com/llvm/llvm-project/commit/62b7cf9623fc310525f39ed69aaecc318a909731
Author: Sanket Pandit <sanket.p25 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
A llvm/test/CodeGen/AMDGPU/buffer-store-dwordx4-vpk-mul-war-hazard-gfx942.mir
Log Message:
-----------
[AMDGPU] Widen MUBUF/MTBUF source-vgpr WAR hazard on gfx940-family to SGPR soffset (#197267)
createsVALUHazard previously gated the MUBUF/MTBUF source-vgpr WAR
hazard to fire only when SOFFSET was a literal or absent. On
gfx940-family subtargets that gate is too narrow: the hazard also fires
when SOFFSET is sourced from an SGPR.
Concretely, on gfx950 a sequence of the form
```
buffer_store_dwordx4 v[X:X+3], voff, descr, sN offen
v_pk_mul_f32 v[X:X+1], <src>, <src> # next VALU cycle
```
deterministically commits the post-pk_mul value of v[X+1] to memory for
the second dword of the store; the other three dwords store correctly.
The wait-state window depends on the SOFFSET shape:
- sgpr-sourced SOFFSET: 1 wait state (S_NOP 0)
- literal/absent SOFFSET: 2 wait states (S_NOP 1)
- pre-gfx940 literal SOFFSET (unchanged): 1 wait state
- pre-gfx940 sgpr SOFFSET (unchanged): no hazard
Implementation widens createsVALUHazard's trigger on gfx940-family and
splits checkVALUHazardsHelper's single 2-wait-state scan into a per-MI
window: a 1-cycle scan and a 2-cycle scan, taking the max. FLAT-wide
stores keep the existing 2-wait-state behavior on gfx940 family.
Empirically reproduced and characterised on gfx950 by Triton's
fused-attention backward kernel; the threshold sweep in
repro/minimal_hazard pins the sgpr-SOFFSET window at exactly 1 cycle (a
single S_NOP 0 clears the corruption). gfx942 (MI300) was not validated
on hardware; the same gate is applied there because the existing
recognizer rule treats the gfx940 family uniformly.
New MIR test covers literal and SGPR soffset on gfx900 (older), gfx942
and gfx950, plus negative cases (dwordx2 store, non-overlapping write).
Assisted-by: Cursor <cursoragent at cursor.com>
Commit: e9556fcc4a18522e93d3975962a77a008e92b38b
https://github.com/llvm/llvm-project/commit/e9556fcc4a18522e93d3975962a77a008e92b38b
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Convert math.trunc to GL Trunc and CL trunc (#200739)
Commit: ae1d75e6071e51fff924c6904852fc3a2ae56687
https://github.com/llvm/llvm-project/commit/ae1d75e6071e51fff924c6904852fc3a2ae56687
Author: Sonal Pinto <sonalpinto at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/src/__support/math/expxf16_utils.h
M libc/src/__support/math/hypotf16.h
Log Message:
-----------
[libc][math] Guard f16 math headers to fix certain 32-bit ARM builds (#200715)
Wrap hypotf16.h and expxf16_utils.h in LIBC_TYPES_HAS_FLOAT16 macros
like other flaot16 math headers. This fixes build breaks on systems
where float16 is unsupported (like some 32-bit ARM).
Commit: 63c29df8ecebb57bdcc04de652afc8d2d98650d7
https://github.com/llvm/llvm-project/commit/63c29df8ecebb57bdcc04de652afc8d2d98650d7
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/PCH/friend-template-spec-redecl.cpp
Log Message:
-----------
[Serialization] Fix assertion on re-deserialized friend template spec… (#200566)
…ialization in PCH (#198133)
A friend function-template specialization declared inside a class
template is serialized into a PCH. When the class template is later
instantiated while loading the PCH, the friend specialization can be
deserialized re-entrantly (VisitFriendDecl -> VisitFunctionDecl -> ...
-> VisitFunctionDecl for the same specialization) at the same time as
the canonical copy, producing two redeclarations of the same
specialization in the template's specialization set.
ASTDeclReader::VisitFunctionDecl asserted that this collision could only
happen when merging declarations from different modules. Since
38b3d87bd384, friend functions defined inside dependent class templates
are loaded eagerly, so the collision can now also occur within a single
PCH/AST file (non-modules build), tripping the assertion:
Assertion failed: (Reader.getContext().getLangOpts().Modules &&
"already deserialized this template specialization"), function
VisitFunctionDecl
The merge that follows (mergeRedeclarable) already links the two
redeclarations correctly regardless of whether modules are enabled, so
the fix is to drop the modules-only assumption and let the merge run.
Fixes https://github.com/llvm/llvm-project/issues/198133
Commit: 581c37afad03abd4230139de7e5e8e1f094de825
https://github.com/llvm/llvm-project/commit/581c37afad03abd4230139de7e5e8e1f094de825
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port ae1d75e (#200758)
Commit: f2f9eae932778b04ab31760c7c068eb6bafb10fe
https://github.com/llvm/llvm-project/commit/f2f9eae932778b04ab31760c7c068eb6bafb10fe
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
Log Message:
-----------
[X86] matchShuffleAsVSHLD - fix incorrect shift factor (#200754)
#200604 left the non-commuted case to still scale by 8bits instead of the src scalar bit size
Commit: ea8f3dfe487e1c0df1fbd31dded17ec77567229e
https://github.com/llvm/llvm-project/commit/ea8f3dfe487e1c0df1fbd31dded17ec77567229e
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/cast-costs.ll
A llvm/test/Transforms/LoopVectorize/vscale-cost.ll
Log Message:
-----------
[LV][NFC] Add cost model tests for VPInstructionWithType (#200135)
Commit: 044b63d5771802d1baaa6e877e76e0c562aa0724
https://github.com/llvm/llvm-project/commit/044b63d5771802d1baaa6e877e76e0c562aa0724
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Avoid some code duplication for `ScalarValueInitExpr` (#200755)
Commit: 1b24a402bf5bb84b32f9d6d1be6b46099363adde
https://github.com/llvm/llvm-project/commit/1b24a402bf5bb84b32f9d6d1be6b46099363adde
Author: David Spickett <david.spickett at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A clang-tools-extra/Maintainers.md
R clang-tools-extra/Maintainers.rst
A clang-tools-extra/docs/Maintainers.md
R clang-tools-extra/docs/Maintainers.rst
Log Message:
-----------
[clang-tools-extra] Move maintainer files to .md files (#200769)
Without any formatting changes. This will break the docs build, but a
follow up (#200365) will fix the formatting and so on.
Commit: 050c202e82a643322aa9d76a69f2c6639e4b99d6
https://github.com/llvm/llvm-project/commit/050c202e82a643322aa9d76a69f2c6639e4b99d6
Author: David Spickett <david.spickett at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang-tools-extra/Maintainers.md
M clang-tools-extra/docs/Maintainers.md
M clang-tools-extra/docs/conf.py
M llvm/Maintainers.md
Log Message:
-----------
[clang-tools-extra][docs] Convert maintainers file to Markdown (#200365)
Following the way clang does it.
* Moved files to .md (done in #200769).
* Reformatted into Markdown.
* Changed the stub file docs/Maintainers.rst into docs/Maintainers.md
and used a myst directive for the include.
* In the config file, added myst parser and ".md" as a recognised file
extension.
After this change, all maintainers files in llvm-project will be in
Markdown format.
Commit: 919f72a12f14c6b30400dc84584fd33846ffb008
https://github.com/llvm/llvm-project/commit/919f72a12f14c6b30400dc84584fd33846ffb008
Author: David Spickett <david.spickett at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M .github/CODEOWNERS
M libc/docs/porting.rst
M llvm/docs/Contributing.rst
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
[docs] Remove all references to Maintainers.rst (#200368)
All projects are using Maintainers.md files as of #200365.
Commit: bd1b3d47462acf4f854f593bdd77b3f127adea46
https://github.com/llvm/llvm-project/commit/bd1b3d47462acf4f854f593bdd77b3f127adea46
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/source/Core/Mangled.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb] Reduce size of Mangled class (#200181)
The Mangled class is used in several places in LLDB, most notably as a
direct member of Symbol. This makes this class one of the most
frequently long-lived allocations in LLDB.
In commit a2672250be871bdac18c1a955265a98704434218 , this class got a
(large) cache that stores information about demangled data. This cache
is stored in a std::optional member, which means the memory for the
class is allocated within our Mangled object. It should be noted that
this cache is only used when we actually demangle the name, which
doesn't happen for every mangled name we encounter.
The additional cache member caused that the size of Mangled went from
16B to 152B by default (that is, even if the Mangled name was never
demangled).
This patch replaces the std::optional with a unique_ptr which stores the
cache on first use in a separate heap allocation. This changes decreases
the amount of allocated memory when debugging a relatively small
Objective-C project from 1.57GiB to 1.18GiB (-400MiB).
Commit: 356d7e6bf429a7ff3ae798bb994631ef33891a44
https://github.com/llvm/llvm-project/commit/356d7e6bf429a7ff3ae798bb994631ef33891a44
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/IR/Value.cpp
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
Log Message:
-----------
[IR] Handle nofree noalias in canBeFreed() (#200194)
Based on the argument nofree semantics specified in
https://github.com/llvm/llvm-project/pull/195658, we can conclude that
an argument with both nofree and noalias cannot be freed.
This also handles the case of readonly + noalias, to be consistent with
the logic for functions (and because we had a FIXME for it...)
Commit: 0059fe6596aee0052f9ba40188ee2cef27b93af0
https://github.com/llvm/llvm-project/commit/0059fe6596aee0052f9ba40188ee2cef27b93af0
Author: Kashika Akhouri <akhourik at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Add support for lifetime capture_by (#196884)
This PR implements support for the `[[clang::lifetime_capture_by(X)]]`
attribute within the lifetime-safety analysis.
The PR introduces a new helper in `FactGenerator.cpp` called
`handleLifetimeCaptureBy` which detects
`[[clang::lifetime_capture_by(X)]]` on parameters. If detected, the
analyzer now generates an `OriginFlowFact` ensuring that captured
dependencies are added to the capturer's state. The PR supports
capture_by params and `this` and currently doesn't implement attributes
on function declarations.
Example:
Integrate `[[clang::lifetimebound]]`: This existing Clang annotation is
crucial for specifying that the lifetime of a function's output is tied
to one of its inputs.
```cpp
void setS(std::string_view& in, std::string_view out [[clang::lifetime_capture_by(X)]]);
std::string_view foo() {
std::string a = "on stack";
std::string_view res;
setS(res, a);
return res; // warning: returning address of local variable 'a'.
}
```
Lifetime Facts:
```cpp
Function: foo
Block B2:
End of Block
Block B1:
OriginFlow:
Dest: 0 (Expr: ImplicitCastExpr, Type : const char *)
Src: 1 (Expr: StringLiteral, Type : const char (&)[9])
Use (0 (Expr: ImplicitCastExpr, Type : const char *), Read)
Use (2 (Expr: CXXDefaultArgExpr, Type : const class std::allocator<char> &), Read)
Expire (MaterializeTemporaryExpr at 0x562afa69fdb0)
OriginFlow:
Dest: 3 (Decl: res, Type : std::string_view)
Src: 4 (Expr: CXXConstructExpr, Type : std::string_view)
Use (3 (Decl: res, Type : std::string_view), Read)
Issue (0 (Path: res), ToOrigin: 7 (Expr: DeclRefExpr, Decl: res))
Issue (1 (Path: a), ToOrigin: 8 (Expr: DeclRefExpr, Decl: a))
OriginFlow:
Dest: 9 (Expr: ImplicitCastExpr, Type : const class std::basic_string<char> &)
Src: 8 (Expr: DeclRefExpr, Decl: a)
Use (9 (Expr: ImplicitCastExpr, Type : const class std::basic_string<char> &), Read)
OriginFlow:
Dest: 10 (Expr: CXXMemberCallExpr, Type : __sv_type)
Src: 9 (Expr: ImplicitCastExpr, Type : const class std::basic_string<char> &)
OriginFlow:
Dest: 11 (Expr: ImplicitCastExpr, Type : __sv_type)
Src: 10 (Expr: CXXMemberCallExpr, Type : __sv_type)
Use (11 (Expr: ImplicitCastExpr, Type : __sv_type), Read)
// New Origin Flow fact added
OriginFlow:
Dest: 3 (Decl: res, Type : std::string_view)
Src: 11 (Expr: ImplicitCastExpr, Type : __sv_type), Merge
Use (3 (Decl: res, Type : std::string_view), Read)
Issue (2 (Path: res), ToOrigin: 12 (Expr: DeclRefExpr, Decl: res))
OriginFlow:
Dest: 13 (Expr: ImplicitCastExpr, Type : const std::string_view &)
Src: 12 (Expr: DeclRefExpr, Decl: res)
OriginFlow:
Dest: 14 (Expr: ImplicitCastExpr, Type : std::string_view)
Src: 3 (Decl: res, Type : std::string_view)
OriginFlow:
Dest: 15 (Expr: CXXConstructExpr, Type : std::string_view)
Src: 14 (Expr: ImplicitCastExpr, Type : std::string_view)
Expire (a)
Expire (res, Origin: 3 (Decl: res, Type : std::string_view))
OriginEscapes (15 (Expr: CXXConstructExpr, Type : std::string_view), via Return)
End of Block
Block B0:
End of Block
```
Commit: 9738adaff8e2ea79917858a5e6349572e884c4cd
https://github.com/llvm/llvm-project/commit/9738adaff8e2ea79917858a5e6349572e884c4cd
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/detail/get_device_kernel_info.hpp
A libsycl/include/sycl/__impl/detail/unified_range_view.hpp
M libsycl/include/sycl/__impl/queue.hpp
M libsycl/src/detail/global_objects.cpp
M libsycl/src/detail/program_manager.cpp
M libsycl/src/detail/program_manager.hpp
M libsycl/src/detail/queue_impl.cpp
M libsycl/src/detail/queue_impl.hpp
M libsycl/src/queue.cpp
A libsycl/test/basic/get_backend.cpp
A libsycl/test/basic/submit_fn_ptr.cpp
Log Message:
-----------
[libsycl] Add single_task (#192499)
Depends on liboffload PR:
https://github.com/llvm/llvm-project/pull/194333.
The approach with void sycl_kernel_launch(pack of arguments) implies
that
we can use or copy arguments only during that call. Since it pass only
kernel arguments as parameters and returns void - we have to split
setting
of extra kernel data like event dependencies and range and getting
result
event from arguments handling and direct kernel submision if it is
possible. Key stages: 1) passing to queue (or handler in future)
dependency
events and range (for parallel_for), saving them in queue (copy/move).
2)
wrapping kernel arguments into typeless wrappers (pointer based,
initially
no copy) and passing to the queue. Then depending on scenario (without
host
tasks and accessors we should be able to submit everything directly)
collection of arguments is converted to preferred liboffload structure
(no
copy of objects, copy of pointers) and passed to liboffload or RT does
deep
copy of provided arguments (simple copy of pointer of USM and copy of
value
for other arguments) to keep them alive till kernel enqueue outside
parent
submit call. 3) getting event associated with kernel enqueue. Key notes:
1)
Having these 3 separated calls is not the best solution but the only one
allowing to avoid copy for some scenarios (otherwise we have to do deep
copy always and then do joined kernel submission outside
sycl_kernel_launch
scope). 2) submit must be thread-safe. Since we have 3 calls we need to
keep kernel params and resulting event in a per queue + per thread/per
kernel way. To achieve this without copy and joined kernel submission
queue
(in future - handler) stores thread_local data for kernel submission.
thread_local can't be used for non-static class members so they are
static.
Given: same queue can be used from different threads but thread can't
use
different queues at the same moment; that means that we actually need
per
thread storage.
This is part of the SYCL support upstreaming effort. The relevant RFCs
can be found here:
https://discourse.llvm.org/t/rfc-add-full-support-for-the-sycl-programming-model/74080
https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming/74479
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Commit: 73ded458839c0a105b19476929f6206356f92991
https://github.com/llvm/llvm-project/commit/73ded458839c0a105b19476929f6206356f92991
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/test/Analysis/cxx23-assume-attribute.cpp
Log Message:
-----------
[Liveness][analyzer] Fix handling of [[assume]] attributes (#198618)
Before this commit, if the analyzer encountered code like
```
int f(int a, int b) {
[[assume(a == 2), assume(b == 3)]];
return a + b;
}
```
it performed the following steps:
1. It visited the expression `a == 2` with `ExprEngine::Visit` (after
visiting its sub-expressions, within the regular visitation that visits
each statement of the `CFGBlock`). This triggered the `EagerlyAssume`
logic and separated two execution paths.
2. It discarded the result bound to `a == 2` from the `Environment`
because `a == 2` is not a direct child of the `AttributedStmt`.
3. Analogously, it visited an evaluated `b == 3`.
4. Analogously, it discarded the result bound to `b == 3`.
5. On each execution path `VisitAttributedStmt` was reached, it ran the
`PreStmt<AttributedStmt>` checkers and stored their results in
`CheckerPreStmt`. As there are AFAIK no such checkers, after this step
the only element of `CheckerPreStmt` was the node `Pred`.
6. It constructed a `NodeBuilder`, which was unused, but its constructor
inserted the nodes in `CheckerPreStmt` into `EvalSet`. This was
essentially a shortcut that skipped the handling of the assumptions --
but ultimately its effects were absorbed and negated by the tricky side
effects of `ExprEngine::Visit`.
7. For each node `N` in `CheckerPreStmt` (i.e. for `N == Pred`) and for
each assume attribute, it created a child node of `N` where the
assumption of **that one attribute** was visited again with
`ExprEngine::Visit`. (I.e. it separated execution paths and implicitly
placed "OR" relationships between the assumptions.)
8. It **completely ignored** the value produced by the assumption
expression: did not update the state and did not discard execution paths
where the [[assume]] assumption contradicted earlier knowledge.
This commit fixes all four logic errors:
1. The liveness analysis is updated to ensure that an `AttributedStmt`
keeps alive the assumption expressions of its [[assume]] attributes.
This ensured that their results remain in the `Environment`.
2. Now there is no `NodeBuilder` that skips the handling the
assumptions.
3. The invocation of `ExprEngine::Visit` is removed from
`VisitAttributedStmt`: there is no reason to revisit those statements
(now that we don't lose the evaluation results).
4. The state is updated to record that the values of the assumption
expressions are ALL assumed to be true. If the assumption leads to a
contradiction, the execution path is discarded (by not generating a
node).
This commit also adds a few new testcases and resolves some FIXME
comments in previously existing tests.
Commit: caf469dc802464a3554f52b10c818d4e0c840062
https://github.com/llvm/llvm-project/commit/caf469dc802464a3554f52b10c818d4e0c840062
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/include/llvm/Support/ConvertUTF.h
M llvm/lib/Support/ConvertUTFWrapper.cpp
Log Message:
-----------
[Support] Take ArrayRef in convertWideToUTF8 (#200687)
`convertWideToUTF8` took a `std::wstring`, but it never modified its
data. An `ArrayRef` or `std::wstring_view` are sufficient here. I chose
`ArrayRef<wchar_t>` over `std::wstring_view`, because it can be
implicitly constructed from any range that provides `data()` and
`size()`. A second overload taking a `const wchar_t *` is provided to
convert null terminated wide C-strings.
Commit: faa87b02121fbb668fcf71260a63c88729b83abf
https://github.com/llvm/llvm-project/commit/faa87b02121fbb668fcf71260a63c88729b83abf
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/clmul-scalable.ll
Log Message:
-----------
[AArch64] Lower scalable i64 CLMUL with SVE2/SME (#198999)
When AES or SSVE-AES are not available, but SVE2 or SME are,
clmul.nxv2i64 can benefit from a cross-byte CLMUL of .S precision. This
re-uses the functionality added for nxv8i16.
Commit: 9863725ffe80054d3fb86d7468746a1d0def26c4
https://github.com/llvm/llvm-project/commit/9863725ffe80054d3fb86d7468746a1d0def26c4
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A llvm/test/Analysis/DependenceAnalysis/exact-siv-mul-overflow.ll
Log Message:
-----------
[DA] Add test for the Exact test misses dependency due to overflow (NFC) (#200780)
This patch adds a test case that demonstrates that the Exact test misses
the dependency due to mishandling of overflow. The test case is taken
from #200766.
Commit: 421b27c4ab4b789bc5084f5f3ff9c008f69846df
https://github.com/llvm/llvm-project/commit/421b27c4ab4b789bc5084f5f3ff9c008f69846df
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
A llvm/test/Assembler/dbg-intrinsic-forward-ref-upgrade.ll
Log Message:
-----------
[AsmParser] Apply deferred debug locations before intrinsic upgrade. (#200779)
Intrinsic upgrades may delete instructions, leaving dangling pointers
that may be accessed when applying deferred debug locations after
91b77dc (#200649).
Fix by applying deferred debug locations before intrinsic upgrade.
PR: https://github.com/llvm/llvm-project/pull/200779
Commit: 56c9a2c796661fd8b2ca627ce1f39cb3e97a203f
https://github.com/llvm/llvm-project/commit/56c9a2c796661fd8b2ca627ce1f39cb3e97a203f
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/dyn-groupprivate-clause.f90
A flang/test/Lower/OpenMP/dyn-groupprivate-clause.f90
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
Log Message:
-----------
[flang][mlir] Add flang to mlir lowering for dyn_groupprivate (#180938)
This PR implements the Flang frontend lowering for the
`dyn_groupprivate` clause
Changes:
- Add ClauseProcessor handling for DynGroupprivate clause
- Generate appropriate MLIR representation for dyn_groupprivate
- Add/update test cases for dyn_groupprivate lowering
- Remove TODO marker for dyn_groupprivate clause
Commit: 2666b44bdc9d2098d394c0afce91a00437b75823
https://github.com/llvm/llvm-project/commit/2666b44bdc9d2098d394c0afce91a00437b75823
Author: Luke Lau <luke at igalia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
R llvm/test/Transforms/InstCombine/fold-vp-load.ll
A llvm/test/Transforms/VectorCombine/RISCV/fold-vp-load.ll
Log Message:
-----------
[InstCombine][VectorCombine] Move bitcast vp.load fold into VectorCombine (#200321)
Fixes https://github.com/llvm/llvm-project/issues/199896
In #192173 we started folding bitcasts of vp.loads with an all ones mask
into a vp.load with the casted type. However on RISC-V a vp.load of an
i1 vector is illegal (since there's no masked variant of `vlm.v`), and
we have no way of checking this in InstCombine.
This moves the fold into VectorCombine so we can query TTI if the cost
is legal (and profitable)
As a side note, it may be possible to lower a vp.load of an i1 vector on
RISC-V to `vlm.v` **only** if the mask is all ones. But this means the
lowering would only be valid for certain values, which is difficult to
cost. And I'm not sure if it would be profitable anyway.
Commit: ec366837a1630c8e235b7fa235b43bd80feb4d82
https://github.com/llvm/llvm-project/commit/ec366837a1630c8e235b7fa235b43bd80feb4d82
Author: mbhade-amd <MilinNarayan.Bhade at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/store-load-forward-conflict.ll
Log Message:
-----------
[SLP][NFC] Pre-commit tests for store-to-load forwarding bail-out (#199908)
Commit: 0ef35be046b020a2106651ad4da879249872c88e
https://github.com/llvm/llvm-project/commit/0ef35be046b020a2106651ad4da879249872c88e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Don't deref() non-dereferencable pointers (#200774)
That shouldn't happen and the isDummy() check wasn't enough.
Commit: 725d3eb71deb995c657355579a17417f71e3a3a8
https://github.com/llvm/llvm-project/commit/725d3eb71deb995c657355579a17417f71e3a3a8
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/exact-siv-mul-overflow.ll
Log Message:
-----------
[DA] Fix overflow in the Exact test (#200781)
In exactTestImpl, some computations using APInt could overflow, which
might lead to incorrect results.
This patch addresses the issue by replacing APInt with
OverflowSafeSignedAPInt, a class that is sensitive to overflow and
allows us to detect it properly.
Fixes #200766.
Commit: 06ffb655904657e847854eee1c7c76ccdc75b254
https://github.com/llvm/llvm-project/commit/06ffb655904657e847854eee1c7c76ccdc75b254
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts-using-decl.cpp
Log Message:
-----------
[Clang] Profile the NNS of UnresolvedUsingType and CXXThisType correctly in concept hashing (#199617)
They were sometimes incorrect because the written type doesn't contain
an NNS which contains template parameters we're interested in.
No release note because the bug broke MS STL and I want to backport it
to the last 22.x release
Fixes https://github.com/llvm/llvm-project/issues/198663
Commit: ceb18ffc04cfbef5294a9625351995b6330674e9
https://github.com/llvm/llvm-project/commit/ceb18ffc04cfbef5294a9625351995b6330674e9
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Install LLDB test deps (#199900)
lldb-api tests are hitting:
"/home/runner/work/llvm-project/llvm-project/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py",
line 12, in <module>
from packaging import version
ModuleNotFoundError: No module named 'packaging'
when building release binaries on Arm64/x86 Linux. Install deps before
running tests.
Fixes #176422.
Commit: de3529386e1e773f0186755b83bbc12e7884f863
https://github.com/llvm/llvm-project/commit/de3529386e1e773f0186755b83bbc12e7884f863
Author: hcx <hechenxi at bosc.ac.cn>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/call-copy-in-out.f90
A flang/test/Lower/component-wise-init.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/pointer-default-init.f90
Log Message:
-----------
[flang][lowering] Implement component-wise initialization for derived types (#187465)
Currently, the compiler defaults to a full `memcpy` when initializing
derived types.
This patch introduces component-wise initialization for pointer /
allocatable components, avoiding unnecessary initialization data
generation and redundant copies.
Ineligible cases continue to use the existing `memcpy` initialization
path.
RFC: https://discourse.llvm.org/t/rfc-automatic-static-promotion-of-large-local-variables-in-flang/89539
Key changes:
- In `flang/lib/Lower/ConvertVariable.cpp`:
- Add `genDerivedTypeComponentInit` for component-wise derived type
initialization.
- Add `isEligibleForComponentWiseInit` to guard the new initialization
path.
- Add `genInlinedInitWithMemcpy` to factor out the existing full
`memcpy` initialization logic.
- Update `defaultInitializeAtRuntime` to select the appropriate
initialization path.
- Add and update regression tests.
---------
Co-authored-by: ict-ql <168183727+ict-ql at users.noreply.github.com>
Co-authored-by: buggfg <wangyingying at bosc.ac.cn>
Commit: d5a24ef8d093708141b03ef1da809363841065b1
https://github.com/llvm/llvm-project/commit/d5a24ef8d093708141b03ef1da809363841065b1
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/unaligned-buffer.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/unaligned-buffer.ll
A llvm/test/Verifier/AMDGPU/module-flag-oob-mode.ll
Log Message:
-----------
[AMDGPU] Replace relaxed-buffer-oob-mode feature with module flag (#160922)
Remove AMDGPU subtarget feature toggle for relaxed buffer OOB handling
and replace it with two explicit LLVM module flags:
- amdgpu.buffer.oob.relaxed for untyped buffer instructions
- amdgpu.tbuffer.oob.relaxed for typed buffer instructions
Each flag is modeled as i32 with Max merge behavior and validated as a
tri-state value, where 0 means Any/default, 1 means Relaxed and 2 means Strict.
The absence of the module flag implies the default mode, which is currently treated
as Strict by the backend.
Commit: 813cf3358e5eefc4a9f7393ea373f50c943fd893
https://github.com/llvm/llvm-project/commit/813cf3358e5eefc4a9f7393ea373f50c943fd893
Author: Walter <90877047+WalterKruger at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/gfni-operand-and-fold.ll
M llvm/test/CodeGen/X86/gfni-xor-fold-avx512.ll
M llvm/test/CodeGen/X86/gfni-xor-fold.ll
Log Message:
-----------
[X86] Fold XOR of VGF2P8AFFINEQB and its source (#198448)
Adds a optimization to fold XORs between `vgf2p8affineqb` and its
source. That XOR can done through the existing affine transformation by
XORing its matrix with the identity matrix. This patch:
- Folds XOR between `vgf2p8affineqb` and its source.
- Only occurs when the matrix is constant, ensuring that it can't
increase the dependency chain.
- Doesn't occur if the affine is multi use, preventing an increase in
code size.
- Includes test coverage for both positive and negative cases.
Fixes #184061
Commit: 76220f2c8d24b877c16c895efe9a4504e3e72cc3
https://github.com/llvm/llvm-project/commit/76220f2c8d24b877c16c895efe9a4504e3e72cc3
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCast.cpp
M clang/test/SemaCXX/builtin-bit-cast.cpp
Log Message:
-----------
[clang][SemaCXX] Fix crash caused by unresolved overloaded function type when using `__builtin_bit_cast` (#200574)
Resolves #200112
By early checking for placeholder expressions, crash can be avoided for
unreachable builtin type when fetching type info.
Commit: b99a6fc497a014c80091ab7582e331b3d03090e9
https://github.com/llvm/llvm-project/commit/b99a6fc497a014c80091ab7582e331b3d03090e9
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[lldb][windows] bound ReadProcessMemory (#200230)
Commit: 57bde44b4de822687b3790e2813b148ecd9c06e5
https://github.com/llvm/llvm-project/commit/57bde44b4de822687b3790e2813b148ecd9c06e5
Author: juan.vazquez <juvazq at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A llvm/include/llvm/CodeGen/BreakFalseDeps.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/BreakFalseDeps.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/apx/ndd-false-deps.mir
M llvm/test/CodeGen/X86/break-false-dep-crash.mir
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
Log Message:
-----------
[CodeGen] Port break-false-deps to new pass manager (#194262)
Commit: 397c594e4665ef7f1ad9d5084b4bf87a3135ccb9
https://github.com/llvm/llvm-project/commit/397c594e4665ef7f1ad9d5084b4bf87a3135ccb9
Author: Afonso Rafael (Gafanhoto) <afonsorafael at sapo.pt>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
Log Message:
-----------
[LoopFusion] remove else after return (NFC) (#200783)
Commit: e5cf9adf6a191e92018f58518ced79735b121231
https://github.com/llvm/llvm-project/commit/e5cf9adf6a191e92018f58518ced79735b121231
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/detail/kernel_arg_helpers.hpp
M libsycl/include/sycl/__impl/detail/unified_range_view.hpp
A libsycl/include/sycl/__impl/index_space_classes.hpp
M libsycl/include/sycl/__impl/queue.hpp
A libsycl/include/sycl/__spirv/spirv_vars.hpp
M libsycl/include/sycl/sycl.hpp
A libsycl/test/basic/parallel_for_indexers.cpp
A libsycl/test/basic/queue_parallel_for_generic.cpp
A libsycl/test/basic/wrapped_usm_pointers.cpp
Log Message:
-----------
[libsycl] Add parallel_for feature (#189068)
Depends on https://github.com/llvm/llvm-project/pull/188797 (stacked
PRs).
Depends on liboffload PR:
https://github.com/llvm/llvm-project/pull/184343.
Depends on clang driver update to pick the right location for search of
libsycl: follow up for https://github.com/llvm/llvm-project/pull/188770.
Without it test will fail since clang can't find libsycl in build dir.
Depends on future liboffload fix for range. Without it test will fail on
data check.
This is part of the SYCL support upstreaming effort. The relevant RFCs
can be found here:
https://discourse.llvm.org/t/rfc-add-full-support-for-the-sycl-programming-model/74080
https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming/74479
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Commit: 143338131f0e8f1586f7f9aacb7d94dfde169b08
https://github.com/llvm/llvm-project/commit/143338131f0e8f1586f7f9aacb7d94dfde169b08
Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/docs/FortranStandardsSupport.md
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Evaluate/type.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/typeof-classof.f90
A flang/test/Parser/typeof-classof-attrs.f90
A flang/test/Semantics/typeof-classof-errors.f90
A flang/test/Semantics/typeof-classof.f90
Log Message:
-----------
[flang] Add support for TYPEOF and CLASSOF type specifiers (#188804)
Implements parsing, semantics and lowering for the Fortran 2023 TYPEOF and CLASSOF type specifiers (R703). TYPEOF produces the declared type of a data-ref; CLASSOF produces a polymorphic version. Includes constraint
checks (C709–C713) and tests.
Semantics resolves TYPEOF/CLASSOF to the concrete underlying type in the symbol table, so no lowering code changes were needed. Added a lowering test to verify FIR/HLFIR generation works correctly for intrinsic types,
derived types, extended types, and polymorphic CLASSOF with allocatable/pointer.
Fixes - https://github.com/llvm/llvm-project/issues/185635
Commit: 080286d051efe040c8678aef122d235785d74d5e
https://github.com/llvm/llvm-project/commit/080286d051efe040c8678aef122d235785d74d5e
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/IR/CFG.h
M llvm/include/llvm/IR/Constants.h
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Value.cpp
R llvm/test/Assembler/invalid-uselistorder_bb-float-literal.ll
R llvm/test/Assembler/invalid-uselistorder_bb-missing-bb.ll
R llvm/test/Assembler/invalid-uselistorder_bb-missing-body.ll
R llvm/test/Assembler/invalid-uselistorder_bb-missing-func.ll
R llvm/test/Assembler/invalid-uselistorder_bb-not-bb.ll
R llvm/test/Assembler/invalid-uselistorder_bb-not-func.ll
R llvm/test/Assembler/invalid-uselistorder_bb-numbered.ll
R llvm/test/Assembler/uselistorder_bb.ll
M llvm/utils/emacs/llvm-mode.el
M llvm/utils/vim/syntax/llvm.vim
M llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
Log Message:
-----------
[IR] BlockAddress doesn't use BasicBlock (#200772)
BlockAddress is the only non-terminator user of a BasicBlock, and it
occurs very rarely. To speed up predecessor iteration, change
BlockAddress to no longer use its BasicBlock.
This should also make uselistorder_bb obsolete.
Commit: c9d5ccaa2283507b1b5a3cbebf59ac521edb9f73
https://github.com/llvm/llvm-project/commit/c9d5ccaa2283507b1b5a3cbebf59ac521edb9f73
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M bolt/lib/Profile/DataReader.cpp
M bolt/test/X86/nolbr.s
Log Message:
-----------
[BOLT] Fix fdata parsing warning (#200725)
Commit: 3afd3a99562704798e268162701c0ecb3b82e5a5
https://github.com/llvm/llvm-project/commit/3afd3a99562704798e268162701c0ecb3b82e5a5
Author: Vaisman <vasili.svirski at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/test/Dialect/NVGPU/roundtrip.mlir
Log Message:
-----------
[mlir][nvgpu] Add roundtrip tests for warpgroup MMA operations (#199272)
Add roundtrip tests for the following NVGPU dialect operations:
- `nvgpu.warpgroup.mma.init.accumulator`
- `nvgpu.warpgroup.mma.store`
These operations were present in the dialect but lacked roundtrip
test coverage in `roundtrip.mlir`. The tests verify that operand
and result types survive the parser/printer roundtrip.
Commit: a2d89d1938837362c367f40dc22891e1471e7de7
https://github.com/llvm/llvm-project/commit/a2d89d1938837362c367f40dc22891e1471e7de7
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-01 (Mon, 01 Jun 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 sys/uio.h to Linux public header target lists (#200793)
The headers don't get installed without this.
Assisted by Gemini.
Commit: c7a58d582c8f0967a3345b52c5a7d74b869b384a
https://github.com/llvm/llvm-project/commit/c7a58d582c8f0967a3345b52c5a7d74b869b384a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-flags.ll
Log Message:
-----------
[LV] Add test for printing cast flags. (#200806)
Add test showing missing flags when printing VPInstructionWithType
casts.
Commit: fc8911a78e3618adbf422d7856ed0cb4115eada1
https://github.com/llvm/llvm-project/commit/fc8911a78e3618adbf422d7856ed0cb4115eada1
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
Log Message:
-----------
[lldb][windows] fix late null check (#200822)
`process_sp` should be null checked before calling the
`HijackProcessEvents` method. This patch also removes 2 unused
variables.
Commit: 6a80387760c17b7e72e77b1b24ac1808bdf0929e
https://github.com/llvm/llvm-project/commit/6a80387760c17b7e72e77b1b24ac1808bdf0929e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
Log Message:
-----------
[NFC][lldb][windows] Simplify PlatformWindows::ConnectRemote (#200823)
Commit: cedd8d914432253879a1b830c0550c0fb7f01776
https://github.com/llvm/llvm-project/commit/cedd8d914432253879a1b830c0550c0fb7f01776
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[NFC][lldb][windows] simplify NativeProcessWindows::FindSoftwareBreakpoint (#200820)
Commit: d2bea40d8822e51f58c2655996f27d159179d120
https://github.com/llvm/llvm-project/commit/d2bea40d8822e51f58c2655996f27d159179d120
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[NFC][lldb][windows] follow styling guidelines for hProcess (#200812)
`hProcess` does not follow the LLVM styling guidelines. Rename it to
`process`.
Commit: b05c5e4d8238bfe34f3b4df72377f714f2e60d2f
https://github.com/llvm/llvm-project/commit/b05c5e4d8238bfe34f3b4df72377f714f2e60d2f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Don't kill lldb when a thread fails to stop (#200805)
Replace `exit(1)` in `NativeProcessWindows::StopThread` with logging so
a single thread suspend failure no longer terminates lldb itself.
Commit: c07f4eef0945cf8e3b1d7480cbfcfa19f79d885f
https://github.com/llvm/llvm-project/commit/c07f4eef0945cf8e3b1d7480cbfcfa19f79d885f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang][bytecode] Remove unknown-size-array special handling (#200789)
from `Pointer::toAPValue()`.
Commit: e6ab63e40b5d53ec7c2b03cc6d084c0edeb7f32b
https://github.com/llvm/llvm-project/commit/e6ab63e40b5d53ec7c2b03cc6d084c0edeb7f32b
Author: idubinov <igor.dubinov at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
R llvm/test/CodeGen/SPIRV/EnqueueEmptyKernel.ll
M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
Log Message:
-----------
[SPIRV] Fix enqueue empty kernel (#187671)
Function reference arguments don't get spv_bitcast after opaque pointer
migration, while data pointer arguments still might. Therefore:
a. getBlockStructInstr() got updated to check G_GLOBAL_VALUE ->
G_ADDRSPACE_CAST pattern for function reference arguments;
b. buildEnqueueKernel() got updated to add bitcast the block literal
pointer from struct* to i8*, as required by OpEnqueueKernel.
---------
Co-authored-by: Arseniy Obolenskiy <gooddoog at student.su>
Co-authored-by: Marcos Maronas <mmaronas at amd.com>
Co-authored-by: Dmitry Sidorov <dsidorov at amd.com>
Commit: 8994480709a9b39042685842d8201c97fb822a68
https://github.com/llvm/llvm-project/commit/8994480709a9b39042685842d8201c97fb822a68
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV] Remove legacy setVectorizedCallDecision & co (NFC). (#195519)
Remove setVectorizedCallDecision & co after being superseded by
https://github.com/llvm/llvm-project/pull/195518.
Note that we still need to retain some of the call cost logic in the
legacy cost model, to compute if scalarization is profitable.
Depends on https://github.com/llvm/llvm-project/pull/195518.
PR: https://github.com/llvm/llvm-project/pull/195519
Commit: 5c9b5781b7384956db5bd4ca019593a2d4024088
https://github.com/llvm/llvm-project/commit/5c9b5781b7384956db5bd4ca019593a2d4024088
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/MC/AArch64/SME2/uqcvt-diagnostics.s
Log Message:
-----------
[AArch64][SME2] Fix mnemonic in uqcvt-diagnostics.s test (NFC) (#200824)
Commit: 87f09d325da79b379723b29755861da9baf2dc7a
https://github.com/llvm/llvm-project/commit/87f09d325da79b379723b29755861da9baf2dc7a
Author: Conscat <omg.lily2000 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/test/SemaCXX/typeof.cpp
Log Message:
-----------
[clang] Parse `__typeof_unqual__` consistently with `__typeof__` (#198948)
C23 `__typeof_unqual` and `__typeof_unqual__` are supported in all
language modes as an extension.
However, existing tests missed this form:
```cpp
int main() {
__typeof_unqual(int) x = 0;
}
```
That doesn't compile today.
```
<source>:2:4: error: expected expression
2 | __typeof_unqual(int) x = 0;
| ^
1 error generated.
Compiler returned: 1
```
I think the fix is to parse `tok::kw_typeof_unqual` everywhere that we
currently parse `tok::kw_typeof`. It simply falls through `case`s
beneath `tok::kw_typeof`, so this should handle them equivalently. No
keyword semantics are changed by this PR.
While in here I noticed Clang Format ignores the token too, so I gave
Clang Format the same parsing parity between these tokens. It now holds
true under `isTypeName()`, just like `typeof`. `__typeof_unqual` kind of
accidentally formatted correctly in C++ anyways, but not in C, so this
is a meaningful fix. Previously it had no tests at all.
In the `clang-format` release notes, I'm not sure whether this should be
considered a fix or a new feature. I've left the clang-format notes
unchanged for now.
Assisted-by: Cursor/Claude Opus
Commit: 25ebed5fc05af9263300e381c684b3202fec3b2f
https://github.com/llvm/llvm-project/commit/25ebed5fc05af9263300e381c684b3202fec3b2f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
Log Message:
-----------
[lldb][windows] refactor null handling in DynamicLoaderWindowsDYLD (#200821)
This patch thightens the null guards.
---------
Co-authored-by: Nerixyz <nero.9 at hotmail.de>
Commit: dbeea291e5412c2d23a702078346ca894999bb92
https://github.com/llvm/llvm-project/commit/dbeea291e5412c2d23a702078346ca894999bb92
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
M llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.yaml
M llvm/test/tools/llvm-objcopy/DXContainer/dump-section.yaml
Log Message:
-----------
[llvm-objcopy] Strip header from DXContainer's ILDB part during `--dump-section` (#198578)
This strips the header from ILDB part of DXContainer during
`llvm-objcopy --dump-section`, so that the output contains bitcode only.
Commit: 6535731ef84e8ceccbb3f9ad511d23a202dcab81
https://github.com/llvm/llvm-project/commit/6535731ef84e8ceccbb3f9ad511d23a202dcab81
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/memory-attr.ll
Log Message:
-----------
[LoopInterchange] Add test where loop has memory-affected calls (NFC) (#200827)
This patch adds the following two test cases:
- There is a call to a function with `memory(write)` in the loop nest,
which is taken from #200796.
- There is a call to a function with `memory(none)` in the loop nest.
For the former case, we are not allowed to interchange the loops because
the function call may write to an unknown memory location, but the
transformation is still applied, i.e., a miscompilation. As for the
latter case, the call should not prevent the loops from being
interchanged, which seems to be the original intention of the code.
Commit: 9f1568aca7542dd363a4f5e575311e6c901d8226
https://github.com/llvm/llvm-project/commit/9f1568aca7542dd363a4f5e575311e6c901d8226
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/test/Integration/OpenMP/atomic-capture-release.f90
Log Message:
-----------
[flang][OpenMP] Restricting Integration test atomic-capture-release.f90 run to x86 and aarch64 (#200770)
Similar to the the change in
`flang/test/Integration/OpenMP/atomic-compare.f90`, restricting the test
case `flang/test/Integration/OpenMP/atomic-capture-release.f90` to run
on
`x86-registered-target & aarch64-registered-target`
This also Fixes
[#200729](https://github.com/llvm/llvm-project/issues/200729)
A comment has been added to the merge in
[[Flang][OpenMP]Handling restrictions of using Memory-Order-Clause with
Atomic-Clause](https://github.com/llvm/llvm-project/pull/199636)
>LLVM Buildbot has detected a new failure on builder
ppc64le-mlir-rhel-clang running on ppc64le-mlir-rhel-test while building
flang,llvm,mlir at step 4 "cmake-configure".
Full details are available at:
https://lab.llvm.org/buildbot/#/builders/129/builds/45227
Hence this PR.
Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>
Commit: 61480755ee91a7e1a24726fbcf4d6fd0e9b561e9
https://github.com/llvm/llvm-project/commit/61480755ee91a7e1a24726fbcf4d6fd0e9b561e9
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/perf2bolt/perf_test.test
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/heatmap.cpp
Log Message:
-----------
[BOLT] Support multiple perf data inputs
Allow multiple -p/-perfdata args (comma-separated and repeated).
Process them in parallel with `--perfdata-jobs/-pj` (default 4,
0 for all available hardware threads). Keep YAML/DataReader
inputs single-profile only.
This also enables density computation with multiple perf files.
Prior to that, it was impossible to compute total density as
it wasn't computed from symbolized profiles.
Depends on
#199323
#199322
#199321
#199320
Test Plan:
Updated pre-aggregated-perf.test and perf_test
For a large binary (300MB text) and 7 ETM perf data files
(6GB each), compared to parallel perf2bolt + merge-fdata:
* processing time is equal: 670+3s -> 669s (within noise),
* output is equivalent: sorted fdata is equal.
Reviewers:
paschalis-mpeis, rafaelauler, yozhu, ayermolo, yavtuk, maksfb, yota9
Reviewed By: paschalis-mpeis, rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/199324
Commit: e68990b844ee4bfbb29a187b32232a1edb04a873
https://github.com/llvm/llvm-project/commit/e68990b844ee4bfbb29a187b32232a1edb04a873
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
Log Message:
-----------
[NFC][lldb][windows] break down NativeProcessWindows::OnDebugException (#200832)
This patch breaks down `NativeProcessWindows::OnDebugException` into 3
different handlers (one for each exception) for readability.
Commit: 53133f6234e926dc5385c0b1b328cc4f2b76de23
https://github.com/llvm/llvm-project/commit/53133f6234e926dc5385c0b1b328cc4f2b76de23
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/test/CodeGen/X86/bitcnt-load-with-cmov.ll
Log Message:
-----------
[Peephole] Do not fold load if any clobber exists (#198238)
Fixes #198173, which is introduced by
https://github.com/llvm/llvm-project/commit/9525bcc3e06e6c0bff3a85f503e47b06a63d6dcc.
The original patch missed the case where there is a clobber between
`LoadMI` and `FlagProducer`.
Commit: 5fa7b5547d2a70003a681ecf2823170c69c44bec
https://github.com/llvm/llvm-project/commit/5fa7b5547d2a70003a681ecf2823170c69c44bec
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
Log Message:
-----------
[NFC][lldb][windows] cleanup ProcessLauncherWindows result check (#200804)
Commit: b05222259c09b55a41f2a368dce8c21b016fe293
https://github.com/llvm/llvm-project/commit/b05222259c09b55a41f2a368dce8c21b016fe293
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/tools/llubi/intr_vector_manip.ll
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Library.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Fix the storage kind of poison results (#200830)
`AnyValue::poison()` only represents scalar integer/fp/pointer values.
Commit: ef7cbc5f9c408a1c505fc5aa4e1920fb8c0ed9c0
https://github.com/llvm/llvm-project/commit/ef7cbc5f9c408a1c505fc5aa4e1920fb8c0ed9c0
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
Log Message:
-----------
[mlir][spirv][tosa] Add remaining TOSA 1.0 SPIR-V TOSA ops (#200383)
Add conversion patterns for additional TOSA 1.0 operations targeting the
SPIR-V TOSA extended instruction set.
This covers pooling and convolution ops, FFT/RFFT, matmul, concat, pad,
rescale, const, const_shape, and identity. Concat is split into
conservative chunks to avoid producing SPIR-V instructions with too many
operands.
Add a multi-result conversion pattern for FFT/RFFT and share the
convolution replacement logic for conv2d, conv3d, and depthwise_conv2d
while keeping transpose_conv2d explicit because it has different
attributes.
Also share constant attribute conversion for const and const_shape,
including integer element type conversions such as index to i32, i4 to
i8, and i48 to i64, and preserve the empty const_shape edge case.
Add conversion tests for the newly covered operations.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 82b4ef588555273c1561ffeae6f3ca3c78120189
https://github.com/llvm/llvm-project/commit/82b4ef588555273c1561ffeae6f3ca3c78120189
Author: RonDahan101 <166982786+RonDahan101 at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
Log Message:
-----------
[LV] Fix missing MetaData for histogram instructions (#134241)
Commit: 96f5b177203af235f59e9c3512dd3734a4edbefb
https://github.com/llvm/llvm-project/commit/96f5b177203af235f59e9c3512dd3734a4edbefb
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-01 (Mon, 01 Jun 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
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_udphdr.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_udphdr.h
A libc/include/netinet/udp.yaml
M libc/test/src/CMakeLists.txt
A libc/test/src/netinet/CMakeLists.txt
A libc/test/src/netinet/udp_test.cpp
Log Message:
-----------
[libc] Add netinet/udp.h containing struct udphdr (#200839)
This patch adds a generated <netinet/udp.h> containing the `udphdr`
structure definition.
There are two styles ("linux" and "BSD") of udphdr field names (and both
of them can be found in the wild), so I follow the glibc and bionic
approach of using an anonymous union. (musl uses a #define on the field
names, which doesn't seem that great).
I've added the target to `include/CMakeLists.txt` and registered it
under target lists in `headers.txt` for the supported Linux platforms
(x86_64, aarch64, and riscv).
To verify layout and alignment correctness, I've added a layout and
field compatibility unit test under `test/src/netinet/udp_test.cpp`.
Assisted by Gemini.
Commit: 45660cb7d894741cfaeb5f94058662c81f9a07ca
https://github.com/llvm/llvm-project/commit/45660cb7d894741cfaeb5f94058662c81f9a07ca
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
Log Message:
-----------
[lldb][Windows] Use captured error in ConnectionGenericFile::Read (#200803)
Use the captured value on both branches so the reported error matches
the one that was tested against.
Commit: 234e46a14635cb1b76e4852fc49a3407f6d87a1b
https://github.com/llvm/llvm-project/commit/234e46a14635cb1b76e4852fc49a3407f6d87a1b
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Semantics/cuf-missing-intrinsic-modules.cuf
Log Message:
-----------
[cuda][flang] Diagnose missing CUDA intrinsic modules in Flang semantics (#200509)
- Replace CUDA intrinsic module `CHECK`s with actionable diagnostics
when `cudadevice` or `__cuda_builtins` cannot be read.
- Avoid dereferencing missing CUDA module scopes during implicit CUDA
symbol import.
- Add a semantics test covering the missing CUDA intrinsic module
diagnostic.
Commit: 1f1ae8f372d680c12fea01b041a0ab83e169225a
https://github.com/llvm/llvm-project/commit/1f1ae8f372d680c12fea01b041a0ab83e169225a
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[NFC][clang-sycl-linker] Apply LLVM coding standards to ClangSYCLLinker.cpp (#200543)
Bring the file in line with llvm/docs/CodingStandards.rst without
changing
behavior:
- Restore the canonical //===---===// file-header banner.
- Move free functions out of the anonymous namespace and mark them
`static`; keep only types (LinkerOptTable, LinkResult, SplitModule,
IRSplitMode, EntryPointCategorizer) inside anonymous namespaces.
- Rename a local `OutputFile` in createTempFile to `Path` to stop it
shadowing the file-scope `OutputFile`.
- Rename the inner `Err` in runCodeGen to `MatErr` to stop it shadowing
the surrounding `SMDiagnostic Err`.
- Normalize parameter-name comments to the `/*Name=*/value` form.
- Strip quotes from Doxygen `\param 'Name'` directives.
Co-Authored-By: Claude
Commit: 83538c5ef242052a9140603a167858af86b033c3
https://github.com/llvm/llvm-project/commit/83538c5ef242052a9140603a167858af86b033c3
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGenOpenCL/as_type.cl
Log Message:
-----------
[CIR] Implement __builtin_astype for vec4 to vec3 (#199374)
Implement __builtin_astype for vec4 to vec3
Issue #192311
Commit: 9e0d8a65db700435bda0ca8d63dadb07e6e18370
https://github.com/llvm/llvm-project/commit/9e0d8a65db700435bda0ca8d63dadb07e6e18370
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/include/lldb/Symbol/Type.h
M lldb/source/Symbol/Type.cpp
M lldb/unittests/Symbol/TestType.cpp
Log Message:
-----------
[LLDB] Detect cycles during Type resolution (#200304)
I got LLDB crash reports from the Swift plugin where (presumably
malformed) debug info sends lldb_private::Type into an infite recursion.
Most likely this is a bug in the DWARF parser, however, even malformed
inputs shouldn't crash LLDB so this patch adds cycle detection.
rdar://177856769
Assisted-by: claude
Commit: 8b901cc2a0a3310b2b25d01f31d4bec665b714ef
https://github.com/llvm/llvm-project/commit/8b901cc2a0a3310b2b25d01f31d4bec665b714ef
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
Log Message:
-----------
[lldb-dap] Cleanup InstructionBreakpoint (#200228)
Added mutex like in other breakpoints
([PR](https://github.com/llvm/llvm-project/pull/134030)). Also removed
unused `m_offset` field.
Commit: 92b01a1bac4d01bb548c625a464840e32dea6c13
https://github.com/llvm/llvm-project/commit/92b01a1bac4d01bb548c625a464840e32dea6c13
Author: lntue <lntue at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc] Add GPU build-only to fullbuild precommit CIs. (#200593)
- Add build-only CI for AMDGPU.
- Also pass correct flags to other targets.
Commit: e4065977f3de2b3518cad25a9ad07030610edd79
https://github.com/llvm/llvm-project/commit/e4065977f3de2b3518cad25a9ad07030610edd79
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/include/llvm/Transforms/Scalar.h
M llvm/include/llvm/Transforms/Scalar/SROA.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
A llvm/test/Transforms/PhaseOrdering/struct-to-vector-before-memcpyopt.ll
A llvm/test/Transforms/SROA/struct-to-vector-fp-store-only-tail.ll
A llvm/test/Transforms/SROA/struct-to-vector-subpartition.ll
A llvm/test/Transforms/SROA/struct-to-vector.ll
Log Message:
-----------
[SROA] Canonicalize homogeneous structs to fixed vectors (opt-in, after memcpyopt) (#165159)
SROA sometimes keeps temporary allocas around for homogeneous structs
like
`{ i32, i32, i32, i32 }` because the partition has only memcpy/memset
traffic
and no scalar typed users to drive vector promotion. On targets like
AMDGPU
these allocas turn into scratch memory and hurt performance. This PR
adds a
helper `tryCanonicalizeStructToVector` that converts such a partition to
a
fixed vector type when every non-debug, non-lifetime user is a memory
intrinsic, so the alloca can promote through normal vector load/store
paths.
The element-shape rule accepts any homogeneous element count, any
integer
width, any FP type, and integral pointer types, as long as the struct is
tightly packed.
Canonicalization is gated behind a new per-pass option
`canonicalize-struct-to-vector` on `SROAOptions`, off by default. Only
the
late SROA passes in `addVectorPasses` (new PM, non-LTO and FullLTO) and
the
two legacy-PM SROAs in NVPTX enable it, so it always runs after
`MemCpyOptPass`. Running it earlier can hide memcpy chains that
memcpyopt
would otherwise collapse, and can also emit wide stores whose suffix
lanes
are undef when only part of a struct was initialized. Both hazards are
covered by new tests `struct-to-vector-before-memcpyopt.ll` and
`struct-to-vector-fp-store-only-tail.ll`. The opt-in design and the
"after memcpyopt" placement come from @YonahGoldberg's refactor, which
removed every regression reported in earlier benchmark runs (see
dtcxzyw/llvm-opt-benchmark-nightly#306). AMDGPU inherits the new-PM
opt-ins
automatically; other targets keep upstream-main SROA behavior unless
they
opt in.
Co-authored-by: Yonah Goldberg <ygoldberg at nvidia.com>
---------
Co-authored-by: Yonah Goldberg <ygoldberg at nvidia.com>
Commit: b480b451b211c3956e06e5630f368daa14325f6f
https://github.com/llvm/llvm-project/commit/b480b451b211c3956e06e5630f368daa14325f6f
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/AMDGPU/intrinsic-load-to-lds.ll
Log Message:
-----------
[AMDGPU] Verify data size of load-to-LDS intrinsics (#200587)
An out-of-range size immarg (e.g. 0) produced an illegal i0 memory type
during SelectionDAG building and crashed the backend instead of being
rejected up front
Commit: 0068e3c4c9233d54d22d205ab17ecd88a97050c0
https://github.com/llvm/llvm-project/commit/0068e3c4c9233d54d22d205ab17ecd88a97050c0
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/SampleBias.ll
Log Message:
-----------
[DirectX] Implement lowering of llvm.dx.resource.samplebias to the SampleBias DXIL Op (#199745)
Fixes #192548
This PR implements the lowering of the `llvm.dx.resource.samplebias`
intrinsic to the `SampleBias` DXIL Op.
Although I reckon that other `lowerSample*` functions in
`DXILOpLowering.cpp` will have shared logic, this is the first one to be
implemented. Consolidating common logic between future `lowerSample*`
functions can be left to a later PR implementing the second or other
`lowerSample*` function.
Assisted-by: Claude Opus 4.6
Commit: 09f30ef6105e3f9695ad876fcb5add2e7917712b
https://github.com/llvm/llvm-project/commit/09f30ef6105e3f9695ad876fcb5add2e7917712b
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
Log Message:
-----------
[lldb-dap] Use SetTarget for launch and attach commands (#200133)
Without this patch event listener registration was skipped, as a result
`Modules` view in UI was not displayed in case of launching target via
`launchCommands` or `attachCommands`.
Commit: 5eca8b67ff3c5f371141d54b6e4544a0ebe77fdb
https://github.com/llvm/llvm-project/commit/5eca8b67ff3c5f371141d54b6e4544a0ebe77fdb
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M compiler-rt/lib/profile/CMakeLists.txt
Log Message:
-----------
[PGO][HIP] Fix profile-only Windows link by gating ROCm interceptor macro (#200859)
PR #200111 stops compiling InstrProfilingPlatformROCm.cpp (which defines
the
HIP GPU helper __llvm_profile_hip_collect_device_data) in profile-only
builds.
But the compile define -DCOMPILER_RT_BUILD_PROFILE_ROCM=1 was still
added
whenever the COMPILER_RT_BUILD_PROFILE_ROCM option was on (the default),
so
InstrProfilingFile.c still referenced the helper from
__llvm_profile_write_file
even though it was never built.
On ELF the declaration is weak, so the undefined symbol folds to null
and the
address-guarded call is skipped. COFF/Windows has no such fallback:
error LNK2019: unresolved external symbol
__llvm_profile_hip_collect_device_data referenced in function
__llvm_profile_write_file
Add the define only when PROFILE_HAS_HIP_INTERCEPTOR is true, i.e. the
same
condition that keeps InstrProfilingPlatformROCm.cpp in the archive, so
the
macro is defined iff the helper is actually compiled in.
Reported by zmodem:
https://github.com/llvm/llvm-project/pull/200111#issuecomment-4593893230
Commit: 1f467e7180891c0d4249c6c0d78be1dae62c36a5
https://github.com/llvm/llvm-project/commit/1f467e7180891c0d4249c6c0d78be1dae62c36a5
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M offload/test/mapping/ompx_hold/struct.c
M offload/test/offloading/indirect_fp_mapping.c
Log Message:
-----------
[offload][LIT] Disable two tests failing on new Intel GPU driver (#200856)
One new consistent failure and one which causes instability.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 668441fbdacdeee35069989acf92824db9af1764
https://github.com/llvm/llvm-project/commit/668441fbdacdeee35069989acf92824db9af1764
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
Log Message:
-----------
[LV] Add VPlan printing test wih UDiv SCEV expansion. (NFC) (#200845)
Commit: 2b4f07dfa997a31af99fa43ba9348b76e0624ed9
https://github.com/llvm/llvm-project/commit/2b4f07dfa997a31af99fa43ba9348b76e0624ed9
Author: duk <74797529+duk-37 at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86FixupLEAs.cpp
A llvm/test/CodeGen/X86/lea-fixup-mcsymbol.mir
Log Message:
-----------
[X86] Fix X86FixupLEAs displacement check for other types of operands (#200705)
This has [already bitten us
before](https://github.com/llvm/llvm-project/pull/71641) with
BlockAddresses, but another case popped up recently: under complex
conditions, LEAs in the three-operand case with symbolic displacements
could be miscompiled due to `MO_MCSymbol` not being handled in a similar
way. To avoid other issues in the future, just be more conservative
about the symbol type and only return false if we know for a fact that
the offset is zero.
Fixes #200707
Commit: 2b9a8029af27be8c8e7fc6c2c07ca79bc89359a8
https://github.com/llvm/llvm-project/commit/2b9a8029af27be8c8e7fc6c2c07ca79bc89359a8
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Nominate Ehsan as a DA maintainer (#200375)
This is related to #200335. I would like to nominate Ehsan as a
maintainer for DependenceAnalysis as I am aware he expressed interest in
that. I am happy that Ryotaro became a maintainer, and if we get one
more maintainer with Ehsan, that is a really good sign of a healthy loop
optimisation community; I think this is a good thing, and support this.
---------
Co-authored-by: Ehsan Amiri <ehsan.amiri at huawei.com>
Commit: 754d3d0d966423f9d308c6823deed55b02bac9f2
https://github.com/llvm/llvm-project/commit/754d3d0d966423f9d308c6823deed55b02bac9f2
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/composite_simd_linear.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/linear_modifier.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
M flang/test/Lower/OpenMP/ordered-simd.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-simd-linear.mlir
Log Message:
-----------
Reland "[flang][OpenMP] Fix lowering of LINEAR iteration variables (#188851)" (#194623)
Linear iteration variables were being treated as private. This fixes
one of the issues reported in #170784.
The regressions in the OpenMP V&V and Fujitsu testsuites happened
because the users iterator was apparently becoming invalid, after one of
its uses was replaced. This was fixed by making a copy of the list of
users.
Commit: 4044ea38d4c4b3d00a33116be5e780f5bada33bb
https://github.com/llvm/llvm-project/commit/4044ea38d4c4b3d00a33116be5e780f5bada33bb
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__iterator/capacity_aware_iterator.h
A libcxx/test/libcxx/utilities/optional/nodiscard.iterator.verify.cpp
Log Message:
-----------
[libc++] Applied `[[nodiscard]]` to `optional::iterator` (#198489)
Towards #172124
Commit: 1e79ea1f5b3e4aafdaeeb577babbf3b969744232
https://github.com/llvm/llvm-project/commit/1e79ea1f5b3e4aafdaeeb577babbf3b969744232
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
A llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions-min-max.ll
Log Message:
-----------
[LoopUnroll] Support parallel reductions for minmax (#182473)
This patch
* Supports parallel reductions for min/max operations in LoopUnroller.
* Adds relevant test (including intrinsics).
* Renames flag -unroll-add-parallel-reduction to
-unroll-parallel-reduction.
* Relaxes check in IVDescriptors.cpp (`getMinMaxRecurrence`) to handle
out-of-loop uses.
Planning to take support for vector types in the next patch.
Commit: cd6891edcffa29284bb0815ec771467facaf3f35
https://github.com/llvm/llvm-project/commit/cd6891edcffa29284bb0815ec771467facaf3f35
Author: Aayush Shrivastava <79578660+iamaayushrivastava at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/include/math.yaml
Log Message:
-----------
[libc][math] Add missing math.yaml entries for acospif and atan2f16 (#199442)
Fixes #199266
This PR adds missing `math.yaml` entries for `acospif` and `atan2f16`.
Commit: d1010189961f8060cebbe2543f5d586d4fbad263
https://github.com/llvm/llvm-project/commit/d1010189961f8060cebbe2543f5d586d4fbad263
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/include/clang/Analysis/CFG.h
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Store cleanup expressions for temporaries (#200568)
Now in `CFGFullExprCleanup` we also store a cleanup expressions to be
able to get an accurate location where destruction happened.
This helps user understand lifetime semantics of objects better.
Closes #195503
Commit: 294b72f48f1178e4f9cf9a68f3c807c12557298a
https://github.com/llvm/llvm-project/commit/294b72f48f1178e4f9cf9a68f3c807c12557298a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Assert operand correctness at construction. (NFC) (#200686)
Update VPWidenPHIRecipe, VPBlendRecipe and VPReductionRecipe to assert
type correctness at construction.
PR: https://github.com/llvm/llvm-project/pull/200686
Commit: 6277fbf3f1afe5a87a66301cadeb5daa4dfce3b4
https://github.com/llvm/llvm-project/commit/6277fbf3f1afe5a87a66301cadeb5daa4dfce3b4
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/include/llvm/Support/ELFAttrParserCompact.h
M llvm/include/llvm/Support/ELFAttrParserExtended.h
M llvm/lib/Support/ELFAttrParserCompact.cpp
M llvm/lib/Support/ELFAttrParserExtended.cpp
Log Message:
-----------
[Support] Remove unused argument of DataExtractor constructor (NFC) (#197121)
`AddressSize` parameter is not used by `DataExtractor` and will be
removed in the future. See #190519 for more context.
Commit: 203c0668d4b098714d1748de766e890fe6296891
https://github.com/llvm/llvm-project/commit/203c0668d4b098714d1748de766e890fe6296891
Author: Aayush Shrivastava <79578660+iamaayushrivastava at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/AST/AttrImpl.cpp
M clang/test/Sema/alloc-size.c
M clang/test/Sema/attr-nonnull.c
Log Message:
-----------
[clang] Fix assertion crash in alloc_size structural equivalence check (#199407) (#199980)
Fixes #199407
Remove ParamIdx from the `USE_DEFAULT_EQUALITY` default-comparison path
and add an explicit `equalAttrArgs<ParamIdx>` specialization that safely
handles invalid (unset) values.
Commit: 52ff7167af07c3173e0dddebba8c5cf288d45d71
https://github.com/llvm/llvm-project/commit/52ff7167af07c3173e0dddebba8c5cf288d45d71
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/vgpr_constant64_to_sgpr.mir
Log Message:
-----------
[AMDGPU] Use S_MOV_B64_IMM_PSEUDO when moving 64-bit VGPR const to SGPR (#200576)
S_MOV_B64 only encodes a 32-bit literal, so rematerializing a non-inline
64-bit immediate through it silently dropped the high 32 bits
Commit: 2a2e45257b8277ae6dbd3bce1627a9b07d1a301d
https://github.com/llvm/llvm-project/commit/2a2e45257b8277ae6dbd3bce1627a9b07d1a301d
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
Log Message:
-----------
[AMDGPU] Use fpext to widen sub DWORD FP printf args (#200870)
Widening half/bfloat printf varargs via bitcast+sext corrupted the FP
bit pattern for negative values
Extend by value-preserving fpext to float instead
Commit: 56ccbc25315030088b04435e4828efbc22f0e926
https://github.com/llvm/llvm-project/commit/56ccbc25315030088b04435e4828efbc22f0e926
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
R llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions-min-max.ll
Log Message:
-----------
Revert "[LoopUnroll] Support parallel reductions for minmax (#182473)" (#200892)
This reverts commit 1e79ea1f5b3e4aafdaeeb577babbf3b969744232.
Commit: b8db0a46a08d5aa14a872dd9b1a778b334b2cce4
https://github.com/llvm/llvm-project/commit/b8db0a46a08d5aa14a872dd9b1a778b334b2cce4
Author: Lily Gorsheneva <bgorshenev at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/unaligned-buffer.ll
Log Message:
-----------
Make tests added in rd5a24ef work in read-only source filesystems. (#200883)
Commit: 8bae84de90eb5b042cc8a320b88f92357e09975f
https://github.com/llvm/llvm-project/commit/8bae84de90eb5b042cc8a320b88f92357e09975f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
Log Message:
-----------
[flang][OpenMP] Simplify checks for type-parameter inquiry (#198217)
Remove the no longer needed IsDataRefTypeParamInquiry.
Commit: 09bf7ef7d7848e4c78d3790a51dc28d9f157e777
https://github.com/llvm/llvm-project/commit/09bf7ef7d7848e4c78d3790a51dc28d9f157e777
Author: Harlen Batagelo <hbatagelo at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/include/llvm/Testing/Annotations/Annotations.h
M llvm/lib/Testing/Annotations/Annotations.cpp
M llvm/unittests/Testing/Annotations/AnnotationsTest.cpp
Log Message:
-----------
[Testing] Allow custom markers in llvm::Annotations (#195570)
The current annotation markers can conflict with several language
constructs. Notably, `[[ ]]` and `^` collide with C++ attributes (e.g.,
`[[nodiscard]]`), the C++26 reflection operator (`^^int`), and
Objective-C blocks (`void (^foo)(void)`). Similarly, `$` can conflict
with identifiers that also use `$` with `-fdollars-in-identifiers`, as
well as with C++26 code that uses `$` as raw-string delimiters or as a
preprocessing token
([P2558R2](https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2023/p2558r2.html)).
Because the markers are currently hardcoded in `llvm::Annotations`,
existing workarounds have to rely on digraphs or macro substitution via
implicit `#define`s. These approaches reduce readability and make tests
cumbersome to write. This PR alleviates these issues by adding support
for custom markers. It adds an overloaded `Annotations` constructor that
accepts a new `Annotations::Markers` struct. For example, to use `~` for
point, `@` for name, and `{{`/`}}` for range:
```cpp
Annotations Example(R"cpp(
@name(payload){{[[nodiscard]] int foo(int x);}}~
)cpp", {"~", "@", "{{", "}}"});
```
Alternatively, we can use setters to customize the markers individually:
```cpp
Annotations Example(R"cpp(
@name(payload){{[[nodiscard]] int foo(int x);}}~
)cpp", Annotations::Markers().setPoint("~")
.setName("@@")
.setRangeBegin("{{")
.setRangeEnd("}}"));
```
Using longer markers:
```cpp
Annotations Example(R"cpp(
$$name(payload)[[[[[nodiscard]] int foo(int x);]]]^^
)cpp", {"^^", "$$", "[[[", "]]]"});
```
Using multi-byte characters:
```cpp
Annotations Example(R"cpp(
🏷️name(payload)👉[[nodiscard]] int foo(int x);👈🎯
)cpp", {"🎯", "🏷️", "👉", "👈"});
```
The existing single-argument constructor delegates to the new overload,
preserving backward compatibility.
PS: The original code has a FIXME comment mentioning alternative
approaches, such as escaping and changing the default syntax. While
valid, escaping would increase visual noise, and changing the default
syntax would break existing tests. The approach proposed here provides
the flexibility to choose a syntax that is clean for a specific context
and is backward compatible. See https://reviews.llvm.org/D59814 for
earlier discussion about these alternative design choices.
Commit: e5851a8f307a8e59742c5ab8fed7abdbe3f9cf21
https://github.com/llvm/llvm-project/commit/e5851a8f307a8e59742c5ab8fed7abdbe3f9cf21
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/convert-fp.ll
Log Message:
-----------
[NVPTX] Fix fptosi/fptoui to i1. (#200718)
The langref says:
> The 'fptosi' instruction converts its floating-point operand into the
> nearest (rounding towards zero) signed integer value. If the value
> cannot fit in ty2, the result is a poison value.
Previously `fptosi to i1` and `fptoui to i1` were lowered as `x == 0.0`,
which is clearly incorrect.
Because the conversion truncates toward zero, the only results that are
not poison are:
- 0 and -1 for the signed case, and
- 0 and 1 for the unsigned case.
So the i1 result is fully determined by a single fp compare:
- `fptosi x to i1` == `x <= -1.0`
- `fptoui x to i1` == `x >= 1.0`
with any value being acceptable for the poison (out-of-range) inputs.
Commit: 0f1f234990f40c942fb8b87cd2141c48848b8253
https://github.com/llvm/llvm-project/commit/0f1f234990f40c942fb8b87cd2141c48848b8253
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/test/src/math/acos_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
Log Message:
-----------
[libc][math] Adding constexpr to tests for Double-type math functions (#200681)
Similar to
```CPP
constexpr uint64_t X_COUNT = 123;
constexpr uint64_t X_START = FPBits(0.25).uintval();
constexpr uint64_t X_STOP = FPBits(4.0).uintval();
constexpr uint64_t X_STEP = (X_STOP - X_START) / X_COUNT;
constexpr uint64_t Y_COUNT = 137;
constexpr uint64_t Y_START = FPBits(0.25).uintval();
constexpr uint64_t Y_STOP = FPBits(4.0).uintval();
constexpr uint64_t Y_STEP = (Y_STOP - Y_START) / Y_COUNT;
```
in [atan2_test.cpp](https://github.com/llvm/llvm-project/blob/main/libc/test/src/math/atan2_test.cpp)
This PR tends to add constexpr to all double function tests-only
Additonally, replacing
``` CPP
LIBC_NAMESPACE::fputil::FPBits<double>(x).uintval();
```
to
```CPP
FPBits(x).uintval();
```
Assisted using Copilot.
Commit: 209d77c43a8aba33d1fbadfdcc4246a35d5fe433
https://github.com/llvm/llvm-project/commit/209d77c43a8aba33d1fbadfdcc4246a35d5fe433
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/IR/Globals.cpp
Log Message:
-----------
[IR] Reorder checks in isInterposable() (NFC) (#200862)
The isDSOLocal() check is a lot cheaper than getSemanticInterposition(),
so perform it first.
Commit: 80875b8a637dcee352721ad6fe4f7b2886abc370
https://github.com/llvm/llvm-project/commit/80875b8a637dcee352721ad6fe4f7b2886abc370
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/replace-first-order-recurrence-by-versioned-iv.ll
Log Message:
-----------
[LV] Add users to header phis in tests (NFC). (#200890)
Make sure the header phis in various tests are actually used, to make
them more robust w.r.t. to future simplification changes. Those dead
phis would be cleaned up before LV in the regular pipeline.
Commit: dc448dad35c896eab52dba9500ad599b69c420fa
https://github.com/llvm/llvm-project/commit/dc448dad35c896eab52dba9500ad599b69c420fa
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/fold-shuffle-chains-to-reduce.ll
Log Message:
-----------
[VectorCombine] Don't fold non-idempotent shuffle reductions when shuffle duplicates element (#200778)
This is a small correctness fix for foldShuffleChainsToReduce. For odd /
non-power-of-2 vector sizes the parity-mask scheme duplicates a lane,
which is only sound when the reduction op is idempotent. For
non-idempotent ops (e.g. add, xor) the duplicated lane changes the
result, so I track a HasLaneDuplication flag and bail out of the fold in
that case. Tests cover non-foldable add/xor and a still-foldable
idempotent smax.
Commit: 0d98eb6e872811bdfd0545e46bdfd4251b493e2d
https://github.com/llvm/llvm-project/commit/0d98eb6e872811bdfd0545e46bdfd4251b493e2d
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
Log Message:
-----------
[CIR] Fix ordering of lifetime-extended cleanups (#200874)
We had a bug that was causing any lifetime-extended cleanups that
occurred within a full-expression cleanup scope to be emitted
prematurely when the expression also required deferred conditional
cleanups. This was, in some cases, causing a dangling reference to
temporaries that had already been destructed. Luckily, it was also
causing us to not emit a return at the end of the function in one case,
leading the verifier to draw attention to this problem.
This change introduces new functions in RunCleanupsScope to allow
"ordinary" EH stack cleanups to be force-emitted separately from
lifetime-extended cleanups. Classic codegen doesn't need this capability
because it handles deferred conditional cleanups very differently than
CIR due to its flat/branching approach.
The testing for this fix did uncover a significant issue wherein CIR is
calling destructors in the wrong order even after the fix in this PR.
However, that's a pre-existing issue that will require changes beyond
the scope of this fix, so I'll handle it in a follow-up.
Assisted-by: Cursor / claude-opus-4.7
Commit: 9433fd7666ca6e0e38c05e3dc911b0685ffa0ab3
https://github.com/llvm/llvm-project/commit/9433fd7666ca6e0e38c05e3dc911b0685ffa0ab3
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M compiler-rt/lib/builtins/ppc/init_ifuncs.c
Log Message:
-----------
[AIX] Set the ifunc constructor's priority to 100, to run before any user code (#200893)
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Commit: 0b411ba0a26b82e301453a67ca44a5c986aa0bdc
https://github.com/llvm/llvm-project/commit/0b411ba0a26b82e301453a67ca44a5c986aa0bdc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] lowerShuffleAsBitBlend - use getConstVector to create selection mask (#200877)
Avoids wasteful SDValue creation if the shuffle matching fails, handles
any i64 legalisation and makes it easier to add UNDEF element handling
in the future.
Commit: 910b4af8118ffef60c58f397794368577b35a7e1
https://github.com/llvm/llvm-project/commit/910b4af8118ffef60c58f397794368577b35a7e1
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
M llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.yaml
M llvm/test/tools/llvm-objcopy/DXContainer/dump-section.yaml
Log Message:
-----------
Revert "[llvm-objcopy] Strip header from DXContainer's ILDB part during `--dump-section`" (#200867)
Reverts llvm/llvm-project#198578
Failed build: https://lab.llvm.org/buildbot/#/builders/190/builds/43332
Commit: 4ae332399664a0f2426576b84bfcd173e85d9125
https://github.com/llvm/llvm-project/commit/4ae332399664a0f2426576b84bfcd173e85d9125
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/CMakeLists.txt
M offload/plugins-nextgen/level_zero/dynamic_l0/level_zero/ze_api.h
M offload/plugins-nextgen/level_zero/include/AsyncQueue.h
A offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/plugins-nextgen/level_zero/include/L0Kernel.h
M offload/plugins-nextgen/level_zero/include/L0Memory.h
M offload/plugins-nextgen/level_zero/include/L0Options.h
M offload/plugins-nextgen/level_zero/include/L0Plugin.h
R offload/plugins-nextgen/level_zero/include/TLS.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
M offload/plugins-nextgen/level_zero/src/L0Options.cpp
M offload/plugins-nextgen/level_zero/src/L0Program.cpp
A offload/plugins-nextgen/level_zero/src/L0Queue.cpp
Log Message:
-----------
[OFFLOAD][L0] Refactor AsyncQueues (#200650)
This PR introduces a major refactor on how L0 queues are used in the
plugin as the current design is too tied to OpenMP behavior. There are
two major changes:
* We no longer have a per-thread queue cache as this resulted in a
single logical queue backed up by multiple L0 queues. We now have a per
device cache which should have a similar level of reuse performance.
* The AsyncQueueTy type has been largely extended to hide the logic of
the different queues types (which are now subclasses of AsyncQueueTy).
This has greatly simplified the L0Device implementation.
As part of this refactor a number of other changes happened:
* Copy command lists were removed in favor of the
ZE_COMMAND_QUEUE_FLAG_COPY_OFFLOAD_HINT driver hint.
* Support for inorder queues was added (can be selected using
LIBOMPTARGET_LEVEL_ZERO_COMMAND_MODE=inorder).
* Sync queues now use inorder queues.
* Queue operations conditionally only use events when necessary (OMPT,
profiling or queue logic).
* MemFill now support asynchronous operations
There are a few more things that still need to be adjusted and cleanup
but as this PR is already big enough as it is, I'll prepare a follow-up
to fix them.
Commit: 948b2b594af8101f5062c66aa8e23334fed4e2c0
https://github.com/llvm/llvm-project/commit/948b2b594af8101f5062c66aa8e23334fed4e2c0
Author: Ege Beysel <beysel at roofline.ai>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
Log Message:
-----------
[mlir][Linalg] Enable lowering/decomposing scalable pack ops (#200216)
Enables lowering/decomposing `linalg.pack` ops with dynamic inner tiles
to a sequence of `tensor.pad` -> `tensor.expand_shape` ->
`linalg.transpose` ops.
---------
Signed-off-by: Ege Beysel <beyselege at gmail.com>
Commit: 4a00d0099bbe5eb318fd4af3e701a1e150b0f9e4
https://github.com/llvm/llvm-project/commit/4a00d0099bbe5eb318fd4af3e701a1e150b0f9e4
Author: lntue <lntue at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[libc][ci] Use lld for linking in precommit CIs. (#200897)
Commit: ae464f629520427be2ff63768d8a9fa4f0345223
https://github.com/llvm/llvm-project/commit/ae464f629520427be2ff63768d8a9fa4f0345223
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.cpp
Log Message:
-----------
[clang-tidy] Fix cert-err33-c inheriting CheckedReturnTypes from bugp… (#200169)
…rone-unused-return-value
The cert-err33-c alias did not override CheckedReturnTypes, causing it
to inherit the default from bugprone-unused-return-value. This made it
flag any function returning std::error_code, std::expected, etc. That is
outside the scope of CERT ERR33-C (a fixed list of C standard library
functions).
Set CheckedReturnTypes to empty so the alias only checks its intended
function list.
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: c5eafbcc29c5d83deea9ae2232883ebef1febec0
https://github.com/llvm/llvm-project/commit/c5eafbcc29c5d83deea9ae2232883ebef1febec0
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/test/Analysis/bstring_UninitRead.c
M clang/test/Analysis/initialization.c
M clang/test/Analysis/initialization.cpp
Log Message:
-----------
[analyzer] Normalize sub-array indices in RegionStore initializer res… (#200044)
…olution
After #198346, alpha.unix.cstring.UninitializedRead reports a false
positive when a pointer into a fully-initialized const multidimensional
array is advanced past an inner dimension boundary and used as a source
argument to memcpy. The root cause is in
`convertOffsetsFromSvalToUnsigneds` in RegionStore, which returned
UndefinedVal for any element index exceeding its sub-array extent,
conflating pointer arithmetic legality with memory initializedness.
This patch separates the two concerns. The RegionStore now normalizes
indices that overflow an inner dimension by carrying into the outer
dimension via divmod, the same way `arr[0][5]` in `int arr[4][3]`
denotes the same memory as `arr[1][2]`. UndefinedVal is returned only
when the computed flat offset exceeds the total array allocation.
Whether cross-subobject pointer arithmetic constitutes undefined
behavior per C/C++ standards is a separate concern for individual
checkers to diagnose. No existing checker flags sub-array boundary
crossing as UB, verified both before and after #198346.
Fixes #199271
Commit: 4c64e23f917db492d1f5c125303bc2bd61f211ec
https://github.com/llvm/llvm-project/commit/4c64e23f917db492d1f5c125303bc2bd61f211ec
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/tests/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/gdb-remote/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#200910)
3d24f9acc92b
7963f459e2f3
7a435caaf3fa
866945c20298
a0ac75213425
Commit: 4b3249a79b2e2856f24d5e8d718381b4b097d29b
https://github.com/llvm/llvm-project/commit/4b3249a79b2e2856f24d5e8d718381b4b097d29b
Author: Jared Hoberock <jaredhoberock at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/test/Conversion/GPUCommon/lower-alloc-to-gpu-runtime-calls.mlir
M mlir/test/Conversion/GPUCommon/lower-launch-func-bare-ptr.mlir
Log Message:
-----------
[MLIR][GPU] Support synchronous gpu.alloc and gpu.dealloc in gpu-to-llvm (#191661)
The gpu-to-llvm conversion patterns for gpu.alloc and gpu.dealloc
previously required async tokens for non-host shared operations. This
prevented lowering synchronous device memory allocation and deallocation
to runtime calls.
Changes:
- gpu.alloc: drop the isAsyncWithOneDependency guard for non-shared
allocs. Cap the number of async dependencies at one to preserve the
prior single-dependency invariant. Cast the runtime-returned pointer to
the memref's address space when they differ, so the descriptor's pointer
slots type-check for memref<..., N>.
- gpu.dealloc: drop the async requirement entirely. Use a null stream
when no async dependencies are present. Use eraseOp instead of replaceOp
for sync deallocs (which have no results). Cap the number of async
dependencies at one.
- Add a unit test for the synchronous alloc/dealloc lowering and a test
that more than one async dependency leaves the op unconverted.
- Update lower-launch-func-bare-ptr.mlir, which previously asserted
gpu.alloc survived the conversion (because the pattern bailed for sync
non-shared allocs); it now asserts the full lowering through
mgpuMemAlloc + addrspacecast.
Assisted-by: Claude
Commit: 8c30cb246ce877c6a6b534fff5e58cc46ced95d3
https://github.com/llvm/llvm-project/commit/8c30cb246ce877c6a6b534fff5e58cc46ced95d3
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
Log Message:
-----------
[OFFLOAD][L0] Add support for dynamic l0 fallbacks (#200517)
The PR adds support to define fallbacks for DLWRAP routines that are not
found when loading the library.
It implements a fallback for
zeCommandListAppendLaunchKernelWithArguments introduced in #194333 which
might not be available in older drivers.
Commit: eae4d72971719d7c68c30c7eeb37135606e346aa
https://github.com/llvm/llvm-project/commit/eae4d72971719d7c68c30c7eeb37135606e346aa
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCComputeLowering.cpp
M mlir/test/Dialect/OpenACC/acc-compute-lowering-loop.mlir
Log Message:
-----------
[openacc] Attach Parallelism Levels to Auto Loops (#200884)
Auto loops are analyzed by the compiler in later compilation stages to
determine whether they can be parallelized. These loops may carry
parallelism levels (this does not guarantee that they are parallelizable,
compiler should still analyze them). However, if the loop is parallelized,
the parallelism levels specified in the source should be respected. This
change attaches the parallelism level to auto loops, which enables their
propagation through next compilation steps.
Commit: 4aa9a9f6f6b9e04c64e18f2f23efbd3745982773
https://github.com/llvm/llvm-project/commit/4aa9a9f6f6b9e04c64e18f2f23efbd3745982773
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] lowerShuffleAsBitMask - use getConstVector to create bitmask (#200889)
Avoids wasteful SDValue creation if the shuffle matching fails, handles
any i64 legalisation, avoid issues with later folds not recognising fp
'allones' masks and makes it easier to add UNDEF element handling in the
future.
Commit: 659c3fbd732771ad30052a9cd2c5896cfe00737e
https://github.com/llvm/llvm-project/commit/659c3fbd732771ad30052a9cd2c5896cfe00737e
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/tools/lldb-dap/ProtocolUtils.cpp
Log Message:
-----------
[lldb-dap] Mark source deemphasize if path doesn't exist (#194702)
LLDB-DAP has a problem with sanitizers in GCC. When we stop in
sanitizer's code, lldb-dap sends stack frames with path (sanitizer's
build dir path) that doesn't exist on machine. It leads to problems in
VS Code UI (see issue below).
Fixes #184789
Commit: 27d344d36ecac3645ed8b8a1ba37dd6772be6a71
https://github.com/llvm/llvm-project/commit/27d344d36ecac3645ed8b8a1ba37dd6772be6a71
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/utils/gn/build/write_cmake_config.py
M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
Log Message:
-----------
[gn build] Port 7964b66b (#200914)
Commit: 7a9fdaa0b1a0c003d9c278bd40647b357952ca93
https://github.com/llvm/llvm-project/commit/7a9fdaa0b1a0c003d9c278bd40647b357952ca93
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
Log Message:
-----------
[lldb] Skip minidump case in TestDynamicValue.py for arm64e (#200047)
The minidump format does not currently have a way to distinguish arm64e
from arm64.
Commit: 5fa177b90c8f365743bfe2633d620aa333a4bd02
https://github.com/llvm/llvm-project/commit/5fa177b90c8f365743bfe2633d620aa333a4bd02
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Dialect/AMDGPU/amdgpu-emulate-atomics.mlir
M mlir/test/Dialect/AMDGPU/canonicalize.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][ROCDL][AMDGPU] Add result arguments to buffer atomics (#198596)
Buffer atomic operations were failing LLVM validation because they
weren't declared as having a result (the old value). This commit updates
those operations to fix the error. (Note: if you don't need the result,
you just don't use it, and the compiler backend emits an atomic that
doesn't return the old value.)
Commit: f323e93d46d9ca3b34a35739089f14ee15865012
https://github.com/llvm/llvm-project/commit/f323e93d46d9ca3b34a35739089f14ee15865012
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-flags.ll
Log Message:
-----------
[VPlan] Propagate print flags for VPInstructionWithType. (#200838)
Update VPInstructionWithType::print to include printing flags.
Commit: a330c89d7de14a13b55e5aef3b80b054815c24ab
https://github.com/llvm/llvm-project/commit/a330c89d7de14a13b55e5aef3b80b054815c24ab
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M bolt/docs/profiles.md
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/perf2bolt/lit.local.cfg
A bolt/test/perf2bolt/perf_brstack.test
M bolt/test/perf2bolt/perf_test.test
Log Message:
-----------
[BOLT] Add perf2bolt pre-aggregated profile output
Add a pre-aggregated profile output format (`--profile-format=preagg`)
so perf.data can be pre-parsed/aggregated and used as input with -pa.
Supports branch (T traces) and basic samples (S records).
Currently only covers main binary, can be extended to cover multi-DSO.
Test Plan: Updated perf_test.test, added perf_brstack.test
Reviewers:
yota9, ayermolo, yozhu, maksfb, yavtuk, paschalis-mpeis, rafaelauler
Reviewed By: paschalis-mpeis
Pull Request: https://github.com/llvm/llvm-project/pull/199465
Commit: a4f3a0153b8be8044d6b4a85e9632618930193f4
https://github.com/llvm/llvm-project/commit/a4f3a0153b8be8044d6b4a85e9632618930193f4
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/plugins-nextgen/level_zero/include/L0Plugin.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
Log Message:
-----------
[OFFLOAD][L0][NFC] Remove Device TLS table (#200923)
After #200650 the Device TLS table is not used anymore so it can be
removed.
Commit: 43ce763adaf01ec2e454c912bf022c7778f9c05b
https://github.com/llvm/llvm-project/commit/43ce763adaf01ec2e454c912bf022c7778f9c05b
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
R offload/plugins-nextgen/level_zero/include/AsyncQueue.h
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/plugins-nextgen/level_zero/include/L0Kernel.h
A offload/plugins-nextgen/level_zero/include/L0Queue.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Queue.cpp
Log Message:
-----------
[OFFLOAD][L0][NFC] Rename AsyncQueueTy struct to L0QueueTy (#200921)
L0QueueTy is more descriptive after the changes in #200650.
Also renamed the header name and one internal field to be more
descriptive.
Commit: 3e45dea1ecce8e0360f58a74f2d4cd45eac301e4
https://github.com/llvm/llvm-project/commit/3e45dea1ecce8e0360f58a74f2d4cd45eac301e4
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/cleanup-derived-to-base-ref.cpp
Log Message:
-----------
[CIR] Spill and reload values across deferred cleanup scopes (#200904)
The `valuesToReload` handling in our `RunCleanupScope::forceCleanup()`
function was not taking into account cleanup scopes for deferred
conditional cleanups that get created when we call
`forceDeactivation()`. This was leading to a CIR verification error in
cases where a deferred cleanup was used in an expression that returns a
value.
This change adds code to spill values ahead of the `forceDeactivation()`
call when we see that there are cleanups on the deferred stack.
Assisted-by: Cursor / claude-opus-4.7
Commit: 385ba8821c75a13ca45a38047e69670921ba9a06
https://github.com/llvm/llvm-project/commit/385ba8821c75a13ca45a38047e69670921ba9a06
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/test/API/macosx/branch-islands/Makefile
Log Message:
-----------
[lldb] Fix TestBranchIslands.py for arm64e (#200498)
Need to pass CFLAGS to clang when building the asm files, otherwise the
triple isn't used and they're automatically compiled for the host
platform.
Commit: 8b66d829fbcc37eeb8a2a2e14dfc7bf40ee067e1
https://github.com/llvm/llvm-project/commit/8b66d829fbcc37eeb8a2a2e14dfc7bf40ee067e1
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M .clang-format-ignore
R clang/.clang-format-ignore
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[Docs] Update coding standard for TD files (#200848)
This PR proposes an update to the coding standards document to make
explicit that we do not want unnecessary formatting changes to TD files.
This is in response to this merged PR (#199346), which lead to this RFC
(https://discourse.llvm.org/t/80-column-limit-for-td-files/90950/).
---------
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Commit: 4d3513075df51a2cb579e3d82e9593aac42a4bce
https://github.com/llvm/llvm-project/commit/4d3513075df51a2cb579e3d82e9593aac42a4bce
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
Log Message:
-----------
[lldb] Strip objc superclass pointer in trampoline handler (#200490)
The pointer needs to be stripped before being handed off to any objc
runtime functions. Otherwise the utility expression will hit a PAC
exception and the thread plan will fail to execute correctly.
This fixes TestObjCStepping.py on arm64e.
Commit: e6874781e5b678101ff5f220c3a0dd4df5d2cf29
https://github.com/llvm/llvm-project/commit/e6874781e5b678101ff5f220c3a0dd4df5d2cf29
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[SelectionDAG] Widen <2 x T> vector types for atomic store (#197618)
Vector types of 2 elements must be widened. This change does this
for vector types of atomic store in SelectionDAG so that it can
translate aligned vectors of >1 size.
Store-side counterpart to #148897. Stacked on top of #197166; and below
of #197619.
Commit: 24ea912d3b66800a5b341a31b9d20494a15e728c
https://github.com/llvm/llvm-project/commit/24ea912d3b66800a5b341a31b9d20494a15e728c
Author: Ehsan Amiri <ehsan.amiri at huawei.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Fix style issue in Maintainers file (#200917)
Commit: fc2ab20894edd965e0394ca3a30a2ed5beb11617
https://github.com/llvm/llvm-project/commit/fc2ab20894edd965e0394ca3a30a2ed5beb11617
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_optimizations_mul_one.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/floor.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
M llvm/test/CodeGen/AMDGPU/callbr-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs-v2f32.ll
M llvm/test/CodeGen/AMDGPU/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
M llvm/test/CodeGen/AMDGPU/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/lds-barrier-memoperand.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.wave32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.f64.ll
M llvm/test/CodeGen/AMDGPU/load-atomic-flat.ll
M llvm/test/CodeGen/AMDGPU/load-atomic-global.ll
M llvm/test/CodeGen/AMDGPU/load-atomic-local.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
M llvm/test/CodeGen/AMDGPU/packed-fneg-fsub-fp16.ll
M llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
M llvm/test/CodeGen/AMDGPU/store-atomic-flat.ll
M llvm/test/CodeGen/AMDGPU/store-atomic-global.ll
M llvm/test/CodeGen/AMDGPU/store-atomic-local.ll
Log Message:
-----------
AMDGPU/GlobalISel: Switch some tests to -new-reg-bank-select (#200853)
Commit: 9740a4bb88463581a4fd6c1362b9d1d14c995cb3
https://github.com/llvm/llvm-project/commit/9740a4bb88463581a4fd6c1362b9d1d14c995cb3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/test/CodeGen/AArch64/selectopt-cast.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[SelectOpt] Preserve Profile Information (#200680)
If at least one of the SelectLike instructions in the group has profile
metadata, we can propagate it given they all share the same condition.
Commit: 64ed6837d6026b97dcb5e175caf3d54ad3397850
https://github.com/llvm/llvm-project/commit/64ed6837d6026b97dcb5e175caf3d54ad3397850
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.compr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.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-i1-copy.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext-inreg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptrunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-amdgcn-fdiv-fast.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-rotl-rotr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-divrem.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-unmerge-undef.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-load-and-mask.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-divrem.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-shuffle.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-widen-scalar-loads.mir
Log Message:
-----------
AMDGPU/GlobalISel: Remove redundant -global-isel from -run-pass MIR tests (NFC) (#200857)
Commit: 8c65695c54b74bc806f1f74314a45a0bb8c56642
https://github.com/llvm/llvm-project/commit/8c65695c54b74bc806f1f74314a45a0bb8c56642
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Queue.h
M offload/plugins-nextgen/level_zero/src/L0Queue.cpp
Log Message:
-----------
[OFFLOAD][L0][NFC] Add struct for deferred memory operations (#200928)
Improve readibility a bit by using a well-defined struct instead of
tuples.
Commit: 11158cfe3faa2c9c04c8b5fdac3ac25eec75cb51
https://github.com/llvm/llvm-project/commit/11158cfe3faa2c9c04c8b5fdac3ac25eec75cb51
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/Transforms/HotColdSplit/coldentrycount.ll
Log Message:
-----------
[HotColdSplit] Consolidate pass pipeline (#200941)
Codegenprepare was added for more of a E2E test in
f0f68c6e6c5e0064c0196e4f1528e910a47766e0. The pipeline was split in
cb5e48d1c2c4774ed9f17ff89412f1291b640172 to allow for the removal of the
HotColdSplit legacy pass. Now that CodeGenPrepare has been ported to the
NewPM in f1ec0d12bb0843f0deab83ef2b5cf1339cbc4f0b (which even touched
this test), we can use a single pass pipeline and simplify the run line
a little bit.
Commit: fbcf6bbf35a176a27ce8ca509c00d6b5c8a8c064
https://github.com/llvm/llvm-project/commit/fbcf6bbf35a176a27ce8ca509c00d6b5c8a8c064
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lld/COFF/Chunks.h
M lld/MachO/ConcatOutputSection.h
M lld/wasm/SyntheticSections.h
Log Message:
-----------
[lld] Remove unused DenseMapInfo::getTombstoneKey (#200636)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 54796f26bf917bd68434f4c13c2a9bb16506cba9
https://github.com/llvm/llvm-project/commit/54796f26bf917bd68434f4c13c2a9bb16506cba9
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Host/HostThread.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Utility/ConstString.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/include/lldb/Utility/UUID.h
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb] Remove unused DenseMapInfo::getTombstoneKey (#200635)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: f0d3a8f1f20b8f569d6c2cf2add3295ea6ac3abf
https://github.com/llvm/llvm-project/commit/f0d3a8f1f20b8f569d6c2cf2add3295ea6ac3abf
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/SplitFunctions.h
M bolt/include/bolt/Profile/DataReader.h
Log Message:
-----------
[BOLT] Remove unused DenseMapInfo::getTombstoneKey (#200637)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 7ccb0ed0172625239626a7503f6996ebd27a6aea
https://github.com/llvm/llvm-project/commit/7ccb0ed0172625239626a7503f6996ebd27a6aea
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lld/wasm/Config.h
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld][WebAssembly] Refine type used for internal TLS-related symbols. NFC (#200899)
I noticed this while reviewing #200855.
Commit: 333bc302b49f37da1987e15ae6f66a3027f615f7
https://github.com/llvm/llvm-project/commit/333bc302b49f37da1987e15ae6f66a3027f615f7
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/include/lldb/Symbol/Symbol.h
Log Message:
-----------
[lldb] Add static_assert to catch increases to size of Symbol (#200919)
Commit: 67139a27775e72b0b199a37946a8b3fa0abdc75e
https://github.com/llvm/llvm-project/commit/67139a27775e72b0b199a37946a8b3fa0abdc75e
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/include/flang/Lower/IterationSpace.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/Support/Utils.cpp
Log Message:
-----------
[flang] Remove unused DenseMapInfo::getTombstoneKey (#200632)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 4b91251dd8af6a109c07c7a89bafab9be0dd829c
https://github.com/llvm/llvm-project/commit/4b91251dd8af6a109c07c7a89bafab9be0dd829c
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Analysis/CallGraph.h
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/IR/AffineExpr.h
M mlir/include/mlir/IR/AffineMap.h
M mlir/include/mlir/IR/Attributes.h
M mlir/include/mlir/IR/Block.h
M mlir/include/mlir/IR/BlockSupport.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/DialectInterface.h
M mlir/include/mlir/IR/IntegerSet.h
M mlir/include/mlir/IR/Location.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/OpImplementation.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/IR/Remarks.h
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/IR/Value.h
M mlir/include/mlir/Pass/PassInstrumentation.h
M mlir/include/mlir/Pass/PassManager.h
M mlir/include/mlir/Support/InterfaceSupport.h
M mlir/include/mlir/Support/TypeID.h
M mlir/include/mlir/TableGen/Constraint.h
M mlir/include/mlir/TableGen/Format.h
M mlir/include/mlir/TableGen/Pattern.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/Func/Transforms/DuplicateFunctionElimination.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/lib/Support/StorageUniquer.cpp
M mlir/lib/TableGen/Constraint.cpp
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
M mlir/lib/Transforms/Utils/CSE.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
Log Message:
-----------
[mlir] Remove unused DenseMapInfo::getTombstoneKey (#200633)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 9e29f7ddc42e325aa34dcf58a5da800afa9f64ad
https://github.com/llvm/llvm-project/commit/9e29f7ddc42e325aa34dcf58a5da800afa9f64ad
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/atomic-load-store.ll
M llvm/test/CodeGen/X86/atomic-unordered.ll
Log Message:
-----------
[X86] Remove extra MOV after widening atomic store (#197619)
This change adds patterns to optimize out an extra MOV present after
widening the atomic store. Covers `<2 x i8>` (SSE4.1+), `<2 x i16>`,
`<4 x i8>`, `<2 x i32>`, `<2 x float>`, `<4 x i16>`,
`<2 x ptr addrspace(270)>`.
Store-side counterpart to #148898. Stacked on top of #197618; and below
of #197860.
Commit: f254ae6f7f12042d3822c64d4467fe3d385f992c
https://github.com/llvm/llvm-project/commit/f254ae6f7f12042d3822c64d4467fe3d385f992c
Author: Marcos Ramirez Joos <mramirezjoos.oss at proton.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
A libc/cmake/modules/compiler_features/check_stdc_fenv_access.cpp
M libc/src/__support/FPUtil/FEnvImpl.h
Log Message:
-----------
[libc] Add FENV_ACCESS pragma with CMake compiler feature detection (#200268)
Related to https://github.com/llvm/llvm-project/pull/199009
Added compiler feature detection for _STDC FENV_ACCESS_ pragma. It is
used to conditionally add function-scoped `#pragma STDC FENV_ACCESS ON`
to `libc/src/__support/FPUtil/FEnvAccess.h`, whenever functions from the
`<fenv.h>` header are called and the target supports the pragma.
Commit: b9d5c24b42f7101f8a34ebb660adc68a22e40dc3
https://github.com/llvm/llvm-project/commit/b9d5c24b42f7101f8a34ebb660adc68a22e40dc3
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
Log Message:
-----------
[gn build] Port 7a907089 (#200953)
Commit: d7ee01c0fa3113b0b2d98e77273f794a182bf2dd
https://github.com/llvm/llvm-project/commit/d7ee01c0fa3113b0b2d98e77273f794a182bf2dd
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_sopc.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/literals.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopcx.txt
Log Message:
-----------
[AMDGPU] Fix disasm of i16 operands fp inline constants (#200944)
Commit: 9bda223f692b10d4311331e2c2ae82293b8af63e
https://github.com/llvm/llvm-project/commit/9bda223f692b10d4311331e2c2ae82293b8af63e
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/src/__support/math/acos.h
M libc/src/__support/math/asin.h
M libc/src/__support/math/asin_utils.h
M libc/src/__support/math/asinpi.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atan_utils.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/log.h
M libc/src/__support/math/log10.h
M libc/src/__support/math/log1p.h
M libc/src/__support/math/log2.h
M libc/src/__support/math/log_range_reduction.h
M libc/src/__support/math/range_reduction_double_common.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sincos.h
M libc/src/__support/math/sincos_eval.h
M libc/src/__support/math/tan.h
M libc/test/src/__support/FPUtil/comparison_operations_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
Log Message:
-----------
[libc] Renaming Float128 (DyadicFloat<128>) to DFloat128 (#200907)
This is to be able to use the `Float128` for emulated float128 type.
[#200565 ](https://github.com/llvm/llvm-project/pull/200565)
Commit: e58e30842fdbae26153757985de2d5fecc7a174e
https://github.com/llvm/llvm-project/commit/e58e30842fdbae26153757985de2d5fecc7a174e
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm60.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm70.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm90.ll
M llvm/test/CodeGen/NVPTX/atomicrmw.py
R llvm/test/CodeGen/NVPTX/atomics-with-scope.ll
Log Message:
-----------
[NVPTX][clang] Remove nvvm scoped atomic intrinsics; use atomicrmw/cmpxchg (#200735)
The
`llvm.nvvm.atomic.{add,exch,max,min,inc,dec,and,or,xor,cas}.gen.{i,f}.{cta,sys}`
intrinsics are redundant; we can use atomicrmw / cmpxchg with a syncscope.
Moreover, the nvvm atomics are problematic because they don't have
unsigned min/max opcodes. Clang uses these intrinsics and currently emits
signed min/max for what should be unsigned operations!
Fix by doing the following.
- Remove the nvvm intrinsics.
- Auto-upgrade the removed intrinsics to atomicrmw/cmpxchg.
- Make clang Clang emits atomicrmw/cmpxchg directly.
Commit: 1123d2bd380e6524dce0f9c09e010b8a3e80a7fa
https://github.com/llvm/llvm-project/commit/1123d2bd380e6524dce0f9c09e010b8a3e80a7fa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/clmulh.ll
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
Log Message:
-----------
[RISCV] Improve shrinkDemandedConstant. (#196585)
Teach shrinkDemandedConstant to restore a constant that can be
materialized as:
lui a0, hi20
addi(w) a0, a0, lo12
slli a1, a0, 32
add a0, a0, a1
or:
lui a0, hi20
addi(w) a0, a0, lo12
pack a0, a0, a0
This fixes a regression between clang 18 and 19 on this test case
https://godbolt.org/z/Ma746a8xP
Commit: daac50b33ee19d5ef5669da8f0119b6ce5c395d8
https://github.com/llvm/llvm-project/commit/daac50b33ee19d5ef5669da8f0119b6ce5c395d8
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M polly/include/polly/Support/VirtualInstruction.h
Log Message:
-----------
[Polly] Remove unused DenseMapInfo::getTombstoneKey (#200963)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 6bbbdbaad55c70fe3234519ab2e81edd26de285a
https://github.com/llvm/llvm-project/commit/6bbbdbaad55c70fe3234519ab2e81edd26de285a
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
Log Message:
-----------
[AMDGPU] Simplicy the logic in checkWMMACoexecutionHazards, NFC (#200717)
Commit: 94337fb6b2d5935cdaa9abecdba8274924119dcc
https://github.com/llvm/llvm-project/commit/94337fb6b2d5935cdaa9abecdba8274924119dcc
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb/test] Fix variant double-expansion in LLDBTestCaseFactory (#200943)
LLDBTestCaseFactory generates the actual test methods that get run: for
every `test*` method on a TestBase subclass, it stamps out one copy per
debug-info format (dwarf, dsym, ...) and, if a variant like
swift_clang's clang/noclang is registered, one copy per variant value on
top. When two test methods in the same class have names that share a
prefix and the longer one is declared first in the file, the shorter
method's expansion ends up re-stamping every copy already produced for
the longer one.
The variant-expansion helper decides what to copy by name-prefix match:
when processing `test_expr`, it grabs `test_expr`, `test_expr_dwarf`,
`test_expr_dsym`, ... and produces a clang/noclang suffix for each one.
The factory was handing it the full running dict of already-synthesized
methods, so by the time `test_expr`'s turn came, the dict also held
`test_expr_stripped_dwarf` and `test_expr_stripped_dsym` from
`test_expr_stripped`. Those names start with `test_expr_` too, so they
pick up a second clang/noclang suffix and inherit `test_expr`'s
xfail/skip predicates.
HiddenIvarsTestCase trips this twice in a row (test_expr_stripped before
test_expr; test_frame_variable_stripped before test_frame_variable).
Upstream `_test_variants` is empty so the bug is latent on mainline, but
any registered variant exposes it.
With swift_clang (values clang/noclang) registered, test_expr_stripped +
test_expr should produce eight methods (4 dwarf/dsym × 2 clang/noclang
per original). Before this patch the factory emits twelve, four of them
junk:
```
test_expr_stripped_dsym_clang_clang
test_expr_stripped_dsym_clang_noclang
test_expr_stripped_dsym_noclang_clang
test_expr_stripped_dsym_noclang_noclang
test_expr_stripped_dwarf_clang_clang
test_expr_stripped_dwarf_clang_noclang
test_expr_stripped_dwarf_noclang_clang
test_expr_stripped_dwarf_noclang_noclang
test_expr_dsym_clang
test_expr_dsym_noclang
test_expr_dwarf_clang
test_expr_dwarf_noclang
```
Track each method's expansion in a local dict and merge it back into the
shared dict only once that method is fully processed, so the variant
helper never sees another method's copies.
Commit: 0597087c44e493610d3f96608bef46e721201af6
https://github.com/llvm/llvm-project/commit/0597087c44e493610d3f96608bef46e721201af6
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/CMakeLists.txt
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/test/CMakeLists.txt
Log Message:
-----------
[lldb] Skip libc++ category tests on Darwin when no in-tree libc++ is built (#199262)
`canRunLibcxxTests()` previously short-circuited with "libc++ always
present" for all Darwin targets, meaning the "libc++" test category was
never skipped on macOS — even when `LLDB_HAS_LIBCXX` is `OFF` and no
`--libcxx-include-dir` / `--libcxx-library-dir` are passed to dotest.
The tests would silently run against the system libc++ instead of an
in-tree build, producing results inconsistent with what the suite is
designed to validate.
This fixes `canRunLibcxxTests()` to apply the same `libcxx_include_dir`
/ `libcxx_library_dir` guard on `Darwin` that `Linux` already uses. When
those dirs are absent (i.e. no in-tree libc++ was built), the function
returns `False` and `checkLibcxxSupport()` appends `libc++` to
`skip_categories` — skipping those tests exactly as Linux does.
On the CMake side, the `SEND_ERROR` for `LLDB_HAS_LIBCXX=OFF` is
downgraded to a `WARNING` so downstreams that intentionally skip the
runtimes build can keep `LLDB_INCLUDE_TESTS=ON` for the tests they
actually want to run. The warning is also gated on the new
`LLDB_ENABLE_LIBCXX_TESTS` option (default `ON`): setting it to OFF
acknowledges the deliberate choice and silences the warning without
requiring either an in-tree libc++ build or disabling all tests.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: b8aa19be4846132525b4f65e7bc5369c6693232f
https://github.com/llvm/llvm-project/commit/b8aa19be4846132525b4f65e7bc5369c6693232f
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Object/DXContainer.cpp
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[Object][DirectX] Fix UB when parsing a DXContainer from a null buffer (#200865)
Adds an additional check that `Src != nullptr` before doing other
operations on it, which caused a UB in one test with #200413.
Commit: f8a5f67e81e95c8007072c3cb307cf5b3bebfd64
https://github.com/llvm/llvm-project/commit/f8a5f67e81e95c8007072c3cb307cf5b3bebfd64
Author: Sergey Stepanov <23sas32 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
M llvm/test/CodeGen/RISCV/shadowcallstack.ll
Log Message:
-----------
[RISCV] Use sspush/sspopchk mnemonics for shadow stack codegen (#200182)
After PR #178609, SSPUSH/SSPOPCHK/C_SSPUSH became encodable under the
Zimop/Zcmop predicates alone (old Zicfiss requirement was relaxed to
Zimop).
Before that, the hw-shadow-stack codegen path introduced in PR #152251
needed PseudoMOP_* wrappers that expand to the base
MOP_RR_7/MOP_R_28/C_MOP_1, because the real SSPUSH/SSPOPCHK/C_SSPUSH
were gated by Zicfiss while the codegen path only required Zimop.
As a side effect, the assembler printed `mop.rr.7 zero, zero,
ra`/`mop.r.28 zero, ra` for hw-shadow-stack functions instead of the
proper `sspush ra`/`sspopchk ra` mnemonics from the CFI RISC-V spec
(while the disassembler already printed proper sspush/sspopchk.
With predicates now aligned, the pseudos are just plain wrappers with
identical predicates to the real instructions, so they became redundant.
This patch removes them and emits SSPUSH/SSPOPCHK/C_SSPUSH directly.
Commit: cd328c777b2925881e852adbd129848cc0c327dc
https://github.com/llvm/llvm-project/commit/cd328c777b2925881e852adbd129848cc0c327dc
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-present-ast.cpp
M clang/test/SemaOpenACC/combined-construct-private-firstprivate-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/data-construct-create-ast.cpp
M clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
M clang/test/SemaOpenACC/data-construct-present-ast.cpp
M clang/test/SemaOpenACC/sub-array-ast.cpp
M clang/test/SemaTemplate/alias-templates.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[clang] fix transformation of SubstNonTypeTemplateParmExpr nodes from type alias templates and concepts (#200850)
This makes sure SubstNonTypeTemplateParmExpr produced from
non-specialization decls (Type alias templates and concepts) are
correctly transformed.
This makes the SubstNonTypeTemplateParmExpr store the parameter type
directly, and uses that instead of relying on the AssociatedDecl.
Fixes #191738
Fixes #196375
Commit: 1460e27c8d38bd9632e1bd95d1f534ba71996a02
https://github.com/llvm/llvm-project/commit/1460e27c8d38bd9632e1bd95d1f534ba71996a02
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/swprintf.cpp
A libc/src/wchar/swprintf.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/swprintf_test.cpp
Log Message:
-----------
[libc] Add a placeholder for swprintf function (#200895)
Add a declaration and stub implementation for the `swprintf` function.
Only enable it when `LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS` is
specified to clarify that the implementation is not ready yet.
We're singling out `swprintf` among the other wide-character formatting
functions because it's used in libc++ to implement `std::to_wstring` for
floating point values
(https://github.com/llvm/llvm-project/blob/2a2e45257b8277ae6dbd3bce1627a9b07d1a301d/libcxx/src/string.cpp#L366),
and is the last remaining piece of functionality preventing us from
turning on wide character support in libc++ built against llvm-libc.
Adding the stub function would allow us to test the compilation with
`_LIBCPP_HAS_WIDE_CHARACTERS` enabled, and start keeping track of what
tests from libc++ test suite are working / not working yet.
Commit: 79b7fefcacdc7b5dc8817cecddcbb9a8da3c996c
https://github.com/llvm/llvm-project/commit/79b7fefcacdc7b5dc8817cecddcbb9a8da3c996c
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/is_constant_evaluated.h
M libcxx/include/__type_traits/is_within_lifetime.h
A libcxx/test/libcxx/type_traits/nodiscard.verify.cpp
M libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
Log Message:
-----------
[libc++][type_traits] Applied `[[nodiscard]]` (#200760)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/type.traits
Commit: f1c6c1a3de116fb273b25d5f9022c8d44ea72fb4
https://github.com/llvm/llvm-project/commit/f1c6c1a3de116fb273b25d5f9022c8d44ea72fb4
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/mulwide.ll
Log Message:
-----------
[NVPTX] Fix sext(shl nsw x, topbit) miscompile. (#200924)
Consider the following IR.
i64 f(i32 %x) {
%s = shl nsw i32 %x, 31
%e = sext i32 %s to i64
ret %e
}
combineMulWide (renamed in this patch to combineSZExtToMulWide) rewrites
this into:
mul.wide.s32 %dst, %x, -2147483648
The LLVM IR is only meaningful for %x == 0 or -1; all other inputs
result in poison. Therefore to check whether this rewrite is correct, we
just need to ask if it generates the correct output when %x is 0 and
when %x is -1.
- When x == 0, IR and PTX both produce 0. OK.
- When x == -1:
- IR produces sext(INT32_MIN), whereas
- PTX produces sext(-1) * sext(INT32_MIN) = -sext(INT32_MIN)
Therefore the transformation is not correct.
This only happens when we're shifting by N-1 bits (where N is the narrow
integer width). In other cases, the multiplier is positive and it works
fine.
Commit: 45b3c4488fb59468fa5fb3637d5b9ecbd4f0c81e
https://github.com/llvm/llvm-project/commit/45b3c4488fb59468fa5fb3637d5b9ecbd4f0c81e
Author: adams381 <adams at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/bitfield-union.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/constant-inits.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/cxx-abi-lowering-string-array.cpp
M clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dumb-record.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
M clang/test/CIR/CodeGen/empty-union.c
M clang/test/CIR/CodeGen/empty-union.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
M clang/test/CIR/CodeGen/forward-decls.cpp
M clang/test/CIR/CodeGen/global-dtor-union-narrowed.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/mms-bitfields.c
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/no-proto-fn-ptr-global-init.c
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/record-type-metadata.cpp
M clang/test/CIR/CodeGen/record-with-padded-union.cpp
M clang/test/CIR/CodeGen/record-zero-init-padding.c
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/three-way-cmp.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/union.cpp
M clang/test/CIR/CodeGen/var_arg.c
M clang/test/CIR/CodeGen/variable-template-specialization.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-nyi-nonconvertible-functype.cpp
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvp2intersect-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vp2intersect-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
M clang/test/CIR/CodeGenCXX/zero_init_bases.cpp
M clang/test/CIR/IR/array-ctor.cir
M clang/test/CIR/IR/array-dtor.cir
M clang/test/CIR/IR/bitfield_info.cir
M clang/test/CIR/IR/construct-catch-param.cir
M clang/test/CIR/IR/copy.cir
M clang/test/CIR/IR/dynamic-cast.cir
M clang/test/CIR/IR/func-attrs.cir
M clang/test/CIR/IR/func.cir
M clang/test/CIR/IR/global-init.cir
M clang/test/CIR/IR/invalid-array-structor.cir
M clang/test/CIR/IR/invalid-cast.cir
M clang/test/CIR/IR/invalid-const-record.cir
M clang/test/CIR/IR/invalid-construct-catch-param.cir
M clang/test/CIR/IR/invalid-data-member.cir
M clang/test/CIR/IR/invalid-delete-array.cir
M clang/test/CIR/IR/invalid-dyn-cast.cir
M clang/test/CIR/IR/invalid-struct.cir
M clang/test/CIR/IR/invalid-type-info.cir
M clang/test/CIR/IR/invalid-vtable.cir
M clang/test/CIR/IR/method-attr.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/IR/vtable-addrpt.cir
M clang/test/CIR/IR/vtable-attr.cir
M clang/test/CIR/IR/vtt-addrpoint.cir
M clang/test/CIR/Lowering/struct.cir
M clang/test/CIR/Lowering/vtt-addrpoint.cir
M clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir
M clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir
M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
M clang/test/CIR/Transforms/flatten-throwing-in-cleanup.cir
M clang/test/CIR/Transforms/flatten-try-op.cir
M clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
M clang/unittests/CIR/PointerLikeTest.cpp
M clang/unittests/CIR/RecordTypeMetadataTest.cpp
M clang/unittests/CIR/UnionTypeSizeTest.cpp
Log Message:
-----------
[CIR] Split RecordType into StructType/UnionType
Union tail padding was stored as the last element of the `members` array
with a `padded = true` flag. Every pass touching `RecordType` had to
special-case unions: skip the last member when iterating, call
`getLargestMember()` to find the storage type, check `isUnion()` before
almost every layout query. This spread union-specific logic across
`CIRTypes.cpp`, `LowerToLLVM.cpp`, `CXXABILowering.cpp`,
`CIRGenRecordLayoutBuilder.cpp`, and `CIRGenExpr.cpp`.
This PR moves union tail padding to a dedicated `padding` field on
`RecordTypeStorage` and introduces two C++ view classes: `UnionType` and
`StructType`, both subclassing `RecordType` via `classof`-based
dispatch. `mlir::dyn_cast<UnionType>` and `mlir::isa<StructType>` work
naturally.
`UnionType` owns the union-specific API: `getPadding()` returns the
tail-padding type (null if none), and `getUnionStorageType(DataLayout)`
returns the highest-alignment variant. `RecordType::getLargestMember()`
and the old `RecordType::getPadding()` (which returned the last member)
are removed.
The CIR text syntax for padded unions changes from `union "Name" padded
{members..., padType}` to `union "Name" padded {members...}, padding =
{padType}`, separating padding from the member list.
`CIRGenRecordLayoutBuilder::appendPaddingBytes` now routes union tail
padding to a new `unionPadding` field instead of appending to
`fieldTypes`. `LowerToLLVM` and `CXXABILowering` use the new `UnionType`
API directly.
Commit: 22e13e71ed46f0d47f90ae5e6cea2956db892be3
https://github.com/llvm/llvm-project/commit/22e13e71ed46f0d47f90ae5e6cea2956db892be3
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Support/LangOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Semantics/Inputs/device_modfile01_a.mod
A flang/test/Semantics/device-modfile01.f90
A flang/test/Semantics/device-modfile02.f90
Log Message:
-----------
[Flang] Fix device-side module lookup (#200863)
When invoking flang with device-offloading (eg. `flang modfile.f90
-fopenmp --offload-arch=gfx90a`), it will invoke the frontend twice:
once for the host architecture, and a second time for the architecture
specified with `--offload-arch`. However, both frontend invocations are
going to write `modfile.mod` (or whatever the module name in
`modfile.f90`), and as a result the second one for gfx90a will be what
the file contains after the driver invocation returns. Until #171515
both version of the file were identical, but now both files are using a
different set of builtin modules. Since Flang's mod files store the
checksums of used module files in them, this can result in a checksum
mismatch error. For instance, modfile.mod being the gfx90a version, and
then using it to compile with `flang modfile.f90
--target=x86_64-linux-gnu`) will have a checksum mismath.
flang -fc1 host x86_64 --> modfile.mod --> lib/clang/23/finclude/flang/x86_64-linux-gnu/iso_fortran_env.mod
/ / \ \
flang -fc1 -foffload-device nvptx / \ lib/clang/23/finclude/flang/nvptx64-nvidia-cuda/iso_fortran_env.mod
/ \
flang -fc1 -foffload-device amdgcn lib/clang/23/finclude/flang/amdgcn-amd-amdhsa/iso_fortran_env.mod
We fix this by
1. Not overwriting the `--target` host module file with the
`--offload-arch` module; the auxiliary target is the canonical version
for its contents; and
2. Ignore checksum errors when using an intrinsic module during
offloading. The device version should be compatible with the host
version, just with definitions which the .mod file will eventually
import from the intrinsic module at compile-time.
Commit: f7fd7a17361ceb850a9c370df25777ba10519710
https://github.com/llvm/llvm-project/commit/f7fd7a17361ceb850a9c370df25777ba10519710
Author: Zachary Yedidia <zyedidia at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.h
A llvm/test/MC/AArch64/LFI/tlsdesccall.s
Log Message:
-----------
[LFI][AArch64] Emit .tlsdesccall with the associated blr (#200903)
This PR fixes an issue in the LFI control-flow rewrites if a blr is
marked with `.tlsdesccall`. The `.tlsdesccall` should be moved after
rewriting so that it is associated with the rewritten `blr`, rather than
the guard instruction.
Commit: 015d0479b94ce48e431398813525a59a16c6e4eb
https://github.com/llvm/llvm-project/commit/015d0479b94ce48e431398813525a59a16c6e4eb
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A llvm/include/llvm/Transforms/Utils/TriggerCrashPass.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/TriggerCrashPass.cpp
A llvm/test/Other/trigger-crash-flags.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[LLVM] Add flags to crash the opt/codegen pipeline (#200967)
Will be used for testing crash reduction.
Commit: c92353836fc9cccebe8af71b93bafb450d128505
https://github.com/llvm/llvm-project/commit/c92353836fc9cccebe8af71b93bafb450d128505
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Disable DCE and DSE for -O0 (#192520)
These are optimisation passes which are inappropriate to run when the
user has requested no optimisations, and which make it more difficult to
write tests.
Co-authored-by: Andrew Savonichev <andrew.savonichev at gmail.com>
Commit: 6d0b3fd88b60e23ff945b98f68b1607fb6f2fa5b
https://github.com/llvm/llvm-project/commit/6d0b3fd88b60e23ff945b98f68b1607fb6f2fa5b
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/utils/instrumentor-config-wizard.py
Log Message:
-----------
[Instrumentor] Improve the config wizard script (#199108)
This makes the config wizard script more generic as we grow
instrumentation opportunities. Better output, e.g., clear paths, are
also displayed now.
Prepared with Claude (AI) and tested by me afterwards.
Commit: 62118b56a7482549b0c19adf3fdf724afbb959a6
https://github.com/llvm/llvm-project/commit/62118b56a7482549b0c19adf3fdf724afbb959a6
Author: idubinov <igor.dubinov at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
Log Message:
-----------
[NFC][SPIR-V] Fix unused-variable in SPIRVBuiltins (#200842)
Commit: f9ae788567343e89f7cb9a9b18d1a43967baf7b3
https://github.com/llvm/llvm-project/commit/f9ae788567343e89f7cb9a9b18d1a43967baf7b3
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang/lib/Sema/HeuristicResolver.cpp
Log Message:
-----------
[clang][HeuristicResolver] Handle non-dependent TemplateSpecializationType gracefully (#200714)
Fixes https://github.com/llvm/llvm-project/issues/197716
Commit: ccd2606d0c30c58554cc11038a2160672ef529d5
https://github.com/llvm/llvm-project/commit/ccd2606d0c30c58554cc11038a2160672ef529d5
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-templates-pattern.cpp
M clang/test/CXX/basic/basic.link/p11.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/instantiate-scope.cpp
M clang/test/Templight/templight-default-func-arg.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[clang] fix getTemplateInstantiationArgs (#199528)
This implements a new strategy for collecting the template arguments, by
relying on the qualifiers and template parameter lists to navigate the
template context of out-of-line definitions.
This greatly simplifies the signature of that function, by removing a
bunch of workarounds, and simpliffying a couple that weren't removed
yet.
Since this now relies on qualifiers and template parameter lists, this
patch expends most of its effort making sure these are placed,
transformed and propagated to template instantiations.
Also makes the explicit specialization AST nodes stop abusing the
template parameter lists by storing it's own template parameter list,
creating a dedicated field for them, similar to partial specializations.
Fixes #101330
Commit: a6255e47bfc5dad9729dc0e0c7d1cda65b52adf5
https://github.com/llvm/llvm-project/commit/a6255e47bfc5dad9729dc0e0c7d1cda65b52adf5
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
R llvm/include/llvm/Transforms/Utils/TriggerCrashPass.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
R llvm/lib/Transforms/Utils/TriggerCrashPass.cpp
R llvm/test/Other/trigger-crash-flags.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
Revert "[LLVM] Add flags to crash the opt/codegen pipeline" (#200977)
Reverts llvm/llvm-project#200967
Test failing on some buildbots:
https://lab.llvm.org/buildbot/#/builders/11/builds/41237
Commit: ad6366d6cc417f504b4a7fe7ff14e12ae79d7346
https://github.com/llvm/llvm-project/commit/ad6366d6cc417f504b4a7fe7ff14e12ae79d7346
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/Headers.h
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/SymbolID.h
M clang-tools-extra/clangd/index/dex/Token.h
M clang-tools-extra/clangd/index/dex/Trigram.h
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTTypeTraits.h
M clang/include/clang/AST/BaseSubobject.h
M clang/include/clang/AST/CharUnits.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/TypeOrdering.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
M clang/include/clang/Analysis/CallGraph.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/Formula.h
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/Analysis/RetainSummaryManager.h
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/DependencyScanning/DependencyGraph.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/Weak.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGObjCMacConstantLiteralUtil.h
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/Indexing.cpp
Log Message:
-----------
[clang][clang-tools-extra] Remove unused DenseMapInfo::getTombstoneKey (#200634)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: dbab3f71775f6edd11546385aeddb9d0b053a2b5
https://github.com/llvm/llvm-project/commit/dbab3f71775f6edd11546385aeddb9d0b053a2b5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions-vs-first-order-recurrences.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions.ll
Log Message:
-----------
[VPlan] Move IV predicate handling to VPlan. (#192876)
Commit: 8ce6c5ff2c134414d8e1815bdc122699abd89954
https://github.com/llvm/llvm-project/commit/8ce6c5ff2c134414d8e1815bdc122699abd89954
Author: Yuta Nakamura <44285097+nakasan617 at users.noreply.github.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
Log Message:
-----------
[clang-tidy] Fix false positive in bugprone-use-after-move for std::tie (#192895)
std::tie(a, b) = expr reinitializes all variables passed to std::tie
because the tuple assignment operator writes back through the stored
references. The check was not recognizing this pattern, causing a false
positive on the second std::tie assignment in loops like:
std::tie(a, b) = foo(std::move(a), std::move(b));
std::tie(a, b) = foo(std::move(a), std::move(b)); // false positive
Add std::tie assignment as a reinitialization case in
makeReinitMatcher().
Fixes #136105.
---
**AI Disclosure:** Claude (Anthropic) was used to assist in diagnosing
the CI test failure and identifying the off-by-one line number in the
CHECK-NOTES.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Co-authored-by: Zeyi Xu <mitchell.xu2 at gmail.com>
Commit: 734012d9897c5b6a9157b8e3a8f8c38dd8ac63f4
https://github.com/llvm/llvm-project/commit/734012d9897c5b6a9157b8e3a8f8c38dd8ac63f4
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
A llvm/test/CodeGen/RISCV/cmp-zilsd-csr.ll
A llvm/test/CodeGen/RISCV/saverestore-zilsd-fixed-location.ll
Log Message:
-----------
[RISCV] Disable Zilsd CSR-pair generation when push/pop or save-restore is enabled (#200623)
We were generating duplicate/worse code due to the generation of the
`Zilsd` load/store doubles for handling `CSR's` when `Zcmp/Xqccmp` or
`Save/Restore Libcalls` were enabled.
Commit: ff2fec30ac7ca732aec032f45c7d300d04c1e7bf
https://github.com/llvm/llvm-project/commit/ff2fec30ac7ca732aec032f45c7d300d04c1e7bf
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/missing-end-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/algorithm
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/iterator
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx17.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx98.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison.cpp
Log Message:
-----------
[clang-tidy] Add `bugprone-missing-end-comparison` check (#182543)
This PR introduces a new check `bugprone-missing-end-comparison`.
It detects instances where the result of a standard algorithm is used
directly in a boolean context without being compared against the
corresponding end iterator.
Currently the check can't handle algorithms returning `std::pair` and
`std::ranges::mismatch_result`, but it should be a good enough starting
point for future improvements.
As of AI-Usage: Assisted by Gemini CLI (for pre-commit reviewing,
documentation and some code refactor/cleanup)
Closes https://github.com/llvm/llvm-project/issues/178731
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: b3221413294c8cb1de20059b06021a5ab0d73b25
https://github.com/llvm/llvm-project/commit/b3221413294c8cb1de20059b06021a5ab0d73b25
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.cpp
M llvm/test/Transforms/SandboxVectorizer/load_store_vec.ll
M llvm/test/Transforms/SandboxVectorizer/load_store_vec_mixed_types.ll
Log Message:
-----------
[SandboxVec][LoadStoreVec][AMDGPU] Remove early reject of mixed types (#200523)
Up until now mixing floats and non-floats was disabled in the legality
checks. This patch changes this. We are now eagerly vectorizing mixed
types, but we are also checking the cost model to make sure we don't
regress on targets where this is expensive.
Commit: c0e4fc8afeaf80e5acff8ec73b3d4ebac492a729
https://github.com/llvm/llvm-project/commit/c0e4fc8afeaf80e5acff8ec73b3d4ebac492a729
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
Log Message:
-----------
[ORC] Simplify DylibManager::lookupSymbols, remove LookupRequest. (#195954)
DylibManager::lookupSymbols used to take an array of LookupRequests,
where each request specified a handle and list of symbols to lookup
within that handle.
This commit replaces the array of lookup requests with a single handle
and list of symbols passed directly to lookupSymbols.
In practice all clients were passing a singlton array anyway, and
simplifying this signature significantly simplifies implementations.
Commit: a4e18dc2a2e300dd6b5e93225b050d852abb319d
https://github.com/llvm/llvm-project/commit/a4e18dc2a2e300dd6b5e93225b050d852abb319d
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorResolutionGenerator.h
Log Message:
-----------
[ORC] Fix header comment. NFC. (#200980)
Commit: 5148d2de75ec49b7642dff033164e51b099f06c4
https://github.com/llvm/llvm-project/commit/5148d2de75ec49b7642dff033164e51b099f06c4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
A clang/unittests/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Improve `getType()` (#200342)
We previously often fell back to the type of the declaration, which is
wrong if we're pointing e.g. to a nested array.
Add a new unit test to vaildate this.
Commit: fba43a5b8923ea4f1d526ff0180a33543b65bc59
https://github.com/llvm/llvm-project/commit/fba43a5b8923ea4f1d526ff0180a33543b65bc59
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/Lowering/call-llvm-intrinsic.cir
Log Message:
-----------
[CIR] Fix cir.call_llvm_intrinsic lowering for 0-result ops (#199516)
`cir.call_llvm_intrinsic` declares `Optional<CIR_AnyType>:$result`, but
the lowering indexed `op->getResultTypes()[0]` unconditionally and OOBed
on void calls.
Guard with `getNumResults()` and pick the void overload of
`LLVM::CallIntrinsicOp::create` in `createCallLLVMIntrinsicOp`.
Commit: 7290d876ad409596fe232e20bc4e83706fc5c05b
https://github.com/llvm/llvm-project/commit/7290d876ad409596fe232e20bc4e83706fc5c05b
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
Log Message:
-----------
[CIR][AMDGPU] Implement lowering for __builtin_amdgcn_dispatch_ptr (#199880)
Port `emitAMDGPUDispatchPtr` from OGCG. Emits the `amdgcn.dispatch.ptr`
intrinsic and inserts an address-space cast when the builtin's expected
return type differs.
Commit: 4cef4efb2fc088426b1d75435536fafa6b562617
https://github.com/llvm/llvm-project/commit/4cef4efb2fc088426b1d75435536fafa6b562617
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
A llvm/include/llvm/DebugInfo/LogicalView/Readers/LVIRReader.h
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
A llvm/lib/DebugInfo/LogicalView/Readers/LVIRReader.cpp
M llvm/lib/Transforms/Utils/DebugSSAUpdater.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-compare-logical-elements.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-print-basic-details.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-select-logical-elements.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/02-ir-logical-lines.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/03-ir-incorrect-lexical-scope-typedef.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/04-ir-missing-nested-enumerators.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/05-ir-incorrect-lexical-scope-variable.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/06-ir-full-logical-view.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/07-ir-debug-formats.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/08-ir-multiple-compile-units.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-1.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-2.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-3.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/hello-world-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-43860-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-44884-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-46466-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang-intrinsics.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang.ll
M llvm/tools/llvm-debuginfo-analyzer/CMakeLists.txt
M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
A llvm/unittests/DebugInfo/LogicalView/IRReaderTest.cpp
M llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
A llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.bc
A llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.ll
Log Message:
-----------
[llvm-debuginfo-analyzer] Add support for LLVM IR format. (#200603)
llvm-debuginfo-analyzer is a command line tool that processes debug
info contained in a binary file and produces a debug information
format agnostic “Logical View”, which is a high-level semantic
representation of the debug info, independent of the low-level format.
Add support for the LLVM IR format and be able to generate logical
views. Both textual representation (.ll) and bitcode (.bc) formats
are supported.
This relands https://github.com/llvm/llvm-project/pull/135440, which was
reverted in https://github.com/llvm/llvm-project/pull/199890.
It includes the fixes for the buildbots problems.
Commit: f3bed426308372c70df7565095d6abaaab5d1aa6
https://github.com/llvm/llvm-project/commit/f3bed426308372c70df7565095d6abaaab5d1aa6
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/AArch64/vector-splice-compress-mmo-align.ll
Log Message:
-----------
[SelectionDAG] Don't over-claim alignment on vector splice/compress stack MMOs (#200622)
expandVectorSplice and expandVECTOR_COMPRESS allocate their scratch slot
on the stack with getReducedAlign, but the memory accesses they generate
touching this slot use the type's natural alignment, which may be
larger!
Commit: adcd285fc4047759e4014d6568d80bb64589aded
https://github.com/llvm/llvm-project/commit/adcd285fc4047759e4014d6568d80bb64589aded
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/mem_map_linux.cpp
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/report_linux.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
Log Message:
-----------
[scudo] Return nullptr if a remap fails on linux. (#200537)
Add a check if a fixed address mmap doesn't return the expected address.
Allow a remap call to fail if the mmap fails and returns a nullptr to
the caller.
Fix a place where if remap fails in the secondary, it didn't do
anything. Now it will unmap the original entry on failure.
Commit: 363fdc5895b55c8c4775149df832960f615d3839
https://github.com/llvm/llvm-project/commit/363fdc5895b55c8c4775149df832960f615d3839
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
A llvm/test/Assembler/dilabel.ll
Log Message:
-----------
[LLVM][IR] Make sure that DILabel's line is always printed (#200846)
This commit ensures that the textual IR of the DILabel always contains
the `line` information. This is required as the absence of a line causes
a parsing failure, i.e., this change fixes the print + parse roundtrip.
Commit: 872e45be708bbe82424addcee26757697adc7a98
https://github.com/llvm/llvm-project/commit/872e45be708bbe82424addcee26757697adc7a98
Author: hanbeom <kese111 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/gfni-or-fold.ll
Log Message:
-----------
[X86] Fold OR of constant splats into GF2P8AFFINEQB (#194330)
Fold OR of a constant byte splat into X86ISD::GF2P8AFFINEQB when the
affine matrix is known at compile time.
For bits forced to 1 by the OR mask, zero the corresponding matrix rows
(in reverse row order within each 64-bit lane) and set the same bits in
the immediate. This turns:
gf2p8affineqb(x, M, imm) | C
into:
gf2p8affineqb(x, M & KeepMask, imm | C)
where KeepMask clears the rows for output bits selected by C.
This removes a separate OR after GF2P8AFFINEQB for constant-matrix cases
and extends the existing GFNI combine coverage beyond XOR folds.
Fixes: https://github.com/llvm/llvm-project/issues/191173
Commit: d046ee42e576f9fa6f8e3b57bfe9d6c574ab1708
https://github.com/llvm/llvm-project/commit/d046ee42e576f9fa6f8e3b57bfe9d6c574ab1708
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
workflows/upload-release-artifact: Fix typo introduced in 01cfbaabef6cb59a1a6eb870bf5f48ac2e747118 (#200730)
Commit: 9547e0f5960bb1021112c5a373217c209b6b4014
https://github.com/llvm/llvm-project/commit/9547e0f5960bb1021112c5a373217c209b6b4014
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
R llvm/include/llvm/DebugInfo/LogicalView/Readers/LVIRReader.h
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
R llvm/lib/DebugInfo/LogicalView/Readers/LVIRReader.cpp
M llvm/lib/Transforms/Utils/DebugSSAUpdater.cpp
R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-compare-logical-elements.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-print-basic-details.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-select-logical-elements.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/02-ir-logical-lines.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/03-ir-incorrect-lexical-scope-typedef.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/04-ir-missing-nested-enumerators.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/05-ir-incorrect-lexical-scope-variable.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/06-ir-full-logical-view.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/07-ir-debug-formats.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/08-ir-multiple-compile-units.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-1.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-2.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-3.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/hello-world-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-43860-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-44884-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-46466-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang-intrinsics.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang.ll
M llvm/tools/llvm-debuginfo-analyzer/CMakeLists.txt
M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
R llvm/unittests/DebugInfo/LogicalView/IRReaderTest.cpp
M llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
R llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.bc
R llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.ll
Log Message:
-----------
Revert "[llvm-debuginfo-analyzer] Add support for LLVM IR format. (#200603)" (#201019)
This reverts commit 4cef4efb2fc088426b1d75435536fafa6b562617.
There are link issues with some buildbots.
Commit: 622302e847858a7a8ca5f2b360c67d7647689cc9
https://github.com/llvm/llvm-project/commit/622302e847858a7a8ca5f2b360c67d7647689cc9
Author: Jerry Zhang Jian <jerry.zhangjian at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/lpad-setjmp-isel.ll
A llvm/test/CodeGen/RISCV/lpad-setjmp-no-cfp.ll
A llvm/test/CodeGen/RISCV/lpad-setjmp.ll
M llvm/test/CodeGen/RISCV/lpad.ll
Log Message:
-----------
[RISCV] Ensure LPAD alignment for calls to returns_twice functions (#177515)
When Zicfilp is enabled, all LPAD instructions must be 4-byte aligned,
including those following a returns_twice call. Linker relaxation can
convert calls to c.jal (RV32C) or cm.jalt (Zcmt), causing LPAD
misalignment.
This patch handles calls to returns_twice functions (e.g., setjmp) when
Zicfilp CFI is enabled:
1. In ISel (LowerCall), detect
CLI.CB->hasFnAttr(Attribute::ReturnsTwice)
and select LPAD_CALL or LPAD_CALL_INDIRECT ISD opcodes. Custom ISel
in RISCVISelDAGToDAG adds the landing pad label as a pseudo operand.
2. RISCVAsmPrinter::emitLpadAlignedCall handles assembly output: when
Zca
is enabled, emit .p2align 2 before the call. When linker relaxation is
also enabled, wrap with .option push/exact/pop to prevent relaxation.
The LPAD instruction is emitted immediately after the call.
3. RISCVMCCodeEmitter::expandFunctionCallLpad handles object output:
expands the pseudo to AUIPC+JALR+LPAD (direct) or JALR+LPAD (indirect),
without R_RISCV_RELAX relocation.
Note: Both AsmPrinter and MCCodeEmitter need separate expansion logic
because GNU assembler doesn't yet support call.lpad/jalr.lpad syntax.
4. RISCVIndirectBranchTracking no longer needs to scan for returns_twice
calls since LPAD is now emitted directly by the pseudo expansion.
The existing lpad.ll test is updated to add cf-protection-branch module
flag, as the test_returns_twice function was intended to test
CFI-enabled
behavior. Without this flag, LPAD insertion after setjmp would not be
triggered.
Known issue: When Large Code Model and Zicfilp are both enabled, direct
calls to returns_twice functions use SW_GUARDED_CALL which takes
priority
over LPAD_CALL. This combination is not yet handled and will be
addressed
in a follow-up patch.
Signed-off-by: Jerry Zhang Jian <jerry.zhangjian at sifive.com>
Commit: b8e768f6ae95343ac542b195265572ecd063fc2b
https://github.com/llvm/llvm-project/commit/b8e768f6ae95343ac542b195265572ecd063fc2b
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake
Log Message:
-----------
[CMake][Release] Use llvm-bitcode-strip on Darwin for build with -ffat-lto-objects (#200764)
Building with --fat-lto-objects was added in #140381 (cff9ae7a15a5). On
macOS the tests are failing when building release binaries with many
"The file was not recognized as a valid object file" errors, e.g.:
2026-01-16T12:54:26.0928880Z
/Users/runner/work/llvm-project/llvm-project/build/tools/clang/stage2-instrumented-bins/tools/clang/stage2-bins/_CPack_Packages/Darwin/TXZ/LLVM-22.1.0-rc1-macOS-ARM64/bin/llvm-strip:
error:
'/Users/runner/work/llvm-project/llvm-project/build/tools/clang/stage2-instrumented-bins/tools/clang/stage2-bins/_CPack_Packages/Darwin/TXZ/LLVM-22.1.0-rc1-macOS-ARM64/lib/libLLVMAArch64AsmParser.a(AArch64AsmParser.cpp.o)':
The file was not recognized as a valid object file
It's assuming bitcode is embedded in section .llvm.lto
(llvm/lib/Object/ObjectFile.cpp:80) but on MachO it's in
__LLVM,__bitcode (llvm/lib/Object/MachOObjectFile.cpp:2184)
llvm-bitcode-strip is a driver for the MachO bitcode_strip utility which
handles this. Use this instead.
Fixes #176398.
Assisted-by: codex
Commit: c4484e8422745ab8c1ada25a6bda5d69ef8da924
https://github.com/llvm/llvm-project/commit/c4484e8422745ab8c1ada25a6bda5d69ef8da924
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RegisterBankInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[CodeGen] De-type getMinimalPhysRegClass and related APIs (#197495)
Follow-up #193438 to de-type getMinimalPhysRegClass so it can be replaced with
the precomputed getDefaultMinimalPhysRegClass. Type is also removed from
related APIs.
There's very few uses of getMinimalPhysRegClass with a non-default type
(MVT::Other) and none at all for getCommonMinimalPhysRegClass. Rather than
trying to also handle the type when precomputing at compile-time it seems
better to remove the type altogether and simplify the APIs. This also improves
compile-time for a number of targets and configurations:
CTMark geomean:
- stage1-O3: -0.23%
- stage1-ReleaseThinLTO: -0.19%
- stage1-ReleaseLTO-g: -0.15%
- stage1-aarch64-O3: -0.57%
- stage2-O3: -0.23%
- clang: -0.13%
https://llvm-compile-time-tracker.com/compare.php?from=eae0b6b2498305ee29dc85a405ede9ccdc10ce7d&to=08c052a2db407d2a21d468001fd2035d3720acf7&stat=instructions%3Au
Assisted-by: codex
Commit: bb20724ecb743be0d67270934830510f0149ed15
https://github.com/llvm/llvm-project/commit/bb20724ecb743be0d67270934830510f0149ed15
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/test/CodeGen/X86/ifma-combine-vpmadd52.ll
M llvm/test/CodeGen/X86/slow-pmullq.ll
Log Message:
-----------
[X86] Move Non-VLX handling for VPMADD52 instructions entirely into tablegen (#200800)
Just widen v2i64/v4i64 cases to v8i64
Removes more VLX/NoVLX testing from DAG
Commit: b3438c9af04b2ccf13b0adb6faf5e1fa0e3fb585
https://github.com/llvm/llvm-project/commit/b3438c9af04b2ccf13b0adb6faf5e1fa0e3fb585
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/IR/invalid-lifetime.cir
A clang/test/CIR/IR/lifetime.cir
A clang/test/CIR/Lowering/lifetime.cir
Log Message:
-----------
[CIR] Add cir.lifetime.start and cir.lifetime.end Op (#199599)
### summary
Adds the `cir.lifetime.start` and `cir.lifetime.end` ops, which mark the
beginning and end of an alloca's live range. They mirror the LLVM
intrinsics `llvm.lifetime.start` / `llvm.lifetime.end`
Commit: c22474fc02c1c26c81577d4cc147ed3b7c04a079
https://github.com/llvm/llvm-project/commit/c22474fc02c1c26c81577d4cc147ed3b7c04a079
Author: Abhinav Pradeep <abhinav.pradeep at oracle.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/test/Sema/warn-lifetime-safety-lifetimebound.cpp
Log Message:
-----------
[LifetimeSafety] Prevent false-negative lifetimebound verification when origin escapes in an unrelated manner (#200786)
This PR removes a false-negative `[[lifetimebound]]` verification result
that occurs when the annotated attribute escapes via unrelated origin
escape kinds (escape through global, escape through field).
Change summary:
- `Checker.cpp` has function `checkAnnotations` which checks if an
escaping `Origin` was an annotated parameter. Modified the logic there
to only verify `[[lifetimebound]]` in the case that the escape was
through a return statement.
Fixes #200412
---------
Signed-off-by: Abhinav Pradeep <abhinav.pradeep at oracle.com>
Commit: 6f44c750a1987b050490f9655dc88c0145a44813
https://github.com/llvm/llvm-project/commit/6f44c750a1987b050490f9655dc88c0145a44813
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
Log Message:
-----------
[clang][CodeGen] Drop TBAA metadata emission on FP libcalls (#200752)
TBAA annotation on FP libcalls has been superseded by
recently-introduced `llvm.errno.tbaa` module-level metadata.
Commit: 114e135010ba92afd87462dd120f865b83f966b3
https://github.com/llvm/llvm-project/commit/114e135010ba92afd87462dd120f865b83f966b3
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
Log Message:
-----------
[lldb][NFCI] Cleanup AppleObjCClassDescriptorV2::ivar_t API (#201042)
Commit: a6a5bfc12f25de87815995d08e7d4f14477764ca
https://github.com/llvm/llvm-project/commit/a6a5bfc12f25de87815995d08e7d4f14477764ca
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/memory-attr.ll
Log Message:
-----------
[LoopInterchange] Prevent interchange when memory-accessing calls exist (#200828)
Previously loop-interchange can be applied even though the loop has call
instructions which may access the memory. The root cause of this problem
is that the implementation didn't match the comment, like below:
```cpp
// readnone functions do not prevent interchanging.
if (CI->onlyWritesMemory() || isa<PseudoProbeInst>(CI))
continue;
```
However, I think ensuring `readnone` is insufficient in the first place,
because the LLVM Language Reference states about `readnone` as follows:
```
This attribute indicates that the function does not dereference that pointer argument, even though it may read or write the memory that the pointer points to if accessed through other pointers.
```
So, this patch fixes the issue by verifying that all the calls in the
loop have the `memory(none)` attribute. We could probably check that all
the arguments of the calls have `readnone`, but I believe just calling
`doesNotAccessMemory` is simpler and sufficient in practical cases
(though I haven't actually checked).
Fixes #200796.
Commit: 9c63a7e92616b96239b6687f229a15776572b5cb
https://github.com/llvm/llvm-project/commit/9c63a7e92616b96239b6687f229a15776572b5cb
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/convert_functions.ll
Log Message:
-----------
[SPIR-V] Fix inverted signed/unsigned opcode for int-to-int convert builtins (#200791)
Commit: e174a520b21103890ebc7367952202914b2baf88
https://github.com/llvm/llvm-project/commit/e174a520b21103890ebc7367952202914b2baf88
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Reject invalid UETT_OpenMPRequiredSimdAlign nodes (#200997)
Commit: 0a758f9356138e327134a9aea2d760a50c49a419
https://github.com/llvm/llvm-project/commit/0a758f9356138e327134a9aea2d760a50c49a419
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
M llvm/test/Transforms/GVN/PRE/load-metadata.ll
M llvm/test/Transforms/GVN/PRE/lpre-call-wrap.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-add.ll
M llvm/test/Transforms/GVN/PRE/phi-translate.ll
M llvm/test/Transforms/GVN/PRE/pre-after-rle.ll
M llvm/test/Transforms/GVN/PRE/pre-aliasning-path.ll
M llvm/test/Transforms/GVN/PRE/pre-load-combine-metadata.ll
M llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll
M llvm/test/Transforms/GVN/PRE/pre-load-guards.ll
M llvm/test/Transforms/GVN/PRE/pre-load-implicit-cf-updates.ll
M llvm/test/Transforms/GVN/PRE/pre-load.ll
M llvm/test/Transforms/GVN/PRE/pre-single-pred.ll
M llvm/test/Transforms/GVN/PRE/preserve-tbaa.ll
M llvm/test/Transforms/GVN/PRE/rle-addrspace-cast.ll
M llvm/test/Transforms/GVN/PRE/rle-semidominated.ll
M llvm/test/Transforms/GVN/PRE/rle.ll
M llvm/test/Transforms/GVN/nonescaping.ll
M llvm/test/Transforms/GVN/pr14166.ll
M llvm/test/Transforms/GVN/readattrs.ll
M llvm/test/Transforms/GVN/setjmp.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVN/vscale.ll
Log Message:
-----------
[GVN] MemorySSA for GVN: eliminate redundant loads via MemorySSA (#152859)
Introduce the main algorithm performing redundant load elimination via
MemorySSA in GVN. The entry point is `findReachingValuesForLoad`, which,
given as input a possibly redundant load `L`, it attempts to provide as
output a set of reaching memory values (`ReachingMemVal`), i.e., which
values (defs or equivalent reads) can reach `L` along at least one path
where that memory location is not modified meanwhile (if non-local, PRE
will establish whether the load may be eliminated).
Specifically, a reaching value may be of the following descriptor kind
(`DepKind`):
* Def: found a new instruction that produces exactly the bits the load
would read. For example, a must-alias store (which defines the load
memory location), or a must-alias read (exactly reads the same memory
location, found, e.g., after a phi-translation fixup);
* Clobber: found a write that clobbers a superset of the bits the load
would read. For example, a memset call over a memory region, whose value
read overlaps such a region (and may be forwarded to the load), or a
generic call clobbering the load that cannot be reused;
* Other: a precise instruction could not be found, but know the block
where the dependency exists (e.g., a memory location already live at
function entry).
We start off by looking for the users of the defining memory access of
the given load within the same block, searching for local dependencies.
We may need to iteratively follow the use-def chain of the defining
memory access to find the actual clobbering access, while staying within
the scope of the load. If an actual local def/clobber (or liveOnEntry)
is found, we are done and return that one. Otherwise, we move visiting
the predecessors of the load's block, considering the incoming value
from the MemoryPhi as a potential clobbering access. Hence, we search
for dependencies within the predecessor block itself. If the new
potential clobbering access is a MemoryPhi, we continue visiting the
transitive closure of the predecessor, recording its new potential
clobbering access. In this phase, as we are exploring non-local
definitions, the load itself may be considered a must-alias def as well
when being examined from a backedge path.
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Commit: b0e72b7c3f240cdc7e20eb6692d4662e7315bbc6
https://github.com/llvm/llvm-project/commit/b0e72b7c3f240cdc7e20eb6692d4662e7315bbc6
Author: markyang92 <80628866+markyang92 at users.noreply.github.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/CMakeLists.txt
M clang/utils/perf-training/lit.site.cfg.in
Log Message:
-----------
[clang][cmake] Move perf-training out of CLANG_INCLUDE_TESTS (#192163)
perf-training defines the generate-profdata target used by the PGO
bootstrap build.
However, it is currently enabled only when CLANG_INCLUDE_TESTS=ON.
For distribution builds such as Yocto/OE, tests are usually disabled by
setting this to OFF.
But perf-training is a PGO utility, not a test target, and it is
currently gated by that block.
As a result, generate-profdata is unavailable to the PGO bootstrap build
when
CLANG_INCLUDE_TESTS=OFF.
Move perf-training out of the CLANG_INCLUDE_TESTS block.
This is safe because utils/perf-training/CMakeLists.txt adds targets
only when
LLVM_BUILD_INSTRUMENTED or CLANG_BOLT is enabled, so moving it out does
not add
any targets unless PGO or BOLT is actually in use.
Also fix the path in lit.site.cfg.in for standalone builds.
When llvm_src_dir is set from CMAKE_SOURCE_DIR, standalone clang builds
end up
using the clang source directory instead of the LLVM source directory.
Set it to the proper LLVM source location instead.
Assisted-by: claude
Commit: 0a52250e27e87b6b29492fc5223f9634acb948b1
https://github.com/llvm/llvm-project/commit/0a52250e27e87b6b29492fc5223f9634acb948b1
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/strided-access-wide-stride.ll
Log Message:
-----------
[LV][RISCV] Add crash test for wide pointer stride in convertToStridedAccesses (#200985)
Pre-commit test for https://github.com/llvm/llvm-project/issues/199640.
The test demonstrates a crash when the pointer stride exceeds the
canonical IV type (i32) range. To be updated by #199647.
Commit: edeffec62d462e0d162c6bcb41050c9afe192815
https://github.com/llvm/llvm-project/commit/edeffec62d462e0d162c6bcb41050c9afe192815
Author: Zhige Chen <zhige_chen at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/test/tools/llubi/controlflow.ll
A llvm/test/tools/llubi/global.ll
A llvm/test/tools/llubi/global_constant_store.ll
A llvm/test/tools/llubi/global_constexpr_initializer.ll
A llvm/test/tools/llubi/global_external.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/ExecutorBase.cpp
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[llubi] Global variables with simple initializers and global-address constants (#200547)
This PR implements global variables with simple initializers and
global-address constants. Support for constant expressions, alias, etc.,
are left for future PRs.
Commit: 88e96462dec6f3bbab7901a85b33bd15d4df6736
https://github.com/llvm/llvm-project/commit/88e96462dec6f3bbab7901a85b33bd15d4df6736
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
Log Message:
-----------
[AArch64][GlobalISel] Add handling for scalar sqabs intrinsic (#200222)
sqabs is a neon intrinsic, so can only be performed on vector register
banks. To handle intrinsic properly, coerce regbankselection to put
sqabs on fpr banks.
Commit: 32c7aaa3326f920cafd8474c6d5774ed5c0b3558
https://github.com/llvm/llvm-project/commit/32c7aaa3326f920cafd8474c6d5774ed5c0b3558
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
Log Message:
-----------
Remove an invalid FIXME in a MemCpyOpt test (#200809)
Call slot optimization explicitly [requires `writable` and `noalias`][0]
when the destination is an argument, and `sret` doesn't imply any of
these.
So the `memcpy` into the return value pointer cannot be optimized away
in this test.
The test for doing this optimization when the `sret` argument is also
`writable` and `noalias` is [here][1].
Relevant commits:
- 369c9b791bc3f380e884bcad444287998c32ae16 requires writability in call
slot optimization and adds the `writable` attribute in the test linked
above, which already has `sret`, so that it optimizes as before. So
`sret` does not imply `writable`.
- f445e39ab271d07733f0f45048badd9e58905aec updates `isWritable` used in
the commit above to check for `noalias` on arguments before concluding
"writable".
The FIXME should probably have been removed with one of these commits.
[0]:
https://github.com/llvm/llvm-project/blob/356d7e6bf429a7ff3ae798bb994631ef33891a44/llvm/lib/Analysis/AliasAnalysis.cpp#L1009-L1019
[1]:
https://github.com/llvm/llvm-project/blob/356d7e6bf429a7ff3ae798bb994631ef33891a44/llvm/test/Transforms/MemCpyOpt/sret.ll#L9
Commit: ecf8b039e5e80a609a4446b29e83600062179cc6
https://github.com/llvm/llvm-project/commit/ecf8b039e5e80a609a4446b29e83600062179cc6
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[AMDGPU] Recompute EXEC liveness in SIWholeQuadMode::toExact (#200866)
This is required as stale liveness information can lead to an incorrect
optimization in `SIOptimizeExecMaskingPreRA`. For example, when `hi16`
is removed from EXEC, `optimizeElseBranch` produces an incorrect result
by removing `S_AND`.
This is caused by the following code:
```c++
SlotIndex StartIdx = LIS->getInstructionIndex(SaveExecMI);
SlotIndex EndIdx = LIS->getInstructionIndex(*AndExecMI);
for (MCRegUnit Unit : TRI->regunits(ExecReg)) {
LiveRange &RegUnit = LIS->getRegUnit(Unit);
if (RegUnit.find(StartIdx) != std::prev(RegUnit.find(EndIdx)))
return false;
}
```
When `hi16` is available there are two `RegUnit`s, one for `hi16` and
one for `lo16`. In the case of `wqm.ll` test it produces two live
ranges:
```
0: [320r,320d:3)[368r,368d:2)[736r,736d:4)[832r,832d:1)[944r,944d:0) 0 at 944r 1 at 832r 2 at 368r 3 at 320r 4 at 736r
1: [12r,12d:1)[320r,320d:5)[368r,368d:4)[736r,736d:6)[744r,744d:0)[832r,832d:3)[944r,944d:2) 0 at 744r 1 at 12r 2 at 944r 3 at 832r 4 at 368r 5 at 320r 6 at 736r
```
When `hi16` is removed there is only one range:
```
0: [320r,320d:3)[368r,368d:2)[736r,736d:4)[832r,832d:1)[944r,944d:0) 0 at 944r 1 at 832r 2 at 368r 3 at 320r 4 at 736r
```
If only the first range is considered the loop will finish without
returning false and continue to remove `S_AND`. It is because EXEC
register for `S_AND` added by `SIWholeQuadMode::toExact` is not in the
range. This is incorrect.
When `hi16` is present the incorrect behavior is masked by the second
live range coming from `hi16`, causing the loop to return. This can be
most likely explained by the fact that `hi16` is only computed after the
new `S_AND` was added so contains more up to date information. Removing
EXEC from `LiveIntervals` forces the live range to be recomputed.
Commit: 2fc8a3e84ec08659e33b63e91f1d9b4be0890cfc
https://github.com/llvm/llvm-project/commit/2fc8a3e84ec08659e33b63e91f1d9b4be0890cfc
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/veneer-erratum-843419.s
Log Message:
-----------
[BOLT][AArch64] Eliminate e843419 veneers (#187955)
Detect and eliminate A53 843419 errata veneers with the drop-cortex-a53-843419-veneers option.
Commit: 7d62e753bb9ef0c21d1be9d155e4f6456391a406
https://github.com/llvm/llvm-project/commit/7d62e753bb9ef0c21d1be9d155e4f6456391a406
Author: David Spickett <david.spickett at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/API/functionalities/thread/jump/TestThreadJump.py
Log Message:
-----------
[lldb][test] Disable part of TestThreadJump.py on WoA (#201074)
See https://github.com/llvm/llvm-project/issues/201068.
Commit: 4cfbf8ec82cb7e6f06c3f382a1b4ec082bd42b18
https://github.com/llvm/llvm-project/commit/4cfbf8ec82cb7e6f06c3f382a1b4ec082bd42b18
Author: Kshitij Paranjape <kshitijvparanjape at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
Log Message:
-----------
[ValueTracking] Conservative NoSync check prevents vectorization (#199002)
Conservative nosync check in ValueTracking.cpp returns false causing
potentially faulting load preventing vectorization. Instead check if any
instructions betweenAssume Instruction and Ctx Instruction are synchronizing.
Fixes #180180.
Commit: 924388cd4bffe04cd6f191da0cd7015a19c673ef
https://github.com/llvm/llvm-project/commit/924388cd4bffe04cd6f191da0cd7015a19c673ef
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-02 (Tue, 02 Jun 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 sys/sendfile.h to the public header list (#201062)
Commit: 4b212e5418097e31b13ab51dd9574c8cc6a3fdab
https://github.com/llvm/llvm-project/commit/4b212e5418097e31b13ab51dd9574c8cc6a3fdab
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
Log Message:
-----------
[VPlan] Propagate interleave-group metadata to narrowed wide load/store. (#199356)
VPInterleaveRecipe now carries the common metadata valid for all members
and as such hold for any member. Propagate it to narrowed load and
stores.
PR: https://github.com/llvm/llvm-project/pull/199356
Commit: c3ea53cd814abd924fd004357f357823b180ace8
https://github.com/llvm/llvm-project/commit/c3ea53cd814abd924fd004357f357823b180ace8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs-02.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test
Log Message:
-----------
[VPlan] Don't print interleave group insert position. (#200023)
This patch updates interleave group printing to drop the insert
position. It does not add any information (the position of the
interleave group is determined by the position in VPlan), and for stores
we currently were printing <badref> anyways (trying to print a value
with void type).
PR: https://github.com/llvm/llvm-project/pull/200023
Commit: bae4566a422cba33fb41a072320b36fb51cb67ee
https://github.com/llvm/llvm-project/commit/bae4566a422cba33fb41a072320b36fb51cb67ee
Author: Amit Kumar Pandey <pandey.kumaramit2023 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][sanitizer_common] Generalize CheckNoDeepBind as OnDlOpen (#200748)
Rename the dlopen pre-check hook to OnDlOpen so platform-specific dlopen
handling can be extended beyond the RTLD_DEEPBIND guard on Linux.
Windows and macOS keep no-op implementations. All dlopen interceptors
call the shared hook.
Commit: bbc8fcb0e850984efa54eb815717f7ab905c4c05
https://github.com/llvm/llvm-project/commit/bbc8fcb0e850984efa54eb815717f7ab905c4c05
Author: Luke Lau <luke at igalia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
Log Message:
-----------
[VPlan] Fix assertion when VPReductionPHIRecipe is simplified (#201023)
When replacing an invariant store of a reduction, we assert that the
stored value is the backedge value. However in some cases the
VPReductionPHIRecipe may be simplified away completely, so account for
this.
Fixes #201020
Fixes #200742
Commit: 969f6415b69cce63e98c19a03e8940b89cd8b285
https://github.com/llvm/llvm-project/commit/969f6415b69cce63e98c19a03e8940b89cd8b285
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.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/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/vplan-incomplete-cases.ll
Log Message:
-----------
[VPlan] Replace VPTypeAnalysis with VPValue::getScalarType. (NFC) (#200256)
Now that all VPValues have their scalar type set at construction,
replace calls to VPTypeAnalysis::inferScalarType with direct calls to
VPValue::getScalarType, and remove the no-longer-needed VPTypeAnalysis
members from VPCostContext and VPTransformState. Also remove the
getScalarTypeOrInfer fallback helper.
Depends on https://github.com/llvm/llvm-project/pull/200255
PR: https://github.com/llvm/llvm-project/pull/200256
Commit: 238bd57ccc283a3dec84afcd0b092b4e7a378491
https://github.com/llvm/llvm-project/commit/238bd57ccc283a3dec84afcd0b092b4e7a378491
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[AArch64][TG] Migrate AArch64 backend from !cond to !switch(NFC) (#200949)
Making exact matches more compact. The \!switch operator has been
introduced by: https://github.com/llvm/llvm-project/pull/199659
Commit: f341dab9edfa97d7a4a01f9bc0fe981055dc5cc9
https://github.com/llvm/llvm-project/commit/f341dab9edfa97d7a4a01f9bc0fe981055dc5cc9
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/test/CodeGen/RISCV/riscv-cf-protection.c
Log Message:
-----------
[clang][RISCV][Zicfilp] Force user to use `-mcf-branch-label-scheme=unlabeled` (#152122)
Expected Behavior:
When `-fcf-protection=branch|full` is specified, it's an error to omit
`-mcf-branch-label-scheme=unlabeled`.
Context:
When using forward-edge control flow integrity feature based on the
RISC-V Zicfilp extension, the `-mcf-branch-label-scheme` option selects
the encoding scheme used in the landing pad labels. The spec defines 2
schemes: `func-sig` and `unlabeled`, with the former specified as the
default. However the `func-sig` backend is still under active
development and won't land anytime soon; in the meanwhile, the
`unlabeled` scheme almost has complete support in the toolchain now.
Given that Clang currently accepts and defaults to
`-mcf-branch-label-scheme=func-sig` but doesn't work correctly, we want
to formally forbid the user from using
`-mcf-branch-label-scheme=func-sig` for now until the `func-sig` scheme
is properly supported. We choose to do so by forcing the user to specify
`-mcf-branch-label-scheme=unlabeled` (instead of changing the default to
`unlabeled`) so the default of `func-sig` can be retained according to
the spec and build scripts targeting the current Clang can be
forward-compatible with the Clang that supports the complete `func-sig`
scheme.
Commit: 016f53e2df9dae2177623d369eb5a1373fa6dc3c
https://github.com/llvm/llvm-project/commit/016f53e2df9dae2177623d369eb5a1373fa6dc3c
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-access-wide-stride.ll
A llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses-narrow-iv.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
Log Message:
-----------
[VPlan] Use pointer index type for stride in convertToStridedAccesses (#199647)
The type of StrideInBytes should be index type, not the canonical IV
type. When the type of canonical IV is narrower than index type (e.g.,
i32 canonical IV on a RV64), using CanonicalIVType for stride may cause
crash.
The assertion failure in SelectionDAG was a secondary symptom, and the
root cause is a semantic mismatch in the stride type.
Fixes #199509
Commit: 67aaa03dac582b5ccf65776e449eb6c7517eb11c
https://github.com/llvm/llvm-project/commit/67aaa03dac582b5ccf65776e449eb6c7517eb11c
Author: Matthias Springer <me at m-sp.org>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/docs/Dialects/LLVM.md
M mlir/docs/LangRef.md
A mlir/docs/Tokens.md
M mlir/docs/Traits/_index.md
M mlir/include/mlir/Dialect/Async/IR/Async.h
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/OpBase.td
M mlir/include/mlir/IR/OpDefinition.h
M mlir/lib/AsmParser/TokenKinds.def
M mlir/lib/AsmParser/TypeParser.cpp
M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
M mlir/lib/Dialect/Async/IR/Async.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/Verifier.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
M mlir/test/Conversion/AsyncToLLVM/convert-coro-to-llvm.mlir
M mlir/test/Dialect/ArmSME/invalid.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
M mlir/test/Dialect/Builtin/Bytecode/types.mlir
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/traits.mlir
M mlir/test/IR/operand.mlir
M mlir/test/IR/result.mlir
A mlir/test/IR/token-type.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/predicate.td
M mlir/test/mlir-tblgen/types.mlir
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][IR] Add builtin `TokenType` (#195640)
Introduces a new parameterless, opaque, builtin SSA value type,
`!token`. A token cannot appear in a value-forwarding position such as
`cf.br`, `arith.select`, `scf.for` iter-args or function call/return.
Walking back from any token use reaches the producing operation without
crossing such a boundary. Tokens carry no runtime data and cannot
constant-fold.
This contract is enforced by changing the default ODS `AnyType`
predicate to exclude tokens. In addition, token-producing and
token-consuming ops must opt in by implementing the `ProducesToken` and
`ConsumesToken` traits. The IR verifier checks for the presence of these
traits.
Note: CSE, DCE, hoisting, and `OperationEquivalence` remain unchanged. A
stronger contract (e.g., uniqueness, arity, paired lifetime), if
desirable based on the semantics of token-producing and token-consuming
ops, can be expressed at the op level via existing mechanisms (side
effects, block arguments, traits, attributes), keeping the type
orthogonal to operation-level transformations. This mirrors LLVM's
`token` type.
Other changes:
* Builtin bytecode: new entry for `TokenType`.
* AsmParser / AsmPrinter: `token` keyword for the textual format.
* Remove `LLVMTokenType` from the LLVM dialect and use the builtin
`TokenType` instead.
* Async dialect: references to `async::TokenType` are qualified to
disambiguate from the new builtin `TokenType`.
* Documentation: new `mlir/docs/Tokens.md` covering the structural
contract, design rationale, and ODS integration.
No changes to `Operation`, the generic op syntax, the bytecode op
encoding, or core C++ APIs around `Operation`.
This commit is in preparation of adding support for breaking exit from
regions. (E.g., early exit from loops.)
RFC:
https://discourse.llvm.org/t/rfc-add-a-builtin-token-type-to-mlir/90706
Assisted-by: claude-opus-4.7-thinking-high
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 9def57af57cc61ebaa83106f056ef3bbc59e0244
https://github.com/llvm/llvm-project/commit/9def57af57cc61ebaa83106f056ef3bbc59e0244
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Remove stale references to VPTypeInfo. (#201088)
VPTypeInfo has been removed, and (#199647) a016f53e2 add dead reference,
causing the build to fail on main.
Commit: c51296345de89f80fbaeac85e92d72d0df06c0cb
https://github.com/llvm/llvm-project/commit/c51296345de89f80fbaeac85e92d72d0df06c0cb
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Host/windows/PipeWindows.cpp
Log Message:
-----------
[lldb][windows] Close pipe HANDLE if _open_osfhandle fails (#200882)
Commit: 3c0daa26db4ba76359ca3285af6b709d8199c1cc
https://github.com/llvm/llvm-project/commit/3c0daa26db4ba76359ca3285af6b709d8199c1cc
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Host/windows/PseudoConsole.cpp
Log Message:
-----------
[lldb][Windows] Default-initialize PseudoConsole Kernel32 members (#200880)
Commit: 6e1f2f513c84759e0d0727925dbb8c3a3e8b5199
https://github.com/llvm/llvm-project/commit/6e1f2f513c84759e0d0727925dbb8c3a3e8b5199
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/bindings/python/CMakeLists.txt
Log Message:
-----------
[lldb][windows] copy vcpkg runtime dlls (#200416)
Commit: 6b6cb5fb35183b156f8acf648184b61b985bee8f
https://github.com/llvm/llvm-project/commit/6b6cb5fb35183b156f8acf648184b61b985bee8f
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
M llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.yaml
M llvm/test/tools/llvm-objcopy/DXContainer/dump-section.yaml
Log Message:
-----------
Reapply "[llvm-objcopy] Strip header from DXContainer's ILDB part during `--dump-section`" (#200906)
The patch is reapplied with adjustments for the test failing on some
buildbots.
It strips the header from ILDB part of DXContainer during `llvm-objcopy
--dump-section`, so that the output contains bitcode only.
Commit: 78cf6cde9fbb6f08dacb3de5bc529243f9f85d9b
https://github.com/llvm/llvm-project/commit/78cf6cde9fbb6f08dacb3de5bc529243f9f85d9b
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
Log Message:
-----------
[NFC][analyzer] Simplify ExprEngine::Visit, eliminate NodeBuilders (#200837)
Remove NodeBuilder use from `ExprEngine::Visit` to reduce its size from
700 lines to 600 lines of source code.
This commit also moves the "for instance method operators, make sure the
'this' argument has a valid region" logic (~10 lines) from the huge
`ExprEngine::Visit` to the more specific `VisitCallExpr`; and applies a
few other very minor code quality improvements.
Commit: 3191c78697c8b499a108e917a9590811db723969
https://github.com/llvm/llvm-project/commit/3191c78697c8b499a108e917a9590811db723969
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/module_asm_unsupported.ll
Log Message:
-----------
[SPIR-V] Reject module-level inline assembly with a diagnostic (#199992)
Module level inline asm is unsupported, even with extension
Commit: 7139d0b46f6d71334b74049bbd540ac4b18a1bc5
https://github.com/llvm/llvm-project/commit/7139d0b46f6d71334b74049bbd540ac4b18a1bc5
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/test/CodeGen/AArch64/f16f32dot-intrinsics.c
M clang/test/Sema/aarch64-neon-immediate-ranges/dotprod.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
A llvm/test/CodeGen/AArch64/aarch64-f16f32dot-intrinsics.ll
Log Message:
-----------
[AArch64] Add intrinsic support for Fdot instr. (#189987)
This patch adds intrinsics for new NEON Fdot instruction variants. The
implementation is based on the
[proposal](https://github.com/ARM-software/acle/pull/428) and adds these
ACLE builtins:
```
float32x2_t vdot_f32_f16(float32x2_t r, float16x4_t a, float16x4_t b);
float32x4_t vdotq_f32_f16(float32x4_t r, float16x8_t a, float16x8_t b);
float32x2_t vdot_lane_f32_f16(float32x2_t r, float16x4_t a, float16x4_t b, const int lane);
float32x4_t vdotq_laneq_f32_f16(float32x4_t r, float16x8_t a, float16x8_t b, const int lane);
float32x2_t vdot_laneq_f32_f16(float32x2_t r, float16x4_t a, float16x8_t b, const int lane);
float32x4_t vdotq_lane_f32_f16(float32x4_t r, float16x8_t a, float16x4_t b, const int lane);
```
Commit: 67b3b87e6d64d7d706e14be8c5bba6acdc200623
https://github.com/llvm/llvm-project/commit/67b3b87e6d64d7d706e14be8c5bba6acdc200623
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/select-splat-vector.ll
Log Message:
-----------
[LLVM][GlobalISel] Make CSEMIRBuilder::buildFConstant scalable vector aware. (#200386)
Commit: ad9e5bfcaf38580b2596967d3e1b7c3746d31bb1
https://github.com/llvm/llvm-project/commit/ad9e5bfcaf38580b2596967d3e1b7c3746d31bb1
Author: Weronika Lewandowska <weronika.lewandowska at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[Offload] Forward LIBOMPTARGET_ cmake options to offload (#199906)
Add LIBOMPTARGET for offload so LIBOMPTARGET_* options are forwarded.
Note that the LIBOMPTARGET_* prefix was inherited from OpenMP's CMake
setup.
Commit: 3c86ffb3bd282cfad0bf1e3aa2cedf1e4895b057
https://github.com/llvm/llvm-project/commit/3c86ffb3bd282cfad0bf1e3aa2cedf1e4895b057
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/immarg-param-attribute-invalid.ll
Log Message:
-----------
[LLVM][Verifier] Reject "splat (...)" as an invalid value for an immarg operand. (#200445)
This makes the behaviour consistent with ConstantDataVector based
values.
Commit: b29352f7ea1d46fa7d90900d7a279851b6de9f74
https://github.com/llvm/llvm-project/commit/b29352f7ea1d46fa7d90900d7a279851b6de9f74
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-templates-pattern.cpp
M clang/test/CXX/basic/basic.link/p11.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/instantiate-scope.cpp
M clang/test/Templight/templight-default-func-arg.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Revert "[clang] fix getTemplateInstantiationArgs" (#201093)
This caused bootstrap builds on macOS to fail with
error: definition with same mangled name ... as another definition
in JSONGenerator.cpp. See comments on the original PR.
Reverts llvm/llvm-project#199528
Commit: 1872f06d60f35133bbc06e047c763b490c2d31be
https://github.com/llvm/llvm-project/commit/1872f06d60f35133bbc06e047c763b490c2d31be
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
A flang/test/HLFIR/opt-bufferization-dealloc-conflict.fir
A flang/test/HLFIR/separate-allocatable-assign.fir
M flang/test/Integration/OpenMP/workshare-axpy.f90
Log Message:
-----------
[flang][HLFIR] Add SeparateAllocatableAssign pass (#197814)
Example:
```fortran
!$acc kernels
B = A ! A, B allocatable
!$acc end kernels
```
In this code, `B = A` lowers to `hlfir.assign ... realloc`, which
becomes a `_FortranAAssign` runtime call inside the compute region — the
allocation can't be separated from the copy, and it crashes when `B` is
unallocated.
Fix: add `SeparateAllocatableAssign`, which splits the realloc assign
into an explicit conditional [re-]allocation followed by a plain
`hlfir.assign`, exposing the allocation as plain FIR. For variable RHS
it skips aliasing cases (`a = a(:n)`) by loading the LHS `fir.box` and
querying `fir::AliasAnalysis` on the data. For `hlfir.expr` RHS it
leaves ordering to bufferization, and fixes
`ElementalAssignBufferization` to stop fusing an elemental across a
deallocation.
Commit: f85f70fe78bd9d787d5414a79224c2e6b60fa472
https://github.com/llvm/llvm-project/commit/f85f70fe78bd9d787d5414a79224c2e6b60fa472
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
Log Message:
-----------
[Target] Remove unused DenseMapInfo::getTombstoneKey (#200955)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 414b8b986705d24e415e8ef17bc8ddbbd6839712
https://github.com/llvm/llvm-project/commit/414b8b986705d24e415e8ef17bc8ddbbd6839712
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/PBQP/CostAllocator.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/StackMaps.cpp
M llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[CodeGen][Transforms] Remove unused DenseMapInfo::getTombstoneKey (#200956)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: e0f5ce18c04a5c55e5eb4e35e5ab1f1980e15c31
https://github.com/llvm/llvm-project/commit/e0f5ce18c04a5c55e5eb4e35e5ab1f1980e15c31
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/Dominators.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ValueHandle.h
M llvm/include/llvm/IR/ValueMap.h
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[IR][Analysis] Remove unused DenseMapInfo::getTombstoneKey (#200958)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 17f85f467249d08508fe29f5c01f6a046d9a68e3
https://github.com/llvm/llvm-project/commit/17f85f467249d08508fe29f5c01f6a046d9a68e3
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/Minidump.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/WasmTraits.h
M llvm/include/llvm/CAS/CASID.h
M llvm/include/llvm/CAS/CASReference.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MemoryFlags.h
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
M llvm/include/llvm/Linker/IRMover.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/FunctionId.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Object/Minidump.cpp
M llvm/tools/dsymutil/BinaryHolder.h
M llvm/tools/llvm-c-test/echo.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-split/llvm-split.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
M llvm/utils/gdb-scripts/prettyprinters.py
Log Message:
-----------
[llvm] Remove unused DenseMapInfo::getTombstoneKey (#200957)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 10d3c6779d9faffed0a1d686ea76ee2cec48bd06
https://github.com/llvm/llvm-project/commit/10d3c6779d9faffed0a1d686ea76ee2cec48bd06
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/include/limits.yaml
M libc/include/llvm-libc-macros/limits-macros.h
M libc/test/src/__support/CPP/limits_test.cpp
Log Message:
-----------
[libc] Define SSIZE_MAX in limits-macros.h (#201087)
Defined SSIZE_MAX in limits-macros.h to support POSIX compliance.
Applications compiling against LLVM libc require SSIZE_MAX to be defined
in limits.h.
SSIZE_MAX is defined strictly in terms of __PTRDIFF_MAX__, matching
ssize_t defined as __PTRDIFF_TYPE__, ensuring they are always
structurally aligned and compile-time safe.
Added Doxygen comments for SSIZE_MAX.
Added SSIZE_MAX to limits.yaml and added a unit test in limits_test.cpp
to verify the definition.
Assisted-by: Automated tooling, human reviewed.
Commit: 9a9b9d92db959447c32c63a931f269189c3c0893
https://github.com/llvm/llvm-project/commit/9a9b9d92db959447c32c63a931f269189c3c0893
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-02 (Tue, 02 Jun 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`" (#201092)
This reapplies #198351 with 2 issues fixed:
- `-Wchanges-meaning` causing an error in `PdbYaml.h`
- UB when parsing DXContainer header from a null buffer, fixed in
#200865
Original patch 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: 0012320e60cddc1f98a9835f7d4ce8552fe12fe7
https://github.com/llvm/llvm-project/commit/0012320e60cddc1f98a9835f7d4ce8552fe12fe7
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add.ll
Log Message:
-----------
[LLVM][ComplexDeinterleaving] Update identifyDeinterleave to support all forms of zero. (#200400)
The original code misses ConstantFP based zeros.
Commit: 574243d7fad23da3532699caf0eadf36dfc321d8
https://github.com/llvm/llvm-project/commit/574243d7fad23da3532699caf0eadf36dfc321d8
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
A llvm/test/CodeGen/SPIRV/transcoding/func_param_attr.ll
Log Message:
-----------
[SPIR-V] Emit missing Sext function parameter decoration for signext args and test other param decorations (#200801)
Commit: 94fcaf5110e21451fed27c61e1f1e0b5fb3bdb33
https://github.com/llvm/llvm-project/commit/94fcaf5110e21451fed27c61e1f1e0b5fb3bdb33
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/test/Transforms/SandboxVectorizer/load_store_vec.ll
Log Message:
-----------
[LLVM][SandboxVec][LoadStoreVec] Add support for vector ConstantInt/FP. (#200437)
The current implementation treats all ConstantInt/FP values as scalar,
leading to the wrong number of elements being used when combining them.
Commit: 9942a38e64b2333dc3816eebe6ac9230b1993220
https://github.com/llvm/llvm-project/commit/9942a38e64b2333dc3816eebe6ac9230b1993220
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/shared_mutex
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
Log Message:
-----------
[libc++] Apply `[[nodiscard]]` to `unique_lock` and `<shared_mutex>` (#200986)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/thread.sharedmutex.class
- https://wg21.link/thread.sharedtimedmutex.class
- https://wg21.link/thread.lock.unique
- https://wg21.link/thread.lock.shared
Remarks:
- All constructors of `shared_lock` are marked `[[nodiscard]]`, which is
consistent with handling for constructors of `unique_lock`.
Commit: 2a7524b4e33c8dfd667fa28341ec7c6c529d9c50
https://github.com/llvm/llvm-project/commit/2a7524b4e33c8dfd667fa28341ec7c6c529d9c50
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.cpp
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
A lldb/test/Shell/Process/Windows/output_debug_string.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Windows] Support OutputDebugString (#196395)
This picks https://reviews.llvm.org/D128541 back up. It implements
support for `OutputDebugStringA/W` on Windows. It's used by some logging
systems.
The main changes since the original patch:
- Use `WaitForDebugEventEx` for getting debug events over
`WaitForDebugEvent`. According to the
[docs](https://learn.microsoft.com/en-us/windows/win32/api/debugapi/nf-debugapi-waitfordebugeventex),
the only difference is that the -Ex version correctly outputs Unicode
strings.
- Support strings longer than 64 KiB. I set an arbitrary limit of 1 MiB
for the strings we read. The debugger interface only tells us the length
modulo 64 KiB which is a bit awkward. Libraries like Qt already chunk
calls to `OutputDebugString`, so strings shouldn't be too big in
practice.
- Output to stdout instead of a log channel, so the output is always
enabled. I don't know if this should go to stdout or stderr.
Tested that it works with lldb-dap and shows up in the debug console in
all modes.
Closes #185891.
---------
Co-authored-by: Alvin Wong <alvin at alvinhc.com>
Commit: 6180a4899ff913e0a0e2338e4d019b683f8f06da
https://github.com/llvm/llvm-project/commit/6180a4899ff913e0a0e2338e4d019b683f8f06da
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
A lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.cpp
A lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.h
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
R lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.cpp
R lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Register MSVCRTCFrameRecognizer from DynamicLoaderWindowsDYLD (#201097)
Commit: 2790e61b41949e4ce61faebdb1faed614ca14416
https://github.com/llvm/llvm-project/commit/2790e61b41949e4ce61faebdb1faed614ca14416
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
Log Message:
-----------
[clang-tidy] Fix crash in readability-non-const-parameter with redecls (#200178)
The check matches `VarDecls` with `hasInitializer()`, which uses
`getAnyInitializer()` and may therefore match a redeclaration whose
initializer is attached to another declaration. So calling
`IgnoreParenCasts()` on `VD->getInit()` directly would crash when that
redeclaration had no initializer of its own.
This commit fixes the problem by using a new matcher that only matches
VarDecls with an initializer on the current declaration.
Closes https://github.com/llvm/llvm-project/issues/199197
Commit: 52fd3ec25a3d9a20efae59c453a2450bf633a970
https://github.com/llvm/llvm-project/commit/52fd3ec25a3d9a20efae59c453a2450bf633a970
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/unistd.yaml
M libc/src/unistd/linux/sysconf.cpp
M libc/test/include/CMakeLists.txt
A libc/test/include/unistd_macros_test.cpp
M libc/test/src/unistd/sysconf_test.cpp
Log Message:
-----------
[libc] Define _POSIX_THREADS and support _SC_THREADS in sysconf (#201091)
Defined the _POSIX_THREADS macro to 202405L in unistd-macros.h for Linux
to signal POSIX thread support.
Also implemented runtime support for _SC_THREADS in sysconf, returning
_POSIX_THREADS, and added _SC_THREADS and _POSIX_THREADS to the public
unistd.yaml specification.
Added compile-time and runtime tests to verify _POSIX_THREADS definition
and sysconf(_SC_THREADS) behavior. Standardized header comments in
unistd-macros.h to conform to LLVM style.
Assisted-by: Automated tooling, human reviewed.
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 0bbb91b73430cf6e436cb9c0fe61a2f280d9453b
https://github.com/llvm/llvm-project/commit/0bbb91b73430cf6e436cb9c0fe61a2f280d9453b
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
Log Message:
-----------
[lldb][NFCI] Cleanup AppleObjCClassDescriptorV2::ivar_t API (#200777)
Commit: bd85a10b0cbfde6e944da773c435b8006130848f
https://github.com/llvm/llvm-project/commit/bd85a10b0cbfde6e944da773c435b8006130848f
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation-direct-chain.ll
A llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation-indirect.ll
A llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation.ll
M llvm/test/CodeGen/AMDGPU/dvgpr_sym_fail_too_many_block_size_16.ll
M llvm/test/CodeGen/AMDGPU/dvgpr_sym_fail_too_many_block_size_16_anon.ll
Log Message:
-----------
[AMDGPU] Do not propagate vgpr count in dVGPR mode (#187078)
When dVGPR mode is enabled chain functions should not propagate VGPR
counts from other chain callees. VGPRs are allocated before chaining to
a chain functions. We only propagate counts from non-chain callees.
Commit: 3db25f80895d281d2d3921bb15677e0c8de03c7a
https://github.com/llvm/llvm-project/commit/3db25f80895d281d2d3921bb15677e0c8de03c7a
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.cpp
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
Log Message:
-----------
[libc] Use linux_syscalls::open instead of manual SYS_open ifdefs (#201089)
I needed to clean up a few types in file.cpp in order to match the
wrapper prototype.
Assisted by Gemini.
Commit: fda34a97729f254d1a184d341683132c4ec65489
https://github.com/llvm/llvm-project/commit/fda34a97729f254d1a184d341683132c4ec65489
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/test/CodeGen/RISCV/riscv-cf-protection.c
Log Message:
-----------
[clang] Fix lit test after f341dab for envs that cannot write to file (#201121)
Commit: 023248a62673ce82045fa284022673882f209677
https://github.com/llvm/llvm-project/commit/023248a62673ce82045fa284022673882f209677
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[lldb][Windows] Use LazyImport for WaitForDebugEventEx (#201118)
From
https://github.com/llvm/llvm-project/pull/196395#pullrequestreview-4409209050.
This uses `LazyImport` for `WaitForDebugEventEx` to simplify the import.
Commit: 492202ec237f97299c6c2070a79be4c10826992f
https://github.com/llvm/llvm-project/commit/492202ec237f97299c6c2070a79be4c10826992f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/shuffle-strided-with-offset-512.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
Log Message:
-----------
[X86] lowerShuffleWithPSHUFB - use getConstVector to create shuffle mask (#201122)
Avoids wasteful SDValue creation if the shuffle matching fails - and
makes it easier to match+merge compatible constant pool entries
Commit: 47347d24f0a9f68ae60a54ce2ab46a023b739b8d
https://github.com/llvm/llvm-project/commit/47347d24f0a9f68ae60a54ce2ab46a023b739b8d
Author: vsimion26 <vlad.simion at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
M mlir/lib/Dialect/Quant/IR/QuantOps.cpp
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/lib/Dialect/Quant/IR/TypeDetail.h
M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
A mlir/test/Dialect/Quant/invalid-quantile-types.mlir
M mlir/test/Dialect/Quant/parse-uniform-invalid.mlir
M mlir/test/Dialect/Quant/parse-uniform.mlir
A mlir/test/Dialect/Quant/quantile-types.mlir
Log Message:
-----------
Quantile Type and Low FP Support (#190321)
# **QuantileType: Composing with Interface-Based Storage Types in MLIR
Quantization**
## **Context**
Recent [community
work](https://discourse.llvm.org/t/rfc-extending-uniformquantizedtype-with-interface-based-support-for-new-storage-types-in-quant-dialect/87803)
(RFC by Roman-Pevnyi, Aug 2025)
successfully extended UniformQuantizedType with a StorageTypeInterface.
This
made the quantization framework extensible, allowing new storage types
(Integer, Float8E5M2, Float8E4M3FN, NF4) to be plugged in without
modifying
core quantization logic.
## **Building on that work**
QuantileType follows the same interface-driven philosophy but addresses
a
different level of abstraction: the storage type itself.
The observation: Many low-precision storage types (ui4, si8, f8, NF4)
can be enhanced with a quantile lookup table. Rather than creating a new
complete quantized type for each variant (QuantileQuantizedType,
QuantileQuantizedPerAxisType, etc.), we insert an abstraction layer.
QuantileType is a builtin that wraps any storage type with quantile
metadata:
quantile<ui4:f16, {-1.0, -0.696, ..., 1.0}>
quantile<si8:f32, {-2.0, -1.0, 0.0, 1.0, 2.0}>
quantile<f8E4M3FN:f16, {...}>
This storage abstraction then composes naturally with existing
quantization:
!quant.uniform<quantile<ui4:f16, {...}>:f32, scale:zeropoint>
## **Architecture**
Roman's StorageTypeInterface allows UniformQuantizedType to work with
any
compliant storage type. QuantileType extends this by making it possible
to
augment any storage type WITH quantile information, creating composable
layers:
Builtin QuantileType (unified storage + quantiles)
↓ (implements StorageTypeInterface)
UniformQuantizedType (uniform quantization logic)
↓
Hardware-specific lowering
## **Key benefits**
1. SINGLE INTERFACE FOR ALL QUANTILE SCHEMES
With QuantileType: One parameterized abstraction
quantile<ui4:f16, {nf4_table}>
quantile<ui4:f16, {custom_table}>
All compose with !quant.uniform naturally
[NF4
Type](https://github.com/openvinotoolkit/npu_compiler/blob/90b6098b9ee96055d633dc520354434bae22e336/src/vpux_compiler/include/vpux/compiler/core/types/quantile_float/types.hpp#L62)
& [NF4
Table](https://github.com/openvinotoolkit/npu_compiler/blob/90b6098b9ee96055d633dc520354434bae22e336/src/vpux_compiler/src/core/types/quantile_float/types.cpp#L116-L132)
2. EXTENSIBILITY FOR NEW STORAGE TYPES
When a new low-fp storage type is added (FP3, FPx, etc.),
it automatically works with quantiles:
quantile<fpx:f16, {...}>
No new dialect types needed. The type just implements
StorageTypeInterface
and QuantileType wraps it.
3. CLEAN SEPARATION OF CONCERNS
StorageTypeInterface:
- Defines what storage types must provide (width, signedness, min/max
values)
QuantileType (builtin abstraction):
- Wraps any StorageTypeInterface-compliant type with a lookup table
- Acts as a "storage + quantile mapping" layer
UniformQuantizedType (quantization logic):
- Works with any StorageTypeInterface, including QuantileType
## **Example IR**
In uniform quantization context:
!elem_type = !quant.uniform<quantile<ui4:f16, {-1.0, ..., 1.0}>:f32,
0.01:128>
QuantileType is a natural extension of the StorageTypeInterface
architecture. It:
- Provides a unified abstraction for quantile-enhanced storage
- Avoids type explosion by parameterizing rather than creating variants
- Maintains clean separation between storage concerns and quantization
logic
- Enables portability and reusability across MLIR consumers
Commit: 16853f627616581293a8561b5c00dad33056c75f
https://github.com/llvm/llvm-project/commit/16853f627616581293a8561b5c00dad33056c75f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Variadic ctors also start lifetime (#201113)
This is the same thing we do in the non-variadic `Call()`.
Commit: d25f10e8b4a37c2759925883fb59a9da4ea0eb94
https://github.com/llvm/llvm-project/commit/d25f10e8b4a37c2759925883fb59a9da4ea0eb94
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/TestFrameVarDILBitwise.py
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/main.cpp
Log Message:
-----------
[lldb] Add bitwise shift operators and fix literals' sign in DIL (#192506)
This patch add bitwise shift operators and fixes the Scalar's sign
inside of the literals with signed types. The only way to test this fix,
for now, is to use these literals in an arithmetic right shift that does
sign extension, so this is included in this patch.
Commit: 720e796af81205c8cc215bf957db8f51d757fc8c
https://github.com/llvm/llvm-project/commit/720e796af81205c8cc215bf957db8f51d757fc8c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang-rt/lib/runtime/io-api-server.cpp
Log Message:
-----------
[flang-rt] Fix weak RPC stub on Mac-OS (#200998)
Summary:
This does not work like the ELF extern weak. Attempt to just provide a
weak function that will get overridden if it is linked in.
Commit: c24ae339133c6c893914a823613096f2334bba30
https://github.com/llvm/llvm-project/commit/c24ae339133c6c893914a823613096f2334bba30
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Port 6180a48 (#201128)
Commit: 384c17f8259d1bad41afb40ada89a763aaa3615f
https://github.com/llvm/llvm-project/commit/384c17f8259d1bad41afb40ada89a763aaa3615f
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/test/TableGen/aarch64-apple-tuning-features.td
Log Message:
-----------
[AArch64] Use awk on aarch64-apple-tuning-features for AIX(NFC) (#200656)
See https://github.com/llvm/llvm-project/pull/197777
Commit: 47abd870986690ed50eab4de59c9dffa56ac24b7
https://github.com/llvm/llvm-project/commit/47abd870986690ed50eab4de59c9dffa56ac24b7
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
Log Message:
-----------
[CaptureTracking] Don't require offset to stay the same (#201106)
For isIntrinsicReturningPointerAliasingArgumentWithoutCapturing() we
don't need the offset to stay the same. Even if the intrinsic applies an
offset to the pointer (like ptrmask), we can still continue by analyzing
the return value of the intrinsic, rather than considering the intrinsic
itself capturing.
Also clarify that this needs to stay in sync with isEscapeSource()
specifically, not getUnderlyingObject() or DecomposeGEP (which isn't
even possible, as they use different values for the argument). This used
to be different historically.
This was set to true in fd72bf21c958ae2fdfaa8654df55367c72575d3a, which
set all users to true, so I don't believe there was a specific reason
for this choice.
I ran into this when trying to replace some home-grown code in
FunctionAttrs with CaptureTracking.
Commit: 4d5a79542cef700f8201f113f370f35054a4e7d9
https://github.com/llvm/llvm-project/commit/4d5a79542cef700f8201f113f370f35054a4e7d9
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port 3db25f8 (#201131)
Commit: 68883a8b839f3f7f2adbae7a0e2dda3a0dd6b301
https://github.com/llvm/llvm-project/commit/68883a8b839f3f7f2adbae7a0e2dda3a0dd6b301
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port 3db25f8 (#201132)
Commit: 06978156c7ba8a8c8aca60033ea65c8335cca24c
https://github.com/llvm/llvm-project/commit/06978156c7ba8a8c8aca60033ea65c8335cca24c
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/Atomic.cpp
Log Message:
-----------
[flang] Fix possibly unused variable (NFC) (#200905)
Commit: 5d9e965c3f9983278308a00c282810e0f04754cc
https://github.com/llvm/llvm-project/commit/5d9e965c3f9983278308a00c282810e0f04754cc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/constexpr.c
Log Message:
-----------
[clang][ExprConst] Support DesignatedInitUpdateExpr of array type (#201000)
I think this should work.
Commit: ade0e1a49c2118a98b0b34b3136661747bc5aaa0
https://github.com/llvm/llvm-project/commit/ade0e1a49c2118a98b0b34b3136661747bc5aaa0
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/IR/invalid-cast.cir
M clang/test/CIR/Lowering/cast.cir
Log Message:
-----------
[cir] Refine cir::CastOp semantics for int <-> float casts (#200005)
Int-to-float and float-to-int casts in cir::CastOp are lowered directly
to their LLVM equivalents. Update the verifier to reflect this semantics
and ensure that, for vector casts, the source and destination vectors have
the same length.
This lets the CIR verifier reject invalid casts earlier, instead of relying
on errors reported later at the LLVM IR level.
Commit: 8f58a4cab3a7eccad53797a49e16f8a933d149b1
https://github.com/llvm/llvm-project/commit/8f58a4cab3a7eccad53797a49e16f8a933d149b1
Author: Jeremy Kun <jkun at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-copy.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-dealloc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-load-store.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-copy.mlir
M mlir/test/Dialect/EmitC/attrs.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
A mlir/test/Dialect/EmitC/member_call_opaque.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/call.mlir
M mlir/test/Target/Cpp/expressions.mlir
Log Message:
-----------
[mlir][emitc]: Add MemberCallOpaque op (#200057)
Cf. https://discourse.llvm.org/t/method-calls-in-emitc/90898
Commit: 87b97d67d401938086edc0602f55fe284bffc24d
https://github.com/llvm/llvm-project/commit/87b97d67d401938086edc0602f55fe284bffc24d
Author: David Spickett <david.spickett at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/docs/conf.py
Log Message:
-----------
[clang-tools-extra][docs] Do not require myst_parser when building man pages (#201138)
Commit: afd040cb4624c7c7f843367751e22d50b39250f5
https://github.com/llvm/llvm-project/commit/afd040cb4624c7c7f843367751e22d50b39250f5
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M openmp/tools/archer/ompt-tsan.cpp
Log Message:
-----------
[OpenMP][OMPT] Remove unused var in archer (#201140)
Working on enabling the build of OpenMP and Offload in pre-merge checks
surfaced this unused var and pre-merge checks run with -Werror.
As I did not see where it should be used, remove the variable to address
the warning.
The pre-merge running into the warning as error is
https://github.com/llvm/llvm-project/actions/runs/26826349862/job/79094823845?pr=174955
Commit: 8dd51399f8a9f13cbe35fb2060f05bd30acfb6f8
https://github.com/llvm/llvm-project/commit/8dd51399f8a9f13cbe35fb2060f05bd30acfb6f8
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/source/Target/Memory.cpp
Log Message:
-----------
[lldb][NFC] Factor out helper code from MemoryCache (#201120)
This will be reused in a subsequent commit.
Commit: f813817e3495c5ab8e0dd7d3c471e531d83a630a
https://github.com/llvm/llvm-project/commit/f813817e3495c5ab8e0dd7d3c471e531d83a630a
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/convert_signedness.ll
Log Message:
-----------
[SPIR-V] Select int-to-int convert opcode from source signedness (#201116)
OpSConvert/OpUConvert sext/zext is determined by the source operand, not
the destination type. Discovered in
https://github.com/llvm/llvm-project/pull/200791/changes#r3341230426
Fix a regression caused by #200791
Commit: 6bcdd843e302063c4f0d36204686155149a6bb0a
https://github.com/llvm/llvm-project/commit/6bcdd843e302063c4f0d36204686155149a6bb0a
Author: Paweł Bylica <pawel at hepcolgum.band>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/test/CodeGen/X86/bittest-big-integer.ll
A llvm/test/CodeGen/X86/bt-merge-fuse.ll
Log Message:
-----------
[X86] Merge BT with a matching BTR/BTS/BTC (#193612)
Fixes #165291.
BTR/BTS/BTC set CF from the pre-operation bit value, so a subsequent BT
on the same source and bit index produces the same CF and is redundant.
We were emitting both.
```ll
define i1 @btr_eq_i32(ptr %word, i32 %position) nounwind {
%ofs = and i32 %position, 31
%bit = shl nuw i32 1, %ofs
%mask = xor i32 %bit, -1
%ld = load i32, ptr %word
%test = and i32 %ld, %bit
%res = and i32 %ld, %mask
%cmp = icmp eq i32 %test, 0
store i32 %res, ptr %word
ret i1 %cmp
}
```
Before:
```asm
movl (%rdi), %eax
movl %eax, %ecx
btrl %esi, %ecx
btl %esi, %eax
setae %al
movl %ecx, (%rdi)
retq
```
After:
```asm
movl (%rdi), %ecx
btrl %esi, %ecx
setae %al
movl %ecx, (%rdi)
retq
```
## Approach
- Add three flag-producing DAG nodes `X86ISD::{BTR,BTS,BTC}` that model
the register-register BTR/BTS/BTC as `(res, EFLAGS) = op src, bitno`.
- Pattern-match them to the existing BTR/BTS/BTC *rr encodings.
- Add a DAG combine in `combineBT` that fuses an `X86ISD::BT` with a
sibling `AND(Src, rotl -2, X)` / `OR(Src, shl 1, X)` / `XOR(Src, shl 1,
X)` on the same source into a single flag-producing node. The
bit-position operand can differ from BT's by trunc/zext or by an `and x,
C` that preserves the low `log2(BW)` bits (BT already masks those
implicitly), so peek through those wrappers when matching.
`llvm/test/CodeGen/X86/bittest-big-integer.ll` was regenerated and
shrinks by 78 CHECK lines; dozens of `btl` instructions collapsed into
the preceding bit-modify. All 5442 X86 CodeGen tests pass.
Commit: d81e8afe7a51005f5fa58cf4b25ccfdb41f685b1
https://github.com/llvm/llvm-project/commit/d81e8afe7a51005f5fa58cf4b25ccfdb41f685b1
Author: xgxanq <anqfu at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
A llvm/test/CodeGen/AMDGPU/rewrite-mfma-form-spill-cost-reset.ll
Log Message:
-----------
[AMDGPU] RewriteMFMAFormStage: fix SpillCost early-return missing reset (#199708)
Extract resetRewriteCandsToVGPR() to consolidate the logic that restores
MFMA candidates from AGPR form back to VGPR form after cost analysis.
getRewriteCost() returned early when SpillCost > 0 without resetting the
AGPR-form register classes set by initHeuristics(), leaving MRI in a
corrupted state. Call resetRewriteCandsToVGPR() on both the early-return
path and the normal exit path to fix this.
Also change getRewriteCost() and rewrite() to take ArrayRef instead of
const std::vector& for cleaner API.
---------
Co-authored-by: Claude Sonnet 4 (1M context) <noreply at anthropic.com>
Commit: e8f518d6613b950958618db9466a5936d844ff26
https://github.com/llvm/llvm-project/commit/e8f518d6613b950958618db9466a5936d844ff26
Author: Sean Clarke <seanedwardsclarke at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/masked_intrinsics-inseltpoison.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
M llvm/test/Transforms/InstCombine/pr83947.ll
M llvm/test/Transforms/InstSimplify/call.ll
Log Message:
-----------
[VectorUtils] Replace maskIsAll{Zero,One}OrUndef with PatternMatch (#200040)
As part of the ongoing effort to deprecate UndefValue, and also to take
better advantage of pattern matching, eliminate the VectorUtils
functions `maskIsAllZeroOrUndef`/`maskIsAllOneOrUndef` and replace them
with new matchers `m_ZeroOrPoison` and `m_AllOnesOrPoison`.
The new matchers are simply `m_CombineOr` on `m_Zero`/`m_AllOnes` and
`m_Poison`. `m_Zero` and `m_AllOnes` already match vectors where some
(but not all) elements are poison, so these matchers were created to
also match the case where all elements are poison.
This affects InstCombine/InstSimplify with a mask containing `undef` for
the intrinsics `llvm.masked.load`, `llvm.masked.store`,
`llvm.masked.gather`, and `llvm.masked.scatter`.
Some relevant tests were altered to use poison instead of undef, and
test coverage for masked loads/stores with poison was increased.
Commit: f834b7f55feb37191405bf28cca52f53f4c1873f
https://github.com/llvm/llvm-project/commit/f834b7f55feb37191405bf28cca52f53f4c1873f
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
M offload/plugins-nextgen/level_zero/include/L0Queue.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Queue.cpp
Log Message:
-----------
[OFFLOAD][L0] Move dataFence logic to L0Queue (#201046)
The dataFence device operation logic was still on L0Device. With this all the operations working on command lists have their logic consolidated in L0Queue.
Commit: 3dfd4f784d7d0837252482f28ed2c0ca99a109b0
https://github.com/llvm/llvm-project/commit/3dfd4f784d7d0837252482f28ed2c0ca99a109b0
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Refactor buildOriginFlowChain to use PImpl pattern (#201071)
Move `buildOriginFlowChain` into `AnalysisImpl`, removing `FactManager`
parameter
Commit: b54d214b77aac2bab9b949bb4bdd3cc511fbe944
https://github.com/llvm/llvm-project/commit/b54d214b77aac2bab9b949bb4bdd3cc511fbe944
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rvi-pseudos.s
Log Message:
-----------
[llvm][RISCV][MC] Fix arithmetic error in pseudo parsing (#200217)
When arithmetic was used in RISCV pseudo instructions, like lla, the
custom parsing breaks the associativity of the operators by parsing the
entire remainder of an expression. This would lead to scenarios where we
would parse `top - 0x100 -0x10` as `top - (0x100 -0x10)` and yield the
wrong offset (`0xF0`(wrong) vs. `0x110`(correct)).
Instead, don't advance the parser and just examine the token to
determine if it's an identifier and if we should handle this case or
bail out. In cases we do handle, just use `parseExpression()`, which
will handle this correctly.
Commit: 0212229ac05d60314db7dfb8ae89c11a015bb7bc
https://github.com/llvm/llvm-project/commit/0212229ac05d60314db7dfb8ae89c11a015bb7bc
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M .ci/green-dragon/lldb-windows.groovy
Log Message:
-----------
[CI] install packaging before running lldb tests on Windows (#201112)
https://ci-external.swift.org/job/lldb-windows/job/main/ is failing
because lldb API tests require the `packaging` module.
This patch installs it before running the `check-lldb` target.
Commit: 63a1b9d6386cb574e3007f7b6174eb6777916815
https://github.com/llvm/llvm-project/commit/63a1b9d6386cb574e3007f7b6174eb6777916815
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/sve-ldst-multi-vec.mir
Log Message:
-----------
[AArch64][SME] Add multi-vector store/load opcodes to getMemOpInfo (#201073)
Follow-up to #200238
Commit: 9083fb24c709238b1f18f0486bcf014e490e1997
https://github.com/llvm/llvm-project/commit/9083fb24c709238b1f18f0486bcf014e490e1997
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 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
R llvm/test/CodeGen/AArch64/arm64-invalid-sys-reg.ll
A 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:
-----------
Revert "[AArch64] Fix definition of system register move instructions" (#201137)
Reverts llvm/llvm-project#185709
Commit: 516867bc96ae3e3a40b296f038d24ee53cf0f5c0
https://github.com/llvm/llvm-project/commit/516867bc96ae3e3a40b296f038d24ee53cf0f5c0
Author: Henry Jiang <henry_jiang2 at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/PseudoProbeInserter.cpp
A llvm/test/CodeGen/AArch64/aarch64-pseudo-probe-tail-call.ll
A llvm/test/CodeGen/X86/pseudo-probe-tail-call.ll
Log Message:
-----------
[PseudoProbe] Preserve pseudoprobe for tailcall pseudo instrs (#197246)
Preserve probes for tail call pseudo instructions.
On AArch64, X86, and other platforms, the lowering of tail calls
requires a pseudo instruction like `TCRETURNdi`. It is often the case
that `TCRETURNdi` is within its own MBB, and the direct call probe
associated with that tail call is considered dangling and removed. This
patch tries to preserve that.
Commit: cf25fb1e0809aaf4dbb13f2b837d47e329f595b8
https://github.com/llvm/llvm-project/commit/cf25fb1e0809aaf4dbb13f2b837d47e329f595b8
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Semantics/OpenMP/declare-variant-match.f90
M flang/test/Semantics/OpenMP/declare-variant.f90
Log Message:
-----------
[flang][OpenMP] Add structure checks for DECLARE VARIANT (#198799)
This PR adds declare-variant structure checking. Following checks are
added:
- Validate [base:]variant arguments (including implicit base for
single-name form).
- Require exactly one MATCH clause; reject a second MATCH on the same
directive.
- Reject duplicate (base, variant) across multiple declare variant
directives.
- Reject clauses not allowed on declare variant.
- Apply shared context-selector checks to MATCH (reuse metadirective
logic).
- Require constant user conditions in MATCH for declare variant (dynamic
selectors deferred).
Refactor metadirective support:
- Extract CheckContextSelectorSpecification for reuse.
- Reject SCORE on trait sets that do not allow it (also affects
metadirective).
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 9f790fcc1f09ce4237801a7bb357d31a4c6050fb
https://github.com/llvm/llvm-project/commit/9f790fcc1f09ce4237801a7bb357d31a4c6050fb
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
Log Message:
-----------
[SPIR-V] Fix i8 pointer type for NULL events in OpEnqueueKernel (#201125)
Commit: 7b199bdb2fe3d852684fab77bfdd3141dbc987f9
https://github.com/llvm/llvm-project/commit/7b199bdb2fe3d852684fab77bfdd3141dbc987f9
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/include/lldb/Symbol/Symbol.h
Log Message:
-----------
[lldb] Fix Symbol static_assert for 32 bit Windows (#201130)
Follow up to
https://github.com/llvm/llvm-project/pull/200919#issuecomment-4600914496
Commit: 22ef7baaf6dc409a353af42ff52599b2746107ca
https://github.com/llvm/llvm-project/commit/22ef7baaf6dc409a353af42ff52599b2746107ca
Author: Jake Daly <48452250+jakemdaly at users.noreply.github.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticIDs.h
Log Message:
-----------
[clang][NFC] Bump the maximum number of Sema diagnostics (#200948)
The number of Sema diagnostics in DiagnosticSemaKinds.td has reached the
5000 limit. This PR increases the max limit to 6000.
Commit: af5506c5c12d73439a9fc6f1951caf1cbde183cc
https://github.com/llvm/llvm-project/commit/af5506c5c12d73439a9fc6f1951caf1cbde183cc
Author: Petr Hosek <phosek at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
M llvm/test/CodeGen/RISCV/emit-x8-as-fp.ll
M llvm/test/CodeGen/RISCV/frame.ll
M llvm/test/CodeGen/RISCV/frameaddr-returnaddr.ll
M llvm/test/CodeGen/RISCV/ipra.ll
M llvm/test/CodeGen/RISCV/large-stack.ll
M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
M llvm/test/CodeGen/RISCV/rv64-statepoint-call-lowering-x2.ll
M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
M llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
M llvm/test/CodeGen/RISCV/vararg-ilp32e.ll
M llvm/test/CodeGen/RISCV/vararg.ll
M llvm/test/CodeGen/RISCV/xqccmp-callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
M llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll
Log Message:
-----------
Revert "[RISCV] Prefer SP over FP for frame index access when offset fits within compressed immediate range. (#193962)" (#201041)
This reverts commits:
* 46e07d38e078799fa83386ef2b3b5ee423a467c5
* b5d577d3faef34276991fe80b5f869e3f8ef7442
This change is causing a miscompile in zstd, see the discussion under
https://github.com/llvm/llvm-project/pull/193962 for more details.
Commit: a6615588ac141ca87c4197f3484e80cb88899cee
https://github.com/llvm/llvm-project/commit/a6615588ac141ca87c4197f3484e80cb88899cee
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
Log Message:
-----------
[AMDGPU] Add IGLP mutations to CoexecSched (#200981)
Adds IGLP mutations support to CoexecSched -- regular handling of this
mutation in GCNSchedStage is implemented in GCNSchedStrategy.cpp
Commit: b65054f66b0a0d62c1a5fe0b3d7749696058d1c8
https://github.com/llvm/llvm-project/commit/b65054f66b0a0d62c1a5fe0b3d7749696058d1c8
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
A llvm/include/llvm/Transforms/Utils/TriggerCrashPass.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/TriggerCrashPass.cpp
A llvm/test/Other/trigger-crash-flags.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
Reland [LLVM] Add flags to crash the opt/codegen pipeline (#201146)
Will be used for testing crash reduction.
Reland of #200967. Test needs `REQUIRES: backtrace`.
Commit: 836bf567e622a2e083a0c850b861b450fc97b915
https://github.com/llvm/llvm-project/commit/836bf567e622a2e083a0c850b861b450fc97b915
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/APSInt.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/BitVector.h
M llvm/include/llvm/ADT/CachedHashString.h
M llvm/include/llvm/ADT/DenseMapInfo.h
M llvm/include/llvm/ADT/DenseMapInfoVariant.h
M llvm/include/llvm/ADT/Hashing.h
M llvm/include/llvm/ADT/ImmutableList.h
M llvm/include/llvm/ADT/PointerEmbeddedInt.h
M llvm/include/llvm/ADT/PointerIntPair.h
M llvm/include/llvm/ADT/PointerSumType.h
M llvm/include/llvm/ADT/PointerUnion.h
M llvm/include/llvm/ADT/SmallBitVector.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Support/FileSystem/UniqueID.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Support/UniqueBBID.h
M llvm/include/llvm/Support/VersionTuple.h
M llvm/lib/Support/StringRef.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
M llvm/unittests/ADT/MapVectorTest.cpp
M llvm/unittests/Support/ReverseIterationTest.cpp
Log Message:
-----------
[ADT] Remove unused DenseMapInfo::getTombstoneKey (#200959)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: e3bc0828d8562468161d64e86a2fb06d39ca8d6f
https://github.com/llvm/llvm-project/commit/e3bc0828d8562468161d64e86a2fb06d39ca8d6f
Author: David Tenty <daltenty at ibm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
A llvm/test/CodeGen/PowerPC/aix-codemodel.ll
M llvm/test/CodeGen/PowerPC/ppc-i128-cmp.ll
Log Message:
-----------
[AIX][LLVM] Update the default code model for 64-bit (#199301)
This changes the default code model on 64-bit AIX to large.
For many applications, the existing small code model is simply
inadequate to build. Users often then end up relying on expensive linker
fixups (i.e. -Wl,-bigtoc) to work around the issue when they would have
been better served by moving to the larger code model. Our analysis and
benchmarking leads us to believe this's generally a net benefit to
users.
(Assisted by AI)
Commit: 824fc060d46abbeda94c9a787ef94a81fbf12230
https://github.com/llvm/llvm-project/commit/824fc060d46abbeda94c9a787ef94a81fbf12230
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device-2.mlir
Log Message:
-----------
[Flang][OpenMP] Declare Target fixes for USM and declare target to (#200248)
Currently declare target enter would fall through the if statement even
though it's a synonym of declare target to, so fix this via adding a
simpler and more readable check for link clause instead.
USM declare target to works a little differently to regular link cases,
where the type is actually converted into a pointer, rather than a
global of the original typing. So, add a caveat where we convert the
type to a pointer if requires usm has been triggered. This gets the
correct behaviour in USM mode on USM devices.
Commit: 3658dafe2c26c3e1242ff0505b9e8f95f0f5abf1
https://github.com/llvm/llvm-project/commit/3658dafe2c26c3e1242ff0505b9e8f95f0f5abf1
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/Basic/Targets/OSTargets.h
Log Message:
-----------
[Driver] Switch clang++ to default Solaris 11.4 compilation environment (#201063)
`clang++` has long followed `g++`'s lead predefining `_XOPEN_SOURCE=600`
on Solaris. As detailed in [Switch g++ to default Solaris 11.4
compilation
environment](https://gcc.gnu.org/pipermail/gcc-patches/2026-May/716990.html),
this is no longer necessary in Solaris 11.4.
Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.
Commit: 55af104f1c9eeb93ca127104b810bc2520100f9c
https://github.com/llvm/llvm-project/commit/55af104f1c9eeb93ca127104b810bc2520100f9c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
M lldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp
Log Message:
-----------
[lldb][windows] return false in default branch of RegisterContextWindows_*::WriteRegister (#200885)
Commit: bc056ea2c2948d51455f6cf75975e4980b8b908f
https://github.com/llvm/llvm-project/commit/bc056ea2c2948d51455f6cf75975e4980b8b908f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/index/StdLib.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang/include/clang/Basic/FileManager.h
R clang/include/clang/Basic/FileSystemStatCache.h
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/FileManager.cpp
R clang/lib/Basic/FileSystemStatCache.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/unittests/Basic/FileManagerTest.cpp
Log Message:
-----------
[clang] Remove `FileSystemStatCache` (#198411)
This mechanism is not used anywhere, and can be easily reimplemented in
terms of a VFS if needed.
Commit: 13e532562f13ce94c7b7ffc8621252de92a29a42
https://github.com/llvm/llvm-project/commit/13e532562f13ce94c7b7ffc8621252de92a29a42
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
Log Message:
-----------
[lldb] Skip simulator platform tests on arm64e (#200505)
Simulators do not support arm64e.
Commit: d9cf2e1bc5aaf2eaacc36c765b63429d42ac0c60
https://github.com/llvm/llvm-project/commit/d9cf2e1bc5aaf2eaacc36c765b63429d42ac0c60
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/SystemZ.cpp
A clang/test/CodeGen/SystemZ/zos-abi.c
A clang/test/CodeGen/SystemZ/zos-abi.cpp
Log Message:
-----------
[SystemZ][z/OS] Add XPLink ABI on z/OS (#188501)
This patch introduces full support for the XPLINK calling convention on
z/OS within LLVM. XPLINK is documented in the Language Environment
Vendor Interface ([Chapter
22](https://www.ibm.com/docs/en/zos/3.2.0?topic=applications-call-linkage-convention-amode-64))
and in the IBM Redbook [XPLink: OS/390 Extra Performance
Linkage](http://www.redbooks.ibm.com/abstracts/sg245991.html?Open
). It defines a high‑performance linkage model used by the z/OS Language
Environment (LE) and by the XL C/C++ compiler.
This work succeeds and replaces the earlier effort in [PR
101024](https://github.com/llvm/llvm-project/pull/101024). The present
implementation restructures the original approach, significantly expands
test coverage, and aligns more closely with both the architectural
requirements of XPLINK and the de‑facto ABI behaviour of XL C/C++.
Commit: 6dfef47047def67fc141248eb8e7e2a67e4307e7
https://github.com/llvm/llvm-project/commit/6dfef47047def67fc141248eb8e7e2a67e4307e7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M libcxx/test/libcxx/atomics/builtin_clear_padding.pass.cpp
Log Message:
-----------
[clang] Treat unnamed bitfields as padding in `__builtin_clear_padding` (#201102)
Currently Clang's implementation of `__builtin_clear_padding` diverges
from GCC in its treatment of unnamed bitfields.
GCC treats them as padding (which seems correct since they can't be
named and wouldn't be part of the value representation of an object,
though I'm not sure what the standard has to say about this).
[Gobdolt](https://godbolt.org/z/e9Mo91dhh)
GCC trunk:
```
pre-clear bytes: ff ff ff ff
post-clear bytes: 01 00 00 80
```
Clang trunk:
```
pre-clear bytes: ff ff ff ff
post-clear bytes: ff ff ff ff
```
Note how we cleared the padding with GCC.
This patch skips marking unnamed bitfields as "occupied". The rest of
the machinery works out-of-the-box.
Commit: 2511bdd645ee7b2ce01064b5fc31524c5e532480
https://github.com/llvm/llvm-project/commit/2511bdd645ee7b2ce01064b5fc31524c5e532480
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/API/qemu/TestQemuLaunch.py
Log Message:
-----------
[lldb] Skip TestQemuLaunch.py on arm64e (#200969)
This test is set up to use a python-based qemu-like stub instead of the
actual qemu (which makes it far more portable). When trying to run the
test as arm64e, LLDB will attempt to launch an arm64e-based qemu.
Because the fake qemu is a python script, LLDB will try to launch python
as arm64e. Neither the python that ships with Xcode nor the python from
python.org have an arm64e slice, so this test will not work for arm64e.
Commit: 05d152bd59372aa3e10bbf06deae5795a81052d9
https://github.com/llvm/llvm-project/commit/05d152bd59372aa3e10bbf06deae5795a81052d9
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_in6_addr.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_in6_addr.h
M libc/include/netinet/in.yaml
M libc/test/src/netinet/CMakeLists.txt
A libc/test/src/netinet/in_test.cpp
Log Message:
-----------
[libc] Add definition of struct in6_addr to netinet/in.h (#201057)
This patch implements the struct in6_addr definition for netinet/in.h,
mapping it from netinet/in.yaml to the generated public header.
I've defined struct in6_addr under include/llvm-libc-types/ using an
anonymous union containing s6_addr, s6_addr16, and s6_addr32 (only the
first one is mandated by POSIX). Other implementations achieve this by
using a named union and defining the members as macros. This approach is
cleaner, but could potentially run into compatibility problems with code
which expects s6_addr is a macro. If we do, we may have to re-evaluate
this approach, but I'd like to avoid uglyfying this preemptively.
I added a simple test to check the memory layout of the address.
Assisted by Gemini.
Commit: fe2f7e40994574dd5d7efa4da8be5d9237905416
https://github.com/llvm/llvm-project/commit/fe2f7e40994574dd5d7efa4da8be5d9237905416
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
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 flang/include/flang/Frontend/CodeGenOptions.def
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/function-sections.f90
A flang/test/Integration/function-sections.f90
Log Message:
-----------
[flang] Support -ffunction-sections and -fdata-sections. (#199731)
Wire the flags through the driver, frontend, and TargetMachine, and add
driver and codegen lit tests.
Fixes https://github.com/llvm/llvm-project/issues/163550
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: f3dcf16115f862f6fa5ea8e520b371f7e57a9c3d
https://github.com/llvm/llvm-project/commit/f3dcf16115f862f6fa5ea8e520b371f7e57a9c3d
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
R flang/test/Lower/OpenMP/Todo/begin-metadirective.f90
A flang/test/Lower/OpenMP/Todo/metadirective-declarative.f90
A flang/test/Lower/OpenMP/Todo/metadirective-dynamic.f90
R flang/test/Lower/OpenMP/Todo/metadirective-exec.f90
A flang/test/Lower/OpenMP/Todo/metadirective-loop.f90
R flang/test/Lower/OpenMP/Todo/metadirective-spec.f90
A flang/test/Lower/OpenMP/Todo/metadirective-structured-trait-property.f90
A flang/test/Lower/OpenMP/Todo/metadirective-target-device.f90
A flang/test/Lower/OpenMP/metadirective-construct.f90
A flang/test/Lower/OpenMP/metadirective-device-arch.f90
A flang/test/Lower/OpenMP/metadirective-device-isa.f90
A flang/test/Lower/OpenMP/metadirective-device-kind.f90
A flang/test/Lower/OpenMP/metadirective-implementation.f90
A flang/test/Lower/OpenMP/metadirective-nothing.f90
A flang/test/Lower/OpenMP/metadirective-user.f90
M flang/test/Semantics/OpenMP/metadirective-common.f90
Log Message:
-----------
[flang][OpenMP] Support lowering of metadirective (part 1) (#193664)
Add lowering support for OpenMP metadirective variants that can be
selected statically. Selection is performed during lowering with
`llvm::omp::OMPContext`, and only the selected directive variant is
lowered.
For example:
```fortran
subroutine static_vendor()
!$omp metadirective &
!$omp & when(implementation={vendor(llvm)}: barrier) &
!$omp & otherwise(nothing)
end subroutine
```
is lowered to a function containing `omp.barrier`, because `vendor(llvm)` is statically applicable when compiling with Flang.
Applicable variants are represented with `llvm::omp::VariantMatchInfo` and ranked using OpenMP context matching and selector scores from the LLVM frontend.
This patch supports both standalone metadirectives and begin/end
metadirectives. For begin/end metadirectives, the variant is selected
before lowering the enclosed region so that the selected directive
correctly wraps the region.
This initial static-resolution PR supports:
* implementation={vendor(...)}
* device={kind(...), isa(...), arch(...)}
* user={condition(<constant-expr>)}
* construct={parallel, target, teams, for}
* default, nothing, and otherwise clauses
This patch also preserves `score(...)` on constant user conditions so scored conditions participate correctly in variant ranking. When matching nested construct selectors, it includes constructs introduced by an enclosing selected begin/end metadirective.
Dynamic user conditions (#194424), `target_device` selectors, loop-associated directive variants, and complete construct support are deferred to follow-up patches.
This patch is part of the feature work for #188820.
Assisted by GitHub Copilot and GPT-5.4.
Commit: 0d51fec35520f39f9b2f55989f50d694244c7582
https://github.com/llvm/llvm-project/commit/0d51fec35520f39f9b2f55989f50d694244c7582
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/shift-opt.ll
Log Message:
-----------
[NVPTX] PerformSELECTShiftCombine drops high bits of a wide guarded shift amount (#201165)
LLVM shifts produce poison if you shift greater than the width of the
operand. But PTX shifts clamp the shift amount:
> shl/shr: Shift amounts greater than the register width N are clamped
> to N.
NVPTXISelLowering looks for shl/shr which guard against an out-of-range
shift and lower these to an unguarded PTX shift:
define i64 @f(i64 %x, i64 %shift) {
%cmp = icmp ult i64 %shift, 64
%shl = shl i64 %x, %shift
%sel = select i1 %cmp, i64 %shl, i64 0
ret i64 %sel
}
In PTX shifts the shift amount is always i32, whereas in LLVM the shift
amount is the same type as the "shiftee". Therefore in the i64 case,
this lowering is only sound if we know that the upper 32 bits of the
shift amount are all zero.
Commit: e21e5489588c2944d5071b52bdbca684a72c756f
https://github.com/llvm/llvm-project/commit/e21e5489588c2944d5071b52bdbca684a72c756f
Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR][AArch64] Upstream vector-shift-right-and-accumulate NEON builtins (#200630)
Related to https://github.com/llvm/llvm-project/issues/185382
CIR lowering for vector-shift-right-and-accumulate
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#vector-shift-right-and-accumulate)
Port tests from `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/intrinsics.c`
Commit: ff1c751223a0e99a4563743abaaa5faa50d2ed6e
https://github.com/llvm/llvm-project/commit/ff1c751223a0e99a4563743abaaa5faa50d2ed6e
Author: Jun Wang <jwang_2024 at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/AMDGPU/AMDGPUAsmGFX12.rst
R llvm/docs/AMDGPU/gfx12_addr.rst
R llvm/docs/AMDGPU/gfx12_attr.rst
R llvm/docs/AMDGPU/gfx12_clause.rst
R llvm/docs/AMDGPU/gfx12_data0_56f215.rst
R llvm/docs/AMDGPU/gfx12_data0_6802ce.rst
R llvm/docs/AMDGPU/gfx12_data0_e016a1.rst
R llvm/docs/AMDGPU/gfx12_data0_fd235e.rst
R llvm/docs/AMDGPU/gfx12_data1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_data1_731030.rst
R llvm/docs/AMDGPU/gfx12_data1_e016a1.rst
R llvm/docs/AMDGPU/gfx12_data1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_delay.rst
R llvm/docs/AMDGPU/gfx12_hwreg.rst
R llvm/docs/AMDGPU/gfx12_imm16.rst
R llvm/docs/AMDGPU/gfx12_ioffset.rst
R llvm/docs/AMDGPU/gfx12_label.rst
R llvm/docs/AMDGPU/gfx12_literal_1f74c7.rst
R llvm/docs/AMDGPU/gfx12_literal_81e671.rst
R llvm/docs/AMDGPU/gfx12_m.rst
A llvm/docs/AMDGPU/gfx12_operands.rst
R llvm/docs/AMDGPU/gfx12_rsrc_5fe6d8.rst
R llvm/docs/AMDGPU/gfx12_rsrc_c9f929.rst
R llvm/docs/AMDGPU/gfx12_saddr_cdc95c.rst
R llvm/docs/AMDGPU/gfx12_saddr_d42b64.rst
R llvm/docs/AMDGPU/gfx12_samp.rst
R llvm/docs/AMDGPU/gfx12_sbase_453b95.rst
R llvm/docs/AMDGPU/gfx12_sbase_47adb7.rst
R llvm/docs/AMDGPU/gfx12_sdata_0974a4.rst
R llvm/docs/AMDGPU/gfx12_sdata_354189.rst
R llvm/docs/AMDGPU/gfx12_sdata_4585b8.rst
R llvm/docs/AMDGPU/gfx12_sdata_5c7b50.rst
R llvm/docs/AMDGPU/gfx12_sdata_6c003b.rst
R llvm/docs/AMDGPU/gfx12_sdata_836716.rst
R llvm/docs/AMDGPU/gfx12_sdata_d725ab.rst
R llvm/docs/AMDGPU/gfx12_sdata_dd9dd8.rst
R llvm/docs/AMDGPU/gfx12_sdst_006c40.rst
R llvm/docs/AMDGPU/gfx12_sdst_20064d.rst
R llvm/docs/AMDGPU/gfx12_sdst_354189.rst
R llvm/docs/AMDGPU/gfx12_sdst_836716.rst
R llvm/docs/AMDGPU/gfx12_sdst_ced58d.rst
R llvm/docs/AMDGPU/gfx12_sdst_e701cc.rst
R llvm/docs/AMDGPU/gfx12_sendmsg.rst
R llvm/docs/AMDGPU/gfx12_sendmsg_rtn.rst
R llvm/docs/AMDGPU/gfx12_simm16_15ccdd.rst
R llvm/docs/AMDGPU/gfx12_simm16_218bea.rst
R llvm/docs/AMDGPU/gfx12_simm16_39b593.rst
R llvm/docs/AMDGPU/gfx12_simm16_3d2a4f.rst
R llvm/docs/AMDGPU/gfx12_simm16_730a13.rst
R llvm/docs/AMDGPU/gfx12_simm16_7ed651.rst
R llvm/docs/AMDGPU/gfx12_simm16_81e671.rst
R llvm/docs/AMDGPU/gfx12_simm16_c98889.rst
R llvm/docs/AMDGPU/gfx12_simm16_cc1716.rst
R llvm/docs/AMDGPU/gfx12_simm16_ee8b30.rst
R llvm/docs/AMDGPU/gfx12_soffset_8ec073.rst
R llvm/docs/AMDGPU/gfx12_soffset_c5b88c.rst
R llvm/docs/AMDGPU/gfx12_soffset_ec005a.rst
R llvm/docs/AMDGPU/gfx12_src0_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src0_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src0_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src0_85aab6.rst
R llvm/docs/AMDGPU/gfx12_src0_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src0_e016a1.rst
R llvm/docs/AMDGPU/gfx12_src0_fd235e.rst
R llvm/docs/AMDGPU/gfx12_src1_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src1_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src1_731030.rst
R llvm/docs/AMDGPU/gfx12_src1_977794.rst
R llvm/docs/AMDGPU/gfx12_src1_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src1_e016a1.rst
R llvm/docs/AMDGPU/gfx12_src1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_src2_2797bc.rst
R llvm/docs/AMDGPU/gfx12_src2_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src2_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src2_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src2_7b936a.rst
R llvm/docs/AMDGPU/gfx12_src2_96fbd3.rst
R llvm/docs/AMDGPU/gfx12_src2_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src2_e016a1.rst
R llvm/docs/AMDGPU/gfx12_srcx0.rst
R llvm/docs/AMDGPU/gfx12_srcy0.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_007f9c.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_1a9ca5.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_245536.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_2797bc.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_bbb4c6.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_c4593f.rst
R llvm/docs/AMDGPU/gfx12_ssrc1_bbb4c6.rst
R llvm/docs/AMDGPU/gfx12_ssrc1_c4593f.rst
R llvm/docs/AMDGPU/gfx12_tgt.rst
R llvm/docs/AMDGPU/gfx12_vaddr_a972b9.rst
R llvm/docs/AMDGPU/gfx12_vaddr_c12f43.rst
R llvm/docs/AMDGPU/gfx12_vaddr_c8b8d4.rst
R llvm/docs/AMDGPU/gfx12_vaddr_d82160.rst
R llvm/docs/AMDGPU/gfx12_vaddr_f2b449.rst
R llvm/docs/AMDGPU/gfx12_vcc.rst
R llvm/docs/AMDGPU/gfx12_vdata_2eda77.rst
R llvm/docs/AMDGPU/gfx12_vdata_48e42f.rst
R llvm/docs/AMDGPU/gfx12_vdata_69a144.rst
R llvm/docs/AMDGPU/gfx12_vdata_89680f.rst
R llvm/docs/AMDGPU/gfx12_vdata_aac3e8.rst
R llvm/docs/AMDGPU/gfx12_vdata_bdb32f.rst
R llvm/docs/AMDGPU/gfx12_vdst_006c40.rst
R llvm/docs/AMDGPU/gfx12_vdst_227281.rst
R llvm/docs/AMDGPU/gfx12_vdst_2eda77.rst
R llvm/docs/AMDGPU/gfx12_vdst_47d3bc.rst
R llvm/docs/AMDGPU/gfx12_vdst_48e42f.rst
R llvm/docs/AMDGPU/gfx12_vdst_69a144.rst
R llvm/docs/AMDGPU/gfx12_vdst_7de8e7.rst
R llvm/docs/AMDGPU/gfx12_vdst_836716.rst
R llvm/docs/AMDGPU/gfx12_vdst_89680f.rst
R llvm/docs/AMDGPU/gfx12_vdst_bdb32f.rst
R llvm/docs/AMDGPU/gfx12_vdstx.rst
R llvm/docs/AMDGPU/gfx12_vdsty.rst
R llvm/docs/AMDGPU/gfx12_version.rst
R llvm/docs/AMDGPU/gfx12_vsrc0.rst
R llvm/docs/AMDGPU/gfx12_vsrc1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_vsrc1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_vsrc2.rst
R llvm/docs/AMDGPU/gfx12_vsrc3.rst
R llvm/docs/AMDGPU/gfx12_vsrc_56f215.rst
R llvm/docs/AMDGPU/gfx12_vsrc_6802ce.rst
R llvm/docs/AMDGPU/gfx12_vsrc_89fd7b.rst
R llvm/docs/AMDGPU/gfx12_vsrc_e016a1.rst
R llvm/docs/AMDGPU/gfx12_vsrc_fd235e.rst
R llvm/docs/AMDGPU/gfx12_vsrcx1.rst
R llvm/docs/AMDGPU/gfx12_vsrcy1.rst
R llvm/docs/AMDGPU/gfx12_waitcnt.rst
Log Message:
-----------
[AMDGPU][docs][NFC] Update gfx12 documentation (#200976)
Following what we did with the GFX950 documentation, this patch replaces
the multitude of rst files for GFX12 operands with a single file. Some
problems are fixed as well, e.g., different opcodes in the same encoding
(e.g., VDS) may have different modifiers.
Commit: 9c61a544c60b9e100d855aa95fa66b07d56a2bdf
https://github.com/llvm/llvm-project/commit/9c61a544c60b9e100d855aa95fa66b07d56a2bdf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/copyable-operand-non-scheduled-parent-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
Log Message:
-----------
[SLP] Schedule copyable operands modeled on non-scheduled parent nodes
A node that does not need scheduling (all values used outside the block)
has no schedule bundle, yet it can still model one of its operands as a
copyable element, registering the ScheduleCopyableData on that parent
edge. If the instruction carrying that dependency is scheduled through a
different (duplicate) bundle, the copyable dependency on the non-scheduled
edge was never decremented.
When scheduling a bundle member, also process the instruction's tree
entries that have no registered bundle via pseudo-bundles, so their
copyable operand dependencies are decremented. Real operand dependencies
are guarded against double counting by the per-operand use counter.
Fixes #200831.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/201182
Commit: c6c633740c305684645ec2b093bf36587fdbc54f
https://github.com/llvm/llvm-project/commit/c6c633740c305684645ec2b093bf36587fdbc54f
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/inet-address-macros.h
M libc/include/llvm-libc-macros/netinet-in-macros.h
M libc/include/netinet/in.yaml
M libc/utils/docgen/arpa/inet.yaml
Log Message:
-----------
[libc] Move INET_ADDRSTRLEN and INET6_ADDRSTRLEN to a common header (#201083)
INET_ADDRSTRLEN and INET6_ADDRSTRLEN are needed by both <netinet/in.h>
and <arpa/inet.h>. Previously we had them defined directly inside
netinet-in-macros.h, which meant arpa/inet.h did not have access to
them.
I've moved them to a new inet-address-macros.h header and configured
both YAML header targets to depend on it so they get included in both
generated headers.
I'm also updating the docgen YAML file for arpa/inet.h to document these
macros.
Note that other libc implementations simply have arpa/inet.h include
netinet/in.h (which is permitted by POSIX). This implementation takes a
stricter stance and only exposes the symbols which are specified by
POSIX.
Assisted by Gemini.
Commit: 1d77b84e5133bfd39489ed6f119beff91f9db194
https://github.com/llvm/llvm-project/commit/1d77b84e5133bfd39489ed6f119beff91f9db194
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] incDecVectorConstant - use getConstVector (#201169)
Avoids wasteful SDValue creation if the fold fails
Commit: 6656fa57d610475a55ed1dd909e40b00190a4615
https://github.com/llvm/llvm-project/commit/6656fa57d610475a55ed1dd909e40b00190a4615
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
Log Message:
-----------
[SandboxVec][VecUtils][NFC] Improve VecUtils::areConsecutive() template (#201168)
This helps drop the second template argument.
Commit: 7d2dce084307356948a3ef78c902fd68558afe2e
https://github.com/llvm/llvm-project/commit/7d2dce084307356948a3ef78c902fd68558afe2e
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Commands/CommandObjectSettings.cpp
Log Message:
-----------
[LLDB] Add always-on logging for "settings set" (#201185)
When triaging bugreports it can be very useful to understand what LLDB
defaults have been changed. Adding settings to the always-on logging
channel helps with that.
rdar://176482205
Assisted-by: claude
Commit: 51f698d450133946c84b1702f7f460eedf701a84
https://github.com/llvm/llvm-project/commit/51f698d450133946c84b1702f7f460eedf701a84
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/utils/gn/build/sync_source_lists_from_cmake.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/DynamicLoader/Windows-DYLD/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Windows/Common/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#201189)
And fix an issue with sync_source_lists_from_cmake.py breaking
Transforms/IPO/BUILD.gn.
5148d2de75ec
6180a4899ff9
bc056ea2c294
ff2fec30ac7c
Commit: f77f5088145b008f17799487e07a92c66e749567
https://github.com/llvm/llvm-project/commit/f77f5088145b008f17799487e07a92c66e749567
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
A llvm/test/tools/dsymutil/Inputs/drop-module-fwd-decl/debug-map.map
A llvm/test/tools/dsymutil/Inputs/drop-module-fwd-decl/input.ll
A llvm/test/tools/dsymutil/Inputs/keep-module-fwd-decl-template/debug-map.map
A llvm/test/tools/dsymutil/Inputs/keep-module-fwd-decl-template/input.ll
A llvm/test/tools/dsymutil/X86/drop-module-fwd-decl.test
A llvm/test/tools/dsymutil/X86/keep-module-fwd-decl-template.test
M llvm/test/tools/dsymutil/X86/submodules.m
Log Message:
-----------
[DWARFLinker] Preserve module forward decls in parallel linker (#198828)
The parallel linker was dropping forward-declared types nested under
DW_TAG_module skeleton CUs (clang -gmodules input). The classic linker
keeps them when no definition exists and replaces them with the
canonical definition when one does. collectRootsToKeep's default branch
silently fell through, so the forward decl never made it to the
worklist.
Route these through the type pool with MarkTypeEntryRec. Recursive
marking keeps children of templated forward decls (e.g.
DW_TAG_template_type_parameter under Foo<T> [decl]) intact, matching the
classic linker. The existing decl-vs-def race resolution in
allocateTypeDie and getFinalDie handles both ends without new
synchronization.
- No definition anywhere. DeclarationDie is allocated and emitted.
- Definition in some other CU. allocateTypeDie sets Die via the body's
spinlock. At emission, getFinalDie returns Die over DeclarationDie. Both
clone orderings yield the same output.
For non-ODR languages getFinalPlacementForEntry forces PlainDwarf, so
the forward decl stays in place under its module instead of moving to
the artificial type unit.
Commit: 6a55cb00521b57df7c170d9c888b72c4fe48bc17
https://github.com/llvm/llvm-project/commit/6a55cb00521b57df7c170d9c888b72c4fe48bc17
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/test/CodeGen/NVPTX/globals_init.ll
Log Message:
-----------
[NVPTX] Print the full value of e.g. an i65 global. (#201184)
If you have an integer global whose width is 64 and not a multiple of 8,
the NVPTX asm printer used to drop the top bits!
Commit: eaff67c9838f98d221aa563c9e5d4e714d636674
https://github.com/llvm/llvm-project/commit/eaff67c9838f98d221aa563c9e5d4e714d636674
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[HIP][AMDGPU] Use non-LTO pipeline for non-RDC in the linker wrapper (#201135)
Non-RDC HIP does not need LTO, but the new offload driver compiles all
AMDGPU device code through the LTO pipeline. That makes non-RDC builds
pay
full LTO codegen cost for no benefit.
Fix this in clang-linker-wrapper instead of the driver, so device
codegen
still runs in the wrapper's parallel device-link step (kept fast by
--offload-jobs) rather than being serialized back in the driver.
The driver passes a new --no-lto flag for the non-RDC fat-binary job
(unless the user asked for -foffload-lto). With it, the wrapper drops
-flto
and, because the device images are bitcode stored in object-extension
files, also passes -x ir so clang actually compiles them (cc1 -emit-obj)
instead of handing the bitcode to lld for an LTO link.
Commit: 973b9a7d40ca42571d25f670b74177b1cdcbef61
https://github.com/llvm/llvm-project/commit/973b9a7d40ca42571d25f670b74177b1cdcbef61
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
Log Message:
-----------
Revert "[SandboxVec][VecUtils][NFC] Improve VecUtils::areConsecutive() template" (#201191)
Reverts llvm/llvm-project#201168
Commit: b89bb06afd069aa1b5e9f05ab692b3e6b41318c0
https://github.com/llvm/llvm-project/commit/b89bb06afd069aa1b5e9f05ab692b3e6b41318c0
Author: Ian Anderson <iana at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
Log Message:
-----------
[clang][driver][darwin] Hold onto full triples in Darwin SDKPlatformInfo (#200896)
The architecture can be relevant when determining if an SDK supports a
particular triple. Record the full triples in SDKPlatformInfo instead of
all of the non-architecture triple components.
Assisted-by: Claude Code
rdar://172876443
Commit: e15e51089e6a5faef7643d8dc123788f7e91f9fc
https://github.com/llvm/llvm-project/commit/e15e51089e6a5faef7643d8dc123788f7e91f9fc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/ARM/extract-cost-scale-nullptr-user.ll
Log Message:
-----------
[SLP][NFC] Add a test with the optimistic extractelements emission, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/201192
Commit: f394094f195b3d593336aab6b76ccd2b7b483e43
https://github.com/llvm/llvm-project/commit/f394094f195b3d593336aab6b76ccd2b7b483e43
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/ARM/extract-cost-scale-nullptr-user.ll
Log Message:
-----------
[SLP] Scale extract cost of external uses with nullptr user
The NCD pre-pass from #199962 only records extract blocks for external
uses that have a real user, so uses with a nullptr user were left
unscaled, making the loop in the report look profitable and get wrongly
vectorized. For a nullptr user vectorizeTree() places the extract right
after the vectorized instruction (entry block) and RAUWs the scalar, so
scale those extracts by the entry block frequency, restoring the
pre-#199962 behavior for that case.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/201193
Commit: 1fe6d564523982d2efbd28334ef50fe449765eb5
https://github.com/llvm/llvm-project/commit/1fe6d564523982d2efbd28334ef50fe449765eb5
Author: Justin Bogner <mail at justinbogner.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M third-party/benchmark/src/sysinfo.cc
Log Message:
-----------
Fix a warning and an uninitialized variable in benchmark (#200927)
After #198964 I see a -Wcovered-switch-default warning in sysinfo.cc,
but it looks like it's uncovering something a bit worse.
Back in #147357 and #149159 it looks like we tried to fix an MSVC
warning for an uncovered `CacheUnknown` case in this switch, and removed
the initialization of the variable before the switch. The update to
Google Benchmark v1.9.5 has a different fix for this - it's handling
that specific case guarded by some MSVC version macros, but this depends
on the initialization we removed!
Add the initialization back and remove the default case, effectively
reverting #149159 and #147357.
Commit: 798d0f5ee8644d9745922970515071d3fe338cb6
https://github.com/llvm/llvm-project/commit/798d0f5ee8644d9745922970515071d3fe338cb6
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/MarkdownQuickstartTemplate.md
M llvm/docs/README.txt
A llvm/docs/SphinxQuickstartTemplate.md
R llvm/docs/SphinxQuickstartTemplate.rst
M openmp/docs/README.txt
Log Message:
-----------
[docs] Rename SphinxQuickstartTemplate.{rst|md} for blame (#198899)
Renames SphinxQuickstartTemplate.rst to SphinxQuickstartTemplate.md as
an isolated commit to preserve blame history. The file content is not
yet valid Markdown; the rewrite follows in a stacked PR.
Cross-references in MarkdownQuickstartTemplate.md, README.txt, and
openmp/docs/README.txt are updated accordingly.
See RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
Commit: f31bc0a478a86e45b2e2745ed097509aca669f81
https://github.com/llvm/llvm-project/commit/f31bc0a478a86e45b2e2745ed097509aca669f81
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/GitHub.rst
M llvm/docs/SphinxQuickstartTemplate.md
Log Message:
-----------
[docs] Rewrite SphinxQuickstartTemplate.md in MyST Markdown (#198896)
Converts SphinxQuickstartTemplate.md from reStructuredText syntax to
MyST Markdown. Updates the overview to mention that MyST is now
preferred for new LLVM documentation, modernizes the authoring
guidelines, and replaces all RST markup constructs with their Markdown
equivalents.
The renamd landed as PR #198899.
See RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
An LLM was used to assist with the rewrite.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 3ca3bbcaf1dc8a8b4270cbd896d97e522b72f475
https://github.com/llvm/llvm-project/commit/3ca3bbcaf1dc8a8b4270cbd896d97e522b72f475
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
A llvm/test/CodeGen/Xtensa/landingpad.ll
Log Message:
-----------
[Xtensa] Implement lowering Exception Selector and Pointer Registers. (#198043)
This PR fixes issue https://github.com/llvm/llvm-project/issues/190308
Commit: 9b92e0fe9b0066d58073ee81afa0e5823a474e1e
https://github.com/llvm/llvm-project/commit/9b92e0fe9b0066d58073ee81afa0e5823a474e1e
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[SelectionDAG] Split vector types for atomic store (#197860)
Vector types that aren't widened are split so that a single ATOMIC_STORE
is issued for the entire vector at once. This enables SelectionDAG to
translate vectors with type bfloat,half.
Store-side counterpart to #165818. Stacked on top of #197619; and below
of #197861.
Commit: 162076fe779ea8e1d9008b42e3c5f5ea3ae473dc
https://github.com/llvm/llvm-project/commit/162076fe779ea8e1d9008b42e3c5f5ea3ae473dc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86PartialReduction.cpp
M llvm/test/CodeGen/X86/sad.ll
Log Message:
-----------
[X86] Check useBWIRegs() instead of hasBWI() before creating x86_avx512_psad_bw_512 intrinsic. (#201167)
Need to check that 512-bit vectors are enabled before using a 512-bit
intrinsic.
Commit: 40ad00beb3e275e1c50d6a718800d197a6b02c4e
https://github.com/llvm/llvm-project/commit/40ad00beb3e275e1c50d6a718800d197a6b02c4e
Author: mleair <leairmark at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/intrinsic-module-array-constant.f90
Log Message:
-----------
[flang] Define array named constants from the iso_fortran_env intrins… (#201190)
…ic module
createIntrinsicModuleDefinitions() only emitted definitions for array
named constants belonging to the __fortran_ieee_exceptions intrinsic
module. Array constants declared directly in the iso_fortran_env
intrinsic module -- in practice character_kinds -- were therefore only
lowered as bodyless `fir.global` external declarations at their use site
and never defined anywhere, producing an undefined reference at link
time.
This is usually hidden because scalar iso_fortran_env parameters fold to
immediates and constant-shape array accesses are folded away, so the
dangling external symbol is DCE'd before linking. It surfaces when the
address of the array genuinely escapes to runtime, e.g.:
```
use iso_fortran_env
integer :: i, x(1)
do i = 1, size(character_kinds)
x = findloc(character_kinds, character_kinds(i))
end do
```
which fails with:
undefined reference to `_QMiso_fortran_envECcharacter_kinds'
Fix by also processing the iso_fortran_env scope in
createIntrinsicModuleDefinitions(), so its array constants are emitted
as linkonce_odr definitions with initializers.
Note that integer_kinds/real_kinds/logical_kinds are unaffected: they
are renamed from iso_fortran_env_impl, a non-intrinsic module that is
compiled into the runtime, so their definitions already exist there.
Assisted-by: AI
Commit: f2a780bbe2d8f66bcffb76e9d5f008d581be7917
https://github.com/llvm/llvm-project/commit/f2a780bbe2d8f66bcffb76e9d5f008d581be7917
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][test] Make delayed-definition-die-searching CU-layout agnostic (#201206)
The second `ParseTypeFromDWARF` for t1 (after `p v2`) only fires when
t1's definition lives in a separate CU from its forward declaration:
LLDB parses the forward-decl DIE during `p v1` and a distinct definition
DIE during `p v2`. dsymutil's parallel linker collapses both into a
single DIE in the artificial type unit, so t1 is parsed once during `p
v1` and only re-resolved during `p v2`.
Drop the second-parse CHECK so the test no longer presumes a per-CU type
layout. The remaining `'t1' resolving forward declaration...` CHECK
after `p v2` still verifies what the test was designed to catch: t1's
complete-type resolution is deferred until v2 is evaluated. If LLDB
regressed to eager resolution during `p v1`, that log line would move
and the test would fail. Add a `(t1) (x = 0)` CHECK at the end to cover
the end-to-end value.
Commit: 87d6941017aa6022ce00baa9f1dfae5a49b113f4
https://github.com/llvm/llvm-project/commit/87d6941017aa6022ce00baa9f1dfae5a49b113f4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
M clang/test/CodeGen/lto-newpm-pipeline.c
M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/devirt_vcall_vis_public.ll
M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/LTO/LTO.h
R llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/IPO/ConstantMerge.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
R llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Assembler/index-value-order.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/CodeGen/X86/fat-lto-section.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-alias.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-weak-aliasee.ll
M llvm/test/Linker/funcimport2.ll
M llvm/test/Other/new-pm-O0-defaults.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
M llvm/test/ThinLTO/AArch64/aarch64_inline.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions1.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions2.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions3.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias2.ll
M llvm/test/ThinLTO/X86/deadstrip.ll
M llvm/test/ThinLTO/X86/devirt_function_alias.ll
M llvm/test/ThinLTO/X86/devirt_function_alias2.ll
M llvm/test/ThinLTO/X86/devirt_pure_virtual_base.ll
M llvm/test/ThinLTO/X86/devirt_vcall_vis_public.ll
M llvm/test/ThinLTO/X86/distributed_import.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-exported-internal.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-unknown.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-weak.ll
M llvm/test/ThinLTO/X86/globals-import.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
M llvm/test/ThinLTO/X86/import-ro-constant.ll
M llvm/test/ThinLTO/X86/index-const-prop-alias.ll
M llvm/test/ThinLTO/X86/index-const-prop.ll
M llvm/test/ThinLTO/X86/linkonce_resolution_comdat.ll
M llvm/test/ThinLTO/X86/memprof-dups.ll
M llvm/test/ThinLTO/X86/memprof_callee_type_mismatch.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
M llvm/test/ThinLTO/X86/prevailing_weak_globals_import.ll
M llvm/test/ThinLTO/X86/visibility-elf.ll
M llvm/test/ThinLTO/X86/visibility-macho.ll
M llvm/test/ThinLTO/X86/weak_resolution.ll
M llvm/test/ThinLTO/X86/windows-vftable.ll
M llvm/test/ThinLTO/X86/writeonly.ll
R llvm/test/Transforms/AssignGUID/assign_guid.ll
M llvm/test/Transforms/ConstantMerge/merge-dbg.ll
M llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
M llvm/test/Transforms/FunctionImport/funcimport-debug-retained-nodes.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
R llvm/test/Transforms/GlobalMerge/guid.ll
M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
M llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
M llvm/test/Transforms/SampleProfile/ctxsplit.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel-profile.ll
M llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/export-vcp.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
M llvm/test/tools/gold/X86/thinlto_weak_library.ll
M llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
M llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
Reverting PR #184065 and #200323 to address some interplay with CFI (#201194)
There is a relation between CFI and ThinLTO GUIDs that still needs to be
disentangled first. Note that we leave the `MD_unique_id` in
`FixedMetadataKinds.def` to avoid needing to re-number it later. Plus
the metadata string ("guid") itself is used by ctxprof.
Commit: 70edfe91f4fc6bd0b2137d20f3508a6fcd85bcde
https://github.com/llvm/llvm-project/commit/70edfe91f4fc6bd0b2137d20f3508a6fcd85bcde
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[cmake] Fix host tool path with driver build on Windows (#199152)
On Windows, the llvm-shlib dylib build uses the llvm-nm host tool to
make all symbols visible by default. The LLVM_TOOL_LLVM_DRIVER_BUILD=ON
build would fail because $<TARGET_FILE:llvm-nm> was invalid. This change
passes the name of the symlink / executable copy as a custom property so
things work out and the llvm-nm.exe host tool can be found.
Commit: b29bf9fa25bdb906a61ec361fba68796020cc6b9
https://github.com/llvm/llvm-project/commit/b29bf9fa25bdb906a61ec361fba68796020cc6b9
Author: Peter Hawkins <phawkins at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/include/mlir/Bytecode/BytecodeWriter.h
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.h
M mlir/unittests/Bytecode/BytecodeTest.cpp
Log Message:
-----------
[mlir][bytecode] Add option to elide locations during serialization (#201183)
Adds a setElideLocations option to BytecodeWriterConfig to elide
locations during bytecode serialization. When enabled, all LocationAttrs
are mapped to UnknownLoc during numbering and writing to produce
location-invariant bytecode (e.g., for stable fingerprinting).
Another way to achieve the same thing would be to apply the
strip-debuginfo pass,
but that requires mutating the module, which in turn requires cloning
the module if one still requires the unstripped original.
Assisted-by: Antigravity / Gemini
Commit: f2dd83075571265427547b94e06aabda61aff974
https://github.com/llvm/llvm-project/commit/f2dd83075571265427547b94e06aabda61aff974
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBanks.td
Log Message:
-----------
[RISCV][GISel] Add GPRPair to GPRB register bank and use getXLen() for GPRSize
Map GPRPair register classes to the GPRB register bank during GlobalISel
instruction selection. This is required because the introduction of HwMode-dependent
base pointer register classes (e.g. via PtrRegClassByHwMode) causes TableGen to
emit register bank checks for GPRPair variants in RISCVGenGlobalISel.inc.
Without this mapping, instruction selection crashes on unsupported classes.
To avoid assertion failures when GPRB's maximum size increases to 128-bit on RV64
due to the register pairs, update RISCVRegisterBankInfo::getInstrMapping to query
Subtarget.getXLen() for the scalar register width instead of relying on the bank's
getMaximumSize(). This matches AArch64's design pattern of mapping register pairs
(XSeqPairsClass) to GPR and resolving scalar register sizes dynamically.
This was fine previously but was exposed by the HwMode changes in
https://github.com/llvm/llvm-project/pull/177073.
Pull Request: https://github.com/llvm/llvm-project/pull/200510
Commit: 155c6e4f887a9b4fb8900ec655124303e7308b4b
https://github.com/llvm/llvm-project/commit/155c6e4f887a9b4fb8900ec655124303e7308b4b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/cmake/caches/Apple-lldb-macOS.cmake
Log Message:
-----------
[lldb] Add lldb-mcp to LLVM_DISTRIBUTION_COMPONENTS (#201225)
Add lldb-mcp to LLVM_DISTRIBUTION_COMPONENTS
Commit: 08e8df51ce23b79e50774453e7ae120c1b5de2ef
https://github.com/llvm/llvm-project/commit/08e8df51ce23b79e50774453e7ae120c1b5de2ef
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
Log Message:
-----------
[ORC] Make SimpleExecutorDylibManager::resolve an instance method. (#201211)
Promote the lambda inside resolveWrapper to a public method on
SimpleExecutorDylibManager. This brings SimpleExecutorDylibManager into
better alignment with the NativeDylibManager implementation in the new
ORC runtime, and is a step towards allowing NativeDylibManager to be
used as a drop-in replacement for SimpleExecutorDylibManager.
Commit: 72a05d59bc8cba3728ad1e3f60bdcc8504f7a708
https://github.com/llvm/llvm-project/commit/72a05d59bc8cba3728ad1e3f60bdcc8504f7a708
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/API/python_api/run_locker/TestRunLocker.py
Log Message:
-----------
[lldb] Have TestRunLocker run both styles of launch (#200978)
While debugging flakey behavior with TestRunLocker, I noticed that is
intended to run its test once with a stop at the entry function (and
then Continues) and once where we launch to the main() loop. But we were
never exercising the stop-at-entry codepath.
This doesn't fix the flakey behavior, although that only happens with
the launch-directly-into-main() codepath; I don't get failures when I
stop at the entry point and then continue.
Commit: 04d9e8687b3836af1eede7df15ecc43ac5c1f67d
https://github.com/llvm/llvm-project/commit/04d9e8687b3836af1eede7df15ecc43ac5c1f67d
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Don't expand SCEVs without uses to VPInstructions (NFC). (#201221)
If a VPExpandSCEVRecipe does not have users, there's no benefit to
expand it to VPInstructions, which then have to get cleaned up.
This also prevents DCE from removing VPInstructions pointed to by
TripCount after expansion.
Commit: 2a936ce9316042cd7e45e72b528ad1d55aa2fe3c
https://github.com/llvm/llvm-project/commit/2a936ce9316042cd7e45e72b528ad1d55aa2fe3c
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/tools/debugserver/source/DNB.cpp
Log Message:
-----------
[lldb][debugserver] Arguments to kill(2) are reversed (#201226)
This codepath is only executed as an attempt to clean up during a failed
launch, so the reversed arguments were rarely actually used.
rdar://175507620
Commit: ce465594e2394ebe6894c6f0dfc9d0817b63c9da
https://github.com/llvm/llvm-project/commit/ce465594e2394ebe6894c6f0dfc9d0817b63c9da
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
Log Message:
-----------
[NVPTX] Fix aggregate load/store lowering for (potentially) overlapping copies (#201177)
NVPTXLowerAggrCopies lowers load/store pairs of large values into a loop
of smaller copies.
However, it was incorrectly assuming that the load/store pairs it found
never alias.
This patch adds an alias check. If the pointers may alias, we emit a
memmov, which handles overlap correctly.
CUDA reproducer:
typedef char vec __attribute__((vector_size(256)));
__global__ void boom(char *p) {
*(vec *)(p + 8) = *(vec *)p;
}
Commit: 26e44e62fdaf0467e153d2f83251e2d48eb1f10e
https://github.com/llvm/llvm-project/commit/26e44e62fdaf0467e153d2f83251e2d48eb1f10e
Author: adams381 <adams at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/func-linkage-weak-import.c
A clang/test/CIR/CodeGen/inline-forward-decl.c
Log Message:
-----------
[CIR] Set ExternalWeakLinkage on weak/weak_import function declarations (#198422)
Classic CodeGen's `SetFunctionAttributes` calls `setLinkageForGV` to force `ExternalWeakLinkage` on `__attribute__((weak))` and Darwin `weak_import` declarations. CIR had no equivalent: weak function declarations were emitted with `ExternalLinkage` instead of `ExternalWeakLinkage`.
This adds `setLinkageForFunction` — the same weak/external-weak logic as `setLinkageForGV` — and calls it from `setFunctionAttributes`. The underlying crash on inline forward declarations (the original motivation) is already fixed by #195257; what remains is this linkage gap.
`inline-forward-decl.c` covers `__attribute__((weak))` on an inline forward declaration; `func-linkage-weak-import.c` covers Darwin `weak_import` (→ `extern_weak` in CIR and LLVM).
Commit: d59899763f0df2bf16fca98ab11421646957602a
https://github.com/llvm/llvm-project/commit/d59899763f0df2bf16fca98ab11421646957602a
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Drop SYCL dry-run stub-image special case (#201222)
Remove the `DryRun` branch in `bundleSYCL` that emitted a stub
`OffloadBinary`. SYCL goes through the same empty-buffer path as other
offload kinds, so the special case is no longer needed.
Update `linker-wrapper-image.c` to expect the resulting `[0 x i8]
zeroinitializer` constant and a size of `0` in the register/unregister
calls.
Assisted by Claude.
Commit: 142ad481b6254104a51da7d636ad9e3f30518a32
https://github.com/llvm/llvm-project/commit/142ad481b6254104a51da7d636ad9e3f30518a32
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/CMakeLists.txt
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/include/lldb/Host/Config.h.cmake
A lldb/include/lldb/Host/ScriptInterpreterRuntimeLoader.h
M lldb/include/module.modulemap
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/common/PythonRuntimeLoader.cpp
A lldb/source/Host/common/PythonRuntimeLoaderInternal.h
A lldb/source/Host/common/ScriptInterpreterRuntimeLoader.cpp
A lldb/source/Host/linux/PythonRuntimeLoaderLinux.cpp
A lldb/source/Host/macosx/PythonRuntimeLoaderDarwin.cpp
A lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
M lldb/unittests/Host/CMakeLists.txt
A lldb/unittests/Host/PythonRuntimeLoaderTest.cpp
Log Message:
-----------
[lldb] Add PythonRuntimeLoader for runtime libpython lookup (NFC) (#200524)
Generalizes the Windows-only Python lookup in PythonPathSetup into a
cross-platform abstraction. Adds an abstract ScriptInterpreterRuntimeLoader
with a per-language factory. The Python implementation dynamically loads Python
library into the current process.
The loader no-ops when Python is already in the process, then walks
LLDB_PYTHON_LIBRARY env override, the build-time Python
(LLDB_PYTHON_RUNTIME_LIBRARY_BUILD_PATH) and finally a platform candidate list:
- Darwin: DEVELOPER_DIR, the bundled Xcode.app, and Command Line Tools joined
against Python3.framework. Then python.org, /opt/homebrew, and /usr/local
joined against Python.framework. Then xcrun -f python3 and if that fails,
libpython3.dylib as a last resort.
- Linux: libpython3.so plus descending stable-ABI SONAMEs.
- Windows: the LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME bare name (resolved via the
loader's default search list) and the exe-relative
LLDB_PYTHON_DLL_RELATIVE_PATH fallback (built off GetModuleFileNameW).
Pre-mapping python3xx.dll lets the script interpreter plugin's delay-load
thunks resolve against the already-loaded module by base name on first use.
This commit only introduces the abstraction. No existing call site is changed,
and the script interpreter plugin still hard-links Python, which are part of
two follow-up PRs.
Commit: 3eb13f8db39ed42827122489c830c414cb6660e3
https://github.com/llvm/llvm-project/commit/3eb13f8db39ed42827122489c830c414cb6660e3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/test/CMakeLists.txt
Log Message:
-----------
[lldb] Stop hard-linking libpython into the dynamic Python plugin (#200530)
Drops ${Python3_LIBRARIES} from the SHARED build of
lldbPluginScriptInterpreterPython and lets undefined Python symbols
through at link time (`-undefined dynamic_lookup` on Darwin,
`--allow-shlib-undefined` on Linux; Windows keeps its existing
delay-load + import lib).
SystemInitializerFull::Initialize resolves the Python runtime loader
via ScriptInterpreterRuntimeLoader::Get(eScriptLanguagePython) and
calls Load() before initializing any plugin, so libpython is mapped
into the process before either entry point that references it: the
static script interpreter's Initialize() (which invokes Python via
the LLDB_PLUGIN_INITIALIZE loop) and the dynamic plugin's dlopen
(whose undefined references resolve against the in-process
libpython). This covers both LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS
=ON and =OFF, and keeps Windows working in static builds where the
delay-load thunks live in liblldb itself. The loader is
once_flag-cached, and errors propagate out via the existing Expected
return.
`import lldb` from a running Python works because libpython is
already mapped into the process. The Python runtime loader probes
for stable-ABI symbols (Py_IsInitialized, Py_InitializeFromConfig)
via dlsym(RTLD_DEFAULT) / GetProcAddress and, finding them, returns
success without dlopen'ing a second libpython on top.
The dynamic plugins are added as test-suite dependencies so
check-lldb-shell and check-lldb-api wait for them; they can't be
build-order deps of liblldb itself because the plugins link against
liblldb (CMake SHARED cycle).
The unit-test static variant lldbStaticScriptInterpreterPython keeps
hard-linking libpython so link-time symbol checking is preserved.
Commit: 678891b586ab0f3b97c83987eb2df0d2d5743ffb
https://github.com/llvm/llvm-project/commit/678891b586ab0f3b97c83987eb2df0d2d5743ffb
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGen/compound_literal.c
Log Message:
-----------
[CIR] Implement lowering for const-emitted global compound literals (#201152)
This came up in a test suite as a NYI, it is just emitting a
constant-backing literal for an initializer. These are specific to C, as
global compound literals have static storage duration in C. This patch,
just like classic codgen, just creates a '.compoundliteral' object as
backing for these variables, and lets us create references to them.
---------
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 243ddf607bbe4841cfe734507120c8d8ddc41eca
https://github.com/llvm/llvm-project/commit/243ddf607bbe4841cfe734507120c8d8ddc41eca
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/src/__support/block.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/freestore.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
Log Message:
-----------
[libc] add shrink in-place support for reallocations (#200272)
This PR adds shrinking in-place for the freelist heap. This allows the
heap to reuse the place if the reallocation shrinks the size larger than
a minimal block unit.
Synthesized random action tests show that that increase heap utilization
rate from 87% to 97% percent, basically aligns with the expectation of
dlmalloc.
Assisted-by: AI tools, manually checked.
Commit: a6745c933a3828f4e2cac4d94754688fe3b03f9f
https://github.com/llvm/llvm-project/commit/a6745c933a3828f4e2cac4d94754688fe3b03f9f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
A llvm/test/CodeGen/X86/apx/memfold-origVNI-crash.ll
Log Message:
-----------
[X86][APX] Extend original LI to the same range as DstReg (#199182)
The #189222 folds NDD+Load to non-NDD when NDD memory variant not
preferred. However, this will changes DstReg from regular def to
early-clobber def, which causes "corrupted sub-interval" in
reMaterializeFor, because the OrigLI is not updated at the same time.
Fixes: https://godbolt.org/z/7n8ozz1EG
Assisted-by: Claude Sonnet 4.6
Commit: 0e40e9e341cf78662ab468fb8cdd6cac7e58ad1f
https://github.com/llvm/llvm-project/commit/0e40e9e341cf78662ab468fb8cdd6cac7e58ad1f
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker][test] Improve dry-run mode and tighten test coverage (#200513)
- Rework `--dry-run` in `clang-sycl-linker` so it skips all real output
(writing bitcode, executing tools, etc.).
- The `link:`, `sycl-module-split:`, and a new `sycl-bundle:` summary
line are now gated on `-v` alone.
- Tighten `sycl-bundle:` checks in `basic.ll`, `split-mode.ll`, and
`triple.ll` to pin kind, triple, and arch (instead of just kind),
and add `-NOT: {{.+}}` after fully-covered dry-run check groups.
- replace the `clang-sycl-linker` + `llvm-objdump --offloading`
round-trip with a single `--dry-run -v` invocation.
- add dedicated `non-dry-run` mode test to verify code paths not exposed
in `dry-run`.
Assisted by Claude.
Commit: f132e926290fe1cc69946addfb90d61b56c9402a
https://github.com/llvm/llvm-project/commit/f132e926290fe1cc69946addfb90d61b56c9402a
Author: adams381 <adams at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
A clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-vector-to-complex.cir
Log Message:
-----------
[CIR] Coerce Direct args and returns in CallConvLowering (#195879)
Fourth PR in the split of #192119/#192124. Implements the
Direct-with-coercion path in CallConvLowering.
Every Direct argument or return whose ABI type differs from its source
type is now coerced through a store/reload roundtrip via an entry-block
alloca, mirroring classic codegen's CreateCoercedLoad/CreateCoercedStore.
The temporary alloca uses max(srcAlign, dstAlign) from the DataLayout and
is hoisted into the entry block so it composes with HoistAllocas
regardless of pipeline order. When the coerced type is larger than the
source -- e.g. a 12-byte aggregate returned as { i64, i64 } -- the slot is
sized to the larger type and accessed through a source-typed view for the
store and a destination-typed view for the load, so neither side
over-reads.
CallConvLowering is split into three phases (function-definition
coercion, call-site rewriting, and Ignore cleanup) because in-place
block-argument type changes from Direct-with-coerce otherwise confused the
earlier ordering, synthesizing alloca/load chains for call-site uses of
Ignore'd arguments that were about to be dropped.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 45bddca21c65106b41fa47a485a30c863e75da53
https://github.com/llvm/llvm-project/commit/45bddca21c65106b41fa47a485a30c863e75da53
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/test/CIR/CodeGen/switch-cleanup.cpp
Log Message:
-----------
[CIR] Fix insertion point tracking for switch with cleanups (#201210)
We had some problems where we would incorrectly maintain the insertion
point for switch statements that contained cleanup scopes. This resulted
in cir.scope statements without a terminator, tripping a verification
error.
This change adds a RunCleanupsScope RAII object for the switch statement
and adds a check inside popCleanup() to avoid moving the insertion point
to the point after the now-closed cleanup scope if the insertion point
had previously been somewhere other than inside the cleanup scope.
Assisted-by: Cursor / claude-opus-4.8
Commit: 19c7fdb3c3c68a9d6861627c85cd0251b7854f6f
https://github.com/llvm/llvm-project/commit/19c7fdb3c3c68a9d6861627c85cd0251b7854f6f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGen/global-temp-dtor.cpp
M clang/test/CIR/CodeGen/self-ref-temporaries.cpp
M clang/test/CIR/CodeGenCXX/global-refs.cpp
Log Message:
-----------
[CIR] Implement destruction of TLS and static global references (#200227)
This implements destruction of lifetime-extended reference temporaries
used to initialize TLS or static duration reference variables.
Assisted-by: Cursor / claude-opus-4.7
Commit: f48e6b81c3acb7007aa94ac768c95122796df08c
https://github.com/llvm/llvm-project/commit/f48e6b81c3acb7007aa94ac768c95122796df08c
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/test/CodeGen/NVPTX/intr-range.ll
Log Message:
-----------
[NVPTX] NVVMIntrRange: Handle maxntid > UINT32_MAX. (#201245)
Previously we computed the overall maxntid and downcast it to unsigned
int. This is not correct; it can be larger than UINT32_MAX.
This would cause reads of tid.xyz and ntid.xyz to have incorrect range
information. Also if maxntid was an exact multiple of 2^32, we'd get an
ICE (because we'd incorrectly think that maxntid is 0).
Commit: 8763a68723b0dbd1ef2e7cc0ac61b2635ceef000
https://github.com/llvm/llvm-project/commit/8763a68723b0dbd1ef2e7cc0ac61b2635ceef000
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/M68k/AsmParser/CMakeLists.txt
Log Message:
-----------
[M68k] Add to LINK_COMPONENTS to fix BUILD_SHARED_LIBS build (#201248)
Fixes: 6897c5e24ce5 ("[M68k][MC] Add MC support for PCI w/ base
displacement addressing mode (#200696)")
Commit: 53938ba7f3631583f79f1b7c1cf8a5d2347ba4d1
https://github.com/llvm/llvm-project/commit/53938ba7f3631583f79f1b7c1cf8a5d2347ba4d1
Author: Boyao Wang <wangboyao at bytedance.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
R llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/pr148084.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll
R llvm/test/MC/RISCV/xrivosvizip-invalid.s
R llvm/test/MC/RISCV/xrivosvizip-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Remove experimental XRivosVizip support (#200761)
Remove experimental XRivosVizip support which will not be maintained by
RVIOS any more.
Commit: 83318d027abdbd4694d6a070194c82f1e2a34739
https://github.com/llvm/llvm-project/commit/83318d027abdbd4694d6a070194c82f1e2a34739
Author: Fan Mo <w007878 at hotmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
Log Message:
-----------
[docs][Kaleidoscope] fix function name InitializeModuleAndManagers in Kaleidoscope (#199601)
### Description
resloves #199477
The Kaleidoscope tutorial was not fully updated with the new Pass
Manager. This pr aligns the tutorial doc with the example code.
### Changes
- Use `InitializeModuleAndManagers` instead of
`InitializeModuleAndPassManager`.
- Remove `TheModule->setDataLayout(TheJIT->getDataLayout());` in line
141, as the `setDataLayout` was introduced later.
- Use `KaleidoscopeJIT` instead of `my cool jit` as the ModuleName, to
align with the final code.
Commit: 45c4ebb92ae393a541105c120e0dba2992237c03
https://github.com/llvm/llvm-project/commit/45c4ebb92ae393a541105c120e0dba2992237c03
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/docs/conf.py
Log Message:
-----------
[lldb] Enable MyST colon_fence and deflist extensions (NFC) (#201250)
Enable the colon_fence and deflist MyST parser extensions in the LLDB
docs configuration. This is a preparatory step for converting the
remaining reStructuredText documentation pages to Markdown, where these
two extensions are needed to translate RST admonition directives
(:::{note}) and definition lists.
Context:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Commit: ee20b106ec70d3494890a707a32ac677c64c409d
https://github.com/llvm/llvm-project/commit/ee20b106ec70d3494890a707a32ac677c64c409d
Author: Thrrreeee <shijinrui at bytedance.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
A bolt/test/X86/dwarf5-dwp-tsan-data-race.test
Log Message:
-----------
[BOLT] Fix data race in multi-threaded DWP type unit processing and DWP type unit duplication (#197359)
## Summary
This PR fixes a race condition in LLVM BOLT's
DIEBuilder::buildTypeUnits() that is triggered when DWARF5 split-DWARF
(.dwo/.dwp) inputs are processed with multi-threaded CU processing.
Concurrent invocations from different worker threads share the same DWP
type-unit state, which results in duplicated DIE extraction, assertion
failures, and intermittent crashes. The fix serializes buildTypeUnits()
for DWP inputs via a function-local static std::mutex, leaving the
non-DWO fast path unchanged.
## Problem Description
When BOLT processes DWARF debug info with --debug-thread-count=4
--cu-processing-batch-size=4 on testcase
dwarf5-df-types-dup-dwp-input.test, multiple threads concurrently call
DIEBuilder::buildTypeUnits() on shared DWP type units. Since type units
within a DWP file are shared across compilation units, multiple threads
may attempt to extract DIEs from the same type unit simultaneously,
violating the assertion.
**Note:** This is an intermittent failure — due to its dependence on
thread scheduling and interleaving, it does not reproduce on every run,
and may require multiple executions under the multi-threaded
configuration to surface, which is why it escaped earlier
single-threaded testing.
Commit: 6d7962db9397eefe3a287115d413fd4c562e4178
https://github.com/llvm/llvm-project/commit/6d7962db9397eefe3a287115d413fd4c562e4178
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCUDA/addr-of-overloaded-fn.cu
A clang/test/SemaCUDA/addr-of-overloaded-template-fn.cu
Log Message:
-----------
[clang][CUDA] Avoid ambiguity in host/device template specializations (#201049)
This commit changes SemaOverload to resolve an otherwise diagnosed
ambiguity between addresses of template specializations of functions
that are overloaded for both device and host. Similar to how it works
for non-templated function overloads, these changes prioritizes the
specializations that corresponds to the target of the owning function,
i.e. if compiling for host, the address of the host specialization takes
precedence over the device specialization and vice versa.
Fixes https://github.com/llvm/llvm-project/issues/199299
---------
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: a47bddccec30255619bb8c37fa59700e661d4e66
https://github.com/llvm/llvm-project/commit/a47bddccec30255619bb8c37fa59700e661d4e66
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
Log Message:
-----------
[clangd] Handle dependent call to function with explicit object parameter in InlayHintVisitor (#201264)
Dependent calls do not yet have the implicit object argument preprended
to the CallExpr's argument list, so the first argument should not be
expected to be present and dropped in this case.
Fixes https://github.com/llvm/llvm-project/issues/198588
Commit: 70bca0f9af520569daa85959c56d95b2d1cd0389
https://github.com/llvm/llvm-project/commit/70bca0f9af520569daa85959c56d95b2d1cd0389
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
A llvm/test/CodeGen/RISCV/rvv/xsfmm-insert-vsetvl-TMTK.mir
Log Message:
-----------
[RISCV] Make VSETTM/VSETTK not affect the VSETVL emit (#197890)
VSETTM/TK will modify VTYPE, but it only affects the TM/TK bits. This
modification is safe for other RVV operations. The TM/TK value will be
maintained in insertVSETMTK.
Commit: 866c39b61f475ca4dffd9eae280d146f59cdede6
https://github.com/llvm/llvm-project/commit/866c39b61f475ca4dffd9eae280d146f59cdede6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Remove no longer tested VP_MUL handling. (#201238)
We no longer use VP_MUL in SelectionDAG on RISC-V so this code isn't
tested.
This effectively reverts db6de1a20f75cbfe1024f41e64ad39def91fa70f
Commit: e0b580a724dc58afa119eb2ce25620ebd8d5f275
https://github.com/llvm/llvm-project/commit/e0b580a724dc58afa119eb2ce25620ebd8d5f275
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Remove untested visitVP_FADD and visitVP_FSUB. (#201247)
RISC-V no longer uses VP_FADD/FSUB in SelectionDAG.
Commit: f91f589aaa82514952f7a13b3e3bd2910d32559a
https://github.com/llvm/llvm-project/commit/f91f589aaa82514952f7a13b3e3bd2910d32559a
Author: JoshuaGrindstaff <99843934+JoshuaGrindstaff at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/test/MC/AMDGPU/mcexpr_amd.s
M llvm/test/MC/AMDGPU/mcexpr_amd_err.s
A llvm/unittests/Target/AMDGPU/AMDGPUMCExprTest.cpp
M llvm/unittests/Target/AMDGPU/CMakeLists.txt
Log Message:
-----------
[AMDGPU] Added min operation for MCExprs (#199746)
The min operation is needed in MC Expressions for a future change that
caps the max number of registers used for indirect calls.
---------
Co-authored-by: JoshuaGrindstaff <jgrindst at amd.com>
Commit: c7b4b4a33350e3805deae64f17d6185b184d7887
https://github.com/llvm/llvm-project/commit/c7b4b4a33350e3805deae64f17d6185b184d7887
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
Log Message:
-----------
[NVPTX] Fix the build after ce465594e239. (#201268)
ce465594e239 (#201177) added sm_90 / PTX ISA 7.8 instructions to
lower-aggr-copies.ll, so we need to guard the RUN line appropriately.
Commit: baa8da34e6745536288edb042e89871d89376469
https://github.com/llvm/llvm-project/commit/baa8da34e6745536288edb042e89871d89376469
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
A mlir/test/Dialect/SPIRV/IR/tosa-ops-dynamic.mlir
Log Message:
-----------
[mlir][spirv] Allow dynamic rescale parameter lengths (#200155)
The SPIR-V TOSA rescale verifier checked multiplier and shift lengths
with a direct equality against the input channel dimension. That rejects
otherwise valid operations when either side of the shape comparison is
dynamic.
Express the check with reusable dimension predicates so unranked or
dynamic dimensions pass, while static dimensions still enforce the
per-channel and scalar length requirements. Add dedicated dynamic-shape
op coverage for dynamic input channel dimensions and dynamic
multiplier/shift lengths.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 4a74b4472833d57e0ecfaaa5d06a2c607bcceeae
https://github.com/llvm/llvm-project/commit/4a74b4472833d57e0ecfaaa5d06a2c607bcceeae
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M orc-rt/include/orc-rt/NativeDylibManager.h
M orc-rt/lib/executor/NativeDylibManager.cpp
M orc-rt/lib/executor/sps-ci/NativeDylibManagerSPSCI.cpp
M orc-rt/unittests/NativeDylibManagerSPSCITest.cpp
M orc-rt/unittests/NativeDylibManagerTest.cpp
Log Message:
-----------
[orc-rt] Add required/weak-ref attribute to NativeDylibManager lookup. (#201272)
Replace the std::vector<std::string> argument to lookup() with a
SymbolLookupSet (a vector of (name, LookupFlags) pairs, where
LookupFlags is RequiredSymbol or WeaklyReferencedSymbol).
This brings NativeDylibManager more closely into alignment with the
SimpleExecutorDylibManager implementation in the LLVM OrcTargetProcess
library.
Commit: c264e07c2f3d9f25a2526e69926daea3a68be74b
https://github.com/llvm/llvm-project/commit/c264e07c2f3d9f25a2526e69926daea3a68be74b
Author: Konstantin Belochapka <konstantin.belochapka at sony.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M cross-project-tests/dtlto/dtlto-cache.test
M cross-project-tests/dtlto/savetemps-lock.test
M lld/COFF/LTO.cpp
M lld/ELF/LTO.cpp
M lld/test/ELF/dtlto/timetrace.test
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/DTLTO/CMakeLists.txt
M llvm/lib/DTLTO/DTLTO.cpp
A llvm/lib/DTLTO/DTLTODistributionDriver.cpp
A llvm/lib/DTLTO/DTLTOInputFiles.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/test/ThinLTO/X86/dtlto/timetrace.ll
M llvm/tools/llvm-lto2/CMakeLists.txt
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
[DTLTO] Refactor the DTLTO code. (#192629)
DTLTO implementation code has been moved from `llvm/lib/LTO/` to
`llvm/lib/DTLTO/`. This refactor does not change any externally visible
behavior, so existing DTLTO tests and documentation remain valid. The
move was done to reduce code duplication, improve maintainability, and
make it easier to adopt future performance improvements.
Commit: 9bb17a0092a16a3c72a4b701bda9271af02fcfb2
https://github.com/llvm/llvm-project/commit/9bb17a0092a16a3c72a4b701bda9271af02fcfb2
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/unittests/CMakeLists.txt
Log Message:
-----------
[clangd] Disable PCH reuse for ClangdTests (#201232)
Fixes https://github.com/llvm/llvm-project/issues/200999
Commit: 57b09398b60d6bc95993435e51989bfcc032ad49
https://github.com/llvm/llvm-project/commit/57b09398b60d6bc95993435e51989bfcc032ad49
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/src/unistd/linux/alarm.cpp
Log Message:
-----------
[libc] Fix alarm layout mismatch on 32-bit time64 (#201276)
Fixed alarm implementation on 32-bit architectures with 64-bit time_t
(like RISC-V 32-bit). The SYS_setitimer syscall on these platforms
expects the legacy 32-bit struct itimerval (with 32-bit tv_sec and
tv_usec). Convert the arguments to this layout before invoking the
syscall to avoid the kernel misinterpreting the timeout.
Assisted-by: Automated tooling, human reviewed.
Commit: d0af9c8e3f32c28e259ea90bbb179e713e62c384
https://github.com/llvm/llvm-project/commit/d0af9c8e3f32c28e259ea90bbb179e713e62c384
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Port 142ad48 (#201283)
Commit: c2ed0b1d825d7c75ca15b57812767ec3858c60db
https://github.com/llvm/llvm-project/commit/c2ed0b1d825d7c75ca15b57812767ec3858c60db
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
Log Message:
-----------
[CaptureTracking] Remove allocator comparison special case (#201143)
CaptureTracking had a special case that (incorrectly) reported
`captures(none)` for comparisons of allocation functions with null.
Remove this special case and return the correct
`captures(address_is_null)` result instead.
It seems like this doesn't have any practical benefit anymore, as things
like AA will ignore address-only captures nowadays.
Commit: 6e6c51be667e95ee456efdc6d28b2184ceb6ed32
https://github.com/llvm/llvm-project/commit/6e6c51be667e95ee456efdc6d28b2184ceb6ed32
Author: Vinay Deshmukh <vinay_deshmukh at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/__iterator/erase_if_container.h
M libcxx/include/__node_handle
M libcxx/include/__tree
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/__utility/default_three_way_comparator.h
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
M libcxx/include/__utility/try_key_extraction.h
M libcxx/include/map
M libcxx/include/version
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
M libcxx/test/std/containers/associative/from_range_associative_containers.h
M libcxx/test/std/containers/associative/map/compare.pass.cpp
M libcxx/test/std/containers/associative/map/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/at.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/size.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/map/types.pass.cpp
M libcxx/test/std/containers/container.node/node_handle.pass.cpp
M libcxx/test/std/containers/insert_range_maps_sets.h
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/support/CopyConstructible.h
M libcxx/test/support/is_transparent.h
M libcxx/test/support/private_constructor.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Make `<map>` `std::map` constexpr as part of P3372R3 (#134330)
Fixes https://github.com/llvm/llvm-project/issues/128660
Adds `constexpr` support for `std::map` as per P3372R3
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 6a7b8876153815cf3847d952614440e79e82fc86
https://github.com/llvm/llvm-project/commit/6a7b8876153815cf3847d952614440e79e82fc86
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/README.md
Log Message:
-----------
[libclc] Use generic spirv*-unknown-unknown clang triple for SPIR-V targets (#199618)
spirv-diff shows only numbering change to
spirv64-unknown-unknown/libclc.spv. No change in `llvm-spirv -to-text`
outputs. llvm-diff shows no change on reverse-translated bitcode files.
Also fixes a bug that spirv32-unknown-unknown was incorrectly using
64-bit triple.
Update README.md to use the generic target triple for SPIR-V targets.
Commit: 6b5bb08d3aa3f498b7bd9f6bb43376719bddfa60
https://github.com/llvm/llvm-project/commit/6b5bb08d3aa3f498b7bd9f6bb43376719bddfa60
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/test/CodeGen/target-data.c
M clang/test/Frontend/spirv-target-validation.c
Log Message:
-----------
Revert "[OpenCL] Allow mesa3d OS in spirv32 and spirv64 targets" (#200727)
Reverts llvm/llvm-project#197148
libclc will use generic target triple spirv32[64]-unknown-unknown for use in mesa.
Commit: edcafdb6af16350da3444ac6bde10897a4c4ceee
https://github.com/llvm/llvm-project/commit/edcafdb6af16350da3444ac6bde10897a4c4ceee
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
M lldb/test/API/commands/apropos/formatting/TestAproposFormatting.py
M lldb/test/API/commands/expression/multiline-completion/TestMultilineCompletion.py
M lldb/test/API/commands/expression/multiline-navigation/TestMultilineNavigation.py
M lldb/test/API/commands/gui/basic/TestGuiBasic.py
M lldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
M lldb/test/API/commands/gui/breakpoints/TestGuiBreakpoints.py
M lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
M lldb/test/API/commands/gui/spawn-threads/TestGuiSpawnThreads.py
M lldb/test/API/commands/gui/viewlarge/TestGuiViewLarge.py
M lldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
M lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py
M lldb/test/API/iohandler/resize/TestIOHandlerResize.py
M lldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py
M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
M lldb/test/API/iohandler/stdio/TestIOHandlerProcessSTDIO.py
M lldb/test/API/iohandler/unicode/TestUnicode.py
M lldb/test/API/repl/clang/TestClangREPL.py
M lldb/test/API/terminal/TestDisabledBreakpoints.py
M lldb/test/API/terminal/TestEditline.py
Log Message:
-----------
[lldb][test] Always call quit when tearing down pexpect tests (#201100)
Right now we manually have to call quit at the end of each pexpect test.
This patches makes this call automatic.
This also makes tests that missed the call and where previously waiting
for a timeout faster. For example, TestClangREPL.py now only takes about
10 seconds to run instead of 1 minute.
Commit: 97bb7ec082b675cabae8c9e5001a8a8c14d03731
https://github.com/llvm/llvm-project/commit/97bb7ec082b675cabae8c9e5001a8a8c14d03731
Author: Xavier Roche <xavier.roche at algolia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/include/__type_traits/integer_traits.h
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.verify.cpp
Log Message:
-----------
[libc++] Reject cv-qualified types in __is_signed/unsigned_integer_v (#200377)
`__is_signed_integer_v` and `__is_unsigned_integer_v` previously
admitted cv-qualified types, contradicting `[basic.fundamental]/p1-2`.
The fix adds `__is_unqualified_v<_Tp>` to both predicates.
Reported by @jwakely on
[#185027](https://github.com/llvm/llvm-project/pull/185027#issuecomment-4574289895).
Trait-level tests cover all consumers via the shared concept; cast-like
templates (`in_range`, `saturating_cast`, `extents`) get explicit
cv-rejection tests.
Assisted-by: Claude (Anthropic)
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 8d42953f1518d3123ad01e4e9ccbed67042e08af
https://github.com/llvm/llvm-project/commit/8d42953f1518d3123ad01e4e9ccbed67042e08af
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port c264e07 (#201292)
Commit: 7b0d00f374097fc364ff7a40c846bb98f4950945
https://github.com/llvm/llvm-project/commit/7b0d00f374097fc364ff7a40c846bb98f4950945
Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/CommandGuide/llvm-strip.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/ObjCopy/ObjCopy.h
M llvm/lib/ObjCopy/Archive.cpp
M llvm/lib/ObjCopy/ObjCopy.cpp
A llvm/test/tools/llvm-objcopy/verbose.test
M llvm/tools/llvm-objcopy/CommonOpts.td
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
Log Message:
-----------
[llvm-objcopy] Add --verbose option to llvm-strip/llvm-objcopy (#196611)
Added `--verbose / -v` option to `llvm-strip` and `llvm-objcopy` as part
of #123041, matching GNU strip's output format. When the flag is passed,
the tool prints one line per file processed.
copy from `'input.o' [elf64-x86-64] to 'output.o' [elf64-x86-64]`
Commit: e579340c15c1c2fa814351cde0352e9be5c4878c
https://github.com/llvm/llvm-project/commit/e579340c15c1c2fa814351cde0352e9be5c4878c
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU][NFC] Use generated hasMinMaxI64Insts subtarget feature query (#201052)
Replace the custom GCNSubtarget::hasIntMinMax64 helper with the
generated hasMinMaxI64Insts from AMDGPUSubtargetFeature.
Commit: 1bd2a0ecbafce9fbea329f1b06bb3987126c4581
https://github.com/llvm/llvm-project/commit/1bd2a0ecbafce9fbea329f1b06bb3987126c4581
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
A llvm/test/CodeGen/SystemZ/vec-move-25.ll
Log Message:
-----------
[SystemZ] Don't zero extend after a VLGV[BHF] instruction. (#201109)
The VLGV already zero extends up to 64 bits, so a following zero extend
is not needed.
New TableGen patterns for these cases as well as a handling to avoid
tryRISBGZero() selecting i64 cases.
Commit: f1620435a384c56e718a80ca0b2695285b6ce978
https://github.com/llvm/llvm-project/commit/f1620435a384c56e718a80ca0b2695285b6ce978
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/test/support/nasty_string.h
Log Message:
-----------
[libc++][test] Make narrowing in `nasty_char_traits::to_char_type` more explicit (#138375)
Previously, the cast was allowed due to
[P0960R3](https://wg21.link/p0960r3), which made narrowing implicitly
done in the parenthesized aggregate initialization. MSVC doesn't seem
happy with such an implicit manner, despite not being
copy-initialization or list-initialization, and emits warning C4242.
This patch makes the narrowing more explicit to MSVC with `static_cast`.
Follows up 3e7be494f84e51d5f4245d6f39e380a500f226a6.
Commit: 74bf9b5666a6450ef87b130070b5df3da365183d
https://github.com/llvm/llvm-project/commit/74bf9b5666a6450ef87b130070b5df3da365183d
Author: Martin Wehking <martin.wehking at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_fp_int_cvtn_x2.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_int_fp_cvt.c
M clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
M clang/utils/TableGen/SveEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts_x2.ll
Log Message:
-----------
[AArch64] Add 9.7 CVT data processing intrinsics (#186807)
Add Clang intrinsics
svcvtt_f16_s8, _f32_s16, _f64_s32, _f16_u8, _f32_u16, _f64_u32
svcvtb_f16_s8, _f32_s16, _f64_s32, _f16_u8, _f32_u16, _f64_u32
+ lowering to AARCH64 Instrs. SCVTF, SCVTFLT, UCVTF, UCVTFLT
and Clang instrinsics:
svcvtn_s8[_f16_x2], _s32[_f64_x2], _u8[_f16_x2], _u16[_f32_x2],
_u32[_f64_x2]
+ lowering to AARCH64 Instrs. FCVTZSN, FCVTZUN
The Clang intrinsics are guarded by the sve2.3 and sme2.3 feature flags.
ACLE Patch:
https://github.com/ARM-software/acle/pull/428
The patch reuses `IsReductionQV` for resolving the overload of
intrinsics.
This naming is misleading and needs changed
Commit: e202047408e85b061a936a985ee9fe1e5b651633
https://github.com/llvm/llvm-project/commit/e202047408e85b061a936a985ee9fe1e5b651633
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/span
M libcxx/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp
R libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.verify.cpp
Log Message:
-----------
[libc++][span] LWG4243: `as_bytes`/`as_writable_bytes` is broken with `span<volatile T>` (#200993)
Closes #171317
Commit: 6bfca10b7a9da1b35717f16a820c8e837f87ea17
https://github.com/llvm/llvm-project/commit/6bfca10b7a9da1b35717f16a820c8e837f87ea17
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[AArch64] Tidy up getMemOpInfo cases where Width == Scale (NFC) (#201153)
Commit: 39658a8fa9d1900f90f218a5eeeb205c227e1262
https://github.com/llvm/llvm-project/commit/39658a8fa9d1900f90f218a5eeeb205c227e1262
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang-rt/test/CMakeLists.txt
Log Message:
-----------
[Flang-RT][test] Add flang-rt-mod dependency (#201297)
Flang-RT's tests require the modules since #198793. #171515 did not
account for this additional dependency.
Fixes #201254
Commit: 74f1c9417e916aed314fd429ce2faee49668ffa6
https://github.com/llvm/llvm-project/commit/74f1c9417e916aed314fd429ce2faee49668ffa6
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/AST/ASTContext.cpp
A clang/test/Modules/pr195905.cppm
Log Message:
-----------
[C++20] [Modules] Ask for definition before calling isInlineDefinitionExternallyVisible (#201291)
Close https://github.com/llvm/llvm-project/issues/195905
The root cause of the problem is, after decl merging, one of the
destructor for `base` (see test case) is chosen, and its body is not
deserialized for performance as we alreday see its body in current TU.
And then, the code call
FunctionDecl::isInlineDefinitionExternallyVisible from the destructor
without a serialized body, but
FunctionDecl::isInlineDefinitionExternallyVisible's implementation
requires to see a body. Then assertion failed.
Decl merging and function decl merging is common. We can't always make
sure we find the definition without checking. It is much more
fundamental. So the PR doesn't try to touch the decl merging mechanism
or how we handle the result of lookups.
We tried to fix the issue at the calling point to make sure we have a
definition for isInlineDefinitionExternallyVisible. Other use of
isInlineDefinitionExternallyVisible does the similar thing.
Commit: 1023990a57d5824a6fc2f7a899b8f36977bbcf66
https://github.com/llvm/llvm-project/commit/1023990a57d5824a6fc2f7a899b8f36977bbcf66
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Semantics/CMakeLists.txt
R flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/check-omp-variant.cpp
Log Message:
-----------
[flang][OpenMP] Rename check-omp-metadirective.cpp (NFC). (#201159)
Both METADIRECTIVE and DECLARE VARIANT fall into the "variant
directives" category, so check-omp-variant.cpp is a more accurate name
for the file that hosts their semantic checks.
Suggested in
https://github.com/llvm/llvm-project/pull/198799#issuecomment-4576970335
Commit: ceca0519375094ca3c950bbdc2b8bf3f79cdaf4b
https://github.com/llvm/llvm-project/commit/ceca0519375094ca3c950bbdc2b8bf3f79cdaf4b
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-fpr.ll
Log Message:
-----------
[AArch64] Fix arm64-zero-cycle-zeroing-fpr.ll check lines(NFC) (#200192)
Fix `mov`->`fmov` + add `--match-full-lines` to avoid such a pitfall
again.
Commit: 1a03c29cab6bc8c67023181cfdafbd5e0dbac815
https://github.com/llvm/llvm-project/commit/1a03c29cab6bc8c67023181cfdafbd5e0dbac815
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/asm-printer-check-vcc.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
M llvm/test/CodeGen/AMDGPU/phys-partial-liveness.mir
M llvm/test/CodeGen/AMDGPU/resource-usage-crash-unhandled-reg.mir
M llvm/test/CodeGen/AMDGPU/sched-image-sample-post-RA.mir
M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
M llvm/test/MC/AMDGPU/gfx11_asm_t16_err.s
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
Log Message:
-----------
[AMDGPU] Remove definition of hi16 for scalar registers (#197467)
The sub-register is not supported by the back-end pipelines and will
eventually cause an assert. With this change machine verifier can
enforce that hi16 is not being used. Asm parser is also updated to error
on invalid sub-registers, instead of asserting.
This is a follow up change on #188781.
Assisted-by: Claude Code
Commit: d27b4b6c1c15d3e99d35749cefcf296500b0944e
https://github.com/llvm/llvm-project/commit/d27b4b6c1c15d3e99d35749cefcf296500b0944e
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/cast-costs.ll
Log Message:
-----------
[LV][NFC] Add another case to cast-costs.ll test (#201117)
Commit: 75dece729ccdbae01e1d09d4adf9604ea1103905
https://github.com/llvm/llvm-project/commit/75dece729ccdbae01e1d09d4adf9604ea1103905
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/statically-constructed-objects.cpp
Log Message:
-----------
[clang-tidy] Avoid evaluating value-dependent static initializers in fuchsia-statically-constructed-objects (#201287)
Static data member initializers in class templates could crash the check
when they used non-type template parameters. This commit skips them
during analysis.
Closes https://github.com/llvm/llvm-project/issues/201110
Commit: 62eaec6c723129d0db2c2e7112fcf1579a94f0a6
https://github.com/llvm/llvm-project/commit/62eaec6c723129d0db2c2e7112fcf1579a94f0a6
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
Log Message:
-----------
[LV] Support partial reduce subs/fsubs without a mul operand (#199664)
This allows the `UpdateR(PrevValue, ext(...))` form for fsub/sub updates
(i.e, AddWithSub or Sub reductions). For sub reductions the
codegen/handling is identical to add reductions (with the sub handled
out of loop). For AddWithSub, reductions the sub is handled in-loop with
a NegatedExtendedReduction VP expression, which the encapsulates
`reduce.[f]add(neg(ext(op)))`.
Commit: 5d0074316a86de1019c5850584f5b5cdde9edefa
https://github.com/llvm/llvm-project/commit/5d0074316a86de1019c5850584f5b5cdde9edefa
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/div-rem-fast-path.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
Log Message:
-----------
[AMDGPU] Fix LowerDIVREM24 for the unsigned case (#196418)
This PR fixes the miscompilation bug found in
https://github.com/llvm/llvm-project/issues/194829.
The test revealed that there were missing checks for the unsigned case
in LowerDIVREM24. Without those checks, the optimization is wrongly
applied assuming that the division operands do fit in 24-bit integers,
triggering the miscompilation. One of the operands was 0xFFFFFFFF.
The bug is a regression introduced in
https://github.com/llvm/llvm-project/commit/81a709503d378c188462465918df161d664c4205.
The commit refactored the conditions that validated whether the
optimization could be applied. It moved them from each call site (signed
and unsigned cases) into the function, but missed the ones for the
unsigned case.
---------
Co-authored-by: Carlo Bertolli <carlo.bertolli at amd.com>
Commit: fb6153a65039b06319cb4b9ce2fafa84d75daa6b
https://github.com/llvm/llvm-project/commit/fb6153a65039b06319cb4b9ce2fafa84d75daa6b
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/ShrinkWrap.cpp
A llvm/test/CodeGen/RISCV/shrinkwrap-save-restore-fixed-reg.ll
Log Message:
-----------
[CodeGen] Fix ShrinkWrap crash when FindIDom receives empty predecessor/successor list (#198995)
When using `-msave-restore` with `-ffixed-x5` on RISC-V,
`canUseAsPrologue` returns false for all blocks because the save-restore
prologue requires t0 (x5) which is reserved. This causes the shrink-wrap
loop to keep searching for a valid save point, eventually reaching the
entry block. On the next iteration, it calls FindIDom with the entry
block's empty predecessor list, triggering an assertion in
findNearestCommonDominator.
Fix by returning nullptr from FindIDom when the block list is empty,
which signals the caller to stop searching and give up the optimization.
Fixes #166759
Commit: 1bde29e83bc4d077d9f553d89846c4eba402f3e6
https://github.com/llvm/llvm-project/commit/1bde29e83bc4d077d9f553d89846c4eba402f3e6
Author: Osman Yasar <osmanyas05 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-narrow-binop-feeding-add.mir
Log Message:
-----------
[GlobalISel] Add `combine_or_of_and` from SelectionDAG (#198754)
This PR adds the pattern `// fold or (and x, y), x --> x` from
SelectionDAG.
Commit: 4cfaaa679114c690edec268cb53d19d198c71bc2
https://github.com/llvm/llvm-project/commit/4cfaaa679114c690edec268cb53d19d198c71bc2
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
Log Message:
-----------
[NFC][mlir][bufferization] Remove getMemRefType() helper (#199034)
Replace getMemRefType() helper with a direct usage of
options.unknownTypeConverterFn() hook. This does not change any
behaviour since all the existing call-sites would already implicitly
call the hook. The major difference could have been in the handling of
the memref layout but this does not seem to be properly handled anyhow.
As the `getMemRefType()` helper is removed, there are two cases to keep
in mind for downstream users that need to adjust the code accordingly:
1. For creating memrefs without layouts, call
`options.unknownTypeConverterFn` hook directly (the same way this patch
is doing for upstream)
2. For creating memrefs with layouts (assuming, custom ones), please
(re)implement the same helper. As only ranked memrefs can have a layout,
a call to `mlir::MemRefType::get(shape, elementType, /*your custom
layout=*/myLayout, memorySpace)` should be sufficient.
Commit: 3419e724ad5d1cf027da971581ae31c36a9dec51
https://github.com/llvm/llvm-project/commit/3419e724ad5d1cf027da971581ae31c36a9dec51
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A bolt/docs/BOLTAArch64OptimizationStatus.rst
Log Message:
-----------
[AArch64][BOLT] Document AArch64 optimization flag support (#198282)
BOLTAArch64OptimizationStatus.rst aims to document default-off,
user-enabled passes and their status (supported/unsupported) on AArch64.
``--simplify-rodata-loads`` has a patch in review, so I have documented
its current status.
Discussion on RST/MD:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
Commit: 7496ee9be8d2d4467706615a975a4d61ccb3264d
https://github.com/llvm/llvm-project/commit/7496ee9be8d2d4467706615a975a4d61ccb3264d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/sincos.ll
Log Message:
-----------
[SLP][NFC]Add a test with non-vectorized sincos, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/201312
Commit: c958962c157b728e153b6232b800cbf556812545
https://github.com/llvm/llvm-project/commit/c958962c157b728e153b6232b800cbf556812545
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll
Log Message:
-----------
[LoopInterchange] Assume LCSSA PHI incoming value may not be instruction (#201069)
This patch fixes one of the assertion failures reported in #200819. The
root cause in this case is that `moveLCSSAPhis` assumes the incoming
values of LCSSA PHIs are always instructions and unconditionally casts
them to `Instruction`.
This assumption does not always hold, especially when the incoming value
is a constant. For such LCSSA PHI nodes, it's enough to merely replace
all the uses with its incoming value.
Commit: 94c0e6fb2536cb2c0dbd205fadd4a8e929388b1a
https://github.com/llvm/llvm-project/commit/94c0e6fb2536cb2c0dbd205fadd4a8e929388b1a
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/include/__locale
M libcxx/include/__locale_dir/messages.h
M libcxx/include/__locale_dir/money.h
M libcxx/test/libcxx/localization/locales/use_facet.abort.pass.cpp
A libcxx/test/libcxx/localization/nodiscard.verify.cpp
Log Message:
-----------
[libc++][locale] Applied `[[nodiscard]]` (#200726)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/localization
Remarks:
- Virtual functions are not marked `[[nodiscard]]` because they are not
expected to be directly called by users.
- `messages::open` is marked `[[nodiscard]]` because it is logically
similar to `operator new` and its friends.
Commit: e2efa2e958270e0f21d9db2aa9a393006c9d6d0b
https://github.com/llvm/llvm-project/commit/e2efa2e958270e0f21d9db2aa9a393006c9d6d0b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/phi-vectorization-budget.ll
Log Message:
-----------
[SLP] Gather wide PHI bundles to avoid compile-time blow-up
Vectorizing a PHI bundle recurses into one operand bundle per incoming
value, so the analysis cost grows with bundle_size * num_incoming_values.
With revectorization, very wide PHIs from jump threading make
opt -O3 hang for minutes/hours. Such PHIs are not profitable to vectorize,
so gather the bundle once that product exceeds a budget (new hidden option
-slp-phi-vectorization-budget, default 1024).
Fixes #201181
Reviewers: hiraditya, bababuck, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/201227
Commit: c7ecad5c289c67829d8d43013c9ac46bc92ae4e6
https://github.com/llvm/llvm-project/commit/c7ecad5c289c67829d8d43013c9ac46bc92ae4e6
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/DebuggerControllerBase.py
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/DextIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/LocIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/Inputs/header.h
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_function.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_line.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_file_paths.cpp
Log Message:
-----------
[Dexter] Add basic debugging support for structured scripts (#197418)
This patch adds a debugger controller for structured scripts. This
controller operates as follows:
- !where nodes at the root of the script (currently the only kind
allowed) have function or line breakpoints set to cover them.
- Whenever the debugger stops, the controller will examine the stack to
determine whether any !where nodes are in scope.
- While any !where is in scope, its associated !values will be evaluated
in the debugger and the results stored, and the debugger will
single-step.
- When no !where is in scope, the debugger will continue.
This is a simplified implementation compared to the final version, as it
is missing support for nested !where nodes, Scope evaluation, and
conditions/hit counts; these will be added in later commits.
Commit: 869be014cf9a02f26ad938cc40fa83dfb62e90f9
https://github.com/llvm/llvm-project/commit/869be014cf9a02f26ad938cc40fa83dfb62e90f9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
Log Message:
-----------
[AMDGPU] Diagnose unsupported permlane16/mov.dpp8/tanh intrinsics (#200585)
Commit: 2fabed5f49d950b669b9f9a5a624d61aa8bdeda0
https://github.com/llvm/llvm-project/commit/2fabed5f49d950b669b9f9a5a624d61aa8bdeda0
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
A llvm/test/CodeGen/SPIRV/cloned-funcs-metadata-oob.ll
Log Message:
-----------
[SPIR-V] Diagnose out-of-bounds argument index in function type metadata (#200601)
The argument index in spv.cloned_funcs/spv.mutated_callsites metadata
was used to index the parameter list with only a lower bound assert
Add boundaries check it and report_fatal_error rather than silently
miscompiling
Commit: 66ceecd18b654a4e94c70d2a8d7239114e2705cf
https://github.com/llvm/llvm-project/commit/66ceecd18b654a4e94c70d2a8d7239114e2705cf
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/asm-printer-check-vcc.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
M llvm/test/CodeGen/AMDGPU/phys-partial-liveness.mir
M llvm/test/CodeGen/AMDGPU/resource-usage-crash-unhandled-reg.mir
M llvm/test/CodeGen/AMDGPU/sched-image-sample-post-RA.mir
M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
M llvm/test/MC/AMDGPU/gfx11_asm_t16_err.s
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
Log Message:
-----------
Revert "[AMDGPU] Remove definition of hi16 for scalar registers" (#201309)
Reverts llvm/llvm-project#197467 as it causes a buildbot failure.
Commit: 90d907b54ca222271439467c5f42073625211fed
https://github.com/llvm/llvm-project/commit/90d907b54ca222271439467c5f42073625211fed
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.inst.ll
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[AMDGPU] Add llvm.amdgcn.s.prefetch.inst intrinsic (#192440)
- New intrinsic
- New SubtargetFeature for all s_prefetch_inst*/data*
- Support blockaddress
Commit: 8a81ecc4e7cfc3b63041cc28e620d339f1933cb6
https://github.com/llvm/llvm-project/commit/8a81ecc4e7cfc3b63041cc28e620d339f1933cb6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/avx512-trunc.ll
Log Message:
-----------
[X86] avx512-trunc.ll - add basic masked trunc coverage for #200617 (#201318)
Commit: d515a6e5381d967f81f5d18d1b2a7a3255b48dc6
https://github.com/llvm/llvm-project/commit/d515a6e5381d967f81f5d18d1b2a7a3255b48dc6
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/include/llvm-libc-types/CMakeLists.txt
Log Message:
-----------
[libc] Remove redundant file(COPY) for x86_64 types (#201317)
Removed the redundant file(COPY) command from the x86_64 architecture
check in libc/include/llvm-libc-types/CMakeLists.txt.
This command eagerly copies the x86_64 directory to the binary
directory, which is redundant because individual headers are already
copied by their respective add_header targets. It also preserved
read-only depot permissions from the source tree, making the build
directory read-only and causing rm -rf to fail.
Assisted-by: Automated tooling, human reviewed.
Commit: 7dc66bf2353d09a84dfa6aca70942b3902d94f6e
https://github.com/llvm/llvm-project/commit/7dc66bf2353d09a84dfa6aca70942b3902d94f6e
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/u_char.h
A libc/include/llvm-libc-types/u_int32_t.h
A libc/include/llvm-libc-types/uint.h
M libc/include/sys/types.yaml
Log Message:
-----------
[libc] Add BSD/SysV compatibility types to sys/types.h (#201314)
Added u_char, u_int32_t, and uint to sys/types.h. These types are
commonly used by legacy and compatibility-reliant libraries like libedit
and libcap.
Assisted-by: Automated tooling, human reviewed.
Commit: fb2233e688d089b1d7bf9a8032cd92a6de2ae213
https://github.com/llvm/llvm-project/commit/fb2233e688d089b1d7bf9a8032cd92a6de2ae213
Author: Luke Lau <luke at igalia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Move mask intrinsics out of VP section (#201282)
Somehow llvm.get.active.lane.mask and
llvm.loop.dependence.{war,raw}.mask ended up in the VP intrinsics
section of the LangRef. This PR pulls them out into a new "Vector Mask
Intrinsics" section.
Commit: f86688b3a16be15f7a50132d0497fcef6110afd1
https://github.com/llvm/llvm-project/commit/f86688b3a16be15f7a50132d0497fcef6110afd1
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/function-attr.ll
R llvm/test/Transforms/LoopInterchange/memory-attr.ll
Log Message:
-----------
[LoopInterchange] Rename test to `function-attr.ll` (NFC) (#201330)
The new name is more appropriate if we want to add further test cases.
Commit: 2ba8bebb270d64a486096b6258f8ea6f764a630c
https://github.com/llvm/llvm-project/commit/2ba8bebb270d64a486096b6258f8ea6f764a630c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/symbol.cpp
M flang/test/Semantics/OpenMP/requires-modfile.f90
Log Message:
-----------
[flang][OpenMP] Refactor interface of WithOmpDeclarative (#200876)
The two major changes are that:
1. The clause sets are not optional anymore. In the absence of any
declarative directives (REQUIRES in this case), the set will simply be
empty.
2. The optional memory order member will serve as the value of the
argument to the ATOMIC_DEFAULT_MEM_ORDER clause, and will only be
meaningful (and required) when the clause is a member of the clause set.
Additionally,
- Rename the RequiredClauses type alias to OmpClauseSet, since it will
be reused for other purposes in the future.
- Remove the has_* functions since they are not necessary, and when more
members are added these functions will only add to the clutter.
- Add a version_ member for printing directive/clause names.
Commit: 23172e419c567115a7a00e48debae327c502fe03
https://github.com/llvm/llvm-project/commit/23172e419c567115a7a00e48debae327c502fe03
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
[NFC][AMDGPU] Introduce AMDGPU::FlatAddrSpace enum to replace uint64_t FLAT discriminant (#200431)
This is the reapply of https://github.com/llvm/llvm-project/pull/200396 with renamed AMDGPU::FlatVariant to AMDGPU::FlatAddrSpace to avoid name conflict with function arguments (build error on gcc)
Replace the uint64_t parameter used as a FLAT address-space segment discriminant in isLegalFLATOffset, splitFlatOffset, allowNegativeFlatOffset with a typed enum class to prevent usage of raw TSFlags.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 8943bfbd08202aae1e85181082a1ec337e6a8b0b
https://github.com/llvm/llvm-project/commit/8943bfbd08202aae1e85181082a1ec337e6a8b0b
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
Log Message:
-----------
[AMDGPU] Do not scale private alloca size when using flat-scratch (#201142)
When using flat-scratch, the `scratch_load/scratch_store` instructions
scale the stack offset by the wavefront size on their own.
Scaling the alloca-size by the wave-front size lead to accesses outside
of the private-memory limit.
Commit: 0385a1b4e839ed35bf44bb5391999c3d48a8e2f7
https://github.com/llvm/llvm-project/commit/0385a1b4e839ed35bf44bb5391999c3d48a8e2f7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avg-mask.ll
M llvm/test/CodeGen/X86/avx512-trunc.ll
Log Message:
-----------
[X86] combineSelect - fold select(c,trunc(x),y) -> X86ISD::MTRUNC(x,y,c) for non-BWI targets (#201339)
Fixes #200617
Commit: 27fd70f849f417db18ac581457f0419332a7a1fa
https://github.com/llvm/llvm-project/commit/27fd70f849f417db18ac581457f0419332a7a1fa
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[clang][NFC] Introduce `LangOptions::isCompatibleWith(ClangABI)` (#201067)
This slightly improves readability and reduces the probability of
off-by-one errors.
Commit: 799af5d80d6335cd10de91506b6beb7c043278eb
https://github.com/llvm/llvm-project/commit/799af5d80d6335cd10de91506b6beb7c043278eb
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-vcnt.ll
Log Message:
-----------
[AArch64][GlobalISel] Add handling for cls intrinsic (#200440)
Neon intrinsic neon.cls wasn't linked to the generic node G_CTLS.
Add in this link in Legalisation (LegalizeIntrinsic), to allow the intrinsic to properly lower.
Commit: d67b41a20ca55b47f4d09bdba609fc305a9d2484
https://github.com/llvm/llvm-project/commit/d67b41a20ca55b47f4d09bdba609fc305a9d2484
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/clmul-vector.ll
Log Message:
-----------
[X86] Add clmul vector allones baseline tests for #200592 (#201321)
Commit: 906968b379d2d591299b677868e4364e0ea1b5a0
https://github.com/llvm/llvm-project/commit/906968b379d2d591299b677868e4364e0ea1b5a0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopInterchange/function-attr.ll
Log Message:
-----------
[LoopInterchange] Add tests for func attributes called in loops (NFC) (#201331)
LoopInterchange has special handling for call instructions. In general,
loops that contain call instructions are not legal to interchange, but
if a call satisfies certain conditions, we allow the interchange to
proceed. Currently, the legality checker only verifies whether the call
reads or writes memory. However, as pointed out in
https://github.com/llvm/llvm-project/pull/200828#issuecomment-4593914293,
we also need to ensure that the call does not diverge. Otherwise, an
illegal interchange may occur.
This patch adds test cases that demonstrate the issue, which will be
fixed in a follow-up patch.
Commit: b1d5d7e3237ac5be660f82c71ec7323d6db7b724
https://github.com/llvm/llvm-project/commit/b1d5d7e3237ac5be660f82c71ec7323d6db7b724
Author: John Brawn <john.brawn at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
Log Message:
-----------
[VPlan] Don't use the legacy cost model for loop conditions (#156864)
The current behaviour of using the legacy cost model for instructions
that compute the loop exit condition gets the wrong result when the loop
has been transformed to use a different exit condition, e.g. when have
tail-folded predicated vectorization the exit condition is based on the
predicate vector.
Fix this by adding cost computation for BranchOnCount and removing the
restriction on computing the cost for scalar ICmp/FCmp, and removing the
use of the legacy cost model for loop exit conditions.
This causes quite a lot of changes to expected output in tests. Some of
these are just changes to the -debug output, others are choosing a
different VF due to previously over or under-estimating the cost, and in
others the minimum trip count has changed as we now compute the cost for
compares in the middle block.
Commit: 0fd2402e94447ae9ae77e319cc8e312b97e5a30e
https://github.com/llvm/llvm-project/commit/0fd2402e94447ae9ae77e319cc8e312b97e5a30e
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M offload/ci/hip-tpl.py
Log Message:
-----------
[HIP] Remove explicit compiler-rt from bot recipe (#201329)
The same change was done to the AnnotatedBuilder script recently. Let's
keep them in sync.
https://github.com/llvm/llvm-zorg/pull/861
Commit: 52cf94a82eabfe70d417c17a3ab38736ded4938b
https://github.com/llvm/llvm-project/commit/52cf94a82eabfe70d417c17a3ab38736ded4938b
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
M llvm/test/CodeGen/AMDGPU/widen_extending_scalar_loads.ll
Log Message:
-----------
[AMDGPU] Drop !noundef when widening sub-DWORD constant loads (#201085)
The widened i32 load reads bytes outside the original sub-DWORD load, so
new op cannot claim !noundef
Commit: 70d62e1e10907e1bd6dd0e92968acbf6fe58af37
https://github.com/llvm/llvm-project/commit/70d62e1e10907e1bd6dd0e92968acbf6fe58af37
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
Log Message:
-----------
[Clang] Rework LTO mode selection to be a Toolchain property (#201155)
Summary:
Currently, the LTO mode is a property of the Driver, which makes sense
because it is used to set up phases. However, we currently have `-flto`
and `-foffload-lto`, which is a split that doesn't fully work with the
full context of a heterogenous compilation as it is 'all-or-nothing'.
This PR seeks to be mostly NFC for now, just moving the queries to a
per-toolchain interface rather than the static driver mode setting we
have right now. The *single* use of this before ToolChains are created
is for the Webassembly toolchain to set an include path. This is now
just a direct check on the flag, which is consistent. In the future they
could shift to fat LTO objects as well.
The main goal for the PR is to allow the GPU / Offloading toolchains to
specify their "real" LTO behavior. Right now SPIR-V and AMDGCN both
default to LTO, but rather than re-use the LTO handling we hack through
the driver phases to override it. Allowing this split would let us
heavily simplify this logic.
Co-authored-by: Cursor <cursoragent at cursor.com>
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 911eddeed7ba2359c953396afce934fee269f50e
https://github.com/llvm/llvm-project/commit/911eddeed7ba2359c953396afce934fee269f50e
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/include-omp-header.f90
M flang/test/lit.cfg.py
M openmp/module/CMakeLists.txt
Log Message:
-----------
[Flang] Fix omp_lib.h location and search path (#201104)
Before this PR, omp_lib.h is emitted to `${PREFIX}/include` or
`${PREFIX}/lib/clang/<version>/include` (install prefix) and
`${PREFIX}/runtime/src/omp_lib.h` (builddir prefix). It is never found
there because the driver only adds `${PREFIX}/include/flang/OpenMP` to
the include path.
Fix the `omp_lib.h` include by using the same mechanism as the
omp_lib.mod; that is, move it to
`${PREFIX}/lib/clang/<version>/finclude/flang/<target-triple>`. The
search path is already added by the driver via
`-fintrinsics-modules-path` by the driver. Although omp_lib.h currently
does not contain anything target-specific, it could do so in the future
and I don't think it is worth the effort to add a mechanism without the
target triple. It should also me consistent with omp_lib.mod.
The changes in detail consist of:
1. Move the omp_lib.h output in the builddir to
`${RUNTIMES_OUTPUT_RESOURCE_MOD_DIR}`. This already takes care of
whether it is a bootstrapping build or not.
3. Move the omp_lib.h install dir to
`${RUNTIMES_INSTALL_RESOURCE_MOD_PATH}`.
4. Remove the implicit search path `include/flang/OpenMP` from the
frontend. There is nothing in there anyway.
5. Hardcoding the include search path for testing to the
`LLVM_RUNTIME_TARGETS=default` build becomes unnecessary. This was way
the `include-omp-header.f90` test was still passing, although it would
not work outside the regression tests. Essentially, it tested
lit.site.cfg, not the driver.
6. Replace the old `include-omp-header.f90` test. It created a temporary
`omp_lib.h` that interferes with any other test that use `include
omp_lib.h` (there currently isn't but I originally intended to add the
replacement as an additional omp_lib.h test which resulted in a flaky
test while the original test was there). Due to how the %flang(_fc1)
substitution works, lookup order may also vary.
Commit: e5332f3ea1766a0cfaa1a50a4db9f78c9d39cd3b
https://github.com/llvm/llvm-project/commit/e5332f3ea1766a0cfaa1a50a4db9f78c9d39cd3b
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/lib/MC/GOFFObjectWriter.cpp
Log Message:
-----------
[SystemZ][GOFF] Implement reset() for GOFFObjectWriter (#201197)
The reset() methods is used to free memory before the object is
destructed or reused. This change adds this functionality to the GOFF
writer.
Commit: 1fe00721465de9abadf87c53fcf89eebe1040fe3
https://github.com/llvm/llvm-project/commit/1fe00721465de9abadf87c53fcf89eebe1040fe3
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M .ci/green-dragon/lldb-windows.groovy
M .clang-format-ignore
M .github/CODEOWNERS
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/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.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
A bolt/docs/BOLTAArch64OptimizationStatus.rst
M bolt/docs/profiles.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/SplitFunctions.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/AArch64/veneer-erratum-843419.s
M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
A bolt/test/X86/dwarf5-dwp-tsan-data-race.test
M bolt/test/X86/nolbr.s
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/perf2bolt/lit.local.cfg
A bolt/test/perf2bolt/perf_brstack.test
M bolt/test/perf2bolt/perf_test.test
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/heatmap.cpp
A clang-tools-extra/Maintainers.md
R clang-tools-extra/Maintainers.rst
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.h
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.h
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/Headers.h
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/StdLib.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolID.h
M clang-tools-extra/clangd/index/dex/Token.h
M clang-tools-extra/clangd/index/dex/Trigram.h
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/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
A clang-tools-extra/docs/Maintainers.md
R clang-tools-extra/docs/Maintainers.rst
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/missing-end-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-default-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
M clang-tools-extra/docs/conf.py
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/algorithm
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/iterator
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx17.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx98.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
A clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/statically-constructed-objects.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
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-default-member-init/non-visible-references.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-non-visible-references-notes.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-non-visible-references.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp
R clang/.clang-format-ignore
M clang/CMakeLists.txt
M clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake
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/APValue.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTTypeTraits.h
M clang/include/clang/AST/BaseSubobject.h
M clang/include/clang/AST/CharUnits.h
M clang/include/clang/AST/Comment.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/TypeOrdering.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
M clang/include/clang/Analysis/AnalysisDeclContext.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Analysis/CallGraph.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/Formula.h
M clang/include/clang/Analysis/PathDiagnostic.h
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/Analysis/RetainSummaryManager.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/DarwinSDKInfo.h
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/FileManager.h
R clang/include/clang/Basic/FileSystemStatCache.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/DependencyScanning/DependencyGraph.h
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/Driver.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Driver/Types.def
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/Weak.h
M clang/include/clang/Serialization/ASTBitCodes.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/include/clang/Tooling/Inclusions/StandardLibrary.h
M clang/include/module.modulemap
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/AttrImpl.cpp
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/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
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/ByteCode/Program.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ProgramPoint.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/FileManager.cpp
R clang/lib/Basic/FileSystemStatCache.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCMacConstantLiteralUtil.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/X86.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/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
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/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.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
M clang/lib/Tooling/Tooling.cpp
A clang/test/AST/ByteCode/blocks.cpp
M clang/test/AST/ByteCode/c.c
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/invalid.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/records.cpp
A clang/test/AST/ast-print-amdgcn-predicate.c
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
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
M clang/test/Analysis/bstring_UninitRead.c
M clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/initialization.c
M clang/test/Analysis/initialization.cpp
M clang/test/CIR/CodeGen/bitfield-union.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
A clang/test/CIR/CodeGen/cleanup-derived-to-base-ref.cpp
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/complex-atomic-cast.c
A clang/test/CIR/CodeGen/compound_literal.c
M clang/test/CIR/CodeGen/constant-inits.cpp
A clang/test/CIR/CodeGen/coro-exceptions.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/ctor-null-init.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/cxx-abi-lowering-string-array.cpp
M clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dumb-record.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
M clang/test/CIR/CodeGen/empty-union.c
M clang/test/CIR/CodeGen/empty-union.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
M clang/test/CIR/CodeGen/forward-decls.cpp
A clang/test/CIR/CodeGen/func-linkage-weak-import.c
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-dtor-union-narrowed.cpp
M clang/test/CIR/CodeGen/global-init.cpp
A clang/test/CIR/CodeGen/global-temp-dtor.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
A clang/test/CIR/CodeGen/inline-forward-decl.c
M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/mms-bitfields.c
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/no-proto-fn-ptr-global-init.c
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/record-type-metadata.cpp
M clang/test/CIR/CodeGen/record-with-padded-union.cpp
M clang/test/CIR/CodeGen/record-zero-init-padding.c
M clang/test/CIR/CodeGen/self-ref-temporaries.cpp
M clang/test/CIR/CodeGen/static-members.cpp
M clang/test/CIR/CodeGen/struct.c
A clang/test/CIR/CodeGen/switch-cleanup.cpp
M clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/three-way-cmp.cpp
M clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/union.cpp
M clang/test/CIR/CodeGen/var_arg.c
M clang/test/CIR/CodeGen/variable-template-specialization.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/vtable-nyi-nonconvertible-functype.cpp
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvp2intersect-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vp2intersect-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
A clang/test/CIR/CodeGenBuiltins/builtin-sync_synchronize.c
M clang/test/CIR/CodeGenCXX/global-refs.cpp
M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
M clang/test/CIR/CodeGenCXX/zero_init_bases.cpp
M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
A clang/test/CIR/CodeGenHIP/device-var-registration.hip
A clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
M clang/test/CIR/CodeGenOpenCL/as_type.cl
M clang/test/CIR/IR/array-ctor.cir
M clang/test/CIR/IR/array-dtor.cir
M clang/test/CIR/IR/bitfield_info.cir
M clang/test/CIR/IR/construct-catch-param.cir
M clang/test/CIR/IR/copy.cir
M clang/test/CIR/IR/dynamic-cast.cir
M clang/test/CIR/IR/func-attrs.cir
M clang/test/CIR/IR/func.cir
M clang/test/CIR/IR/global-init.cir
M clang/test/CIR/IR/invalid-array-structor.cir
M clang/test/CIR/IR/invalid-cast.cir
M clang/test/CIR/IR/invalid-const-record.cir
M clang/test/CIR/IR/invalid-construct-catch-param.cir
M clang/test/CIR/IR/invalid-data-member.cir
M clang/test/CIR/IR/invalid-delete-array.cir
M clang/test/CIR/IR/invalid-dyn-cast.cir
A clang/test/CIR/IR/invalid-lifetime.cir
M clang/test/CIR/IR/invalid-struct.cir
M clang/test/CIR/IR/invalid-type-info.cir
M clang/test/CIR/IR/invalid-vtable.cir
A clang/test/CIR/IR/lifetime.cir
M clang/test/CIR/IR/method-attr.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/IR/vtable-addrpt.cir
M clang/test/CIR/IR/vtable-attr.cir
M clang/test/CIR/IR/vtt-addrpoint.cir
A clang/test/CIR/Lowering/call-llvm-intrinsic.cir
M clang/test/CIR/Lowering/cast.cir
A clang/test/CIR/Lowering/lifetime.cir
M clang/test/CIR/Lowering/struct.cir
M clang/test/CIR/Lowering/vtt-addrpoint.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-vector-to-complex.cir
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
M clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir
M clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir
M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
M clang/test/CIR/Transforms/flatten-throwing-in-cleanup.cir
M clang/test/CIR/Transforms/flatten-try-op.cir
M clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
A clang/test/CXX/basic/basic.link/p11.cpp
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/AArch64/f16f32dot-intrinsics.c
A clang/test/CodeGen/AArch64/mskernel-interlocked.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_fp_int_cvtn_x2.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_int_fp_cvt.c
M clang/test/CodeGen/RISCV/riscv-cf-protection.c
A clang/test/CodeGen/SystemZ/stack-guard-global-option.c
A clang/test/CodeGen/SystemZ/zos-abi.c
A clang/test/CodeGen/SystemZ/zos-abi.cpp
A clang/test/CodeGen/X86/mskernel-interlocked.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/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
M clang/test/CodeGen/construction-vtable-visibility.cpp
M clang/test/CodeGen/lto-newpm-pipeline.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/promoted-complex-div.c
M clang/test/CodeGen/push-hidden-visibility-subclass.cpp
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/split-lto-unit-input.cpp
M clang/test/CodeGen/stack-clash-protection.c
M clang/test/CodeGen/target-data.c
A clang/test/CodeGen/wrapv.c
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/atomic-options.hip
M clang/test/CodeGenCUDA/builtins-amdgcn.cu
M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
M clang/test/CodeGenCUDA/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/amdgcn-func-arg.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/cfi-vcall-trap-recover-runtime.cpp
M clang/test/CodeGenCXX/ctor-dtor-alias.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.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/CodeGenHIP/placement-new-addrspace.hip
A clang/test/CodeGenHIP/profile-coverage-mapping.hip
A clang/test/CodeGenHLSL/builtins/splitdouble_mat.hlsl
A clang/test/CodeGenHLSL/resources/res-array-global-to-local.hlsl
M clang/test/CodeGenHLSL/resources/res-array-local2.hlsl
M clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
A clang/test/CodeGenHLSL/resources/resources-in-structs-array-to-local.hlsl
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenSYCL/kernel-caller-entry-point.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
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
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
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/split-debug.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/Frontend/spirv-target-validation.c
M clang/test/Headers/amdgcn-openmp-device-math-complex.c
M clang/test/Headers/hip-header.hip
A clang/test/Modules/pr195905.cppm
M clang/test/Modules/vtable-windows.cppm
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
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/OffloadTools/clang-sycl-linker/triple.ll
M clang/test/OpenMP/amdgcn_target_device_vla.cpp
M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
M clang/test/OpenMP/target_vtable_codegen_explicit.cpp
A clang/test/PCH/friend-template-spec-redecl.cpp
M clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
M clang/test/Sema/aarch64-neon-immediate-ranges/dotprod.c
M clang/test/Sema/alloc-size.c
M clang/test/Sema/attr-nonnull.c
M clang/test/Sema/constexpr.c
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-lifetimebound.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/SemaCUDA/addr-of-overloaded-fn.cu
A clang/test/SemaCUDA/addr-of-overloaded-template-fn.cu
M clang/test/SemaCXX/builtin-bit-cast.cpp
M clang/test/SemaCXX/constant-expression-cxx14.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/SemaCXX/typeof.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/SemaOpenACC/combined-construct-copy-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-present-ast.cpp
M clang/test/SemaOpenACC/combined-construct-private-firstprivate-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/data-construct-create-ast.cpp
M clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
M clang/test/SemaOpenACC/data-construct-present-ast.cpp
M clang/test/SemaOpenACC/sub-array-ast.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-cooperative-atomics.cl
M clang/test/SemaTemplate/alias-templates.cpp
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/test/SemaTemplate/concepts-using-decl.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
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/tools/libclang/CXCursor.cpp
M clang/tools/libclang/Indexing.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
A clang/unittests/AST/ByteCode/Pointer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/CIR/PointerLikeTest.cpp
M clang/unittests/CIR/RecordTypeMetadataTest.cpp
M clang/unittests/CIR/UnionTypeSizeTest.cpp
M clang/unittests/DependencyScanning/DependencyScanningFilesystemTest.cpp
M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
M clang/unittests/Format/FormatTestVerilog.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/utils/TableGen/SveEmitter.cpp
M clang/utils/perf-training/lit.site.cfg.in
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.cpp
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_malloc_mac.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/asan/asan_new_delete.cpp
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
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/builtins/ppc/init_ifuncs.c
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
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_mac.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/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/mem_map_linux.cpp
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/report_linux.cpp
M compiler-rt/lib/scudo/standalone/report_linux.h
M compiler-rt/lib/scudo/standalone/secondary.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/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.cpp
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.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 cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/DebuggerControllerBase.py
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/DextIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/LocIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/Inputs/header.h
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_function.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_line.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_file_paths.cpp
M cross-project-tests/dtlto/dtlto-cache.test
M cross-project-tests/dtlto/savetemps-lock.test
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
M flang-rt/lib/runtime/io-api-server.cpp
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/docs/FortranStandardsSupport.md
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Lower/IterationSpace.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Support/LangOptions.def
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/MultiImageFortran.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Support/Utils.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/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.cpp
R flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/check-omp-variant.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.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
A flang/test/Driver/function-sections.f90
M flang/test/Driver/include-omp-header.f90
M flang/test/Driver/intrinsic-module-path_per_target.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/pp-fixed-form.f90
M flang/test/Fir/array-coor-canonicalization.fir
M flang/test/Fir/basic-program.fir
A flang/test/HLFIR/opt-bufferization-dealloc-conflict.fir
A flang/test/HLFIR/order_assignments/where-allocatable-base.f90
A flang/test/HLFIR/separate-allocatable-assign.fir
A flang/test/Integration/OpenMP/atomic-capture-release.f90
M flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Integration/OpenMP/workshare-axpy.f90
A flang/test/Integration/function-sections.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/MIF/coarray_allocation.f90
R flang/test/Lower/OpenMP/Todo/begin-metadirective.f90
R flang/test/Lower/OpenMP/Todo/dyn-groupprivate-clause.f90
A flang/test/Lower/OpenMP/Todo/metadirective-declarative.f90
A flang/test/Lower/OpenMP/Todo/metadirective-dynamic.f90
R flang/test/Lower/OpenMP/Todo/metadirective-exec.f90
A flang/test/Lower/OpenMP/Todo/metadirective-loop.f90
R flang/test/Lower/OpenMP/Todo/metadirective-spec.f90
A flang/test/Lower/OpenMP/Todo/metadirective-structured-trait-property.f90
A flang/test/Lower/OpenMP/Todo/metadirective-target-device.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/composite_simd_linear.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/distribute-simd.f90
A flang/test/Lower/OpenMP/dyn-groupprivate-clause.f90
M flang/test/Lower/OpenMP/linear_modifier.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
A flang/test/Lower/OpenMP/metadirective-construct.f90
A flang/test/Lower/OpenMP/metadirective-device-arch.f90
A flang/test/Lower/OpenMP/metadirective-device-isa.f90
A flang/test/Lower/OpenMP/metadirective-device-kind.f90
A flang/test/Lower/OpenMP/metadirective-implementation.f90
A flang/test/Lower/OpenMP/metadirective-nothing.f90
A flang/test/Lower/OpenMP/metadirective-user.f90
M flang/test/Lower/OpenMP/ordered-simd.f90
M flang/test/Lower/OpenMP/private-derived-type.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/OpenMP/wsloop-simd.f90
M flang/test/Lower/call-copy-in-out.f90
A flang/test/Lower/component-wise-init.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
A flang/test/Lower/intrinsic-module-array-constant.f90
M flang/test/Lower/pointer-default-init.f90
A flang/test/Lower/typeof-classof.f90
M flang/test/Lower/where-loc.f90
M flang/test/Parser/bug2280.f90
A flang/test/Parser/compiler-directive-in-interface.f90
A flang/test/Parser/typeof-classof-attrs.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/Inputs/device_modfile01_a.mod
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
A flang/test/Semantics/OpenMP/declare-variant-match.f90
M flang/test/Semantics/OpenMP/declare-variant.f90
R flang/test/Semantics/OpenMP/detach-symbols.f90
A flang/test/Semantics/OpenMP/linear-clause-array-section.f90
M flang/test/Semantics/OpenMP/metadirective-common.f90
M flang/test/Semantics/OpenMP/requires-modfile.f90
M flang/test/Semantics/bug163242.f90
M flang/test/Semantics/bug164303.f90
M flang/test/Semantics/bug2021.f90
A flang/test/Semantics/cuf-missing-intrinsic-modules.cuf
A flang/test/Semantics/device-modfile01.f90
A flang/test/Semantics/device-modfile02.f90
A flang/test/Semantics/typeof-classof-errors.f90
A flang/test/Semantics/typeof-classof.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/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
A libc/cmake/modules/compiler_features/check_stdc_fenv_access.cpp
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
M libc/docs/porting.rst
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_in6_addr.h
A libc/hdr/types/struct_udphdr.h
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/limits.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/inet-address-macros.h
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/llvm-libc-macros/netinet-in-macros.h
A libc/include/llvm-libc-macros/sys-param-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_in6_addr.h
A libc/include/llvm-libc-types/struct_udphdr.h
A libc/include/llvm-libc-types/u_char.h
A libc/include/llvm-libc-types/u_int32_t.h
A libc/include/llvm-libc-types/uint.h
M libc/include/math.yaml
M libc/include/netinet/in.yaml
A libc/include/netinet/tcp.yaml
A libc/include/netinet/udp.yaml
A libc/include/sys/param.yaml
M libc/include/sys/types.yaml
M libc/include/unistd.yaml
M libc/include/wchar.yaml
M libc/include/wctype.yaml
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/cstddef.h
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.h
M libc/src/__support/block.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/freestore.h
M libc/src/__support/math/acos.h
M libc/src/__support/math/asin.h
M libc/src/__support/math/asin_utils.h
M libc/src/__support/math/asinpi.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atan_utils.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/expxf16_utils.h
M libc/src/__support/math/hypotf16.h
M libc/src/__support/math/log.h
M libc/src/__support/math/log10.h
M libc/src/__support/math/log1p.h
M libc/src/__support/math/log2.h
M libc/src/__support/math/log_range_reduction.h
M libc/src/__support/math/range_reduction_double_common.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sincos.h
M libc/src/__support/math/sincos_eval.h
M libc/src/__support/math/tan.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
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/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.cpp
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoumax.cpp
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
M libc/src/stdlib/qsort_data.h
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/unistd/linux/alarm.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/swprintf.cpp
A libc/src/wchar/swprintf.h
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/src/wctype/wctype.cpp
R libc/src/wctype/wctype.h
A libc/src/wctype/wctype_impl.h
M libc/test/CMakeLists.txt
M libc/test/UnitTest/LibcTest.h
M libc/test/include/CMakeLists.txt
A libc/test/include/unistd_macros_test.cpp
M libc/test/integration/src/__support/GPU/CMakeLists.txt
M libc/test/shared/CMakeLists.txt
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/FPUtil/comparison_operations_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
M libc/test/src/__support/wctype/CMakeLists.txt
M libc/test/src/__support/wctype_utils_test.cpp
M libc/test/src/math/acos_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
A libc/test/src/netinet/CMakeLists.txt
A libc/test/src/netinet/in_test.cpp
A libc/test/src/netinet/udp_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/unistd/sysconf_test.cpp
M libc/test/src/wchar/CMakeLists.txt
M libc/test/src/wchar/WcstolTest.h
A libc/test/src/wchar/swprintf_test.cpp
M libc/test/src/wctype/CMakeLists.txt
M libc/test/src/wctype/iswctype_test.cpp
M libc/test/src/wctype/iswprint_test.cpp
A libc/test/src/wctype/towlower_test.cpp
A libc/test/src/wctype/towupper_test.cpp
M libc/test/src/wctype/wctype_test.cpp
M libc/utils/docgen/arpa/inet.yaml
A libc/utils/docgen/netinet/tcp.yaml
M libclc/CMakeLists.txt
M libclc/README.md
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/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__bit/byteswap.h
M libcxx/include/__configuration/namespace.h
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__iterator/capacity_aware_iterator.h
M libcxx/include/__iterator/erase_if_container.h
M libcxx/include/__iterator/static_bounded_iter.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/messages.h
M libcxx/include/__locale_dir/money.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__node_handle
A libcxx/include/__ranges/concat_view.h
M libcxx/include/__tree
M libcxx/include/__type_traits/conditional.h
M libcxx/include/__type_traits/integer_traits.h
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/is_constant_evaluated.h
M libcxx/include/__type_traits/is_within_lifetime.h
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/__utility/default_three_way_comparator.h
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
M libcxx/include/__utility/try_key_extraction.h
M libcxx/include/map
M libcxx/include/module.modulemap.in
M libcxx/include/ranges
M libcxx/include/shared_mutex
M libcxx/include/span
M libcxx/include/version
M libcxx/modules/std/ranges.inc
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
M libcxx/test/libcxx/atomics/builtin_clear_padding.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/array/nodiscard.iterator.verify.cpp
M libcxx/test/libcxx/localization/locales/use_facet.abort.pass.cpp
A libcxx/test/libcxx/localization/nodiscard.verify.cpp
A libcxx/test/libcxx/ranges/range.adaptors/range.concat/iterator.valueless_by_exception.pass.cpp
A libcxx/test/libcxx/ranges/range.adaptors/range.concat/nodiscard.verify.cpp
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/libcxx/type_traits/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/optional/nodiscard.iterator.verify.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
M libcxx/test/std/containers/associative/from_range_associative_containers.h
M libcxx/test/std/containers/associative/map/compare.pass.cpp
M libcxx/test/std/containers/associative/map/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/at.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/size.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/map/types.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
M libcxx/test/std/containers/container.node/node_handle.pass.cpp
M libcxx/test/std/containers/insert_range_maps_sets.h
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp
R libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
M libcxx/test/std/numerics/bit/byteswap.pass.cpp
A libcxx/test/std/numerics/bit/byteswap.verify.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/adaptor.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/begin.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/constraints.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/ctad.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/ctor.default.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/ctor.views.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/end.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/arithmetic.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/compare.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/ctor.default.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/ctor.other.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/decrement.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/deref.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/increment.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/iter_move.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/iter_swap.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/member_types.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/iterator/subscript.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/size.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.concat/types.h
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/uninitialized_fill_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/uninitialized_fill.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp
M libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.verify.cpp
A libcxx/test/support/CopyConstructible.h
M libcxx/test/support/is_transparent.h
M libcxx/test/support/nasty_string.h
M libcxx/test/support/private_constructor.h
M libcxx/utils/generate_feature_test_macro_components.py
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/detail/get_device_kernel_info.hpp
A libsycl/include/sycl/__impl/detail/kernel_arg_helpers.hpp
A libsycl/include/sycl/__impl/detail/unified_range_view.hpp
A libsycl/include/sycl/__impl/index_space_classes.hpp
M libsycl/include/sycl/__impl/queue.hpp
A libsycl/include/sycl/__spirv/spirv_vars.hpp
M libsycl/include/sycl/sycl.hpp
M libsycl/src/detail/global_objects.cpp
M libsycl/src/detail/program_manager.cpp
M libsycl/src/detail/program_manager.hpp
M libsycl/src/detail/queue_impl.cpp
M libsycl/src/detail/queue_impl.hpp
M libsycl/src/queue.cpp
A libsycl/test/basic/get_backend.cpp
A libsycl/test/basic/parallel_for_indexers.cpp
A libsycl/test/basic/queue_parallel_for_generic.cpp
A libsycl/test/basic/submit_fn_ptr.cpp
A libsycl/test/basic/wrapped_usm_pointers.cpp
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/LTO.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/LTO.cpp
M lld/ELF/LinkerScript.cpp
M lld/MachO/ConcatOutputSection.h
M lld/docs/ReleaseNotes.rst
M lld/test/COFF/arm64-relocs-imports.test
M lld/test/ELF/dtlto/timetrace.test
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 lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/devirt_vcall_vis_public.ll
M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
M lld/wasm/Config.h
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
M lldb/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
M lldb/cmake/caches/Apple-lldb-macOS.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/conf.py
M lldb/docs/dil-expr-lang.ebnf
M lldb/docs/resources/lldbgdbremote.md
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Host/Config.h.cmake
M lldb/include/lldb/Host/FileBase.h
M lldb/include/lldb/Host/HostThread.h
M lldb/include/lldb/Host/PseudoTerminal.h
A lldb/include/lldb/Host/ScriptInterpreterRuntimeLoader.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
M lldb/include/lldb/Symbol/Symbol.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
A lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
M lldb/include/lldb/Utility/ConstString.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/include/lldb/Utility/GDBRemote.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/include/lldb/Utility/UUID.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/module.modulemap
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/File.cpp
M lldb/source/Host/common/PseudoTerminal.cpp
A lldb/source/Host/common/PythonRuntimeLoader.cpp
A lldb/source/Host/common/PythonRuntimeLoaderInternal.h
A lldb/source/Host/common/ScriptInterpreterRuntimeLoader.cpp
A lldb/source/Host/linux/PythonRuntimeLoaderLinux.cpp
A lldb/source/Host/macosx/PythonRuntimeLoaderDarwin.cpp
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/FileWindows.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
A lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
A lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.cpp
A lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.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/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.cpp
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.h
R lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.cpp
R lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/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/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
M lldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.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/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
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
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
A lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/StringExtractorGDBRemote.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
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/apropos/formatting/TestAproposFormatting.py
M lldb/test/API/commands/expression/expr_inside_lambda/TestExprInsideLambdas.py
M lldb/test/API/commands/expression/multiline-completion/TestMultilineCompletion.py
M lldb/test/API/commands/expression/multiline-navigation/TestMultilineNavigation.py
M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/TestFrameVarDILBitwise.py
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/main.cpp
M lldb/test/API/commands/gui/basic/TestGuiBasic.py
M lldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
M lldb/test/API/commands/gui/breakpoints/TestGuiBreakpoints.py
M lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
M lldb/test/API/commands/gui/spawn-threads/TestGuiSpawnThreads.py
M lldb/test/API/commands/gui/viewlarge/TestGuiViewLarge.py
M lldb/test/API/functionalities/thread/jump/TestThreadJump.py
M lldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
M lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py
M lldb/test/API/iohandler/resize/TestIOHandlerResize.py
M lldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py
M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
M lldb/test/API/iohandler/stdio/TestIOHandlerProcessSTDIO.py
M lldb/test/API/iohandler/unicode/TestUnicode.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
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/macosx/branch-islands/Makefile
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/interpreter/TestCommandInterpreterAPI.py
M lldb/test/API/python_api/run_locker/TestRunLocker.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/qemu/TestQemuLaunch.py
M lldb/test/API/repl/clang/TestClangREPL.py
M lldb/test/API/terminal/TestDisabledBreakpoints.py
M lldb/test/API/terminal/TestEditline.py
M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.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
R lldb/test/Shell/Commands/process-attach-dummy.test
A lldb/test/Shell/Process/Windows/output_debug_string.cpp
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
A lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas-msvc.cpp
A lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp
A lldb/test/Shell/lldb-server/TestGdbserverErrorDarwin.test
M lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test
M lldb/tools/debugserver/source/DNB.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/ProtocolUtils.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/tools/lldb-server/lldb-server.cpp
M lldb/unittests/Core/MangledTest.cpp
M lldb/unittests/Host/CMakeLists.txt
A lldb/unittests/Host/PythonRuntimeLoaderTest.cpp
M lldb/unittests/Symbol/TestType.cpp
M lldb/unittests/Target/MemoryTest.cpp
M lldb/utils/lldb-dotest/CMakeLists.txt
M lldb/utils/lldb-dotest/lldb-dotest.in
M llvm/Maintainers.md
M llvm/cmake/modules/AddLLVM.cmake
M llvm/docs/AMDGPU/AMDGPUAsmGFX12.rst
R llvm/docs/AMDGPU/gfx12_addr.rst
R llvm/docs/AMDGPU/gfx12_attr.rst
R llvm/docs/AMDGPU/gfx12_clause.rst
R llvm/docs/AMDGPU/gfx12_data0_56f215.rst
R llvm/docs/AMDGPU/gfx12_data0_6802ce.rst
R llvm/docs/AMDGPU/gfx12_data0_e016a1.rst
R llvm/docs/AMDGPU/gfx12_data0_fd235e.rst
R llvm/docs/AMDGPU/gfx12_data1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_data1_731030.rst
R llvm/docs/AMDGPU/gfx12_data1_e016a1.rst
R llvm/docs/AMDGPU/gfx12_data1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_delay.rst
R llvm/docs/AMDGPU/gfx12_hwreg.rst
R llvm/docs/AMDGPU/gfx12_imm16.rst
R llvm/docs/AMDGPU/gfx12_ioffset.rst
R llvm/docs/AMDGPU/gfx12_label.rst
R llvm/docs/AMDGPU/gfx12_literal_1f74c7.rst
R llvm/docs/AMDGPU/gfx12_literal_81e671.rst
R llvm/docs/AMDGPU/gfx12_m.rst
A llvm/docs/AMDGPU/gfx12_operands.rst
R llvm/docs/AMDGPU/gfx12_rsrc_5fe6d8.rst
R llvm/docs/AMDGPU/gfx12_rsrc_c9f929.rst
R llvm/docs/AMDGPU/gfx12_saddr_cdc95c.rst
R llvm/docs/AMDGPU/gfx12_saddr_d42b64.rst
R llvm/docs/AMDGPU/gfx12_samp.rst
R llvm/docs/AMDGPU/gfx12_sbase_453b95.rst
R llvm/docs/AMDGPU/gfx12_sbase_47adb7.rst
R llvm/docs/AMDGPU/gfx12_sdata_0974a4.rst
R llvm/docs/AMDGPU/gfx12_sdata_354189.rst
R llvm/docs/AMDGPU/gfx12_sdata_4585b8.rst
R llvm/docs/AMDGPU/gfx12_sdata_5c7b50.rst
R llvm/docs/AMDGPU/gfx12_sdata_6c003b.rst
R llvm/docs/AMDGPU/gfx12_sdata_836716.rst
R llvm/docs/AMDGPU/gfx12_sdata_d725ab.rst
R llvm/docs/AMDGPU/gfx12_sdata_dd9dd8.rst
R llvm/docs/AMDGPU/gfx12_sdst_006c40.rst
R llvm/docs/AMDGPU/gfx12_sdst_20064d.rst
R llvm/docs/AMDGPU/gfx12_sdst_354189.rst
R llvm/docs/AMDGPU/gfx12_sdst_836716.rst
R llvm/docs/AMDGPU/gfx12_sdst_ced58d.rst
R llvm/docs/AMDGPU/gfx12_sdst_e701cc.rst
R llvm/docs/AMDGPU/gfx12_sendmsg.rst
R llvm/docs/AMDGPU/gfx12_sendmsg_rtn.rst
R llvm/docs/AMDGPU/gfx12_simm16_15ccdd.rst
R llvm/docs/AMDGPU/gfx12_simm16_218bea.rst
R llvm/docs/AMDGPU/gfx12_simm16_39b593.rst
R llvm/docs/AMDGPU/gfx12_simm16_3d2a4f.rst
R llvm/docs/AMDGPU/gfx12_simm16_730a13.rst
R llvm/docs/AMDGPU/gfx12_simm16_7ed651.rst
R llvm/docs/AMDGPU/gfx12_simm16_81e671.rst
R llvm/docs/AMDGPU/gfx12_simm16_c98889.rst
R llvm/docs/AMDGPU/gfx12_simm16_cc1716.rst
R llvm/docs/AMDGPU/gfx12_simm16_ee8b30.rst
R llvm/docs/AMDGPU/gfx12_soffset_8ec073.rst
R llvm/docs/AMDGPU/gfx12_soffset_c5b88c.rst
R llvm/docs/AMDGPU/gfx12_soffset_ec005a.rst
R llvm/docs/AMDGPU/gfx12_src0_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src0_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src0_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src0_85aab6.rst
R llvm/docs/AMDGPU/gfx12_src0_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src0_e016a1.rst
R llvm/docs/AMDGPU/gfx12_src0_fd235e.rst
R llvm/docs/AMDGPU/gfx12_src1_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src1_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src1_731030.rst
R llvm/docs/AMDGPU/gfx12_src1_977794.rst
R llvm/docs/AMDGPU/gfx12_src1_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src1_e016a1.rst
R llvm/docs/AMDGPU/gfx12_src1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_src2_2797bc.rst
R llvm/docs/AMDGPU/gfx12_src2_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src2_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src2_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src2_7b936a.rst
R llvm/docs/AMDGPU/gfx12_src2_96fbd3.rst
R llvm/docs/AMDGPU/gfx12_src2_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src2_e016a1.rst
R llvm/docs/AMDGPU/gfx12_srcx0.rst
R llvm/docs/AMDGPU/gfx12_srcy0.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_007f9c.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_1a9ca5.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_245536.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_2797bc.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_bbb4c6.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_c4593f.rst
R llvm/docs/AMDGPU/gfx12_ssrc1_bbb4c6.rst
R llvm/docs/AMDGPU/gfx12_ssrc1_c4593f.rst
R llvm/docs/AMDGPU/gfx12_tgt.rst
R llvm/docs/AMDGPU/gfx12_vaddr_a972b9.rst
R llvm/docs/AMDGPU/gfx12_vaddr_c12f43.rst
R llvm/docs/AMDGPU/gfx12_vaddr_c8b8d4.rst
R llvm/docs/AMDGPU/gfx12_vaddr_d82160.rst
R llvm/docs/AMDGPU/gfx12_vaddr_f2b449.rst
R llvm/docs/AMDGPU/gfx12_vcc.rst
R llvm/docs/AMDGPU/gfx12_vdata_2eda77.rst
R llvm/docs/AMDGPU/gfx12_vdata_48e42f.rst
R llvm/docs/AMDGPU/gfx12_vdata_69a144.rst
R llvm/docs/AMDGPU/gfx12_vdata_89680f.rst
R llvm/docs/AMDGPU/gfx12_vdata_aac3e8.rst
R llvm/docs/AMDGPU/gfx12_vdata_bdb32f.rst
R llvm/docs/AMDGPU/gfx12_vdst_006c40.rst
R llvm/docs/AMDGPU/gfx12_vdst_227281.rst
R llvm/docs/AMDGPU/gfx12_vdst_2eda77.rst
R llvm/docs/AMDGPU/gfx12_vdst_47d3bc.rst
R llvm/docs/AMDGPU/gfx12_vdst_48e42f.rst
R llvm/docs/AMDGPU/gfx12_vdst_69a144.rst
R llvm/docs/AMDGPU/gfx12_vdst_7de8e7.rst
R llvm/docs/AMDGPU/gfx12_vdst_836716.rst
R llvm/docs/AMDGPU/gfx12_vdst_89680f.rst
R llvm/docs/AMDGPU/gfx12_vdst_bdb32f.rst
R llvm/docs/AMDGPU/gfx12_vdstx.rst
R llvm/docs/AMDGPU/gfx12_vdsty.rst
R llvm/docs/AMDGPU/gfx12_version.rst
R llvm/docs/AMDGPU/gfx12_vsrc0.rst
R llvm/docs/AMDGPU/gfx12_vsrc1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_vsrc1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_vsrc2.rst
R llvm/docs/AMDGPU/gfx12_vsrc3.rst
R llvm/docs/AMDGPU/gfx12_vsrc_56f215.rst
R llvm/docs/AMDGPU/gfx12_vsrc_6802ce.rst
R llvm/docs/AMDGPU/gfx12_vsrc_89fd7b.rst
R llvm/docs/AMDGPU/gfx12_vsrc_e016a1.rst
R llvm/docs/AMDGPU/gfx12_vsrc_fd235e.rst
R llvm/docs/AMDGPU/gfx12_vsrcx1.rst
R llvm/docs/AMDGPU/gfx12_vsrcy1.rst
R llvm/docs/AMDGPU/gfx12_waitcnt.rst
M llvm/docs/AMDGPUAsyncOperations.rst
A llvm/docs/AMDGPUMemoryModel.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CodingStandards.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/docs/CommandGuide/llvm-strip.rst
M llvm/docs/Contributing.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/MarkdownQuickstartTemplate.md
M llvm/docs/README.txt
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
A llvm/docs/SphinxQuickstartTemplate.md
R llvm/docs/SphinxQuickstartTemplate.rst
M llvm/docs/TableGen/ProgRef.rst
M llvm/docs/TestingGuide.rst
M llvm/docs/UserGuides.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
M llvm/include/llvm-c/Remarks.h
M llvm/include/llvm-c/lto.h
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/APSInt.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/BitVector.h
M llvm/include/llvm/ADT/CachedHashString.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseMapInfo.h
M llvm/include/llvm/ADT/DenseMapInfoVariant.h
M llvm/include/llvm/ADT/Hashing.h
M llvm/include/llvm/ADT/ImmutableList.h
M llvm/include/llvm/ADT/PointerEmbeddedInt.h
M llvm/include/llvm/ADT/PointerIntPair.h
M llvm/include/llvm/ADT/PointerSumType.h
M llvm/include/llvm/ADT/PointerUnion.h
M llvm/include/llvm/ADT/SmallBitVector.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.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/ConstantFolding.h
M llvm/include/llvm/Analysis/CostModel.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.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/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/IVDescriptors.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/InstSimplifyFolder.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/MemoryLocation.h
M llvm/include/llvm/Analysis/MemorySSA.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/TargetFolder.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/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/Minidump.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/WasmTraits.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CAS/CASID.h
M llvm/include/llvm/CAS/CASReference.h
M llvm/include/llvm/CMakeLists.txt
M llvm/include/llvm/CodeGen/AccelTable.h
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
A llvm/include/llvm/CodeGen/BreakFalseDeps.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/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.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/MachineBasicBlock.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/MachineInstr.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/MachineOperand.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/PBQP/CostAllocator.h
M llvm/include/llvm/CodeGen/PEI.h
M llvm/include/llvm/CodeGen/PHIElimination.h
M llvm/include/llvm/CodeGen/Passes.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/Register.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/SelectionDAGNodes.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/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.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/LowLevelType.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/DWARFLinker/AddressesMap.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h
M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/GSYM/FileEntry.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/ExecutionEngine/Orc/ExecutorResolutionGenerator.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MemoryFlags.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/CFG.h
M llvm/include/llvm/IR/Constant.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Dominators.h
M llvm/include/llvm/IR/FMF.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.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/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/NoFolder.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/TrackingMDRef.h
M llvm/include/llvm/IR/Type.h
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/IR/ValueHandle.h
M llvm/include/llvm/IR/ValueMap.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Linker/IRMover.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/ObjCopy/ObjCopy.h
M llvm/include/llvm/Object/ELF.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/FunctionId.h
M llvm/include/llvm/ProfileData/GCOV.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/include/llvm/Support/ConvertUTF.h
M llvm/include/llvm/Support/ELFAttrParserCompact.h
M llvm/include/llvm/Support/ELFAttrParserExtended.h
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/Support/FileSystem/UniqueID.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Support/UniqueBBID.h
M llvm/include/llvm/Support/VersionTuple.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/Testing/Annotations/Annotations.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/include/llvm/Transforms/IPO/IROutliner.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/Scalar.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/include/llvm/Transforms/Scalar/SROA.h
R llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
A llvm/include/llvm/Transforms/Utils/TriggerCrashPass.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/CallGraphSCCPass.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/DominanceFrontier.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/RegionInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/BreakFalseDeps.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/lib/CodeGen/ExpandReductions.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/lib/CodeGen/LiveRangeEdit.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/PseudoProbeInserter.cpp
M llvm/lib/CodeGen/RegisterBankInfo.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/CodeGen/StackMaps.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/DTLTO/CMakeLists.txt
M llvm/lib/DTLTO/DTLTO.cpp
A llvm/lib/DTLTO/DTLTODistributionDriver.cpp
A llvm/lib/DTLTO/DTLTOInputFiles.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DIEAttributeCloner.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
M llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Use.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCAsmInfoELF.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/MC/MCAsmInfoWasm.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/ObjCopy/Archive.cpp
M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
M llvm/lib/ObjCopy/ObjCopy.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/Decompressor.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/Minidump.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/ConvertUTFWrapper.cpp
M llvm/lib/Support/ELFAttrParserCompact.cpp
M llvm/lib/Support/ELFAttrParserExtended.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/StringRef.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
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.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.h
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.h
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.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/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
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/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
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/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
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/BPF/MCTargetDesc/BPFMCAsmInfo.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/CMakeLists.txt
A llvm/lib/Target/Hexagon/HexagonAggressiveRDFCopy.cpp
A llvm/lib/Target/Hexagon/HexagonAggressiveRDFCopy.h
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/Hexagon/HexagonRDFOpt.cpp
M llvm/lib/Target/Hexagon/RDFCopy.cpp
M llvm/lib/Target/Hexagon/RDFCopy.h
A llvm/lib/Target/Hexagon/RDFCopyBase.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/AsmParser/CMakeLists.txt
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
M llvm/lib/Target/M68k/M68kAsmPrinter.cpp
M llvm/lib/Target/M68k/M68kAsmPrinter.h
M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kInstrControl.td
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/M68k/M68kInstrFormats.td
M llvm/lib/Target/M68k/M68kInstrInfo.td
M llvm/lib/Target/M68k/MCTargetDesc/M68kBaseInfo.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMemOperandPrinter.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.cpp
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.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/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBanks.td
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
R llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
A llvm/lib/Target/RISCV/RISCVInstrInfoY.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.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/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.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/SPIRV/SPIRVTypeInst.h
M llvm/lib/Target/SPIRV/SPIRVUtils.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/SystemZInstrVector.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/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86FixupLEAs.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/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
M llvm/lib/Target/X86/X86PartialReduction.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Testing/Annotations/Annotations.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/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.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/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
R llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LowerInvoke.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
A llvm/lib/Transforms/Utils/TriggerCrashPass.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.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/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.cpp
M llvm/lib/Transforms/Vectorize/VPlan.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/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/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/DependenceAnalysis/exact-siv-mul-overflow.ll
A llvm/test/Analysis/ScalarEvolution/rounding-demanded-bits.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Analysis/ValueTracking/recurrence-knownbits.ll
M llvm/test/Assembler/aggregate-constant-values.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/Assembler/dbg-declare-invalid-debug-loc.ll
A llvm/test/Assembler/dbg-intrinsic-forward-ref-upgrade.ll
A llvm/test/Assembler/dbg.ll
A llvm/test/Assembler/dilabel.ll
M llvm/test/Assembler/implicit-intrinsic-declaration-invalid.ll
M llvm/test/Assembler/index-value-order.ll
R llvm/test/Assembler/invalid-uselistorder_bb-float-literal.ll
R llvm/test/Assembler/invalid-uselistorder_bb-missing-bb.ll
R llvm/test/Assembler/invalid-uselistorder_bb-missing-body.ll
R llvm/test/Assembler/invalid-uselistorder_bb-missing-func.ll
R llvm/test/Assembler/invalid-uselistorder_bb-not-bb.ll
R llvm/test/Assembler/invalid-uselistorder_bb-not-func.ll
R llvm/test/Assembler/invalid-uselistorder_bb-numbered.ll
R llvm/test/Assembler/uselistorder_bb.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-exp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sinh.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-narrow-binop-feeding-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-splat-vector.ll
A llvm/test/CodeGen/AArch64/aarch64-f16f32dot-intrinsics.ll
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
A llvm/test/CodeGen/AArch64/aarch64-pseudo-probe-tail-call.ll
M llvm/test/CodeGen/AArch64/alias_mask.ll
A llvm/test/CodeGen/AArch64/and_xor_shift.ll
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/arm64-ldst-unscaled-pre-post.mir
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/arm64-vcnt.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-fpr.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/clmul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add.ll
M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
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/fixed_masked_deinterleaved_loads.ll
M llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
A llvm/test/CodeGen/AArch64/ld1st1_post_mmo.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/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/selectopt-cast.ll
M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
A llvm/test/CodeGen/AArch64/sve-ldst-multi-vec.mir
M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
M llvm/test/CodeGen/AArch64/sve2-sra.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts_x2.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
A llvm/test/CodeGen/AArch64/vector-splice-compress-mmo-align.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/atomic_optimizations_mul_one.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-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/floor.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.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.exp.compr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.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-i1-copy.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-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext-inreg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext.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/inst-select-zext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptrunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-amdgcn-fdiv-fast.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-rotl-rotr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-divrem.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-unmerge-undef.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-load-and-mask.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-divrem.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-shuffle.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-widen-scalar-loads.mir
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/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.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/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync-and-module-lds.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync.ll
M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float.ll
M llvm/test/CodeGen/AMDGPU/ashr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-merge-empty-other.mir
M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
A llvm/test/CodeGen/AMDGPU/buffer-store-dwordx4-vpk-mul-war-hazard-gfx942.mir
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/callbr-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
M llvm/test/CodeGen/AMDGPU/commute-compares-scalar-float.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
A llvm/test/CodeGen/AMDGPU/div-rem-fast-path.ll
A llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation-direct-chain.ll
A llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation-indirect.ll
A llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation.ll
M llvm/test/CodeGen/AMDGPU/dvgpr_sym_fail_too_many_block_size_16.ll
M llvm/test/CodeGen/AMDGPU/dvgpr_sym_fail_too_many_block_size_16_anon.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
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
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs-v2f32.ll
M llvm/test/CodeGen/AMDGPU/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
M llvm/test/CodeGen/AMDGPU/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.ll
A llvm/test/CodeGen/AMDGPU/freeze-other-uses-issue-198094.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/immv216.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/lds-barrier-memoperand.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.wave32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
R llvm/test/Verifier/dbg-declare-invalid-debug-loc.ll
Log Message:
-----------
Merge branch 'main' into users/hvdijk/aaw-emitmdnodeannot
Compare: https://github.com/llvm/llvm-project/compare/048902dbbc19...1fe00721465d
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