[all-commits] [llvm/llvm-project] f55e76: [CIR] Support builtin matrix type (#221773)
Chinmay Deshpande via All-commits
all-commits at lists.llvm.org
Thu Sep 24 09:21:12 PDT 2026
Branch: refs/heads/users/chinmaydd/builtin-convert-from-arbitrary-fp
Home: https://github.com/llvm/llvm-project
Commit: f55e761c7fb78381074b07fe7001166c9a1c6019
https://github.com/llvm/llvm-project/commit/f55e761c7fb78381074b07fe7001166c9a1c6019
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
A clang/test/CIR/CodeGen/matrix.cpp
M clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
A clang/test/CIR/IR/invalid-matrix.cir
A clang/test/CIR/IR/matrix.cir
Log Message:
-----------
[CIR] Support builtin matrix type (#221773)
Implement the basic support for the built-in matrix type
Issue #221772
Commit: dcd8f3442430915048c57164c193513d257e8ace
https://github.com/llvm/llvm-project/commit/dcd8f3442430915048c57164c193513d257e8ace
Author: Daniel Cederman <cederman at gaisler.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/test/CodeGen/Sparc/sparcv8-abi.c
Log Message:
-----------
[Sparc][clang] Match GCC's SPARC V8 vector return convention (#222264)
Match GCC's SPARC V8 calling convention for vector return values. Return
floating-point vectors and vectors larger than 64 bits indirectly.
Return smaller integer vectors in floating-point registers.
Assisted-by: Codex
Commit: 4f5ae89a4a8c49549cd3884c1f42f3fbba8d8ff3
https://github.com/llvm/llvm-project/commit/4f5ae89a4a8c49549cd3884c1f42f3fbba8d8ff3
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/Shell/Settings/Inputs/EchoCommandsAll.out
M lldb/test/Shell/Settings/Inputs/EchoCommandsNoComments.out
M lldb/test/Shell/Settings/Inputs/EchoCommandsNone.out
M llvm/lib/Support/Regex.cpp
M llvm/lib/Support/regcomp.c
A llvm/test/FileCheck/escape.txt
M llvm/unittests/Support/RegexTest.cpp
Log Message:
-----------
[Support] Allow \n, \t, \x in regexes (#223024)
\n and \t were already permitted in Regex::sub, but not in the regex
pattern itself. This commit allows them there too.
\x was not supported at all. This commit allows it both in regex
patterns and in Regex::sub.
The goal is to allow \x to be used in FileCheck patterns and to that
end, a test is also included that this works in FileCheck as expected.
Commit: 4b150e53377a931ab02a2c6b225ccdd75e0d8284
https://github.com/llvm/llvm-project/commit/4b150e53377a931ab02a2c6b225ccdd75e0d8284
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/test/Transforms/GlobalOpt/storepointer.ll
Log Message:
-----------
[GlobalOpt] Use getGetElementPtr() overload accepting a DataLayout (#225789)
To produce the GEP in canonical ptradd form. Unlike other uses,
this one has to take potential failure to create the constant
expression into account.
It also seems like the GEP path was entirely untested, so I added
some basic test coverage for it.
Commit: 7799236d0b84d6fc49a336393aecaba83c061ddf
https://github.com/llvm/llvm-project/commit/7799236d0b84d6fc49a336393aecaba83c061ddf
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
Log Message:
-----------
[MLIR][XeGPU] Improve multi-reduction layout inference (#224618)
Commit: a9828443a2a90a672551f1f59098393601959ed4
https://github.com/llvm/llvm-project/commit/a9828443a2a90a672551f1f59098393601959ed4
Author: Andrew Haberlandt <ahaberlandt at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M compiler-rt/test/fuzzer/minimize_crash.test
Log Message:
-----------
minimize_crash.test sometimes one-shots the minimization (fix flaky test) (#225544)
After #223470 it is now possible for `minimize_crash.test` to one-shot
the minimization by applying the EraseBytes mutation 3 times (to go from
size 8=>4=>2=>1).
```
| 35: SUMMARY: libFuzzer: deadly signal
| 36: MS: 3 EraseBytes-EraseBytes-EraseBytes-; base unit: 0000000000000000000000000000000000000000
| 37: 0x2a,
| 38: *
```
This causes the test to fail because it only prints the `Test unit
written to` line once. This sets `-mutate_depth` to 2 to guarantee that
it won't be one-shot and thus the line will print more than once.
rdar://188078094
Commit: 7311a69f6caa2a6b50cfb899d4b8a1f9f9eeb210
https://github.com/llvm/llvm-project/commit/7311a69f6caa2a6b50cfb899d4b8a1f9f9eeb210
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/include/llvm/ADT/DepthFirstIterator.h
Log Message:
-----------
[ADT] Use SmallVector in df_iterator. NFC (#225787)
Helps with compile time. The small size of 8 was chosen to match
ReversePostOrderTraversal.
https://llvm-compile-time-tracker.com/compare.php?from=5bb2e21c30de31871dd01279c13abcfa2c06e75f&to=3f3c5680cae30aa33f6988ee8b326b71f5195577&stat=instructions:u
Commit: 4d2fb60d36492c4dfba957d2b726abf9dd30b8fc
https://github.com/llvm/llvm-project/commit/4d2fb60d36492c4dfba957d2b726abf9dd30b8fc
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/AST/TypeBase.h
M clang/test/SemaCXX/make_integer_seq.cpp
Log Message:
-----------
[clang] Widen SubstTemplateTypeParmType::PackIndex to 16 bits (#225584)
#132748 narrowed PackIndex to 15 bits when adding Final, leaving a bit
unused, so a type pack with 32768 or more elements stores a wrapped pack
index. The node then keys differently from its lookup, failing the
UniquingSet insert assertion. Restore the 16-bit width, matching
SubstPackType's 16-bit NumArgs.
Fix assertion failure https://godbolt.org/z/9r1jEqqob
Aided by Opus 5.5
Commit: 04fe618233c11703862c114caf33b8c29ef27e13
https://github.com/llvm/llvm-project/commit/04fe618233c11703862c114caf33b8c29ef27e13
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
M lldb/unittests/Callback/CMakeLists.txt
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Interpreter/CMakeLists.txt
M lldb/unittests/Platform/CMakeLists.txt
M lldb/unittests/Process/CMakeLists.txt
M lldb/unittests/Process/gdb-remote/CMakeLists.txt
M lldb/unittests/Protocol/CMakeLists.txt
M lldb/unittests/Target/CMakeLists.txt
Log Message:
-----------
[lldb] Add Options to LINK_COMPONENTS (#225684)
This fixes shared library build of lldb:
```
/usr/bin/ld: lib/liblldbPluginPlatformMacOSX.a(PlatformDarwin.cpp.o): undefined reference to symbol '_ZNK4llvm3opt8OptTable9getOptionENS0_12OptSpecifierE'
/usr/bin/ld: /work/kparzysz/git/llvm.org/b/x86/lib/libLLVMOption.so.24.0git: error adding symbols: DSO missing from command line
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
And several other cases in unittests.
Commit: b33ddc8a951321ee4cc6beda31e1cd0880e8d242
https://github.com/llvm/llvm-project/commit/b33ddc8a951321ee4cc6beda31e1cd0880e8d242
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/fsub-chain-reduction-unpaired-signs.ll
Log Message:
-----------
[SLP][NFC]Add a test with the regressed vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225846
Commit: fc7aa5f819993f102ca2964cb70a28dd021d94af
https://github.com/llvm/llvm-project/commit/fc7aa5f819993f102ca2964cb70a28dd021d94af
Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
A llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/ptr_diff.ll
Log Message:
-----------
[SandboxVec][NFC] Precommit test (#225221)
This is a test for a follow-up patch that improves pointer the diff
calculation.
Commit: aced9473c0493aceeab07c97db10dfbd04a667b3
https://github.com/llvm/llvm-project/commit/aced9473c0493aceeab07c97db10dfbd04a667b3
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVLegalizeResourceBinding.cpp
A llvm/test/CodeGen/SPIRV/hlsl-resources/HeapBinding-cvb-srv-uav.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/HeapBinding-texture-sampler.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/HeapBinding-uav-counter.ll
A llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeRegisterBinding-Heap.ll
A llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeRegisterBinding-Heap2.ll
Log Message:
-----------
[SPIRV] Add support for dynamic/heap resources (#224488)
Extends the `SPIRVLegalizeImplicitBinding` pass to support heap
resources and renames it to `SPIRVLegalizeImplicitAndHeapBinding`.
The pass scans the module for calls to
`llvm.spv.resource.handlefromheap` and groups them into CBV/SRV/UAV
resources and samplers. Calls to
`llvm.spv.resource.counterhandlefromheap` form a third group.
The SPIR-V backend represents descriptor heaps as unbounded resource
arrays. After resolving implicit bindings, the pass assigns the first
available binding to each heap group in the following order: CBV/SRV/UAV
resources, samplers, and counters.
For each group, the pass will replace the heap intrinsic calls with the
explicit `llvm.spv.resource.handlefrombinding` equivalents using the
assigned binding. The pass does not actually need to create the
unbounded resource-array globals itself. It only needs to assign a
unique array name shared by all resources belonging to the same array.
The existing `SPIRVInstructionSelector` will create the globals.
Because the CBV/SRV/UAV group can contain resources with different
types, the backend represents each unique resource type with a separate
array. These arrays share the same descriptor set and binding, so their
bindings intentionally overlap.
Fixes #208054
Assisted by GPT-5.6 Sol
Commit: e1125b3b32e3404e6d1d2ef4d2a6809f84127727
https://github.com/llvm/llvm-project/commit/e1125b3b32e3404e6d1d2ef4d2a6809f84127727
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Run cannotHoistOrSinkRecipe after cheap checks. NFC (#225797)
cannotHoistOrSinkRecipe traverses blocks in the aliasing checks so can
be expensive. We can save some compile time by deferring it after we do
the cheaper checks.
https://llvm-compile-time-tracker.com/compare.php?from=5bb2e21c30de31871dd01279c13abcfa2c06e75f&to=caeacf1cabb08be3608bd02a9b0e683111ab2c6a&stat=instructions:u
Commit: 50b8b5a101f2b6a4f99dd6cd77396ff0cce990e1
https://github.com/llvm/llvm-project/commit/50b8b5a101f2b6a4f99dd6cd77396ff0cce990e1
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/offload-arch/OffloadArch.cpp
M llvm/docs/CommandLine.md
M llvm/include/llvm/Support/CommandLine.h
M llvm/lib/Support/CommandLine.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp
M llvm/tools/llvm-offload-wrapper/llvm-offload-wrapper.cpp
M llvm/tools/llvm-reduce/llvm-reduce.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M mlir/lib/Tools/mlir-query/MlirQueryMain.cpp
M mlir/lib/Tools/mlir-reduce/MlirReduceMain.cpp
Log Message:
-----------
[Support] Remove cl::DefaultOption (#225609)
https://reviews.llvm.org/D59746 added cl::DefaultOption so that the
built-in -h could be overridden by llvm-objdump and llvm-readobj, which
have since moved to OptTable. The remaining overrides just call
PrintHelpMessage, so remove them along with the flag. -h and --help
keep working in every tool.
LLM-aided
Commit: 59e62a974c22185003286ee03f35a1ea00678d28
https://github.com/llvm/llvm-project/commit/59e62a974c22185003286ee03f35a1ea00678d28
Author: Karim Alweheshy <karim.alweheshy at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/tools/llvm-profdata/Inputs/CSIR_profile.proftext
M llvm/test/tools/llvm-profdata/Inputs/IR_profile.proftext
M llvm/test/tools/llvm-profdata/Inputs/cs.proftext
M llvm/test/tools/llvm-profdata/Inputs/instr-remap.expected
M llvm/test/tools/llvm-profdata/merge-filter.test
A llvm/test/tools/llvm-profdata/text-zero-bitmap.test
Log Message:
-----------
[InstrProf] Disambiguate zero bitmaps in text profiles (#213906)
Commit: 680fb32b0ebcf38431579b813613a2949e4d5d6b
https://github.com/llvm/llvm-project/commit/680fb32b0ebcf38431579b813613a2949e4d5d6b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/test/CodeGen/X86/load-combine.ll
Log Message:
-----------
[X86] load-combine.ll - cleanup check prefixes and don't scrub stack math (#225762)
Ensure all stack addresses are visible
Commit: 6f8bca0ce541374893a7e0b2b64d383f515ca632
https://github.com/llvm/llvm-project/commit/6f8bca0ce541374893a7e0b2b64d383f515ca632
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-srv-load.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
Log Message:
-----------
[DirectX] Set TypedUAVLoadAdditionalFormats on UAV texture loads (#225484)
Fixes https://github.com/llvm/llvm-project/issues/225147
This PR makes the `TypedUAVLoadAdditionalFormats` shader flag get set on
UAV texture loads.
Assisted by: GPT 5.6 Sol
Commit: 7c0029df8395a8688ff55feaadc36babd55efaf4
https://github.com/llvm/llvm-project/commit/7c0029df8395a8688ff55feaadc36babd55efaf4
Author: ahmed mohamed kamel <amkzaher at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/AST/Expr.cpp
M clang/test/Sema/stmtexprs.c
Log Message:
-----------
[Clang] Fix integer promotion of bit-fields in statement expressions (#225597)
`Expr::getSourceBitField()` now looks through the final expression of a
statement expression to preserve the bit-field information. This allows
the existing integer promotion rules to correctly promote the bit-field
to `int`.
Also added a regression test for the issue.
Fixes #221542
Commit: 7a7e8bb81b978ef90f6da580bdecd34d053e580f
https://github.com/llvm/llvm-project/commit/7a7e8bb81b978ef90f6da580bdecd34d053e580f
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/test/ELF/ppc64-long-branch-rel14.s
M lld/test/ELF/systemz-gotent-relax-align.s
M lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s
Log Message:
-----------
[ELF] Retain relocation sections for GOT entries added by relaxOnce (#225594)
x86-64 and SystemZ relax GOTPCRELX/GOTENT and, in relaxOnce, revert
relaxations that turn out to be out of range or misaligned. The reverted
relocation needs a GOT entry, which in -pie/-shared needs a relative
relocation. If .rela.dyn (or .relr.dyn) was empty, it has already been
removed by removeUnusedSyntheticSections, triggering an assertion
failure.
Retain the section that will receive the relative relocations when
relaxOnce may add GOT entries, and recompute .dynamic in each iteration.
This also fixes a truncated .dynamic when PPC64 PI long-branch thunks
add the first relative relocations to .rela.dyn.
LLM-aided. Fixes #224011
Commit: 4f22636ba6d33280d2609206b281c88a66a65997
https://github.com/llvm/llvm-project/commit/4f22636ba6d33280d2609206b281c88a66a65997
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] Don't detect flippable signs in MinMax matchers (#220527)
The Min/MaxLike pattern matchers are the only pattern matchers that use
computeKnownBits. They're used to match a smax as a umax if the operands
are known positive and so forth.
However in practice it has no affect on real-world codegen as correlated
value propagation already does this transform earlier in the pipeline,
including for all the tests changed in this PR:
https://llvm.godbolt.org/z/Pr4Ec1xrv
Nothing in the backends will emit a min/max that needs re-transformed in
this way as far as I'm aware.
Removing computeKnownBits from these matchers allows us to remove the
match context in #218372, and saves some compilation time at O3
https://llvm-compile-time-tracker.com/compare.php?from=2f2aa940de68abcdfe4959ddd3b9a0741a7c2a16&to=b771556fb2a7e9c2cb0c853a4a71ea9641e5ede0&stat=instructions:u
Commit: 8913fcc64501c7da8ae02b97c174dc6701f7a8d7
https://github.com/llvm/llvm-project/commit/8913fcc64501c7da8ae02b97c174dc6701f7a8d7
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 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
A llvm/test/CodeGen/AMDGPU/issue197467-virt-reg-rewrite-failure.mir
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/CodeGen/AMDGPU/true16-fold.mir
M llvm/test/MC/AMDGPU/gfx11_asm_t16_err.s
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
Log Message:
-----------
Reapply "[AMDGPU] Remove definition of hi16 for scalar registers (#197467)" (#201552)
This reapplies #197467. The regression uncovered by this PR has been
fixed in #223653 and a test was added to verify that
`llvm/test/CodeGen/AMDGPU/issue197467-virt-reg-rewrite-failure.mir`.
Commit: 877e3c84a8f4e61f6c635e7eb59793ae9069e717
https://github.com/llvm/llvm-project/commit/877e3c84a8f4e61f6c635e7eb59793ae9069e717
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M .github/workflows/compiler-rt-libc-builtins-tests.yml
M .github/workflows/libc-overlay-tests.yml
Log Message:
-----------
[Github] Update remaining libc workflows to Ubuntu 26.04 (#225850)
Some workflows that I missed when trying to do the upgrade previously.
Commit: 36e1dfd58c07b213a5d57095247629f63381ed75
https://github.com/llvm/llvm-project/commit/36e1dfd58c07b213a5d57095247629f63381ed75
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
A lldb/test/Shell/SymbolFile/NativePDB/Inputs/corrupt-public-offset.py
A lldb/test/Shell/SymbolFile/NativePDB/public-symbol-offset-past-section-end.cpp
Log Message:
-----------
[lldb][NativePDB] don't assert when a public symbol sits past its section (#225734)
Fix an assertion failure in `SymbolFileNativePDB::AddSymbols` when a
public symbol's offset doesn't agree with its section's size (happens
with real-world PDBs after incremental linking). Instead of asserting,
we now log and skip the size estimate for that symbol.
Also adds a regression test that crafts such a PDB and checks lldb
doesn't crash.
This fixes crashes in swiftlang.
Commit: 5eea5218a21a5799bb38d4a36d0d7892b4122fb5
https://github.com/llvm/llvm-project/commit/5eea5218a21a5799bb38d4a36d0d7892b4122fb5
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/api/multithreaded/TestMultithreaded.py
Log Message:
-----------
[lldb][Windows] skip TestMultithreaded.SBBreakpointCallbackCase.test_python_stop_hook (#225862)
The test is failing in pre-merge testing on Windows.
Commit: 2c80b3dae3bc1f0ee7b4e686a0b411b64c83560c
https://github.com/llvm/llvm-project/commit/2c80b3dae3bc1f0ee7b4e686a0b411b64c83560c
Author: dcandler <david.candler at arm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/test/Driver/darwin-static-lib-universal.c
Log Message:
-----------
[Clang] Restrict darwin-static-lib-universal.c in cross-builds (#225447)
A new test was added in 841dbaab188ecfa756d4c946f33b58758d34d339 which
will fail when run on macOS if macOS is not set as the default target.
This has previously been solved in other tests by further restricting
the REQUIRES line to also check the target.
Commit: d4afeda893d3b7b70101f90bc3ec76a31154b0be
https://github.com/llvm/llvm-project/commit/d4afeda893d3b7b70101f90bc3ec76a31154b0be
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/include/llvm/ADT/DepthFirstIterator.h
Log Message:
-----------
[ADT] Add back load bearing <vector> include (#225872)
This should fix the build failures reported in
https://lab.llvm.org/buildbot/#/builders/25/builds/19816, looks like
other places were relying on it transitively
Commit: f3d4409596d9d500b1fef9b6d44e4908e9c61ad3
https://github.com/llvm/llvm-project/commit/f3d4409596d9d500b1fef9b6d44e4908e9c61ad3
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M mlir/include/mlir-c/Diagnostics.h
M mlir/lib/CAPI/IR/Diagnostics.cpp
M mlir/test/CAPI/ir.c
Log Message:
-----------
[mlir-c] Add mlirEmitWarning and mlirEmitRemark (#206542)
Adds C API entry points for emitting warning and remark diagnostics, complementing the existing `mlirEmitError`.
Assisted by: Claude
Commit: c25756a336fe1485f82240c8978411467b8cd0fe
https://github.com/llvm/llvm-project/commit/c25756a336fe1485f82240c8978411467b8cd0fe
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/Constants.cpp
M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash-inseltpoison.ll
M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
M llvm/test/Transforms/InstSimplify/gep.ll
M llvm/test/Transforms/InstSimplify/vector_gep.ll
Log Message:
-----------
[InstSimplify] Use getGetElementPtr() overload accepting DataLayout (#225817)
To directly create GEPs in canonical ptradd representation. The
effect of this is that a) we do not form constexpr GEPs which would
no longer be supported in ptradd representation and b) canonicalize
vector GEPs to ptradd form, because the code that does this as
part of constant folding doesn't support vector GEPs, but the new
API does.
This also converts the isSupportedGetElementPtr() assert into a
condition. The getGetElementPtr() API accepting DataLayout is
already fallible, so it makes sense to directly handle all cases
that can't be represented as a constant expression, instead of
requiring the type to be source element type to be handled separately.
Commit: 48fb6577caa15e8e90c76a40a4cbd5dfe3cb1387
https://github.com/llvm/llvm-project/commit/48fb6577caa15e8e90c76a40a4cbd5dfe3cb1387
Author: Chris Kennelly <ckennelly at ckennelly.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/replace-load-and-with-bzhi.ll
Log Message:
-----------
[X86] Remove combineAndLoadToBZHI (#221025)
The low-bits mask table recognition it performed is now done in the
target-independent AggressiveInstCombine (394c8dd14933), which rewrites
`x & tbl[i]` to `x & ((1 << i) - 1)`; the X86 backend already lowers
that arithmetic to `bzhi` via `matchBitExtract`. Removing the DAG fold
also retires its unchecked matching of scaled indices, folded constant
offsets and extending loads, which could miscompile under the static
relocation model (the original subject of this PR).
`replace-load-and-with-bzhi.ll` is repurposed as an end-to-end pipeline
test (`opt | llc`) covering the cases the DAG fold handled, PIC, which it
could not handle, and the index shapes it miscompiled.
Assisted-by: Claude Code
Commit: fa939745e0aceb6cd92debec4badd42a4e571a71
https://github.com/llvm/llvm-project/commit/fa939745e0aceb6cd92debec4badd42a4e571a71
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/fsub-chain-reduction-unpaired-signs.ll
Log Message:
-----------
[SLP]Pair small sign-aware reduction groups only if both signs have one
The small-group check of the flattened fsub/fneg fadd reductions
used whenever any leaf was negated, vectorizing 2-wide parts that
have no opposite-sign part to combine with via the vector fsub.
Allow it only if both signs have a group of at least 2 values.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225881
Commit: b68692b05a2e575b09a21f4310fc1a94241669ea
https://github.com/llvm/llvm-project/commit/b68692b05a2e575b09a21f4310fc1a94241669ea
Author: Ingo Müller <ingomueller at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/docs/CommandGuide/lit.md
Log Message:
-----------
[lit][docs] Document %if conditional substitution in lit CommandGuide (#225683)
`%if ... %else` conditional substitutions (implemented in
`TestRunner.py` and mentioned in `TestingGuide.md`) were missing from
the `SUBSTITUTIONS` table and `available_features` description in
`llvm/docs/CommandGuide/lit.md`. Add `%if` to the base substitutions
table and note that `available_features` can be used in `%if`
conditions.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: aeea5b1050b9388a77cc749b70795fc8701af923
https://github.com/llvm/llvm-project/commit/aeea5b1050b9388a77cc749b70795fc8701af923
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-outer-loop-memchecks.ll
A llvm/test/Transforms/LoopVectorize/outer-loop-gep-nowrap-flags-scev.ll
A llvm/test/Transforms/LoopVectorize/outer-loop-memory-safety.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_contiguous.ll
Log Message:
-----------
[LV] Add additional outer loop vectorization tests. (#225821)
Add test more test coverage for outer loop vectorization path, focusing
on various legality aspects, like supported instructions and memory
checks.
Commit: dfc0d74533a697129b29450bd8ca7d2010007df9
https://github.com/llvm/llvm-project/commit/dfc0d74533a697129b29450bd8ca7d2010007df9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M libcxx/test/benchmarks/filesystem.bench.cpp
Log Message:
-----------
[libc++] Don't pass a path lvalue to DoNotOptimize in the filesystem benchmark (#225504)
BM_PathIterateOnceBackwards passes *I directly to DoNotOptimize.
However, libstdc++ returns a const lvalue reference to `path` from that
operation, which selects GoogleBenchmark's deprecated const-ref
overload.
Use the pattern used elsewhere in this file instead.
Commit: d4c1e0c7374e5f38eb8ebba8ef356065e86cbc2b
https://github.com/llvm/llvm-project/commit/d4c1e0c7374e5f38eb8ebba8ef356065e86cbc2b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.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/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/ds-negative-offset-addressing-mode-loop.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fold-fi-operand-shrink.mir
M llvm/test/CodeGen/AMDGPU/fold-immediate-operand-shrink-with-carry.mir
M llvm/test/CodeGen/AMDGPU/fold-immediate-operand-shrink.mir
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/scratch-simple.ll
M llvm/test/CodeGen/AMDGPU/trunc-store.ll
Log Message:
-----------
AMDGPU: Preserve dead carry-out when shrinking adds in SIFoldOperands (#225687)
The VOP3 form of add/sub with carry out are sometimes shrunk to the VOPC
form when the carry out is dead. Preserve this information by setting
the dead flag on the new instruction. This alleviates some implicit
dependence on LiveVariables' later recomputation of dead flags.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Commit: a4f389e32f90eae9ee326caa1b7091d28d533e5e
https://github.com/llvm/llvm-project/commit/a4f389e32f90eae9ee326caa1b7091d28d533e5e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
Log Message:
-----------
[NFC][sanitizer] Allow fread in symbolizer (#225853)
Commit 3c63fcb246f3 (#212010) introduced `fread` usage in libc++
`std_stream.h`. Because libc++ is linked into the internal symbolizer,
`fread` is now referenced in `symbolizer.o`. Add `fread U` to
`global_symbols.txt` so symbol verification succeeds.
Assisted-by: Gemini
Commit: edbeccc7c205ccd4e6ea37a01eb63740d065f145
https://github.com/llvm/llvm-project/commit/edbeccc7c205ccd4e6ea37a01eb63740d065f145
Author: Jonathan Zakharov <jzakharov at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/semantics/SV_InstanceID.vs.hlsl
A clang/test/SemaHLSL/Semantics/instanceid.output.hlsl
A clang/test/SemaHLSL/Semantics/instanceid.ps.hlsl
A clang/test/SemaHLSL/Semantics/instanceid.vs.hlsl
M llvm/lib/Frontend/HLSL/SemanticSignatures.cpp
M llvm/unittests/Frontend/HLSLSemanticStagesTest.cpp
Log Message:
-----------
[HLSL] Implement the SV_InstanceID semantic (#221091)
Fixes #212572
Adds type validation, stage restriction, and lowering for
`SV_InstanceID`.
- Type check rejects non-uint; DXIL accepts U32/U16, SPIR-V accepts U32
only (VUID-InstanceIndex-InstanceIndex-04265).
- Rejected all sigpoints but Vertex In.
- On SPIR-V, the variable is decorated with `BuiltIn InstanceIndex`
instead of a user-assigned Location.
- SPIR-V lowering loads from the `InstanceIndex` (ID 43) built-in; DXIL
lowering uses `dx.op.loadInput`.
- LIT tests for sema (wrong type, wrong stage, output direction) and
codegen (BuiltIn decoration, no Location).
@dnovillo @pow2clk
Assisted-by: LLM
Commit: 1e5e53db7a6f0170b9d7783acb5a7d0e23a73968
https://github.com/llvm/llvm-project/commit/1e5e53db7a6f0170b9d7783acb5a7d0e23a73968
Author: Venkatesh Srinivasan <156861430+venk-ks at users.noreply.github.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/warn-fortify-source-recv-not-builtin.c
M clang/test/Sema/warn-fortify-source.c
Log Message:
-----------
[Clang][Sema] Add fortify warnings for recv and recvfrom (#223520)
Add `-Wfortify-source` diagnostics for `recv` and `recvfrom` when the size argument exceeds the destination buffer size.
Part of #142230
Assisted-by: Gemini
Commit: 126134200f56180ef0b5cdab9f627d043f8e918d
https://github.com/llvm/llvm-project/commit/126134200f56180ef0b5cdab9f627d043f8e918d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
A llvm/test/CodeGen/AMDGPU/fold-immediate-operand-shrink-dead-carry.mir
A llvm/test/CodeGen/AMDGPU/shrink-dead-vcc-def.mir
R llvm/test/CodeGen/AMDGPU/shrink-v-cmp-wave32-dead-vcc-lo.mir
Log Message:
-----------
AMDGPU: Preserve carry-out dead flag in buildShrunkInst (#225798)
Shrinking from the e64 to the e32 form drops the explicit carry-out def
in favor of an implicit vcc def. If the original carry out had a dead
flag, preserve it in the shrunk instruction's implicit-def operand.
Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
Commit: 77c91047fb488f1b8d45678065a9b9a0c8e86189
https://github.com/llvm/llvm-project/commit/77c91047fb488f1b8d45678065a9b9a0c8e86189
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizeResourceBinding.cpp
Log Message:
-----------
[SPIRV] Fix -Wunused-variable in #224488 (#225897)
Use [[maybe_unused]] as the operations either have side effects where we
can't inline them into the assert or the definitions/variable names
provide additional clarity.
Commit: a26ba32319c157f5b8d6f59528ec001db9ff4055
https://github.com/llvm/llvm-project/commit/a26ba32319c157f5b8d6f59528ec001db9ff4055
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
M flang/test/Fir/CUDA/predefined-variables.mlir
M flang/test/Fir/copy-codegen.fir
M flang/test/HLFIR/assign-codegen-derived.fir
M flang/test/Lower/CUDA/cuda-devptr.cuf
M flang/test/Lower/Intrinsics/transfer.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
Log Message:
-----------
[flang] Fix TRANSFER into derived type with tail padding (#223814)
When assigning a derived type value whose allocated size exceeds its
declared
field size (e.g. `SEQUENCE` type `{i32, i8}` — 5 bytes of fields, 8
bytes
allocated due to ABI tail padding), the assignment path in
`genRecordAssignment` took a "simple type" fast path that called
`genComponentByComponentAssignment`. That function iterated over
declared
fields and copied them one by one via `fir.coordinate_of`/`fir.load`/
`fir.store`, silently skipping the tail-padding bytes and leaving them
**unwritten** in the destination.
This is a compatibility choice rather than a correctness fix: F2023
10.2.1.3
p15 defines derived-type intrinsic assignment component by component,
and p16
allows any means with the same effect, so padding is outside the defined
effect
on either side. gfortran preserves the full allocated storage (including
padding
bytes) on assignment; this patch aligns flang's behaviour with gfortran
for two
cases:
- **`TRANSFER` into a padded SEQUENCE type**: `x = transfer(raw, x)` now
copies
all transferred bytes — including those that fall in the padding region
— into
`x`. A round-trip `raw = transfer(x, raw)` then recovers the original
value.
- **Structure constructor**: `x = t(1, 2_c_int8_t)` now copies the full
temporary, so the padding bytes written into `x` are the temporary's
padding
bytes rather than being left unwritten.
Fix: replace `genComponentByComponentAssignment` with `fir::CopyOp`
(emitting
`fir.copy`). `fir.copy` defers the size computation to codegen via
`genTypeStrideInBytes` and the LLVM data layout, which includes tail
padding.
The dead `genComponentByComponentAssignment` function (≈80 lines) is
removed.
### no_overlap / memmove
`no_overlap` is only sound when the operands are *known* to be
non-overlapping. The `!recTy.isSequence()` fast-path condition is an
*assumption* rather than a proven fact: `flang/docs/Aliasing.md`
documents a
configuration where a Cray pointee aliases a variable with the `TARGET`
attribute, producing overlapping operands even for a non-SEQUENCE type.
A separate `noOverlap` flag is `true` only when non-overlap is *proven*
—
either the LHS is a compiler temporary, or `fir::AliasAnalysis`
explicitly
returns `NoAlias`. When `noOverlap` is `false`, `fir.copy` lowers to
`memmove`, which is correct for all overlap configurations. The
`disjoint`
gate (which selects `fir.copy` over the `_FortranAAssign` runtime path)
is
unchanged.
### Volatile operands
The ref type for each `fir.copy` operand is computed using
`builder.getRefType(recTy, fir::isa_volatile_type(addr.getType()))`, so
a
`fir.convert` is only emitted when the element type actually differs
(e.g. a
module record type assigned to a structurally identical local SEQUENCE
type)
and volatility is always preserved. This ensures whole-record assignment
to or
from a `volatile` derived-type variable passes `ConvertOp::verify` under
`--strict-fir-volatile-verifier`.
### CUFPredefinedVarToGPU
`processDeclareOp` previously cast every use of a predefined-variable
`fir.declare` to `fir.coordinate_of` without a null check, crashing when
the
use was anything else. A whole-record assignment such as `idx =
threadIdx`
lowers to `fir.copy %threadidx to %idx`, producing a non-coordinate use
that
triggered the crash.
`fir.copy` uses of a predefined-variable declare are now expanded into
three
per-field NVVM register reads + stores, so the destination receives
actual GPU
register values rather than a copy from the global backing variable.
Each
field store uses a reference type that inherits the destination's
volatility,
so a `volatile` destination (e.g. `type(dim3), volatile :: idx`)
produces
volatile stores and passes `--strict-fir-volatile-verifier`. The declare
and
the global are erased once all uses are handled; `fir.call` and other
unrecognised uses keep the declare alive.
### Known follow-ups
`fir.copy` does not yet implement `FirAliasTagOpInterface` (recorded as
a TODO
in `FIROps.td`) and its lowering does not forward alignment from the
operand
types. Every simple derived-type assignment now routed through
`fir.copy` —
including the OpenACC/OpenMP recipes and the CUDA paths changed by this
patch —
loses its per-dummy TBAA tags and emits `align 1` instead of the natural
field
alignment. Both losses are conservative and the code remains correct,
but they
may affect optimisation quality at `-O2` and above. Implementing
`FirAliasTagOpInterface` and propagating alignment are left as follow-up
work.
### Example
```fortran
program transfer_bindc_tail_pad
use iso_c_binding, only: c_int, c_int8_t, c_sizeof
implicit none
type :: t
sequence
integer(c_int) :: a
integer(c_int8_t) :: b
end type
type(t) :: x
integer, parameter :: n = int(STORAGE_SIZE(x)/8)
character(len=n) :: raw, rawx
equivalence (x, rawx)
print *, ' STORAGE_SIZE({i32, 8}) bits =', storage_size(x)
rawx = repeat(achar(0), n)
raw = repeat(achar(255), n)
print *, "raw before round trip"
x = transfer(raw, x)
print *, "intermediate round trip value"
call printbytes(rawx)
print *, "raw after round trip"
raw = transfer(x, raw)
call printbytes(raw)
contains
subroutine printbytes(c)
character(*) :: c
integer :: i
do i = 1, n
print '(i2,1x,z2.2)', i, iachar(c(i:i))
end do
end subroutine
end program
```
Before this patch (padding bytes left unwritten; the zeros come from
`rawx = repeat(achar(0), n)` — with a different initialiser the values
would differ):
```
> a.out
STORAGE_SIZE({i32, 8}) bits = 64
raw before round trip
intermediate round trip value
1 FF
2 FF
3 FF
4 FF
5 FF
6 00
7 00
8 00
raw after round trip
1 FF
2 FF
3 FF
4 FF
5 FF
6 00
7 00
8 00
```
After this patch, consistent with gfortran (source bytes fully
preserved):
```
> a.out
STORAGE_SIZE({i32, 8}) bits = 64
raw before round trip
intermediate round trip value
1 FF
2 FF
3 FF
4 FF
5 FF
6 FF
7 FF
8 FF
raw after round trip
1 FF
2 FF
3 FF
4 FF
5 FF
6 FF
7 FF
8 FF
```
Assisted-by: IBM Bob
Commit: b8d50145149b07fab3c7d1fb867fd781f927da8c
https://github.com/llvm/llvm-project/commit/b8d50145149b07fab3c7d1fb867fd781f927da8c
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
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/CodeGen/call-conv-lowering-x86_64-non-byval-thunk-mixed.cpp
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk-sret.cpp
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk.cpp
M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-forward-param.cir
M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-nyi.cir
Log Message:
-----------
[CIR] Read a non-byval parameter back out of its spill slot (#225010)
CallConvLowering recognizes a forwarded non-byval indirect argument by
the slot its operand was loaded from. At -O1 and above cir-simplify
folds that load away when the slot is a constant alloca, which is what
CIRGen emits for a const-qualified by-value parameter. The walk that
gives each such parameter's slot the alignment the ABI promises now also
reads the record back out of the slot at the spill and points the
parameter's call-argument uses at that load, so an Expand, byval or
coerced argument reads it too.
Assisted-by: Cursor / claude-opus-5
Commit: 14dd7641a4b90184b1cad08be04242ef93ed61cf
https://github.com/llvm/llvm-project/commit/14dd7641a4b90184b1cad08be04242ef93ed61cf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/pr225272.ll
Log Message:
-----------
[VectorCombine] shrinkType - only attempt to copy flags/metadata if we create a new instruction (#225776)
CreateBinOp may fold to a constant/argument value etc.
Fixes #225272
Commit: c9eafc159e7caeb4fbb81e7af7dfaacc3cbd3e62
https://github.com/llvm/llvm-project/commit/c9eafc159e7caeb4fbb81e7af7dfaacc3cbd3e62
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/revec-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
Log Message:
-----------
[SLP] Better track MinBWs between vectorization attempts (#224199)
When retrying vectorization with smaller VF, we may be able to vectorize
further where previously gathering was required. This may expose
[s/z]ext instruction that would allow us to optimize via MinBWs. In such
cases, ignore AnalyzedMinBWVals and recompute MinBWs anyways.
Assisted By: Codex
Commit: 79cfb6f2871f3bc5a75697e29e4ac110605a1a9f
https://github.com/llvm/llvm-project/commit/79cfb6f2871f3bc5a75697e29e4ac110605a1a9f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
Log Message:
-----------
[SDPatternMatch] Implement conditionally binding a value by using m_AllOf. NFC (#225559)
Making the predicate part of Value_bind has a non-zero code size and
compile time impact. I assume this is because the non conditional
m_Value needs a dummy predicate.
This patch removes the predicate from Value_bind and uses a m_AllOf so
we only pay for the predicate when we need it. This matches how this is
currently done in IR PatternMatch.
Commit: f1b80f06f2b3f878086a24dd145244053aad51af
https://github.com/llvm/llvm-project/commit/f1b80f06f2b3f878086a24dd145244053aad51af
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
Log Message:
-----------
[CostModel][X86] Add basic AVX512 Intrinsic::masked_expandload cost tables (#225857)
Numbers based off uops.info and Agner averages - they can be polished in
the future, hopefully in conjunction with the scheduler models (which
defaults to treating them as folded variable shuffles).
Still needs splitting/legalization cost adjustments, but the codegen is
pretty good so the split multiplier isn't that far off tbh.
Part of #214613
Commit: 7071b7545aca45e8d66809474f57e10c805af874
https://github.com/llvm/llvm-project/commit/7071b7545aca45e8d66809474f57e10c805af874
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-benchmark.yml
M .github/workflows/libcxx-pr-test-tools.yml
Log Message:
-----------
Revert "Partially Reapply "[libcxx] Move premerge jobs to k8s mode runner set (#221395)"" (#225896)
Reverts llvm/llvm-project#225222
It turns out this did not fully fix the issue.
Commit: 8ec2ba57f65624b4fdcca0fe2b0ff9bfcfe4c4cd
https://github.com/llvm/llvm-project/commit/8ec2ba57f65624b4fdcca0fe2b0ff9bfcfe4c4cd
Author: lexi-nadia <lexinadia at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h
Log Message:
-----------
Add a missing include of <vector> (#225871)
This file used to get `<vector>` from DepthFirstIterator.h, but
7311a69f6caa2a6b50cfb899d4b8a1f9f9eeb210 removed the associated include.
Commit: bcb89020f2953e414ff525cbf04e9c35be50ece4
https://github.com/llvm/llvm-project/commit/bcb89020f2953e414ff525cbf04e9c35be50ece4
Author: Alexis Perry-Holby <aperry at lanl.gov>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
A flang/docs/MeetingNotes/2026/2026-09-23.md
Log Message:
-----------
[flang] Add notes from 9-23-26 Flang Community Call (#225841)
Commit: 88373ba98f5050debb65d5f4b3c631e05a224e60
https://github.com/llvm/llvm-project/commit/88373ba98f5050debb65d5f4b3c631e05a224e60
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/SimplifyCFG/ARM/switch-ssa-lookup-restrictions.ll
A llvm/test/Transforms/SimplifyCFG/X86/switch-result-constants.ll
Log Message:
-----------
[SimplifyCFG] Restrict initializer checks to lookup tables (#224235)
SimplifyCFG currently applies lookup table constant restrictions even
when a switch can be replaced with selects or other SSA values. Move
these checks to lookup table construction so they only apply when a
global initializer is needed.
Commit: efd7e6566d7021116937725cfa70ab55d7b7eb1d
https://github.com/llvm/llvm-project/commit/efd7e6566d7021116937725cfa70ab55d7b7eb1d
Author: Kunal Dubey <xakep8 at protonmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-reduce-arithmetic-sve.c
A clang/test/CIR/CodeGenBuiltins/builtin-reduce-arithmetic.c
M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
Log Message:
-----------
[CIR] Lowering for __builtin_reduce_add/mul/min/max/in_order_fadd (#224204)
Added lowering for __builtin_reduce_add, __builtin_reduce_mul,
__builtin_reduce_min, __builtin_reduce_max and
__builtin_reduce_in_order_fadd by mimicking the same shape as
__builtin_reduce_xor which mirrors classic Codegen shape
Added test for the same
Commit: bd7e86cd1c74f70085cba6bf776d9612e8179f16
https://github.com/llvm/llvm-project/commit/bd7e86cd1c74f70085cba6bf776d9612e8179f16
Author: Trevor Gross <tg at trevorgross.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M compiler-rt/test/builtins/Unit/arm/aeabi_unaligned_access_test.c
Log Message:
-----------
[compiler-rt][test] `__aeabi_uread*` now take a const pointer (#225564)
Discussion inspired by a review comment when these were added prompted a
change to RTABI making these take const pointers. Update the test to
match.
This is a pretty insignificant change but cleans up a few warnings.
Review comment mentioning this:
https://github.com/llvm/llvm-project/pull/167913#discussion_r2527018785
RTABI change:
https://github.com/ARM-software/abi-aa/commit/84e54a7045ff8f37949d2ab193dc07c45717eb41
Commit: 80b5921a8ba4da49ecb9ea063517ceb573023682
https://github.com/llvm/llvm-project/commit/80b5921a8ba4da49ecb9ea063517ceb573023682
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/macosx/branch-islands/Makefile
Log Message:
-----------
[LLDB] Simplify Makefile (#225890)
Commit: cfcff78a126040c7757b3343e028a73fc4a17c83
https://github.com/llvm/llvm-project/commit/cfcff78a126040c7757b3343e028a73fc4a17c83
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/test/API/functionalities/scripted_extensions/malformed_scripted_extensions.py
Log Message:
-----------
[lldb] Validate a scripted class abstract methods before running its constructor (#225246)
`CreatePluginObject` called the class's `__init__` and only then checked
that the class implements the methods the interface requires. So a class
we were always going to reject had already executed arbitrary user code,
side effects included, and if `__init__` happened to raise as well, the
constructor's exception masked the real, structural problem.
Lift the abstract-method diagnosis into `CheckAbstractMethods` and run
it against the class object before calling it. The check already
operated on a class rather than an instance (it just happened to reach
it through `instance.__class__`) so nothing about it needed to change.
The pre-existing-object path (`script_obj`) has no constructor to guard,
so it keeps validating after the fact, gated on a flag so the check runs
once.
`ExceptionInitScriptedBreakpointResolver` in the test fixtures claimed
to test a raising `__init__` but also omitted `__callback__`, so it was
only reporting the init exception because construction used to come
first. It now implements `__callback__`, leaving `__init__` as the
single thing wrong with it, which is what the test means to exercise.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 2e351130b6df0452435c5d489bc9a1a13f8ffacc
https://github.com/llvm/llvm-project/commit/2e351130b6df0452435c5d489bc9a1a13f8ffacc
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M .github/workflows/bazel-checks.yml
M .github/workflows/build-ci-container-tooling.yml
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/build-libc-container.yml
M .github/workflows/build-metrics-container.yml
M .github/workflows/check-ci.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/commit-access-greeter.yml
M .github/workflows/commit-access-review.yml
M .github/workflows/compiler-rt-libc-builtins-tests.yml
M .github/workflows/docs.yml
M .github/workflows/email-check.yaml
M .github/workflows/gha-codeql.yml
M .github/workflows/ids-check.yml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-write.yml
M .github/workflows/libc-freebsd-vm-tests.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/libclang-abi-tests.yml
M .github/workflows/libcxx-benchmark-commit.yml
M .github/workflows/libcxx-benchmark-cron.yml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/libcxx-pr-benchmark.yml
M .github/workflows/libcxx-pr-check-generated-files.yml
M .github/workflows/lldb-pylint-action.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/llvm-bugs.yml
M .github/workflows/merged-prs.yml
M .github/workflows/mlir-spirv-tests.yml
M .github/workflows/new-issues.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/prune-branches.yml
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-llvm-testing-tools.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M .github/workflows/scorecard.yml
M .github/workflows/spirv-tests.yml
M .github/workflows/subscriber.yml
M .github/workflows/sycl-tests.yml
M .github/workflows/test-suite.yml
M .github/workflows/test-unprivileged-download-artifact.yml
M .github/workflows/version-check.yml
M .github/workflows/zizmor.yml
Log Message:
-----------
[Github] Bump all workflows to ubuntu-26.04 (#225878)
ubuntu-26.04 is now GA, so move all the jobs up.
Commit: d0c787e447e150eedf5aa191cbaf68ab82f468fa
https://github.com/llvm/llvm-project/commit/d0c787e447e150eedf5aa191cbaf68ab82f468fa
Author: jimingham <jingham at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/ThreadPlan.h
A lldb/include/lldb/Target/ThreadPlanRunToBreakpoint.h
M lldb/include/lldb/Utility/StreamString.h
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Target/CMakeLists.txt
A lldb/source/Target/ThreadPlanRunToBreakpoint.cpp
M lldb/source/Utility/StreamString.cpp
A lldb/test/API/macosx/lazy_library/Makefile
A lldb/test/API/macosx/lazy_library/TestStepThroughLazyLibrary.py
A lldb/test/API/macosx/lazy_library/library.c
A lldb/test/API/macosx/lazy_library/main.c
Log Message:
-----------
Handle stepping through "lazy library" stubs (#225238)
This is a new linker feature that's available for programs built for
macOS 27 and later. The form of the stubs are slightly different, and
need a slightly different trick to get through them.
Commit: 94c31f357625bab5f14dab8eabbca17d20b33cd3
https://github.com/llvm/llvm-project/commit/94c31f357625bab5f14dab8eabbca17d20b33cd3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
Log Message:
-----------
[SLP][NFC]Remove stale FIXME from PR43745 test, NFC
cmp_lt_gt is vectorized, SLP forms both v2f64 compare reductions after
038f5968616a.
Fixes #43090
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225924
Commit: 4989b3b0bb752c436c922d8e65cd7a952038d5db
https://github.com/llvm/llvm-project/commit/4989b3b0bb752c436c922d8e65cd7a952038d5db
Author: James Y Knight <jyknight at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
M utils/bazel/llvm-project-overlay/third-party/BUILD.bazel
Log Message:
-----------
[bazel] Use LZMA from bazel registry. (#225877)
PR #220092 added lzma support, but used the system copy of lzma for
bazel, saying it wasn't available in BCR. Since it actually is (under
the name "xz"), switch to using it from there.
Commit: fc1f3ff5a3b3da827cfca31d07a79c036e03b545
https://github.com/llvm/llvm-project/commit/fc1f3ff5a3b3da827cfca31d07a79c036e03b545
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerMicrosoftCXXABI.cpp
M clang/test/CIR/CodeGen/delete-array-aligned.cpp
A clang/test/CIR/CodeGen/delete-array-overaligned-cookie.cpp
M clang/test/CIR/CodeGen/delete-array-throwing-dtor.cpp
M clang/test/CIR/IR/invalid-delete-array.cir
Log Message:
-----------
[CIR] Fix 'cookie' size of array delete on aligned type (#225806)
This came up in some test suite, the cookie size calcuation of a array
delete with a 'cookie' was incorrect if the type had an alignment. This
patch strings the correct alignment through the 'element_align' tag on
the array-delete operation, and uses that for the final calculation,
matching classic codegen.
Commit: 03fb86920dc00a2e739a2d8402f0ebe7323cf9a9
https://github.com/llvm/llvm-project/commit/03fb86920dc00a2e739a2d8402f0ebe7323cf9a9
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M bolt/lib/Core/DynoStats.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Tooling/CommonOptionsParser.cpp
M clang/tools/clang-diff/ClangDiff.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/clang-refactor/ClangRefactor.cpp
M llvm/examples/OrcV2Examples/LLJITDumpObjects/LLJITDumpObjects.cpp
M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
M llvm/lib/CodeGen/MIR2Vec.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVAuxDataHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-split/llvm-split.cpp
M llvm/tools/llvm-undname/llvm-undname.cpp
M mlir/lib/Debug/DebugCounter.cpp
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/CodeGen/LoopGenerators.cpp
Log Message:
-----------
Remove unneeded cl::Optional from named options. NFC (#225870)
cl::Optional is the default for cl::opt and has been no-op since
https://reviews.llvm.org/D120455 removed the "may only occur zero or one
times!" error.
Extracted from #225628
Commit: ad695d46e4535f953558705541b71c2d938fb72b
https://github.com/llvm/llvm-project/commit/ad695d46e4535f953558705541b71c2d938fb72b
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sme-za-non-sibling-tailcall.ll
M llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
Log Message:
-----------
[AArch64] Don't emit stack restore for SME ZA non-sibling tail calls (#224721)
A tail call from a function with live ZA state was previously prevented
from being lowered as a sibling call to have a CALLSEQ_START to glue
INOUT_ZA_USE to. This led to bogus stack restores.
We now drop the INOUT_ZA_USE marker on tail calls and can thus lower as
sibling calls if needed to take advantage of the existing correct stack
restore behavior.
This is safe to do since tail calls use TCRETURN and the MachineSMEABI
pass requires live ZA state to stay live across returns anyway.
Commit: 1ff88ee1b0710bab455f1da22f7c7f7b36389cda
https://github.com/llvm/llvm-project/commit/1ff88ee1b0710bab455f1da22f7c7f7b36389cda
Author: Clayton Knittel <cknit1999 at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/DebugInfo/CXX/limited-ctor.cpp
Log Message:
-----------
Always emit complete debug info for types which appear as a member of a standard-layout union. (#224439)
[[class.mem]](https://timsong-cpp.github.io/cppwp/n3337/class.mem#19)
states:
> "If a standard-layout union contains two or more standard-layout
structs that share a common initial sequence, and if the standard-layout
union object currently contains one of these standard-layout structs, it
is permitted to inspect the common initial part of any of them. Two
standard-layout structs share a common initial sequence if corresponding
members have layout-compatible types and either neither member is a
bit-field or both are bit-fields with the same width for a sequence of
one or more initial members."
This makes it possible to obtain a reference to a type which was never
constructed, which violates the assumption made by constructor homing
that all types that may require debug info must be constructed.
This change takes the conservative approach of always emitting full
debug info for standard-layout types which appear as a member of a
standard-layout union somewhere in the TU. It could be made more
aggressive by only emitting full debug info if there is another type in
the union that shares a "common initial sequence", but that would add
complexity to this exclusion logic and likely isn't worth it.
---------
Signed-off-by: Clayton Knittel <cknit1999 at gmail.com>
Commit: d28d490e113147bed0061a1bde79ebc982cbdb52
https://github.com/llvm/llvm-project/commit/d28d490e113147bed0061a1bde79ebc982cbdb52
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/local-vars-dependent-init.cpp
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Wait for the instantiation to check a dependent local variable (#224566)
RawPtrRefLocalVarsChecker had the same false positive as the call
arguments checker: a local variable whose declared type is a concrete
raw pointer was reported when its initializer was still type-dependent.
In
template <typename T> void f(T& guard) {
Voice* v = guard.ptr();
}
the declared type Voice* makes isUnsafePtr fire, while guard.ptr() is a
CXXDependentScopeMemberExpr, so tryToFindPtrOrigin bails out before it
can reach the guardian analysis which makes the resolved form safe. The
instantiation is character for character the concrete form, which is not
reported.
Skip type-dependent initializers and traverse the instantiated call
operators of a generic lambda, as in the call arguments checker. Unlike
there, each specialization also has to be installed as DeclWithIssue
while its body is traversed: the guardian analysis runs GuardianVisitor
over the body of DeclWithIssue, and pointed at the function enclosing
the lambda it walks the dependent pattern instead, where VisitCallExpr
gives up on a null getDirectCallee() and every guarded local is reported
again.
Commit: 674fd8d37e9b5806bc1a7ff31dc56bf3a0839c6b
https://github.com/llvm/llvm-project/commit/674fd8d37e9b5806bc1a7ff31dc56bf3a0839c6b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/test/CodeGen/RISCV/target-abi-invalid.ll
A llvm/test/CodeGen/RISCV/target-abi-synthesize-flag.ll
Log Message:
-----------
RISCV: Don't use MCTargetOptions::ABIName in the ELF target streamer (#224704)
The abi name should come from the target-abi module flag in codegen,
which should be set up in the AsmPrinter. The ABI name field should
only be of practical use in the assembler, which reads the flag in
onBeginOfFile.
Co-Authored-By: Claude <noreply at anthropic.com> (Claude Opus 4.8)
Commit: 46e6aac0ebc5754a8189d7742ba8432fbe17c640
https://github.com/llvm/llvm-project/commit/46e6aac0ebc5754a8189d7742ba8432fbe17c640
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/docs/RISCVUsage.md
Log Message:
-----------
[RISCV][Doc] Remove unratified extensions from the ratified extension status table. NFC (#225898)
Commit: 1bf9ce86b462aa5a184865ab3a2f7e7ea0b4b350
https://github.com/llvm/llvm-project/commit/1bf9ce86b462aa5a184865ab3a2f7e7ea0b4b350
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/source/Target/StackFrame.cpp
M lldb/test/API/commands/frame/var/TestFrameVar.py
Log Message:
-----------
[lldb] Fix crash on a trailing '-' in a legacy variable expression path (#225661)
`StackFrame::LegacyGetValueForVariableExpressionPath` walks a variable
expression path one separator character at a time. On seeing a `-` it
checks that the following character is `>`, to confirm this is really
the `->` operator and not something else:
```
case '-':
expr_is_ptr = true;
if (var_expr.size() >= 2 && var_expr[1] != '>')
return ValueObjectSP();
...
var_expr = var_expr.drop_front(); // Remove the '-'
[[fallthrough]];
case '.': {
var_expr = var_expr.drop_front(); // Remove the '.' or '>'
```
The `var_expr.size() >= 2` guard is only meant to make the `var_expr[1]`
read safe, but it also disables the whole check when `var_expr` is
exactly `"-"` (size 1) with nothing after it. Execution falls through
the `if`, drops the `-` (leaving an empty `StringRef`), then falls
through into the `.` case, which unconditionally drops a second
character on that now-empty string. `StringRef::drop_front` asserts
`size() >= N`, so this aborts.
Reproduced with `settings set target.experimental.use-DIL false` (the
legacy, non-DIL variable-expression-path parser) and a trailing `-`
with no variable-path continuation after it:
```
(lldb) settings set target.experimental.use-DIL false
(lldb) frame variable somevar-
Assertion failed: (size() >= N && "Dropping more elements than exist"), function drop_front, file StringRef.h, line 636.
```
Fix the guard to also reject when `var_expr` is too short to contain a
character after the `-`, not only when that character exists and is
wrong. After the fix the same command reports an ordinary parse error
instead of crashing:
```
(lldb) frame variable somevar-
error: unable to find any variable expression path that matches 'somevar-'
```
Add
`TestFrameVar.test_legacy_expression_path_malformed_trailing_operator`,
which runs `frame variable` on a trailing `-`, a trailing `>`, and `-`
followed by something other than `>`, under `use-DIL false`, and checks
each one fails as an ordinary command error rather than crashing lldb.
Commit: a13aa07af6d0527a14cdc2e2f3fe4ec3d0ccb362
https://github.com/llvm/llvm-project/commit/a13aa07af6d0527a14cdc2e2f3fe4ec3d0ccb362
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
Log Message:
-----------
[lldb] Fix dwim-print's arrow-operator check to match the substring (#225778)
`CommandObjectDWIMPrint::DoExecute` decides whether to try `expr` as a
limited, dot-only frame variable path before falling back to full
expression evaluation. The comment above the check says a variable
path is not attempted if `expr` contains the arrow operator (`->`) or
the subscript operator (`[]`), or a bare `*` or `&`:
```
const bool try_variable_path =
expr.find_first_of("*&->[]") == StringRef::npos;
```
`find_first_of` treats its argument as a set of characters so this also
matches a lone `-` or a lone `>` anywhere in `expr`, not only the
two-character `->` sequence the comment describes.
Fix the check to test for the `->` substring directly with
`StringRef::contains`, keeping `find_first_of` only for the four
characters that are genuinely excluded one at a time (`*`, `&`, `[`,
`]`).
By itself, this widens which expressions attempt the variable-path
fast path (anything with a lone `-` or `>` now does).
Ordinary arithmetic and comparison expressions containing a lone `-`
or `>` now correctly attempt, and correctly fail, the variable-path
fast path before falling through to `expression`, shown here
```
frame #0: liblldb.24.0git.dylib`lldb_private::CommandObjectDWIMPrint::DoExecute(this=<unavailable>, command=<unavailable>, result=<unavailable>) at CommandObjectDWIMPrint.cpp:169:13 [opt]
(lldb) settings set dwim-print-verbosity full
(lldb) dwim-print expr
note: ran `frame variable expr`
(llvm::StringRef) (Data = "1+1", Length = 3)
(lldb) dwim-print expr.Length-1
warning: `this' is not accessible (substituting 0). Couldn't load 'this' because its value couldn't be evaluated
note: ran `expression expr.Length-1`
(size_t) 2
(lldb) dwim-print expr.Length>0
warning: `this' is not accessible (substituting 0). Couldn't load 'this' because its value couldn't be evaluated
note: ran `expression expr.Length>0`
(bool) true
(lldb) dwim-print frame->m_frame_index
warning: `this' is not accessible (substituting 0). Couldn't load 'this' because its value couldn't be evaluated
note: ran `expression frame->m_frame_index`
(uint32_t) 0
```
Add more expressions in `TestDWIMPrint.test_expressions`, to cover
expressions
containing a lone `-` or `>`. Note that these tests can't tell "the
expression is evaluated by DIL but failed" and "expression isn't
evaluated by DIL at all".
Commit: 38299200b632536a769395c503c1f2fb2184e855
https://github.com/llvm/llvm-project/commit/38299200b632536a769395c503c1f2fb2184e855
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-dependent-arg.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-generic-lambda.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Wait for the instantiation to check a dependent call argument (#224565)
RawPtrRefCallArgsChecker reported a call argument as unsafe when the
call appeared in an uninstantiated template pattern and the argument was
still type-dependent. In
template <typename T> void f(T& voice) {
Wrapper::create(protect(voice));
}
Wrapper::create is qualified, so it is resolved in the pattern and its
parameter is known to be a raw reference, but protect(voice) is a
dependent call whose callee is still an UnresolvedLookupExpr.
tryToFindPtrOrigin has nothing to look at -- there is no callee decl and
the type of the call is '<dependent type>' rather than Ref<Voice> -- so
the argument was reported even though the instantiation resolves it to a
Ref. Giving the parameter a concrete type made the report go away with
no other change. The same happened in the body of a generic lambda,
which is such a pattern.
Skip type-dependent arguments and let the instantiation, which is
visited separately, decide. Function template instantiations were
already traversed, but a generic lambda's instantiated call operators
were not: with ShouldVisitImplicitCode disabled,
RecursiveASTVisitor::TraverseLambdaExpr only walks LambdaExpr::getBody()
and never the closure CXXRecordDecl. Traverse the specializations of the
dependent call operator as well, so that an argument which is only known
to be unsafe after instantiation is still reported.
Commit: b7252822c190a6a924fb15d35b6c4dfa5264fa03
https://github.com/llvm/llvm-project/commit/b7252822c190a6a924fb15d35b6c4dfa5264fa03
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/functionalities/archives/Makefile
Log Message:
-----------
[LLDB] Simplify Makefile (#225922)
Commit: 408ae6803f0cf2d8a65b00d3e1c9534113c5f0be
https://github.com/llvm/llvm-project/commit/408ae6803f0cf2d8a65b00d3e1c9534113c5f0be
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/Makefile
Log Message:
-----------
[LLDB] Simplify Makefile for TestBundleWithDotInFilename (#225930)
Commit: f4f785dcc156778dc940252df9408237cd5b01d1
https://github.com/llvm/llvm-project/commit/f4f785dcc156778dc940252df9408237cd5b01d1
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/macosx/find-dsym/deep-bundle/Makefile
M lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
Log Message:
-----------
[lldb][test] Use the default link rule in TestDeepBundle (#225937)
Commit: 78d4f5ae88311acba1f81560194f74e2c12ca808
https://github.com/llvm/llvm-project/commit/78d4f5ae88311acba1f81560194f74e2c12ca808
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/macosx/function-starts/Makefile
M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
Log Message:
-----------
[lldb]Simplify Makefile in TestFunctionStarts (#225941)
Assisted-by: Claude
Commit: a78e641705a45024a01ebd4d79a3d37b790f64f4
https://github.com/llvm/llvm-project/commit/a78e641705a45024a01ebd4d79a3d37b790f64f4
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/python_api/sbmodule/Makefile
Log Message:
-----------
[lldb][test] Remove dead a.out rule from TestSBModule's Makefile (#225943)
The custom a.out recipe was overridden by the default $(EXE) rule in
Makefile.rules ("overriding commands for target 'a.out'"), so a.o and
b.o were linked directly into a.out rather than through libfoo.a. Build
only main.c through C_SOURCES and pass libfoo.a via LD_EXTRAS, so the
default rule links against the archive as intended.
Assisted-by: Claude
Commit: da0ded191f82be4ae98eb6eefc01175bd0855ca8
https://github.com/llvm/llvm-project/commit/da0ded191f82be4ae98eb6eefc01175bd0855ca8
Author: MaoJian <maojian16 at huawei.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGen/X86/empty-struct-union-array.c
Log Message:
-----------
[X86] Fix CodeGen crash for arrays of empty structs and unions (#224203)
getFPTypeAtOffset() divides by the allocation size of an array element
when normalizing IROffset. Empty structs and unions have zero allocation
size, so arrays of these types can cause a division-by-zero during X86
ABI lowering.
Return nullptr for zero-sized array elements and add CodeGen tests for
empty struct and union arrays.
Commit: db7d6187d470e93f89d142831182ae928472fce7
https://github.com/llvm/llvm-project/commit/db7d6187d470e93f89d142831182ae928472fce7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/PHIElimination.cpp
A llvm/test/CodeGen/X86/phi-elimination-dead-def.mir
Log Message:
-----------
CodeGen: Mark dead PHI destination copies dead in the LiveIntervals path (#225760)
When PHIElimination lowers a PHI whose destination is dead, it records a
dead def in LiveIntervals but did not set the dead flag on the lowered
copy's def operand. The LiveVariables path set this via addVirtualRegisterDead.
Avoids "Instruction ending live segment on dead slot has no dead flag"
verifier errors once LiveVariables is removed.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Commit: 45bc3fbacaed869924160d9c3addc2364d2d4cc0
https://github.com/llvm/llvm-project/commit/45bc3fbacaed869924160d9c3addc2364d2d4cc0
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
A flang-rt/test/Driver/finit-local-array-exec.f90
A flang-rt/test/Driver/finit-local-char2-exec.f90
A flang-rt/test/Driver/finit-local-charN-exec.f90
M flang/docs/ReleaseNotes.md
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/LoweringOptions.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/test/Driver/finit-local.f90
A flang/test/Lower/CUDA/finit-local-cuda.cuf
A flang/test/Lower/finit-local-array-llvm.f90
A flang/test/Lower/finit-local-cray-pointee.f90
A flang/test/Lower/finit-local-exclusions.f90
A flang/test/Lower/finit-local-f128.f90
A flang/test/Lower/finit-local-kind-mapping-rtchar.f90
A flang/test/Lower/finit-local-kind-mapping-subbyte.f90
A flang/test/Lower/finit-local-kind-mapping.f90
A flang/test/Lower/finit-local-logical-llvm.f90
A flang/test/Lower/finit-local-packed.f90
A flang/test/Lower/finit-local-ppc-vector-llvm.f90
A flang/test/Lower/finit-local-real10-llvm.f90
A flang/test/Lower/finit-local-unsigned.f90
A flang/test/Lower/finit-local-volatile-llvm.f90
A flang/test/Lower/finit-local-volatile-real10.f90
A flang/test/Lower/finit-local-volatile.f90
A flang/test/Lower/finit-local.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Add -finit-local= to initialize automatic variables (#216164)
This patch implements the `-finit-local=` compiler option, which
initializes automatic (local) Fortran variables that have no explicit or
default initialization.
Assisted-by: IBM Bob
RFC:
https://discourse.llvm.org/t/rfc-add-finit-local-to-flang-for-initializing-automatic-variables/91545
## Accepted values
| Value | Effect |
|-------|--------|
| `zero` | Fill every storage byte with zero |
| `0x` | Fill every storage byte with the given hex pattern |
The gfortran compatibility alias `-finit-local-zero` is equivalent to
`-finit-local=zero`.
## Excluded variables (not initialized)
- Variables with explicit initializers (`integer :: x = 42`)
- Variables initialized via DATA statement
- Derived-type variables whose type has default component initialization
- SAVE variables (static storage)
- Dummy arguments
- ALLOCATABLE and POINTER variables
- Variables in EQUIVALENCE sets
- Cray pointees (their FIR base is a pointer-box descriptor, not value
storage)
- CUDA variables in device-only memory (`device`, `constant`, `shared`,
`usedevice`)
- **PowerPC vector locals** (`vector(real(4))` etc., direct or as a
derived-type component) — `fir::VectorType` does not implement
`DataLayoutTypeInterface`; see `finit-local-ppc-vector-llvm.f90`
## Known limitations
- CHARACTER arrays are not yet initialized (TODO: PR #159788).
- Arrays with unknown or zero extent at compile time are skipped.
- `REAL(16)`/`COMPLEX(16)` require `flang-supports-f128-math`.
- Sub-byte or non-byte-multiple kind mappings for LOGICAL without
allocation padding emit a controlled TODO diagnostic in hex mode only
(zero mode and padded mappings are supported in both modes).
- PowerPC vector locals are excluded (direct or as a derived-type
component).
Commit: 8ec24aa666a738c7258e2541a40b2e53bd7902ec
https://github.com/llvm/llvm-project/commit/8ec24aa666a738c7258e2541a40b2e53bd7902ec
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/CMakeLists.txt
M llvm/lib/Target/Mips/Mips.h
M llvm/lib/Target/Mips/Mips16HardFloat.cpp
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
R llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.h
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.h
M llvm/test/CodeGen/Mips/mips16-hf-attr.ll
M llvm/test/CodeGen/Mips/mips16_32_1.ll
M llvm/test/CodeGen/Mips/mips16_32_10.ll
M llvm/test/CodeGen/Mips/mips16_32_3.ll
M llvm/test/CodeGen/Mips/mips16_32_4.ll
M llvm/test/CodeGen/Mips/mips16_32_5.ll
M llvm/test/CodeGen/Mips/mips16_32_6.ll
M llvm/test/CodeGen/Mips/mips16_32_7.ll
M llvm/test/CodeGen/Mips/mips16_32_8.ll
M llvm/test/CodeGen/Mips/mips16_32_9.ll
M llvm/test/CodeGen/Mips/small-section-reserve-gp.ll
M llvm/test/Transforms/DivRemPairs/Mips/div-expanded-rem-pair.ll
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gn
Log Message:
-----------
[Mips] Remove the subtarget reset pass (#225833)
MIPS updates a target-machine-wide subtarget pointer before instruction
selection. This makes global section placement depend on the last
compiled function and leaves mixed-mode decisions tied to module state.
Use each function's subtarget for lowering, TTI and MIPS16 hard-float
handling, and retain the default subtarget's small-data policy for
global placement. Remove the reset pass, unused fixed subtargets and the
redundant mips-mixed-16-32 option.
Assisted-by: chatgpt-5.6-luna # Testcases
Commit: ae4f4a181f6c7768bee1eb2a5abaae940c9ffa68
https://github.com/llvm/llvm-project/commit/ae4f4a181f6c7768bee1eb2a5abaae940c9ffa68
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
A clang/test/CIR/CodeGen/bitint-wide-be.c
Log Message:
-----------
[CIR] Implement big-bitint lowering for big-endian (#225829)
As a followup to #225470, there was a post-commit comment that we didn't
do big-endian. This patch does that implementation.
However, thanks to the lack of the PPC ABI, we can't use the same test
file (the check lines for functions made the set of prefixes absurd), so
this only does the ones that are effectively different in a meaningful
way, which is a few of the constants. WE match classic in all but
irrelevant differences (packed vs not in 1 place).
Commit: 7008bdc020b6906ce9a5ff7c41224157893a7608
https://github.com/llvm/llvm-project/commit/7008bdc020b6906ce9a5ff7c41224157893a7608
Author: ilia-cher <30845429+ilia-cher at users.noreply.github.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
A llvm/test/CodeGen/AMDGPU/lirp.mir
Log Message:
-----------
[AMDGPU] Improved register pressure estimates for rescheduling (#213116)
Currently we use instantaneous register pressure estimates during
scheduling. This simple metric counts the number of registers live at
any given moment; scheduler uses it to determine when we are over the
register budget and should start prioritizing instructions that free
registers.
Unfortunately, this metric can sometimes be overly optimistic: for
example, it does not account for register redefinitions (common for
loop-carried vregs), and can underestimate the true register pressure.
This can often result in unnecessary spills and loss of performance in
production kernels.
To fix this, we introduce a stage that selectively reschedules certain
regions: it uses a lightweight, greedy, non-splitting register
allocation simulation to detect when the instantaneous estimate might be
wrong and a region should be rescheduled with tighter register limits.
Test plan:
```
ninja -C build
build/bin/llvm-lit -v llvm/test/CodeGen/AMDGPU/lirp.mir
+ perf testing on a corpus of kernels
```
Commit: 28d90b4824d5b485c891b1fcfc5b79add6052916
https://github.com/llvm/llvm-project/commit/28d90b4824d5b485c891b1fcfc5b79add6052916
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/docs/AIToolPolicy.md
M llvm/docs/AMDGPU/DeveloperGuideline.rst
M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/AdminTasks.md
M llvm/docs/CodeGenerator.md
M llvm/docs/CodingStandards.md
M llvm/docs/CommandGuide/llvm-ir2vec.md
M llvm/docs/CommandGuide/llvm-remarkutil.md
M llvm/docs/CompileCudaWithLLVM.md
M llvm/docs/DeveloperPolicy.md
M llvm/docs/ExtendingLLVM.md
M llvm/docs/GettingInvolved.md
M llvm/docs/GettingStarted.md
M llvm/docs/GitHub.md
M llvm/docs/GitRepositoryPolicy.md
M llvm/docs/GwpAsan.rst
M llvm/docs/HowToAddABuilder.rst
M llvm/docs/HowToBuildWithPGO.md
M llvm/docs/HowToCrossCompileBuiltinsOnArm.md
M llvm/docs/HowToCrossCompileLLVM.md
M llvm/docs/InstrProfileFormat.md
M llvm/docs/InstrRefDebugInfo.md
M llvm/docs/LangRef.md
M llvm/docs/Lexicon.md
M llvm/docs/LoopTerminology.md
M llvm/docs/MIRLangRef.md
M llvm/docs/MLGO.rst
M llvm/docs/MarkdownQuickstartTemplate.md
M llvm/docs/MeetupGuidelines.md
M llvm/docs/MemProf.md
M llvm/docs/MergeFunctions.md
M llvm/docs/NVPTXUsage.md
M llvm/docs/OpaquePointers.md
M llvm/docs/PointerAuth.md
M llvm/docs/ProgrammersManual.md
M llvm/docs/Proposals/VectorPredication.md
M llvm/docs/QualGroup.md
M llvm/docs/RISCV/RISCVVectorExtension.md
M llvm/docs/ReleaseNotes.md
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/SandboxIR.md
M llvm/docs/ScudoHardenedAllocator.md
M llvm/docs/SecurityTransparencyReports.md
M llvm/docs/SphinxQuickstartTemplate.md
M llvm/docs/SupportPolicy.md
M llvm/docs/TestingGuide.md
M llvm/docs/tutorial/BuildingAJIT1.md
M llvm/docs/tutorial/BuildingAJIT4.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl09.md
M utils/docs/llvm_sphinx/ext/absolute_links.py
M utils/docs/llvm_sphinx/ext/absolute_links_test/conf.py
M utils/docs/llvm_sphinx/ext/absolute_links_test/markdown.md
M utils/docs/llvm_sphinx/ext/absolute_links_test/rest.rst
A utils/docs/llvm_sphinx/ext/absolute_links_test/static.html
Log Message:
-----------
[docs] Replace llvm.org/docs links with project links (#222506)
Replace same-project absolute http* URLs with project-local markdown
links. This lets Sphinx validate the targets and keeps local
documentation builds and archived release documentation self-contained.
During the review of the PR, we decided that we prefer markdown-native
links with section header slugs for cross-referencing, when possible.
This is maximally compatible with other markdown renderers, like github.
This has been added to the sphinx quickstart guide, which serves as our
project local Sphinx style guide.
The absolute link checker has been updated to guide people towards the
correct link cross-ref syntax, warning on discouraged constructs.
Part of #214861
Assisted-by: codex
Commit: 396179a4dc3f1493bce1a5c81737175d1601519c
https://github.com/llvm/llvm-project/commit/396179a4dc3f1493bce1a5c81737175d1601519c
Author: David Green <david.green at arm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
Log Message:
-----------
[AArch64] Add tests for slice / ext shuffle kinds. NFC (#225949)
Commit: d4fd8328378def36c29e12b57fbfe69b404f10bc
https://github.com/llvm/llvm-project/commit/d4fd8328378def36c29e12b57fbfe69b404f10bc
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/flang-rt/lib/runtime/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 4989b3b (#225940)
This fixes 4989b3b0bb752c436c922d8e65cd7a952038d5db (#225877).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=4989b3b0bb752c436c922d8e65cd7a952038d5db
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 5a03a736fd53f64b66fcb064cd9a6a74214d309b
https://github.com/llvm/llvm-project/commit/5a03a736fd53f64b66fcb064cd9a6a74214d309b
Author: Alex Langford <alangford at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/source/Core/IOHandlerCursesGUI.cpp
Log Message:
-----------
[lldb] Remove ConstString from IOHandlerCursesGUI.cpp (#225524)
Commit: 1f6f059b8f15cc34c848f9030fb53e63771bbd2e
https://github.com/llvm/llvm-project/commit/1f6f059b8f15cc34c848f9030fb53e63771bbd2e
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access.ll
A llvm/test/CodeGen/SPIRV/pointers/variable-pointers-storage-buffer.ll
Log Message:
-----------
[SPIR-V] Emit variable pointer capability for resources (#225471)
A function-local SPIR-V variable whose allocated type contains a
`StorageBuffer` pointer requires the module to declare the
`VariablePointersStorageBuffer` capability.
This change detects that variable-pointer context while lowering
function-local variables and recursively checks nested aggregate types.
Directly used structured buffers do not enable the capability. It also
registers the capability as available for Vulkan targets that support
SPIR-V 1.3 or `SPV_KHR_variable_pointers`, and emits the extension when
targeting older SPIR-V versions.
Fixes: #202064
Assisted by GPT-5.6 Sol
---------
Co-authored-by: Copilot App <223556219+Copilot at users.noreply.github.com>
Commit: 03a1d68a90c4ba5f6be086fabc37836b0a789b1b
https://github.com/llvm/llvm-project/commit/03a1d68a90c4ba5f6be086fabc37836b0a789b1b
Author: Anshul Nigham <nigham at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/flang/lib/Lower/BUILD.bazel
Log Message:
-----------
[Bazel] Add ComplexDialect dependency to FortranLower (#225973)
Fixes FortranLower bazel error introduced in commit 45bc3fbacaed, where
ConvertVariable.cpp includes mlir/Dialect/Complex/IR/Complex.h.
Commit: 0ce1b5f91add535d1e8b910ee90c178e054c65eb
https://github.com/llvm/llvm-project/commit/0ce1b5f91add535d1e8b910ee90c178e054c65eb
Author: Ömer Sinan Ağacan <omer at osa1.net>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/Bitcode/aarch64-neon-minmax-upgrade.ll
M llvm/test/CodeGen/AArch64/abd-combine.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmax.ll
Log Message:
-----------
[LLVM][AArch64] Remove intrinsics `llvm.aarch64.neon.{s,u}{min,max}` (#225339)
Commit: ade7081e0c7f1a9024256c65e26531da0354a7f1
https://github.com/llvm/llvm-project/commit/ade7081e0c7f1a9024256c65e26531da0354a7f1
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/include/llvm/Support/AutoConvert.h
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/Unix/Path.inc
Log Message:
-----------
[SystemZ][z/OS] Fix compile errors cused by sys::fs::file_t (#225539)
Follow-up to #224859: some calls/prototypes are guarded on z/OS, and
also need to be updated. This change fixes various compile errors.
Commit: 104f644ddbd3891bcc5955164672dd447110bd3c
https://github.com/llvm/llvm-project/commit/104f644ddbd3891bcc5955164672dd447110bd3c
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/docs/DirectX/SemanticSignatures.md
M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
M llvm/unittests/Frontend/HLSLSemanticSignaturePackingTest.cpp
Log Message:
-----------
[HLSLSemanticSignatures] Implement the optimal packing of elements (#218064)
Implements the optimal packing algorithm by sorting the elements in an
optimal order before sorting with prefix packing. This also adds an
explicit packing stage for the clip/cull signature elements that allows
them to be packed with other compatible semantic types.
Resolves: #205874.
Assisted by: Claude Opus 5 and GPT-5.6 Sol
Commit: 57a637ad382b7e496a8a914cbcd3661579d18e13
https://github.com/llvm/llvm-project/commit/57a637ad382b7e496a8a914cbcd3661579d18e13
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/Evaluator.cpp
A llvm/test/Transforms/GlobalOpt/constructor-explicit-section.ll
Log Message:
-----------
[GlobalOpt] Fix constructor folding on global with explicit section. (#220729)
Make sure we don't try to emit a non-zero value into BSS, or anything
similar to that.
Commit: bc9119b4259a08bbc58787303a829214f95d079c
https://github.com/llvm/llvm-project/commit/bc9119b4259a08bbc58787303a829214f95d079c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Support.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Support.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp
A flang/test/Fir/CUDA/cuda-device-is-active.mlir
M flang/test/Fir/cuf.mlir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-derived.cuf
M flang/test/Lower/CUDA/cuda-return01.cuf
M flang/test/Lower/CUDA/cuda-return02.cuf
Log Message:
-----------
[flang][cuda] Lower device is active as an operation (#225583)
Instead of lowering straight to a functin call, go through an op so it
can be lowered differently between device and host.
Commit: 76d164c48a5076c160285765df23749b9bab1ebc
https://github.com/llvm/llvm-project/commit/76d164c48a5076c160285765df23749b9bab1ebc
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/new-null.cpp
Log Message:
-----------
[CIR] Fix the order of temporary object cleanup (#225560)
We had a problem in CIR where we were performing cleanups in the wrong
order when conditional and unconditional cleanups were needed for
temporary objects created in a single expression. The unconditional
cleanups were being emitted as they occur, while the conditional
cleanups were deferred until the entire expression had been emitted. The
result was that conditional cleanups were performed after unconditional
cleanups, even if the unconditionally destroyed object was created
first.
This change fixes that problem by reorganizing the way conditional
cleanups are handled. A cir.cleanup.scope operation is now created
eagerly where a conditional begins rather than at the start of the full
expression, so that it nests inside the cleanup scopes of temporaries
created before the conditional and outside those created after it. Scope
nesting determines the order in which the cleanup regions run, so this
yields reverse-of-construction order. A ConditionalCleanupScope object
tracks the scope and the conditional cleanups waiting to be emitted into
it. If the eagerly created cleanup scope operation ends up not having
been needed, the canonicalization pass will remove it.
Assisted-by: Cursor / claude-opus-5
Commit: 7e4b8ae111298941e0c31052a7124ab36f5365b5
https://github.com/llvm/llvm-project/commit/7e4b8ae111298941e0c31052a7124ab36f5365b5
Author: Rafael Auler <rafael at rafaelauler.cc>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M bolt/include/bolt/Core/DebugNames.h
M bolt/lib/Core/DebugNames.cpp
Log Message:
-----------
[BOLT] Make .debug_names emission reproducible (#225218)
--update-debug-sections does not produce the same binary twice when the
input has a .debug_names section, or is given one with
--create-debug-names-section. Three sections vary from run to run:
.debug_str, .debug_names and .debug_str_offsets. On a two-CU split-DWARF
test binary, ten runs of the same llvm-bolt produced three different
outputs.
PR #197859 made the per-bucket work merge in partition order precisely
so the output would be reproducible, but missed this section. Two
issues:
- .debug_str offsets were handed out from the workers, so main.dwo.dwo
added by the merge step lands in a different place in each run. The
string offsets stored in .debug_names follow from it, and so does
.debug_str_offsets;
- hash colliding names were ordered by insertion (worker) order, also
non-deterministic.
We now determine string positions in the non-concurrent finalize step(),
and order collisions.
Commit: 620a9e9afaae2d51f186fd0f41988e3b326a127c
https://github.com/llvm/llvm-project/commit/620a9e9afaae2d51f186fd0f41988e3b326a127c
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
Log Message:
-----------
[RISCV] Combine two consecutive VSLIDEDOWN_VL nodes into one (#225232)
Given this pattern
```
%down0 = RISCVISD::VSLIDEDOWN_VL undef, %val, %offset0, %mask, %vl0
%down1 = RISCVISD::VSLIDEDOWN_VL undef, %down0, %offset1, %mask, %vl1
```
we can turn it into
```
%down1 = RISCVISD::VSLIDEDOWN_VL undef, %val, %offset2, %mask, %vl1
```
where %offset2 is `%offset0 + %offset1`, if `%vl0 >= %offset1 + %vl1`.
Commit: 77d48460414a9abc0743af84e6fc8c488b90ae55
https://github.com/llvm/llvm-project/commit/77d48460414a9abc0743af84e6fc8c488b90ae55
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/SandboxIR/Instruction.cpp
Log Message:
-----------
[SandboxIR] Add missing export to symbol used in test (#225505)
Commit: 263300bfce487bc7a115a31f59619568d9a20632
https://github.com/llvm/llvm-project/commit/263300bfce487bc7a115a31f59619568d9a20632
Author: Andre Sun <andsun9999 at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
Log Message:
-----------
[clangd] Enforce SymbolKind YAML coverage with -Wswitch (#225945)
Turn the SymbolKind YAML mappings into switch cases so missing mappings
trigger -Wswitch.
Follow-up to #222070.
Commit: 1c5716860e427859ce8c838ca3883b58eeb8b28c
https://github.com/llvm/llvm-project/commit/1c5716860e427859ce8c838ca3883b58eeb8b28c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[flang] Remove FIRBuilder dependency from optimizer support utilities (#225836)
Fix a GCC 16 build failure where FIROps.cpp.o had undefined references
to
fir::FirOpBuilder::setCommonAttributes(mlir::Operation *) const from
FirOpBuilder::notifyOperationInserted,
RewriterBase::ForwardingListener's notifyOperationInserted, and
OpBuilder::createOrFold<fir::ConvertOp>.
FIROps.cpp includes Optimizer/Support/Utils.h, which previously included
FIRBuilder.h. That exposes the inline virtual override
FirOpBuilder::notifyOperationInserted and its call to the out-of-line
setCommonAttributes implementation. Speculative devirtualization can
turn an ordinary virtual listener call into a guarded direct call and
inline that override, introducing a reference to setCommonAttributes
without an explicit use of FirOpBuilder in FIROps.cpp. This is
consistent with the reported call sites and GCC 16's expanded
speculative devirtualization.
The implementation belongs to FIRBuilder, whereas FIRDialect does not
link FIRBuilder. Adding that link would create a dependency cycle, since
FIRBuilder already depends on FIRDialect. Remove the unnecessary header
dependency instead, so the optimizer cannot see this derived listener
implementation when compiling FIROps.cpp.
The intrinsic type diagnostic helpers only needed the builder to get an
MLIRContext, which is already available from the type. Drop their
builder parameters, use type.getContext(), and update all callers,
including the now-unused parameters in the intrinsic-name diagnostic
helpers. Remove FIRBuilder.h from Utils.h and avoid the string-literal
namespace import it provided transitively. Include FIRBuilder.h
explicitly in CodeGen.cpp, which directly uses factory helpers declared
there.
The standalone FIRBuilder build needed acc_gen generated explicitly for
an unrelated missing OpenACC parser header.
Assisted-by: Codex
Commit: b0c96fd7668d54fba2cd8f37dcc62bbcf5eb57b0
https://github.com/llvm/llvm-project/commit/b0c96fd7668d54fba2cd8f37dcc62bbcf5eb57b0
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/test/CIR/CodeGen/sdk-version.c
M clang/test/CIR/CodeGenCUDA/device-stub.cu
Log Message:
-----------
[CIR] Introduce the cir.sdk_version module attribute (#225953)
CIRGen records the platform SDK version on the module as a
`cir.sdk_version` string attribute, and LoweringPrepare's CUDA/HIP
registration reads it instead of `getTargetInfo().getSDKVersion()` to gate
`__cudaRegisterFatBinaryEnd`, dropping one more `ASTContext` dependency
from the post-CIRGen pipeline.
LLVM IR already records the same fact as the "SDK Version" module flag
(`Module::setSDKVersion/getSDKVersion`), so an attribute on the module
is proper.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 50c52f53edd2fde8d699ce17e7e35edb5e281e85
https://github.com/llvm/llvm-project/commit/50c52f53edd2fde8d699ce17e7e35edb5e281e85
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
Log Message:
-----------
[PowerPC] Restore LiveVariables run before PPCTLSDynamicCallPass (#225816)
This change is a partial revert of 7818c91f7151. Removing the explicit
LiveVariables run before PPCTLSDynamicCallPass causes a crash on ppc64le
-fPIC builds:
```
fatal error: error in backend: Use not jointly dominated by defs.
```
This change was first added in 2016 with an unresolved FIXME.
Unfortunately, the root cause still needs to be understood and
investigated, so restore this for now to fix the broken buildbots.
Commit: ad3b8bec3a8976d6fb1a3f731f01fc453fa66efc
https://github.com/llvm/llvm-project/commit/ad3b8bec3a8976d6fb1a3f731f01fc453fa66efc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M libcxx/docs/TestingLibcxx.rst
Log Message:
-----------
[libc++][docs] Fix typos in TestingLibcxx.rst (#225983)
Commit: 22108b501943f7a315f05ed16f5569ddb5d5d458
https://github.com/llvm/llvm-project/commit/22108b501943f7a315f05ed16f5569ddb5d5d458
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
R llvm/test/TableGen/AMDGPUTargetDefGenericClassification.td
M llvm/test/TableGen/AMDGPUTargetDefGenericFeatures.td
Log Message:
-----------
[AMDGPU] Use synthetic fixtures for generic feature validation tests (#225551)
Remove the classification test that includes the full AMDGPU target.
Real targets are validated when generating AMDGPUTargetParserDef.inc
during the build.
Extend the lightweight generic feature tests to cover inherited
classifications of backend-only features, support through member-side
implications, and unsupported generic-side implied features.
Addresses the timeout reported on #223179
Commit: 9058b9c58e0788fcf3e00a3543587a82b12fa62a
https://github.com/llvm/llvm-project/commit/9058b9c58e0788fcf3e00a3543587a82b12fa62a
Author: Kane Wang <wangqiang1 at kylinos.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/half-convert.ll
Log Message:
-----------
[RISCV][GlobalISel] Fix fptosi/fptoui from half to i64 on RV32 (#222316)
The fcvt.l[u].h patterns are RV64-only, so RV32 had no rule for
`G_FPTOSI/G_FPTOUI` with `{s64, s16}.` The magnitude of a half is at
most `65504`, so with Zfh the i32 result of `fcvt.w[u].h` never
overflows and can simply be extended to i64.
Commit: 28fec94991905d8dd8a08658e9590e13b7fe1af5
https://github.com/llvm/llvm-project/commit/28fec94991905d8dd8a08658e9590e13b7fe1af5
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
A llvm/test/tools/llvm-profgen/AArch64/cs-bogus-trace.test
M llvm/test/tools/llvm-profgen/lit.local.cfg
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
Log Message:
-----------
[llvm-profgen] Fix bogus trace check (#225569)
Commit: 9c2e2cf0289feb7cf4ff5aafb8a46fae82bfeb2f
https://github.com/llvm/llvm-project/commit/9c2e2cf0289feb7cf4ff5aafb8a46fae82bfeb2f
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CodeLayoutOpt.cpp
M llvm/test/CodeGen/AArch64/code-layout-opt.ll
Log Message:
-----------
Disable AArch64CodeLayoutOpt for Windows targets. (#225974)
The pass is not compatible with Windows unwind info.
Fixes #212819
Commit: 15c447ea081640069246bb22147ed3cc4ab4e1d3
https://github.com/llvm/llvm-project/commit/15c447ea081640069246bb22147ed3cc4ab4e1d3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/test/Fir/global-attributes.fir
Log Message:
-----------
[flang][FIR] Make global section an inherent attribute (#225963)
Preserve the section when lowering fir.global to an LLVM global.
Assisted-by: Codex
Commit: 34d9eab9d702da1c63fd82349ec9cb10834f3ade
https://github.com/llvm/llvm-project/commit/34d9eab9d702da1c63fd82349ec9cb10834f3ade
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
A llvm/test/CodeGen/RISCV/machine-sink-jumptable-edge-split.ll
Log Message:
-----------
[RISCV] Support getJumpTableIndex (#224197)
This patch implements getJumpTableIndex hook for RISC-V; it trace from
PseudoBRIND back to the %jump-table.N.
The li instruction in jumptable dispatch block exists because the phi
constant is emitted during instruction selection. LLVM chooses the
source block in which to place the phi constant, then postpones moving
it to MachineSink, which relocates the phi constant closer to its use
site. However, to sink it out of the jump table dispatch block,
MachineSink needs to split the critical edge, which requires updating
the jump table entry. It needs the getJumpTableIndex hook to know which
jump table to update.
This avoids unnecessary instructions in the hot path (the jump table
dispatch block).
Commit: 4802f8f42c4b079c12994961f1d81c838581b831
https://github.com/llvm/llvm-project/commit/4802f8f42c4b079c12994961f1d81c838581b831
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqciio-invalid.s
M llvm/test/MC/RISCV/xqciio-valid.s
Log Message:
-----------
[RISCV][MC] Allow x0 as the destination of qc.inw (#225602)
According to the Xqciio specification, `qc.inw` does not impose any
restriction that excludes `x0` as the destination register. In
`qc.inw.yaml`, `rd` is defined as:
```
- name: rd
location: 11-7
```
This commit removes the incorrect `x0` restriction for `qc.inw`.
Link:
https://github.com/qualcomm/riscv-unified-db/blob/main/arch_overlay/qc_iu/inst/Xqci/qc.inw.yaml
Commit: e8d8ea3a8689a9f669c31a4824cec11e2aa533e3
https://github.com/llvm/llvm-project/commit/e8d8ea3a8689a9f669c31a4824cec11e2aa533e3
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M orc-rt/include/CMakeLists.txt
A orc-rt/include/orc-rt-internal/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrar.h
R orc-rt/include/orc-rt/bedrock/StandaloneMachOUnwindInfoRegistrar.h
M orc-rt/lib/bedrock/CMakeLists.txt
R orc-rt/lib/bedrock/StandaloneMachOUnwindInfoRegistrar.cpp
R orc-rt/lib/bedrock/sps/StandaloneMachOUnwindInfoRegistrarSPSCI.cpp
A orc-rt/lib/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrar.cpp
A orc-rt/lib/bedrock/sys/darwin/sps/StandaloneMachOUnwindInfoRegistrarSPSCI.cpp
M orc-rt/test/unit/CMakeLists.txt
R orc-rt/test/unit/bedrock/StandaloneMachOUnwindInfoRegistrarTest.cpp
A orc-rt/test/unit/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrarTest.cpp
Log Message:
-----------
[orc-rt] Make StandaloneMachOUnwindInfoRegistrar internal. (#225982)
StandaloneMachOUnwindInfoRegistrar depends on libunwind's
__unw_add_find_dynamic_unwind_sections, which is only available on
Darwin, and is only consumed within the runtime. Move its header to
orc-rt-internal/bedrock/sys/darwin/ (no longer installed), and its
sources and unit test to the corresponding sys/darwin/ directories.
The SPS CI adder header stays public, but is now installed only on Apple
platforms.
Commit: 3113e3b63d7e4f480dc30e6438f49a10faa020b0
https://github.com/llvm/llvm-project/commit/3113e3b63d7e4f480dc30e6438f49a10faa020b0
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/CUDA/predefined-variables.mlir
A flang/test/Fir/if-constant-condition-fold.fir
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/ieee_max_min.f90
A flang/test/Lower/if-constant-condition.f90
Log Message:
-----------
[flang] Fold fir.if with a constant condition (#225542)
Use `populateRegionBranchOpInterfaceInliningPattern` to fold `fir.if`
when the condition is a constant. It inlines the region the condition
selects, replacing uses of the `fir.if` results with the operands of
that region's `fir.result`, and erases the `fir.result`. A false
condition with no else region leaves nothing behind.
Commit: 8e7008ab4399a55353ad8744f1f574a5c1879f30
https://github.com/llvm/llvm-project/commit/8e7008ab4399a55353ad8744f1f574a5c1879f30
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
Log Message:
-----------
[AMDGPU][InstCombine] Canonicalize dot constant operands (#225083)
Move constant dot product source operands to the right hand side
and add tests for signed and unsigned dot intrinsics.
Commit: d41ee5c7c900f8c80026d8f477729b4956db7c3c
https://github.com/llvm/llvm-project/commit/d41ee5c7c900f8c80026d8f477729b4956db7c3c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/sdiv.ll
M llvm/test/Transforms/ConstraintElimination/srem.ll
Log Message:
-----------
[ConstraintElim] Add facts for sdiv with a positive divisor. (#225535)
Add signed bounds for `sdiv x, n`:
* `x s>= 0` and `n s> 0` => result s>= 0 and result s<= x
https://alive2.llvm.org/ce/z/Tvb3Nq
* `x s> 0` and `n s> 1` => result s= 0 and result s< x
https://alive2.llvm.org/ce/z/sL-XyG
PR: https://github.com/llvm/llvm-project/pull/225535
Commit: 3b264487a537168a4439c4830692cab646012775
https://github.com/llvm/llvm-project/commit/3b264487a537168a4439c4830692cab646012775
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 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/sys/stat.yaml
M libc/src/sys/stat/CMakeLists.txt
M libc/src/sys/stat/linux/CMakeLists.txt
A libc/src/sys/stat/linux/mknod.cpp
A libc/src/sys/stat/mknod.h
M libc/test/src/sys/stat/CMakeLists.txt
A libc/test/src/sys/stat/mknod_test.cpp
Log Message:
-----------
[libc] Implement mknod in sys/stat (#225677)
Implement the standard POSIX.1-2008 / POSIX.1-2024 function `mknod` in
`<sys/stat.h>`.
Fixes #225664
Commit: 5b8f372ab952fa3a83411d1d289c9a8d2e2fb3dd
https://github.com/llvm/llvm-project/commit/5b8f372ab952fa3a83411d1d289c9a8d2e2fb3dd
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
A llvm/test/CodeGen/RISCV/rvp-ppaireo-w.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Select PPAIREO.W when packing with the high word of a value (#225763)
The low-half packed subvector insert is a v2i32 whose low word is the
subvector and whose high word is the high word of the wide vector,
which is exactly `ppaireo.w` (the low word comes from `rs1`, the high
word from `rs2`). Select it directly instead of `srli` + `pack`.
Adds `rvp-ppaireo-w.ll`; `rvp-simd-64.ll` is updated because the scalar
low insert in `test_insert_vector_32` now selects `ppaireo.w`.
Commit: a3ac598a8782df337f477672979d4dd53dc601b0
https://github.com/llvm/llvm-project/commit/a3ac598a8782df337f477672979d4dd53dc601b0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
A flang/test/Fir/CUDA/cuda-data-transfer-defer-acc-routine.mlir
Log Message:
-----------
[flang][cuda] Defer data-transfer conversion in OpenACC routines (#225906)
Add an option so cuf-convert can leave cuf.data_transfer in the
host copy of an OpenACC routine until host/device specialization.
After that, transfers in a specialized device body become
assignments. Place allocas inside IsolatedFromAbove offload
regions so later FIR lowering does not store into a temporary
defined outside acc.compute_region.
Commit: cdd0cc72485131b178011dd9c53ed2148f63ed5e
https://github.com/llvm/llvm-project/commit/cdd0cc72485131b178011dd9c53ed2148f63ed5e
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
Log Message:
-----------
[Clang][RISCV] Add packed subvector insert intrinsics (#225771)
Add __riscv_pset_i8x4_i8x8, __riscv_pset_u8x4_u8x8,
__riscv_pset_i16x2_i16x4 and __riscv_pset_u16x2_u16x4, which insert a
32-bit packed subvector into a 64-bit packed vector. The index selects
the low or high half and must be a constant, enforced with
__enable_if__ as for the element insert intrinsics.
Commit: 569085f9a800b2035e9644d71af6a5b495a8d770
https://github.com/llvm/llvm-project/commit/569085f9a800b2035e9644d71af6a5b495a8d770
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
A llvm/test/CodeGen/RISCV/rvp-widening-sub-acc.ll
Log Message:
-----------
[Clang][RISCV] Add packed widening subtraction accumulate intrinsics (#225764)
Add Clang header intrinsics for the RISC-V P-extension packed widening
subtraction accumulate operations:
- __riscv_pwsuba_i16x4
- __riscv_pwsuba_i32x2
- __riscv_pwsubau_u16x4
- __riscv_pwsubau_u32x2
Each computes rd + (a - b). The header wrappers use generic LLVM IR,
so RV32 selects the direct `pwsuba.*` / `pwsubau.*` instructions while
RV64 lowers the generic IR to the decomposition specified by the
P-extension intrinsic spec.
Commit: b19a36aaf4b9aaea539b903bd515b54a9f23a639
https://github.com/llvm/llvm-project/commit/b19a36aaf4b9aaea539b903bd515b54a9f23a639
Author: Matteo Di Iorio <104271382+splicer3 at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir
Log Message:
-----------
[mlir][Affine] Prevent buffer hoisting out of affine.parallel (#225324)
I noticed that `buffer-loop-hoisting` can move allocations out of
`affine.parallel`, making a buffer that should be local to each
iteration shared between the parallel iterations.
`AffineParallelOp` implements `LoopLikeOpInterface` but was missing the
`HasParallelRegion` trait, so `isSequentialLoop` treated it as
sequential. This adds the missing trait to `affine.parallel`, allowing
the pass to recognize the parallel boundary without changing the
hoisting logic.
I’ve added a regression test based on the reproducer in #225149, which
checks that the allocation stays inside `affine.parallel` and that the
store and load still use that allocation.
Fixes #225149.
Commit: fbf3c11ccd65fee37c80c9c00c0c4ab638388fe0
https://github.com/llvm/llvm-project/commit/fbf3c11ccd65fee37c80c9c00c0c4ab638388fe0
Author: AJMullen <andreas.mullen at arm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M bolt/lib/Core/BinaryFunctionProfile.cpp
A bolt/test/AArch64/fix-block-count-multiple.s
A bolt/test/AArch64/fix-block-counts-indirect-branch.s
A bolt/test/AArch64/fix-block-counts-indirect-call.s
A bolt/test/RISCV/fix-block-count-multiple.s
A bolt/test/RISCV/fix-block-counts-indirect-branch.s
A bolt/test/RISCV/fix-block-counts-indirect-call.s
A bolt/test/X86/fix-block-count-multiple.s
A bolt/test/X86/fix-block-counts-indirect-branch.s
A bolt/test/X86/fix-block-counts-indirect-call.s
Log Message:
-----------
[BOLT] Include indirect calls/branches in basic block count estimation (#225104)
**Before:** When BOLT adjusts basic block counts in LBR mode it
considers outgoing branch counts when `--fix-block-counts` is enabled.
This adjustment was made according to the counts of direct calls and
branches which are recorded in the `Count` annotation made in
`DataReader::convertBranchData`. Indirect calls and branches are also
recorded within the `CallProfile` annotation, however they do not
contribute to the adjustment of basic block counts.
**After:** When making this adjustment to basic block counts, also
consider the counts of indirect calls and branches within the
`CallProfile` annotation. Do this by summing the execution counts of the
targets from this call/branch and considering them in determining the
maximum execution count of the basic block.
Assisted by: Codex. This was to write the tests for `x86` and `RISCV`
targets.
Commit: 898dc21a7e97a7a5e055428219fd23f59f6563b4
https://github.com/llvm/llvm-project/commit/898dc21a7e97a7a5e055428219fd23f59f6563b4
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/test/CodeGenCXX/dllexport-rtti-visibility.cpp
Log Message:
-----------
[clang] Inconsistent attributes for `dllexport __cxxabiv1:: __fundamental_type_info` with `-fvisibility=hidden` (#215859)
Fixes #207963
The issue is `__declspec(dllexport)` and `hidden` visibility cannot be
used together. LLVM rejects `globals` that have both attributes.
For normal globals, `CodeGenModule::setGlobalVisibility` already handles
this by giving `dllexport` priority over the visibility implied by
`-fvisibility=hidden`. RTTI follows a different code path, though.
`ItaniumRTTIBuilder::BuildTypeInfo` applies the visibility and DLL
storage class separately to the generated `_ZTI*` and `_ZTS*` globals,
so the conflict was not resolved.
As a result, marking `__cxxabiv1::__fundamental_type_info` as
`dllexport` while compiling with `-fvisibility=hidden` could generate
RTTI globals with both hidden visibility and `dllexport`, causing LLVM
to fail verification with Broken module found. The same problem can
occur for `dllexport`-ed polymorphic classes when targeting Windows with
the Itanium ABI.
Resolve the conflict directly in `BuildTypeInfo`, where both attributes
are applied. When `dllexport` is present, only hidden visibility is
changed to default; protected visibility is left unchanged because
protected with `dllexport` is valid LLVM IR. Explicit
`visibility("hidden")` on a `dllexport`-ed class continues to produce
the existing diagnostic.
Commit: 11fa04d92150f871fa778460cd8bad35719b9668
https://github.com/llvm/llvm-project/commit/11fa04d92150f871fa778460cd8bad35719b9668
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGenCXX/virtual-base-cast.cpp
Log Message:
-----------
[CIR] Make sure ptr-cast-to-vbase is guarded. (#225969)
It isn't clear how we missed this, but classic codegen does checks this,
so we should too.
Claude Helped diagnose/debug, but I did the copy/pasting :D
Commit: 846ad9de67ebea162840cbcf66b605226be3f18d
https://github.com/llvm/llvm-project/commit/846ad9de67ebea162840cbcf66b605226be3f18d
Author: Akun <cubehan3 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Fix canonicalizer crash when folding poison or kDynamic-sentinel index values (#223609)
Fixes two canonicalizer crashes, both in foldDynamicIndexList:
* #223333: tensor.extract_slice with a ub.poison offset/size crashes
canonicalization. ub.poison is matched as a constant but is not an
IntegerAttr, so getConstantIntValue returns nullopt and the subsequent
dereference asserts.
* #223336: a memref.subview offset/size/stride that wraps to
ShapedType::kDynamic (INT64_MIN) crashes canonicalization. Folding
INT64_MIN into the static array collides with the "dynamic" marker,
leaving dynamic-looking entries with no matching dynamic operands;
getMixedStrides() then asserts.
Only fold an operand when it is an integer constant whose value is not
ShapedType::kDynamic; poison and sentinel values stay dynamic operands.
Since foldDynamicIndexList is shared, this hardens all its callers.
Adds regression tests in mlir/test/Dialect/MemRef/canonicalize.mlir and
mlir/test/Dialect/Tensor/canonicalize.mlir.
Fixes #223333, #223336.
Commit: 593605cd2335b782cd9e02de961b326131b5add5
https://github.com/llvm/llvm-project/commit/593605cd2335b782cd9e02de961b326131b5add5
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/CodeGen/lifetime-marker.cpp
M clang/test/CIR/Transforms/flatten-cleanup-scope-musttail.cir
Log Message:
-----------
[CIR] Don't create EH paths for lifetime-marker-only cleanups (#224829)
### summary
fix https://github.com/llvm/llvm-project/issues/224821
A lifetime marker is not a real cleanup, so it must never be the reason
an unwind edge exists.
Assisted by : Claude Opus5
Commit: dfd1a85c6109d5a8bf9894d99e034ca178bb69f6
https://github.com/llvm/llvm-project/commit/dfd1a85c6109d5a8bf9894d99e034ca178bb69f6
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll
A llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-alias.ll
Log Message:
-----------
[CFI] Don't create alias->alias chains. (#225951)
Discovered downstream after PR #225173, when CFI and HWASAN are
combined.
See also
https://github.com/llvm/llvm-project/pull/225173#issuecomment-5802301926
If there is an alias, we should leave it alone, find its aliasee, and
create a new external linkage alias to that. Even if local linkage, the
existing alias may be referenced by name by e.g. inline assembly.
Commit: 4a7be3f275f2042e50ce80b66d7020bf84e3b09b
https://github.com/llvm/llvm-project/commit/4a7be3f275f2042e50ce80b66d7020bf84e3b09b
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/Diagnostics.h
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/IR/diagnostic-handler-next.mlir
M mlir/test/lib/IR/CMakeLists.txt
A mlir/test/lib/IR/TestDiagnosticsNext.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir] Add support for multi-parts diagnostics (#217804)
Under the current MLIR diagnostic infrastructure, emitting multiple
remarks at the same location requires calling the remark API multiple
times; moreover, every call to remark prints a note. This PR introduces
the concepts of "parts" To diagnostics. A streaming manipulator, called
`next`, similar to `std::endl` can be used to split multiple parts into
a single `InFlightDiagnostic`. This can be used for example to emit
multiple remarks at the same location, share the notes for those
remarks.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: db175d4e22935a0b8992801d3e4be276c0a69794
https://github.com/llvm/llvm-project/commit/db175d4e22935a0b8992801d3e4be276c0a69794
Author: Akun <cubehan3 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[mlir][Tensor] Reject empty expand_shape reassociation groups (#222648)
`tensor.expand_shape` with an empty reassociation group (e.g. `[[]]`)
used to abort the compiler: ExpandShapeOp::verify forwarded the group to
getSymbolLessAffineMaps, which asserts on missing affine expressions.
The sibling `tensor.collapse_shape` already rejects this input with a
clean diagnostic.
Extract the empty-group check into a helper shared by both tensor
reshape verifiers, invoke it from `ExpandShapeOp::verify`, and add an
invalid.mlir regression test that used to SIGABRT.
Fixes: #222602
Commit: cff0e6b5dc60cce76e85f0d9e9af537e76759315
https://github.com/llvm/llvm-project/commit/cff0e6b5dc60cce76e85f0d9e9af537e76759315
Author: Ying Huang <ying.huang at oss.cipunited.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M compiler-rt/lib/builtins/clear_cache.c
Log Message:
-----------
[Mips] Restrict rdhwr+synci to Linux on MIPS R6 (#222566)
The rdhwr instruction reads synci_step, which is not allowed by OpenBSD
and is not available for ISA older than mips{32/64}r2.
Restrict the rdhwr+synci to Linux on MIPS R6 and fall back to
_flush_cache on all other MIPS targets including OpenBSD and pre-R6
Linux.
Fix #219896.
Commit: 52d5f08f6ac5774e5e2af9b32822e23daec56b65
https://github.com/llvm/llvm-project/commit/52d5f08f6ac5774e5e2af9b32822e23daec56b65
Author: Letu Ren <fantasquex at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
A clang/test/CIR/IR/funnel-shift.cir
A clang/test/CIR/IR/invalid-funnel-shift.cir
A clang/test/CIR/Lowering/funnel-shift.cir
Log Message:
-----------
[CIR] Add cir.fshl and cir.fshr for elementwise funnel shifts (#222396)
Emit dedicated CIR ops from __builtin_elementwise_fshl/fshr instead of
cir.call_llvm_intrinsic.
Assisted-by: grok-4.6
Assisted-by: gpt-5.6-sol
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: 485f28816a3bc6025fa9fba97776f46916fc148f
https://github.com/llvm/llvm-project/commit/485f28816a3bc6025fa9fba97776f46916fc148f
Author: Letu Ren <fantasquex at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/LLVMIR/sroa.mlir
M mlir/test/Target/LLVMIR/Import/constant.ll
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVM] Support inrange in GEP (#220424)
LLVM IR allows inrange(Start, End) on constant GEP expressions.
Import dropped it because getAsInstruction() does not preserve it.
Model it as LLVM_ConstantRangeAttr on GEPOp, reject empty ranges,
keep it through fold/SROA, and emit ConstantExpr::getGetElementPtr.
Fixes #128031
Assisted-by: gpt-5.6-sol
Assisted-by: grok-4.6
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: d01665072d203e0d39bb364919de37cb0dcb9d8e
https://github.com/llvm/llvm-project/commit/d01665072d203e0d39bb364919de37cb0dcb9d8e
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
A clang/test/Sema/riscv-psati-width-out-of-range.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Add packed saturation intrinsics (#224432)
Add the Packed Saturation intrinsics `psati_i16x2`/`psati_i16x4`/
`psati_i32x2` and `pusati_u16x2`/`pusati_u16x4`/`pusati_u32x2`, their
codegen, and the Clang builtins and `riscv_packed_simd.h` wrappers.
See also
https://github.com/riscv/riscv-p-spec/blob/master/P-ext-intrinsics.adoc#packed-saturation
Commit: b30e26d9e0f0f02cdc9563878587a18a745a2cde
https://github.com/llvm/llvm-project/commit/b30e26d9e0f0f02cdc9563878587a18a745a2cde
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/dtor-comdat-key.cpp
Log Message:
-----------
[CIR] Implement comdat 'name' for dtors (#225929)
Itanium emits the complete-object ctor/dtor as an alias to the base
object version when they are able to be put into COMDAT. However, this
is not currently implemented in CIR, where we are missing the 'comdat
with a name' functionality.
This patch limits that to ONLY FuncOp, and only does the named version
(instead of referencing its own name) for these ctor/dtors. Doing this
for the comdat attribute and for GlobalOp is left to a future patch.
This showed up in the 'root' project, where the wrong dtor was called as
a result!
Note: Claude helped me with the diagnosis, and wrote the reproducer.
Commit: f9a544629742f7434ca993d675044be4cabde910
https://github.com/llvm/llvm-project/commit/f9a544629742f7434ca993d675044be4cabde910
Author: hidekisaito <hidekido at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float-fp8-hw.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
Log Message:
-----------
[AMDGPU] Exclude GFX11.7 from GFX11 VOPD interlock hazard fix (#225880)
Narrowed the scope of #220348 from all of GFX11. Also, this Hazard
is now defined as a feature in AMDGPU.td.
Commit: 38dcabc41cec041b91be72a4733d571c18c80c6e
https://github.com/llvm/llvm-project/commit/38dcabc41cec041b91be72a4733d571c18c80c6e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/riscv_packed_simd.h
Log Message:
-----------
[RISCV][P-Ext] Remove builtins for pmerge with signed types. (#225975)
We can use the unsigned builtins to implement the signed intrinsics.
Commit: a0e841b2d7034f3756d1c1a0c8fb5577e63fc114
https://github.com/llvm/llvm-project/commit/a0e841b2d7034f3756d1c1a0c8fb5577e63fc114
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Bump Zvfofp8min to 0.9 and add link to the spec. (#225848)
The version was bumped to 0.9 when it was moved to an ISA manual PR.
Commit: 262304409c301410d92b50b394aaabc85fab20f8
https://github.com/llvm/llvm-project/commit/262304409c301410d92b50b394aaabc85fab20f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[RISCV] Use vlenb CSR to set Zvl*b feature getHostCPUFeatures. (#225486)
Zvl*b features aren't exposed in HwProbe, probably because the vlenb CSR
exists.
Commit: af00034e5ce89ce3fba77b7153f23737662b777a
https://github.com/llvm/llvm-project/commit/af00034e5ce89ce3fba77b7153f23737662b777a
Author: Wenju He <wenju.he at intel.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] AOT-compile split modules concurrently (#224548)
AOT-compile all split modules in a thread pool instead of one at a time,
cutting AOT wall time when there are multiple split modules.
---------
Co-authored-by: Claude Sonnet 5 <noreply at anthropic.com>
Commit: 1c0ab03c1c3e2ae36434162f78709025a0e0f66e
https://github.com/llvm/llvm-project/commit/1c0ab03c1c3e2ae36434162f78709025a0e0f66e
Author: renndong <liumingliang.dev at bytedance.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/tail-calls-sret.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
Log Message:
-----------
[RISCV] Support tail calls for functions with sret parameters (#223999)
This PR allows RISC-V tail calls from functions with an `sret`
parameter in a conservative set of cases.
RISC-V currently rejects a tail call whenever either the caller or the
callee has an `sret` parameter. This unnecessarily prevents tail-call
optimization.
For example:
```
%struct.Buffer = type { [7 x i32] }
; Function Attrs: mustprogress noinline nounwind uwtable
define void @foo(ptr sret(%struct.Buffer) align 4 %agg.result) {
entry:
tail call void @bar(ptr %agg.result, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6)
ret void
}
```
The caller-provided return buffer is passed to `foo` in a0. The same
pointer is then passed as the bar's ordinary first argument,
which also uses a0. Before this change, RISC-V emits a normal
call with a prologue and epilogue:
```
addi sp, sp, -16
.cfi_def_cfa_offset 16
sd ra, 8(sp) # 8-byte Folded Spill
.cfi_offset ra, -8
li a1, 1
li a2, 2
li a3, 3
li a4, 4
li a5, 5
li a6, 6
call bar
ld ra, 8(sp) # 8-byte Folded Reload
.cfi_restore ra
addi sp, sp, 16
.cfi_def_cfa_offset 0
ret
```
With this change, the call can be emitted directly as:
```
li a1, 1
li a2, 2
li a3, 3
li a4, 4
li a5, 5
li a6, 6
tail bar
```
This change is conservative and only considers cases where the caller’s
sret pointer is passed to callees.
Commit: f6e450004591ba4e13d137dc63b82da6b8de1cae
https://github.com/llvm/llvm-project/commit/f6e450004591ba4e13d137dc63b82da6b8de1cae
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A llvm/include/llvm/ABI/DefaultTargetInfo.h
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/lib/ABI/CMakeLists.txt
A llvm/lib/ABI/DefaultTargetInfo.cpp
M llvm/unittests/ABI/TargetInfoTest.cpp
Log Message:
-----------
[ABI] Add DefaultTargetInfo for default argument/return classification (#225009)
Summary:
- Introduce `DefaultTargetInfo`, the `llvm::abi` analogue of
`clang::CodeGen::DefaultABIInfo`.
- It provides self-consistent, non-ABI-specific argument/return
classification that targets without special rules can inherit and
delegate to.
Changes:
- `DefaultTargetInfo.h`: new `DefaultTargetInfo` class declaring
`classifyArgumentType`, `classifyReturnType`, and a `computeInfo`
override.
- `DefaultTargetInfo.cpp`: implement them mirroring classic
`DefaultABIInfo`.
- `TargetInfoTest.cpp`: exercise the classifiers through a minimal
`DefaultTargetInfo` subclass.
- Added `hasInt128Type()` and `getLongLongWidth()` hooks plus a
`getBitIntRegThreshold()` helper mirroring classic, and use it in both
`DefaultTargetInfo` classifiers.
Pre-requisite PRs : https://github.com/llvm/llvm-project/pull/225301
Relates to : https://github.com/llvm/llvm-project/issues/220471
Assisted by: claude opus 4.8
Commit: 60bafedef85aecc6d3dba62436a838ec3f4040a7
https://github.com/llvm/llvm-project/commit/60bafedef85aecc6d3dba62436a838ec3f4040a7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
Log Message:
-----------
[clang][bytecode] Split `InterpFrame::shrink()`/`peekData()` into slow and fast paths (#225761)
And move the fast path to the header file, so it can be more easily
inlined.
Commit: 18c1aa83bf243f0aa6b7dfe08ecdb5600c612769
https://github.com/llvm/llvm-project/commit/18c1aa83bf243f0aa6b7dfe08ecdb5600c612769
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
Log Message:
-----------
[flang][cuda] Apply implicit managed attribute to scalar pointers (#225934)
Under -gpu=mem:managed, allocatables and array pointers already get an
implicit CUDA managed attribute, but scalar data pointers can still be
EntityDetails during FinishSpecificationPart and only become objects in
ConvertToObjectEntity. That left ALLOCATE of a scalar pointer on the
host heap, so present() failed to find it.
Factor the implicit managed/pinned attribution into
ApplyImplicitCUDADataAttr and invoke it from FinishSpecificationPart,
component declarations, and ConvertToObjectEntity. Skip it when
SetCUDADataAttr is applying an explicit attribute.
Commit: 01f3fe9a021f1b6933e033da89adbedbecd9600d
https://github.com/llvm/llvm-project/commit/01f3fe9a021f1b6933e033da89adbedbecd9600d
Author: Aditya Sinha <155882262+AdityaSinha149 at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Basic/TargetID.h
M clang/lib/Basic/TargetID.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang] Move normalizeForBundler to TargetID for reuse (#225049)
This PR is a prerequisite for #218337. It moves `normalizeForBundler
`from `HIPUtility.cpp` into `clang/Basic/TargetID` so the HIP toolchain,
`clang-linker-wrapper`, and `clang-repl` can share the same
offload-bundle target-name policy.
Assisted by Claude Opus 4.8
Commit: 74a53743efe6ce3feffca0503ca1ec7a53c7f5e6
https://github.com/llvm/llvm-project/commit/74a53743efe6ce3feffca0503ca1ec7a53c7f5e6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
Log Message:
-----------
[Github] Fix TODO around LLVM version in tooling container (#226015)
Now that the build job uses a newer version of podamn we can get this
fixed.
Commit: c986ee5d0b97f53ef82852597d626cfbf079d5a7
https://github.com/llvm/llvm-project/commit/c986ee5d0b97f53ef82852597d626cfbf079d5a7
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
Log Message:
-----------
[ORC] Mangle PerfSupportPlugin runtime function names as C (#226010)
The llvm_orc_registerJITLoaderPerf{Start,End,Impl} names are extern "C"
functions in JITLoaderPerf.cpp, so describe them as C names rather than
Verbatim. PerfSupportPlugin is ELF-only, where C mangling adds no
prefix, so this is a no-op in practice.
Commit: 9672f460e7b2d5822e6198b8613c408e91099f5e
https://github.com/llvm/llvm-project/commit/9672f460e7b2d5822e6198b8613c408e91099f5e
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
Log Message:
-----------
[ORC] Name eh-frame alloc actions using ORC rt convention. (#226014)
Rename the eh-frame alloc actions (register, deregister) using the new
ORC runtime's conventions for alloc-action naming.
This aligns the names used in LLVM with an upcoming implementation in
the new ORC runtime.
Commit: 4c367b4ff3cf60fe5fb8e7eba02ed0b42b9e40ab
https://github.com/llvm/llvm-project/commit/4c367b4ff3cf60fe5fb8e7eba02ed0b42b9e40ab
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpHelpers.h
Log Message:
-----------
[clang][bytecode] Remove double pointer type checks in Load{,Pop} (#225802)
Make sure that `CheckLoad` only returns true if the load is actually
valid.
Commit: fbe07e2e386265a5ee77f57ade0410e96736b487
https://github.com/llvm/llvm-project/commit/fbe07e2e386265a5ee77f57ade0410e96736b487
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Remove unneeded code from EmitInstrWithCustomInserter. NFC. (#225919)
Commit: 39398c562f7ffbb6a8303e4f1b518606bd70be9f
https://github.com/llvm/llvm-project/commit/39398c562f7ffbb6a8303e4f1b518606bd70be9f
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/docs/LangRef.md
Log Message:
-----------
[doc] Fix markdown bug in LangRef docs for EH model (#226025)
I'm pretty sure this was my fault.
Commit: acf81a81386f88305b346798ef36b4e276c74f82
https://github.com/llvm/llvm-project/commit/acf81a81386f88305b346798ef36b4e276c74f82
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/test/MC/ELF/leb128-err.s
Log Message:
-----------
[MC] Flush pending errors when layout stops early due to relaxOnce error (#226028)
When relaxOnce returns nonzero after an error has been reported,
layout() returns without flushing the errors recorded by the last
relaxation pass, and Finish() fails `assert(PendingErrors.empty())`.
Fixes #225036
Commit: c8c8cc693ac936a0c16ec47d9bb7053fe3af592e
https://github.com/llvm/llvm-project/commit/c8c8cc693ac936a0c16ec47d9bb7053fe3af592e
Author: Wendi <uwendi at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/docs/QualGroup.md
Log Message:
-----------
[docs] Update Qualification WG working processes (#224904)
Document the working-process decisions agreed during the [September LLVM
Qualification WG
sync-up](https://discourse.llvm.org/t/llvm-qualification-wg-sync-ups-meeting-minutes/87148/36):
- Clarify the intended use of each communication channel.
- Establish GitHub pull requests as the authoritative place for artifact
reviews and their outcomes.
- Document the review requirements for trivial and non-trivial changes.
- Clarify the use of GitHub issues for tracked actions and backlog
items.
This also converts the group-members list from a MyST `list-table`
directive to a standard Markdown table.
Commit: 089fbdd5ab2afce38747b1a79a3c963bbdb4d9da
https://github.com/llvm/llvm-project/commit/089fbdd5ab2afce38747b1a79a3c963bbdb4d9da
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[cross-project-tests] Avoid requiring packaging for GDB/LLDB version checks (#225126)
Previously, `cross-project-tests/lit.cfg.py` imported `packaging.version` to
compare GDB and LLDB version numbers and unconditionally called
`lit_config.fatal()` when the third-party `packaging` Python package was not
installed in the test environment. Try `packaging.version.parse` first, fall
back to splitting dot-separated integer components when `packaging` is not
available, and raise `ValueError` on unparseable versions so each caller can
emit a context-specific warning instead of aborting the test suite.
This commit was created with the help of AI tools
Pull-Request: https://github.com/llvm/llvm-project/pull/225126
Commit: cd417a78a709c206b7079f484aa67388b2ae4c8f
https://github.com/llvm/llvm-project/commit/cd417a78a709c206b7079f484aa67388b2ae4c8f
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinaryFunctionProfile.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/JTFootprintReduction.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/ProfileQualityStats.cpp
M bolt/lib/Passes/ReorderAlgorithm.cpp
M bolt/lib/Passes/ReorderData.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M polly/lib/CodeGen/LoopGenerators.cpp
M polly/lib/Support/PollyDebug.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
Log Message:
-----------
Remove unneeded cl::Optional and cl::ZeroOrMore. NFC (#225628)
cl::Optional and cl::ZeroOrMore on a named argument have been no-op
since https://reviews.llvm.org/D120455 removed the "may only occur zero
or one times!" error.
LLM-aided
Commit: 0f6b03f1ecb134c58aaa6a79b9320b3c30f15ef8
https://github.com/llvm/llvm-project/commit/0f6b03f1ecb134c58aaa6a79b9320b3c30f15ef8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/eh-invoke-label-suppression.ll
A llvm/test/CodeGen/X86/eh-labels-unknown-personality.ll
Log Message:
-----------
CodeGen: Suppress per-invoke EH labels via an MCAsmInfo object predicate (#225903)
This is to avoid depending on TargetOptions::ExceptionModel in the
X86ISelLowering constructor. This was used to legalize EH_LABEL to a
nop. Legality rules cannot depend on program state, and the exception model
should be read from the IR module flag. In this instance the exception model
isn't really the relevant property. The specific personality and the target
object's EH table format are. Introduce a new MCAsmInfo predicate which
is a known constant for the triple. Also just do this during the initial label
emission instead of leaving it to legalization. This cleans up some unused
labels for wasm. This is also a minor behavior change for unknown
personalities; the labels will now be conservatively emitted.
I don't know all that much about exceptions, there's a lot of AI reverse
engineering of intent here. Another bruteforce approach would be to just
relocate the current condition to the selector which has access to the
exception model, but the MCAsmInfo check will be reusable in other
contexts.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: d6e9ffd58c7cacbde364b149b33ebce8dff3694c
https://github.com/llvm/llvm-project/commit/d6e9ffd58c7cacbde364b149b33ebce8dff3694c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
Log Message:
-----------
[ORC] Re-rename eh-frame alloc actions. (#226038)
Use 'Section' as the suffix rather than 'Frame' to make clear that these
actions register whole sections at a time. This aligns eh-frame
registration action names with the MachO unwind info registration action
names.
An ORC runtime commit implementing these actions will land as a
follow-up commit.
Commit: d68eb988705ce5e14ca6eba12c74ebdadf573ad7
https://github.com/llvm/llvm-project/commit/d68eb988705ce5e14ca6eba12c74ebdadf573ad7
Author: Mian Miftah <mmiftah.duna at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
M llvm/lib/IR/Metadata.cpp
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/GVN/callees-metadata.ll
A llvm/test/Transforms/SimplifyCFG/merge-callees-metadata.ll
Log Message:
-----------
[Local] Preserve !callees when merging calls (#225307)
When `SimplifyCFG` hoists or sinks two calls, `combineMetadata` drops `!callees`
even if both calls have it. Take the union of the lists when the retained
call moves, since it must allow the targets of either call. If either call
has no `!callees`, drop it from the merged call. For CSE, keep the list on
the call that stays in place.
Commit: b273b5fdc5c5360d6f1b3c6c7c22e44743d72a8e
https://github.com/llvm/llvm-project/commit/b273b5fdc5c5360d6f1b3c6c7c22e44743d72a8e
Author: Tim Misiak <tim.misiak+github at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/docs/PDB/HashTable.md
Log Message:
-----------
[docs] Fix PDB serialized hash table on-disk format description (#225889)
Fixes #76602
Updating HashTable.md to match how the PDB hash table format is
serialized according to the microsoft-pdb repository:
https://github.com/microsoft/microsoft-pdb/blob/805655a28bd8198004be2ac27e6e0290121a5e89/PDB/include/map.h#L584
The key/value list contains Size entries rather than Capacity entries,
and the present bit vector identifies which bucket each pair belongs to.
Commit: 48a0b894efefb4f2f5dad224860c473e4d26e962
https://github.com/llvm/llvm-project/commit/48a0b894efefb4f2f5dad224860c473e4d26e962
Author: Hamza Qureshi <hamza7771.861 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
Log Message:
-----------
[mlir][LLVMIR] Fix a crash when `llvm.mlir.constant` fails to create an LLVM constant. (#224951)
Fix the `llvm.mlir.constant` translation to handle a failed
`getLLVMConstant()` conversion. The current code can pass a null
`llvm::Value` to users of the constant, causing an assertion. Check the
result of `getLLVMConstant()` and return failure when the conversion
fails.
Fixes #224815
Commit: 162edfe631ac3ac87a9b30500a451a0fa853d164
https://github.com/llvm/llvm-project/commit/162edfe631ac3ac87a9b30500a451a0fa853d164
Author: geoffreygaren <ggaren at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/analyzer/checkers.md
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-canborrow.h
A clang/test/Analysis/Checkers/WebKit/unborrowed-call-args.cpp
Log Message:
-----------
[WebKit Checkers] Add alpha.webkit.UnborrowedCallArgsChecker (#225854)
Like alpha.webkit.UnborrowedLocalVarsChecker, but for function
arguments.
As in the local variable checker, we do not treat an origin that
outlives a function call as sufficient evidence of safety. We need to
prove not only that an object is live, but also that it prevents
interior destruction.
Assisted-by: Claude
Commit: 93740deeaf7e4201d6117ba51d3f7f961a9d8d56
https://github.com/llvm/llvm-project/commit/93740deeaf7e4201d6117ba51d3f7f961a9d8d56
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/scanner.c
Log Message:
-----------
[lldb] Fix heap-buffer-overflow in tree-sitter-swift scanner state (#224001)
Running the `HighlighterTests` unit test under AddressSanitizer aborts
on every Swift test case, for example `SwiftComments`:
```
==69424==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000008070 at pc 0x000116a1f36c bp 0x00016d07c3c0 sp 0x00016d07c3b8
READ of size 4 at 0x602000008070 thread T0
#0 0x000116a1f368 in eat_raw_str_part scanner.c:700
#1 0x000116a1b5f4 in tree_sitter_swift_external_scanner_scan scanner.c:858
#2 0x00012cc77420 in ts_parser_parse
#3 0x00012cc79afc in ts_parser_parse_string
#4 0x00010a3536a4 in lldb_private::TreeSitterHighlighter::Highlight(...)
0x602000008071 is located 0 bytes after 1-byte region [0x602000008070,0x602000008071)
allocated by thread T0 here:
#0 0x00012d68d560 in calloc
#1 0x00012cc763b8 in ts_parser_parse
#2 0x00012cc79afc in ts_parser_parse_string
```
`eat_raw_str_part` reads `state->ongoing_raw_str_hash_count` as its
first statement, a 4 byte field, but the scanner state was allocated
with:
```
void *tree_sitter_swift_external_scanner_create() {
return calloc(0, sizeof(struct ScannerState));
}
```
`calloc` with an element count of 0 has no obligation to reserve room
for `sizeof(struct ScannerState)`, so it works by accident, but is
found by ASAN.
Fix it by allocating one instance, matching the Rust scanner and the
struct's actual use as a single persistent state object across calls.
The existing `HighlighterTest.Swift*` tests already exercise this path
end to end and catch the regression under AddressSanitizer; no new
test is needed.
Commit: 5c1c22673ce6f981a0f399409134576caaf24f87
https://github.com/llvm/llvm-project/commit/5c1c22673ce6f981a0f399409134576caaf24f87
Author: Akun <cubehan3 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/IR/Diagnostics.cpp
Log Message:
-----------
[mlir] Match diagnostic string vector return type (#226011)
Match the local `SmallVector<std::string>` type to
`Diagnostic::strs()`'s declared return type.
Fix the build on some platform/toolchains.
Assisted by: codex
Commit: 2522dfd0dd277691c8ba4aa38b0d929150073702
https://github.com/llvm/llvm-project/commit/2522dfd0dd277691c8ba4aa38b0d929150073702
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/syscall_wrappers/access.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/chdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/chmod.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/faccessat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchmod.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getcwd.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/link.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mkdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mkdirat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlink.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlinkat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rename.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rmdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/statx.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlink.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlinkat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/utimensat.h
Log Message:
-----------
[libc] Migrate filesystem syscall wrappers to syscall_checked (#225636)
Migrate a batch of related filesystem/path syscall wrappers to use
syscall_checked instead of manual syscall_impl error checking.
While in there:
- update file headers to the new style
- reformat includes into a single block so clang-format can sort them
Assisted-by: Gemini
Commit: ea198d02593a8c37f6a090910416669206d877a4
https://github.com/llvm/llvm-project/commit/ea198d02593a8c37f6a090910416669206d877a4
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/unistd.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/fdatasync.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/fdatasync.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/fdatasync.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/fdatasync_test.cpp
Log Message:
-----------
[libc] Implement fdatasync (#225613)
This patch implements the fdatasync entry point for Linux, matching the
existing fsync implementation. I'm adding it to all supported Linux
architectures (x86_64, aarch64, arm, and riscv), where it's backed by
the SYS_fdatasync syscall.
Assisted-by: Gemini
Commit: a0fe8bbd0143be1a15900faef391dc8b878f856f
https://github.com/llvm/llvm-project/commit/a0fe8bbd0143be1a15900faef391dc8b878f856f
Author: Amit Tiwari <Amit.Tiwari at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M openmp/docs/Building.md
M openmp/libompd/gdb-plugin/CMakeLists.txt
M openmp/libompd/gdb-plugin/README.txt
Log Message:
-----------
[OpenMP][OMPD] Set plugin RUNPATH to identify LLVM Libs (#223691)
`ompdModule` links LLVMSupport, but GDB loads it from
`share/gdb/python/ompd/ompdModule.so` while LLVM libs lives in
`lib/LLVMSupport.so` or `lib/LLVM.so`. The dynamic linker (one that
opens .so files) loosk at:
1) paths inside .so (aka RUNPATH)
2) `LD_LIBRARY_PATH`
3) or system defaults paths
After [previous
patch](https://github.com/llvm/llvm-project/pull/222455), a normal
install can fail with "cannot open shared object file" unless the user
sets `LD_LIBRARY_PATH` by hand which is easy to forget after `ninja
install`.
Fix: The approach is to make CMake write RUNPATH on `ompdModule.so`, so
the plugin follows its own directions and hence the linker (same
approach LLDB uses for its Python module). This completes the LLVM link
added in the previous patch. It does not change how `libompd.so` is
located (still `ompd_dll_locations`/`LD_LIBRARY_PATH`).
Commit: a498e642af4aded70fd48bda68b0692a58425e86
https://github.com/llvm/llvm-project/commit/a498e642af4aded70fd48bda68b0692a58425e86
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
Log Message:
-----------
[LV] Cost EVL width-adjusting zext/trunc as free (#225016)
With EVL tail folding, the scalar zext/trunc that adjusts the i32
ExplicitVectorLength to the canonical IV type was priced as a regular
cast (cost 1). It never lowers to an instruction, only feeding the
(free) IV increment and AVL decrement, so the phantom cost dropped
borderline loops such as TSVC s351 on RV64 to VF 1.
Here we return 0 for such casts so that we don't over-estimate the
cost.
Fixes #224987
Assisted-by: TRAE CLI (Opus 4.8)
Commit: b899756b5bf2193ab5d354a53aa7a2e746f4806c
https://github.com/llvm/llvm-project/commit/b899756b5bf2193ab5d354a53aa7a2e746f4806c
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/float_args.ll
Log Message:
-----------
[Mips][GlobalISel] Keep split double arguments live across calls (#225879)
Mark both GPRs assigned by custom f64 argument lowering as implicit uses
of the call. Without these uses, dead machine instruction elimination
can remove the copies that pass the argument.
Check call operands after IR translation and optimized FPR-to-GPR
argument passing with FP32 and FP64 register modes.
Commit: cc5f53a2a7585b013f872b859f019d601a754307
https://github.com/llvm/llvm-project/commit/cc5f53a2a7585b013f872b859f019d601a754307
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ODS] Reuse property storage in generated builders (NFC) (#226061)
Retrieve operation properties once in each generated builder that writes
them, then use the same reference for segment sizes, properties, and
attributes. This improved MLIR build time by avoiding repeated storage
lookup, e.g. cuts OpenMPDialect.cpp compiler instructions by 1.2%.
Assisted-by: Codex
Commit: bc83777c2e2c3d027cd12e7715a138d12921c98b
https://github.com/llvm/llvm-project/commit/bc83777c2e2c3d027cd12e7715a138d12921c98b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ODS] Share generated attribute property conversion (NFC) (#226057)
Move repeated attribute-backed property assignment and dictionary entry
construction into common helpers. This reduces MLIR build time by saving
optimizer work in large generated dialect translation units while
preserving diagnostics and conversion behavior.
Assisted-by: Codex
Commit: f05c3d51c42b23f1684d74c9084537ac5ea7ca36
https://github.com/llvm/llvm-project/commit/f05c3d51c42b23f1684d74c9084537ac5ea7ca36
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/tools/lldb-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/corefile.dict
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/lldb-corefile-fuzzer.cpp
Log Message:
-----------
[lldb] Add a corefile fuzzer (#225103)
Fuzzes the metadata parser when LLDB opens a corefile for Mach-O
and ELF.
The fuzzer writes input data to a tempfile and loads it through
`Process::LoadCore()`, the same way `target create --core` does.
It initializes both the macOS and Linux host platforms so the
core-load path runs regardless of which of the two OSes the fuzzer
itself is built on.
`lldb-target-fuzzer` does not reach any of this. It only calls
`SBDebugger::CreateTarget`, which builds a Target and its executable
Module; identifying that module parses the Mach-O/ELF header and
load/section commands, but never calls `Process::LoadCore`.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: a73d995096d23a56458c815b6934b95cd9a8bb53
https://github.com/llvm/llvm-project/commit/a73d995096d23a56458c815b6934b95cd9a8bb53
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
Log Message:
-----------
[Clang] Add fixes to padding clearing logic to the release notes (#225340)
Commit: 022fdfa1e5a0b85dc785d30b17be3880768b22dc
https://github.com/llvm/llvm-project/commit/022fdfa1e5a0b85dc785d30b17be3880768b22dc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/move-to-valu-absdiff.mir
Log Message:
-----------
AMDGPU: Mark the carry-out of the scalar abs expansion dead (#226046)
Commit: f4eb722b0c41a8ac1a239edc8384f8577a1abed4
https://github.com/llvm/llvm-project/commit/f4eb722b0c41a8ac1a239edc8384f8577a1abed4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/WinEHPrepare.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
A llvm/test/CodeGen/WebAssembly/wineh-prepare-wasm-personality.ll
A llvm/test/CodeGen/X86/wineh-prepare-dwarf-personality.ll
Log Message:
-----------
CodeGen: Derive WinEHPrepare PHI demotion from the personality (#225676)
Previously WinEHPrepare had a catchswitch-only pass option which was
set based on the exception model in the pass config. The only special
case using it was for Wasm EH, which reuses the Windows EH instruction but
does not outline funclets so only needs the catchwitch dispatch phi handling.
Instead check the properties of the personality function inside the pass, so the
pass config is less dependent on knowing the exception model.
Also, make sure the pass is a nop for dwarf EH which appears to be untested.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: f5d74f58b7b2449b4ef79145670f309607b803b8
https://github.com/llvm/llvm-project/commit/f5d74f58b7b2449b4ef79145670f309607b803b8
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
Log Message:
-----------
[AMDGPU] Remove unneeded usesCustomInserter on some opcodes. NFC. (#226055)
Commit: 4c9931d4af3c2dc86eb061057c6e2383466250ee
https://github.com/llvm/llvm-project/commit/4c9931d4af3c2dc86eb061057c6e2383466250ee
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SjLjEHPrepare.cpp
A llvm/test/Transforms/SjLjEHPrepare/respect-exception-model-flag.ll
Log Message:
-----------
CodeGen: Respect the exception-model module flag in SjLjEHPrepare (#225726)
Teach SjLjEHPrepare to consult the "exception-model" module flag and
only prepare when the module selects the SjLj model. When the flag is absent
the pass runs as before, implicitly relying on the pass config not running
the pass.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 7942551c1a93e7418be9c168bb0e674efbd68a29
https://github.com/llvm/llvm-project/commit/7942551c1a93e7418be9c168bb0e674efbd68a29
Author: Ivan R. Ivanov <iivanov at nvidia.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A offload/libompaccsupport/AsyncInfo.cpp
M offload/libomptarget/CMakeLists.txt
M offload/libomptarget/omptarget.cpp
Log Message:
-----------
[offload][nfc] Move AsyncInfoTy's definitions to libompaccsupport (#220991)
AsyncInfoTy will be used by both OpenMP and OpenACC. Extract its
implementation from `omptarget.cpp` into `libompaccsupport` so that it
can also be compiled independently by libacctarget.
Commit: 07fbbac878025ecf8f3b25f28ec38c826e6f4891
https://github.com/llvm/llvm-project/commit/07fbbac878025ecf8f3b25f28ec38c826e6f4891
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/Diagnostics.h
M mlir/lib/IR/Diagnostics.cpp
Log Message:
-----------
[mlir] Reduce Diagnostic storage across standard library debug modes (NFC) (#226070)
The multi-part diagnostic support added a SmallVector of part boundaries
to Diagnostic. With libstdc++'s _GLIBCXX_DEBUG enabled, the two
std::vector members also grow substantially: sizeof(Diagnostic) reaches
288 bytes. This exceeds the 256-byte limit for default
SmallVector<Diagnostic> and breaks Transform dialect builds that use
that type.
Use zero-inline SmallVectors for the owned string buffers and attached
notes. Both collections already allocated when populated, while their
empty representation no longer grows under _GLIBCXX_DEBUG. Give the
part-boundary vector zero inline elements as well: ordinary diagnostics
have a single part and never populate it. Keep the four inline argument
slots, so common diagnostic assembly retains its existing allocation
behavior. Splitting a diagnostic now allocates boundary storage.
On this 64-bit checkout, sizeof(Diagnostic) falls from 224 to 192 bytes
normally and from 288 to 192 bytes with _GLIBCXX_DEBUG.
Assisted-by: Codex
Commit: e26fb78a9767cf0a9b0995286cd393c8f6f8c017
https://github.com/llvm/llvm-project/commit/e26fb78a9767cf0a9b0995286cd393c8f6f8c017
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-operand.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ODS] Reuse collective builders for zero-result ops (NFC) (#226059)
Forward the no-result separate-argument builder to its collective
counterpart instead of generating the same operand, attribute, and
region construction twice. This cuts OpenMPDialect.cpp build time by
1.5% and its machine-code text by about 71 KB.
Assisted-by: Codex
Commit: 27cddfe63e88792d80b9eddf14ad4e580c9a2c7e
https://github.com/llvm/llvm-project/commit/27cddfe63e88792d80b9eddf14ad4e580c9a2c7e
Author: Anand Mistry (MSFT) <anandmistry at microsoft.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/test/MC/Mips/cnmips/valid.s
M llvm/test/MC/Mips/cnmipsp/valid.s
M llvm/test/MC/Mips/mips32r2/valid.s
M llvm/test/MC/Mips/mips32r3/valid.s
M llvm/test/MC/Mips/mips32r5/valid.s
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r2/valid.s
M llvm/test/MC/Mips/mips64r3/valid.s
M llvm/test/MC/Mips/mips64r5/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
Log Message:
-----------
[Mips] Add sync instruction aliases (#225866)
These aliases are documented in the MIPS ISA Reference Manual. These
also exist in binutils and are declared to be part of the MIPS32R2 ISA.
Commit: 84afb5ad1ffd52e62889b3a86d9754b1e15f6ba6
https://github.com/llvm/llvm-project/commit/84afb5ad1ffd52e62889b3a86d9754b1e15f6ba6
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/test/Fir/CUDA/cuda-alloc-free.fir
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/CUDA/cuda-device-global-internal-linkage.fir
M flang/test/Fir/CUDA/cuda-device-global.f90
M flang/test/Fir/CUDA/cuda-heap-alloc-managed.fir
M flang/test/Fir/CUDA/cuda-heap-alloc-unified.fir
M flang/test/Fir/CUDA/cuda-launch.fir
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
M flang/test/Fir/FirToSCF/if.fir
M flang/test/Fir/FirToSCF/iter-while.fir
M flang/test/Fir/MIF/change_team2.mlir
M flang/test/Fir/OpenACC/recipe-bufferization.mlir
M flang/test/Fir/OpenACC/use-device-canonicalizer.mlir
M flang/test/Fir/abstract-results.fir
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/Fir/array-coor-canonicalization.fir
M flang/test/Fir/convert-to-llvm-access-group.fir
M flang/test/Fir/do_concurrent.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/global-attributes.fir
M flang/test/Fir/memory-allocation-opt-2.fir
M flang/test/Fir/memory-allocation-opt-do-concurrent.fir
M flang/test/Fir/memory-allocation-opt.fir
M flang/test/Fir/simd-nontemporal.fir
M flang/test/HLFIR/as_expr-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
M flang/test/HLFIR/bufferize-workshare.fir
M flang/test/HLFIR/bufferize01.fir
M flang/test/HLFIR/char_extremum-bufferization.fir
M flang/test/HLFIR/cmpchar-lowering.fir
M flang/test/HLFIR/concat-bufferization.fir
M flang/test/HLFIR/element-codegen-issue-118922.fir
M flang/test/HLFIR/elemental-codegen-nested.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/elemental-shallow-copy.fir
M flang/test/HLFIR/elemental-with-empty-check-codegen.fir
M flang/test/HLFIR/eval_in_mem-codegen.fir
M flang/test/HLFIR/expression-simplification.fir
M flang/test/HLFIR/index-lowering.fir
M flang/test/HLFIR/inline-hlfir-assign-pointer-overlap.fir
M flang/test/HLFIR/inline-hlfir-assign-scalar-index.fir
M flang/test/HLFIR/inline-hlfir-assign-self-copy-runtime-stride.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/opt-bufferization-eval_in_mem-with-associate.fir
M flang/test/HLFIR/opt-bufferization.fir
M flang/test/HLFIR/opt-scalar-assign.fir
M flang/test/HLFIR/order_assignments/array-temp-many-forall.f90
M flang/test/HLFIR/order_assignments/array-temp.fir
M flang/test/HLFIR/order_assignments/forall-codegen-no-conflict.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/saving-mask-and-rhs.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
M flang/test/HLFIR/set_length-codegen.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-cmpchar-scalar.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-eoshift.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-index.fir
M flang/test/HLFIR/trim.fir
M flang/test/HLFIR/volatile.fir
M flang/test/HLFIR/volatile1.fir
M flang/test/HLFIR/volatile2.fir
M flang/test/HLFIR/volatile3.fir
M flang/test/HLFIR/volatile4.fir
M flang/test/Integration/allocatable-polymorphic.f90
M flang/test/Integration/dense-array-any-rank.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-cooperative.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
M flang/test/Lower/CUDA/cuda-gpu-unified.cuf
M flang/test/Lower/CUDA/cuda-kernel-alloca-block.cuf
M flang/test/Lower/CUDA/cuda-managed-func-result.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
M flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/bindc-entry-stmt.f90
M flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/convert-variable-block.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/dummy-scope.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
M flang/test/Lower/HLFIR/elemental-result-length.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/index.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/matmul.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/maxval.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/null.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/procedure-designators.f90
M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/product.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/sum.f90
M flang/test/Lower/HLFIR/tdesc-character-comp-init.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/trim.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/HLFIR/visible-cray-pointer-target.f90
M flang/test/Lower/HLFIR/where.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/associated.f90
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/btest.f90
M flang/test/Lower/Intrinsics/c_associated.f90
M flang/test/Lower/Intrinsics/c_devptr_eq_ne.f90
M flang/test/Lower/Intrinsics/c_funloc.f90
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/chdir.f90
M flang/test/Lower/Intrinsics/free.f90
M flang/test/Lower/Intrinsics/get_command.f90
M flang/test/Lower/Intrinsics/getcwd-function.f90
M flang/test/Lower/Intrinsics/getpid.f90
M flang/test/Lower/Intrinsics/hostnm-func.f90
M flang/test/Lower/Intrinsics/ibset.f90
M flang/test/Lower/Intrinsics/ichar.f90
M flang/test/Lower/Intrinsics/ieee_class.f90
M flang/test/Lower/Intrinsics/ieee_compare.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/ieee_max_min.f90
M flang/test/Lower/Intrinsics/ieee_real.f90
M flang/test/Lower/Intrinsics/ieee_rem.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/ieee_signbit.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
M flang/test/Lower/Intrinsics/ierrno.f90
M flang/test/Lower/Intrinsics/malloc.f90
M flang/test/Lower/Intrinsics/min.f90
M flang/test/Lower/Intrinsics/nearest.f90
M flang/test/Lower/Intrinsics/not.f90
M flang/test/Lower/Intrinsics/perror.f90
M flang/test/Lower/Intrinsics/putenv-func.f90
M flang/test/Lower/Intrinsics/rand.f90
M flang/test/Lower/Intrinsics/real.f90
M flang/test/Lower/Intrinsics/reduce.f90
M flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/Intrinsics/selected_char_kind.f90
M flang/test/Lower/Intrinsics/selected_logical_kind.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
M flang/test/Lower/Intrinsics/size.f90
M flang/test/Lower/Intrinsics/system_clock.f90
M flang/test/Lower/Intrinsics/time.f90
M flang/test/Lower/Intrinsics/unlink-func.f90
M flang/test/Lower/Intrinsics/verify.f90
M flang/test/Lower/MIF/coarray_allocation2.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-data-operands-remapping.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-declare-common-present-in-function.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare-use-associated.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-allocatable-component.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenACC/acc-set.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Lower/OpenACC/acc-use-device.f90
M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-firstprivate.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/atomic-implicit-cast.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
M flang/test/Lower/OpenMP/block_implicit_privatization.f90
M flang/test/Lower/OpenMP/block_predetermined_privatization.f90
M flang/test/Lower/OpenMP/cancel.f90
M flang/test/Lower/OpenMP/cancellationpoint.f90
M flang/test/Lower/OpenMP/common-atomic-lowering.f90
M flang/test/Lower/OpenMP/common-block-map.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
M flang/test/Lower/OpenMP/declare_target_module.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-private.f90
M flang/test/Lower/OpenMP/derived-type-map.f90
M flang/test/Lower/OpenMP/fuse01.f90
M flang/test/Lower/OpenMP/fuse02.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/hlfir-to-fir-conv-omp.mlir
M flang/test/Lower/OpenMP/implicit-dsa.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-conditional-nested-parallel.f90
M flang/test/Lower/OpenMP/lastprivate-conditional-teams.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/linear_modifier.f90
M flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/masked_taskloop.f90
M flang/test/Lower/OpenMP/metadirective-loop.f90
M flang/test/Lower/OpenMP/omp-declarative-allocate-align.f90
M flang/test/Lower/OpenMP/omp-declarative-allocate.f90
M flang/test/Lower/OpenMP/omp-declare-reduction-derivedtype.f90
M flang/test/Lower/OpenMP/omp-declare-target-program-var.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/parallel-masked-taskloop.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
M flang/test/Lower/OpenMP/parallel-reduction-complex.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/parallel-reduction.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
M flang/test/Lower/OpenMP/reduction-equivalence.f90
M flang/test/Lower/OpenMP/sections-predetermined-private.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/shared-loop.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target-teams-private.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task-affinity.f90
M flang/test/Lower/OpenMP/task-depend-structure-component.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup-task_reduction01.f90
M flang/test/Lower/OpenMP/taskloop-cancel.f90
M flang/test/Lower/OpenMP/taskloop-collapse.f90
M flang/test/Lower/OpenMP/taskloop-grainsize.f90
M flang/test/Lower/OpenMP/taskloop-inreduction.f90
M flang/test/Lower/OpenMP/taskloop-numtasks.f90
M flang/test/Lower/OpenMP/taskloop-reduction.f90
M flang/test/Lower/OpenMP/taskloop.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
M flang/test/Lower/OpenMP/threadprivate-common-block-pointer.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
M flang/test/Lower/OpenMP/threadprivate-use-association.f90
M flang/test/Lower/OpenMP/tile01.f90
M flang/test/Lower/OpenMP/tile02.f90
M flang/test/Lower/OpenMP/unroll-heuristic01.f90
M flang/test/Lower/OpenMP/unroll-heuristic02.f90
M flang/test/Lower/OpenMP/unroll-heuristic03.f90
M flang/test/Lower/OpenMP/unroll-partial01.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-linear.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/achar.f90
M flang/test/Lower/allocatable-assignment.f90
M flang/test/Lower/allocatable-caller.f90
M flang/test/Lower/allocatable-return.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocatables.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
M flang/test/Lower/alternate-return.f90
M flang/test/Lower/always-execute-loop-body.f90
M flang/test/Lower/arithmetic-goto.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-constructor-1.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/array-elemental-calls-char-dynamic.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array.f90
M flang/test/Lower/assignment.f90
M flang/test/Lower/associate-construct.f90
M flang/test/Lower/assumed-shape-caller.f90
M flang/test/Lower/assumed-type.f90
M flang/test/Lower/basic-call.f90
M flang/test/Lower/block.f90
M flang/test/Lower/bug172157-3.f90
M flang/test/Lower/c-interoperability-c-pointer.f90
M flang/test/Lower/c-interoperability.f90
M flang/test/Lower/call-implicit.f90
M flang/test/Lower/call.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/character-local-variables.f90
M flang/test/Lower/common-block-2.f90
M flang/test/Lower/common-block-char0.f90
M flang/test/Lower/common-block-multiple-init.f90
M flang/test/Lower/complex-real.f90
M flang/test/Lower/computed-goto.f90
M flang/test/Lower/constant-literal-mangling.f90
M flang/test/Lower/constant-logical-transfer.f90
M flang/test/Lower/convert.f90
M flang/test/Lower/cray-pointer.f90
M flang/test/Lower/declare-with-storage.f90
M flang/test/Lower/default-initialization-globals.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-type-descriptor.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/do_concurrent.f90
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_reduce.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/dummy-procedure.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-2.f90
M flang/test/Lower/equivalence-static-init.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/extrn_subp.f90
M flang/test/Lower/forall-pointer-assignment.f90
M flang/test/Lower/forall/degenerate.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/forall/forall-allocatable.f90
M flang/test/Lower/forall/forall-where-2.f90
M flang/test/Lower/global-alignment.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host_module_variable_instantiation_use_device.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/inline-hlfir-assign-pointer-omp.f90
M flang/test/Lower/inline_directive.f90
M flang/test/Lower/inlinealways-directive.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/io-statement-1.f90
M flang/test/Lower/io-statement-3.f90
M flang/test/Lower/io-statement-clean-ups.f90
M flang/test/Lower/io-write.f90
M flang/test/Lower/ivdep.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/module-parameter-linkonce-odr.f90
M flang/test/Lower/module_definition.f90
M flang/test/Lower/module_use.f90
M flang/test/Lower/namelist-common-block.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/pointer-assignments.f90
M flang/test/Lower/pointer-association-polymorphic.f90
M flang/test/Lower/pointer-default-init.f90
M flang/test/Lower/pointer-initial-target-2.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/pointer-results-as-arguments.f90
M flang/test/Lower/pointer-runtime.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic-types.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type-2.fir
M flang/test/Lower/select-type.f90
M flang/test/Lower/simd-directive.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/stop-statement.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Lower/submodule.f90
M flang/test/Lower/transformational-intrinsics.f90
M flang/test/Lower/typeof-classof.f90
M flang/test/Lower/unroll.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/unsigned-ops.f90
M flang/test/Lower/variable-common-viewed-as-module-var.f90
M flang/test/Lower/variable.f90
M flang/test/Lower/vector-always.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/test/Lower/vectorlength.f90
M flang/test/Lower/volatile-derived-type.f90
M flang/test/Lower/volatile-openmp1.f90
M flang/test/Lower/volatile-string.f90
M flang/test/Lower/volatile1.f90
M flang/test/Lower/volatile2.f90
M flang/test/Lower/volatile3.f90
M flang/test/Lower/volatile4.f90
M flang/test/Lower/while_loop.f90
M flang/test/Lower/zero-size.f90
M flang/test/Transforms/CUF/cuf-kernel-licm.fir
M flang/test/Transforms/DoConcurrent/basic_device.f90
M flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/test/Transforms/DoConcurrent/basic_host.mlir
M flang/test/Transforms/DoConcurrent/locality_specifiers_simple.mlir
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
M flang/test/Transforms/DoConcurrent/reduce_add.mlir
M flang/test/Transforms/DoConcurrent/reduce_all_regions.mlir
M flang/test/Transforms/DoConcurrent/reduce_local.mlir
M flang/test/Transforms/DoConcurrent/skip_all_nested_loops.f90
M flang/test/Transforms/FIRToMemRef/slice.mlir
M flang/test/Transforms/OpenACC/acc-implicit-declare-module-parameter.fir
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-alloca.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-embox.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-rebox.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-type_desc.F90
M flang/test/Transforms/OpenMP/lower-workdistribute-fission-host.mlir
M flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
M flang/test/Transforms/OpenMP/lower-workshare-thread-local.mlir
M flang/test/Transforms/do-concurrent-localizer-dealloc-region.fir
M flang/test/Transforms/do-concurrent-localizer-init-region.fir
M flang/test/Transforms/licm.fir
M flang/test/Transforms/loop-versioning.fir
M flang/test/Transforms/lower-repack-arrays.fir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/test/Transforms/stack-arrays-lifetime.fir
M flang/test/Transforms/stack-arrays.fir
M flang/test/Transforms/tbaa-cray-pointer.fir
M flang/test/Transforms/tbaa-derived-type-records.fir
M flang/test/Transforms/tbaa-derived-with-descriptor.fir
M flang/test/Transforms/tbaa-for-common-vars.fir
M flang/test/Transforms/tbaa-for-global-equiv-vars.fir
M flang/test/Transforms/tbaa-target-inlined-results.fir
M flang/test/Transforms/tbaa-value-dummy-arg.fir
M flang/test/Transforms/tbaa-with-dummy-scope.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
M flang/test/Transforms/tbaa4.fir
Log Message:
-----------
[flang] Stop using Operation::getAttrs (NFC) (#223049)
Migrate FIR attribute copying and printing to the explicit inherent and
discardable attribute APIs.
Also upgrade the textual assembly to stop mixing inherent and
discardable attributes in the same dictionary.
This is part of a general migration to use the "new" properties-based
APIs and stop mixing discardable/inherent attributes, see #155475
Assisted-by: Codex
Commit: 6cf36fd5bc4bb3782dbfedc00d4506a3cff1719f
https://github.com/llvm/llvm-project/commit/6cf36fd5bc4bb3782dbfedc00d4506a3cff1719f
Author: A. Jiang <de34 at live.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
Log Message:
-----------
[libc++][docs] Mark LWG2727 Complete in LLVM 24 (#225606)
In 9853cb54d9d2684b27f0d0db89c00c2da7e31b88 and
672843a3f2ee2aaaed0463ec9064b6ccea2a5d4d, we implemented parallel
versions of `std::min_element`, `std::max_element`, and
`std::minmax_element` without adding incorrect `constexpr`. This
essentially implemented the resolution of LWG2727.
Commit: 65d651bc8fd6d83ae4989d93dc89cb287231afd2
https://github.com/llvm/llvm-project/commit/65d651bc8fd6d83ae4989d93dc89cb287231afd2
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-readlane-redundant-and.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-bits-readlane.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
A llvm/test/CodeGen/AMDGPU/readlane-known-bits.ll
Log Message:
-----------
[AMDGPU] Look through readfirstlane/readlane in computeKnownBitsForTargetInstr. (#224275)
Currently, `computeKnownBitsForTargetInstr` in GISel and
`computeKnownBitsForTargetNode` in SDAG treats
`amdgcn.readfirstlane/readlane` as fully unknown, even though both just
return the data operand's value from some lane. This patch teaches it to
recurse into the data operand (operand 2) and reuse its known bits.
Thus, it unblocks known-bits combines (e.g. redundant_and) that see
these intrinsics while still generic.
Commit: 108770859571a22679b9f5e871ac6ffc311b0f4e
https://github.com/llvm/llvm-project/commit/108770859571a22679b9f5e871ac6ffc311b0f4e
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/defaultmap-clause-none.f90
Log Message:
-----------
[flang][OpenMP] Fix crash in defaultmap(none) on structure constructors (#220994)
Fixes :
[https://github.com/llvm/llvm-project/issues/218929](https://github.com/llvm/llvm-project/issues/218929)
Flang was crashing when a target defaultmap(none:...) region contained a
structure constructor, like this:
```
program p
type t
end type
type(t) :: x
!$omp target defaultmap(none:aggregate)
x = t()
!$omp end target
end
```
The problem is in `IsOpenMPAggregate` and `IsOpenMPScalar`. When the
OpenMP attribute visitor walks the names in the region, it hits the t in
t(), which resolves to the derived-type definition symbol rather than a
variable. `Symbol::GetType() `returns nullptr for such a symbol, and
both helpers dereferenced that pointer directly `(type->category())`
without checking, causing a segfault. The fix adds a null check to both
helpers returning false since a symbol with no declared type belongs to
no defaultmap category.
Co-authored-by: Chandra Ghale <ghale at pe34genoa.hpc.amslabs.hpecorp.net>
Commit: 43a0a957553dd2cb5258e5d814675a8b54f5099c
https://github.com/llvm/llvm-project/commit/43a0a957553dd2cb5258e5d814675a8b54f5099c
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
Log Message:
-----------
[WebAssembly] Remove per-invoke EH_LABEL handling (#226053)
Per-invoke `EH_LABEL`s are no longer emitted after #225903. This removes
code that handles per-invoke `EH-LABEL`s and removes them from mir
tests.
Commit: 303cf70bb64bebbe4549b52a59e3dbe1d4d5979a
https://github.com/llvm/llvm-project/commit/303cf70bb64bebbe4549b52a59e3dbe1d4d5979a
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
Log Message:
-----------
[TargetFolder] Use getGetElementPtr() overload accepting DataLayout (#226068)
To directly construct the constant GEP in canonical ptradd form.
The test change is because this ends up canonicalizing the vector
GEP case as well, rather than just the scalar cases.
Commit: c12a0d255928c9376a6e1a6df36d4338b6cfedf8
https://github.com/llvm/llvm-project/commit/c12a0d255928c9376a6e1a6df36d4338b6cfedf8
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/test/mlir-tblgen/op-format.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][ODS] Share optional operand and type parser logic (NFC) (#226066)
Move repeated optional operand and type parsing into out-of-line
helpers.
Generated parsers now reuse those helpers across operations.
This improves MLIR build time by avoid redundant compilation of these
helpers.
Assisted-by: Codex
Commit: c949a973db32c7bc80bed6a38057912fea41ddc3
https://github.com/llvm/llvm-project/commit/c949a973db32c7bc80bed6a38057912fea41ddc3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OpDefinition.h
Log Message:
-----------
[mlir] Fold operation trait lookup without a temporary array (NFC) (#226081)
Compare trait IDs directly in the generated pack expansion. This avoids
building and scanning a local array in every operation trait lookup.
Assisted-by: Codex
Commit: ba5c0a651eea7949da3bd6cfd8c7cd61ba2ff1ce
https://github.com/llvm/llvm-project/commit/ba5c0a651eea7949da3bd6cfd8c7cd61ba2ff1ce
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
[mlir] Store OperationState property callbacks as function pointers (NFC) (#226083)
The property callbacks never capture state. Store their function
pointers directly instead of wrapping them in function_ref. This improve
slightly MLIR build time and generates slightly smaller binaries.
Assisted-by: Codex
Commit: a60626ab1223f82fca15c66041bee3a6adae193a
https://github.com/llvm/llvm-project/commit/a60626ab1223f82fca15c66041bee3a6adae193a
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/test/Integration/debug-common-block-1.f90
M flang/test/Integration/debug-include-file.f90
Log Message:
-----------
[flang][debug] Emit debug for a COMMON block from an INCLUDE'd file (#225867)
This handles the case of a common block that was missed in #225068 and
pointed out in
https://github.com/llvm/llvm-project/pull/225068#issuecomment-5782632548.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: c64f6cdb7c780868999f084279ef9470634f671e
https://github.com/llvm/llvm-project/commit/c64f6cdb7c780868999f084279ef9470634f671e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Support/InterfaceSupport.h
Log Message:
-----------
[mlir] Fold interface-map trait packs without recursive templates (NFC) (#226084)
Count interface traits and insert their models with fold expressions.
This keeps insertion order and avoids two recursive template chains for
every registered operation.
Assisted-by: Codex
Commit: f4c248edc7cbee9a042b8c1c3cdf07b30f3d2164
https://github.com/llvm/llvm-project/commit/f4c248edc7cbee9a042b8c1c3cdf07b30f3d2164
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/MC/MCDwarf.cpp
Log Message:
-----------
[MC] Prevent multiplication overflow when calling `encodeULEB128` (#224647)
`encodeULEB128` takes its `Value` as a 64-bit integer but the
multiplication is done using 32 bits. This fixes two issues reported by
a CodeQL scan however it's unclear how realistic an overflow is in this
case.
Commit: 63d15eed742076b33100a5051f27aece1287b104
https://github.com/llvm/llvm-project/commit/63d15eed742076b33100a5051f27aece1287b104
Author: Kane Wang <wangqiang1 at kylinos.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[GlobalISel] Only narrow IEEE half in narrowScalarFPTOI (#223615)
narrowScalarFPTOI swaps a conversion for a narrower one plus an
extension, which is only valid if every finite value of the source fits
in the narrow type. The guard tests the width, so it also accepts
bfloat, which has float's exponent range.
Match LLT::float16() instead of LLT::scalar(16). Register types come
from LLT::floatingPoint(), which degrades to ANY_SCALAR without extended
LLTs, and an ANY_SCALAR LLT matches any scalar of the same size, so this
is unchanged on such targets. AArch64 and AMDGPU only narrow
LLT::float16() sources and WebAssembly does not narrow these at all, so
they are unaffected too.
Commit: 47d06b4bf9499135a942a85867ad2c4536676ff6
https://github.com/llvm/llvm-project/commit/47d06b4bf9499135a942a85867ad2c4536676ff6
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/true16-fold.mir
Log Message:
-----------
[AMDGPU] Simplify true16 SGPR folding (#226082)
Rewrite part of the SGPR folding "hack" from #128929 using
getChannelFromSubReg to avoid relying on the exact numbering of subreg
indices.
This also fixes a potential bug when folding a copy with no subreg on
the source operand like `%1:sgpr_lo16 = COPY %0:sgpr_lo16`. The old
implementation would have generated `%0.sub0:sgpr_lo16` which fails
machine verification.
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: e34e80918571ac5af5d00191bc053d7d60c1f039
https://github.com/llvm/llvm-project/commit/e34e80918571ac5af5d00191bc053d7d60c1f039
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsCallLowering.h
M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/aggregate_struct_return.ll
A llvm/test/CodeGen/Mips/GlobalISel/irtranslator/big-endian.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/extend_args.ll
A llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/big-endian-memory.ll
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/float_constants.ll
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/load_store_vec.ll
Log Message:
-----------
[Mips][GlobalISel] Fix Big Endian lowering (#225972)
Flip on the big-endian switch in Mips call lowering. Fix split memory
piece placement, short-load bit extraction, and unaligned left/right
instruction offsets for big-endian targets.
Add BE/LE test coverage.
Commit: 59435d02e0d866bd0bce3a7904835bee48f43de8
https://github.com/llvm/llvm-project/commit/59435d02e0d866bd0bce3a7904835bee48f43de8
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/Makefile
Log Message:
-----------
Revert "[LLDB] Simplify Makefile for TestBundleWithDotInFilename" (#226092)
Reverts llvm/llvm-project#225930
This breaks the Green Dragon bot. Reverting for now.
Commit: 2c1c2ddaca27dffb99b70dad233ca2b39520a0a7
https://github.com/llvm/llvm-project/commit/2c1c2ddaca27dffb99b70dad233ca2b39520a0a7
Author: Pedro da Rosa Pinheiro <106494823+pedropiin at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenMPClause.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenMPClause.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
M clang/test/CIR/CodeGenOpenMP/parallel.c
Log Message:
-----------
[CIR][OpenMP] Implement lowering for the 'if' clause for 'parallel' d… (#204999)
Implementing the lowering of the `if` clause for the `#pragma omp
parallel` directive. The clause simply accepts the condition from
`OMPIfClause` and lowers it to an `I1` to allow for emission.
Followed the same approach as the one in my other PR #202466 and based
myself off of PR #172501 that implements the lowering for the
`proc_bind` clause.
### Evidence:
Output of: `python3 build/bin/llvm-lit -sv
clang/test/CIR/CodeGenOpenMP/parallel.c`
```
llvm-lit: /home/pedro/dev/projects/my-llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using clang: /home/pedro/dev/projects/my-llvm-project/build/bin/clang
Testing Time: 0.10s
Total Discovered Tests: 1
Passed: 1 (100.00%)
```
Commit: b5683453d42e762a39f212a811d030f45809bb6b
https://github.com/llvm/llvm-project/commit/b5683453d42e762a39f212a811d030f45809bb6b
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M orc-rt/include/CMakeLists.txt
A orc-rt/include/orc-rt-internal/bedrock/sys/posix/DWARFEHFrameRegistrar.h
A orc-rt/include/orc-rt/bedrock/sps/DWARFEHFrameRegistrarSPSCI.h
M orc-rt/lib/bedrock/CMakeLists.txt
M orc-rt/lib/bedrock/sps/AllSPSCI.cpp
A orc-rt/lib/bedrock/sys/posix/DWARFEHFrameRegistrar.cpp
A orc-rt/lib/bedrock/sys/posix/sps/DWARFEHFrameRegistrarSPSCI.cpp
Log Message:
-----------
[orc-rt] Add DWARFEHFrameRegistrar for .eh_frame registration. (#226093)
Adds sys::posix::DWARFEHFrameRegistrar, which registers JIT'd .eh_frame
sections, and expose it to controllers via the
orc_rt_ci_aa_sps_DWARFEHFrameRegistrar_registerSection and
orc_rt_ci_aa_sps_DWARFEHFrameRegistrar_deregisterSection allocation
actions.
The interface is added to the controller interface on Linux only; on
Darwin, StandaloneMachOUnwindInfoRegistrar is preferred.
Commit: cbfb9a698f5c499c2f91a7bf37dd16de5a93f868
https://github.com/llvm/llvm-project/commit/cbfb9a698f5c499c2f91a7bf37dd16de5a93f868
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
Log Message:
-----------
[MLIR][XeGPU] Optimize create_mask sg-to-lane lowering (#221198)
Commit: 39150b47fc3ecb1dcebc01bdbe6d52737d034336
https://github.com/llvm/llvm-project/commit/39150b47fc3ecb1dcebc01bdbe6d52737d034336
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/test/mlir-tblgen/op-format.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][ODS] Share parser operand storage cleanup (NFC) (#226094)
Group variable-length operand vectors in generated parsers and move
their construction and cleanup into a shared storage template. This
reduces repeated cleanup code in parsers with many optional operand
groups.
Assisted-by: Codex
Commit: c2aef227d600e8e8677697745ef953f9f43e8b87
https://github.com/llvm/llvm-project/commit/c2aef227d600e8e8677697745ef953f9f43e8b87
Author: Vimal Patel <vimal.patel at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
M llvm/test/CodeGen/AArch64/fcvt-fixed.ll
Log Message:
-----------
[AArch64][GlobalISel] Improve fixed-point int-to-fp selection (#224055)
Select scalar fixed-point integer-to-float conversions directly in
GlobalISel when their integer operand is already in the FPR bank. Teach
the fixed-point immediate matcher about reciprocal constants. Refine
register-bank selection for scalar conversion intrinsics.
Commit: c3fae693da306d9e0ef78d7353d4b197159ff60a
https://github.com/llvm/llvm-project/commit/c3fae693da306d9e0ef78d7353d4b197159ff60a
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/CodeGen/AArch64/arm64-ccmp-heuristics.ll
M llvm/test/CodeGen/AArch64/arm64-fastcc-tailcall.ll
M llvm/test/CodeGen/AArch64/arm64-prefetch-new.ll
M llvm/test/CodeGen/AArch64/arm64-prefetch.ll
M llvm/test/CodeGen/AArch64/instr-ref-ldv.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-memory-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
M llvm/test/CodeGen/AMDGPU/lower-lds-with-alias-scope.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-with-noalias.ll
M llvm/test/CodeGen/Hexagon/bugAsmHWloop.ll
M llvm/test/CodeGen/Hexagon/circ_ld.ll
M llvm/test/CodeGen/Hexagon/cmpb-eq.ll
M llvm/test/CodeGen/Hexagon/early-if-spare.ll
M llvm/test/CodeGen/Hexagon/hwloop-preh.ll
M llvm/test/CodeGen/Hexagon/insert4.ll
M llvm/test/CodeGen/Hexagon/mux-basic.ll
M llvm/test/CodeGen/Hexagon/pic-simple.ll
M llvm/test/CodeGen/Hexagon/pic-static.ll
M llvm/test/CodeGen/Hexagon/predicate-logical.ll
M llvm/test/CodeGen/Hexagon/rdf-copy.ll
M llvm/test/CodeGen/Hexagon/sdata-basic.ll
M llvm/test/CodeGen/Hexagon/store-widen.ll
M llvm/test/CodeGen/Hexagon/swp-stages4.ll
M llvm/test/CodeGen/Hexagon/swp-stages5.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vshifts.ll
M llvm/test/CodeGen/PowerPC/aa-tbaa.ll
M llvm/test/CodeGen/SystemZ/alias-01.ll
M llvm/test/CodeGen/X86/merge_store_duplicated_loads.ll
M llvm/test/Transforms/GVN/opt-remarks.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVNSink/sink-common-code.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-memset.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/MergedLoadStoreMotion/preserve-store-metadata.ll
M llvm/test/Transforms/NewGVN/tbaa.ll
M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
M llvm/test/Transforms/SLPVectorizer/X86/metadata.ll
M llvm/test/Transforms/SROA/tbaa-struct2.ll
M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/basic.ll
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
M llvm/test/Transforms/SimplifyCFG/basictest.ll
M llvm/test/Transforms/VectorCombine/alias.ll
Log Message:
-----------
[llvm] Update tests to use struct path TBAA (#226051)
The new format was introduced more than a decade ago, so make sure it's
used in tests. The tests currently get away with it due to a TBAA
upgrade applied in the IR parser.
Disclosure: AI-generated change.
Commit: 373c617456bb9d8fab088858f6958bfb9d0859c3
https://github.com/llvm/llvm-project/commit/373c617456bb9d8fab088858f6958bfb9d0859c3
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Log Message:
-----------
[SanitizerCoverage] Directly create ptradd constant expression (NFC) (#226107)
Don't go through an IRBuilder without insertion point for a case
that always creates a constant expression.
Commit: 23cc19ae2dc9fa7db608fc748cbcf04c186b64f0
https://github.com/llvm/llvm-project/commit/23cc19ae2dc9fa7db608fc748cbcf04c186b64f0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/test/CodeGen/AMDGPU/wqm.mir
Log Message:
-----------
AMDGPU: Invalidate VCC live ranges when lowering kill instructions (#226040)
lowerKillInstr replaces the kill pseudo with a v_cmp defining VCC plus
two instructions reading it, but left any previously computed VCC
regunit ranges alone. If something had already materialized them, the
new uses have no live segment:
*** Bad machine code: No live segment at use ***
- instruction: $exec = S_ANDN2_B64_term $exec, $vcc, implicit-def $scc
Drop the ranges so they are recomputed on demand, as is already done for
EXEC and SCC.
Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
Commit: fe665796d2c1e73d5c82656840643a588767ca9b
https://github.com/llvm/llvm-project/commit/fe665796d2c1e73d5c82656840643a588767ca9b
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup.c
M clang/test/CodeGen/AArch64/sve/dup.c
Log Message:
-----------
[clang][AArch64] Consolidate codegen tests for SVE's DUP intrinsics (#223933)
This patch completes the migration of the tests from:
* clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup.c
to:
* clang/test/CodeGen/AArch64/sve/dup.c
`dup.c` covers all the cases previously tested by `acle_sve_dup.c`.
However, unlike `acle_sve_dup.c`, it was only tested as C. Add `-x c++`
RUN lines to provide the equivalent C++ coverage, including lowering
via CIR.
Commit: 453900c197e9bccfd9b9426338c22173d3021410
https://github.com/llvm/llvm-project/commit/453900c197e9bccfd9b9426338c22173d3021410
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/CodeGen/X86/memset.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/SLPVectorizer/X86/fabs.ll
M llvm/test/Transforms/SLPVectorizer/X86/fcopysign.ll
M llvm/test/Transforms/SLPVectorizer/X86/fma.ll
M llvm/test/Transforms/SLPVectorizer/X86/fmaxnum.ll
M llvm/test/Transforms/SLPVectorizer/X86/fminnum.ll
M llvm/test/Transforms/SLPVectorizer/X86/fmuladd.ll
Log Message:
-----------
[X86] Prepare bdver tests for TuningPrefer128Bit (#226103)
Ensure the check prefixes correctly handle XOP targets independently,
I've also reordered some of the tests so we can cleanly order the
eventual AVX128/AVX256/AVX512 checks
Help reduce the diff for #225838
Commit: f96febaf2701fc5f1979a4e0b49bdd97cae3fdb6
https://github.com/llvm/llvm-project/commit/f96febaf2701fc5f1979a4e0b49bdd97cae3fdb6
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-managed-descriptor-component.fir
A flang/test/Fir/CUDA/cuda-managed-pointer-linkage.cuf
Log Message:
-----------
[flang][cuda] Share the managed companion pointer across translation units (#225710)
A non-allocatable managed module variable is accessed through a
companion pointer in the `__nv_managed_data__` section, which the CUDA
runtime fills in with the unified memory address at module
initialization. Every translation unit referencing the variable emitted
its own internal pointer and registered it. The runtime populates only
the registration performed first for a given variable name (*), so every
other unit was left loading through a null pointer and crashed at run
time.
Emit a single pointer with external linkage instead. The unit defining
the variable emits the definition, zero-initialized and in
`__nv_managed_data__`, and registers it; a unit that only USEs the
variable emits a declaration and no registration, resolving to that
definition at link time.
(*) I verified this using the following reproducer:
`exp_mod.f90`:
```fortran
module m
implicit none
type :: t
integer :: n
real, allocatable, managed :: a(:)
end type
type(t) :: g
end module
```
`exp_use.f90`:
```fortran
program p
use m
allocate(g%a(4))
g%n = 4
print *, "n=", g%n, " size=", size(g%a)
end program
```
And the following sequence of events:
1. Compile each source individually to its `*.o` file.
2. Manually link the 2 object files: 2.1. If we link `exp_mod.o
exp_use.o` (object file that does actually use the global last), then we
get a seg fault because the companion global is not initialized. 2.2. If
we reverse the linking order `exp_use.o exp_mod.o`, the companion
pointer of the users object file get proper initialized and the binary
does not seg fault.
If we add uses to both files, then we get a seg fault regradless of the
linking order.
Commit: 896f344605665ad74f34521ecd11ef84c7617987
https://github.com/llvm/llvm-project/commit/896f344605665ad74f34521ecd11ef84c7617987
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/vectorgep-crash.ll
Log Message:
-----------
[ConstantFolding] Use getGetElementPtr() overload accepting DataLayout (#226104)
To directly create the constant GEP in canonical form. The practical
effect is that we a) canonicalize vector GEPs and b) decline to
create a GEP which can't be represented in ptradd form (in the
constant_fold_custom_dl test due to a non-canonical index type).
Commit: d098bf235dacecec02d4c2ccc0ff4bc6a00461d2
https://github.com/llvm/llvm-project/commit/d098bf235dacecec02d4c2ccc0ff4bc6a00461d2
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 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/stdio.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/renameat.h
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/linux/CMakeLists.txt
A libc/src/stdio/linux/renameat.cpp
A libc/src/stdio/renameat.h
M libc/test/src/stdio/CMakeLists.txt
A libc/test/src/stdio/renameat_test.cpp
Log Message:
-----------
[libc] Implement renameat in stdio (#225739)
Implement the standard POSIX.1-2008 / POSIX.1-2024 function renameat in
<stdio.h>.
Fixes #225679
Commit: 0145ade4fb7c16780a76fb54138974892a941857
https://github.com/llvm/llvm-project/commit/0145ade4fb7c16780a76fb54138974892a941857
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Diagnose array-to-pointer-decays on unsized opaque pointers (#226027)
Commit: 5b6bfedc496ded375231a5afebe5d0f27821b7f2
https://github.com/llvm/llvm-project/commit/5b6bfedc496ded375231a5afebe5d0f27821b7f2
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/gh154704.cpp
Log Message:
-----------
[Clang][OpenMP] Use the list item location as point of instantiation in mapper lookup (#225604)
Fixes #154704
When a variable is implicitly mapped on `#pragma omp target`, Clang
looks for a user-defined mapper for its type through ADL, and ADL may
have to instantiate class template specializations named by the type's
template arguments (for `std::map<int, int>` that's its allocator).
Implicit map clauses carry no source location by design, and the
"default" mapper id was stamped with that empty location, so the
instantiation was recorded with an invalid point of instantiation and
`setPointOfInstantiation` asserted.
`buildUserDefinedMapperRef` now takes the location of the mapped list
item and uses it for the ADL and the derived-class checks, which is what
the other default-mapper lookups in `SemaOpenMP.cpp` already did.
Diagnostics about the mapper id and the mapper reference itself keep the
mapper-id location, so explicit `mapper(id)` behavior is unchanged. The
instantiation is now attributed to the mapped variable inside the
region, which is also where the "in instantiation requested here" note
points.
Commit: 3be1abd559ad2084a0b5ee082656bc590697d44d
https://github.com/llvm/llvm-project/commit/3be1abd559ad2084a0b5ee082656bc590697d44d
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
A llvm/test/MC/RISCV/xandesvsinth-invalid.s
M llvm/test/MC/RISCV/xandesvsinth-valid.s
Log Message:
-----------
[RISCV] Require Zve32f for XAndesVSIntH FP conversions (#226001)
`XAndesVSIntH` currently implies only `Zve32x`. This commit requires
vector floating-point support for its four integer-to-FP conversion
instructions.
Commit: 4aa4a6d9e82dcef3e6a1c9ae249a144e60384f52
https://github.com/llvm/llvm-project/commit/4aa4a6d9e82dcef3e6a1c9ae249a144e60384f52
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/DebugInfo/PDB/Native/InfoStreamBuilder.cpp
M llvm/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp
M llvm/test/DebugInfo/PDB/pdbdump-raw-bytes.test
M llvm/test/tools/llvm-pdbutil/explain-pdb-stream.test
Log Message:
-----------
[PDB] Correctly read/write the named stream map's niMac value (#225729)
The serialization of a PDB stream's named stream map ends with an
integer value, NMTNI::niMac in the microsoft-pdb code.
Since 05d5e6136f5a3f5de28ae64077200bbdc2cacfb4, LLVM was writing this
out as an undocumented zero between the named streams map and feature
codes, and reading it as an unknown/ignored feature code.
The actual value doesn't seem particularly important, but it's better to
read/write these explicitly, and it should not be read as a feature
code.
This fixes one of the issues in
https://github.com/llvm/llvm-project/issues/206120
Commit: 3306ae1c98d695d7d111bd8037380c7d09e818b6
https://github.com/llvm/llvm-project/commit/3306ae1c98d695d7d111bd8037380c7d09e818b6
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
Log Message:
-----------
[WasmEHPrepare] Don't use IRBuilder for constexpr GEP (#226108)
Do not use an IRBuilder without an insertion point to create
a constant expression get. Directly create the constant expression
instead.
Commit: ec221fb9375f6a66d73a1588c7b7386c8d9519cf
https://github.com/llvm/llvm-project/commit/ec221fb9375f6a66d73a1588c7b7386c8d9519cf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
R llvm/test/CodeGen/Generic/sjlj-eh-prepare.ll
A llvm/test/Transforms/SjLjEHPrepare/sjlj-eh-prepare.ll
Log Message:
-----------
CodeGen: Move Generic sjlj test to Transforms (#226112)
Test the IR-only SjLjEHPrepare pass in the dedicated pass test
directory. Also add the module flag so it is really triple
independent.
Commit: 9c16b67820883dc90851278471f1d1a386ab0a2b
https://github.com/llvm/llvm-project/commit/9c16b67820883dc90851278471f1d1a386ab0a2b
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
Log Message:
-----------
[ORC] Describe COFFPlatform symbol names by mangling kind (#226097)
Replace Verbatim with the accurate SymbolNameKind for the names that
COFFPlatform and COFFVCRuntimeBootstrapper look up: C for the ORC
runtime's extern "C" __orc_rt_coff_* entry points, the C runtime's
__scrt_* functions, and __run_after_c_init; Linker for the MSVC
C++-decorated ?__scrt_initialize_type_info@@YAXXZ, which is already a
linker-level name.
Commit: 12f5b245fa09c91317bf74e5e207a2a7da661407
https://github.com/llvm/llvm-project/commit/12f5b245fa09c91317bf74e5e207a2a7da661407
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
Log Message:
-----------
[InstCombine] Directly add negated instructions to the worklist (#226118)
This code was doing something really confusing: Resetting the
insertion point and debug location and then inserting the
instructions -- which should be a no-op. It turns out that the
purpose of this code is to invoke the InstCombine IRBuilder
insertion callback, which will add these instructions to the
worklist.
Instead of going through these contortions, directly add the
new instructions to the worklist.
Commit: 42dcd3f72eb95200beb3b518f436b88479e6fac6
https://github.com/llvm/llvm-project/commit/42dcd3f72eb95200beb3b518f436b88479e6fac6
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
Log Message:
-----------
[MISched] Make `getUnderlyingObjectsForInstr()` preserve unidentified objects (#225085)
Commit: ceee3c39e1be9692557a22aedc7b87ae88ef5811
https://github.com/llvm/llvm-project/commit/ceee3c39e1be9692557a22aedc7b87ae88ef5811
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M polly/lib/Analysis/ScopInfo.cpp
A polly/test/ScopInfo/multidim-shrunk-element-type.ll
Log Message:
-----------
[Polly] Restate array sizes and subscripts when the element type shrinks (#221496)
Polly uses the smallest type to an array with element type of its
ScopArrayInfo. So a byte-wise access, such as a memset, can make the
element type smaller after the sizes of the array dimensions have
already been stored. Those sizes were not updated when the element type
changed: a row of a two-dimensional array of double kept the size. Every
access to the array then looks like it goes past the end of its row, the
inbounds assumption becomes impossible to satisfy, and the SCoP is
dropped without any message. Finally, this patch multiplies the size of
the innermost dimension.
Assisted-by: Claude (Anthropic)
Commit: c4048fb6de5097256045212f9f80c5f0ab41deed
https://github.com/llvm/llvm-project/commit/c4048fb6de5097256045212f9f80c5f0ab41deed
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/fptosi-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptosi.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptoui.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
M llvm/test/Transforms/SLPVectorizer/X86/uitofp.ll
Log Message:
-----------
[X86] Prepare bdver fp<->int tests for TuningPrefer128Bit (#226121)
Ensure the check prefixes can handle bdver targets independently, I've
also reordered some of the tests so we can cleanly order the eventual
AVX128/AVX256/AVX512 checks
Help reduce the diff for #225838
Commit: b912c9c767056ca7a7bbbf41925d45dbb3dac1b3
https://github.com/llvm/llvm-project/commit/b912c9c767056ca7a7bbbf41925d45dbb3dac1b3
Author: Alexander Hück <ahuck at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
[AMDGPU] Mark CDBG branches as having side effects (#226123)
The change marks all four CDBG branch variants as having unmodeled side
effects, consistent with reading externally controlled debug state.
Commit: ad71e8769e21715555f0e8fb0094f3d2d00557dd
https://github.com/llvm/llvm-project/commit/ad71e8769e21715555f0e8fb0094f3d2d00557dd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/CodeGenCXX/mangle-class-nttp.cpp
Log Message:
-----------
[clang][bytecode] Don't add an LValuePath to APValues with invalid bases (#226096)
If the APValue is created for an opaque pointer, check first if the base
is valid. If not, we're not supposed to provide an LValuePath at all.
Commit: a8705c33dda2bb831ee6d6e0500b2d20bb902d0c
https://github.com/llvm/llvm-project/commit/a8705c33dda2bb831ee6d6e0500b2d20bb902d0c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M orc-rt/test/unit/support/ErrorExceptionInteropTest.cpp
Log Message:
-----------
[orc-rt] Fix unused variable warning in unit test. (#226139)
Fix a clang warning about RTTIName being unused in
ORC_RT_ENABLE_EXCEPTIONS=Off builds.
Commit: ea9f4c16ec59a210753b6e5dd23e6b0ee0a8542c
https://github.com/llvm/llvm-project/commit/ea9f4c16ec59a210753b6e5dd23e6b0ee0a8542c
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/unittests/IR/InstructionsTest.cpp
Log Message:
-----------
[InstructionsTest] Avoid IRBuilder without insertion point (NFC) (#226145)
Directly create the instruction instead of going through an IRBuilder
without insertion point.
Commit: c6ee71d5e8a5d53a24539dcd2a098e02e4e38a05
https://github.com/llvm/llvm-project/commit/c6ee71d5e8a5d53a24539dcd2a098e02e4e38a05
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/relax-branches-with-thunk-chain.s
A bolt/test/AArch64/relax-call-long-thunk-reuse.s
A bolt/test/AArch64/relax-call-short-thunk-reuse.s
A bolt/test/AArch64/relax-calls.s
A bolt/test/AArch64/relax-cross-fragment-calls.s
R bolt/test/AArch64/relax-exp.s
Log Message:
-----------
[BOLT][AArch64] Relax calls and branches with fragment clusters (#215825)
Build relaxation clusters from emitted function fragments instead
of whole functions, so split hot/cold code is modeled in the order
it will be emitted. Use those clusters to place short and long call
thunks, and to build forward/backward thunk chains for in-layout
inter-cluster branches.
Rely on relaxLocalBranches() to lower short local branches to local
stubs first, then relax the remaining direct 28-bit edges. Warn and
leave out-of-layout unconditional branches unrelaxed; route
out-of-layout calls through long thunks.
This lets the experimental AArch64 relaxation path handle large
split binaries where direct call/branch relocations can cross the
+/-128 MiB range after BOLT changes the layout. By default, it
does not assume PLT entries are near emitted code.
Tested with stage2-clang-bolt and Chromium using Speedometer
profile data, with lite mode disabled and no assumptions about
PLT proximity.
Assisted-by: Codex
Commit: 0d7414aec9d65f40e79334fb3adce570aa217f14
https://github.com/llvm/llvm-project/commit/0d7414aec9d65f40e79334fb3adce570aa217f14
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/Transforms/LowerIFunc/ifunc-alias.ll
M llvm/test/Transforms/LowerIFunc/ifunc-nonsense-resolvers.ll
M llvm/test/Transforms/LowerIFunc/ifunc-program-addrspace.ll
M llvm/test/Transforms/LowerIFunc/lower-ifunc.ll
Log Message:
-----------
[LowerIFunc] Regenerate test checks (NFC) (#226151)
Commit: ece0035d0e771f1f23c8f630c8eccd7bdb0932f0
https://github.com/llvm/llvm-project/commit/ece0035d0e771f1f23c8f630c8eccd7bdb0932f0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/ARM/extracted-subfields-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields.ll
Log Message:
-----------
[SLP][NFC]Add extra tests for missed vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/226159
Commit: 2ac696e23ca31d68a89060c7a935c75bc4efb846
https://github.com/llvm/llvm-project/commit/2ac696e23ca31d68a89060c7a935c75bc4efb846
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Try to avoid a `SmallVector` in `Pointer::toAPValue()` (#226143)
Only create the local variable if we really need it.
Commit: 34f5f2c594111e6a3edf65673c3ea2849e96e2cb
https://github.com/llvm/llvm-project/commit/34f5f2c594111e6a3edf65673c3ea2849e96e2cb
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaARM.h
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/AArch64/atomic-store-hint-template.cpp
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/Sema/builtins-arm64.c
A llvm/include/llvm/Support/AArch64MemoryHints.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
A llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-hint.ll
A llvm/test/CodeGen/AArch64/Atomics/aarch64-relaxed-store-hint.ll
A llvm/test/CodeGen/AArch64/Atomics/atomic-store-pseudo.mir
Log Message:
-----------
[AArch64] Implement the atomic store with hint intrinsic (#198316)
Adds the following ACLE intrinsic as described in [1]:
void __arm_atomic_store_with_hint(type *ptr, type data,
int memory_order, int hint);
An atomic store instruction is emitted in Clang for this builtin with additional
metadata attached with !mem.cache_hint, which ensures the instruction is
recognised as atomic by later passes in LLVM. When an atomic store is found
with this metadata, it is lowered to the ATOMIC_STORE_HINT pseudo which is
later expanded into an STSHH instruction plus an atomic store.
The hint is a suggestion to the compiler and maps directly to a specific hint
instruction variant in the ISA. The compiler may use this hint when selecting
code sequences, but it is not required to emit a specific hint instruction or a
specific instruction sequence.
Supported atomic store hints are currently:
HINT_STSHH_KEEP: Requests retention of the updated location in the
local cache of the updating PE.
HINT_STSHH_STRM: Requests that the updated location not be retained
in the local cache of the updating PE.
[1] https://github.com/ARM-software/acle/pull/432
Commit: 314348fbfbef2cd628f05e4974811de4fa1b0d39
https://github.com/llvm/llvm-project/commit/314348fbfbef2cd628f05e4974811de4fa1b0d39
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
Log Message:
-----------
[LowerIFunc] Regenerate test checks (NFC) (#226151)
Commit: 053331c2c9f47fb0795c19f33c128ab82205b4cd
https://github.com/llvm/llvm-project/commit/053331c2c9f47fb0795c19f33c128ab82205b4cd
Author: jon-gibney <jonathon.gibney at hpe.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
R flang/test/Fir/convert-to-llvm-unsafe-fp-conversion.fir
Log Message:
-----------
Revert "[flang] Respect math flags during conversions (#214311)" (#225887)
This reverts commit 688119653fd40fa46244e1c300e728677a4f001a.
This caused a regression in Fujitsu test 0291/0291_0008.f with
`-ffast-math -march=native -03`. That test does a conversion that always
overflows, so without saturating math it produces poison, which causes
it to treat the rest of the routine as unreachable, resulting in a crash
on x86. I'll have to try another approach.
Commit: 520b1687095eaf9dd410fb48ab622205e9fec044
https://github.com/llvm/llvm-project/commit/520b1687095eaf9dd410fb48ab622205e9fec044
Author: Konstantin Bogdanov <thevar1able at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/phi-known-nonzero.ll
Log Message:
-----------
[ValueTracking] An or recurrence with a non-zero start value is non-zero (#226155)
Or-ing anything into a non-zero value keeps it non-zero, so
`isNonZeroRecurrence` can accept a simple `%iv = or %iv, %step`
recurrence with a non-zero constant start value, regardless of the step.
The first commit precommits the tests in `phi-known-nonzero.ll`.
This is split out of #222334. Together with a follow-up that stops
limiting the recursion depth for single-incoming (LCSSA) phis in
`isKnownNonZero`, it lets LoopIdiomRecognize (#222373) form `llvm.ctlz`
for the clz loop in ffmpeg's `sbc_calc_scalefactors`.
Commit: 12a8c418b4df10ae6241e26e9e114935656f197f
https://github.com/llvm/llvm-project/commit/12a8c418b4df10ae6241e26e9e114935656f197f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/early-exit-live-out-extract-lane.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
Log Message:
-----------
[VPlan] Simplify extract-lane from same single-scalar. (#226102)
Generalize extract-lane(idx, single-scalar) -> single-scalar to also
apply if there are multiple vectors to extract and all values are the
same single-scalar.
PR: https://github.com/llvm/llvm-project/pull/226102
Commit: ce36410607a87ee035224e2a6a819b24aa8f0bab
https://github.com/llvm/llvm-project/commit/ce36410607a87ee035224e2a6a819b24aa8f0bab
Author: Shikhar Jain <shikharj at qti.qualcomm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopInfo.cpp
A polly/test/CodeGen/broken-dominance-escaping-scalar.ll
Log Message:
-----------
[Polly] Materialize escaping scalars from empty-domain statements as poison (#220008)
Problem Summary: In a versioned SCoP, Polly may remove a statement with
an empty iteration domain before building its access relations. If that
statement contains an escaping MemoryKind::Value MUST_WRITE access,
removing the
statement also prevents the corresponding ScopArrayInfo from being
registered. During code generation, Polly then fails to materialize the
escaping scalar, leaving a merge PHI that refers to a value defined only
on the original path.
This causes an LLVM verifier failure because the value does not dominate
all uses.
Fix: When removeStmtNotInDomainMap() is about to remove a statement with
a null or empty domain, register the ScopArrayInfo for its qualifying
escaping scalar accesses before allowing the statement to be removed.
The statement is still pruned normally, but code generation can now
materialize the scalar through a .s2a slot and reload it on the
optimized merge edge. Since the defining statement is absent on that
path, the reload is poison. This is sound because
the poison is used only for parameter ranges where the original program
already has undefined behavior
The new .merge PHI provides a dominating definition on the optimized
edge, which resolves the verifier failure while keeping the region
optimized.
Fixes #206551
Commit: f05ae447f56404dce7b43145676242d63e0734f4
https://github.com/llvm/llvm-project/commit/f05ae447f56404dce7b43145676242d63e0734f4
Author: Milad Fa <mfarazma at ibm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/docs/ReleaseNotes.md
Log Message:
-----------
[libclang/python] Fix visitor callback return data type (#221024)
Declare the visitor callbacks return as c_long, i.e. a full register
word rather than c_int.
This is currently causing an issue on s390x, a 64-bit big-endian target.
The V8 JavaScript engine has recently started using libclang as a
dependency
to parse header files. It is currently crashing on s390x with a SIGFPE
due to this issue.
Both the s390x ELF ABI and libffi require the value to be sign/zero
extended to register
size, and leaving it as `c_int` leaves garbage on the high side.
cindex.py calls into libclang through ctypes, which builds the callback
closures using
libffi. With a `c_int` return, ctypes writes only the low 32 bits and
skips the extension
that both the ABI and libffi's closure contract require, so libffi hands
libclang a register
whose high bits are garbage.
Using c_long makes the value fill the register at its native width on
all platforms.
Commit: 77fe47d9a004ec14bf8f5c4f647ea7cdee34c83c
https://github.com/llvm/llvm-project/commit/77fe47d9a004ec14bf8f5c4f647ea7cdee34c83c
Author: robertvirany <robertvirany at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/arbitrary-fp-to-float.ll
M llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
Log Message:
-----------
[NVPTX] Extend SETP commuting to support SELP users (#215897)
Extend NVPTX SETP commuting to support predicates used by SELP
instructions.
When commuting a SETP reverses its predicate, update each SELP user by
swapping its true and false operands. This allows MachineCSE to elimiate
redundant inverse comparisons whose predicates are used by both branches
and selects.
Add regression coverage for register and immediate SELP operands. This
also removes redundant predicates from the arbitrary floating-point
conversion tests.
Commit: c709a1a352a486ef173cc7164e0af07d5e102e48
https://github.com/llvm/llvm-project/commit/c709a1a352a486ef173cc7164e0af07d5e102e48
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/CodeGen/SystemZ/soft-float-05.ll
Log Message:
-----------
[SystemZ] Use complete triple s390x-linux-gnu in soft-float-05.ll (#225851)
Specify `-mtriple=s390x-linux-gnu` instead of the incomplete
`-mtriple=s390x` in `soft-float-05.ll`.
When LLVM is configured with a default target triple that has a
different OS environment (such as `s390x-ibm-zos`), bare
`-mtriple=s390x` inherits the default OS/ABI and fails the Linux SystemZ
assembly checks.
Commit: 2c1ca898c2baed18179811e088f7694b1927a816
https://github.com/llvm/llvm-project/commit/2c1ca898c2baed18179811e088f7694b1927a816
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract-nosve.ll
A llvm/test/CodeGen/AArch64/neon-get-active-lane-mask.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Implement expansion for fixed-length get.active.lane.mask. (#225459)
A step in the direction of removing the shouldExpandGetActiveLaneMask
TTI hook. For this PR I've implemented enough functionality to allow all
legalish fixed-length variants of get.active.lane.mask to bypass the
SelectionDAGBuilder based expansion for AArch64.
The AArch64TargetLowering::shouldExpandGetActiveLaneMask restrictions
are related to maintaining current code quality and not because the
expansion code cannot handle them.
Tests are a copy of active_lane_mask.ll with the scalable vector tests
removed.
Commit: 3501bbfcff7a0e87b1b90d9f67f1ad12f0feb3d7
https://github.com/llvm/llvm-project/commit/3501bbfcff7a0e87b1b90d9f67f1ad12f0feb3d7
Author: leovance <leovancekang at outlook.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
M mlir/lib/Conversion/OpenACCToLLVM/ACCExecutableDirectivePatterns.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
M mlir/test/Conversion/OpenACCToLLVM/data.mlir
M mlir/test/Conversion/OpenACCToLLVM/wait.mlir
Log Message:
-----------
[mlir][OpenACC] Preserve explicit device numbers in wait lowering (#222604)
WaitOpLowering currently ignores wait_devnum and always passes zero as
the device number to __tgt_acc_wait.
Forward the converted operand when present, adapting it to the runtime's
i32 parameter. Zero-extend narrow unsigned integers, sign-extend narrow
signed or signless integers, and truncate wider operands. Determine
signedness from the original operand type, since LLVM type conversion
makes integer types signless.
Keep the default device number unchanged when wait_devnum is absent.
Add regression coverage for explicit device numbers, integer width and
signedness conversions, index operands, and waits combining if and
async.
Commit: f36af5d17f273d6f70249a1b97bf452302e18ce6
https://github.com/llvm/llvm-project/commit/f36af5d17f273d6f70249a1b97bf452302e18ce6
Author: michaelselehov <michael.selehov at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/Transforms/LoadStoreVectorizer/batch-aa-compile-time.ll
Log Message:
-----------
[CaptureTracking] Raise the default use budget from 100 to 150 (#222654)
Commit: 5eb23d2ae9f1dab06a31e5f9d7d64fa23a775604
https://github.com/llvm/llvm-project/commit/5eb23d2ae9f1dab06a31e5f9d7d64fa23a775604
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/error_message.c
M clang/test/OpenMP/error_message.cpp
M clang/test/OpenMP/parallel_message_messages.cpp
Log Message:
-----------
[clang][OpenMP] Only accept char strings in the message clause (#226080)
Fixes #140338
The `message` clause accepted any character-typed string, checked with
`isAnyCharacterType()`, but everything that consumes it assumes a `char`
string: Sema evaluates it into a `std::string` for the compile-time
diagnostic, and codegen passes it straight to the `const char *`
parameter of `__kmpc_error` and `__kmpc_push_num_threads_strict`. When
the issue was filed this hit the assertion in
`StringLiteral::getString()`. Since #146405 the assert is gone, but the
underlying problem stayed: in C++ a wide literal like `message(L"bar")`
prints `b<NUL><NUL>` as the error text, and with `at(execution)` a
`wchar_t` array is emitted as the runtime's `char *` argument. C was
only spared because `wchar_t` is an integer typedef there, so the clause
was already rejected.
The clause now only accepts `char` element types, which is what the spec
requires (OpenMP 5.1 §2.5.4: msg-string is a string of `const char *`
type). Wide, `UTF-16/32` and C++20 `u8` literals get the existing
"expected string in 'clause message' - ignoring" warning and the
directive still fires with its generic message, matching what C already
did and what GCC does. Doing this at the single point where the clause
is built covers the diagnostic, both codegen paths, and template
instantiation without touching the evaluator.
Commit: 7e3927d7b4c48948cbce1fafa8faec90e8499f4b
https://github.com/llvm/llvm-project/commit/7e3927d7b4c48948cbce1fafa8faec90e8499f4b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-check-generated-files.yml
Log Message:
-----------
[Github] Downgrade libcxx generated files check to 24.04 (#226016)
It is failing to install clang-format with the updated version.
Commit: af77e07eafa8ffda52ad620ef1cdb0188745ddca
https://github.com/llvm/llvm-project/commit/af77e07eafa8ffda52ad620ef1cdb0188745ddca
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/test/API/windows/launch/replace-dll/TestReplaceDLL.py
Log Message:
-----------
[lldb][Windows] Compare real paths in TestReplaceDLL (#226177)
lldb reports a module's canonical path, which differs from the build
artifact path when the build tree is reached through a subst drive
(`S:\...` vs `C:\S\...`). Compare real paths instead.
Fixes `windows/launch/replace-dll/TestReplaceDLL.py` in swiftlang CI
where we use subst drives.
Commit: dd4b3b7f0880c5bd15cea1867f0c4b30468fdd0c
https://github.com/llvm/llvm-project/commit/dd4b3b7f0880c5bd15cea1867f0c4b30468fdd0c
Author: Gheorghe-Teodor Bercea <gt.bercea at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/complex-mul-fma.ll
Log Message:
-----------
[AMDGPU] Price only the fmul that fuses into an fadd/fsub as free (#226009)
An fadd/fsub with two fmul operands can fuse with only one of them into
an FMA. Currently they are both priced as if they are fused (i.e. free).
Commit: 645b6da50af57797b9e7ca5208d59bdd1b3dba6b
https://github.com/llvm/llvm-project/commit/645b6da50af57797b9e7ca5208d59bdd1b3dba6b
Author: ahmed mohamed kamel <amkzaher at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/test/Sema/stmtexprs.c
Log Message:
-----------
[Clang] Fix stmtexprs.c to not specify -pedantic (#226161)
Fixes a buildbot failure (llvm-clang-x86_64-sie-ubuntu-fast) where
`stmtexprs.c` didn't specify a C standard, causing `_Static_assert` and
`_Generic` to be flagged as C11 extensions on targets that default to an
older standard.
This removes `-pedantic` from the RUN line because the test does not
test any extension behavior anyway.
Follow-up to #225597.
Commit: d1106deb71cc81016406a1917d0508d2df296266
https://github.com/llvm/llvm-project/commit/d1106deb71cc81016406a1917d0508d2df296266
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/test/API/functionalities/duplicate-archive-members/Makefile
M lldb/test/API/lang/objc/conflicting-definition/Makefile
M lldb/test/API/lang/objc/hidden-ivars/Makefile
M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/Makefile
M lldb/test/API/macosx/find-dsym/deep-bundle/Makefile
Log Message:
-----------
[lldb][test] Use MKDIR_P in more API test Makefiles (#226157)
Replace `mkdir -p` with `$(call MKDIR_P,...)` in a few API test
Makefiles so they work with the Windows shell.
Commit: 0c5f2fc610675233de4e95cfc173a687c61cba8c
https://github.com/llvm/llvm-project/commit/0c5f2fc610675233de4e95cfc173a687c61cba8c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Install sccache from apt repo (#226019)
Now that we are on ubuntu 26.04 we have sccache 0.13.0 which should be
new enough that everything works.
Commit: 44be0efbe3ae7593da00770f8505486011ca7057
https://github.com/llvm/llvm-project/commit/44be0efbe3ae7593da00770f8505486011ca7057
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/HTTP/HTTPClient.cpp
Log Message:
-----------
[HTTP][Windows] Apply the configured timeout to WinHttpReceiveResponse (#226172)
`WinHttpSetTimeouts` does not bound the wait inside
`WinHttpReceiveResponse`, which has its own separate
`WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT`.
For example: with the SymStore timeout set to 1s, a server stalling 5s
before responding is not cancelled: `perform()` returns success with a
200 and no body, so lldb handed back a path to a file the response
handler never created.
This fixes `symstore/TestSymStore.py` (test_http_timeout) in swiftlang.
Commit: 833166e22fe20c3513a77a02e34385c16128ea31
https://github.com/llvm/llvm-project/commit/833166e22fe20c3513a77a02e34385c16128ea31
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
A mlir/test/Dialect/XeGPU/sg-to-lane-distribute-convert-layout-slice.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir
Log Message:
-----------
[mlir][xegpu] Distribute three more convert_layout cases to lanes (#222693)
`xegpu-sg-to-lane-distribute` could not lower an `xegpu.convert_layout`
whose effective `lane_layout` changes in a way that moves elements
between lanes. Add one pattern per case found in the workgroup-level
mx-fp GEMM quantize-A kernels, where `#xegpu.slice` layouts of a rank-3
layout meet the rank-2 layouts of `load_nd` and `dpas_mx`:
- fully broadcast source to one row per lane: `vector.extract`
- source broadcast over two lane groups to one row per lane:
`vector.extract` plus two `gpu.shuffle`
- fully broadcast source to one column per lane group:
`vector.deinterleave` plus a select on the lane group
Commit: 1794efe8f33a965e55c1f532c88949cfcc152c1d
https://github.com/llvm/llvm-project/commit/1794efe8f33a965e55c1f532c88949cfcc152c1d
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/XeVMDialect.cpp
A mlir/test/Dialect/LLVMIR/xevm-canonicalize.mlir
Log Message:
-----------
[mlir][xevm] Fold xevm.truncf of an xevm.extf round trip (#225875)
A xevm.extf followed by a xevm.truncf through the same pair of formats
returns the value it started from, so the pair can be dropped. Fold it
on the truncf, the way arith::TruncFOp::fold recognizes truncf(extf(a)),
and gate it on APFloatBase::isLosslesslyConvertibleTo of the two formats
the element type attributes stand for.
That gate excludes bf8: it is IEEE-like, so extending a signaling NaN
quiets it and the original value cannot be recovered, which is the same
reason arith does not fold an f8E5M2 round trip. f8 (E4M3, NaN only) and
e2m1 (finite only) do fold.
Mark both ops Pure so the extf left without users is removed and the
pair folds to nothing.
Commit: d4367db7021b08647c0d733234e053f6f987a6b7
https://github.com/llvm/llvm-project/commit/d4367db7021b08647c0d733234e053f6f987a6b7
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
Log Message:
-----------
[AMDGPUSwLowerLDS] Fix non-deterministic global ordering (#226184)
Ran into this when generated UTC checks kept changing order.
Commit: 2b9e54c6aebb44b642e1298bb9b704a7136e35dc
https://github.com/llvm/llvm-project/commit/2b9e54c6aebb44b642e1298bb9b704a7136e35dc
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/Transforms/PGOProfile/indirect_call_profile.ll
Log Message:
-----------
[InstrProf][NFC] Expand indirect_call_profile.ll test (#220691)
Commit: a33352ddde6d781ba823e6e856d06eeceb15a1fa
https://github.com/llvm/llvm-project/commit/a33352ddde6d781ba823e6e856d06eeceb15a1fa
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
Log Message:
-----------
[CodeExtractor] Preserve the original DIExpression for extracted inputs. (#224360)
58430692fc15 always inserted an empty expression when cloning debug
records for outlined inputs, which dropped existing expression. Fixed by
using the existing expression instead of creating an empty one.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: d41006c17bfc36cf899f39e93f839ae8ed3db637
https://github.com/llvm/llvm-project/commit/d41006c17bfc36cf899f39e93f839ae8ed3db637
Author: Gábor Horváth <xazax.hun at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
M clang/test/Sema/LifetimeSafety/capture-by.cpp
M clang/test/Sema/LifetimeSafety/cfg-bailout.cpp
M clang/test/Sema/LifetimeSafety/dangling-field.cpp
M clang/test/Sema/LifetimeSafety/dangling-global.cpp
M clang/test/Sema/LifetimeSafety/inapplicable-lifetimebound.cpp
M clang/test/Sema/LifetimeSafety/invalidations.cpp
M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
M clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp
M clang/test/Sema/LifetimeSafety/nocfg.cpp
M clang/test/Sema/LifetimeSafety/noescape-violation.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Revamp how accesses and uses are handled (#225799)
Previously every DeclRefExpr was a use, so naming a pointer, taking its
address
or copying it counted as reading what it points to. Writes were then
exempted
after the fact through a UseFact -> Expr map and a special case for
writes
through references.
Now a use is an access: an lvalue-to-rvalue conversion, a write through
an
assignment, increment or asm output, or a copy of a class object from a
glvalue.
It is recorded on the accessed lvalue's outer origin, the loans saying
which
storage it may name. The visitors for `*p`, `p->f` and `p[i]` already
flow the
base pointer there, so dereferences need no special handling. Reads of a
value
go through readValue(), which records the access; writes peel the outer
origin
directly. Values handed to opaque code still use every level.
Consequences:
- Copying a pointer, taking an address, `(void)p` and `p++` are not
uses.
- Writing through a dangling pointer (`*p = 1`, `p->f = 1`) is now
diagnosed.
- An access of an origin that names a declaration outright is skipped:
it
only holds a loan to that declaration, which is valid wherever it is
named.
- UseFact::IsWritten and markUseAsWrite are removed; kills on assignment
already come from the destination's OriginFlowFact or KillOriginFact.
Fewer use facts are generated, e.g. on the lifetime-safety lit tests:
safety.cpp 1886 -> 882
invalidations.cpp 616 -> 451
nocfg.cpp 544 -> 415
capture-by.cpp 395 -> 324
Assisted by: Opus 5.5
---------
Co-authored-by: Gabor Horvath <gaborh at apple.com>
Commit: d55a3fd2cec0e02d475bebba4772c1edee02aa89
https://github.com/llvm/llvm-project/commit/d55a3fd2cec0e02d475bebba4772c1edee02aa89
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
Log Message:
-----------
[VPlan] Mark histogram increment as only having its first lane used. (#226138)
The second operand (increment ) of llvm.experimental.vector.histogram.*
is a scalar. Handle it in usesFirstLaneOnly.
PR: https://github.com/llvm/llvm-project/pull/226138
Commit: 1bfac635af65eb573d373dee663492c636aa0a3d
https://github.com/llvm/llvm-project/commit/1bfac635af65eb573d373dee663492c636aa0a3d
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
Log Message:
-----------
[AMDGPUMemoryUtils] Use MapVector for FunctionVariableMap (#226198)
At least AMDGPUSwLowerLDS iterated over this map in a way that
affects IR output order. Use MapVector to make it deterministic.
Commit: 59651039cc264619f71dfad40d061df2a615eaf1
https://github.com/llvm/llvm-project/commit/59651039cc264619f71dfad40d061df2a615eaf1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libcxx/docs/Contributing.rst
Log Message:
-----------
[libcxx] Update docs for updating the CI container image (#226018)
The process is a lot less complicated now that one can do it purely by
modifying the image hash in the workflow file.
Commit: 7669cf3e4b1c883dd5775a781669a18174300015
https://github.com/llvm/llvm-project/commit/7669cf3e4b1c883dd5775a781669a18174300015
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes a33352d (#226196)
This fixes a33352ddde6d781ba823e6e856d06eeceb15a1fa (#224360).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=a33352ddde6d781ba823e6e856d06eeceb15a1fa
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 4127345110ee862f01e81801fbfe8f84e4a75874
https://github.com/llvm/llvm-project/commit/4127345110ee862f01e81801fbfe8f84e4a75874
Author: geoffreygaren <ggaren at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[WebKit Checkers] Do not report lambda captures in system headers (#226182)
This matches the policy in other WebKit checkers.
Some `std` namespace lambdas like `find` lack the `noescape` annotation,
so the borrow checker flags them.
Assisted-by: Claude
Commit: e5c969157449c62ac255389dfad4847b213a4773
https://github.com/llvm/llvm-project/commit/e5c969157449c62ac255389dfad4847b213a4773
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb] Fix OOB write in MultiMemRead response parsing (#226168)
Change some memory writes in ParseMultiMemReadPacket so that it no
longer asserts on OOB accesses, instead returning an error. This makes
the code correct even in release builds.
Commit: dbeaf3d1d6b1ac027a9130579c4c359aacd81e3b
https://github.com/llvm/llvm-project/commit/dbeaf3d1d6b1ac027a9130579c4c359aacd81e3b
Author: aokblast <aokblast at FreeBSD.org>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[InstSimplify] Add missing FRem in FMF overload (#225987)
Commit: 6bef34a7ebbef9b11654aef83c8fbc1b0dc16860
https://github.com/llvm/llvm-project/commit/6bef34a7ebbef9b11654aef83c8fbc1b0dc16860
Author: Nikita Kornev <nikita.kornev at intel.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/tools/offload-arch/CMakeLists.txt
M clang/tools/offload-arch/LevelZeroArch.cpp
M clang/unittests/offload-arch/CMakeLists.txt
M clang/unittests/offload-arch/OffloadArchTest.cpp
A llvm/include/llvm/TargetParser/IntelGPUTargetParser.def
A llvm/include/llvm/TargetParser/IntelGPUTargetParser.h
M llvm/include/module.modulemap
M llvm/lib/TargetParser/CMakeLists.txt
A llvm/lib/TargetParser/IntelGPUTargetParser.cpp
M llvm/unittests/TargetParser/CMakeLists.txt
A llvm/unittests/TargetParser/IntelGPUTargetParserTest.cpp
Log Message:
-----------
[TargetParser] Add a list of Intel GPUs, and use it in offload-arch (#222072)
Currently offload-arch prints Intel GPU identifiers like "Intel(R) Data
Center GPU Max 1100" which are not legal values for clang's
--offload-arch option.
Print an architecture name instead, e.g. "xe-pvc". The driver reports a
GPU IP version, the GMDID, for every device. Add a table that maps a
GMDID to a name, and look the device up in it. A device that is missing
from the table is printed by its numeric version, e.g. "xe_35.11.0". A
device whose driver does not report a GMDID is skipped.
The table goes in llvm/TargetParser, next to the other GPU lists,
because other tools need it too. Some of them are LLVM libraries, which
cannot include a clang header.
Every row of IntelGPUTargetParser.def holds a name that --offload-arch
accepts, the major and minor components of the GMDID that the device
reports, and the IGCA (Intel Graphics Compute Architecture) target and
feature sets that the name maps to. The revision component is left out,
so every revision of a device gets the same name. A few names, such as
xe-dg2, cover a whole product line. No device reports a GMDID for those,
so offload-arch never prints them.
The header declares only the functions that offload-arch needs. More
will follow when something needs them.
---------
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 5f7d8a2fadec43d1e70f1ebed812eda52234623c
https://github.com/llvm/llvm-project/commit/5f7d8a2fadec43d1e70f1ebed812eda52234623c
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 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/hdr/CMakeLists.txt
A libc/hdr/poll_macros.h
M libc/include/CMakeLists.txt
M libc/include/poll.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/ppoll.h
M libc/src/poll/CMakeLists.txt
M libc/src/poll/linux/CMakeLists.txt
A libc/src/poll/linux/ppoll.cpp
A libc/src/poll/ppoll.h
M libc/test/src/poll/CMakeLists.txt
A libc/test/src/poll/ppoll_test.cpp
Log Message:
-----------
[libc] Implement ppoll in poll (#225767)
Implement the standard POSIX.1-2008 / POSIX.1-2024 function ppoll in
<poll.h>.
Fixes #225681
Commit: 591f2e73fd4b81298d847ff0e39fe7e01985d8d6
https://github.com/llvm/llvm-project/commit/591f2e73fd4b81298d847ff0e39fe7e01985d8d6
Author: aokblast <aokblast at FreeBSD.org>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
A llvm/test/Transforms/SCCP/select-struct.ll
Log Message:
-----------
[SCCP] Implement Structure support in Selection (#225946)
Same as my previous work on PhiNode, we support structure in SelectInst
if there is at least one member is not overdefined.
As structure type check code has multiple consumers now, we create a
helper function forEachLatticeElement, which accept a function to
indicate what we want to do for a single lattice element. The lattice
getter function is passed as a currying function of the callback.
Also, remove an assertion for testing DenseMap reference as
isInstFullyOverDefined has already emit elements in DenseMap.
Commit: a45a57c0fb284997699ab0ac1829152fa0bb24be
https://github.com/llvm/llvm-project/commit/a45a57c0fb284997699ab0ac1829152fa0bb24be
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
M mlir/test/Dialect/OpenACC/acc-routine-lowering.mlir
Log Message:
-----------
[mlir][openacc] Copy all host function attributes to the device routine (#226127)
`createFunctionForDeviceStaging` copied only the discardable attributes
of the host function, so the device copy lost sym_visibility, arg_attrs,
res_attrs and no_inline, which are inherent attributes of func.func. A
private host with llvm.signext/llvm.noundef on its signature became a
public function with a bare signature.
Fixes #225259
Commit: 32adedc8fb569f911d10df88bcbee015249dba02
https://github.com/llvm/llvm-project/commit/32adedc8fb569f911d10df88bcbee015249dba02
Author: Clayton Knittel <cknit1999 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/DebugInfo/CXX/limited-ctor.cpp
Log Message:
-----------
[DebugInfo] Ignore undefined constexpr constructors in constructor homing. (#221971)
This is a roll-forward of
https://github.com/llvm/llvm-project/pull/218165, which inadvertantly
caused missing debug info in
https://github.com/llvm/llvm-project/issues/221560 due to an existing
issue with standard-layout unions and layout-compatible aliasing (see
[[class.mem]](https://timsong-cpp.github.io/cppwp/n3337/class.mem#19)).
Constexpr constructors without a visible definition in the TU are not
callable in a constexpr context, which means it is not possible to
construct a type in constexpr without emitting debug info for the
constructor itself. Although undefined constexpr constructors are still
callable, they are normal out of line functions, requiring a definition
to link against.
Commit: a3710621385a3aea7cb67525f4d34681e4c93118
https://github.com/llvm/llvm-project/commit/a3710621385a3aea7cb67525f4d34681e4c93118
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/CodeGen/MLRegAlloc/dev-mode-logging.ll
Log Message:
-----------
[MLGO] Remove copy to /tmp/test in dev-mode-logging.ll (#226199)
Commit: b290704acb41f045f2cb8b32b8e38c0a44dc0b61
https://github.com/llvm/llvm-project/commit/b290704acb41f045f2cb8b32b8e38c0a44dc0b61
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-check-generated-files.yml
Log Message:
-----------
[libc++] Trigger check-generated-files consistently with other workflows (#225912)
We want to trigger the CI workflow whenever it changes and whenever any
libc++ or libc++ adjacent code is touched, like we do for other
workflows.
Commit: a0102e124830769edfafb977a0460ead9c94b77a
https://github.com/llvm/llvm-project/commit/a0102e124830769edfafb977a0460ead9c94b77a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-conformance-tests.yaml
M libcxx/docs/index.rst
M libcxx/utils/ci/lnt/machines.json
Log Message:
-----------
[libc++] Bump macOS CI runners from 26.5 to 26.6.2 (#226012)
This bumps the macOS runners used by the libc++ conformance CI and the
machines tracked in LNT from macOS 26.5 to macOS 26.6.2, and switches to
Xcode 26.6 accordingly.
We introduce new names for the new LNT machines since their
configuration is changed.
Commit: 0dadfa004c8bac744279c168e5edb6b265a02e7c
https://github.com/llvm/llvm-project/commit/0dadfa004c8bac744279c168e5edb6b265a02e7c
Author: Cheng-Chieh Liu <jay87406 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
Log Message:
-----------
[mlir][Vector] Fix scalable dim guard in broadcast lowering (#225021)
The scalable outer dim guard in `BroadcastOpLowering` only covered the
"stretch not at start" case (`m != 0`). The "stretch at start" case
unrolls the same `dstType.getDimSize(0)` trip count and has the same
bug: broadcasting e.g. `vector<1x4xf32>` to `vector<[3]x4xf32>` only
fills the static minimum lanes via `vector.insert`, leaving the rest as
`ub.poison`.
Widen the guard to cover both cases, and add a regression test.
Commit: 09de8b25616f17a0ee5437c3de6d85e6cc643664
https://github.com/llvm/llvm-project/commit/09de8b25616f17a0ee5437c3de6d85e6cc643664
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/bazel-checks.yml
M .github/workflows/build-ci-container-tooling.yml
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/build-libc-container.yml
M .github/workflows/build-metrics-container.yml
M .github/workflows/check-ci.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/commit-access-greeter.yml
M .github/workflows/commit-access-review.yml
M .github/workflows/compiler-rt-libc-builtins-tests.yml
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/email-check.yaml
M .github/workflows/gha-codeql.yml
M .github/workflows/ids-check.yml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-write.yml
M .github/workflows/libc-freebsd-vm-tests.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/libclang-abi-tests.yml
M .github/workflows/libcxx-benchmark-commit.yml
M .github/workflows/libcxx-benchmark-cron.yml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/libcxx-pr-benchmark.yml
M .github/workflows/libcxx-pr-check-generated-files.yml
M .github/workflows/libcxx-pr-conformance-tests.yaml
M .github/workflows/libcxx-pr-test-tools.yml
M .github/workflows/lldb-pylint-action.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/llvm-bugs.yml
M .github/workflows/merged-prs.yml
M .github/workflows/mlir-spirv-tests.yml
M .github/workflows/new-issues.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/prune-branches.yml
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-llvm-testing-tools.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M .github/workflows/scorecard.yml
M .github/workflows/spirv-tests.yml
M .github/workflows/subscriber.yml
M .github/workflows/sycl-tests.yml
M .github/workflows/test-suite.yml
M .github/workflows/test-unprivileged-download-artifact.yml
M .github/workflows/version-check.yml
M .github/workflows/zizmor.yml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinaryFunctionProfile.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/DynoStats.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/JTFootprintReduction.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/ProfileQualityStats.cpp
M bolt/lib/Passes/ReorderAlgorithm.cpp
M bolt/lib/Passes/ReorderData.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/BinaryPassManager.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/fix-block-count-multiple.s
A bolt/test/AArch64/fix-block-counts-indirect-branch.s
A bolt/test/AArch64/fix-block-counts-indirect-call.s
A bolt/test/AArch64/relax-branches-with-thunk-chain.s
A bolt/test/AArch64/relax-call-long-thunk-reuse.s
A bolt/test/AArch64/relax-call-short-thunk-reuse.s
A bolt/test/AArch64/relax-calls.s
A bolt/test/AArch64/relax-cross-fragment-calls.s
R bolt/test/AArch64/relax-exp.s
A bolt/test/RISCV/fix-block-count-multiple.s
A bolt/test/RISCV/fix-block-counts-indirect-branch.s
A bolt/test/RISCV/fix-block-counts-indirect-call.s
A bolt/test/X86/fix-block-count-multiple.s
A bolt/test/X86/fix-block-counts-indirect-branch.s
A bolt/test/X86/fix-block-counts-indirect-call.s
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/docs/ReleaseNotes.md
M clang/docs/analyzer/checkers.md
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.td
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TargetID.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
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/InterpHelpers.h
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/Expr.cpp
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenMPClause.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenMPClause.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.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/FlattenCFG.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/CIRCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerMicrosoftCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/Tooling/CommonOptionsParser.cpp
M clang/test/AST/ByteCode/invalid.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-dependent-arg.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-generic-lambda.cpp
A clang/test/Analysis/Checkers/WebKit/local-vars-dependent-init.cpp
M clang/test/Analysis/Checkers/WebKit/mock-canborrow.h
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
A clang/test/Analysis/Checkers/WebKit/unborrowed-call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
A clang/test/CIR/CodeGen/bitint-wide-be.c
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk-mixed.cpp
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk-sret.cpp
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
M clang/test/CIR/CodeGen/delete-array-aligned.cpp
A clang/test/CIR/CodeGen/delete-array-overaligned-cookie.cpp
M clang/test/CIR/CodeGen/delete-array-throwing-dtor.cpp
A clang/test/CIR/CodeGen/dtor-comdat-key.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/lifetime-marker.cpp
A clang/test/CIR/CodeGen/matrix.cpp
M clang/test/CIR/CodeGen/new-null.cpp
A clang/test/CIR/CodeGen/sdk-version.c
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
A clang/test/CIR/CodeGenBuiltins/builtin-reduce-arithmetic-sve.c
A clang/test/CIR/CodeGenBuiltins/builtin-reduce-arithmetic.c
M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
M clang/test/CIR/CodeGenCUDA/device-stub.cu
M clang/test/CIR/CodeGenCXX/virtual-base-cast.cpp
M clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
M clang/test/CIR/CodeGenOpenMP/parallel.c
A clang/test/CIR/IR/funnel-shift.cir
M clang/test/CIR/IR/invalid-delete-array.cir
A clang/test/CIR/IR/invalid-funnel-shift.cir
A clang/test/CIR/IR/invalid-matrix.cir
A clang/test/CIR/IR/matrix.cir
A clang/test/CIR/Lowering/funnel-shift.cir
M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-forward-param.cir
M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-nyi.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-musttail.cir
A clang/test/CodeGen/AArch64/atomic-store-hint-template.cpp
M clang/test/CodeGen/AArch64/neon/intrinsics.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup.c
M clang/test/CodeGen/AArch64/sve/dup.c
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M clang/test/CodeGen/Sparc/sparcv8-abi.c
A clang/test/CodeGen/X86/empty-struct-union-array.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/builtins-arm64.c
A clang/test/CodeGenCXX/dllexport-rtti-visibility.cpp
M clang/test/CodeGenCXX/mangle-class-nttp.cpp
A clang/test/CodeGenHLSL/semantics/SV_InstanceID.vs.hlsl
M clang/test/DebugInfo/CXX/limited-ctor.cpp
M clang/test/Driver/darwin-static-lib-universal.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/OpenMP/error_message.c
M clang/test/OpenMP/error_message.cpp
A clang/test/OpenMP/gh154704.cpp
M clang/test/OpenMP/parallel_message_messages.cpp
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
M clang/test/Sema/LifetimeSafety/capture-by.cpp
M clang/test/Sema/LifetimeSafety/cfg-bailout.cpp
M clang/test/Sema/LifetimeSafety/dangling-field.cpp
M clang/test/Sema/LifetimeSafety/dangling-global.cpp
M clang/test/Sema/LifetimeSafety/inapplicable-lifetimebound.cpp
M clang/test/Sema/LifetimeSafety/invalidations.cpp
M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
M clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp
M clang/test/Sema/LifetimeSafety/nocfg.cpp
M clang/test/Sema/LifetimeSafety/noescape-violation.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
M clang/test/Sema/builtins-arm64.c
A clang/test/Sema/riscv-psati-width-out-of-range.c
M clang/test/Sema/stmtexprs.c
A clang/test/Sema/warn-fortify-source-recv-not-builtin.c
M clang/test/Sema/warn-fortify-source.c
M clang/test/SemaCXX/make_integer_seq.cpp
A clang/test/SemaHLSL/Semantics/instanceid.output.hlsl
A clang/test/SemaHLSL/Semantics/instanceid.ps.hlsl
A clang/test/SemaHLSL/Semantics/instanceid.vs.hlsl
M clang/tools/clang-diff/ClangDiff.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/clang-refactor/ClangRefactor.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/offload-arch/CMakeLists.txt
M clang/tools/offload-arch/LevelZeroArch.cpp
M clang/tools/offload-arch/OffloadArch.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/offload-arch/CMakeLists.txt
M clang/unittests/offload-arch/OffloadArchTest.cpp
M compiler-rt/lib/builtins/clear_cache.c
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
M compiler-rt/test/builtins/Unit/arm/aeabi_unaligned_access_test.c
M compiler-rt/test/fuzzer/minimize_crash.test
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M cross-project-tests/lit.cfg.py
A flang-rt/test/Driver/finit-local-array-exec.f90
A flang-rt/test/Driver/finit-local-char2-exec.f90
A flang-rt/test/Driver/finit-local-charN-exec.f90
A flang/docs/MeetingNotes/2026/2026-09-23.md
M flang/docs/ReleaseNotes.md
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/LoweringOptions.h
M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Support.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Support.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Driver/finit-local.f90
M flang/test/Fir/CUDA/cuda-alloc-free.fir
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-constructor-2.f90
A flang/test/Fir/CUDA/cuda-data-transfer-defer-acc-routine.mlir
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/CUDA/cuda-device-global-internal-linkage.fir
M flang/test/Fir/CUDA/cuda-device-global.f90
A flang/test/Fir/CUDA/cuda-device-is-active.mlir
M flang/test/Fir/CUDA/cuda-heap-alloc-managed.fir
M flang/test/Fir/CUDA/cuda-heap-alloc-unified.fir
M flang/test/Fir/CUDA/cuda-launch.fir
M flang/test/Fir/CUDA/cuda-managed-descriptor-component.fir
A flang/test/Fir/CUDA/cuda-managed-pointer-linkage.cuf
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
M flang/test/Fir/CUDA/predefined-variables.mlir
M flang/test/Fir/FirToSCF/if.fir
M flang/test/Fir/FirToSCF/iter-while.fir
M flang/test/Fir/MIF/change_team2.mlir
M flang/test/Fir/OpenACC/recipe-bufferization.mlir
M flang/test/Fir/OpenACC/use-device-canonicalizer.mlir
M flang/test/Fir/abstract-results.fir
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/Fir/array-coor-canonicalization.fir
M flang/test/Fir/convert-to-llvm-access-group.fir
R flang/test/Fir/convert-to-llvm-unsafe-fp-conversion.fir
M flang/test/Fir/copy-codegen.fir
M flang/test/Fir/cuf.mlir
M flang/test/Fir/do_concurrent.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/global-attributes.fir
A flang/test/Fir/if-constant-condition-fold.fir
M flang/test/Fir/memory-allocation-opt-2.fir
M flang/test/Fir/memory-allocation-opt-do-concurrent.fir
M flang/test/Fir/memory-allocation-opt.fir
M flang/test/Fir/simd-nontemporal.fir
M flang/test/HLFIR/as_expr-codegen.fir
M flang/test/HLFIR/assign-codegen-derived.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
M flang/test/HLFIR/bufferize-workshare.fir
M flang/test/HLFIR/bufferize01.fir
M flang/test/HLFIR/char_extremum-bufferization.fir
M flang/test/HLFIR/cmpchar-lowering.fir
M flang/test/HLFIR/concat-bufferization.fir
M flang/test/HLFIR/element-codegen-issue-118922.fir
M flang/test/HLFIR/elemental-codegen-nested.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/elemental-shallow-copy.fir
M flang/test/HLFIR/elemental-with-empty-check-codegen.fir
M flang/test/HLFIR/eval_in_mem-codegen.fir
M flang/test/HLFIR/expression-simplification.fir
M flang/test/HLFIR/index-lowering.fir
M flang/test/HLFIR/inline-hlfir-assign-pointer-overlap.fir
M flang/test/HLFIR/inline-hlfir-assign-scalar-index.fir
M flang/test/HLFIR/inline-hlfir-assign-self-copy-runtime-stride.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/opt-bufferization-eval_in_mem-with-associate.fir
M flang/test/HLFIR/opt-bufferization.fir
M flang/test/HLFIR/opt-scalar-assign.fir
M flang/test/HLFIR/order_assignments/array-temp-many-forall.f90
M flang/test/HLFIR/order_assignments/array-temp.fir
M flang/test/HLFIR/order_assignments/forall-codegen-no-conflict.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/saving-mask-and-rhs.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
M flang/test/HLFIR/set_length-codegen.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-cmpchar-scalar.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-eoshift.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-index.fir
M flang/test/HLFIR/trim.fir
M flang/test/HLFIR/volatile.fir
M flang/test/HLFIR/volatile1.fir
M flang/test/HLFIR/volatile2.fir
M flang/test/HLFIR/volatile3.fir
M flang/test/HLFIR/volatile4.fir
M flang/test/Integration/allocatable-polymorphic.f90
M flang/test/Integration/debug-common-block-1.f90
M flang/test/Integration/debug-include-file.f90
M flang/test/Integration/dense-array-any-rank.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-cooperative.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-derived.cuf
M flang/test/Lower/CUDA/cuda-devptr.cuf
M flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
M flang/test/Lower/CUDA/cuda-gpu-unified.cuf
M flang/test/Lower/CUDA/cuda-kernel-alloca-block.cuf
M flang/test/Lower/CUDA/cuda-managed-func-result.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
M flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/CUDA/cuda-return01.cuf
M flang/test/Lower/CUDA/cuda-return02.cuf
A flang/test/Lower/CUDA/finit-local-cuda.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/bindc-entry-stmt.f90
M flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/convert-variable-block.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/dummy-scope.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
M flang/test/Lower/HLFIR/elemental-result-length.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/index.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/matmul.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/maxval.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/null.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/procedure-designators.f90
M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/product.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/sum.f90
M flang/test/Lower/HLFIR/tdesc-character-comp-init.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/trim.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/HLFIR/visible-cray-pointer-target.f90
M flang/test/Lower/HLFIR/where.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/associated.f90
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/btest.f90
M flang/test/Lower/Intrinsics/c_associated.f90
M flang/test/Lower/Intrinsics/c_devptr_eq_ne.f90
M flang/test/Lower/Intrinsics/c_funloc.f90
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/chdir.f90
M flang/test/Lower/Intrinsics/free.f90
M flang/test/Lower/Intrinsics/get_command.f90
M flang/test/Lower/Intrinsics/getcwd-function.f90
M flang/test/Lower/Intrinsics/getpid.f90
M flang/test/Lower/Intrinsics/hostnm-func.f90
M flang/test/Lower/Intrinsics/ibset.f90
M flang/test/Lower/Intrinsics/ichar.f90
M flang/test/Lower/Intrinsics/ieee_class.f90
M flang/test/Lower/Intrinsics/ieee_compare.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/ieee_max_min.f90
M flang/test/Lower/Intrinsics/ieee_real.f90
M flang/test/Lower/Intrinsics/ieee_rem.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/ieee_signbit.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
M flang/test/Lower/Intrinsics/ierrno.f90
M flang/test/Lower/Intrinsics/malloc.f90
M flang/test/Lower/Intrinsics/min.f90
M flang/test/Lower/Intrinsics/nearest.f90
M flang/test/Lower/Intrinsics/not.f90
M flang/test/Lower/Intrinsics/perror.f90
M flang/test/Lower/Intrinsics/putenv-func.f90
M flang/test/Lower/Intrinsics/rand.f90
M flang/test/Lower/Intrinsics/real.f90
M flang/test/Lower/Intrinsics/reduce.f90
M flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/Intrinsics/selected_char_kind.f90
M flang/test/Lower/Intrinsics/selected_logical_kind.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
M flang/test/Lower/Intrinsics/size.f90
M flang/test/Lower/Intrinsics/system_clock.f90
M flang/test/Lower/Intrinsics/time.f90
M flang/test/Lower/Intrinsics/transfer.f90
M flang/test/Lower/Intrinsics/unlink-func.f90
M flang/test/Lower/Intrinsics/verify.f90
M flang/test/Lower/MIF/coarray_allocation2.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-data-operands-remapping.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-declare-common-present-in-function.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare-use-associated.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-allocatable-component.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenACC/acc-set.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Lower/OpenACC/acc-use-device.f90
M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-firstprivate.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/atomic-implicit-cast.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
M flang/test/Lower/OpenMP/block_implicit_privatization.f90
M flang/test/Lower/OpenMP/block_predetermined_privatization.f90
M flang/test/Lower/OpenMP/cancel.f90
M flang/test/Lower/OpenMP/cancellationpoint.f90
M flang/test/Lower/OpenMP/common-atomic-lowering.f90
M flang/test/Lower/OpenMP/common-block-map.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
M flang/test/Lower/OpenMP/declare_target_module.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-private.f90
M flang/test/Lower/OpenMP/derived-type-map.f90
M flang/test/Lower/OpenMP/fuse01.f90
M flang/test/Lower/OpenMP/fuse02.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/hlfir-to-fir-conv-omp.mlir
M flang/test/Lower/OpenMP/implicit-dsa.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-conditional-nested-parallel.f90
M flang/test/Lower/OpenMP/lastprivate-conditional-teams.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/linear_modifier.f90
M flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/masked_taskloop.f90
M flang/test/Lower/OpenMP/metadirective-loop.f90
M flang/test/Lower/OpenMP/omp-declarative-allocate-align.f90
M flang/test/Lower/OpenMP/omp-declarative-allocate.f90
M flang/test/Lower/OpenMP/omp-declare-reduction-derivedtype.f90
M flang/test/Lower/OpenMP/omp-declare-target-program-var.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/parallel-masked-taskloop.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
M flang/test/Lower/OpenMP/parallel-reduction-complex.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/parallel-reduction.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
M flang/test/Lower/OpenMP/reduction-equivalence.f90
M flang/test/Lower/OpenMP/sections-predetermined-private.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/shared-loop.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target-teams-private.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task-affinity.f90
M flang/test/Lower/OpenMP/task-depend-structure-component.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup-task_reduction01.f90
M flang/test/Lower/OpenMP/taskloop-cancel.f90
M flang/test/Lower/OpenMP/taskloop-collapse.f90
M flang/test/Lower/OpenMP/taskloop-grainsize.f90
M flang/test/Lower/OpenMP/taskloop-inreduction.f90
M flang/test/Lower/OpenMP/taskloop-numtasks.f90
M flang/test/Lower/OpenMP/taskloop-reduction.f90
M flang/test/Lower/OpenMP/taskloop.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
M flang/test/Lower/OpenMP/threadprivate-common-block-pointer.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
M flang/test/Lower/OpenMP/threadprivate-use-association.f90
M flang/test/Lower/OpenMP/tile01.f90
M flang/test/Lower/OpenMP/tile02.f90
M flang/test/Lower/OpenMP/unroll-heuristic01.f90
M flang/test/Lower/OpenMP/unroll-heuristic02.f90
M flang/test/Lower/OpenMP/unroll-heuristic03.f90
M flang/test/Lower/OpenMP/unroll-partial01.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-linear.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/achar.f90
M flang/test/Lower/allocatable-assignment.f90
M flang/test/Lower/allocatable-caller.f90
M flang/test/Lower/allocatable-return.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocatables.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
M flang/test/Lower/alternate-return.f90
M flang/test/Lower/always-execute-loop-body.f90
M flang/test/Lower/arithmetic-goto.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-constructor-1.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/array-elemental-calls-char-dynamic.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array.f90
M flang/test/Lower/assignment.f90
M flang/test/Lower/associate-construct.f90
M flang/test/Lower/assumed-shape-caller.f90
M flang/test/Lower/assumed-type.f90
M flang/test/Lower/basic-call.f90
M flang/test/Lower/block.f90
M flang/test/Lower/bug172157-3.f90
M flang/test/Lower/c-interoperability-c-pointer.f90
M flang/test/Lower/c-interoperability.f90
M flang/test/Lower/call-implicit.f90
M flang/test/Lower/call.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/character-local-variables.f90
M flang/test/Lower/common-block-2.f90
M flang/test/Lower/common-block-char0.f90
M flang/test/Lower/common-block-multiple-init.f90
M flang/test/Lower/complex-real.f90
M flang/test/Lower/computed-goto.f90
M flang/test/Lower/constant-literal-mangling.f90
M flang/test/Lower/constant-logical-transfer.f90
M flang/test/Lower/convert.f90
M flang/test/Lower/cray-pointer.f90
M flang/test/Lower/declare-with-storage.f90
M flang/test/Lower/default-initialization-globals.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-type-descriptor.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/do_concurrent.f90
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_reduce.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/dummy-procedure.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-2.f90
M flang/test/Lower/equivalence-static-init.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/extrn_subp.f90
A flang/test/Lower/finit-local-array-llvm.f90
A flang/test/Lower/finit-local-cray-pointee.f90
A flang/test/Lower/finit-local-exclusions.f90
A flang/test/Lower/finit-local-f128.f90
A flang/test/Lower/finit-local-kind-mapping-rtchar.f90
A flang/test/Lower/finit-local-kind-mapping-subbyte.f90
A flang/test/Lower/finit-local-kind-mapping.f90
A flang/test/Lower/finit-local-logical-llvm.f90
A flang/test/Lower/finit-local-packed.f90
A flang/test/Lower/finit-local-ppc-vector-llvm.f90
A flang/test/Lower/finit-local-real10-llvm.f90
A flang/test/Lower/finit-local-unsigned.f90
A flang/test/Lower/finit-local-volatile-llvm.f90
A flang/test/Lower/finit-local-volatile-real10.f90
A flang/test/Lower/finit-local-volatile.f90
A flang/test/Lower/finit-local.f90
M flang/test/Lower/forall-pointer-assignment.f90
M flang/test/Lower/forall/degenerate.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/forall/forall-allocatable.f90
M flang/test/Lower/forall/forall-where-2.f90
M flang/test/Lower/global-alignment.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host_module_variable_instantiation_use_device.f90
A flang/test/Lower/if-constant-condition.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/inline-hlfir-assign-pointer-omp.f90
M flang/test/Lower/inline_directive.f90
M flang/test/Lower/inlinealways-directive.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/io-statement-1.f90
M flang/test/Lower/io-statement-3.f90
M flang/test/Lower/io-statement-clean-ups.f90
M flang/test/Lower/io-write.f90
M flang/test/Lower/ivdep.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/module-parameter-linkonce-odr.f90
M flang/test/Lower/module_definition.f90
M flang/test/Lower/module_use.f90
M flang/test/Lower/namelist-common-block.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/pointer-assignments.f90
M flang/test/Lower/pointer-association-polymorphic.f90
M flang/test/Lower/pointer-default-init.f90
M flang/test/Lower/pointer-initial-target-2.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/pointer-results-as-arguments.f90
M flang/test/Lower/pointer-runtime.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic-types.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type-2.fir
M flang/test/Lower/select-type.f90
M flang/test/Lower/simd-directive.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/stop-statement.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Lower/submodule.f90
M flang/test/Lower/transformational-intrinsics.f90
M flang/test/Lower/typeof-classof.f90
M flang/test/Lower/unroll.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/unsigned-ops.f90
M flang/test/Lower/variable-common-viewed-as-module-var.f90
M flang/test/Lower/variable.f90
M flang/test/Lower/vector-always.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/test/Lower/vectorlength.f90
M flang/test/Lower/volatile-derived-type.f90
M flang/test/Lower/volatile-openmp1.f90
M flang/test/Lower/volatile-string.f90
M flang/test/Lower/volatile1.f90
M flang/test/Lower/volatile2.f90
M flang/test/Lower/volatile3.f90
M flang/test/Lower/volatile4.f90
M flang/test/Lower/while_loop.f90
M flang/test/Lower/zero-size.f90
M flang/test/Semantics/OpenMP/defaultmap-clause-none.f90
M flang/test/Transforms/CUF/cuf-kernel-licm.fir
M flang/test/Transforms/DoConcurrent/basic_device.f90
M flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/test/Transforms/DoConcurrent/basic_host.mlir
M flang/test/Transforms/DoConcurrent/locality_specifiers_simple.mlir
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
M flang/test/Transforms/DoConcurrent/reduce_add.mlir
M flang/test/Transforms/DoConcurrent/reduce_all_regions.mlir
M flang/test/Transforms/DoConcurrent/reduce_local.mlir
M flang/test/Transforms/DoConcurrent/skip_all_nested_loops.f90
M flang/test/Transforms/FIRToMemRef/slice.mlir
M flang/test/Transforms/OpenACC/acc-implicit-declare-module-parameter.fir
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-alloca.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-embox.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-rebox.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-type_desc.F90
M flang/test/Transforms/OpenMP/lower-workdistribute-fission-host.mlir
M flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
M flang/test/Transforms/OpenMP/lower-workshare-thread-local.mlir
M flang/test/Transforms/do-concurrent-localizer-dealloc-region.fir
M flang/test/Transforms/do-concurrent-localizer-init-region.fir
M flang/test/Transforms/licm.fir
M flang/test/Transforms/loop-versioning.fir
M flang/test/Transforms/lower-repack-arrays.fir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/test/Transforms/stack-arrays-lifetime.fir
M flang/test/Transforms/stack-arrays.fir
M flang/test/Transforms/tbaa-cray-pointer.fir
M flang/test/Transforms/tbaa-derived-type-records.fir
M flang/test/Transforms/tbaa-derived-with-descriptor.fir
M flang/test/Transforms/tbaa-for-common-vars.fir
M flang/test/Transforms/tbaa-for-global-equiv-vars.fir
M flang/test/Transforms/tbaa-target-inlined-results.fir
M flang/test/Transforms/tbaa-value-dummy-arg.fir
M flang/test/Transforms/tbaa-with-dummy-scope.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
M flang/test/Transforms/tbaa4.fir
M flang/tools/bbc/bbc.cpp
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/poll_macros.h
M libc/include/CMakeLists.txt
M libc/include/poll.yaml
M libc/include/stdio.yaml
M libc/include/sys/stat.yaml
M libc/include/unistd.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/access.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/chdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/chmod.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/faccessat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchmod.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/fdatasync.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getcwd.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/link.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mkdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mkdirat.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/ppoll.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlink.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlinkat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rename.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/renameat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rmdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/statx.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlink.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlinkat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/utimensat.h
M libc/src/poll/CMakeLists.txt
M libc/src/poll/linux/CMakeLists.txt
A libc/src/poll/linux/ppoll.cpp
A libc/src/poll/ppoll.h
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/linux/CMakeLists.txt
A libc/src/stdio/linux/renameat.cpp
A libc/src/stdio/renameat.h
M libc/src/sys/stat/CMakeLists.txt
M libc/src/sys/stat/linux/CMakeLists.txt
A libc/src/sys/stat/linux/mknod.cpp
A libc/src/sys/stat/mknod.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/fdatasync.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/fdatasync.cpp
M libc/test/src/poll/CMakeLists.txt
A libc/test/src/poll/ppoll_test.cpp
M libc/test/src/stdio/CMakeLists.txt
A libc/test/src/stdio/renameat_test.cpp
M libc/test/src/sys/stat/CMakeLists.txt
A libc/test/src/sys/stat/mknod_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/fdatasync_test.cpp
M libcxx/docs/Contributing.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/test/benchmarks/filesystem.bench.cpp
M libcxx/utils/ci/lnt/machines.json
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/test/ELF/ppc64-long-branch-rel14.s
M lld/test/ELF/systemz-gotent-relax-align.s
M lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s
M lldb/include/lldb/Target/ThreadPlan.h
A lldb/include/lldb/Target/ThreadPlanRunToBreakpoint.h
M lldb/include/lldb/Utility/StreamString.h
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/scanner.c
M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/StackFrame.cpp
A lldb/source/Target/ThreadPlanRunToBreakpoint.cpp
M lldb/source/Utility/StreamString.cpp
M lldb/test/API/api/multithreaded/TestMultithreaded.py
M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/functionalities/archives/Makefile
M lldb/test/API/functionalities/duplicate-archive-members/Makefile
M lldb/test/API/functionalities/scripted_extensions/malformed_scripted_extensions.py
M lldb/test/API/lang/objc/conflicting-definition/Makefile
M lldb/test/API/lang/objc/hidden-ivars/Makefile
M lldb/test/API/macosx/branch-islands/Makefile
M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/Makefile
M lldb/test/API/macosx/find-dsym/deep-bundle/Makefile
M lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
M lldb/test/API/macosx/function-starts/Makefile
M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
A lldb/test/API/macosx/lazy_library/Makefile
A lldb/test/API/macosx/lazy_library/TestStepThroughLazyLibrary.py
A lldb/test/API/macosx/lazy_library/library.c
A lldb/test/API/macosx/lazy_library/main.c
M lldb/test/API/python_api/sbmodule/Makefile
M lldb/test/API/windows/launch/replace-dll/TestReplaceDLL.py
M lldb/test/Shell/Settings/Inputs/EchoCommandsAll.out
M lldb/test/Shell/Settings/Inputs/EchoCommandsNoComments.out
M lldb/test/Shell/Settings/Inputs/EchoCommandsNone.out
A lldb/test/Shell/SymbolFile/NativePDB/Inputs/corrupt-public-offset.py
A lldb/test/Shell/SymbolFile/NativePDB/public-symbol-offset-past-section-end.cpp
M lldb/tools/lldb-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/corefile.dict
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/lldb-corefile-fuzzer.cpp
M lldb/unittests/Callback/CMakeLists.txt
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Interpreter/CMakeLists.txt
M lldb/unittests/Platform/CMakeLists.txt
M lldb/unittests/Process/CMakeLists.txt
M lldb/unittests/Process/gdb-remote/CMakeLists.txt
M lldb/unittests/Protocol/CMakeLists.txt
M lldb/unittests/Target/CMakeLists.txt
M llvm/docs/AIToolPolicy.md
M llvm/docs/AMDGPU/DeveloperGuideline.rst
M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/AdminTasks.md
M llvm/docs/CodeGenerator.md
M llvm/docs/CodingStandards.md
M llvm/docs/CommandGuide/lit.md
M llvm/docs/CommandGuide/llvm-ir2vec.md
M llvm/docs/CommandGuide/llvm-remarkutil.md
M llvm/docs/CommandLine.md
M llvm/docs/CompileCudaWithLLVM.md
M llvm/docs/DeveloperPolicy.md
M llvm/docs/DirectX/SemanticSignatures.md
M llvm/docs/ExtendingLLVM.md
M llvm/docs/GettingInvolved.md
M llvm/docs/GettingStarted.md
M llvm/docs/GitHub.md
M llvm/docs/GitRepositoryPolicy.md
M llvm/docs/GwpAsan.rst
M llvm/docs/HowToAddABuilder.rst
M llvm/docs/HowToBuildWithPGO.md
M llvm/docs/HowToCrossCompileBuiltinsOnArm.md
M llvm/docs/HowToCrossCompileLLVM.md
M llvm/docs/InstrProfileFormat.md
M llvm/docs/InstrRefDebugInfo.md
M llvm/docs/LangRef.md
M llvm/docs/Lexicon.md
M llvm/docs/LoopTerminology.md
M llvm/docs/MIRLangRef.md
M llvm/docs/MLGO.rst
M llvm/docs/MarkdownQuickstartTemplate.md
M llvm/docs/MeetupGuidelines.md
M llvm/docs/MemProf.md
M llvm/docs/MergeFunctions.md
M llvm/docs/NVPTXUsage.md
M llvm/docs/OpaquePointers.md
M llvm/docs/PDB/HashTable.md
M llvm/docs/PointerAuth.md
M llvm/docs/ProgrammersManual.md
M llvm/docs/Proposals/VectorPredication.md
M llvm/docs/QualGroup.md
M llvm/docs/RISCV/RISCVVectorExtension.md
M llvm/docs/RISCVUsage.md
M llvm/docs/ReleaseNotes.md
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/SandboxIR.md
M llvm/docs/ScudoHardenedAllocator.md
M llvm/docs/SecurityTransparencyReports.md
M llvm/docs/SphinxQuickstartTemplate.md
M llvm/docs/SupportPolicy.md
M llvm/docs/TestingGuide.md
M llvm/docs/tutorial/BuildingAJIT1.md
M llvm/docs/tutorial/BuildingAJIT4.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl09.md
M llvm/examples/OrcV2Examples/LLJITDumpObjects/LLJITDumpObjects.cpp
M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
A llvm/include/llvm/ABI/DefaultTargetInfo.h
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/include/llvm/ADT/DepthFirstIterator.h
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/WinEHPrepare.h
M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/MC/MCAsmInfo.h
A llvm/include/llvm/Support/AArch64MemoryHints.h
M llvm/include/llvm/Support/AutoConvert.h
M llvm/include/llvm/Support/CommandLine.h
A llvm/include/llvm/TargetParser/IntelGPUTargetParser.def
A llvm/include/llvm/TargetParser/IntelGPUTargetParser.h
M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h
M llvm/include/module.modulemap
M llvm/lib/ABI/CMakeLists.txt
A llvm/lib/ABI/DefaultTargetInfo.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
M llvm/lib/CodeGen/MIR2Vec.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SjLjEHPrepare.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/DebugInfo/PDB/Native/InfoStreamBuilder.cpp
M llvm/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
M llvm/lib/Frontend/HLSL/SemanticSignatures.cpp
M llvm/lib/HTTP/HTTPClient.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/Regex.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/regcomp.c
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CodeLayoutOpt.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
M llvm/lib/Target/Mips/CMakeLists.txt
M llvm/lib/Target/Mips/Mips.h
M llvm/lib/Target/Mips/Mips16HardFloat.cpp
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/lib/Target/Mips/MipsCallLowering.h
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
R llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.h
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/SPIRV/SPIRVAuxDataHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizeResourceBinding.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/Host.cpp
A llvm/lib/TargetParser/IntelGPUTargetParser.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/Evaluator.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
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/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/ValueTracking/phi-known-nonzero.ll
A llvm/test/Bitcode/aarch64-neon-minmax-upgrade.ll
A llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-hint.ll
A llvm/test/CodeGen/AArch64/Atomics/aarch64-relaxed-store-hint.ll
A llvm/test/CodeGen/AArch64/Atomics/atomic-store-pseudo.mir
M llvm/test/CodeGen/AArch64/abd-combine.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/CodeGen/AArch64/arm64-ccmp-heuristics.ll
M llvm/test/CodeGen/AArch64/arm64-fastcc-tailcall.ll
M llvm/test/CodeGen/AArch64/arm64-prefetch-new.ll
M llvm/test/CodeGen/AArch64/arm64-prefetch.ll
M llvm/test/CodeGen/AArch64/code-layout-opt.ll
M llvm/test/CodeGen/AArch64/fcvt-fixed.ll
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract-nosve.ll
M llvm/test/CodeGen/AArch64/instr-ref-ldv.ll
A llvm/test/CodeGen/AArch64/neon-get-active-lane-mask.ll
A llvm/test/CodeGen/AArch64/sme-za-non-sibling-tailcall.ll
M llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-readlane-redundant-and.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-bits-readlane.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-memory-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.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/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float-fp8-hw.ll
M llvm/test/CodeGen/AMDGPU/asm-printer-check-vcc.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
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/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/ds-negative-offset-addressing-mode-loop.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fold-fi-operand-shrink.mir
A llvm/test/CodeGen/AMDGPU/fold-immediate-operand-shrink-dead-carry.mir
M llvm/test/CodeGen/AMDGPU/fold-immediate-operand-shrink-with-carry.mir
M llvm/test/CodeGen/AMDGPU/fold-immediate-operand-shrink.mir
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
A llvm/test/CodeGen/AMDGPU/issue197467-virt-reg-rewrite-failure.mir
A llvm/test/CodeGen/AMDGPU/lirp.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-with-alias-scope.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-with-noalias.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-absdiff.mir
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
M llvm/test/CodeGen/AMDGPU/phys-partial-liveness.mir
A llvm/test/CodeGen/AMDGPU/readlane-known-bits.ll
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/scratch-simple.ll
M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
A llvm/test/CodeGen/AMDGPU/shrink-dead-vcc-def.mir
R llvm/test/CodeGen/AMDGPU/shrink-v-cmp-wave32-dead-vcc-lo.mir
M llvm/test/CodeGen/AMDGPU/true16-fold.mir
M llvm/test/CodeGen/AMDGPU/trunc-store.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
M llvm/test/CodeGen/AMDGPU/wqm.mir
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-srv-load.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
R llvm/test/CodeGen/Generic/sjlj-eh-prepare.ll
M llvm/test/CodeGen/Hexagon/bugAsmHWloop.ll
M llvm/test/CodeGen/Hexagon/circ_ld.ll
M llvm/test/CodeGen/Hexagon/cmpb-eq.ll
M llvm/test/CodeGen/Hexagon/early-if-spare.ll
M llvm/test/CodeGen/Hexagon/hwloop-preh.ll
M llvm/test/CodeGen/Hexagon/insert4.ll
M llvm/test/CodeGen/Hexagon/mux-basic.ll
M llvm/test/CodeGen/Hexagon/pic-simple.ll
M llvm/test/CodeGen/Hexagon/pic-static.ll
M llvm/test/CodeGen/Hexagon/predicate-logical.ll
M llvm/test/CodeGen/Hexagon/rdf-copy.ll
M llvm/test/CodeGen/Hexagon/sdata-basic.ll
M llvm/test/CodeGen/Hexagon/store-widen.ll
M llvm/test/CodeGen/Hexagon/swp-stages4.ll
M llvm/test/CodeGen/Hexagon/swp-stages5.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vshifts.ll
M llvm/test/CodeGen/MLRegAlloc/dev-mode-logging.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/aggregate_struct_return.ll
A llvm/test/CodeGen/Mips/GlobalISel/irtranslator/big-endian.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/extend_args.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/float_args.ll
A llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/big-endian-memory.ll
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/float_constants.ll
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/load_store_vec.ll
M llvm/test/CodeGen/Mips/mips16-hf-attr.ll
M llvm/test/CodeGen/Mips/mips16_32_1.ll
M llvm/test/CodeGen/Mips/mips16_32_10.ll
M llvm/test/CodeGen/Mips/mips16_32_3.ll
M llvm/test/CodeGen/Mips/mips16_32_4.ll
M llvm/test/CodeGen/Mips/mips16_32_5.ll
M llvm/test/CodeGen/Mips/mips16_32_6.ll
M llvm/test/CodeGen/Mips/mips16_32_7.ll
M llvm/test/CodeGen/Mips/mips16_32_8.ll
M llvm/test/CodeGen/Mips/mips16_32_9.ll
M llvm/test/CodeGen/Mips/small-section-reserve-gp.ll
M llvm/test/CodeGen/NVPTX/arbitrary-fp-to-float.ll
M llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/PowerPC/aa-tbaa.ll
A llvm/test/CodeGen/RISCV/GlobalISel/half-convert.ll
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/CodeGen/RISCV/machine-sink-jumptable-edge-split.ll
A llvm/test/CodeGen/RISCV/rvp-ppaireo-w.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
A llvm/test/CodeGen/RISCV/rvp-widening-sub-acc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
A llvm/test/CodeGen/RISCV/tail-calls-sret.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
M llvm/test/CodeGen/RISCV/target-abi-invalid.ll
A llvm/test/CodeGen/RISCV/target-abi-synthesize-flag.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/HeapBinding-cvb-srv-uav.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/HeapBinding-texture-sampler.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/HeapBinding-uav-counter.ll
A llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeRegisterBinding-Heap.ll
A llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeRegisterBinding-Heap2.ll
M llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access.ll
A llvm/test/CodeGen/SPIRV/pointers/variable-pointers-storage-buffer.ll
M llvm/test/CodeGen/SystemZ/alias-01.ll
M llvm/test/CodeGen/SystemZ/soft-float-05.ll
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
A llvm/test/CodeGen/WebAssembly/eh-invoke-label-suppression.ll
M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
A llvm/test/CodeGen/WebAssembly/wineh-prepare-wasm-personality.ll
A llvm/test/CodeGen/X86/eh-labels-unknown-personality.ll
M llvm/test/CodeGen/X86/load-combine.ll
M llvm/test/CodeGen/X86/memset.ll
M llvm/test/CodeGen/X86/merge_store_duplicated_loads.ll
A llvm/test/CodeGen/X86/phi-elimination-dead-def.mir
M llvm/test/CodeGen/X86/replace-load-and-with-bzhi.ll
A llvm/test/CodeGen/X86/wineh-prepare-dwarf-personality.ll
M llvm/test/DebugInfo/PDB/pdbdump-raw-bytes.test
A llvm/test/FileCheck/escape.txt
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmax.ll
M llvm/test/MC/AMDGPU/gfx11_asm_t16_err.s
M llvm/test/MC/ELF/leb128-err.s
M llvm/test/MC/Mips/cnmips/valid.s
M llvm/test/MC/Mips/cnmipsp/valid.s
M llvm/test/MC/Mips/mips32r2/valid.s
M llvm/test/MC/Mips/mips32r3/valid.s
M llvm/test/MC/Mips/mips32r5/valid.s
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r2/valid.s
M llvm/test/MC/Mips/mips64r3/valid.s
M llvm/test/MC/Mips/mips64r5/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/xandesvsinth-invalid.s
M llvm/test/MC/RISCV/xandesvsinth-valid.s
M llvm/test/MC/RISCV/xqciio-invalid.s
M llvm/test/MC/RISCV/xqciio-valid.s
R llvm/test/TableGen/AMDGPUTargetDefGenericClassification.td
M llvm/test/TableGen/AMDGPUTargetDefGenericFeatures.td
A llvm/test/Transforms/ConstraintElimination/sdiv.ll
M llvm/test/Transforms/ConstraintElimination/srem.ll
M llvm/test/Transforms/DivRemPairs/Mips/div-expanded-rem-pair.ll
A llvm/test/Transforms/GVN/callees-metadata.ll
M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash-inseltpoison.ll
M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash.ll
M llvm/test/Transforms/GVN/opt-remarks.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVNSink/sink-common-code.ll
A llvm/test/Transforms/GlobalOpt/constructor-explicit-section.ll
M llvm/test/Transforms/GlobalOpt/storepointer.ll
M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/InstCombine/vectorgep-crash.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
M llvm/test/Transforms/InstSimplify/gep.ll
M llvm/test/Transforms/InstSimplify/vector_gep.ll
M llvm/test/Transforms/LoadStoreVectorizer/batch-aa-compile-time.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-memset.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-outer-loop-memchecks.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/early-exit-live-out-extract-lane.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
A llvm/test/Transforms/LoopVectorize/outer-loop-gep-nowrap-flags-scev.ll
A llvm/test/Transforms/LoopVectorize/outer-loop-memory-safety.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_contiguous.ll
M llvm/test/Transforms/LowerIFunc/ifunc-alias.ll
M llvm/test/Transforms/LowerIFunc/ifunc-nonsense-resolvers.ll
M llvm/test/Transforms/LowerIFunc/ifunc-program-addrspace.ll
M llvm/test/Transforms/LowerIFunc/lower-ifunc.ll
M llvm/test/Transforms/MergedLoadStoreMotion/preserve-store-metadata.ll
M llvm/test/Transforms/NewGVN/tbaa.ll
M llvm/test/Transforms/PGOProfile/indirect_call_profile.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
A llvm/test/Transforms/SCCP/select-struct.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fsub-chain-reduction-unpaired-signs.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/revec-reductions.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/complex-mul-fma.ll
A llvm/test/Transforms/SLPVectorizer/ARM/extracted-subfields-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields.ll
M llvm/test/Transforms/SLPVectorizer/X86/fabs.ll
M llvm/test/Transforms/SLPVectorizer/X86/fcopysign.ll
M llvm/test/Transforms/SLPVectorizer/X86/fma.ll
M llvm/test/Transforms/SLPVectorizer/X86/fmaxnum.ll
M llvm/test/Transforms/SLPVectorizer/X86/fminnum.ll
M llvm/test/Transforms/SLPVectorizer/X86/fmuladd.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptosi-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptosi.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptoui.ll
M llvm/test/Transforms/SLPVectorizer/X86/metadata.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/uitofp.ll
M llvm/test/Transforms/SROA/tbaa-struct2.ll
A llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/ptr_diff.ll
M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/basic.ll
A llvm/test/Transforms/SimplifyCFG/ARM/switch-ssa-lookup-restrictions.ll
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
A llvm/test/Transforms/SimplifyCFG/X86/switch-result-constants.ll
M llvm/test/Transforms/SimplifyCFG/basictest.ll
A llvm/test/Transforms/SimplifyCFG/merge-callees-metadata.ll
A llvm/test/Transforms/SjLjEHPrepare/respect-exception-model-flag.ll
A llvm/test/Transforms/SjLjEHPrepare/sjlj-eh-prepare.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll
A llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-alias.ll
M llvm/test/Transforms/VectorCombine/alias.ll
A llvm/test/Transforms/VectorCombine/pr225272.ll
M llvm/test/tools/llvm-pdbutil/explain-pdb-stream.test
M llvm/test/tools/llvm-profdata/Inputs/CSIR_profile.proftext
M llvm/test/tools/llvm-profdata/Inputs/IR_profile.proftext
M llvm/test/tools/llvm-profdata/Inputs/cs.proftext
M llvm/test/tools/llvm-profdata/Inputs/instr-remap.expected
M llvm/test/tools/llvm-profdata/merge-filter.test
A llvm/test/tools/llvm-profdata/text-zero-bitmap.test
A llvm/test/tools/llvm-profgen/AArch64/cs-bogus-trace.test
M llvm/test/tools/llvm-profgen/lit.local.cfg
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp
M llvm/tools/llvm-offload-wrapper/llvm-offload-wrapper.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-reduce/llvm-reduce.cpp
M llvm/tools/llvm-split/llvm-split.cpp
M llvm/tools/llvm-undname/llvm-undname.cpp
M llvm/unittests/ABI/TargetInfoTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/Frontend/HLSLSemanticSignaturePackingTest.cpp
M llvm/unittests/Frontend/HLSLSemanticStagesTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Support/RegexTest.cpp
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
M llvm/unittests/TargetParser/CMakeLists.txt
A llvm/unittests/TargetParser/IntelGPUTargetParserTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gn
M mlir/include/mlir-c/Diagnostics.h
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/include/mlir/IR/Diagnostics.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/Support/InterfaceSupport.h
M mlir/lib/CAPI/IR/Diagnostics.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCExecutableDirectivePatterns.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
M mlir/lib/Debug/DebugCounter.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/IR/XeVMDialect.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Tools/mlir-query/MlirQueryMain.cpp
M mlir/lib/Tools/mlir-reduce/MlirReduceMain.cpp
M mlir/test/CAPI/ir.c
M mlir/test/Conversion/OpenACCToLLVM/data.mlir
M mlir/test/Conversion/OpenACCToLLVM/wait.mlir
M mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/LLVMIR/sroa.mlir
A mlir/test/Dialect/LLVMIR/xevm-canonicalize.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/OpenACC/acc-routine-lowering.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
A mlir/test/Dialect/XeGPU/sg-to-lane-distribute-convert-layout-slice.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
A mlir/test/IR/diagnostic-handler-next.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir
M mlir/test/Target/LLVMIR/Import/constant.ll
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/lib/IR/CMakeLists.txt
A mlir/test/lib/IR/TestDiagnosticsNext.cpp
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/test/mlir-tblgen/op-operand.td
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
A offload/libompaccsupport/AsyncInfo.cpp
M offload/libomptarget/CMakeLists.txt
M offload/libomptarget/omptarget.cpp
M openmp/docs/Building.md
M openmp/libompd/gdb-plugin/CMakeLists.txt
M openmp/libompd/gdb-plugin/README.txt
M orc-rt/include/CMakeLists.txt
A orc-rt/include/orc-rt-internal/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrar.h
A orc-rt/include/orc-rt-internal/bedrock/sys/posix/DWARFEHFrameRegistrar.h
R orc-rt/include/orc-rt/bedrock/StandaloneMachOUnwindInfoRegistrar.h
A orc-rt/include/orc-rt/bedrock/sps/DWARFEHFrameRegistrarSPSCI.h
M orc-rt/lib/bedrock/CMakeLists.txt
R orc-rt/lib/bedrock/StandaloneMachOUnwindInfoRegistrar.cpp
M orc-rt/lib/bedrock/sps/AllSPSCI.cpp
R orc-rt/lib/bedrock/sps/StandaloneMachOUnwindInfoRegistrarSPSCI.cpp
A orc-rt/lib/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrar.cpp
A orc-rt/lib/bedrock/sys/darwin/sps/StandaloneMachOUnwindInfoRegistrarSPSCI.cpp
A orc-rt/lib/bedrock/sys/posix/DWARFEHFrameRegistrar.cpp
A orc-rt/lib/bedrock/sys/posix/sps/DWARFEHFrameRegistrarSPSCI.cpp
M orc-rt/test/unit/CMakeLists.txt
R orc-rt/test/unit/bedrock/StandaloneMachOUnwindInfoRegistrarTest.cpp
A orc-rt/test/unit/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrarTest.cpp
M orc-rt/test/unit/support/ErrorExceptionInteropTest.cpp
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/CodeGen/LoopGenerators.cpp
M polly/lib/Support/PollyDebug.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
A polly/test/CodeGen/broken-dominance-escaping-scalar.ll
A polly/test/ScopInfo/multidim-shrunk-element-type.ll
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/flang-rt/lib/runtime/BUILD.bazel
M utils/bazel/llvm-project-overlay/flang/lib/Lower/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/third-party/BUILD.bazel
M utils/docs/llvm_sphinx/ext/absolute_links.py
M utils/docs/llvm_sphinx/ext/absolute_links_test/conf.py
M utils/docs/llvm_sphinx/ext/absolute_links_test/markdown.md
M utils/docs/llvm_sphinx/ext/absolute_links_test/rest.rst
A utils/docs/llvm_sphinx/ext/absolute_links_test/static.html
Log Message:
-----------
Merge branch 'main' into users/chinmaydd/builtin-convert-from-arbitrary-fp
Compare: https://github.com/llvm/llvm-project/compare/dc8ea004d835...09de8b25616f
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