[all-commits] [llvm/llvm-project] 71d898: [XRay] Enable XRay for SystemZ (#213577)
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Mon Sep 7 10:36:25 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slpexclude-splat-gather-subtrees-from-the-store-chain-retry-size
Home: https://github.com/llvm/llvm-project
Commit: 71d89856082c7d9d81b6f9ef50ae6145a51edf03
https://github.com/llvm/llvm-project/commit/71d89856082c7d9d81b6f9ef50ae6145a51edf03
Author: Kirby Chin <Kirby.Chin at ibm.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/XRay/InstrumentationMap.cpp
A llvm/test/tools/llvm-xray/SystemZ/Inputs/elf64-pic.yaml
A llvm/test/tools/llvm-xray/SystemZ/extract-instrmap.test
Log Message:
-----------
[XRay] Enable XRay for SystemZ (#213577)
Fixes InstrumentationMap parsing for big-endian targets and adds SystemZ
support.
Commit: 9853cb54d9d2684b27f0d0db89c00c2da7e31b88
https://github.com/llvm/llvm-project/commit/9853cb54d9d2684b27f0d0db89c00c2da7e31b88
Author: Michael G. Kazakov <mike.kazakov at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/pstl.h
M libcxx/include/__pstl/backend_fwd.h
M libcxx/include/__pstl/backends/default.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/backends/serial.h
M libcxx/include/__pstl/backends/std_thread.h
A libcxx/include/__pstl/cpu_algos/min_element.h
M libcxx/include/module.modulemap.in
M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.max_element.pass.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.max_element_comp.pass.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.min_element.pass.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.min_element_comp.pass.cpp
M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
Log Message:
-----------
[libc++][pstl] Implementation of parallel std::min_element() based on parallel reduce (#219876)
This PR adds an implementation of parallel `std::min_element()` based on
parallel reduce.
`std::max_element()` is also added, implemented as a "one-liner" over
`min_element`.
The implementation formulates `min_element` as a reduction of iterators
over the input range.
The reduction is provided in two forms: 2-element reduction that picks
the iterator pointing to a smaller value, and a range-based reduction
with init value. The latter delegates the heavy-lifting to the serial
implementation of `std::min_element()`.
Part of #99938.
Commit: 54f7d98d52413399a14111bfede1c9e388ac62c7
https://github.com/llvm/llvm-project/commit/54f7d98d52413399a14111bfede1c9e388ac62c7
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/netdb.yaml
M libc/src/netdb/CMakeLists.txt
A libc/src/netdb/gai_strerror.cpp
A libc/src/netdb/gai_strerror.h
M libc/test/src/netdb/CMakeLists.txt
A libc/test/src/netdb/gai_strerror_test.cpp
Log Message:
-----------
[libc][netdb] Implement gai_strerror POSIX function. (#221138)
`gai_strerror` is defined in POSIX and used to provide human-readable
strings for `EAI_*` error codes returned by
`getaddrinfo` and `getnameinfo`.
Provide our implementation via simple switch. Provide string values
based on the POSIX documentation for `EAI_`
values in
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/netdb.h.html,
but shorten them for brevity.
Commit: 117e53c28efd4944b6860e62fb4517c0d603ec87
https://github.com/llvm/llvm-project/commit/117e53c28efd4944b6860e62fb4517c0d603ec87
Author: Andrew Gaul <andrew at gaul.org>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/cmp.ll
M llvm/test/CodeGen/X86/optimize-compare.mir
A llvm/test/CodeGen/X86/peephole-test-after-shl.ll
Log Message:
-----------
[X86] Remove TEST after SHL by 1..3 when the shifted operand dies (#220744)
optimizeCompareInstr refuses to reuse the flags of a SHL by 1..3 so that
TwoAddressInstructionPass may still convert the shift into an LEA, which
sets no flags. That conversion exists to avoid a register copy, so it
can only pay off while the shifted operand has further uses; when the
shift is the operand's sole user, the reservation costs a TEST (2-3
bytes and a uop) for nothing. Allow the conversion in that case, as
already done for SHR, SAR, and larger SHL counts.
An x86lint audit of Firefox's libxul.so counted 4,369 redundant TESTs
after immediate shifts, dominated by single-use left shifts by a small
count feeding a compare against zero, e.g. Rust's Layout size checks
(shl $1; test; je). This also composes with dda2c12275e5: 63-bit lowmask
compares shrunken to SHL by 2 now drop their TEST as well.
Commit: ca7890e9f76dc6ec709c5c452f7761bf0ab67625
https://github.com/llvm/llvm-project/commit/ca7890e9f76dc6ec709c5c452f7761bf0ab67625
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/NestedNameSpecifierBase.h
M clang/lib/AST/ASTImporter.cpp
Log Message:
-----------
[clang] remove unused NestedNameSpecifier 'Invalid' constructor (#221128)
These invalid NNS were used as thombstone keys for DenseMap, but the
DenseMap implementation changed and that's not needed anymore.
Commit: 14f097ec3f2bef83e852d9ded7b117fcf2f4e103
https://github.com/llvm/llvm-project/commit/14f097ec3f2bef83e852d9ded7b117fcf2f4e103
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/i386/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/pwd.yaml
M libc/src/pwd/CMakeLists.txt
A libc/src/pwd/getpwnam.cpp
A libc/src/pwd/getpwnam.h
A libc/src/pwd/getpwuid.cpp
A libc/src/pwd/getpwuid.h
M libc/src/pwd/pwd_utils.cpp
M libc/src/pwd/pwd_utils.h
M libc/test/src/pwd/CMakeLists.txt
A libc/test/src/pwd/getpwnam_test.cpp
A libc/test/src/pwd/getpwuid_test.cpp
Log Message:
-----------
[libc] Add getpwnam and getpwuid entrypoints (#221169)
Added non-reentrant getpwnam and getpwuid functions using the shared
process-global buffer.
* Implemented getpwnam and getpwuid entrypoints
* Added non-reentrant find_by_name and find_by_uid lookups
* Added function specifications to include/pwd.yaml
* Registered entrypoints in config/linux/*/entrypoints.txt
* Added unit tests in libc/test/src/pwd/getpwnam_test.cpp and
libc/test/src/pwd/getpwuid_test.cpp
Assisted-by: Automated tooling, human reviewed.
Commit: a1ec06e04bc1f3303f46783fcc163c22ed201039
https://github.com/llvm/llvm-project/commit/a1ec06e04bc1f3303f46783fcc163c22ed201039
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 4c986c2 (#221242)
This fixes 4c986c23921d7b020eee08e622af8aac7e37d2d9 (#221001).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=4c986c23921d7b020eee08e622af8aac7e37d2d9
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 49f13a5a8014591c4431c4c85e217c62c2705c65
https://github.com/llvm/llvm-project/commit/49f13a5a8014591c4431c4c85e217c62c2705c65
Author: lntue <lntue at google.com>
Date: 2026-09-04 (Fri, 04 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/fcntl.yaml
M libc/include/llvm-libc-macros/linux/fcntl-macros.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/posix_fadvise.h
M libc/src/fcntl/CMakeLists.txt
M libc/src/fcntl/linux/CMakeLists.txt
A libc/src/fcntl/linux/posix_fadvise.cpp
A libc/src/fcntl/posix_fadvise.h
M libc/test/src/fcntl/CMakeLists.txt
A libc/test/src/fcntl/posix_fadvise_test.cpp
Log Message:
-----------
[libc][fcntl] Implement posix_fadvise function. (#220790)
Fixes https://github.com/llvm/llvm-project/issues/220765.
Assisted-by: Gemini
Commit: 4154b56ccc70220dca3fa1226fc8a24bafd90ac3
https://github.com/llvm/llvm-project/commit/4154b56ccc70220dca3fa1226fc8a24bafd90ac3
Author: Berkay Sahin <berkaysahindev at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
Log Message:
-----------
[clangd][modules] Support go-to-definition on module imports (#219839)
Fixes https://github.com/clangd/clangd/issues/2310
Commit: 1268903b40387fc9e70b250662225fdd74074c22
https://github.com/llvm/llvm-project/commit/1268903b40387fc9e70b250662225fdd74074c22
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
Log Message:
-----------
[lldb][Windows] Fix unused function GetModulePath warning with certain Python options (#221173)
If LLDB_PYTHON_DLL_RELATIVE_PATH is OFF, or it is ON and
LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME is OFF, then GetModulePath is
unused.
```
<...>/lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp(32,13): warning: unused function 'GetModulePath' [-Wunused-function]
32 | std::string GetModulePath(HMODULE module) {
| ^~~~~~~~~~~~~
```
Rearrange the macros to define GetModulePath only if both options are
enabled.
Commit: e33e88551902cadfd7162719f18189d63489796e
https://github.com/llvm/llvm-project/commit/e33e88551902cadfd7162719f18189d63489796e
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/file.h
Log Message:
-----------
[flang-rt][NFC] Initialize OpenFile::nextId_ (#221187)
`OpenFile::nextId_` had no initializer and is assigned only in
`Predefine()`, which runs for the three preconnected units. A unit
created by `OPEN` therefore leaves it indeterminate. Added missing
initializer.
Assisted-by: AI
Commit: 47fee85e3b5e4c749829a2ebac498dc89e6a5f2c
https://github.com/llvm/llvm-project/commit/47fee85e3b5e4c749829a2ebac498dc89e6a5f2c
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
A flang/test/Transforms/FIRToMemRef/view-op-wraps-array-coor.mlir
Log Message:
-----------
[flang][FIRToMemRef] Look through zero-offset views to find fir.array_coor (#215402)
`getMemRefInfo` dispatched only on a FIR memref's immediate defining op,
so a fir.declare (or other zero-offset view) wrapping
`fir.array_coor`/indexing `fir.coordinate_of` was treated as an opaque
scalar reference, dropping bounds information and causing incorrect
runtime behavior (e.g. missing array dimensions) after inlining under an
OpenACC kernels loop.
This peeks through zero-offset FortranObjectViewOpInterface views
(fir.declare, ref/box fir.convert, fir.box_addr, fir.volatile_cast,
fir.create_box, unsliced fir.embox/fir.rebox) for a genuine
fir.array_coor/indexing fir.coordinate_of underneath and dispatches
bounds-aware lowering on it.
Commit: c599c4c8a61243795f9cb1922464d6bbc8f95686
https://github.com/llvm/llvm-project/commit/c599c4c8a61243795f9cb1922464d6bbc8f95686
Author: Aochang Liu <102237385+HelloWorldU at users.noreply.github.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
A llvm/test/CodeGen/X86/coalesce-commute-partial-def-implicit-read.mir
Log Message:
-----------
[RegisterCoalescer] Do not commute def when a partial def implicitly reads it (#220979)
## Problem
Since f44079db22036d0ade2cf3d2e5a24bde5d378efd, instruction selection
can produce partial register writes (e.g. MOV8rm into sub_8bit) that
implicitly read the rest of the 64-bit register. When
removeCopyByCommutingDef commutes the feeding OR to remove a COPY, it
rewrites only explicit operands and then erases the old definition from
the live interval.
The partial write still implicitly reads that value, so
`JoinVals::analyzeValue` asserts on `Instruction is reading nonexistent
value`.
## Fix
Extend the existing reader check from `use_nodbg_operands` to
`reg_nodbg_operands`, and use `readsReg()` to identify operands that
read `AValNo`. Reject the commute when such a reader is also a def, just
as for a tied use, because it cannot be rewritten independently.
This catches partial defs without introducing a separate scan over all
defs.
## Testing
- New MIR regression test crashes on main (RegisterCoalescer.cpp:2885
assertion) and passes with this change.
- No end-to-end .ll test is included: on the latest HEAD the pass
pipeline no longer takes the branch that triggered the original
assertion.
Resolves #220302
Commit: 6a46cee8e7dbed35560b1f1bf518f4c1c7391866
https://github.com/llvm/llvm-project/commit/6a46cee8e7dbed35560b1f1bf518f4c1c7391866
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
M llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.ll
Log Message:
-----------
[RISCV] Add isel pattern for vdot4aus.vx (#221047)
The splat of i32 and bitcast is probably not realistic. I'm just trying
to cover the assymmetry in the patterns with this patch.
Assisted-by: Claude
Commit: 1346f98d0e116d989d7e8659154b54c9d47b3b7a
https://github.com/llvm/llvm-project/commit/1346f98d0e116d989d7e8659154b54c9d47b3b7a
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/lib/AST/CommentSema.cpp
M clang/test/Sema/warn-documentation.cpp
M clang/test/Sema/warn-documentation.m
Log Message:
-----------
[Comment] Fix @method/@methodgroup/@callback false positives (#220787)
76af74004e8b (#181769) refactored the DiagSelect computation in
checkFunctionDeclVerbatimLine to use named enum constants instead of
magic numbers. The checks for whether the comment was attached to an
Objective-C method, a method group, or a pointer to a function
declaration were removed for the @method, @methodgroup, and @callback
cases, which caused warn_doc_function_method_decl_mismatch to be emitted
even when the comments were attached to matching declarations.
Restore the dropped checks.
rdar://184264978
Commit: a1b86bdaef6b0b0e0d6b4dbb3354fa024de2f1b2
https://github.com/llvm/llvm-project/commit/a1b86bdaef6b0b0e0d6b4dbb3354fa024de2f1b2
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
A flang/test/Lower/OpenMP/target-update-derived-type-usm.f90
A flang/test/Lower/OpenMP/target-update-derived-type.f90
Log Message:
-----------
[Flang][OpenMP] Optimize target updates of derived-type scalars (#219488)
Pack AMDGPU derived-type scalar updates into a single transfer and
generated target region, avoiding one costly runtime transfer per
component. Preserve existing lowering for unsupported clauses, pointer
components, and non-AMDGPU targets.
Commit: 9cda50c8427fc17663f102392729bbf68cd8178e
https://github.com/llvm/llvm-project/commit/9cda50c8427fc17663f102392729bbf68cd8178e
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/test/CIR/CodeGenCUDA/kernel-call.cu
A clang/test/CIR/CodeGenCUDA/uniform-work-group-size.cu
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[CIR] Implement "uniform_work_group_size" func attribute. (#214708)
Commit: 26d3c25b8184193e7952f14151245166fa010f62
https://github.com/llvm/llvm-project/commit/26d3c25b8184193e7952f14151245166fa010f62
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
A clang/test/CIR/CodeGen/destructor-vtable-reinit-strict.cpp
A clang/test/CIR/CodeGen/destructor-vtable-reinit.cpp
Log Message:
-----------
[CIR] Implement 'vtable initialization' lowering (#220946)
This showed up in a test suite, and is basically just ensuring that our
vtable pointers are properly cleaned up during destruction. The entirety
of the static functions (and the implementation) are near word-for-word
copies of what classic codegen does.
However, there ARE a few parts that are potentially untested(including
strict-vtable-pointers which aren't implemented yet), but the
implementation is put in place, as it is a mechanical copy/paste
implementation.
Note: Claude came up with additional test cases.
Commit: defde181bce666df9ceeb57cf8f8ad4cda6c6675
https://github.com/llvm/llvm-project/commit/defde181bce666df9ceeb57cf8f8ad4cda6c6675
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
Log Message:
-----------
[flang][NFC] Add FortranObjectLoadOpInterface for load provenance (#221088)
The definition walk in AliasAnalysis::getSourceImpl already keys the
address half of a descriptor access chain on
FortranObjectViewOpInterface (fir.box_addr, fir.create_box,
fir.convert), but the load step was hardcoded to fir::LoadOp. Any other
operation whose result is a value read from memory therefore terminated
the walk at SourceKind::Unknown, losing the AllocDeref/PointerDeref root
and coarsening alias results for everything reached through the loaded
descriptor.
Add FortranObjectLoadOpInterface as the value-producing dual of
FortranObjectViewOpInterface: a view op forwards an address, a load-like
op yields the value read from one. It declares a single getLoadSource
method reporting the memory reference a result was read from. fir.load
implements it as getMemref(), so this is NFC, and the box-load case in
getSourceImpl now keys on the interface instead of the concrete op.
The interface documents provenance only and makes no purity claim, so an
operation whose result depends on more than the contents of the memory
reference can participate as long as it models those extra dependences
through its memory effects. Consumers must not use the interface to
justify value-based transformations such as CSE or load forwarding.
Assisted-by: Cursor
Commit: 4b8839f67a8508a6ee0005c6757b287d645d202f
https://github.com/llvm/llvm-project/commit/4b8839f67a8508a6ee0005c6757b287d645d202f
Author: John Brawn <john.brawn at arm.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/test/Transforms/LoopIdiom/memmove-ext.ll
Log Message:
-----------
[LoopIdiom] Adjust memmove-ext.ll test (#221251)
Some of the functions in this test have an iv value of 0 in the first
iteration which which is then used in a sub nuw which would result in
poison. Adjust these to use 1 in the first iteration.
Commit: c7ba46e37d78cb39c3940f255ec907930f85e577
https://github.com/llvm/llvm-project/commit/c7ba46e37d78cb39c3940f255ec907930f85e577
Author: andre <andsun9999 at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Parse ObjC generics in block literal return types (#220995)
The unwrapped line parser handled a block literal's return type as a
single identifier or type keyword followed by optional stars. A return
type carrying ObjC generics or a protocol qualifier, such as
`^NSArray<NSString *> *(int x) { ... }` or `^id<Proto>(int x) { ... }`,
was therefore not recognized as a block, and its body was treated as a
function body instead. This collapsed the body like a short function
and, with `RemoveSemicolon: true`, dropped the semicolon terminating the
enclosing statement, producing code that no longer compiles.
Skip a balanced angle-bracket list after the return type before looking
for the parameter list and body.
Fixes #219713
Assisted-by: Claude Code
Commit: c8fbd8226a3717c1f9de8c0270b6f4d57f046f1e
https://github.com/llvm/llvm-project/commit/c8fbd8226a3717c1f9de8c0270b6f4d57f046f1e
Author: Venkatesh Srinivasan <156861430+venk-ks at users.noreply.github.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/Decl.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Analysis/cstring-syntax.c
M clang/test/Sema/builtins.c
M clang/test/Sema/warn-fortify-source.c
Log Message:
-----------
[Clang][Sema] Add fortify warnings for strlcat (#220341)
Add `-Wfortify-source` diagnostics for `strlcat` and `__builtin_strlcat`
when the size argument exceeds the destination buffer size.
Also add `-Wno-fortify-source` to `clang/test/Analysis/cstring-syntax.c`
to prevent the new compiler diagnostic from interfering with static
analyzer checks on intentionally underflowing test expressions.
Part of #142230
Assisted-by: Gemini
Commit: 08d499665a145b4f9074324ed259015850809473
https://github.com/llvm/llvm-project/commit/08d499665a145b4f9074324ed259015850809473
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/test/CIR/CodeGen/agg-atomic-cast.c
Log Message:
-----------
[CIR] Support Aggregate cast from and to atomic type (#220689)
Support Aggregate cast from and to atomic type
Commit: cd316d257bda9d1232a8e6c4fb9cb75df571b83d
https://github.com/llvm/llvm-project/commit/cd316d257bda9d1232a8e6c4fb9cb75df571b83d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
M llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.ll
Log Message:
-----------
[RISCV] Make RISCVISD::VDOT4A_VL/VDOT4AU_VL commutative. (#221051)
Assisted-by: Claude
Commit: f5afe7a2ecb261b46800d60328d5943b4f80978a
https://github.com/llvm/llvm-project/commit/f5afe7a2ecb261b46800d60328d5943b4f80978a
Author: Ambrose Leeb <aleeb at nvidia.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
Log Message:
-----------
[NFC] [Clang] [CodeGen] Reduce code duplication when emitting trap calls (#221022)
There are a number of places in codegen where we do this:
```c++
llvm::CallInst *TrapCall = EmitTrapCall(llvm::Intrinsic::trap);
TrapCall->setDoesNotReturn();
TrapCall->setDoesNotThrow();
Builder.CreateUnreachable();
Builder.ClearInsertionPoint();
```
This patch adds a helper that does this and updates `EmitTrapCall()` to
no longer create a new block after emitting the trap call.
One test had to be updated because an unnecessary block was dropped.
Before, we were generating this:
```llvm
dtor.call_delete_after_array_destroy: ; preds = %dtor.vector.cont
call void @llvm.trap() #7
unreachable
6: ; No predecessors!
unreachable
```
The second block here is now no longer present, which caused some
instruction renumbering.
Commit: 79844094b2ddb18b3b1bcdac8d7ed758b3240f4d
https://github.com/llvm/llvm-project/commit/79844094b2ddb18b3b1bcdac8d7ed758b3240f4d
Author: Kunal Pathak <kupathak at meta.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/SampleProfile/pseudo-probe-no-debug-info.ll
Log Message:
-----------
[PseudoProbe] Prevent invalid callsite identities in inline trees (#219079)
Prevent debugless calls in inlined `nodebug` functions from inheriting
the caller's packed pseudo-probe discriminator. Such inheritance aliases
distinct calls onto one probe index and makes the resulting callsite
profile stale. Add a regression test covering the emitted callsite
probe.
Consider:
```
A:
probe #2
call B
B: // nodebug
call C
```
After inlining B into A, LLVM gets:
```
A:
call C
```
Because B has no debug locations, the inliner gives call C the location
of A -> B. That is sensible for debugging: the instruction now appears
at the inlining location.
The problem is that this location also contains pseudo-probe `ID #2`.
That ID identifies the original A -> B callsite. It doesn't mean "code
executing inside A."
Without the fix, call C therefore looks like:
```
call C, debug-location = A's probe #2
```
Later, PseudoProbeInserter sees the packed discriminator and emits a
machine call probe using its encoded function GUID, probe index, and
type.
That creates a false identity:
```
probe (A, #2, DirectCall)
call C
```
But `(A, #2)` describes `A -> B`, not `B -> C`. Samples collected at C
can consequently be attributed to the wrong source callsite and later
appear stale.
The fix retains everything useful while clearing only the
identity-bearing discriminator.
Thus the result is conceptually:
```
call C, debug-location = A's source location,
inline context = preserved,
pseudo-probe identity = none
```
LLVM cannot recover a usable B -> C location here. Because B is nodebug,
it has no DISubprogram, source location, or scope on which to encode its
callsite probe. Synthesizing these would invent debug information and
conflict with nodebug semantics; carrying probe identity independently
would require a broader representation change.
The conservative fix preserves A’s source location, inline context, and
ordinary DWARF base discriminator, while removing the incorrectly
inherited A → B pseudo-probe identity. Having no encoded probe for B → C
is preferable to assigning it a different callsite’s identity.
Assisted-By: Claude
---------
Co-authored-by: Kunal Pathak <kupathak at fb.com>
Commit: e022499fdf1e2581a9ed5d97e1e50cc5775c9cb1
https://github.com/llvm/llvm-project/commit/e022499fdf1e2581a9ed5d97e1e50cc5775c9cb1
Author: Kunal Pathak <kupathak at meta.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
A llvm/test/CodeGen/X86/pseudo-probe-tail-merging.mir
Log Message:
-----------
[CodeGen] Preserve pseudo-probe context when tail merging (#219502)
BranchFolder normally ignores debug locations when deciding whether
machine instructions are identical. That allowed it to merge
`PSEUDO_PROBE `instructions and calls carrying packed pseudo-probe
discriminators even when they came from different inline contexts.
Merging their debug locations then kept only the common outer ancestry,
which moved profile attribution to the wrong callsite.
Keep tail merging enabled, but stop matching at a probe-sensitive
instruction unless both instructions have the same source and inline
context. Call probes also require the same packed discriminator. Tails
from the same probe context remain eligible for merging.
Add MIR coverage for block probes and call probes, including checks that
same-context tails still merge, under both the legacy and new pass
managers.
Assisted by: Claude
Commit: f6a369fa4a57e2cc80cbe65cf6262df4b0c2dfc0
https://github.com/llvm/llvm-project/commit/f6a369fa4a57e2cc80cbe65cf6262df4b0c2dfc0
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
M clang/test/CIR/CodeGen/bitfield-union.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
R clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty-bitfield-member-nyi.cpp
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-packed.c
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-zero-width-bitfield.c
M clang/test/CIR/CodeGen/dumb-record.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
M clang/test/CIR/CodeGen/mms-bitfields.c
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/record-member-kinds.c
M clang/test/CIR/CodeGen/record-member-kinds.cpp
M clang/test/CIR/CodeGen/record-zero-init-padding.c
A clang/test/CIR/IR/invalid-bitfield-member.cir
M clang/test/CIR/IR/invalid-struct.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/Lowering/copy-skip-tail-padding.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/x86_64-bitfield.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-empty-class.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-padded.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
M clang/unittests/CIR/RecordMemberKindTest.cpp
Log Message:
-----------
[CIR] Update bit-field representation (#221030)
This changes the way that bit-fields are represented in CIR. It adds a
new type to explicitly represent bit-field access units, with an
attribute on this type describing the individual bit-fields within the
access unit, including the declared type of each field.
Assisted-by: Cursor / claude-opus-5
Commit: 7b928cbe4cbd4001e5f124f6bda4949654ac636e
https://github.com/llvm/llvm-project/commit/7b928cbe4cbd4001e5f124f6bda4949654ac636e
Author: quic-k <kushpal at qti.qualcomm.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M .github/workflows/containers/libc/Dockerfile
Log Message:
-----------
[Github][libc] Download Hexagon qemu in the libc container (#219433)
This only makes the emulator available in the image. Enabling the
Hexagon libc tests in CI is a follow-up change.
Signed-off-by: Kushal Pal <kushpal at qti.qualcomm.com>
Commit: fbf159f8ce633ff83e77231a0da3c65ecf0a9a60
https://github.com/llvm/llvm-project/commit/fbf159f8ce633ff83e77231a0da3c65ecf0a9a60
Author: Chen Li <thechenli.dev at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb][AMDGPU] Support terminal DW_OP_LLVM_piece_end (#220774)
AMDGPU can emit a location expression whose pieces are followed by a
terminal DW_OP_LLVM_piece_end. LLDB already assembles the DW_OP_piece
operands into its single out-of-band composite, but currently rejects
the final LLVM user operation.
Recognize one terminal DW_OP_LLVM_piece_end as a no-op. A non-terminal
occurrence, including the first of multiple piece-end operations,
remains an error. This intentionally does not implement multiple
composite location descriptions.
Specification:
https://llvm.org/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.html
The regression test matches the two-register expression observed in a
GPU core file and covers the unsupported multiple-piece-end form.
Testing:
- Built tools/lldb/unittests/Expression/ExpressionTests in a Debug +
assertions build from current main
- ExpressionTests: 164/164 passed
Co-authored-by: Chen Li <chenlii at fb.com>
Commit: 49904955129c2e84957b94f4bd2f1aca7c64404c
https://github.com/llvm/llvm-project/commit/49904955129c2e84957b94f4bd2f1aca7c64404c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M flang/test/Lower/OpenMP/target-update-derived-type.f90
Log Message:
-----------
[flang][openmp] Add missing REQUIRES line for -triple amdgcn-amd-amdhsa (#221300)
This fails on build without amd target
```
error: unable to create target: 'No available targets are compatible with triple "amdgcn-amd-amdhsa"'
```
Commit: c5ff89eeae46f3c02a84326db8bad476d98f07e5
https://github.com/llvm/llvm-project/commit/c5ff89eeae46f3c02a84326db8bad476d98f07e5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/logical-reduction-booleanized-leaves.ll
Log Message:
-----------
[SLP][NFC]Add a test with missed vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221310
Commit: e912c522d306b62b3f0fdcc7916711802a862799
https://github.com/llvm/llvm-project/commit/e912c522d306b62b3f0fdcc7916711802a862799
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaType.cpp
M clang/test/Sema/nullability.c
Log Message:
-----------
[Sema] Don't crash filling TypeLoc for a reused AttributedType (#220139)
TypeProcessingState::takeAttrForAttributedType assumed every
AttributedType encountered while filling a declarator's TypeLoc had an
(AttributedType*, Attr*) pair registered earlier in the same
TypeProcessingState's AttrsForTypes.
That assumption doesn't hold when the AttributedType is inherited from
another declarator, for example when __typeof__ reuses a type built for
a different declaration. In that case,
TypeProcessingState::getAttributedType, the function that registers the
pair, is never called.
Return a null Attr* instead of calling llvm_unreachable when no entry is
found. This is the Attr* that AttributedTypeLoc uses for the current
declarator's TypeLoc, and null is right here because the current
declarator never spelled the attribute itself.
Fixes #217489
rdar://184781693
Commit: d1d2f30a29515296870f925ea0c2d041851cd961
https://github.com/llvm/llvm-project/commit/d1d2f30a29515296870f925ea0c2d041851cd961
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
Log Message:
-----------
Revert "[clang-tidy][NFC] Test all bugprone-exception-escape option modes" (#221306)
The test became flaky on downstream builders after this commit, so
reverting this now.
Reverts llvm/llvm-project#221164
Commit: 90ed5503f3365cdc6af3ef009638e14602223137
https://github.com/llvm/llvm-project/commit/90ed5503f3365cdc6af3ef009638e14602223137
Author: Michael Jones <michaelrj at google.com>
Date: 2026-09-04 (Fri, 04 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/stdlib.yaml
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/getloadavg.h
M libc/src/stdlib/linux/CMakeLists.txt
A libc/src/stdlib/linux/getloadavg.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/getloadavg_test.cpp
Log Message:
-----------
[libc] implement getloadavg (#221049)
Implement the `getloadavg` function which was originally added in BSD
but also adopted by linux.
Assisted-by: Automated tooling, human reviewed
Commit: 882cbb45e0c049b6eb1ec1a924acab15312f30a0
https://github.com/llvm/llvm-project/commit/882cbb45e0c049b6eb1ec1a924acab15312f30a0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/lib/Optimizer/Support/InternalNames.cpp
M flang/unittests/Optimizer/InternalNamesTest.cpp
Log Message:
-----------
[flang] Add flag to exclude string literal in isCompilerGenerated (#221305)
Add a flag to exclude string literals read-array constant from
isCompilerGenerated. On by default.
Commit: 2449bae16b32b994282263be4cf1ece9441032f3
https://github.com/llvm/llvm-project/commit/2449bae16b32b994282263be4cf1ece9441032f3
Author: Michael Jones <michaelrj at google.com>
Date: 2026-09-04 (Fri, 04 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/limits.yaml
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/unistd.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/getpriority.h
M libc/src/unistd/CMakeLists.txt
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/nice.cpp
A libc/src/unistd/nice.h
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/nice_test.cpp
Log Message:
-----------
[libc] implement nice (#221048)
Implement the `nice` function as defined in POSIX, as well as
approrpiate tests.
Assisted-by: Automated tooling, human reviewed.
Commit: d58de5d4825ab186213edc8ad4d190bea5f90d6f
https://github.com/llvm/llvm-project/commit/d58de5d4825ab186213edc8ad4d190bea5f90d6f
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/utils/lit/lit/formats/googletest.py
M llvm/utils/lit/lit/main.py
A llvm/utils/lit/tests/googletest-filter-out.py
Log Message:
-----------
[lit] Apply --filter-out to GoogleTest shard results (#220410)
[lit] Apply --filter-out to tests expanded from GoogleTest shards
A GoogleTest shard is a single lit test at discovery time, so
`--filter-out` can only match the shard's name and has no way to
deselect individual gtest cases. The cases only get real names once
`post_process_shard_results` expands the shard's JSON output.
Apply the filter there instead: mark expanded subtests whose full name
matches `--filter-out` as EXCLUDED. Record `has_failure_in_shard` before
the filter is applied, so a shard whose only failing cases were filtered
out is still considered accounted for and is not additionally reported as
a failure of the parent shard.
Add a test which filters out the failing and unresolved cases of the
googletest-format inputs and checks that the run reports 2 excluded
and no failures.
Assisted-By: Claude Opus 5.
Commit: 330b49f03ff4bf8005c9dc95e6ffc37b341bbbd2
https://github.com/llvm/llvm-project/commit/330b49f03ff4bf8005c9dc95e6ffc37b341bbbd2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/VPlan/memory-checks.ll
Log Message:
-----------
[LV] Add VPlan printing tests for memory runtime check generation (NFC) (#221232)
Add VPlan printing tests with runtime check blocks, as well as coverage
for checks where one of the bounds involves an AddRec.
Commit: c5ce4517a1492cb33a00b8d0bc4d896c45b7e7bb
https://github.com/llvm/llvm-project/commit/c5ce4517a1492cb33a00b8d0bc4d896c45b7e7bb
Author: Dave MacLachlan <dmaclach at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Log Message:
-----------
[include-cleaner] Support Objective-C toll-free bridged casts (#216158)
Handle `CK_CPointerToObjCPointerCast` in `WalkAST` to report implicit
case when converting id/void to an Objective-C type (non-arc only). Also
adds unit tests for various bridged cast types (these were already
covered, but this verifies that they work).
Commit: 9377616866e43201bdc3c0a0b6c8008d83cff5de
https://github.com/llvm/llvm-project/commit/9377616866e43201bdc3c0a0b6c8008d83cff5de
Author: Vedran Miletić <vedran at miletic.net>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[cmake] Fix ninja clean failure for cross-compilation native build dir (#200641)
Ninja clean treats every build OUTPUT as a path to remove(). When NATIVE
(the cross-compilation host sub-build directory) was registered directly
as the OUTPUT of the CREATE_<project>_<target> custom command, ninja
tried to remove() it as if it were a file and failed with "Directory not
empty".
Fixed by introducing a stamp file (NATIVE/created.stamp) as the sole
CMake OUTPUT of that custom command. The stamp file is what ninja cleans
(a single file removal), while make_directory remains idempotent on
subsequent builds.
Commit: d4aa8a934cc81a9ceab6cedfdc92eeefa936c0f1
https://github.com/llvm/llvm-project/commit/d4aa8a934cc81a9ceab6cedfdc92eeefa936c0f1
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-debug-runtime-call-loc.mlir
Log Message:
-----------
[OMPIRBuilder] Keep the target construct's location for the deinit call (#221303)
#217407 gave __kmpc_target_init and __kmpc_target_deinit a debug
location by setting the outlined function's location once, before
generating the target body. The init call is emitted before the body and
keeps it, but the deinit call is emitted after, and by then the body may
have replaced it.
The body callback builds the body with its own IRBuilder, so nothing it
emits can disturb the one createOutlinedFunction() uses for the
epilogue. But a body holding another OpenMP construct, a nested parallel
say, calls OpenMPIRBuilder::createParallel, and that leaves the builder
pointing at the wrong debug location, or at none at all. The deinit call
then silently loses its !dbg again.
The test added with #217407 uses a target region whose body is a single
store. Such a body never calls back into OpenMPIRBuilder, the location
survives, and the gap was not visible.
Re-establish the outlined function's location after the body callback,
before emitting the epilogue. The epilogue belongs to the target
construct rather than to whatever the body emitted last, so this is the
location it should carry, and init and deinit go back to agreeing.
Extends the existing test with a nested parallel, which fails on the
deinit check without this change.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: c3fa882edb340d4628e7b76d312adc267977fac9
https://github.com/llvm/llvm-project/commit/c3fa882edb340d4628e7b76d312adc267977fac9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/arithmetic-fp-sm20.ll
M llvm/test/CodeGen/NVPTX/fma-assoc.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma.ll
M llvm/test/CodeGen/NVPTX/fp-contract-f32x2.ll
M llvm/test/CodeGen/NVPTX/fp-contract.ll
M llvm/test/CodeGen/NVPTX/fp-literals.ll
M llvm/test/CodeGen/NVPTX/scalarize-non-coalescable-v2f32.ll
Log Message:
-----------
NVPTX: Drop global AllowFPOpFusion read from allowFMA (#221313)
We're near the end of the decade long effort to eliminate the
fast math fields from TargetOptions. This is one of the few
remaining consumers, so remove it. Update incidentally
changed tests by adding contract flags.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 46b146da9c4a2af790a7b5125c7be50a981aef29
https://github.com/llvm/llvm-project/commit/46b146da9c4a2af790a7b5125c7be50a981aef29
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/test/CIR/CodeGen/agg-atomic-cast.c
M clang/test/CIR/CodeGen/delegating-ctor.cpp
M clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
Log Message:
-----------
[CIR] Emit Memset in emitNullInitialization for default inits case (#221029)
Emit the cir.libc.memset op in emitNullInitialization for the default
inits case, which ends up with emitted IR identical to the original
codegen and eliminates the need to create a private global instance of a
struct with zero init
Commit: 3a96f29e9279d54b47ab800a1d0e57042b85448c
https://github.com/llvm/llvm-project/commit/3a96f29e9279d54b47ab800a1d0e57042b85448c
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
A libc/utils/cmake_format.py
A libc/utils/cmake_format_test.py
Log Message:
-----------
[libc] Add CMake formatting utility (#213102)
Added libc/utils/cmake_format.py and libc/utils/cmake_format_test.py to
format LLVM and subproject CMake files according to LLVM-libc formatting
conventions.
The formatter operates in three passes:
* Lexer: Tokenises input using the cmake-language(7) EBNF specification
into typed Token objects with line and column position tracking.
* Dynamic Schema Scanner: Pre-scans repository CMake modules and
function blocks to learn option, single-value, and multi-value keyword
argument schemas from cmake_parse_arguments and set calls.
* Token-Stream Formatter: Applies 2-space control block nesting, keyword
casing, comment buffering, and multi-line list indentation in a single
pass.
The utility supports parallel multi-core execution (-j/--jobs) and
in-place file formatting (-i/--inplace). Added 44 unit tests covering
formatting rules, edge cases, schema scanning, and error diagnostics.
Assisted-by: Automated tooling, human reviewed.
Commit: 75c039164e55107151f1b1c72dc7aab4265934ff
https://github.com/llvm/llvm-project/commit/75c039164e55107151f1b1c72dc7aab4265934ff
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/replace-first-order-recurrence-by-versioned-iv.ll
Log Message:
-----------
[VPlan] Preserve nneg when expanding SCEVZeroExtendExpr. (#221322)
Add nneg to ZExt when expanding a SCEV where SCEV can prove it is
non-negative, matching behavior of IR SCEVExpander::visitZeroExtendExpr.
Commit: a65128ed4da92fdd2088226a77b598f8294038eb
https://github.com/llvm/llvm-project/commit/a65128ed4da92fdd2088226a77b598f8294038eb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Log Message:
-----------
[DAG] SplitVecRes_VECTOR_COMPRESS - rename MaskVT -> LoMaskVT. NFC. (#221285)
MaskVT refers to LoMask's type not the original Mask type.
Noticed in #215772 - avoids some potential Wshadow confusion.
Commit: f1e6b2e281809a3c69922fcaf9e18b14bb5052d2
https://github.com/llvm/llvm-project/commit/f1e6b2e281809a3c69922fcaf9e18b14bb5052d2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/induction-cost.ll
Log Message:
-----------
[VPlan] Extend induction cost test coverage (NFC). (#221323)
Widen induction-cost.ll's filter to cover all induction recipes and the
canonical IV increment, run it for two VFs, and add the FP and pointer
induction shapes it was missing entirely: scalarized
FAdd/FSub/invariant-step inductions, a dead induction in the vector
loop, one with both wide and scalar users, one inside a replicate
region, a fully unrolled one, and FP-plus-pointer and pointer-only
loops.
Commit: d69cde185b87f6296bcde097354b2400d777491e
https://github.com/llvm/llvm-project/commit/d69cde185b87f6296bcde097354b2400d777491e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-mixed-extends.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect comparison after vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221332
Commit: f94b3d1fd66dd262a149a98199c7d158ddd8f0bd
https://github.com/llvm/llvm-project/commit/f94b3d1fd66dd262a149a98199c7d158ddd8f0bd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr48727.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-trunc-nowrap.ll
M llvm/test/CodeGen/X86/vector-trunc.ll
Log Message:
-----------
[X86] combineX86ShuffleChain - only fold to truncate(concat(v1,v2)) if the concat is free (#221280)
Ensure we don't increase the shuffle chain depth
Commit: b84b2d76abc28c5f5a03e3574302c5716b32569c
https://github.com/llvm/llvm-project/commit/b84b2d76abc28c5f5a03e3574302c5716b32569c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-mixed-extends.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll
Log Message:
-----------
[SLP]Fix narrowing of icmp with mismatched operand extensions
Keep the narrow compare only if the predicate matches the operand
signedness; otherwise extend the operands back to the original
compared type.
Fixes #221240
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221336
Commit: 3b0bb49c3f56a0560e2d68dd3358f580feb88092
https://github.com/llvm/llvm-project/commit/3b0bb49c3f56a0560e2d68dd3358f580feb88092
Author: Stan Ulbrych <stan at python.org>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
M compiler-rt/test/ubsan/TestCases/Integer/summary.cpp
Log Message:
-----------
[compiler-rt][ubsan] Fix trailing whitespace in SUMMARY line when function is unknown (#221335)
Fixes #30851. ReportErrorSummary always rendered "%L %F", but %F expands
to nothing when the function name is unknown, leaving a dangling space
at the end of the line. Instead, oly add the function name if it is
known.
Commit: a0348d93ff547a8c374273473f6f41e329fa5485
https://github.com/llvm/llvm-project/commit/a0348d93ff547a8c374273473f6f41e329fa5485
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/CUDA/cuda-gpu-pinned2.f90
Log Message:
-----------
[flang][cuda] Make sure that CUDA is enabled when adding PINNED implicit attribute (#221334)
PINNED was not guarded like MANAGED. Just make a general guard for both.
Commit: 1315e04a5c0b8e4f0f789c99a87970314f547f30
https://github.com/llvm/llvm-project/commit/1315e04a5c0b8e4f0f789c99a87970314f547f30
Author: SharonXSharon <xiaoranxu.nju at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
A compiler-rt/test/sanitizer_common/TestCases/Posix/opendir_null.cpp
Log Message:
-----------
[memprof] check path in opendir interceptor (#221309)
The sanitizer `opendir` interceptor unconditionally calls
`internal_strlen(path)` before forwarding to the real function.
Passing `nullptr` therefore causes the sanitizer runtime itself to
dereference address zero.
Add a unit test using a `LD_PRELOAD` shim to verify that a null path
reaches the real implementation without crashing the interceptor.
---------
Co-authored-by: Sharon Xu <sharonxu at fb.com>
Commit: 6bfbb2ef1bf54cf1b0491226094a2a7bd5c6d6c5
https://github.com/llvm/llvm-project/commit/6bfbb2ef1bf54cf1b0491226094a2a7bd5c6d6c5
Author: Savvas Shiakas <savvas.shiakas at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/docs/ClangFormatStyleOptions.md
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format] Add FilesBeforeFolders option to SortIncludes (#208954)
Add a new `SortIncludes.FilesBeforeFolders` boolean option that, when
enabled, sorts includes so that files in a directory appear before
subdirectories at each level, recursively. Within a level, files and
subdirectories are each sorted alphabetically.
For example:
```
true: false (default):
#include "x.h" vs. #include "bar/alpha/e.h"
#include "y.h" #include "bar/alpha/f.h"
#include "z.h" #include "bar/beta/d.h"
#include "bar/g.h" #include "bar/g.h"
#include "bar/h.h" #include "bar/h.h"
#include "bar/i.h" #include "bar/i.h"
#include "bar/alpha/e.h" #include "foo/a.h"
#include "bar/alpha/f.h" #include "x.h"
#include "bar/beta/d.h" #include "y.h"
#include "foo/a.h" #include "z.h"
```
Assisted-by: Github Copilot CLI
Commit: 7ea47d18f6e16d83faee97572d86a3ff363f39eb
https://github.com/llvm/llvm-project/commit/7ea47d18f6e16d83faee97572d86a3ff363f39eb
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
Log Message:
-----------
[flang][cuda] Unify locking regime for the allocation table (#221341)
The lock was acquired in insertAsyncDeviceAllocation but not in other
function. Move the lock outside of the function so the locking regime is
homogeneous.
Commit: b4ec8337f966a14c6cfb9eab424eba0c3df54763
https://github.com/llvm/llvm-project/commit/b4ec8337f966a14c6cfb9eab424eba0c3df54763
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpow.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpowi.mir
Log Message:
-----------
[AMDGPU] Carry the fpow expansion flags through its f32 round trip (#220681)
But do not carry ninf across the fpow round trip.
Commit: 9abbc9183d2231c2e44198100a6cd22ef66e2eb8
https://github.com/llvm/llvm-project/commit/9abbc9183d2231c2e44198100a6cd22ef66e2eb8
Author: SharonXSharon <xiaoranxu.nju at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/unique-internal-linkage-names.cpp
M clang/test/DebugInfo/Generic/unique-internal-linkage-names-dwarf.c
M clang/test/DebugInfo/Generic/unique-internal-linkage-names-dwarf.cpp
Log Message:
-----------
[clang] Revert "Disable Unique Internal Linkage Names for internal global vars." (#219261)
https://reviews.llvm.org/D98392 "Disable Unique Internal Linkage Names
for internal global vars" in 2021. Summary said "Demanglers do not
recognize clone suffixes for global variables, so disable unique linkage
suffixes until demanglers can be fixed."
Now LLVM's demangler handles suffixed data symbols today:
$ llvm-cxxfilt _ZL8glob_foo.__uniq.123
glob_foo (.__uniq.123)
So reverting the change.
The asm-label exclusion added is preserved and now applies to variables
too: a static variable with an asm label keeps its label verbatim.
---------
Co-authored-by: Sharon Xu <sharonxu at fb.com>
Commit: 183d180db76a10b099d68e3dc931a279d6e62314
https://github.com/llvm/llvm-project/commit/183d180db76a10b099d68e3dc931a279d6e62314
Author: robertvirany <robertvirany at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
A llvm/test/CodeGen/NVPTX/volatile-local.ll
Log Message:
-----------
[NVPTX] Support volatile local loads and stores in PTX 9.1 (#217764)
PTX ISA 9.1 adds support for the `.volatile` qualifier with the `.local`
state space on `ld` and `st` instructions.
Emit `ld.volatile.local` and `st.volatile.local` when targeting PTX 9.1
or later. Earlier PTX versions retain the existing plain local
load/store lowering.
Add code-generation coverage for both PTX 9.0 and PTX 9.1.
Commit: bcba495a500fc4bf57c28c91aee4757d8a01a774
https://github.com/llvm/llvm-project/commit/bcba495a500fc4bf57c28c91aee4757d8a01a774
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
Log Message:
-----------
Wasm: Remove unnecessary cast and error (#221179)
Commit: 7669fda940f3350eae2d50c09ec4c9939e930bda
https://github.com/llvm/llvm-project/commit/7669fda940f3350eae2d50c09ec4c9939e930bda
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
Log Message:
-----------
[NFC][SelectionDAG] Give the contract PatFrags a GlobalISel predicate (#219725)
The contract PatFrags carried only a PredicateCode, so GlobalISelEmitter skipped every pattern built on them.
Assisted-By: Claude Code 5
Commit: 657af0e310347a44afad9bfd4e9189da0a638b73
https://github.com/llvm/llvm-project/commit/657af0e310347a44afad9bfd4e9189da0a638b73
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/docs/DebuggingLLVM.md
Log Message:
-----------
[Docs] Document IR printing options (#221260)
Document the pass-by-pass IR printing options in DebuggingLLVM.md.
This covers:
- selecting passes by name or invocation number;
- change-only printing and output scope;
- filtering by pass, function, and source location;
- source-location filter syntax, matching behavior, and an example;
- persistent metadata IDs in repeated debug dumps.
This is a follow-up to #203393 and the documentation request in
https://github.com/llvm/llvm-project/pull/203393#pullrequestreview-5103117577.
Commit: 5478e3e2515aebd50d1c8782b4ebee4ba12724c9
https://github.com/llvm/llvm-project/commit/5478e3e2515aebd50d1c8782b4ebee4ba12724c9
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaLookup.cpp
M llvm/include/llvm/ADT/FoldingSet.h
Log Message:
-----------
[clang][Sema] Use DenseMap for SpecialMemberCache (NFC) (#221304)
This patch replaces llvm::FoldingSet with llvm::DenseMap for
SpecialMemberCache in Sema.
SpecialMemberCache is fundamentally a key-value cache that maps a class
and qualification flags to a SpecialMemberOverloadResult. The current
implementation is heavy because each entry in FoldingSet requires a
160-byte SpecialMemberOverloadResultEntry on the bump allocator arena.
LookupSpecialMember returns SpecialMemberOverloadResult by value. As
such, there is no need to use the bump allocator for pointer stability.
This patch also removes FastFoldingSetNode as we are removing the last
use.
Assisted-by: Antigravity
Commit: 2bce2d4f85937368dbdf91e40733a07309624ed5
https://github.com/llvm/llvm-project/commit/2bce2d4f85937368dbdf91e40733a07309624ed5
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaWasm.h
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaWasm.cpp
A clang/test/CodeGen/WebAssembly/wasm-global-export.c
A clang/test/CodeGen/WebAssembly/wasm-global-import.c
A clang/test/CodeGen/WebAssembly/wasm-import-error.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Sema/attr-wasm.c
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/test/CodeGen/WebAssembly/export-name.ll
A llvm/test/CodeGen/WebAssembly/import-error.ll
M llvm/test/CodeGen/WebAssembly/import-module.ll
Log Message:
-----------
[WebAssembly] Add support for import and export name attributes on global vars (#201966)
Currently these attributes are only supported on functions.
This change adds support for import_name, export_module and export_name
to global variables.
For addrspace(1) global variables, which lower to wasm globals, they are
directly appended to the
wasm export. For addrspace 0 globals, the address is exported.
It also fixes the behavior of the existing export_name attribute on
functions, implementing correct
merging behavior to handle cases of duplicate or conflicting
declarations.
Assisted-by: Antigravity
Commit: d83d37cde33d3d8408c6177b0cbac38b4f7d4214
https://github.com/llvm/llvm-project/commit/d83d37cde33d3d8408c6177b0cbac38b4f7d4214
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGenCXX/windows-x86_64-varargs.cpp
Log Message:
-----------
[clang][win] Extend scoped enum varargs for the Windows x64 ABI (#221356)
Fixes #220712
Scoped enum values don't undergo default integer promotions, so they
don't naturally get extended to 32-bit integers. However, MSVC appears
to extend scoped enum values, *specifically* when they appear as
variadic arguments, but *not* when the are passed as fixed arguments:
https://godbolt.org/z/oGozjMnEn
I think we should do the same. I think the main upshot here is that
users will be able to `printf("%d\n", my_u8_enum);` without casting to
`int` explicitly. Even if the `va_arg(ap, int)` on the printf side is
*technically* UB, this seems like a sharp corner we really ought to sand
off.
I dug up some references for how we handle this on the SysV side, and it
seems that we do extend there: a71cc1536167f44f542da2857685f01aa29c0e55
Codex decided it was worth plumbing the `IsNamedArg` boolean through the
ARM64EC classification side channel for good measure.
Assisted-by: Codex
Commit: b6abc5ec3b4cf77853d534d67c61de0363c5e35e
https://github.com/llvm/llvm-project/commit/b6abc5ec3b4cf77853d534d67c61de0363c5e35e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineToGPUFunc.cpp
Log Message:
-----------
[mlir][openacc] Avoid per-routine module walks in ACCRoutineToGPUFunc (#221345)
ACCRoutineLowering uniquifies the specialized device copy (foo -> foo_0)
while acc.specialized_routine still names the original host function.
Moving those copies into gpu.func then called replaceAllSymbolUses on
the whole module once per routine, which is quadratic in the number of
specialized routines.
Collect the src->dest renames and rewrite symbol uses in a single walk
of the module body (still skipping nested symbol tables). Insert the
gpu.func ops under the final names afterward.
On a large TU this speeds up this pass by 3.5x
Commit: bbf0680e6bc2e887e12138ab037ba90bcd12298e
https://github.com/llvm/llvm-project/commit/bbf0680e6bc2e887e12138ab037ba90bcd12298e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/unittests/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
[NFC][LowerTypeTests] Support ordering in GlobalLayoutBuilder with Less comparator (#221044)
Allow callers to guide fragment placement in GlobalLayoutBuilder using
an optional comparator.
This is a prerequisite for
https://github.com/llvm/llvm-project/pull/221046,
which reorders CFI jump table entries according to profile and ThinLTO
call edge hotness. Passing an ordering comparator allows
GlobalLayoutBuilder
to sort elements within strict types and place the globally hottest
fragment at the end of the jump table, while preserving 100% contiguity
(single range checks without holes) for all type subsets.
PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* ➤ https://github.com/llvm/llvm-project/pull/221044
* https://github.com/llvm/llvm-project/pull/221045
* https://github.com/llvm/llvm-project/pull/221046
Assisted-by: Gemini
Commit: 2cbdbc9ad7ff40457023c8f353161069df8eb57f
https://github.com/llvm/llvm-project/commit/2cbdbc9ad7ff40457023c8f353161069df8eb57f
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/docs/CMakeLists.txt
M clang/include/clang/Options/ClangOptionDocs.td
M clang/include/clang/Options/Options.td
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
Log Message:
-----------
[clang][docs] Generate command line reference as Markdown (#220385)
Update the Clang option documentation emitter to generate MyST Markdown
for the generated command-line reference page. I discovered and
preserved a complicated existing Sphinx program-name workaround for
option IDs that collide after punctuation normalization.
The only markup on Options.td is in the DocBrief fields, and those use
very little markup, so those were all migrated by the agent, not
rst2myst. I unindented the multi-line DocBrief bodies, because
indentation has semantics in both markdown (list indentation) and reST.
Tracking issue: #201242
0.1288% pixels differ in the rendered HTML page.
Assisted-by: Codex
Commit: 9faf317eff5ef76aff7addfbd0360f380e803026
https://github.com/llvm/llvm-project/commit/9faf317eff5ef76aff7addfbd0360f380e803026
Author: Chris Apple <cja-private at pm.me>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-diff.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
Log Message:
-----------
[clang-tidy] Normalize windows line filter paths (#217038)
`git | clang-tidy-diff.py` emits line-filter paths with forward slashes,
while Windows compilation databases use a mix of forwards and backwards
slashes. These paths are then silently rejected (and no report is
emitted).
Reproduce on windows via:
```
git.exe diff -U0 main -- . | python clang-tidy-diff.py -p1 -path .\build"
```
Git will produce a path like:
```
my/source/file.cpp
```
The compilation database has files with entries like this:
```
"file": "C:\\dev\\repo\\my\\source\\file.cpp",
"output": "my\\source\\CMakeFiles\\source.dir\\file.cpp.obj"
```
Clang tidy tries to match these paths, but fails on the slash
comparison.
Do a few things to fix this:
* Normalize filter paths with `llvm::sys::path::convert_to_slash()`
before matching the compilation database. This is a no-op on posix, but
converts windows forward slashes to backwards.
* Normalize `Filter.Name` paths when parsed
* Write a couple more unit tests for windows specific paths that expose
this behavior
* Enable another UNSUPPORTED test for windows clang-tidy-diff (and make
it run in a nested directory to exercise the issue
Fixes https://github.com/llvm/llvm-project/issues/112038.
Commit: 158e0f34bafdd4fd39e1fb4129e64244eea6904d
https://github.com/llvm/llvm-project/commit/158e0f34bafdd4fd39e1fb4129e64244eea6904d
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu
Log Message:
-----------
[CIR][NVPTX] Lower __nvvm_atom_cas_gen_* builtins (#221261)
Commit: b5fe885e5d2d96c353887671184560d12c90cb03
https://github.com/llvm/llvm-project/commit/b5fe885e5d2d96c353887671184560d12c90cb03
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
M clang/test/CIR/CodeGenBuiltins/NVPTX/builtins-nvptx-sync.cu
Log Message:
-----------
[CIR][NVPTX] Lower __nvvm_bar0_{and,or,popc} builtins (#221255)
Commit: b9d19fe4f3b6ecd691451eedaecf90445a869460
https://github.com/llvm/llvm-project/commit/b9d19fe4f3b6ecd691451eedaecf90445a869460
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M .ci/metrics/Dockerfile
Log Message:
-----------
[CI] Require hashes for pip install in metrics container (#221373)
We generate the requirements lock file with hashes, but did not actually
require them before now, which is best practice.
Commit: 977f609431050144483c92dc8a3dd170c38167f6
https://github.com/llvm/llvm-project/commit/977f609431050144483c92dc8a3dd170c38167f6
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGenCoroutines/coro-builtins.cpp
Log Message:
-----------
[CIR] Add cir.coro.intrinsic.promise Op (#221124)
This PR adds `cir.coro.intrinsic.promise`, representing
`llvm.coro.promise`, to the set of coroutine intrinsic ops. It also adds
the corresponding lowering to `llvm.coro.promise`.
Commit: d0617ffd4bc12236c4adfacfd4ca600297150d08
https://github.com/llvm/llvm-project/commit/d0617ffd4bc12236c4adfacfd4ca600297150d08
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M .ci/utils.sh
Log Message:
-----------
[CI] Require hashes for premerge python dep installation (#221376)
This is best practice and the requirements file is already a lockfile
with hashes.
Commit: 3efd20d463e1b1210d2ff07cd79b68d6fa215f24
https://github.com/llvm/llvm-project/commit/3efd20d463e1b1210d2ff07cd79b68d6fa215f24
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove unused tablegen classes. NFC (#221286)
This removes VPatBinaryFPSDNode_R_VF and VPatBinaryFPVL_R_VF. The have
_RM version that are used instead.
Commit: 2fd31faf6ec53ad7fc0c92355856367b9c5f3ad8
https://github.com/llvm/llvm-project/commit/2fd31faf6ec53ad7fc0c92355856367b9c5f3ad8
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
Log Message:
-----------
[RegAllocFast] Assert that isTiedToNotUndef() takes a def. NFC (#221120)
Improve a comment after #219482. And tidy MBB.liveins()
Commit: a638ce4ea02fe59d0ffba4a81408ddb86cfa0ecc
https://github.com/llvm/llvm-project/commit/a638ce4ea02fe59d0ffba4a81408ddb86cfa0ecc
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M clang/include/clang/Basic/AtomicLineLogger.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Options/Options.td
M clang/lib/Basic/AtomicLineLogger.cpp
M clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
A clang/test/ClangScanDeps/depscan-log-path.c
A clang/test/ClangScanDeps/logging-driver-flag.c
M clang/test/ClangScanDeps/logging-simple-by-name.c
M clang/test/ClangScanDeps/logging-simple.c
A clang/test/Driver/modules-driver-depscan-log.cpp
M clang/unittests/Basic/AtomicLineLoggerTest.cpp
Log Message:
-----------
[clang][DependencyScanning] Add a Clang Driver Option to Enable Dependency Scanning Logging (#211966)
This PR adds a clang driver option to enable dependency scanning
logging. The important implementation detail is that the
`DependencyScanningService` holds a single instance of the logger, and
we need to route the option to the logger per scan. An `enable` method
is added to the logger's API to enable it with thread safety. A second
detail worth calling out is that the option is a driver option, so if a
`cc1` command is passed directly to the scanner, the option will not be
processed.
Commit: 8c536a50e6f06e06031500e8933a34226cca1ec4
https://github.com/llvm/llvm-project/commit/8c536a50e6f06e06031500e8933a34226cca1ec4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[CI] Remove psutil from Windows container (#221377)
Commit: ef7bfdcfd4e3b75db55b5d335e1cfca334d811ca
https://github.com/llvm/llvm-project/commit/ef7bfdcfd4e3b75db55b5d335e1cfca334d811ca
Author: yebinchon <yebin.chon at princeton.edu>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
A flang/test/Lower/OpenACC/acc-declare-host-associated-allocatable.f90
Log Message:
-----------
[flang][OpenACC] Resolve associations before testing declare flags (#221346)
The OpenACC declare flags are set by semantics on a single symbol: the
one resolved in the scope containing the !$acc declare directive. Any
other scope naming the same entity reaches it through an association
symbol, and those symbols carry their own, empty flag sets.
The allocate and deallocate action helpers tested the symbol taken
straight from the ALLOCATE or DEALLOCATE statement. For an allocatable
declared in a host scope and allocated in an internal subprogram the
AccDeclare test
therefore failed, no acc.declare_action attribute was attached, and
ACCDeclareActionConversion had nothing to convert. The emitted recipes
were never called, so the device copy was neither created on allocation
nor deleted on deallocation.
Resolve to the ultimate symbol and pass it on. Forwarding the resolved
symbol is required because the deallocation attach helpers independently
re-test the data clause flags.
This matches the rest of the OpenACC lowering, which already resolves
before reading these flags. Recipe names are unaffected because
mangleName resolves associations itself before mangling.
---------
Co-authored-by: Yebin Chon <ychon at nvidia.com>
Commit: fdc3afc4b6431038217136a04314e7fd90b24938
https://github.com/llvm/llvm-project/commit/fdc3afc4b6431038217136a04314e7fd90b24938
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[CI][Github] Bump premerge CI containers to LLVM 23 (#218818)
To ensure we're using the latest release version of clang and friends
for things like warnings.
Commit: c510577ad11d4c965076935b8fabf1dfe8c5703b
https://github.com/llvm/llvm-project/commit/c510577ad11d4c965076935b8fabf1dfe8c5703b
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
M clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu
Log Message:
-----------
[CIR][NVPTX] Lower unscoped __nvvm_atom_add_gen_{f,d} (#221262)
Commit: 0f893a574f99837ab961348126f7a3cb5b7e4553
https://github.com/llvm/llvm-project/commit/0f893a574f99837ab961348126f7a3cb5b7e4553
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
R llvm/test/CodeGen/Generic/bswap.ll
M llvm/test/Integer/2007-01-19-TruncSext.ll
M llvm/test/Transforms/LICM/2003-12-11-SinkingToPHI.ll
Log Message:
-----------
[LLVM] Remove run lines that use the lli interpreter
We eventually want to get rid of the lli interpreter, and it doesn't
seem to be doing anything useful in any of these tests.
1. 2007-01-19-TruncSext.ll - Seems to only be testing the interpreter.
2. 2003-12-11-SinkingToPHI.ll - Should be asserting output like all the
other Transforms tests.
3. bswap.ll - Doesn't even test what it purports to and the coverage is
redundant with target-specific bswap lowering tests.
Reviewers: arsenm, nikic
Pull Request: https://github.com/llvm/llvm-project/pull/220083
Commit: 5445a88935120d016d28d79bab58e612da5c8c5d
https://github.com/llvm/llvm-project/commit/5445a88935120d016d28d79bab58e612da5c8c5d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/test/CodeGen/Mips/fp-contract.ll
Log Message:
-----------
Mips: Drop use of AllowFPOpFusion (#221324)
Commit: 6bc35bba316a61c71b8b0adf817d7458d060d5e0
https://github.com/llvm/llvm-project/commit/6bc35bba316a61c71b8b0adf817d7458d060d5e0
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M orc-rt/test/unit/bedrock/SessionTest.cpp
Log Message:
-----------
[orc-rt] Fix -Wctad-maybe-unsupported warning in unit test. (#221399)
Avoid the warning by naming the mutex type on scoped_lock.
'std::scoped_lock' may not intend to support class template argument
deduction
Commit: d756ec0590cbc6ab39abcb492df1a340e226972b
https://github.com/llvm/llvm-project/commit/d756ec0590cbc6ab39abcb492df1a340e226972b
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M orc-rt/test/unit/support/ErrorExceptionInteropTest.cpp
Log Message:
-----------
[orc-rt] Check HandlerRan flag in unit test. (#221406)
Verifies that the expected catch handler ran, and eliminates an unused
variable warning.
Commit: bb625414d6ff12d8dba713b17562fa984de7e85c
https://github.com/llvm/llvm-project/commit/bb625414d6ff12d8dba713b17562fa984de7e85c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f32.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f64.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.v2f16.ll
Log Message:
-----------
AMDGPU: Drop AllowFPOpFusion from FMA formation (#221409)
Exclusively use the flags so AllowFPOpFusion can be removed.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 6a74483027ad46b641ba2b472e5c4429d2db56f4
https://github.com/llvm/llvm-project/commit/6a74483027ad46b641ba2b472e5c4429d2db56f4
Author: Hardik Kumar <hardikxk at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.cpp
Log Message:
-----------
[clang][amdgpu] resolve type mismatch warning in conditional comparison (#220526)
The following warning is generated because of a mismatch in the object
types.
```bash
/home/xane/Documents/shallowllvm/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp: In constructor ‘clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(const llvm::Triple&, const clang::TargetOptions&)’:
/home/xane/Documents/shallowllvm/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp:200:37: warning: enumerated mismatch in conditional expression: ‘llvm::AMDGPU::ArchFeatureKind’ vs ‘llvm::AMDGPU::R600FeatureKind’ [-Wenum-compare]
200 | GPUFeatures(Triple.isAMDGCN() ? llvm::AMDGPU::FEATURE_NONE
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
201 | : llvm::AMDGPU::getArchAttrR600(GPUKind)) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[1/166] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenPGO.cpp.o^C
```
The type of `GpuFeatures` and return value of `getArchAttrR600()` is
ultimately an `unsigned` int value. Static cast the return value of the
method to `unsigned` to resolve the warning without any functional or
breaking changes.
Signed-off-by: Hardik Kumar <hardikxk at gmail.com>
Commit: 8117819e5593ec3d69a5af3f2197e1eab55e20c1
https://github.com/llvm/llvm-project/commit/8117819e5593ec3d69a5af3f2197e1eab55e20c1
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/test/CIR/IR/enum-attrs.cir
Log Message:
-----------
[CIR] Migrate MemOrder and SyncScopeKind off IntegerAttr (#220884)
MemOrder and SyncScopeKind, the enums the atomic operations share,
generated
IntegerAttr subclasses with no dialect spelling of their own.
Both now set genSpecializedAttr = 0 and gain CIR_EnumAttr wrappers,
spelling
`#cir.mem_order<seq_cst>` and `#cir.sync_scope<system>`, and the atomic
operations wrap their arguments in `enum()` to keep the bare keyword.
Commit: 60b5f9a06722dfc2c2e0661f0dedf52d60bcaddf
https://github.com/llvm/llvm-project/commit/60b5f9a06722dfc2c2e0661f0dedf52d60bcaddf
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/test/Transforms/LoopUnroll/unloop.ll
M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch3.ll
M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/guards.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-select.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch-loop-and-block-dispositions.ll
M llvm/test/Transforms/SimpleLoopUnswitch/update-scev-3.ll
M llvm/unittests/Analysis/LoopInfoTest.cpp
Log Message:
-----------
[LoopInfo] Add recompute() and use it in SimpleLoopUnswitch (#213514)
recomputeLoopBlockSet and rebuildLoopAfterUnswitch reconstruct by hand
with significant complexity, but analyze() cannot replace them: it
allocates a fresh Loop for every header, while ScalarEvolution stores
the loop pointer in every AddRec, the loop analysis manager keys its
cache on it, and the pass manager hands the running pass a `Loop &`.
Add LoopInfoBase::recompute, which reruns the analysis over the current
CFG but refills the loop each header already had.
Block lists now come out in the analysis's canonical order rather than
the original order filtered, renumbering cloned blocks in eight
SimpleLoopUnswitch tests.
Aided by Claude Opus 5
Commit: 88280062751dd6f21edd223cdf59448a9b972d66
https://github.com/llvm/llvm-project/commit/88280062751dd6f21edd223cdf59448a9b972d66
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
DAGCombiner: Drop AllowFPOpFusion from isContractableFMUL (#221410)
This is a step toward removing the AllowFPOpFusion field from
TargetOptions.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 8d8535e9846d2ff035aae345eda3a30aa24fe36e
https://github.com/llvm/llvm-project/commit/8d8535e9846d2ff035aae345eda3a30aa24fe36e
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
Log Message:
-----------
[clang-tidy][NFC] Disable misc-include-cleaner check (#221417)
This checks seem to give too many FP, disabling it for now.
E.g. it wants to always remove `SmallString.h` even if the header is
actually needed.
Commit: 314fef96ab5940ec3a261237f81e00c3136fcf3e
https://github.com/llvm/llvm-project/commit/314fef96ab5940ec3a261237f81e00c3136fcf3e
Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization/insert-slice.mlir
Log Message:
-----------
[mlir][linalg] Support non-trailing dropped dims when vectorizing rank-reducing `InsertSliceOp` (#219192)
`vectorizeAsInsertSliceOp` inferred a dynamic source dim's vector size
from `resultType.getDimSize(rankDiff + i)`, which only covers the case
where the rank-reducing dims dropped from `resultType` are the leading
ones and `source` maps to the trailing result dims.
Generalize this to the general case, where a dropped unit dim can be
anywhere, by using `sliceOp.getDroppedDims()` to map each source dim to
its actual corresponding (non-dropped) result dim.
Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Commit: 2d9e9a3268663f36c0e4037eb6ae5e4312d3e2e0
https://github.com/llvm/llvm-project/commit/2d9e9a3268663f36c0e4037eb6ae5e4312d3e2e0
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/test/CIR/IR/enum-attrs.cir
Log Message:
-----------
[CIR] Migrate AssumeBundleKind, AtomicFetchKind and AsmFlavor off IntegerAttr (#220885)
AssumeBundleKind, AtomicFetchKind and AsmFlavor generated IntegerAttr
subclasses with no dialect spelling of their own. Each now sets
genSpecializedAttr = 0 and gains a CIR_EnumAttr wrapper.
Unlike the other CIR operation enums, these three are reached through
hand-written parsers and printers, so they needed checking individually.
cir.atomic.fetch references $binop declaratively and gains an `enum()`
wrapper. The other two need no change, since printAssumeBundle is
already
typed on cir::AssumeBundleKindAttr and InlineAsmOp::print streams the
enum
rather than the attribute.
Operation syntax is unchanged.
Commit: 71d23be772c5db28ad768884c8c92c9df54c8233
https://github.com/llvm/llvm-project/commit/71d23be772c5db28ad768884c8c92c9df54c8233
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseToUnderlyingCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix some clang-tidy violations after bump to 23 version (#221420)
Commit: 4977a0c815c39fd90bb67c270174f2356ee9b5a7
https://github.com/llvm/llvm-project/commit/4977a0c815c39fd90bb67c270174f2356ee9b5a7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
Log Message:
-----------
AArch64: Drop AllowFPOpFusion from the MachineCombiner FMA conditions (#221404)
Only use the flags, and add missing tests for a missing flag on only
one of the participating instructions. This is a step toward removing
the AllowFPOpFusion field from TargetOptions.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: ca7909df49541193c7e680554865082071252d35
https://github.com/llvm/llvm-project/commit/ca7909df49541193c7e680554865082071252d35
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/test/CIR/IR/enum-attrs.cir
Log Message:
-----------
[CIR] Migrate GlobalLinkageKind, CallingConv and SideEffect off IntegerAttr (#220887)
GlobalLinkageKind, CallingConv and SideEffect generated IntegerAttr
subclasses with no dialect spelling of their own. Each now sets
genSpecializedAttr = 0 and gains a CIR_EnumAttr wrapper, and cir.global
wraps
$linkage in `enum()`. GlobalLinkageKind spells `#cir.linkage<internal>`,
dropping both the `global_` prefix and the `_kind` suffix.
cir.func and cir.call print all three by hand, but they stream
stringifyGlobalLinkageKind(getLinkage()) and friends, which take the
enum
rather than the attribute, so those sites are unchanged.
Operation syntax is unchanged.
Commit: 49a9f5094b5c1d655072f03b337a137e4a1aad4e
https://github.com/llvm/llvm-project/commit/49a9f5094b5c1d655072f03b337a137e4a1aad4e
Author: ZERICO2005 <zerico2005 at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/fp-const-fold.ll
M llvm/test/CodeGen/AArch64/literal_pools_float_apple.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-e5m3fnu.ll
M llvm/test/CodeGen/AMDGPU/fmaxnum.ll
M llvm/test/CodeGen/AMDGPU/fmaxnum.r600.ll
M llvm/test/CodeGen/AMDGPU/fminnum.ll
M llvm/test/CodeGen/AMDGPU/fminnum.r600.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/frexp-constant-fold.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.r600.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/jump-address.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/modf-constant-fold.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
M llvm/test/CodeGen/AMDGPU/regalloc-spill-wmma-scale.ll
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
M llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll
M llvm/test/CodeGen/AMDGPU/si-spill-cf.ll
M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
M llvm/test/CodeGen/AMDGPU/vector-legalizer-divergence.ll
M llvm/test/CodeGen/ARM/2012-04-24-SplitEHCriticalEdge.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MaxLod.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MinLod.ll
M llvm/test/CodeGen/Hexagon/pull-no-comp-code.ll
M llvm/test/CodeGen/RISCV/combine-is_fpclass.ll
M llvm/test/CodeGen/RISCV/double-zfa.ll
M llvm/test/CodeGen/RISCV/float-zfa.ll
M llvm/test/CodeGen/SPIRV/debug-info/no-misplaced-opextinst.ll
M llvm/test/CodeGen/SPIRV/literals.ll
M llvm/test/CodeGen/VE/Scalar/fsqrt.ll
M llvm/test/CodeGen/WebAssembly/immediates.ll
M llvm/test/CodeGen/X86/coff-fp-section-name.ll
M llvm/test/CodeGen/X86/extract-vselect-setcc.ll
M llvm/test/CodeGen/X86/fp-undef.ll
M llvm/test/CodeGen/X86/pr50374.ll
M llvm/test/CodeGen/X86/setcc.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
M llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
M llvm/test/Transforms/Attributor/nofpclass-fmul.ll
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
M llvm/test/Transforms/Attributor/nofpclass-select.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/no-sink-addrspacecast.ll
M llvm/test/Transforms/EarlyCSE/atan.ll
M llvm/test/Transforms/FunctionAttrs/nofpclass.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/InstCombine/2009-01-19-fmod-constant-float-specials.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
M llvm/test/Transforms/InstCombine/AMDGPU/fmed3.ll
M llvm/test/Transforms/InstCombine/X86/x86-fp-minmax-negzero.ll
M llvm/test/Transforms/InstCombine/X86/x86-scalar-max-min.ll
M llvm/test/Transforms/InstCombine/constant-fold-nextafter.ll
M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-fp128.ll
M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-ppc-fp128.ll
M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-x86-fp80.ll
M llvm/test/Transforms/InstCombine/erf.ll
M llvm/test/Transforms/InstCombine/fcmp-range-check-idiom.ll
M llvm/test/Transforms/InstCombine/fdim.ll
M llvm/test/Transforms/InstCombine/fma.ll
M llvm/test/Transforms/InstCombine/fmod.ll
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/frexp.ll
M llvm/test/Transforms/InstCombine/ilogb.ll
M llvm/test/Transforms/InstCombine/intrinsic-select.ll
M llvm/test/Transforms/InstCombine/is_fpclass.ll
M llvm/test/Transforms/InstCombine/log1p.ll
M llvm/test/Transforms/InstCombine/logb.ll
M llvm/test/Transforms/InstCombine/maximum.ll
M llvm/test/Transforms/InstCombine/maxnum.ll
M llvm/test/Transforms/InstCombine/minimum.ll
M llvm/test/Transforms/InstCombine/minnum.ll
M llvm/test/Transforms/InstCombine/nanless-canonicalize-combine.ll
M llvm/test/Transforms/InstCombine/pow-exp.ll
M llvm/test/Transforms/InstCombine/remquo.ll
M llvm/test/Transforms/InstCombine/select-fcmp-fmul-zero-absorbing-value.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-aggregates.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/cos.ll
M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/fract.ll
M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/sin.ll
M llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/trunc.ll
M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
M llvm/test/Transforms/InstSimplify/ConstProp/basictest.ll
M llvm/test/Transforms/InstSimplify/ConstProp/fma.ll
M llvm/test/Transforms/InstSimplify/ConstProp/fp-undef.ll
M llvm/test/Transforms/InstSimplify/ConstProp/min-max.ll
M llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
M llvm/test/Transforms/InstSimplify/X86/fp-nan-strictfp.ll
M llvm/test/Transforms/InstSimplify/call.ll
M llvm/test/Transforms/InstSimplify/canonicalize.ll
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-f2i-d2i.ll
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-f2ll-d2ll.ll
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-fma.ll
M llvm/test/Transforms/InstSimplify/constfold-constrained.ll
M llvm/test/Transforms/InstSimplify/exp10.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
M llvm/test/Transforms/InstSimplify/fp-nan.ll
M llvm/test/Transforms/InstSimplify/fp-undef-poison.ll
M llvm/test/Transforms/InstSimplify/fptoi-sat.ll
M llvm/test/Transforms/InstSimplify/pr122582.ll
M llvm/test/Transforms/InstSimplify/sincos.ll
M llvm/test/Transforms/InstSimplify/strictfp-fadd.ll
M llvm/test/Transforms/LoopVectorize/select-last-index-fp.ll
M llvm/test/Transforms/SCCP/float-nan-simplification.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-inst-reduction-attempt.ll
M llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
M llvm/test/Transforms/SimplifyCFG/ARM/speculate-math.ll
M llvm/test/Transforms/SimplifyCFG/speculate-math.ll
M llvm/test/Transforms/Util/libcalls-shrinkwrap-strictfp.ll
M llvm/test/tools/llubi/fp_cast.ll
M llvm/test/tools/llubi/fp_nan_quieting.ll
M llvm/test/tools/llubi/fp_nan_target_specific_sparc.ll
M llvm/test/tools/llubi/fp_nan_target_specific_wasm32.ll
M llvm/test/tools/llubi/fp_nan_unchanged.ll
M llvm/test/tools/llubi/intr_fp_vector_reduce.ll
M llvm/test/tools/llvm-reduce/reduce-operands-fp.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[llvm][NFC] canonicalize qnan hexadecimal literals to +-qnan (#221379)
Follow up to https://github.com/llvm/llvm-project/pull/221019 and
https://github.com/llvm/llvm-project/pull/221056
Replaces the literal for `qNaN` `0x7FF8000000000000` with the canonical
form of `+qnan` and etc.
Ignored files
```
llvm/docs/LangRef.md
llvm/lib/Target/AMDGPU/SIISelLowering.cpp
llvm/test/CodeGen/AArch64/GlobalISel/combine-fminimum-fmaximum.mir
llvm/test/CodeGen/AArch64/GlobalISel/combine-fminnum-fmaxnum.mir
llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
llvm/test/CodeGen/X86/canonicalize-vars.ll
llvm/test/CodeGen/X86/is_fpclass.ll
llvm/test/tools/llubi/fp_nan_preferred.ll
llvm/test/tools/llubi/fp_nan_target_specific_x86_64_linux.ll
llvm/test/Transforms/ExpandIRInsts/AMDGPU/frem-inf.ll
```
Commands
```sh
rg -l -0 ' 0x7FF8000000000000\b' llvm \
| xargs -0 perl -pi -e 's/ 0x7FF8000000000000\b/ +qnan/g'
rg -l -0 ' 0x7ff8000000000000\b' llvm \
| xargs -0 perl -pi -e 's/ 0x7ff8000000000000\b/ +qnan/g'
rg -l -0 ' 0xFFF8000000000000\b' llvm \
| xargs -0 perl -pi -e 's/ 0xFFF8000000000000\b/ -qnan/g'
rg -l -0 ' 0xfff8000000000000\b' llvm \
| xargs -0 perl -pi -e 's/ 0xfff8000000000000\b/ -qnan/g'
```
Commit: d03e9438467affde7ba69ac2f61ff4885b4055b0
https://github.com/llvm/llvm-project/commit/d03e9438467affde7ba69ac2f61ff4885b4055b0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extract-with-poison-index.ll
Log Message:
-----------
[SLP]Fix crash on extractelement with undef/poison index in getEntryCost
canReuseExtract treats undef/poison-index extracts as holes, so such
extracts can end up in a vectorized ExtractElement entry. The cost
model dereferenced getExtractIndex() unconditionally, causing a crash.
Fixes #221414
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221437
Commit: 06c952dbbcdab5cbc16e7a0251ba3b4266dd21f1
https://github.com/llvm/llvm-project/commit/06c952dbbcdab5cbc16e7a0251ba3b4266dd21f1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
Log Message:
-----------
[SLP][NFC]Add a test with loop-carried reductions, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221438
Commit: 229aa7df428338dcbbae03514aaae74c916f485f
https://github.com/llvm/llvm-project/commit/229aa7df428338dcbbae03514aaae74c916f485f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/TargetOptionsImpl.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/ARC/ARCFrameLowering.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/CSKY/CSKYFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/M68k/M68kFrameLowering.cpp
M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
M llvm/lib/Target/Mips/MipsFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
M llvm/lib/Target/Sparc/SparcFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/VE/VEFrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
Log Message:
-----------
CodeGen: Move frame-pointer queries out of TargetOptions (#221416)
These used to depend on a TargetOptions field, which was removed
at some point. These are now only depend on MachineFunction,
so move the attribute check there.
Co-authored-by: Claude (Claude-Opus-4.8)
Commit: 5cba2fc3ee234ccf5e6e55c2007ddbfb6b73ff54
https://github.com/llvm/llvm-project/commit/5cba2fc3ee234ccf5e6e55c2007ddbfb6b73ff54
Author: Tadeusz <tadeuszjt at protonmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaAvailability.cpp
M clang/test/SemaCXX/attr-availability.cpp
Log Message:
-----------
[Clang] Fix Crash in Sema::DiagnoseUnguardedAvailability On 'if' With No Condition (#220004)
**Problem**
C++ 23 introduced consteval expressions which allows `if` statements to
have no condition:
```
if consteval {
}
```
`DiagnoseUnguardedAvailability::TraverseIfStmt` Assumed `If->getCond()`
would never return a `nullptr`, causing a `nullptr` dereference.
Fixes #219948
Commit: 24a7afb3dd66dc618afc8aaa0b7ac28cd878656d
https://github.com/llvm/llvm-project/commit/24a7afb3dd66dc618afc8aaa0b7ac28cd878656d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/clmul-vector-256.ll
M llvm/test/CodeGen/X86/clmul-vector-512.ll
M llvm/test/CodeGen/X86/clmul-vector.ll
M llvm/test/CodeGen/X86/pdep-vector-128.ll
M llvm/test/CodeGen/X86/pdep-vector-256.ll
M llvm/test/CodeGen/X86/pdep-vector-512.ll
M llvm/test/CodeGen/X86/pext-vector-128.ll
M llvm/test/CodeGen/X86/pext-vector-256.ll
M llvm/test/CodeGen/X86/pext-vector-512.ll
M llvm/test/CodeGen/X86/znver-pdep.ll
M llvm/test/CodeGen/X86/znver-pext.ll
Log Message:
-----------
[X86] LowerCLMUL - improve vXi32 codegen (#221289)
Shuffle combining is struggling to handle the mixture of vector
unrolling, truncations and optimal use of PCLMULQDQ swizzles, this patch
gives us more optimal lowering direct instead of relying on fixup.
Use the PCLMULQDQ lo/hi control immediate to handle anyext i64 element
evaluation - along with shifting the upper elements down to the lowest
bits of the i64 in parallel
Use UNPACK build vector pattern to avoid FPR<->GPR traffic
CLMULH needs to be handled in a future patch, and vXi16 /might/ be worth
handling as well.
Commit: 6d139a63345e1f761707f45a3086e1846c58cc06
https://github.com/llvm/llvm-project/commit/6d139a63345e1f761707f45a3086e1846c58cc06
Author: Yongqiang Tian <41743566+yqtian-se at users.noreply.github.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
A llvm/test/CodeGen/LoongArch/merge-base-offset-debug-only.mir
A llvm/test/CodeGen/LoongArch/merge-base-offset-debug-use.ll
A llvm/test/CodeGen/RISCV/merge-base-offset-debug-only.mir
A llvm/test/CodeGen/RISCV/merge-base-offset-debug-use.ll
Log Message:
-----------
[LoongArch][RISCV] Ignore debug uses when merging base offsets (#221117)
## Summary
Debug instructions are currently enumerated as ordinary users by the RISC-V
and LoongArch merge-base-offset passes. A `DBG_VALUE` can therefore veto an
otherwise valid fold and make `-g` add an ordinary address-calculation
instruction.
Use the non-debug instruction iterator for validation and rewriting, and make
affected debug values unavailable before changing the address represented by
the destination register. Also handle the case where the register has no
ordinary users, which becomes possible after debug uses are excluded.
The same change is applied to both targets because their implementations and
failure mode are equivalent.
## Testing
- `ninja check-llvm-codegen-riscv` (2662 tests passed)
- `ninja check-llvm-codegen-loongarch` (949 tests passed)
Fixes #221109
AI disclosure: This patch was developed with OpenAI Codex 5.6 Sol and
co-reviewed by Claude and Yongqiang Tian.
Commit: 0c94a978df783bd67535350eac84088fc482716a
https://github.com/llvm/llvm-project/commit/0c94a978df783bd67535350eac84088fc482716a
Author: A. Jiang <de34 at live.cn>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M libcxx/include/__concepts/common_with.h
Log Message:
-----------
[libc++][NFC] Avoid empty namespace in `<__concepts/common_with.h>` (#221407)
...in pre-C++20 modes. This fixes complaining from clang-tidy checks in
CI.
Commit: 29fda2c4ecca4520526656893c36d738fbc78348
https://github.com/llvm/llvm-project/commit/29fda2c4ecca4520526656893c36d738fbc78348
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/ARMPredicates.td
M llvm/test/CodeGen/ARM/cortex-a57-misched-vfma.ll
M llvm/test/CodeGen/ARM/fp16-fusedMAC.ll
M llvm/test/CodeGen/ARM/fusedMAC.ll
Log Message:
-----------
ARM: Form fused VFMA/VFMS from the contract flag (#221340)
Select the fused VFMA/VFMS/VFNMA/VFNMS from the per-node contract
fast-math flag instead of the global AllowFPOpFusion == Fast. This is one of the
few remaining consumers of the TargetOption field.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 0664fb13c0dd34fd3d041a5d2610650945518e02
https://github.com/llvm/llvm-project/commit/0664fb13c0dd34fd3d041a5d2610650945518e02
Author: Nikhil Kotikalapudi <nak00001 at outlook.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
Log Message:
-----------
[CodeGen] Use RegisterClassInfo for remaining allocation-order users (#216510)
Greedy already uses RegisterClassInfo for the function-specific
allocation order (reserved registers filtered, CSRs deferred). Remaining
users still walked TRI's raw order or rebuilt RCI themselves.
Uses RCI.getOrder() everywhere that list is needed (PBQP, Hexagon
spill-slot search*, ARM load/store opt, AMDGPU AGPR-copy MFMA rewrite).
Takes the shared analysis when the pass can preserve it; otherwise keep
a
local RCI after freezeReservedRegs().
Hexagon findPhysReg no longer considers reserved registers.
**Note:** Initially had register scavenger use RCI.getOrder() for
function specific scratch reg allocation, but due to test failures and
the extra loops needed as fallbacks to fix this, this change ends up
likely being outside the scope of this PR so I removed it.
**Another note:** \*Hexagon changes removed from this PR, split into
#216752
Commit: 698428e5a786b5cb792a0f3f39a3de587c5e00dc
https://github.com/llvm/llvm-project/commit/698428e5a786b5cb792a0f3f39a3de587c5e00dc
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
Log Message:
-----------
[Analysis] Remove dead WriteDOTGraphToFile (NFC) (#221413)
The last callers were migrated to DOTGraphTraitsPrinter on May 16, 2022
in commit 7dce9eb6e507d48d0b79bfb408592936d378cc28.
Assisted-by: Antigravity
Commit: e1474e57522c4188d3a5a06921c1199210f1c3e1
https://github.com/llvm/llvm-project/commit/e1474e57522c4188d3a5a06921c1199210f1c3e1
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/PreambleTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
Log Message:
-----------
[clang-tools-extra][NFC] Fix -Wunused-template violations (#221427)
These cause build errors in
https://github.com/llvm/llvm-project/actions/runs/33952646467/job/101270176288.
Commit: 1b14859d3cd691be104aec3f6c9a51bd658f58a7
https://github.com/llvm/llvm-project/commit/1b14859d3cd691be104aec3f6c9a51bd658f58a7
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR][NFC] Use declarative llvmOp lowering for coroutine intrinsics (#221343)
This PR switches the coroutine intrinsic ops (`cir.coro.intrinsic.id`,
`.alloc`, `.begin`, `.end`, `.free`, `.size`) to use the declarative
`llvmOp` field instead of hand-written lowering patterns.
Commit: 5eef528a2d59cda218b99b7bfcf70b625488e5aa
https://github.com/llvm/llvm-project/commit/5eef528a2d59cda218b99b7bfcf70b625488e5aa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
A llvm/test/CodeGen/AMDGPU/codegen-no-subarch-warn.ll
Log Message:
-----------
AMDGPU: Warn if trying to codegen without a subarch (#220245)
Warn if using the legacy amdgcn name, or amdgpu without a
specified subarch. This is to push all the non-clang frontends
to update to the new system, but this should turn into an error
in the next release.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Commit: 9306a82aafb3ba11ec14cdcde1dbb4618d4256ba
https://github.com/llvm/llvm-project/commit/9306a82aafb3ba11ec14cdcde1dbb4618d4256ba
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/test/CodeGen/DirectX/countbits.ll
R llvm/test/CodeGen/DirectX/legalize-i64-high-low-vec-split.ll
A llvm/test/Transforms/Scalarizer/bitcast-scalar-to-vector.ll
A llvm/test/Transforms/Scalarizer/bitcast-vector-to-scalar.ll
Log Message:
-----------
[Scalarizer][DirectX] Teach the Scalarizer to handle integer bitcasts between scalars and vectors. (#221033)
Fixes #219327
For vector-to-scalar bitcasts, combine the scalarized vector elements
using
extensions, shifts, and ORs. This avoids reconstructing an illegal
vector before
bitcasting it to a scalar. In particular, this fixes the `<2 x i16> ->
i32`
bitcast generated while lowering 16-bit vector `countbits`.
Also move the existing `i64 -> <2 x i32>` legalization from the DirectX
legalizer into the generic Scalarizer. The Scalarizer now splits these
values
using shifts and truncations while respecting target endianness.
With both bitcast directions handled by the Scalarizer, remove
`legalizeGetHighLowi64Bytes` from the DirectX legalizer and move
`downcastI64toI32InsertExtractElements` back into the first legalization
stage.
Add generic Scalarizer coverage for both little- and big-endian targets,
and
DirectX regression coverage for the 16-bit `countbits` case.
Commit: 338e0c94943a6fb917c276bbbd9ff4b6cd6dd71e
https://github.com/llvm/llvm-project/commit/338e0c94943a6fb917c276bbbd9ff4b6cd6dd71e
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILWriter/CMakeLists.txt
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.h
A llvm/lib/Target/DirectX/DXILWriter/DXILDebugInfoMap.cpp
A llvm/lib/Target/DirectX/DXILWriter/DXILDebugInfoMap.h
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/DebugInfo/dbg-assign.ll
M llvm/test/CodeGen/DirectX/DebugInfo/dbg-declare-undef.ll
M llvm/test/CodeGen/DirectX/DebugInfo/dbg-value-arglist.ll
M llvm/test/CodeGen/DirectX/DebugInfo/dbg-value.ll
M llvm/test/CodeGen/DirectX/DebugInfo/debug-info.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-commonblock.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit-versioned-language.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-globalvariable.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-label.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-subprogram.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-subrangetype.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Refactor DXILDebugInfo into a pass (#220989)
resolves #220323
DXILDebugInfo was structured as a namespace
with its pass chained to run as part of either
the DXILBitcodeWriter or DXILPrettyPrinter passes.
This is wrong and led to us failing expensive checks because
DXILDebugInfo changes IR but the writers are not expected to do so.
The fix was two fold, move the DXILDebugInfo into a pass. Second,
Refactor all the module debug info reader\writer code out of
DXILDebugInfo and into DXILDebugInfoMap which is used by both the
PrettyPrinter and the BitCodeWriter and move that code into the
DXILWriter compilation module since it is only used by the writers.
Commit: fd399c1924d7ae281f3ae676827891dcbec13ef8
https://github.com/llvm/llvm-project/commit/fd399c1924d7ae281f3ae676827891dcbec13ef8
Author: robertvirany <robertvirany at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.f32.ll
A llvm/test/CodeGen/AMDGPU/copy_phys_vgpr.mir
R llvm/test/CodeGen/AMDGPU/copy_phys_vgpr64.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
Log Message:
-----------
[AMDGPU] Extend wide VGPR copy expansion to 96-bit copies (#214561)
Extend physical VGPR copy expansion to handle 96-bit copies using one
64-bit move and one 32-bit move when `V_MOV_B64_e32` is available.
The move order accounts for overlapping source and destination
registers. SGPR-to-VGPR copies are also supported, matching the existing
support for copies whose sizes are multiples of 64 bits.
The first commit precommits regression coverage for non-overlapping,
forward-overlapping, and backward-overlapping copies.
Commit: ccf1638181ea84dcda977b02907a9b020c8d5c2c
https://github.com/llvm/llvm-project/commit/ccf1638181ea84dcda977b02907a9b020c8d5c2c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/lib/CodeGenTypes/LowLevelType.cpp
Log Message:
-----------
[CodeGenTypes] Make LLT::ExtendedLLT atomic (#219546)
Commit: 8aec646ab0878b80b2d5b62ecaeeece7bfb54fbf
https://github.com/llvm/llvm-project/commit/8aec646ab0878b80b2d5b62ecaeeece7bfb54fbf
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
Log Message:
-----------
[RegAllocFast] Document the allocation algorithm. NFC (#219835)
Add a file-level overview: block-local allocation, a stack slot for
every value crossing a block boundary, no liveness analysis or coalescing,
and a backward walk where uses acquire registers and defs release them.
Correct two stale claims: RegUnitStates is indexed by register unit, not
by physical register, and allocateInstruction() runs eight phases rather
than the two its comment described.
Drop a redundant local in reloadAtBegin(), and assert the def operand
that isTiedToNotUndef() documents.
Aided by Opus 5
Commit: 2fb12bca76c52d8e0bbb838017820ee58a395293
https://github.com/llvm/llvm-project/commit/2fb12bca76c52d8e0bbb838017820ee58a395293
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M mlir/tools/mlir-tblgen/DialectGen.cpp
Log Message:
-----------
[mlir][tblgen] Prune unused filterForDialect template [-Wunused-template] (#221422)
`filterForDialect` lost its last caller in 4957518ef57f (May 2022) and
has been dead since. It is a static file-scope function template, so
`-Wunused-template` flags it and `-Werror` builds fail. Removing it also
orphans the `DialectFilterIterator` alias and the `llvm::Record`
using-declaration, which nothing else references, so this drops all
three.
Co-authored-by: Henrich Lauko <hlauko at nvidia.com>
Commit: b30b65a17fe7187d0ace75a9fe5a03f08f6eeeba
https://github.com/llvm/llvm-project/commit/b30b65a17fe7187d0ace75a9fe5a03f08f6eeeba
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI][Github] Hash-pin AArch64 CI image (#221475)
Otherwise we end up picking up the latest version of the image that uses
clang 23 which causes issues. This also is security best practice as
described in our security best practices doc.
Fixes #221470.
Commit: 3cc64232bf12057ee0564ea019d67ee6b02d92eb
https://github.com/llvm/llvm-project/commit/3cc64232bf12057ee0564ea019d67ee6b02d92eb
Author: Pablo Reble <pablo.reble at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/AMDGPU/inst-count-heuristic.ll
Log Message:
-----------
[SLP][AMDGPU][NFC] Remove unreachable GFX940/GFX941 checks (#220745)
`inst-count-heuristic.ll` only runs
`-check-prefix=GFX950/GFX942/GFX906;` the `GFX941/GFX940 CHECK` blocks
had no matching `RUN` line and were never executed.
Commit: 8f270bce39c674432d5dd06de82b87c70b1eb2b8
https://github.com/llvm/llvm-project/commit/8f270bce39c674432d5dd06de82b87c70b1eb2b8
Author: ZERICO2005 <zerico2005 at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass-bitcast-int-to-fp.ll
Log Message:
-----------
[KnownFPClass] Add regression tests for #174869 (#220279)
This PR just adds regression tests for
https://github.com/llvm/llvm-project/issues/174869
Otherwise, the original issue was fixed by
https://github.com/llvm/llvm-project/pull/215708 for
`APFloat::isIEEELikeFP` types (bfloat16, and ieee16/32/64/128).
Commit: 3daf50547d3866f8ddaf1de91d4670fd4372698b
https://github.com/llvm/llvm-project/commit/3daf50547d3866f8ddaf1de91d4670fd4372698b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/docs/MemProf.md
Log Message:
-----------
[MemProf][Docs] Add more information on static data partitioning (#220446)
Clarify some sentences that I found hard to parse. Also update the docs
now that a linker script is no longer required.
Commit: f98cf8e0255eb497b7e4a5852a2e36f6b42c1a53
https://github.com/llvm/llvm-project/commit/f98cf8e0255eb497b7e4a5852a2e36f6b42c1a53
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/select-undef.ll
Log Message:
-----------
[AMDGPU] Freeze select condition before splitting into two halves (#219942)
Commit: 2e4ad2ff2ff636c7c8fc8637e4696d9517019d52
https://github.com/llvm/llvm-project/commit/2e4ad2ff2ff636c7c8fc8637e4696d9517019d52
Author: Stan Ulbrych <stan at python.org>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/docs/CodeReview.rst
Log Message:
-----------
[docs] Fix a broken link in the 'Non-Experts Should Review Code' section (#221461)
Commit: b04639f6e15f08cd4ef255dac763786cdad555b8
https://github.com/llvm/llvm-project/commit/b04639f6e15f08cd4ef255dac763786cdad555b8
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-target-fuzzer/target.dict
Log Message:
-----------
[lldb] Add a fuzzing dictionary for lldb-target-fuzzer (#221348)
target.dict gives the mutator the magic bytes and required keys for
every object file format. Without a seed dictionary, blind mutation
essentially never lands the exact multi-byte magic these formats gate
on.
Assisted-by: claude
Commit: 03de3d1299bffd3a2829da92b28875142d8ad944
https://github.com/llvm/llvm-project/commit/03de3d1299bffd3a2829da92b28875142d8ad944
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/include/llvm/Support/LSP/Transport.h
M llvm/unittests/Support/LSP/Transport.cpp
Log Message:
-----------
[Support] Fix -Wunused-template from debugString
This is not used in the header (outside of a non-instantiated template),
so triggers -Wunused-template. Move it into the class definition to
prevent this without adding any namespace pollution.
Reviewers: MaskRay, kazutakahirata
Pull Request: https://github.com/llvm/llvm-project/pull/221478
Commit: 45b1e622ab5a917fcdb339c3f97dd64718b51341
https://github.com/llvm/llvm-project/commit/45b1e622ab5a917fcdb339c3f97dd64718b51341
Author: Vito Kortbeek <vito.kortbeek at globalfoundries.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/TypePromotion.cpp
M llvm/test/Transforms/TypePromotion/ARM/casts.ll
Log Message:
-----------
[TypePromotion] Support trunc-to-i1 conditions (#216311)
InstCombine may rewrite `icmp ne (X & 1), 0` to `trunc X to i1`
(#178977). Start TypePromotion searches from operands of scalar
trunc-to-i1 instructions, treating the trunc as a boolean boundary
without promoting its result or traversing its users.
Assisted-by: AI
Commit: f42c87ba2c70219b1f4ad1f031a5b6a1ea6603fb
https://github.com/llvm/llvm-project/commit/f42c87ba2c70219b1f4ad1f031a5b6a1ea6603fb
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-foldable-fneg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.ll
M llvm/test/CodeGen/AMDGPU/pv.ll
M llvm/test/CodeGen/AMDGPU/select-flags-to-fmin-fmax.ll
Log Message:
-----------
[AMDGPU] Fix legacy fmin/fmax combines to preserve NaN and zero ties (#220519)
Commit: 94cb123a68a133ddcc1f7492a6a760f50c4d771e
https://github.com/llvm/llvm-project/commit/94cb123a68a133ddcc1f7492a6a760f50c4d771e
Author: Dave MacLachlan <dmaclach at gmail.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Log Message:
-----------
[include-cleaner] Support Objective-C literals and boxed expressions in WalkAST (#216201)
This change adds AST visitors for ObjCBoxedExpr, ObjCArrayLiteral,
ObjCDictionaryLiteral, and ObjCStringLiteral. This ensures that the
underlying class interfaces (such as NSNumber, NSArray, NSDictionary,
and NSString) and any associated categories used for these literals are
correctly reported as referenced. Unit tests are included to verify the
new behavior.
Commit: 5115f32500a8977da758a268fc818872c6d4ee02
https://github.com/llvm/llvm-project/commit/5115f32500a8977da758a268fc818872c6d4ee02
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
A llvm/test/Transforms/LoopVectorize/VPlan/execution-frequencies-match-bfi.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-branch-weights.ll
M llvm/test/Transforms/LoopVectorize/replicate-region-branch-weights.ll
Log Message:
-----------
[VPlan] Preserve branch weights from VPlan0 through to codegen. (#213143)
This patch adds support for carrying through branch weights from the
original scalar loop through VPlan.
The flow is as follows:
1. On the scalar VPlan, we import the branch weights from the existing
IR branches and add them as !prof metadata to VPInstruction terminators
2. The predicator dissolves the control flow and each block will get
executed unconditionally. What remains are predicated recipes, with
their lanes executing with probability relative to the header. Compute
the executing probabilities as sum of probabilities of all incoming
edges.
3. Each masked recipe gets the execution probability attached as custom
!vplan.execution.frequency metadata
4. When creating replicate regions, a predicated recipe is replaced by
explicit control fold. The execution frequency from the recipe is
converted to profile metadata and added to the newly introduced
conditional branch as !prof.
5. During ::execute, !vplan.execution.frequency is ignored
One thing to note is that step 2 duplicates some logic from IR-based
branch probability info, but doing it natively VPlan allows this to work
with CFG introduced by VPlan itself.
This is an alternative to
https://github.com/llvm/llvm-project/pull/209309, which carried to
branch weights on VPBasicBlocks. This worked somewhat by accident for
replicate recipes: the predicator updates the CFG so all blocks execute
unconditionally, but preserved the execution probability. This is
incorrect at the VPlan level: the blocks execute unconditionally after
predication. It worked for the current use cases because replicate
regions are created before blocks are merged into their predecessors,
but is fragile and inaccurate. Carrying it explicitly across the
conditionally executed entities seems more accurate.
The new approach should work well with also carrying estimated BFI
in the same way, we just need to distinguish between real branch weigths
(which we carry through to codegen, and estimated weights, which don't
carry through to codegen).
And using the info for scalar cost computations on VPlan.
Commit: 419c22c908c97dac45d161ce56fa01b99ec7debf
https://github.com/llvm/llvm-project/commit/419c22c908c97dac45d161ce56fa01b99ec7debf
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[TableGen] Unique the remaining Init pools in a UniquingSet. NFC (#221394)
Follow-up to #219630. Every one of these keys is a handful of scalars,
pointers and trailing-object arrays already stored in the node, so a
typed key removes the FoldingSetNodeID serialization on every get() and
the profile rebuild on every hit.
llvm-tblgen instructions retired, minimum of five interleaved runs:
```
RISCV -gen-asm-matcher -3.492%
RISCV -gen-register-info -4.027%
X86 -gen-dag-isel -1.573%
AMDGPU -gen-subtarget -1.140%
```
Aided by Opus 5
Commit: 62e6fe8bbab320f2517c004e6087be489f3ecb88
https://github.com/llvm/llvm-project/commit/62e6fe8bbab320f2517c004e6087be489f3ecb88
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/include/llvm/SandboxIR/Context.h
M llvm/lib/SandboxIR/Context.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
Reapply "[SandboxIR] Callback registration now allows specifying order" (#221099)
This reverts commit f111407c0502851409a887c8e5dea4a3ec190d4e.
Should fix the sanitizer issue.
Commit: 012428c5e864d5e976638eb9e19ea207cd2cb829
https://github.com/llvm/llvm-project/commit/012428c5e864d5e976638eb9e19ea207cd2cb829
Author: Adam Scott <adamscott200322 at gmail.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/divrem-by-select.ll
M llvm/test/CodeGen/X86/masked-sdiv.ll
M llvm/test/CodeGen/X86/masked-srem.ll
M llvm/test/CodeGen/X86/masked-udiv.ll
M llvm/test/CodeGen/X86/masked-urem.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
A llvm/test/CodeGen/X86/vector-idiv-i64.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
M llvm/test/CodeGen/X86/vector-idiv-strictfp.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-512.ll
Log Message:
-----------
[X86] Lower i64 vector division and remainder through float division (#215043)
Follow up to #205263 which handled i8/i16/i32.
i64 needs a different algorithm because f64 cannot hold a 64 bit
quotient exactly. Instead of one divide the quotient is built from a
reciprocal and two rounded down multiplies plus a correction for the off
by one (https://sneller.ai/blog/avx512-int-div/). That needs the
directed rounding forms which only exist as 512 bit AVX512DQ
instructions, so the whole i64 path is gated on DQ and 512 bit types
being legal.
Operands that are provably narrow enough to fit the f64 mantissa skip
the chain entirely and take the same convert divide convert path as the
<=i32 case.
strictfp i64 uses the SAE forms the same way the <=i32 path does.
combineIntDivRem is now a small dispatcher over two helpers since the
two algorithms share only the setup. combineIntDivRemViaExactFPDiv is
the existing convert divide convert path and
combineIntDivRemViaFPReciprocal is the new chain.
Closes #214939
Commit: ad9259c18b15f1d2c35e2f8748afc7fd13c2e976
https://github.com/llvm/llvm-project/commit/ad9259c18b15f1d2c35e2f8748afc7fd13c2e976
Author: Dave MacLachlan <dmaclach at gmail.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Log Message:
-----------
[include-cleaner] Add WalkAST unit tests for Objective-C constructs (#220763)
Adds test coverage for walking AST nodes related to:
- Objective-C interface inheritance (`@interface Derived : Base`)
- Forward class and protocol declarations (`@class` and `@protocol`)
- Objective-C interface types used as function arguments
This is just to make sure that current code is covered. No new features.
Commit: bf085fa43725f4177f44b347aebeb69c96cb3800
https://github.com/llvm/llvm-project/commit/bf085fa43725f4177f44b347aebeb69c96cb3800
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Record.h
Log Message:
-----------
[clang][bytecode] Cache Is(Unnamed)BitFields bools in `Record::Field` (#221392)
We need to query those a lot and we can save them in the padding bytes
of `Record::Field`.
Commit: 72417eb739e5d66fd345c3cc9e2265b8a7949fe1
https://github.com/llvm/llvm-project/commit/72417eb739e5d66fd345c3cc9e2265b8a7949fe1
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/Xtensa/CMakeLists.txt
Log Message:
-----------
[Xtensa] Depend on CodeGenTypes to fix BUILD_SHARED_LIBS=on build (#221511)
Commit: 03ff69fd5f82a7607113b83e45bd3828842669e3
https://github.com/llvm/llvm-project/commit/03ff69fd5f82a7607113b83e45bd3828842669e3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Do pointer-to-bool convesions without classify() (#221516)
Commit: e16901ce359a3162aa1c1d071a73392077e22744
https://github.com/llvm/llvm-project/commit/e16901ce359a3162aa1c1d071a73392077e22744
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Use IsNonNull opcode in CXXNewExpr (#221515)
Instead of emitting a null pointer and checking that for equality.
Commit: 8e7fa6f756211dae0cc91221326faf1077e495b7
https://github.com/llvm/llvm-project/commit/8e7fa6f756211dae0cc91221326faf1077e495b7
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqciio-invalid.s
M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
M llvm/test/MC/RISCV/xqcilsm-invalid.s
Log Message:
-----------
[RISC-V] Use an optional offset for Xqc* instructions
Following up on the previous commits to remove unnecessary InstAlias.
This commit was prepared with the help of AI.
Reviewed By: lenary
Pull Request: https://github.com/llvm/llvm-project/pull/215002
Commit: 89b97e94043b3a0d6e83d3607c00c14a089470c9
https://github.com/llvm/llvm-project/commit/89b97e94043b3a0d6e83d3607c00c14a089470c9
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
M llvm/test/MC/RISCV/xwchc-valid.s
Log Message:
-----------
[RISC-V] Use an optional offset for Xwch instructions
Following up on the previous commits to remove unnecessary InstAlias.
This commit was prepared with the help of AI.
Reviewed By: lenary, ArcaneNibble
Pull Request: https://github.com/llvm/llvm-project/pull/215005
Commit: 116c6b570347e601bd0769b9354fca9f94f3a5fe
https://github.com/llvm/llvm-project/commit/116c6b570347e601bd0769b9354fca9f94f3a5fe
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/initializer_list.cpp
Log Message:
-----------
[clang][bytecode] Add missing condition scope to CXXForRangeStmt (#221520)
Fixes https://github.com/llvm/llvm-project/issues/221401
Commit: 509dc3826d40e931806f054725ed7bc0f3ba96af
https://github.com/llvm/llvm-project/commit/509dc3826d40e931806f054725ed7bc0f3ba96af
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCTargetOptions.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/tools/llc/llc.cpp
Log Message:
-----------
MC: Move BinutilsVersion from TargetOptions to MCTargetOptions (#221435)
Commit: a65eb8723eab7c35798a5349e8d739d2bb2c5ef8
https://github.com/llvm/llvm-project/commit/a65eb8723eab7c35798a5349e8d739d2bb2c5ef8
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
[mlir][scf] Fix WhileMoveIfDown with duplicated scf.condition operands (#219458)
Commit: cb25e7ca7cef9e84db077fe36f3d27b269394c65
https://github.com/llvm/llvm-project/commit/cb25e7ca7cef9e84db077fe36f3d27b269394c65
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-05 (Sat, 05 Sep 2026)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
Log Message:
-----------
[MLIR][Python] Pass -Wno-unused-template to nanobind build
As with a lot of other warnings, the nanobind build is also not clean
under -Wunused-template. This was enabled by default for clang 23
(although reverted for 23.1.1). Disable it in case it gets enabled again
and also in case anyone enables it manually.
Reviewers: joker-eph, makslevental, dcaballe
Pull Request: https://github.com/llvm/llvm-project/pull/221479
Commit: 25348f55f2c7befc9a8c262ae0a319cde32aa2e7
https://github.com/llvm/llvm-project/commit/25348f55f2c7befc9a8c262ae0a319cde32aa2e7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/docs/CommandGuide/llc.md
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/test/CodeGen/ARM/build-attributes.ll
A llvm/test/CodeGen/ARM/eabi-attribute-no-trapping-math.ll
Log Message:
-----------
CodeGen: Remove TargetOptions::NoTrappingFPMath (#221429)
This was replaced by the no-trapping-math attribute.
The one ARMAsmPrinter use already accounts for it.
no-trapping-math should probably replaced by !strictfp, but that's
another problem.
Commit: 10d3708a0bb8c1c0946f87d0b3ff87bf8a88d5fc
https://github.com/llvm/llvm-project/commit/10d3708a0bb8c1c0946f87d0b3ff87bf8a88d5fc
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Log Message:
-----------
[IndVarSimplify] Batch forgetValue calls in sinkUnusedInvariants (#219025)
It looks like every `forgetValue` clears the cached SCEV for an
instruction and everything downstream of it, by walking its def-use
children in `visitAndClearUsers` / `PushDefUseChildren` with a fresh
`Visited` each call. Since `sinkUnusedInvariants` calls `forgetValue`
once per sunk instruction, the overlapping users get re-walked over and
over, so it ends up $O(n^2)$.
```cpp
void ScalarEvolution::forgetValue(Value *V) {
SmallPtrSet<Instruction *, 8> Visited;
visitAndClearUsers(Worklist, Visited, ToForget);
...
}
// visitAndClearUsers
while (!Worklist.empty()) {
Instruction *I = Worklist.pop_back_val();
...
ValueExprMap ... erase ...
PushDefUseChildren(I, Worklist, Visited);
}
// PushDefUseChildren
for (User *U : I->users()) {
auto *UserInsn = cast<Instruction>(U);
if (Visited.insert(UserInsn).second)
Worklist.push_back(UserInsn);
}
```
Collecting the sunk instructions and clearing them in one batched call
fixes the issue.
Before / after on the reproducer from the issue
| | before | after |
|---|---|---|
| `IndVarSimplifyPass` | 226.70s | 0.087s |
| total compile (wall) | 3:45.7 | 3.9s |
fixes #194308
Commit: eefb335b0b955ed1b52416096daf66d7b1617452
https://github.com/llvm/llvm-project/commit/eefb335b0b955ed1b52416096daf66d7b1617452
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Utils/LoopSimplify.cpp
Log Message:
-----------
[LoopInfo] Merge changeTopLevelLoop and replaceChildLoopWith. NFC (#221503)
Both replace a loop among its siblings with a new one.
Commit: da9625ca5a1517ec21224e3467be3ff250887061
https://github.com/llvm/llvm-project/commit/da9625ca5a1517ec21224e3467be3ff250887061
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Strip unnecessary conversions around SCEVUse (NFC) (#219921)
Commit: 3afdb99e56063b7506b3b519f096afab71b2b75a
https://github.com/llvm/llvm-project/commit/3afdb99e56063b7506b3b519f096afab71b2b75a
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/include/llvm/ADT/Hashing.h
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/unittests/ADT/HashingTest.cpp
Log Message:
-----------
[IR] Unique attribute sets and lists in a UniquingSet. NFC (#221525)
Switch to UniquingSet to remove FoldingSetNodeID serialization overhead
on every AttributeSet::get and AttributeList::get.
Attribute and AttributeSet are single-pointer wrappers whose operator==
is pointer equality. Specializing `is_hashable_data` selects the fast
`hash_combine_range_impl` overload that calls `combine_bytes` directly,
skipping copying element by element.
`hash_combine_range` deduces its element type as `const T`, so
`is_hashable_data<const T>` now follows `is_hashable_data<T>` and a type
need only specialize the unqualified form.
Aided by Opus 5
Commit: b4cc124029c86213e5ebb7eec392d6a173eb243a
https://github.com/llvm/llvm-project/commit/b4cc124029c86213e5ebb7eec392d6a173eb243a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add getUnpack wrapper to select between getUnpackl/h shuffles. NFC. (#221543)
Prep work for improving CLMULH vXi32 lowering.
Commit: 8d10d1f9e653f2ac5e72ed3e1dba73a4af30b351
https://github.com/llvm/llvm-project/commit/8d10d1f9e653f2ac5e72ed3e1dba73a4af30b351
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/FMF.h
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Log Message:
-----------
[AMDGPU] Add FastMathFlags::intersectValue helper for rsq ninf/nsz fix (#217724)
Commit: 44888f035b0f6049d6fae38addb02adf7d53c803
https://github.com/llvm/llvm-project/commit/44888f035b0f6049d6fae38addb02adf7d53c803
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/test/CodeGenCUDA/fp-contract.cu
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64-fma-combine-with-fpfusion.ll
M llvm/test/CodeGen/AArch64/fp-dp3.ll
M llvm/test/CodeGen/AArch64/neon-fma.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/Hexagon/float-amode.ll
M llvm/test/CodeGen/Hexagon/fmadd.ll
M llvm/test/CodeGen/Hexagon/fp_latency.ll
M llvm/test/CodeGen/LoongArch/double-fma.ll
M llvm/test/CodeGen/LoongArch/float-fma.ll
M llvm/test/CodeGen/LoongArch/lasx/fma-v4f64.ll
M llvm/test/CodeGen/LoongArch/lasx/fma-v8f32.ll
M llvm/test/CodeGen/LoongArch/lsx/fma-v2f64.ll
M llvm/test/CodeGen/LoongArch/lsx/fma-v4f32.ll
M llvm/test/CodeGen/PowerPC/a2-fp-basic.ll
M llvm/test/CodeGen/PowerPC/fma-assoc.ll
M llvm/test/CodeGen/PowerPC/fma-ext.ll
M llvm/test/CodeGen/PowerPC/fma.ll
M llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll
M llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
M llvm/test/CodeGen/SPARC/float-ua2007.ll
M llvm/test/CodeGen/Thumb2/mve-fmas.ll
Log Message:
-----------
DAGCombiner: Drop AllowFPOpFusion from visitFADDForFMACombine (#221436)
Rewrites fp-dp3.ll to use flags on individual patterns. It weirdly
used different triples for the fp-contract on and off cases, seemingly
an artifact of the ARM64 and AArch64 merge.
fp-contract.cu is essentially a bugfix, the local fp contract(on) pragma
wins over the global flag now.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 8d573f50cfa28cb7e236e804ad950e37edadb2fc
https://github.com/llvm/llvm-project/commit/8d573f50cfa28cb7e236e804ad950e37edadb2fc
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
R orc-rt/include/orc-rt-internal/bedrock/Environment.h
A orc-rt/include/orc-rt-internal/bedrock/sys/DynamicLibrary.h
A orc-rt/include/orc-rt-internal/bedrock/sys/Memory.h
A orc-rt/include/orc-rt-internal/support/Environment.h
M orc-rt/include/orc-rt-internal/support/sys/CacheControl.h
R orc-rt/include/orc-rt-internal/support/sys/DynamicLibrary.h
M orc-rt/include/orc-rt-internal/support/sys/Errno.h
R orc-rt/include/orc-rt-internal/support/sys/Memory.h
R orc-rt/include/orc-rt-internal/support/sys/darwin/CacheControl.h
M orc-rt/lib/CMakeLists.txt
M orc-rt/lib/bedrock/CMakeLists.txt
R orc-rt/lib/bedrock/Environment.cpp
R orc-rt/lib/bedrock/Error.cpp
R orc-rt/lib/bedrock/Logging.cpp
R orc-rt/lib/bedrock/Logging_oslog.cpp
R orc-rt/lib/bedrock/Logging_printf.cpp
M orc-rt/lib/bedrock/NativeDylibManager.cpp
R orc-rt/lib/bedrock/RTTI.cpp
M orc-rt/lib/bedrock/SimpleNativeMemoryMap.cpp
M orc-rt/lib/bedrock/sys/posix/DynamicLibrary.cpp
R orc-rt/lib/bedrock/sys/posix/Errno.cpp
M orc-rt/lib/bedrock/sys/posix/Memory.cpp
A orc-rt/lib/support/CMakeLists.txt
A orc-rt/lib/support/Error.cpp
A orc-rt/lib/support/Logging.cpp
A orc-rt/lib/support/Logging_oslog.cpp
A orc-rt/lib/support/Logging_printf.cpp
A orc-rt/lib/support/RTTI.cpp
Log Message:
-----------
[orc-rt] Split support sources into their own object library (#221442)
This allows support to be used by both bedrock and the upcoming SPIRE
library. Note that support is a CMake object library only, not an
archive or dylib. Clients will always target either Bedrock or SPIRE.
Moves some sources (Error, RTTI, Logging, Environment and the whole sys/
tree), and some headers (Environment.h, and the orc-rt/bedrock/sys
headers) to the support library.
The per-system source composition moves to lib/support/CMakeLists.txt.
An upcomming commit will update the unit tests to reflect this split.
Commit: 502e51aa4df687807fbe51fa0b419baf65e9615f
https://github.com/llvm/llvm-project/commit/502e51aa4df687807fbe51fa0b419baf65e9615f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/test/CodeGenCUDA/fp-contract.cu
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64-fma-combine-with-fpfusion.ll
M llvm/test/CodeGen/AArch64/fp-dp3.ll
M llvm/test/CodeGen/AArch64/neon-fma.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/Hexagon/float-amode.ll
M llvm/test/CodeGen/Hexagon/fmadd.ll
M llvm/test/CodeGen/Hexagon/fp_latency.ll
M llvm/test/CodeGen/LoongArch/double-fma.ll
M llvm/test/CodeGen/LoongArch/float-fma.ll
M llvm/test/CodeGen/LoongArch/lasx/fma-v4f64.ll
M llvm/test/CodeGen/LoongArch/lasx/fma-v8f32.ll
M llvm/test/CodeGen/LoongArch/lsx/fma-v2f64.ll
M llvm/test/CodeGen/LoongArch/lsx/fma-v4f32.ll
M llvm/test/CodeGen/PowerPC/a2-fp-basic.ll
M llvm/test/CodeGen/PowerPC/fma-assoc.ll
M llvm/test/CodeGen/PowerPC/fma-ext.ll
M llvm/test/CodeGen/PowerPC/fma.ll
M llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll
M llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
M llvm/test/CodeGen/SPARC/float-ua2007.ll
M llvm/test/CodeGen/Thumb2/mve-fmas.ll
Log Message:
-----------
Revert "DAGCombiner: Drop AllowFPOpFusion from visitFADDForFMACombine" (#221561)
Reverts llvm/llvm-project#221436
Bots failing
Commit: 75861cf76db57cdb4a92134ebdaf847e4a70de81
https://github.com/llvm/llvm-project/commit/75861cf76db57cdb4a92134ebdaf847e4a70de81
Author: Hadong Lee <hdchris765 at snu.ac.kr>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
A llvm/test/Transforms/InstCombine/scalbn-to-ldexp.ll
Log Message:
-----------
[InstCombine] Fold scalbn libcalls to llvm.ldexp (#216573)
This canonicalizes `scalbn`, `scalbnf`, and `scalbnl` libcalls to the
`llvm.ldexp` intrinsic when the call does not access memory.
LLVM floating-point types use radix 2, so `scalbn(x, n)` and `ldexp(x,
n)` produce the same numeric result.
Calls that may access memory are left unchanged because the libcall may
set `errno`, while `llvm.ldexp` does not access memory.
Fixes #216467
Commit: de3dd2dc277f4bab62dc840c26e794544f69393b
https://github.com/llvm/llvm-project/commit/de3dd2dc277f4bab62dc840c26e794544f69393b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/test/CodeGenCUDA/fp-contract.cu
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64-fma-combine-with-fpfusion.ll
M llvm/test/CodeGen/AArch64/fp-dp3.ll
M llvm/test/CodeGen/AArch64/neon-fma.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/ARM/fp16-instructions.ll
M llvm/test/CodeGen/Hexagon/float-amode.ll
M llvm/test/CodeGen/Hexagon/fmadd.ll
M llvm/test/CodeGen/Hexagon/fp_latency.ll
M llvm/test/CodeGen/LoongArch/double-fma.ll
M llvm/test/CodeGen/LoongArch/float-fma.ll
M llvm/test/CodeGen/LoongArch/lasx/fma-v4f64.ll
M llvm/test/CodeGen/LoongArch/lasx/fma-v8f32.ll
M llvm/test/CodeGen/LoongArch/lsx/fma-v2f64.ll
M llvm/test/CodeGen/LoongArch/lsx/fma-v4f32.ll
M llvm/test/CodeGen/PowerPC/a2-fp-basic.ll
M llvm/test/CodeGen/PowerPC/fma-assoc.ll
M llvm/test/CodeGen/PowerPC/fma-ext.ll
M llvm/test/CodeGen/PowerPC/fma.ll
M llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll
M llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
M llvm/test/CodeGen/SPARC/float-ua2007.ll
M llvm/test/CodeGen/Thumb2/mve-fmas.ll
Log Message:
-----------
Reapply "DAGCombiner: Drop AllowFPOpFusion from visitFADDForFMACombine" (#221561) (#221567)
This reverts commit 502e51aa4df687807fbe51fa0b419baf65e9615f.
Commit: 7f04c2bac295f340cbf88a294e8ff4eeb89e97d7
https://github.com/llvm/llvm-project/commit/7f04c2bac295f340cbf88a294e8ff4eeb89e97d7
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/include/llvm/ADT/SetOperations.h
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/unittests/ADT/SetOperationsTest.cpp
Log Message:
-----------
[ADT][MemProf] Optimize set_subtract with removed-set output and use in MemProf (#221372)
Add a 3-argument set_subtract(A, B, Removed) that computes A := A - B
and records elements of B removed from A (A ^ B) in Removed. When
A.size() < B.size(), B supports contains(), and A supports remove_if(),
we iterate over A via remove_if() instead of iterating over B, improving
efficiency.
Remove the legacy 4-argument set_subtract(A, B, Removed, Remaining),
which was only used by MemProfContextDisambiguation.cpp and is now
redundant since Remaining can be updated via a separate 2-argument
set_subtract.
Update MemProfContextDisambiguation to use the 3-argument set_subtract,
and update SetOperations unit tests.
Commit: 64171f09367ae70475eebe9184353ca5948681fb
https://github.com/llvm/llvm-project/commit/64171f09367ae70475eebe9184353ca5948681fb
Author: Bhavesh M <85327930+beamandala at users.noreply.github.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/lib/Dialect/Affine/IR/CMakeLists.txt
A mlir/lib/Dialect/Affine/IR/MemorySlot.cpp
A mlir/test/Dialect/Affine/mem2reg.mlir
Log Message:
-----------
[mlir][affine] Implement PromotableRegionOpInterface for AffineForOp (#221123)
The `mem2reg` pass couldn't promote memory slots accessed within an
`affine.for` because `AffineForOp` did not implement
`PromotableRegionOpInterface`, leading to the stack allocation and its
accesses to not be eliminated.
This change implements `PromotableRegionOpInterface` for `AffineForOp`,
allowing `mem2reg` to promote memory slots through affine loops.
Commit: ebb7e0cc79c17b6a7db53e128dd3f9afb4f26b4e
https://github.com/llvm/llvm-project/commit/ebb7e0cc79c17b6a7db53e128dd3f9afb4f26b4e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Fix chunk calculation in GPU allocator (#221583)
Summary:
This would pesismistically round up 48 to 64 and the previous s0 case
was unused.
Commit: 5840db809d3ff2dc194ccc43bd0be2f36c629185
https://github.com/llvm/llvm-project/commit/5840db809d3ff2dc194ccc43bd0be2f36c629185
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Remove dead functions (NFC) (#221541)
SelectionDAG::getBitcastedSExtOrTrunc,
SelectionDAG::getBitcastedZExtOrTrunc: Added on August 11, 2023 in
commit d26a06728da84a7302875a99ea86e887f6bc425a without any callers.
Assisted-by: Antigravity
Commit: 279669940711bea1a54d063110d26e5447f67604
https://github.com/llvm/llvm-project/commit/279669940711bea1a54d063110d26e5447f67604
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll
Log Message:
-----------
[SLP][NFC]Add more tests for loop accumulator reductions, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221591
Commit: 5735d17306b8c8aca559ef6c35136c44a12221d7
https://github.com/llvm/llvm-project/commit/5735d17306b8c8aca559ef6c35136c44a12221d7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
Log Message:
-----------
MC: Move DisableIntegratedAS from TargetOptions to MCTargetOptions (#221547)
The integrated assembler is only meaningful in MC, so this field belongs
in MCTargetOptions alongside the other assembler options rather than in
the codegen-level TargetOptions.
Co-authored-by: Claude (Claude-Opus-4.8)
Commit: 42012a90b98a62359547f0b72e8215a4037cc711
https://github.com/llvm/llvm-project/commit/42012a90b98a62359547f0b72e8215a4037cc711
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang/lib/Options/DriverOptions.cpp
M llvm/include/llvm/Option/OptTable.h
M llvm/include/llvm/Option/Option.h
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Option/Option.cpp
M llvm/unittests/Option/OptionParsingTest.cpp
M llvm/unittests/Option/Opts.td
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[OptTable] Store Info strings in the string table (#218845)
Change HelpText, MetaVar, AliasArgs, and Values from `const char *` to
StringTable::offset, making the fields smaller, and removing dynamic
relocations in .data.rel.ro in PIC links.
Store them as StringTable::Offset, like the option names already are,
and return StringRef from getOptionHelpText() and getOptionMetaVar().
The 53 tables in the tree lose all 616 KB of .data.rel.ro, and sizeof(Info)
drops from 88 to 60; clang's table becomes 232 KB of .rodata.
An unset field and one explicitly set to the empty string, such as a
HelpText<"">, have to stay distinguishable, so the latter gets an empty
string of its own rather than offset zero.
Values declared with ValuesCode are only known to the generated code,
which supplies getOptionValuesCode() for OptTable to call; only clang has any.
Aided by Opus 5
Commit: 1e4858aa1d7bc70da4af88428be54d3207e03858
https://github.com/llvm/llvm-project/commit/1e4858aa1d7bc70da4af88428be54d3207e03858
Author: Matt Turner <mattst88 at gmail.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
A compiler-rt/test/asan/TestCases/complete_stack_trace.c
Log Message:
-----------
[asan][test] Check that stack traces are not truncated (#221518)
Add a test that the access, free and malloc traces each name the whole
call
chain down to `main`, in order, and that each names its own call site in
`main`. A trace that stops early -- as every trace but the access one
does when
the fast unwinder runs on a target that chains no frames -- fails it.
`deep_stack_uaf.cpp` already covers trace depth, but it looks for three
individual frames anywhere in the trace, so it passes on a trace with
holes in
it, and it needs C++ name demangling to do that.
Split out of #220231 at reviewer request.
Assisted-by: Claude Code
Commit: ec37fb6d53400e631f1bf7600fb48651816d7092
https://github.com/llvm/llvm-project/commit/ec37fb6d53400e631f1bf7600fb48651816d7092
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Fix formatting, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221596
Commit: bb3fe4afe7ed81ae6bebc06a1849ca79de236fbe
https://github.com/llvm/llvm-project/commit/bb3fe4afe7ed81ae6bebc06a1849ca79de236fbe
Author: Šárka Holendová <72979252+mlir-maiden at users.noreply.github.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M flang/include/flang/Evaluate/intrinsics.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/simple-intrinsics.f90
Log Message:
-----------
[flang] Reclassify MVBITS, SPLIT, and TOKENIZE as SIMPLE (#205024)
F2023 makes MVBITS a simple elemental subroutine and SPLIT/TOKENIZE
simple subroutines.
This change:
- adds `simpleSubroutine` and `simpleElementalSubroutine` to
`IntrinsicClass`,
- reclassifies the MVBITS, SPLIT, and TOKENIZE intrinsic table entries,
- propagates `SIMPLE` through intrinsic resolution and procedure
characteristics.
MOVE_ALLOC is not included in this change.
Commit: 3da98991742d9880c31550f0bc13cab95f9a08a1
https://github.com/llvm/llvm-project/commit/3da98991742d9880c31550f0bc13cab95f9a08a1
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/connection.h
M flang-rt/include/flang-rt/runtime/file.h
M flang/include/flang/Common/optional.h
Log Message:
-----------
[flang-rt] Initialize I/O unit storage read by short-circuit predicates (#221126)
ConnectionState and OpenFile hold common::optional members read through
predicates of the form `opt && x < *opt`, which never use an indeterminate
value in the abstract machine. Compilers do, however, routinely if-convert
the short-circuit && into a branchless compare and select, which speculates
the payload load; because these objects are placement-new'd into malloc'd
storage by UnitMap::Create(), a memory checker then reports a conditional
branch that depends on uninitialized memory. On AArch64 this fires for
every Fortran program that writes a record, giving two reports in
ExternalFileUnit::AdvanceRecord() from IsAfterEndfile() and IsAtEOF(),
while x86-64 is unaffected and libgfortran is clean on the same program and
host. The reports are false positives -- the engaged flag is 0, so both arms
of the select are 0 -- but they are unavoidable noise for anyone running
Valgrind on Fortran code.
Add common::ResetWithDefinedPayload(), which leaves an optional disengaged
while writing its payload storage, and call it at construction for the
optionals in ConnectionAttributes, ConnectionState and OpenFile. Also
initialize OpenFile::pathLength_, which is read through the same
if-convertible shape by the unit-lookup-by-path scans in external-unit.cpp
and unit-map.cpp. No observable behavior changes.
No test is added: the difference is in shadow-memory definedness, which
neither a LIT test nor a flang-rt unit test can observe, and there is no MSan
or Valgrind CI for flang-rt. Verified by compiling the patched headers into a
standalone probe on AArch64, where the unpatched headers give two reports
and the patched headers give none with identical program output, and by
check-flang-rt.
Co-authored-by: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Fixes #220633
Assisted-by: AI
Commit: 6c978c67dfdd3514f8d1ddbcaba8814cacc17bf7
https://github.com/llvm/llvm-project/commit/6c978c67dfdd3514f8d1ddbcaba8814cacc17bf7
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
Log Message:
-----------
[SLP][NFC]Add some more tests for loop accumulated reductions, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221597
Commit: 7fd679a3fdb585f2fd75d950e396c11901bfd62c
https://github.com/llvm/llvm-project/commit/7fd679a3fdb585f2fd75d950e396c11901bfd62c
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 64171f0 (#221585)
This fixes 64171f09367ae70475eebe9184353ca5948681fb (#221123).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=64171f09367ae70475eebe9184353ca5948681fb
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: cc4b3c91c6d3b557d175622c2c326e98ced61fbe
https://github.com/llvm/llvm-project/commit/cc4b3c91c6d3b557d175622c2c326e98ced61fbe
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/Hexagon/sffms.ll
Log Message:
-----------
DAGCombiner: Drop AllowFPOpFusion from visitFSUBForFMACombine (#221439)
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: c2dd24dc601f9e7f66ec813ab33baab34585d506
https://github.com/llvm/llvm-project/commit/c2dd24dc601f9e7f66ec813ab33baab34585d506
Author: AZero13 <gfunni234 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/overflow-mul.ll
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll
Log Message:
-----------
[InstCombine] Canonicalize zext+overflow check to overflow check if zext's only purpose is to check overflow (#220658)
Change processUMulZExtIdiom to also support adds, since the idiom is the
same, except with add instead of mul.
Alive2: https://alive2.llvm.org/ce/z/SsB4AK
Commit: 08fb771d71de39421d1e9e200c8b8a0b06d74220
https://github.com/llvm/llvm-project/commit/08fb771d71de39421d1e9e200c8b8a0b06d74220
Author: Avi Kivity <avi at scylladb.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/DebugInfo/CXX/limited-ctor.cpp
Log Message:
-----------
Revert "[DebugInfo] Ignore undefined constexpr constructors in constructor homing." (#221566)
This reverts commit
https://github.com/llvm/llvm-project/commit/6ba0802b406e0963720a698702b9136578dde149
(https://github.com/llvm/llvm-project/pull/218165).
canUseCtorHoming() used to bail out on
hasConstexprNonCopyMoveConstructor().
That commit narrowed the exemption to *defined* constexpr constructors,
on the
assumption that a constructor which is not defined here will be defined
- and
will therefore emit the type's debug info - in whichever translation
unit
constructs the object.
That assumption does not hold when the constructor is never invoked at
all. A
constructor of a class template specialization is only instantiated, and
hence
only defined, where it is used. If nothing ever constructs the
specialization,
its constructors are defined in no translation unit, and so nothing
anywhere
homes the type - even though the type still has to be complete in order
to read
a member.
(The reverted commit's stated rationale, that "declared constexpr
constructors
are not callable in a TU that doesn't see their definition", does not
hold
either: such a constructor can be called outside a constant expression,
with
the definition supplied by another translation unit, and clang emits an
ordinary external call for it. But that is not what breaks here.)
Unions of layout-compatible types are where this bites. The common
initial
sequence rule ([class.mem.general]p26, 9.2/19 in C++11) lets a program
write
through one union member and read through another where the two share a
common
initial sequence, and absl::container_internal::map_slot_type is built
on it:
it aliases std::pair<const K, V> and std::pair<K, V> so that
flat_hash_map<K, V> can hand out pair<const K, V> references while still
moving
keys efficiently. Slots are created and destroyed through the mutable
pair and
only read through the const-key one, so a std::pair<const K, V> is never
constructed, none of its constructors is ever instantiated, and its type
is
emitted nowhere.
Reduced, and linkable - the following compiles, links and returns 0:
template <class A, class B> struct mypair {
A first;
B second;
constexpr mypair() : first(), second() {}
constexpr mypair(const A& a, const B& b) : first(a), second(b) {}
};
template <class K, class V>
union map_slot_type {
map_slot_type() {}
~map_slot_type() {}
using value_type = mypair<const K, V>; // read, never constructed
using mutable_value_type = mypair<K, V>; // constructed
value_type value;
mutable_value_type mutable_value;
K key;
};
map_slot_type<unsigned long, void*> slot;
int marker;
int main() {
slot.mutable_value = mypair<unsigned long, void*>(42, &marker);
return (slot.value.first == 42 && slot.value.second == &marker) ? 0 : 1;
}
mypair<unsigned long, void*> is constructed and keeps its debug info.
mypair<const unsigned long, void*> is only read, and is emitted as a
declaration in every translation unit, so a debugger cannot show first
and
second:
clang 22.1.8 DW_AT_byte_size (0x10)
clang 24.0.0git DW_AT_declaration (true)
This is how it was found - gdb reporting "<incomplete type>" for
std::pair<const size_t, ...> in ScyllaDB, which broke the flat_hash_map
readers
in its gdb scripts.
Keep the test coverage the reverted commit added for the cases whose
expected
output is unchanged, restore the DeclaredConstexpr expectation to full
debug
info, and add the aliased-pair case above.
Fixes https://github.com/llvm/llvm-project/issues/221560
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: 68f48bd751e4def54642707b2e44bbcab4f8d948
https://github.com/llvm/llvm-project/commit/68f48bd751e4def54642707b2e44bbcab4f8d948
Author: benscharl <benscharl42 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/icmp-power2-and-icmp-shifted-mask.ll
M llvm/test/Transforms/InstCombine/nested-select.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Infer implied conditions through masked bit tests (#219626)
Fixes #214397
`isImpliedCondICmps` failed when one compare constrains X and the other
tests a value derived from X. For example:
`X u<13` implies `(X & 16) == 0`
This adds an additional check. When both compares have constant RHS
operands and the second compare's LHS is `and (L0, C)`, following
strategy is applied: L0's range is derived from the first compare and
the mask is applied. If the resulting range satisfies the second
predicate for all values, the implication is correct. If the inverse
predicate is satisfied for all values, the implication is false.
Otherwise the result is unknown.
Alive2: https://alive2.llvm.org/ce/z/aa62Yy
Commit: e384c0d60bf44f432a9e9d56c81c2f372452fb02
https://github.com/llvm/llvm-project/commit/e384c0d60bf44f432a9e9d56c81c2f372452fb02
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/all-ones-null-pointer.ll
M llvm/test/Analysis/LoopAccessAnalysis/evaluate-at-symbolic-max-backedge-taken-count-may-wrap.ll
M llvm/test/Analysis/LoopAccessAnalysis/negative-step-deref-off-by-eltsize.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
Log Message:
-----------
[LAA] Fix inverted bounds for negative-step AddRecs with unknown end. (#218388)
Currently we use an conservative upper bound (-1) for runtime checks
when evaluating the AddRec may wrap.
This does not properly account for negative steps. In that case, we need
to use null as conservative lower bound.
One complication is that the null pointer may not be zero, so we need to
check for that, and bail out completely if that's the case. We then must
clean up any pointers partially added.
PR: https://github.com/llvm/llvm-project/pull/218388
Commit: be3c61a954c5f80f179991df6eefa3d4e3570bba
https://github.com/llvm/llvm-project/commit/be3c61a954c5f80f179991df6eefa3d4e3570bba
Author: Yongqiang Tian <yqtian668 at gmail.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineOutliner.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/machine-outliner-debug-admission.mir
M llvm/test/CodeGen/AArch64/machine-outliner-macho-compact-unwind-frame.mir
M llvm/test/CodeGen/AArch64/machine-outliner-mapper-stats.mir
M llvm/test/CodeGen/AArch64/machine-outliner-mapping-stats.mir
A llvm/test/CodeGen/AArch64/machine-outliner-range-debug.mir
A llvm/test/CodeGen/RISCV/machine-outliner-debug-codegen.mir
A llvm/test/CodeGen/RISCV/machine-outliner-mapper-debug-state.mir
Log Message:
-----------
[MachineOutliner] Properly handle Debug MachineInstrs (#219326)
Fixes #219176.
Debug instructions could affect `MachineOutliner` output in two ways:
- The minimum basic-block size check used `MachineBasicBlock::size()`,
which includes debug instructions. A block containing one ordinary
instruction and one debug instruction could therefore enter the mapper
even though it was too small to outline.
- Mapping an invisible debug instruction cleared `AddedIllegalLastTime`.
This changed the separator state and could affect persistent token
numbering, outlined-function ordering, and ultimately the generated
object code.
This patch makes debug instructions transparent to both decisions:
- Use the non-debug instruction count for the minimum block-size check.
- Preserve the mapper's separator state for debug instructions while
retaining the existing behavior for other invisible pseudos.
The patch adds MIR coverage for both cases and updates the existing
mapper statistics test to reflect blocks that are now skipped.
Testing:
- The original reproducer produces identical ordinary MIR before and
after the outliner for `-g0` and `-g`.
- The normalized machine-code fingerprints for the original reproducer
are identical with and without debug information.
- The complete AArch64 and RISC-V CodeGen test directories pass: 6852
passed, 5 expectedly failed, 0 failed.
AI assistance disclosure: OpenAI Codex 5.6 Sol assisted with the
implementation and testing. The changes were co-reviewed by Claude and
Yongqiang Tian.
Commit: adbd9456bdc3cf6287f3cee6fb15424f6f5001cc
https://github.com/llvm/llvm-project/commit/adbd9456bdc3cf6287f3cee6fb15424f6f5001cc
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
A llvm/test/CodeGen/AArch64/cmpbr-ccmp.ll
A llvm/test/CodeGen/AArch64/cmpbr-ccmp.mir
Log Message:
-----------
[AArch64] Allow forming CCMPs for CB branches (#221111)
AArch64ConditionalCompares currently doesn't consider FEAT_CMPBR CB
instructions when trying to form CCMPs. This leads to a lot more
branches which is usually hurtful for performance.
The patchs adds handling CB instructions, just like we do for other
fused conditional branches such as CBZ or CBNZ.
Commit: 067b6d90b64e8f43c9a2388530b7f98911d77421
https://github.com/llvm/llvm-project/commit/067b6d90b64e8f43c9a2388530b7f98911d77421
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
A orc-rt/test/unit/BedrockTestUtils.h
M orc-rt/test/unit/CMakeLists.txt
M orc-rt/test/unit/CommonTestUtils.h
M orc-rt/test/unit/bedrock/BootstrapInfoTest.cpp
M orc-rt/test/unit/bedrock/InProcessControllerAccessTest.cpp
M orc-rt/test/unit/bedrock/NativeDylibManagerTest.cpp
M orc-rt/test/unit/bedrock/SessionTest.cpp
M orc-rt/test/unit/bedrock/SimpleNativeMemoryMapTest.cpp
M orc-rt/test/unit/bedrock/sps/NativeDylibManagerSPSCITest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
M orc-rt/test/unit/support/ProxyTest.cpp
Log Message:
-----------
[orc-rt] Split unit tests into SupportTests and BedrockTests (#221562)
Replace CoreTests with one test binary per layer. SupportTests links the
Support object library and nothing else, so a new support-to-bedrock
dependency fails to link rather than going unnoticed.
Making that work required splitting CommonTestUtils.h: its
Bedrock-dependent helpers move to a new BedrockTestUtils.h, so that no
SupportTests translation unit includes a Bedrock header. That in turn
lets ProxyTest join SupportTests -- Proxy.h only forward-declares
Session, so the test can define its own instead of constructing a real
one.
Commit: b1f20dd48e11439d5a592662b407e07d8213ffee
https://github.com/llvm/llvm-project/commit/b1f20dd48e11439d5a592662b407e07d8213ffee
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M llvm/lib/TableGen/StringToOffsetTable.cpp
Log Message:
-----------
[TableGen] Escape single quotes when emitting a string table as char literals (#221612)
Fix a latent bug in StringToOffsetTable, which led to breakage after
#218845
```
C:\_work\llvm-project\llvm-project\build\tools\clang\include\clang/Options/Options.inc(135,18): error: expected expression
C:\_work\llvm-project\llvm-project\build\tools\clang\include\clang/Options/Options.inc(135,24): warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
135 | 'D', 'o', 'n', ''', 't', ' ', 'e', 'm', 'i', 't', ' ', 'e', 'r', 'r', 'o', 'r', 's', ' ', 'o', 'n', ' ', 'i', 'n', 'v', 'a', 'l', 'i', 'd', ' ', 'a', 'n', 'a', 'l', 'y', 'z', 'e', 'r', '-', 'c', 'o', 'n', 'f', 'i', 'g', ' ', 'i', 'n', 'p', 'u', 't', 's', '\0',
| ^
```
Commit: 91d3532e2261e168e85ebcf5c5112419b47ef530
https://github.com/llvm/llvm-project/commit/91d3532e2261e168e85ebcf5c5112419b47ef530
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/ABIVersions.def
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGen/X86/x86_64-unnamed-bitfield-abi-compat.c
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/lib/ABI/Targets/X86.cpp
Log Message:
-----------
[Clang][X86] Add Clang23Compat for __int128 bit-field ABI change (#220788)
Follow up of #216777.
Assisted-by: Claude Opus 4.8
Commit: c6fd19f0fe4eb4f9ddd978eb9a6dbc8039acc3dd
https://github.com/llvm/llvm-project/commit/c6fd19f0fe4eb4f9ddd978eb9a6dbc8039acc3dd
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
Log Message:
-----------
[VPlan] Make m_False and m_True matchers stateless. NFC (#221581)
is_zero_int and is_one avoid storage unlike is_specific_int, and allow
the match function to be an inlined isZero/isOne call instead of
APInt::isSameValue.
Improves compile time:
https://llvm-compile-time-tracker.com/compare.php?from=8f7d3ba08f14c3d54b8b407d1758dbd1da01bb38&to=c766163e82ec7a377efc7a26ef1e6db38e0dec1d&stat=instructions:u
Commit: 2fb183588d6a5067f9a782b822968ddd0f6b4472
https://github.com/llvm/llvm-project/commit/2fb183588d6a5067f9a782b822968ddd0f6b4472
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lld/ELF/EhFrame.cpp
M lld/ELF/EhFrame.h
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/eh-frame-fde-encoding.s
R lld/test/ELF/eh-frame-hdr-zero-range.s
M lld/test/ELF/eh-frame-negative-pcrel-sdata2.s
M lld/test/ELF/eh-frame-negative-pcrel-sdata4.s
Log Message:
-----------
Revert "[ELF] Omit zero-range FDEs from .eh_frame_hdr" (#221624)
Reverts llvm/llvm-project#220492
This causes the RISC-V buildbots to fail in the exception handling
tests, see https://lab.llvm.org/buildbot/#/builders/210/builds/12623 for
the gauntlet build logs
Apologies this revert is coming in so late, there is a proposed fix at
https://github.com/llvm/llvm-project/pull/221342 but it looks like it
might require additional rounds of review so reverting to get the
buildbots back to green for now
cc @MaskRay @Prabhuk
Commit: 98baf03a3ca629fa2d690286fb751a05c9fd6965
https://github.com/llvm/llvm-project/commit/98baf03a3ca629fa2d690286fb751a05c9fd6965
Author: Dan Shan <3shandan at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M libcxx/docs/Status/Cxx26Issues.csv
M libcxx/include/__optional/comparison.h
M libcxx/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp
Log Message:
-----------
[libc++] Implement LWG4072: std::optional comparisons: constrain harder (#209968)
Resolves #118345.
Previously, the heterogeneous comparison operators (`==`, `!=`, `<`,
`<=`, `>`, `>=`) for arguments `T` and `U` don't check that `T` or `U`
are not a `std::optional` themselves. This allowed the operators to
cause ambiguous overload resolution instead of falling back to
`optional`'s own operators, which possibly caused hard error when there
should not be a matched overload.
This patch implements the resolution by adding
`!__is_std_optional_v<_Up>` (and the `_Tp` equivalent for the reversed)
to the constraints in all twelve involved operators.
As required by the LLVM Project's AI use policy:
- The fix and test processes were revised and verified with AI
assistance.
Commit: 4edfeaddedd4a1b337a1c17af571127c63f2bbd6
https://github.com/llvm/llvm-project/commit/4edfeaddedd4a1b337a1c17af571127c63f2bbd6
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
A llvm/test/CodeGen/AArch64/interleaved-load-combine-many-candidates.ll
Log Message:
-----------
[InterleavedLoadCombine] Index candidates to avoid quadratic matching (#213053)
Matching scanned every candidate against every other candidate, which
got very slow on functions with many interleaved loads. Index by address
offset and look up neighbors instead.
llc's Compile-time drops from 212s to ~2s on a Grace machine for the
test case in the issue.
[ Compile-time remains flat
](https://llvm-compile-time-tracker.com/?config=Overview&stat=instructions%3Au&remote=madhur13490)
Fixes #162299.
Assisted by Cursor.
Commit: 210e20a4967c19199ab3fe6eae7e9a2a52845459
https://github.com/llvm/llvm-project/commit/210e20a4967c19199ab3fe6eae7e9a2a52845459
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPTypeUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPTypeUtils.h
Log Message:
-----------
[SLP][modularisation][NFC] Move getNumberOfParts, isAllowedNonPowerOf2VF (#220827)
Move the following BoUpSLP-independent type/width helpers out of
SLPVectorizer.cpp into SLPVectorizer/SLPTypeUtils.{h,cpp}:
getNumberOfParts
isAllowedNonPowerOf2VF
Both read a file-local cl::opt (SLPReVec and VectorizeNonPowerOf2
respectively). The options stay static in SLPVectorizer.cpp; the moved
helpers take their values as explicit bool parameters. Behavior is
unchanged.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
Commit: 18a91e03873c3f8c189e84f446040d7abd2abd66
https://github.com/llvm/llvm-project/commit/18a91e03873c3f8c189e84f446040d7abd2abd66
Author: Jim Lin <jim at andestech.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/CodeGen/RISCV/memcpy.ll
Log Message:
-----------
[RISCV] Andes: model fast unaligned accesses for the 45-series (#221166)
The 45-series cores support unaligned scalar accesses. Add
FeatureUnalignedScalarMem to each 45-series processor (andes-n45,
andes-nx45, andes-a45, andes-ax45 and andes-ax45mpv), so that it is
selected by -mcpu rather than -mtune. Other processors declare it this
way too. The feature is somewhat architectural: -mtune is only supposed
to affect performance, but reaching it through tune features lets -mtune
introduce unaligned accesses that crash on a CPU which does not support
them.
Cover this in memcpy.ll using -mcpu=andes-a45/-mcpu=andes-ax45. The new
RUN lines pass -mtune=rocket so that the 45-series scheduling model does
not reorder the output, letting them reuse the existing check lines.
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: 1f74b1a7093113a10d6e8762bad779be2cddfe8f
https://github.com/llvm/llvm-project/commit/1f74b1a7093113a10d6e8762bad779be2cddfe8f
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-prelegalizer-combiner-crash.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-add-nullptr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fabs-fneg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-rot.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-zext-trunc.mir
Log Message:
-----------
[AMDGPU][GIsel][NPM] Port "AMDGPUPreLegalizerCombiner" to NPM (#217222)
same as https://github.com/llvm/llvm-project/pull/215759
Commit: 2362eeb5f75560740146975e9eabe84c6bd25a0d
https://github.com/llvm/llvm-project/commit/2362eeb5f75560740146975e9eabe84c6bd25a0d
Author: Oliver Hunt <oliver at apple.com>
Date: 2026-09-06 (Sun, 06 Sep 2026)
Changed paths:
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/SemaCUDA/attr-instantiation-duplication-amdgpu.cu
A clang/test/SemaCUDA/attr-instantiation-duplication-spirv.cu
Log Message:
-----------
[clang][Sema][CUDA,SPIRV] Instantiating function templates duplicates GPU attrs (#218582)
A number of GPU related attributes were incorrectly falling back to the
generic attribute instatiation logic which resulted in duplicating the
attributes. The duplicates were also not correctly instantiated.
This also exposed a failure to prevent duplicate addition in
handleGlobalAttr as well.
Commit: b0aa16f2613e45acdaa5cb82db40bfb6359e6fda
https://github.com/llvm/llvm-project/commit/b0aa16f2613e45acdaa5cb82db40bfb6359e6fda
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
Log Message:
-----------
[SLP][modularisation][NFC] Move isFixedVectorShuffle to SLPUtils (#221639)
Move the BoUpSLP-independent shuffle helper out of SLPVectorizer.cpp
into SLPVectorizer/SLPUtils.{h,cpp}:
isFixedVectorShuffle
It sits with the existing shuffle/mask helpers. Behavior is unchanged.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
Commit: bfdc7668ae617a228d7d96604580fffc99d239ff
https://github.com/llvm/llvm-project/commit/bfdc7668ae617a228d7d96604580fffc99d239ff
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M orc-rt/lib/bedrock/CMakeLists.txt
M orc-rt/lib/support/CMakeLists.txt
M orc-rt/test/unit/CMakeLists.txt
Log Message:
-----------
[orc-rt] Compose Bedrock from object libraries (#221650)
Add orc-rt-bedrock-objects, and rename orc-rt-support to
orc-rt-support-objects, leaving orc-rt-bedrock as a shipped library with
no sources of its own that is composed from both. The -objects suffix
marks targets that produce no artifact.
The unit tests now link the object libraries directly rather than the
shipped library. This will allow them to continue working when Bedrock
becomes buildable as a dylib with no C++ API exported.
Commit: 8878fda06d6885971a4b2fc18d76546583b6dd0d
https://github.com/llvm/llvm-project/commit/8878fda06d6885971a4b2fc18d76546583b6dd0d
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
A clang/test/CIR/CodeGen/spirv-target-lowering-as.cpp
M clang/test/CIR/CodeGenOpenCL/address-space-conversions.cl
M clang/test/CIR/CodeGenOpenCL/address-spaces.cl
M clang/test/CIR/Lowering/address-space.cir
Log Message:
-----------
[CIR][OpenCL][NFC] Add language address-space lowering coverage (#219900)
Expand coverage for lowering OpenCL language address spaces through
target-specific CIR and LLVM IR, including comparison with classic
CodeGen.
Assisted-by: Codex / GPT-5.6 Sol
Commit: e81ab5ffd45b8d870fad4c8a0e14aea7d47f62cf
https://github.com/llvm/llvm-project/commit/e81ab5ffd45b8d870fad4c8a0e14aea7d47f62cf
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/CallingConvLower.h
Log Message:
-----------
[CodeGen] Increase CCState::UsedRegs inline capacity (NFC) (#221259)
CCState::UsedRegs holds one bit per target register. Its inline capacity
of 16 x 32-bit words only covers 512 registers, causing heap allocations
for AArch64 (895), RISCV (645), and PowerPC (612). Increase it to 32,
covering up to 1024 registers and keeping the storage inline for these
targets.
Assisted-by: codex
Commit: a9e273890dc99a3c2662fb14f244fa0acdb1155b
https://github.com/llvm/llvm-project/commit/a9e273890dc99a3c2662fb14f244fa0acdb1155b
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/test/CIR/CodeGenHIP/builtin-bool-result.hip
Log Message:
-----------
[CIR] Convert i1 intrinsic results for bool-returning builtins (#220576)
A target builtin with no special case is emitted through the generic
intrinsic path, which returns the intrinsic's own result type. For a
builtin declared to return bool that type is i1, which CIR models as
!cir.int<u, 1> rather than !cir.bool. cir.if accepts only !cir.bool, so
CIR builtin handling needs to convert i1 results to !cir.bool when used
in this context.
This is verified using __builtin_amdgcn_is_shared.
---------
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: 8ca2e679a9b3cc149e766e6a04645d7efc50f4f1
https://github.com/llvm/llvm-project/commit/8ca2e679a9b3cc149e766e6a04645d7efc50f4f1
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
[CodeGen] Avoid temporary SmallVector for single memops (NFC) (#221254)
Assisted-by: codex
Commit: d93b10ea300fa0e86a736b3f0aac8605b23caeb9
https://github.com/llvm/llvm-project/commit/d93b10ea300fa0e86a736b3f0aac8605b23caeb9
Author: Rong "Mantle" Bao <rong.bao at csmantle.top>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M bolt/unittests/Profile/PerfScripts.cpp
Log Message:
-----------
[BOLT][test] Allow uninstantiated tests when no matching targets are enabled (#217604)
When neither X86 nor AArch64 is enabled, e.g. when only enabling the
RISCV target, `check-bolt-unit` triggers GTest's uninstantiated suite
errors on the following cases:
```plain-text
BOLT-Unit :: Core/./CoreTests/GoogleTestVerification/UninstantiatedParameterizedTestSuite<BinaryContextTester>
BOLT-Unit :: Core/./CoreTests/GoogleTestVerification/UninstantiatedParameterizedTestSuite<MCPlusBuilderTester>
BOLT-Unit :: Core/./CoreTests/GoogleTestVerification/UninstantiatedParameterizedTestSuite<MemoryMapsTester>
BOLT-Unit :: Profile/./ProfileTests/GoogleTestVerification/UninstantiatedParameterizedTestSuite<PerfScriptTestHelper>
```
... which looks like the following:
```plain-text
******************** 20:28 [95/2055]
FAIL: BOLT-Unit :: Core/./CoreTests/6/9 (7 of 12)
******************** TEST 'BOLT-Unit :: Core/./CoreTests/6/9' FAILED ********************
Script(shard):
--
GTEST_OUTPUT=json:/home/csmantle/workspace/llvm-project/build/tools/bolt/unittests/Core/./CoreTests-BOLT-Unit-718646-6-9.json GTEST_SHUFFLE=0 GTEST_TOTAL_SHARDS=9 GTEST_SHARD_INDE
X=6 /home/csmantle/workspace/llvm-project/build/tools/bolt/unittests/Core/./CoreTests
--
Script:
--
/home/csmantle/workspace/llvm-project/build/tools/bolt/unittests/Core/./CoreTests --gtest_filter=GoogleTestVerification.UninstantiatedParameterizedTestSuite<BinaryContextTester>
--
/home/csmantle/workspace/llvm-project/bolt/unittests/Core/BinaryContext.cpp:211: Failure
Parameterized test suite BinaryContextTester is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the
only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in
to get other utilities.)
To suppress this error for this test suite, insert the following line (in a non-header) in the namespace it is defined in:
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(BinaryContextTester);
/home/csmantle/workspace/llvm-project/bolt/unittests/Core/BinaryContext.cpp:211
Parameterized test suite BinaryContextTester is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the
only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in
to get other utilities.)
To suppress this error for this test suite, insert the following line (in a non-header) in the namespace it is defined in:
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(BinaryContextTester);
```
Add gated `GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST` to suppress
such warnings until appropriate tests have been implemented.
Commit: 2cb4f837f087d7ed38aad292b5037cabcb2fcd4c
https://github.com/llvm/llvm-project/commit/2cb4f837f087d7ed38aad292b5037cabcb2fcd4c
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1_dpp8.s
Log Message:
-----------
[AMDGPU][NFC] Add gfx13 MC tests for v_mov_b16 and v_swap_b16 (#220863)
Both instructions were already supported on gfx13 but had limited MC
tests coverage.
Commit: b966c71b74e498c3a9570c790a71a5a1a2fe0e2f
https://github.com/llvm/llvm-project/commit/b966c71b74e498c3a9570c790a71a5a1a2fe0e2f
Author: Barbara Mitic <Barbara.Mitic at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/pack-half-to-lshl-or.ll
Log Message:
-----------
[AMDGPU] Fix true16 high-half packing when the low operand is not a VGPR (#220843)
The true16 (hi << 16) | z pattern used v_or_b16 and EXTRACT_SUBREG hi16
on z. That is only valid when z is a VGPR. When z is an immediate (e.g.
0x3c00), EXTRACT_SUBREG hi16 does not isolate the high 16 bits, so the
whole constant is ORed into hi: we get (hi | 0x3c00) << 16 instead of hi
<< 16.
Select v_lshl_or_b32 instead, with z as VSrc_b32, matching the fake16
path.
Commit: 5950bbf1e12fa2445c9de948c3f602f03ba12d62
https://github.com/llvm/llvm-project/commit/5950bbf1e12fa2445c9de948c3f602f03ba12d62
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/replicate-region-branch-weights.ll
Log Message:
-----------
[VPlan] Fix merged replicate region frequency when only one is known. (#221607)
When merging two replicate regions guarded by the same mask, the merged
region's entry frequency should be the higher of the two original
frequencies, since it now fires whenever either original region did.
The existing check only updated the frequency when both were known,
leaving the second region's own (possibly much lower) frequency in place
whenever the first was unknown. This means we might set a misleadingly
low frequency. Conservatively set to unknown instead.
Commit: d1a653eadd3a0b314388965edcbd26fd6890f744
https://github.com/llvm/llvm-project/commit/d1a653eadd3a0b314388965edcbd26fd6890f744
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.h
Log Message:
-----------
[Sparc] Fix instruction size for delay slot with UNIMP (#220955)
Sparc currently reports all instructions with delay slots as having
twice the size. However, there is a special case for struct returns,
where there is an extra UNIMP instruction. Move needsUnimp() into
SparcInstrInfo, and account for it in the instruction size calculation.
Part of enabling instruction size verification by default.
Commit: 90bc5b106b5f36fd6c6fffd7eb914946ce75b4a3
https://github.com/llvm/llvm-project/commit/90bc5b106b5f36fd6c6fffd7eb914946ce75b4a3
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
A llvm/test/tools/gold/X86/Inputs/multiple-data-section-ordering.txt
M llvm/test/tools/gold/X86/multiple-data.s
M llvm/test/tools/gold/X86/multiple-sections.ll
M llvm/test/tools/gold/lit.local.cfg
Log Message:
-----------
[gold] Switch section-ordering-file tests to use ld.bfd (#219150)
ld.bfd supports `--section-ordering-file` since 2.43. Use it if the
binutils version is sufficiently recent.
The implementation in ld.bfd is significantly different, with the
section ordering file looking more like an incomplete linker script,
rather than a plain section listing.
The addresses of the sections are also slightly different than with
ld.gold. Use hex matches + arithmetic to just check the correct
order/offsets instead of hardcoding the exact choice of address.
ld.bfd also supports --start-lib/--end-lib since 2.47, but it seems like
those don't actually work with linker plugins, so I'm not migrating them
(https://sourceware.org/bugzilla/show_bug.cgi?id=34572).
Followup to https://github.com/llvm/llvm-project/pull/130981.
Commit: 7a67a1ab6f3f6d716462872114a5e12f28cdb42a
https://github.com/llvm/llvm-project/commit/7a67a1ab6f3f6d716462872114a5e12f28cdb42a
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/ptr-int-cast.ll
M llvm/test/Transforms/InstSimplify/ptrtoint.ll
Log Message:
-----------
[InstSimplify] Don't fold ptrtoint of ptradd of sub (#221188)
Don't fold `ptrtoint (ptradd (Ptr, X - ptrtoint(Ptr))) -> X`. While
valid by itself, the fact that LLVM currently does not properly model
the ptrtoint side effect means that we lose the provenance exposure of
Ptr. This results in end-to-end miscompiles that led to the revert of
#210729.
We can still perform the optimization for ptrtoaddr, which does not
expose provenance.
Commit: 9707960f6f229118dc4500e5c3f1be239fd7efb2
https://github.com/llvm/llvm-project/commit/9707960f6f229118dc4500e5c3f1be239fd7efb2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
A llvm/test/Transforms/ConstraintElimination/induction-exit-condition-or-and.ll
Log Message:
-----------
[ConstraintElim] Handle single And/Or as exit condition in loop. (#221228)
In some cases, exits conditions in the loop are And/Or of and IV-based
condition and another condition. If the loop continues only if all
conditions are true (AND + true successor is the header, OR + false
successor is the header), we can still use the IV based condition to
bound the IV.
For now, just peels a single AND/OR.
This enables folds in a few additional cases:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1193.
PR: https://github.com/llvm/llvm-project/pull/221228
Commit: ccfc54aa053e1e0614660cc5f3ff0122eff02ab9
https://github.com/llvm/llvm-project/commit/ccfc54aa053e1e0614660cc5f3ff0122eff02ab9
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[IR] Split the attribute pool by kind. NFC (#221620)
Change Attribute::get overloads to use fine-grained hash-consing pools
(Enum/Int/String/Type), avoiding FoldingSetNodeID serialization
overhead. Use a flat array for Enum attributes, which carry no value.
The two ConstantRange kinds keep using FoldingSet: they are not used
often, and UniquingSet cannot be used with custom UniquingSetInfo
(`APInt::operator==` asserts identical BitWidth).
Aided by Opus 5
Commit: c5a85b9c6996b2459c169ef6a410c501980c9ea0
https://github.com/llvm/llvm-project/commit/c5a85b9c6996b2459c169ef6a410c501980c9ea0
Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
M clang/test/CIR/CodeGenOpenCL/address-spaces.cl
Log Message:
-----------
[CIR] Fix address space issues related to SPIR/SPIR-V targets (#220982)
This adds support for address space lowering for spir/spir64 (not v)
which are still widely used in OpenCL testing despite spirv32/spirv64
targets existence. This also corrects alloca address space for all
mentioned targets from default to private which is semantically correct
for them and avoids emission of spurious address space casts.
Assisted-by: claude in test cases updating
Commit: fc3ad3f8c655e0f74bb763a2d320e2792a96f0b5
https://github.com/llvm/llvm-project/commit/fc3ad3f8c655e0f74bb763a2d320e2792a96f0b5
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/test/CIR/CodeGenBuiltins/builtin-fpclassify.c
M clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
M clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
M clang/test/CIR/IR/enum-attrs.cir
Log Message:
-----------
[CIR] Migrate the FPClassTest bit enum and unquote its flags (#220888)
cir.is_fp_class printed its flags inconsistently. Single-bit values came
out
bare, as in `fcSNan`, while group values and combinations came out
quoted, as
in `"fcInf"` and `"fcSNan|fcNegInf"`. That comes from I32BitEnumAttr
setting
printBitEnumQuoted, which EnumAttr.td keeps only for backwards
compatibility.
Clearing the bit and using the `enum` directive selects the
separator-aware
parser and printer, so every value now spells unquoted:
cir.is_fp_class %x, fcSNan|fcNegInf : (!cir.float) -> !cir.bool
The enum also drops its specialized IntegerAttr for a CIR_EnumAttr
wrapper,
giving it the standalone spelling `#cir.fp_class<fcSNan|fcNegInf>`.
Commit: ae814d03d870475d03446ad9195c305912f062ea
https://github.com/llvm/llvm-project/commit/ae814d03d870475d03446ad9195c305912f062ea
Author: Vimal Patel <vimal.patel at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/call.ll
Log Message:
-----------
[InstSimplify] Improve coverage for zero-shift-guard folding for rotate (#217033)
The current logic responsible to fold zero-shift-guard performed the
folding only when the shift amount is exactly zero. But, the guard could
be eliminated as long as the funnel shift instruction is performing a
bitwise rotate and the shift amount is a multiple of the bitwidth of the
value being rotated. This commit makes this change.
Commit: 345dd01072956b7ddc36dbdfe39df2d991193e07
https://github.com/llvm/llvm-project/commit/345dd01072956b7ddc36dbdfe39df2d991193e07
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/docs/StandardCPlusPlusModules.md
M clang/include/clang/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/test/ClangScanDeps/P1689.cppm
A clang/test/ClangScanDeps/p1689-module-map.cppm
Log Message:
-----------
[C++20] [Modules] [ScanDeps] Scan results for module map file (#221652)
Previously we described the trick to use module map to import std module
implicitly. But in practice, this may not work as build tools can't get
the dependencies.
In this patch, we updated clang-scan-deps to report the dependencies
between consumers and the corresponding module described in module map
file in P1689 format. The P1689 format in clang-scan-deps is the defacto
dependency description between compiler and build tools. This helps end
users to use the trick without waiting for the support from various
build tools.
Commit: 1191f353cefe3c7ceb8e76fd03296e082a247685
https://github.com/llvm/llvm-project/commit/1191f353cefe3c7ceb8e76fd03296e082a247685
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/glibc_ptr_align.c
M clang/test/CodeGen/ptr-subtract-stable.c
M clang/test/CodeGen/vla.c
M clang/test/CodeGenCUDA/managed-var.cu
M clang/test/CodeGenOpenCL/address-spaces-conversions.cl
M clang/test/CodeGenOpenCL/nullptr.cl
M clang/test/CodeGenOpenCL/size_t.cl
M clang/test/OpenMP/depobj_codegen.cpp
M clang/test/OpenMP/for_range_loop_codegen.cpp
M clang/test/OpenMP/fuse_codegen.cpp
M clang/test/OpenMP/interchange_codegen.cpp
M clang/test/OpenMP/parallel_for_codegen.cpp
M clang/test/OpenMP/reverse_codegen.cpp
M clang/test/OpenMP/split_codegen.cpp
M clang/test/OpenMP/stripe_codegen.cpp
M clang/test/OpenMP/tile_codegen.cpp
Log Message:
-----------
Reapply [Clang][CodeGen] Use ptrtoaddr for pointer diff (#210729) (#221675)
Reapply https://github.com/llvm/llvm-project/pull/210729 without change
after https://github.com/llvm/llvm-project/pull/221188, which should fix
the miscompiles this change exposed.
-----
We don't have to expose the provenance of pointers for pointer
subtraction, so use ptrtoaddr instead of ptrtoint if -fwrapv-pointer is
not set.
Co-authored-by: Alexis Engelke <engelke at in.tum.de>
Commit: 038e968a7ec08ba7d9a262059f8fab91853656ea
https://github.com/llvm/llvm-project/commit/038e968a7ec08ba7d9a262059f8fab91853656ea
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
A lldb/test/API/commands/watchpoints/watchpoint_set_errors/Makefile
A lldb/test/API/commands/watchpoints/watchpoint_set_errors/TestWatchpointSetErrors.py
A lldb/test/API/commands/watchpoints/watchpoint_set_errors/main.c
R lldb/test/Shell/Watchpoint/Inputs/main.cpp
R lldb/test/Shell/Watchpoint/SetErrorCases.test
Log Message:
-----------
[lldb][test] Rewrite Watchpoint/SetErrorCases as API test (#221563)
This test is randomly failing on macOS bots with this error:
```
error: Command requires a process which is currently stopped.
```
There is no test logic in shell tests that can diagnose what is going on
with the process, so this patch rewrites this test as an API test where
we have better error handling.
Commit: 41a09be5d09b14c9f06a2b46f903b388a671546a
https://github.com/llvm/llvm-project/commit/41a09be5d09b14c9f06a2b46f903b388a671546a
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Don't recompute getPlan in simplifyRecipes. NFC (#221582)
getPlan involves a traversal, so avoid doing it on every recipe
simplified.
Improves compile time:
https://llvm-compile-time-tracker.com/compare.php?from=8f7d3ba08f14c3d54b8b407d1758dbd1da01bb38&to=aaeebfa47f57bbf1bc9f26ce9a4e777939f46352&stat=instructions:u
Commit: 544171da142fd5a380a943c9f7ea5150b9f2a293
https://github.com/llvm/llvm-project/commit/544171da142fd5a380a943c9f7ea5150b9f2a293
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/MustExecute.h
M llvm/lib/Analysis/MustExecute.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
[LoopSafetyInfo] Store Loop and automatically compute (NFC) (#221238)
This makes two changes:
* LoopSafetyInfo is bound to a single loop. Store the Loop in the ctor,
so it does not need to be passed to individual queries.
* Automatically compute LoopSafetyInfo on construction, instead of in a
separate call. This is mostly to clarify that (contrary to the doc
comment) nobody is actually trying to invalidate LoopSafetyInfo by
rerunning computeLoopSafetyInfo().
This makes it easier to change implementation details, like computing
information lazily.
Commit: 8d9c175633eb6a6100bdd1b6b67ff780cfc5d1b2
https://github.com/llvm/llvm-project/commit/8d9c175633eb6a6100bdd1b6b67ff780cfc5d1b2
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/test/CIR/IR/invalid-call.cir
M clang/test/CIR/IR/invalid-lang-attr.cir
Log Message:
-----------
[CIR] Move the CIR enums off the legacy EnumAttrInfo hierarchy (#220889)
MLIR has two enum hierarchies. `EnumAttrInfo` doubles as an
`IntegerAttr`
constraint, so every CIR enum had to clear `genSpecializedAttr` to say
it did
not want one. `EnumInfo` describes a C++ enum and nothing more.
Derive the CIR bases from `I32Enum`, `I64Enum` and `I32BitEnum`, and
widen
`CIR_EnumAttr` to the `EnumInfo` that upstream `EnumAttr` already takes.
The
flag no longer exists to clear. `FPClassTestEnum` gets unquoted printing
from
`BitEnumBase` rather than overriding `printBitEnumQuoted`, and
`CIR_KnownFuncKind` drops a `parameterPrinter` the generated
`operator<<`
now covers, still spelling `#cir.func_identity<"std::find">`.
Commit: 2fd8d41d7b8824637be32d569c1e1482128b057b
https://github.com/llvm/llvm-project/commit/2fd8d41d7b8824637be32d569c1e1482128b057b
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
A llvm/test/CodeGen/X86/pr216504.ll
Log Message:
-----------
[X86] Don't fold loads from non-fixed stack objects into tail calls (#221243)
Fixes #216504
The callee of a tail call can be folded into the jump as a memory
operand (`TCRETURNmi64`). That jump runs after the epilogue, so the
operand is resolved relative to the incoming stack pointer, which only
works for fixed objects such as incoming arguments. Here the callee was
a `volatile` local, so the load stayed on the stack and got folded,
while a variable-index extract from a 256-bit vector went through a
32-byte stack temporary and forced dynamic realignment. Once the stack
is realigned a local has no static offset from the incoming stack
pointer, and PEI tripped the assertion. The sibcall eligibility check
does look at realignment, but it runs before legalization, so it never
saw the temporary. Spill slots created during register allocation can
cause the same thing, so no check at that point can be complete.
The fold is now refused whenever the load's address may use a non-fixed
frame index, in `checkTCRetEnoughRegs`, which gates both the
`TCRETURNmi` patterns and the callee-load hoisting in
`PreprocessISelDAG`. The callee is loaded into a register before the
epilogue and the call is still emitted as a tail call. Loads from fixed
objects fold as before. As a side effect this also stops the jump from
reading a slot below the restored stack pointer, which was only safe
inside the red zone.
Commit: 73344b523c93f25c9dafcabf803295e92bf5cb5f
https://github.com/llvm/llvm-project/commit/73344b523c93f25c9dafcabf803295e92bf5cb5f
Author: Clemens Wasser <clemens.wasser at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/test/DebugInfo/Generic/debug-label-inline.c
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
M llvm/test/DebugInfo/Generic/inline-debug-info-multiret.ll
M llvm/test/DebugInfo/Generic/inline-debug-info.ll
M llvm/test/DebugInfo/Generic/inline-no-debug-info.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/inline.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineDebug.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineVarArgsDebug.ll
M llvm/test/Transforms/Inline/X86/inline-landing-pad.ll
M llvm/test/Transforms/Inline/debug-invoke.ll
M llvm/test/Transforms/Inline/dilocation-loop-metadata-update.ll
M llvm/test/Transforms/Inline/inline_dbg_declare.ll
M llvm/test/Transforms/SafeStack/ARM/debug.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-emit-inline.ll
Log Message:
-----------
[Inliner] Use distinct DILocations and cache inlineDebugLoc by OrigDL (#204817)
Found while profiling clang compiling `SLPVectorizer.cpp`.
The call chain `DILocation::get` -> `DILocation::getImpl` ->
`llvm::getUniqued` caused lots of expensive `DenseSet` `find_as` and
`grow` operations due to the cache being really inefficient. Switch to
`DILocation::getDistinct` and cache `inlineDebugLoc` by `OrigDL` for a
more efficient cache.
Commit: 34c0dc0bbf96ed16f47115b1c9033a450ad2bcf4
https://github.com/llvm/llvm-project/commit/34c0dc0bbf96ed16f47115b1c9033a450ad2bcf4
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/tools/llvm-readobj/COFFDumper.cpp
Log Message:
-----------
[llvm][llvm-readobj][NFC] clang-format COFFDumper.cpp (#221688)
Prior to changes to it in #221224.
This formats the whole file, and when it's landed I'll add the commit
hash to .git-blame-ignore-revs.
Commit: 39daa556ccaa69f6a2db45f414f33fad128e5d48
https://github.com/llvm/llvm-project/commit/39daa556ccaa69f6a2db45f414f33fad128e5d48
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
AArch64: Drop AllowFPOpFusion from isProfitableToHoist (#221402)
Commit: abbc159932f12e00ae4ee834ab662951811be772
https://github.com/llvm/llvm-project/commit/abbc159932f12e00ae4ee834ab662951811be772
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[llvm][llvm-readobj][NFC] Add formatting commit to ignore revs (#221693)
See #221688.
Commit: 8727da4880d069d0feb0c4346b902dc917500083
https://github.com/llvm/llvm-project/commit/8727da4880d069d0feb0c4346b902dc917500083
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.md
R clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.md
R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.md
R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.md
R clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.md
R clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.md
R clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.md
R clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.md
R clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.md
R clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.md
R clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
Log Message:
-----------
[clang-tidy][docs] Rename readability check docs to Markdown [1/5] (#221446)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is the first part of the mechanical rename of the check
documentations in readability module.
The rewrite is provided by the next PR in this stack.
Commit: 76a090dfd9d81761087453de3ada2eb7ff2528f7
https://github.com/llvm/llvm-project/commit/76a090dfd9d81761087453de3ada2eb7ff2528f7
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.md
M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.md
M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.md
M clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.md
M clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.md
M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.md
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.md
M clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.md
M clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.md
M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.md
Log Message:
-----------
[clang-tidy][docs] Rewrite readability check docs to Markdown [1/5] (#221447)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is the first part of rewriting check documentations in readability
module from reST to MyST Markdown.
AI Usage: This was prepared with rnk's fork of rst2myst and
GPT5.6-assisted cleanup.
I manually verified that the documentation renders as expected.
Preview site:
https://broken.life/llvm-staging/readability-markdown-port/index.html
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: d268cdb7d1fdb5fbc595426092991f9885d18dbf
https://github.com/llvm/llvm-project/commit/d268cdb7d1fdb5fbc595426092991f9885d18dbf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-fmuladd.ll
Log Message:
-----------
CodeGen: Drop AllowFPOpFusion check from fmuladd lowering (#221667)
Commit: 2e30c8e267256e3a2b43985d9be68831c412a1b5
https://github.com/llvm/llvm-project/commit/2e30c8e267256e3a2b43985d9be68831c412a1b5
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
A flang/include/flang/Evaluate/char.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/initial-image.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/logical.h
M flang/include/flang/Evaluate/real.h
M flang/lib/Evaluate/host.h
M flang/lib/Evaluate/initial-image.cpp
Log Message:
-----------
[Flang][NFCI] Use abstraction for binary scalar data (#212956)
There is currently the assumption that the binary representation of the
scalar data classes (Integer, Real, Complex, Logical) is identical to
the binary representation of native types. For instance `Integer<64>`
can be reinterpret-casted to a `int64_t` or serialized using `memcpy`.
This will not be the case anymore with #206907. This first PR introduces
`LoadRawBytes` and `StoreRawBytes` abstractions that can be adapted when
the binary data layout of the scalar data classes change. No functional
change intended.
The binary representation is assumed for these uses:
1. Data serialization in initial-image.h/.cpp
2. Calling native math functions to constant-fold functions such as
`sin` in intrinsics-library.cpp. An abstraction layer has been created
in host.h/host.cpp to convert between host-native types and the scalar
data classes.
Some implementation notes:
* I originally used `CharacterUtils` but it is in a private header file.
Instead I created `CharacterValue` which similar to what #216960 will
introduce to allow a consistent interface between the scalar value
classes (such as `kind()` returning the current runtime kind)
* `bytesStored` is another such common interface. It it meant to
resemble `llvm::DataLayout::getTypeStoreSize` (there is also
`getTypeAllocSize`, `llvm::Type::getPrimitiveSizeInBits()`,
`llvm::Type::getScalarSizeInBits()`) and must match
`common::TypeSizeInBytes`.
* `Real<10>` uses 16-byte alignment regardless what the host compiler
thinks what `long double` should be. The padding is unitialized data in
`X87IntegerContainer`. Even though x87 is the classic example where
"allocation size" and "store size" would be different, Flang does not
differentiate between them and treats all bytes also as stored bytes,
see `common::TypeSizeInBytes`. As a consequence, `Complex<10>` is 32
bytes. initial-image.h/.cpp will even load/store/compare that
uninitialized data. host.h/host.cpp instead reads/writes the floats
separately to translate to whatever the host compiler does.
* initial-image.cpp/.h is inconsistent when it uses number of bytes and
when it uses number of characters
* For the case the image does not have sufficient bytes to read, I did
not want to insert checks whether another byte can be read into every
ReadRawBytes function, and instead add zero-padding explicitly when
necessary.
Assisted-by: AI
Commit: d9bcffd284812c3e29805af27d32fdedd82c5acc
https://github.com/llvm/llvm-project/commit/d9bcffd284812c3e29805af27d32fdedd82c5acc
Author: Romanov Vlad <Vladislav.Romanov at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/agpr-csr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-no-agprs-violations.ll
A llvm/test/CodeGen/AMDGPU/coexec-sched-agpr-excess.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
Log Message:
-----------
[AMDGPU] Add AGPR pressure tracking (#214745)
Add AGPR pressure tacking in RPDelta.
Commit: 11a9127fbe072d84571712bb5e2aa9ebd964a802
https://github.com/llvm/llvm-project/commit/11a9127fbe072d84571712bb5e2aa9ebd964a802
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lld/test/COFF/arm64ec-export-thunks.test
M lld/test/COFF/arm64ec-import.test
M lld/test/COFF/baserel.test
M lld/test/COFF/code-merge.s
M lld/test/COFF/common-replacement.s
M lld/test/COFF/merge-data-bss.test
M lld/test/COFF/nodbgdirmerge.test
M lld/test/COFF/secrel-common.s
M lldb/test/Shell/SymbolFile/NativePDB/globals-bss.cpp
M llvm/test/MC/AArch64/seh-large-func-multi-epilog.s
M llvm/test/MC/AArch64/seh-large-func.s
M llvm/test/MC/AArch64/seh.s
M llvm/test/MC/AArch64/win-import-call-optimization.s
M llvm/test/MC/ARM/seh.s
M llvm/test/MC/COFF/addrsig.s
M llvm/test/MC/COFF/align-nops.s
M llvm/test/MC/COFF/basic-coff-64.s
M llvm/test/MC/COFF/basic-coff.s
M llvm/test/MC/COFF/bss.s
M llvm/test/MC/COFF/cgprofile.s
M llvm/test/MC/COFF/module-asm.ll
M llvm/test/MC/COFF/section.s
M llvm/test/MC/COFF/seh-align1.s
M llvm/test/MC/COFF/seh-align2.s
M llvm/test/MC/COFF/seh-align3.s
M llvm/test/MC/COFF/seh-section.s
M llvm/test/MC/COFF/seh.s
M llvm/test/MC/COFF/symbol-fragment-offset-64.s
M llvm/test/MC/COFF/symbol-fragment-offset.s
M llvm/test/MC/X86/win-import-call-optimization.s
M llvm/test/tools/llvm-ar/arm64x-split.yaml
M llvm/test/tools/llvm-objcopy/COFF/add-gnu-debuglink.test
M llvm/test/tools/llvm-objcopy/COFF/add-section-and-set-flags.test
M llvm/test/tools/llvm-objcopy/COFF/empty-sections.s
M llvm/test/tools/llvm-objcopy/COFF/only-keep-debug-rdata.test
M llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
M llvm/test/tools/llvm-objcopy/COFF/update-section.test
M llvm/test/tools/llvm-offload-wrapper/coff-opt-ref.ll
M llvm/test/tools/llvm-readobj/COFF/arm64x-hybridobj.yaml
M llvm/test/tools/llvm-readobj/COFF/bigobj.test
M llvm/test/tools/llvm-readobj/COFF/sections-ext.test
M llvm/test/tools/llvm-readobj/COFF/sections.test
M llvm/test/tools/yaml2obj/COFF/xrelocs.yaml
M llvm/tools/llvm-readobj/COFFDumper.cpp
Log Message:
-----------
[llvm][llvm-readobj] Print COFF RawDataSize as hex (#221224)
To match VirtualSize, and Microsoft's dumpbin which prints both as hex:
SECTION HEADER #1
.text name
440B4 virtual size
1000 virtual address (0000000140001000 to 00000001400450B3)
44200 size of raw data
llvm-readobj before this change:
VirtualSize: 0x3478
VirtualAddress: 0x74000
RawDataSize: 3584
And after:
VirtualSize: 0x3478
VirtualAddress: 0x74000
RawDataSize: 0xe00
This was pointed out on
https://github.com/llvm/llvm-project/issues/220618, where I was having
to manually convert the numbers to compare them.
Commit: 65b2748a68c9d20ec4303c3e9bf1ca0398be8777
https://github.com/llvm/llvm-project/commit/65b2748a68c9d20ec4303c3e9bf1ca0398be8777
Author: Tapiwa Gonga <126596199+tapiwagonga at users.noreply.github.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M libc/CMakeLists.txt
A libc/docs/dev/code_coverage.md
M libc/docs/dev/index.md
Log Message:
-----------
[libc] Enable code coverage using continuous instrumentation profiling (#213271)
This patch adds coverage to LLVM-libc using Clang continuous
instrumentation.
The `LIBC_ENABLE_COVERAGE` CMake option enables
`-fprofile-instr-generate=libc_cov_%c%p.profraw`, `-fcoverage-mapping`,
and `-fprofile-continuous` for Clang overlay builds, and is limited to
overlay build.
Developer documentation and usage instructions are added in
`libc/docs/dev/code_coverage.md` and indexed in
`libc/docs/dev/index.md`.
Assisted-by: Automated tooling, human reviewed.
Commit: bb577f620571ce3bb97f2e717b53500574a9cf27
https://github.com/llvm/llvm-project/commit/bb577f620571ce3bb97f2e717b53500574a9cf27
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
Log Message:
-----------
[AArch64][GlobalISel] Select i16/f16 cross-bank bitcasts (#220612)
Test bitcast_to_half in
llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll crashes with
H0 = COPY W8
unimplemented reg-to-reg copy
UNREACHABLE executed at
/home/culrho01/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:6363!
when type-based RegBankSelect (#199040) is enabled. Normal RBS keeps
both operands on GPR and moves to FPR afterward. This extends
instruction select to support bitcasts where src/dst reg bank doens't
match.
Assisted-by: codex
Commit: bf7aaf77d0916adaa3cd043fc0966a33c1364e2c
https://github.com/llvm/llvm-project/commit/bf7aaf77d0916adaa3cd043fc0966a33c1364e2c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
A llvm/test/Transforms/DeadStoreElimination/wide-pointer-index-offset.ll
Log Message:
-----------
[ValueTracking] Handle idx widths > 64 bit in GetPointerBaseWithConst. (#221692)
GetPointerBaseWithConstantOffset may be called for GEPs with indices
that do not fit into 64 bit. Use trySExtValue to avoid assertions in the
newly added tests.
PR: https://github.com/llvm/llvm-project/pull/221692
Commit: afb42af9cc18d0dd08ccac3577310e049095700b
https://github.com/llvm/llvm-project/commit/afb42af9cc18d0dd08ccac3577310e049095700b
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/test/CIR/CodeGenCUDA/builtins-nvvm-math.cu
M clang/test/CodeGen/builtins-nvptx.c
M llvm/docs/NVPTXUsage.md
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/NVVMIntrinsicUtils.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/CodeGen/NVPTX/bf16-add.ll
A llvm/test/CodeGen/NVPTX/bf16-sub.ll
R llvm/test/CodeGen/NVPTX/f16-add-sat.ll
A llvm/test/CodeGen/NVPTX/f16-add.ll
R llvm/test/CodeGen/NVPTX/f16-sub-sat.ll
A llvm/test/CodeGen/NVPTX/f16-sub.ll
A llvm/test/CodeGen/NVPTX/fp-add-f32x2.ll
A llvm/test/CodeGen/NVPTX/fp-add-invalid.ll
M llvm/test/CodeGen/NVPTX/fp-arith-sat.ll
A llvm/test/CodeGen/NVPTX/fp-fold-sub-f32x2.ll
M llvm/test/CodeGen/NVPTX/fp-fold-sub.ll
M llvm/test/CodeGen/NVPTX/mixed-precision-fp.ll
M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-add.ll
A llvm/test/Verifier/NVPTX/fadd.ll
M llvm/unittests/IR/IntrinsicsTest.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/nvvm/addf/addf.mlir
M mlir/test/Target/LLVMIR/nvvm/addf/addf_invalid.mlir
M mlir/test/Target/LLVMIR/nvvm/addf/addf_vector.mlir
M mlir/test/Target/LLVMIR/nvvm/subf/subf.mlir
M mlir/test/Target/LLVMIR/nvvm/subf/subf_invalid.mlir
M mlir/test/Target/LLVMIR/nvvm/subf/subf_vector.mlir
Log Message:
-----------
[clang][NVPTX][MLIR][NVVM] Add overloaded fadd intrinsics (#221681)
This change adds the following overloaded `fadd` intrinsics with
NVPTX codegen:
- `llvm.nvvm.fadd`
- `llvm.nvvm.fadd.ftz`
- `llvm.nvvm.fadd.sat`
- `llvm.nvvm.fadd.ftz.sat`
The rounding mode is passed in as an `i32` immediate operand.
Auto-upgrades the older non-overloaded intrinsics to the new
ones, and updates clang builtins, CIR codegen, and MLIR NVVM ops
to lower to the new intrinsics.
In the interest of completion, this also:
- Adds intrinsics support for lowering some half-precision additions
that were omitted earlier (`f16/f16x2` without saturation, and
`bf16/bf16x2` additions), and support for the `f32x2` type.
- Extends the DAG combine pattern for lowering `fneg + add-intrinsic`
to `sub` instructions to all supported types.
- Adds tests for constant folding of these intrinsics with the newly
supported scalar types.
PTX Spec Reference:
https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#floating-point-instructions-add
Assisted-by: Claude Opus 5
Commit: 41235ec98c8a152d5be53f78437faf36fe9d2a15
https://github.com/llvm/llvm-project/commit/41235ec98c8a152d5be53f78437faf36fe9d2a15
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Bring isLegalGatherOrScatter in line with existing method (NFC) (#221698)
Bring isLegalGatherOrScatter in line with isLegalMaskedLoadOrStore in
prepartion to widen gathers/scatters in VPlan.
Commit: be0fa604519d749fdd6e3f3b943f85a9cbdb13bf
https://github.com/llvm/llvm-project/commit/be0fa604519d749fdd6e3f3b943f85a9cbdb13bf
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/lib/AST/ExternalASTSource.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
Log Message:
-----------
[clang][AST] Fix generation with multiple external sources (#219189)
ExternalASTSource::incrementGeneration returns the OldGeneration,
which must be taken into account in case it is delegated to the topmost
external source.
This obsoletes a long-standing downstream patch in Cling that was
previously submitted in https://reviews.llvm.org/D39714.
Test proposed by Vassil Vassilev, assisted by Claude.
Commit: 102073935c094577b0f88c7be8e432211d74cfb0
https://github.com/llvm/llvm-project/commit/102073935c094577b0f88c7be8e432211d74cfb0
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M orc-rt/CMakeLists.txt
M orc-rt/lib/bedrock/CMakeLists.txt
M orc-rt/lib/support/CMakeLists.txt
Log Message:
-----------
[orc-rt] Add ORC_RT_ENABLE_PIC, default on. (#221705)
An upcoming patch will add support for building bedrock as a dylib. In
preparation for this, add ORC_RT_ENABLE_PIC option, and use it to set
POSITION_INDEPENDENT_CODE (needed for shared library builds) on the
bedrock and support object libraries.
Commit: cd3a2657c7193abbdba4620649ff5b8f7409e47a
https://github.com/llvm/llvm-project/commit/cd3a2657c7193abbdba4620649ff5b8f7409e47a
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/test/clang-tidy/checkers/bugprone/macro-parentheses.cpp
Log Message:
-----------
[clang-tidy] Fix bugprone-macro-parentheses false positives for alias names (#219955)
Fixes #219922.
Commit: 24319927cb0c4acbe9fb3f2bd042b07dad2a4f9f
https://github.com/llvm/llvm-project/commit/24319927cb0c4acbe9fb3f2bd042b07dad2a4f9f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
Log Message:
-----------
[mlir][NVVM] Reject f16 WGMMA accumulators for BF16 inputs (#220869)
WGMMA supports an f32 accumulator for BF16 multiplicands. The verifier
also accepted an f16 accumulator, allowing an unsupported operation
through dialect verification.
Restrict the BF16 case to f32 and add verifier coverage to the existing
NVVM dialect test.
Found by Coverity.
Assisted-by: Codex
Commit: ef23a997b4e0f555d467158c0ac47357c41b1314
https://github.com/llvm/llvm-project/commit/ef23a997b4e0f555d467158c0ac47357c41b1314
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
Log Message:
-----------
[LifetimeSafety] Gate lifetime checks behind per-diagnostic opts (#221610)
Granular Lifetime Safety Check Gating
We split `IsLifetimeSafetyEnabled` into individual check functions in
`SemaLifetimeSafety.h`.
These properties are stored in `LifetimeSafetyOpts`, which are then
checked inside the `Checker` to avoid invoking expensive reporting
functions mapping to diagnostics that are disabled.
`reportMisplacedLifetimebound` was found to be the most expensive
(possibly because it iterates on redecls).
Commit: 9fcc880e5a724c7fb95b646595eb081033a601d7
https://github.com/llvm/llvm-project/commit/9fcc880e5a724c7fb95b646595eb081033a601d7
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
M llvm/test/Transforms/ConstraintElimination/induction-relational-predicate-latch.ll
M llvm/test/Transforms/ConstraintElimination/induction-symbolic-start-postinc.ll
Log Message:
-----------
[ConstraintElim] Support loops where header is also latch. (#221494)
Remove the bail out for header == latch. We now support deriving facts
from the latch condition and the restriction is no longer necessary.
This enables inferring additional flags in a number of cases, and a few
additional folds in practice:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1200.
It also removes a surprising limitation when writing manual tests.
PR: https://github.com/llvm/llvm-project/pull/221494
Commit: 34dff487dd711a6a6d6a22f474ce475bce757b47
https://github.com/llvm/llvm-project/commit/34dff487dd711a6a6d6a22f474ce475bce757b47
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.h
M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/many-uses-fma-candidate.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/fma-operand-index.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-fadd-reassoc.ll
Log Message:
-----------
[SLP]Flatten fsub/fneg chains into fadd reductions with per-operand signs
For unordered fadd reductions, reassociable (reassoc+nsz) fsub/fneg
chain links are recursed into and their leaves tracked with a flipped
sign, which is part of the grouping key, so reduced-values groups are
sign-uniform by construction. If per-value signs cannot model the
chain, the analysis restarts once without the flattening. Negated
parts are combined with vector fsub (may form per-lane fma) and
subtracted once in the final combine; no extra negations are emitted.
Fixes #211521
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/215840
Commit: 0fc0c614130666dbf626db6650285f83340b7c17
https://github.com/llvm/llvm-project/commit/0fc0c614130666dbf626db6650285f83340b7c17
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
M llvm/test/CodeGen/AArch64/PBQP-chain.ll
M llvm/test/CodeGen/AArch64/PBQP-coalesce-benefit.ll
M llvm/test/CodeGen/AArch64/PBQP-csr.ll
M llvm/test/CodeGen/AArch64/arithmetic_fence.ll
M llvm/test/CodeGen/AArch64/arm64-2013-01-13-ffast-fcmp.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/arm64-fml-combines.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
M llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll
M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-vector-list-spill.ll
M llvm/test/CodeGen/AArch64/fnmul.ll
M llvm/test/CodeGen/AArch64/fp16-fmla.ll
M llvm/test/CodeGen/AArch64/neon-fpextend_f16.ll
M llvm/test/CodeGen/AArch64/neon-fpround_f128.ll
M llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
M llvm/test/CodeGen/AMDGPU/fdot2.ll
M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse2.ll
M llvm/test/CodeGen/Hexagon/swp-loop-carried.ll
M llvm/test/CodeGen/Hexagon/swp-max-stage3.ll
M llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
M llvm/test/CodeGen/Hexagon/swp-rename-dead-phi.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll
M llvm/test/CodeGen/PowerPC/fma-mutate-duplicate-vreg.ll
Log Message:
-----------
CodeGen: Drop inert -fp-contract flags from tests (#221710)
-fp-contract is nearly dead, but referenced in tests. These have
no output change with or without the flag now.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: bbed4e22becfb7f271ad11d9e408e43b2500e459
https://github.com/llvm/llvm-project/commit/bbed4e22becfb7f271ad11d9e408e43b2500e459
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/clmul-vector-256.ll
M llvm/test/CodeGen/X86/clmul-vector-512.ll
M llvm/test/CodeGen/X86/clmul-vector.ll
Log Message:
-----------
[X86] LowerCLMUL - improve CLMULH vXi32 codegen (#221668)
Extension to #221289 - adds CLMULH handling by ensuring we zero out the
upper 64-bits of the PCLMULQDQ input and extract the upper i32 element
during unpacking the vector result back together
Commit: 8436dd4a2bfe57d0b3fb6c9c11c69d75c1d1bccb
https://github.com/llvm/llvm-project/commit/8436dd4a2bfe57d0b3fb6c9c11c69d75c1d1bccb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[mlir][NVVM] Move MMA verifier type sets (NFC) (#221712)
Build the fixed-size operand type collection by moving the locally
computed allowed-type sets. The verifier does not use the individual
sets afterward, so copying their nested vectors is unnecessary.
Found by Coverity.
Assisted-by: Codex
Commit: e5f39fb259ea9c6d52fe9b2cd4213c17b7f11a56
https://github.com/llvm/llvm-project/commit/e5f39fb259ea9c6d52fe9b2cd4213c17b7f11a56
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-store-chain.ll
Log Message:
-----------
[SLP][NFC]Add a test with the regression in SLP perf, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221716
Commit: ac129cd8965f557bbc361011c3c28a378b86c969
https://github.com/llvm/llvm-project/commit/ac129cd8965f557bbc361011c3c28a378b86c969
Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/test/CIR/CodeGen/ptrdiff.c
M clang/test/CIR/CodeGen/ptrdiff.cpp
Log Message:
-----------
[CIR] Fix ptrdiff tests after 1191f353cefe3c7ceb8e76fd03296e082a247685 (#221703)
Commit: 42b846980eeacd8052d7a463e1aea8bb91aff248
https://github.com/llvm/llvm-project/commit/42b846980eeacd8052d7a463e1aea8bb91aff248
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-struct-type.ll
Log Message:
-----------
[SLP]Fix crash in canBuildSplitNode on struct-typed scalars
Split nodes require plain vector types for the cost model and codegen,
but getWidenedType on a struct scalar type returns a struct-of-vectors,
so the cast<VectorType> asserted. Bail out on struct-typed scalars, they
are not supported.
Fixes #221715
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221721
Commit: cb9654f7491d429d03eaf3fd5c01c45c90c32200
https://github.com/llvm/llvm-project/commit/cb9654f7491d429d03eaf3fd5c01c45c90c32200
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb][test] Bump utility expression timeout to 10 minutes (#221691)
LLDB needs to sometimes run utility expressions such as loading
libraries via a call to `dlopen`. These utility expressions have a
timeout associated with them which is only 15 seconds (and 60 on
sanitized builds).
I suspect our expressions reaching this timeout is the reason why
TestLoadUsingPaths.py sometimes fails to load libraries and produces
this error:
```
File "../TestLoadUsingPaths.py", line 78, in test_load_using_paths
self.assertNotEqual(token, lldb.LLDB_INVALID_IMAGE_TOKEN, "Got a valid token")
```
This patch bumps the timeout to 10 minutes. There is no good reason why
this timeout should exist in the first place on test bots, and maybe we
should remove them or make them fatal errors on the test bots. But for
now this patch should at least fix the test randomly failing on very
slow bots.
Commit: e30a45f88b003e3baaf268040e85b80826a83394
https://github.com/llvm/llvm-project/commit/e30a45f88b003e3baaf268040e85b80826a83394
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][test] Merge demangling tests into one test (#221214)
The XML test report that LIT generates describes the outcome of every
test in the test suite. Currently, the test report for the LLDB unit
tests alone is about 5MiB of which 4.7MiB (about 94%) are used to
describe all 30'000 DemanglingInfoCorrectnessTest instances names (they
don't have any output on success, so this is just used to describe the
test names).
This patch merges all these test instances into one. To make test
failures still easy to parse, this patch changes test function to use a
gtest scrope (which annotates failures with the mangled name) and use
non-fatal checks to continue testing when one test fails.
This reduces the test report size overhead of these tests from 4.7MiB to
about 100B.
assisted-by: claude
Commit: b9b5fb9fec7a078e9d5471db19fccc681eb3559a
https://github.com/llvm/llvm-project/commit/b9b5fb9fec7a078e9d5471db19fccc681eb3559a
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M flang/lib/Lower/PFTBuilder.cpp
Log Message:
-----------
[flang] Enable wrap-unstructured-constructs-in-execute-region by default (#221637)
More extensive testing since the flag was introduced, with the
regressions it uncovered now fixed, see:
* https://github.com/llvm/llvm-project/pull/218674
* https://github.com/llvm/llvm-project/pull/217220
* https://github.com/llvm/llvm-project/pull/217842
* https://github.com/llvm/llvm-project/pull/216280
Commit: 59f30df017e98a45ae2d209f71f95f6ac168151d
https://github.com/llvm/llvm-project/commit/59f30df017e98a45ae2d209f71f95f6ac168151d
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
A mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16-aggressive.mlir
A mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16.mlir
Log Message:
-----------
[mlir][tosa] Add F32 to F16 type narrowing pass (#218900)
Add `tosa-narrow-f32-to-f16`, extending the shared TOSA type narrowing
infrastructure with support for destructively converting F32 tensors,
scalar attributes, dense constants, and resource-backed constants to
F16.
The pass supports conservative and aggressive rewriting, optional
function-boundary conversion, and optional preservation of F32
accumulator types.
Add coverage for constant precision loss, function boundaries, regions,
dense resources, aggressive rewriting, and accumulator-type
preservation.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 7987830e776411a0de84c0c75e9f1059acadceb5
https://github.com/llvm/llvm-project/commit/7987830e776411a0de84c0c75e9f1059acadceb5
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Types.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Types.cpp
A clang/test/Driver/Inputs/object0.o
M clang/test/Driver/aix-ld.c
A clang/test/Driver/pch-inputs.h
Log Message:
-----------
[Clang][Driver] Final phase also determined by input (#218802)
Before this PR, `getFinalPhase` assumed that when no option is give then
the final phase will a linking step. This is objectively wrong: For
instance passing a header file as input (`-x c-header` or `-x
c++-header`) triggers precompilation, not linking. Other inputs that do
not have a link phase as specified by `Types.def`
are `.dxo`, `.ifs`, and `.hlsl` files.
Instead of defaulting to link in the absence of any action flag, this PR
uses the last phase that `Types.def` specifies for the given input
files. The effect of this is relevant when handling linking options
which are categorized as "input" like any other file.
Usually these should be filtered out if
there is no linking step. But, since `getFinalPhase` says there is a
linking flag, those are forwarded to the precompile handling which gets
confused with such "inputs". An accurate determination of the final
phase filters out those non-applicable linker options.
Note that the second condition of
`clang::diag::warn_drv_input_file_unused` was inverted: It would print
> clang: warning: -lfoo: 'linker' input unused when '' is present
[-Wunused-command-line-argument]
when passing a linker option to a non-link command that is not the
result of an action command flag. Inversely, when a non-link action flag
was used, it wasn't mentioned in the diagnostic message.
Commit: 1871cb232f00d67193c3ef085e26b67b56029d21
https://github.com/llvm/llvm-project/commit/1871cb232f00d67193c3ef085e26b67b56029d21
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
Log Message:
-----------
[clang-tidy][NFC] Convert check list to yaml format (#221411)
Yaml format was introduced in 19-20 release which is old enough to
safely transition our file to new version since we are on 23 release
already.
Commit: 71036f99e0dcc24b12cbcbcc2088b8d715465e0f
https://github.com/llvm/llvm-project/commit/71036f99e0dcc24b12cbcbcc2088b8d715465e0f
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[NFC] Stop relying on the LocationDescription conversion in unit tests. (#221004)
`LocationDescription` has an implicit conversion from a bare insertion
point, and it leaves DL default-constructed. `OpenMPIRBuilderTest`
depends on that in a number of places, either by naming an insertion
point directly or by handing `Builder.saveIP()` to an entry point that
takes a `LocationDescription`.
Spell out what each of those sites means instead. Where a live builder
is already sitting at the insertion point it is passed directly, and
where the test names an insertion point of its own the empty location is
written out, which is what it was getting before, so no test changes
behavior.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 137d8e684984df207576c8f24bd8743ddb71c5c9
https://github.com/llvm/llvm-project/commit/137d8e684984df207576c8f24bd8743ddb71c5c9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/test/CodeGen/X86/avx512f-large-stack.ll
A llvm/test/CodeGen/X86/huge-frame-index.ll
Log Message:
-----------
[X86] Fix eliminateFrameIndex dropping existing index register for huge frame offsets
When the frame offset does not fit in disp32 and the address mode already
uses an index register, the register-scavenging path overwrote the index
operand with the scratch register, silently dropping the index from the
effective address (and applying the stale scale to the frame offset).
Fold the offset into the base register with an LEA in this case instead.
Fixes #213960
Assisted-by: Cursor
Reviewers: RKSimon, qcolombet
Pull Request: https://github.com/llvm/llvm-project/pull/221016
Commit: b9871b325ed34e4dea7ea81e8ec5c72fd6e1f0e7
https://github.com/llvm/llvm-project/commit/b9871b325ed34e4dea7ea81e8ec5c72fd6e1f0e7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
M clang/test/CodeGen/AArch64/lit.local.cfg
A clang/test/CodeGen/AArch64/sve/dup.c
A clang/test/CodeGen/AArch64/sve/len.c
Log Message:
-----------
[clang][CIR][AArch64] Move and reformat SVE test (#220599)
Adapts SVE tests to match the approach that we took for Neon. In
particular, test are moved to:
* "clang/test/CodeGen/AArch64/sve"
There is no change in test coverage.
Commit: 759e1fff9e41cf4ad313c117cd024650b4566a71
https://github.com/llvm/llvm-project/commit/759e1fff9e41cf4ad313c117cd024650b4566a71
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/wide-vscale-range-max-runtime-vf.ll
Log Message:
-----------
[LV] Use getMaxRuntimeElementCount for MaxPowerOf2RuntimeVF. (#221219)
Use new getMaxRuntimeElementCount to compute MaxPowerOf2RuntimeVF to
avoid overflow by performing computations in uint64_t.
This fixes an overflow in the test added in #219290. We now correctly
determine that a tail is needed for a low trip count loop.
PR: https://github.com/llvm/llvm-project/pull/221219
Commit: 972cd3ddf3d58ecb79a4e6b62b35147513f3aeea
https://github.com/llvm/llvm-project/commit/972cd3ddf3d58ecb79a4e6b62b35147513f3aeea
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Silence unused variable warning on Windows on Arm (#221176)
<...>/llvm-project/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp(507,8):
warning: unused variable 'log' [-Wunused-variable]
507 | Log *log = GetLog(WindowsLog::Exception);
| ^~~
Move that line into the `#ifndef __aarch64__` block to fix this.
Commit: c84706fd8cab200aa460b7737fa5412a0c1628d8
https://github.com/llvm/llvm-project/commit/c84706fd8cab200aa460b7737fa5412a0c1628d8
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll
Log Message:
-----------
[AArch64][SVE] Lower extended v2i8 loads using SVE. (#217006)
Loads of v2i8 are promoted to v2i32, which requires two extend
operations; v2i8 -> v2i16, then v2i16 -> v2i32. This comes largely for
free when using SVE's extending loads.
Commit: 330bb868b4a5d6035a1511169dacc72e913d009f
https://github.com/llvm/llvm-project/commit/330bb868b4a5d6035a1511169dacc72e913d009f
Author: Mikhail Titov <42744001+Anchels at users.noreply.github.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/docs/LibFuzzer.md
Log Message:
-----------
[docs][libFuzzer] Fix formatting and collapsed definition lists (#206709)
This PR fixes broken formatting and collapsed definition lists in the
libFuzzer documentation by adding missing blank lines.
Closes #206706
Signed-off-by: Anchels <mishtitov at gmail.com>
Commit: 95de5eb9942a20285afd59f7c197ba005a9b937b
https://github.com/llvm/llvm-project/commit/95de5eb9942a20285afd59f7c197ba005a9b937b
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR] Drop dead ceremony around the CIR enum attributes (#220890)
Five things that no longer earn their place in the CIR enum attribute
machinery.
CIR_CleanupKindAttr carried three. Its cppClassName restated the default
AttrDef already derives. Its skipDefaultBuilders plus hand-written
AttrBuilder existed only to default $value to CleanupKind::All, which no
caller relies on, so the generated builders stayed suppressed for
nothing.
And its summary and description restated the name, overriding the enum's
own
"cleanup kind" that EnumAttr would otherwise inherit. The isNormal, isEH
and
isNormalAndEH helpers stay.
CIR_TLSModelAttr's summary restated its name the same way, so only that
goes.
CIR_DefaultValuedEnumParameter has never had a user.
Commit: d246c5ee925edc79ed12e6269faa296b83362075
https://github.com/llvm/llvm-project/commit/d246c5ee925edc79ed12e6269faa296b83362075
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
Log Message:
-----------
[SLP][modularisation][NFC] Move order/mask helpers to SLPUtils (#221663)
Move the following BoUpSLP-independent order/mask helpers out of
SLPVectorizer.cpp into SLPVectorizer/SLPUtils.{h,cpp}:
reorderReuses
reorderOrder
isReverseOrder
isRepeatedNonIdentityClusteredMask
combineOrders
They sit with the existing permutation helpers. Behavior is unchanged.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
Commit: 07f6736c8a7ee21c51466f09cb2458f35d665597
https://github.com/llvm/llvm-project/commit/07f6736c8a7ee21c51466f09cb2458f35d665597
Author: Iasonas Karaprodromidis <iaskarapro at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Plugins/Language/CMakeLists.txt
A lldb/source/Plugins/Language/Fortran/CMakeLists.txt
A lldb/source/Plugins/Language/Fortran/FortranLanguage.cpp
A lldb/source/Plugins/Language/Fortran/FortranLanguage.h
M lldb/source/Target/Language.cpp
M lldb/unittests/Language/CMakeLists.txt
A lldb/unittests/Language/Fortran/CMakeLists.txt
A lldb/unittests/Language/Fortran/FortranLanguageTest.cpp
Log Message:
-----------
[lldb][Fortran] Add Fortran language plugin to LLDB (#221301)
This PR adds the Plugin necessary for LLDB to recognise Fortran.
Subsequent PRs will add the TypeSystem and the DWARFASTParser for
Fortran.
Changes:
- Adds Fortran language Plugin.
- Adds LanguageIsFortran function to the Language class to help identify
Fortran.
Testing:
- Check if language Plugin is registered.
Part of the Add Fortran support to LLDB GSoC 2026 project.
Relates to #109119.
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: f16746ae332fed263a69464e38085706e96dad9b
https://github.com/llvm/llvm-project/commit/f16746ae332fed263a69464e38085706e96dad9b
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU] Remove dead D16ImageDimIntrinsic and lookupD16ImageDimIntrinsic (NFC) (#221660)
The corresponding TableGen table and callers were removed on June 21,
2018 in commit 7a9c03f484fee744b1cbcc45e77f949b4ebfcbee, leaving behind
the struct, the declaration, and the unused macro definition.
Assisted-by: Antigravity
Commit: e92c19abae25beb03234bfbf6cfa1a431c6d380a
https://github.com/llvm/llvm-project/commit/e92c19abae25beb03234bfbf6cfa1a431c6d380a
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/utility.h
A libc/src/__support/CPP/utility/swap.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/powf.h
M libc/src/__support/wctype/CMakeLists.txt
M libc/src/__support/wctype/perfect_hash_map.h
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/src/stdio/scanf_core/parser.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/qsort_data.h
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/algorithm_test.cpp
A libc/test/src/__support/CPP/swap_test.cpp
M libc/test/src/stdio/scanf_core/parser_test.cpp
Log Message:
-----------
[libc] Add cpp::swap and cpp::clamp utilities (#221236)
Added cpp::swap to src/__support/CPP/utility/swap.h with move semantics
and array support, and cpp::clamp to src/__support/CPP/algorithm.h with
comparator support.
Included unit tests in swap_test.cpp and algorithm_test.cpp.
Adopted the new utilities in initial callsites:
* stdlib: Used cpp::swap in qsort_data.h
* wctype: Used cpp::swap in perfect_hash_map.h
* math: Used cpp::clamp in powf.h
* scanf_core: Used cpp::min and cpp::max in parser.h
Also fixed sign extension when parsing scanset specifiers in parser.h:
signed characters greater than or equal to 128 produced negative values,
inverting comparisons and causing out-of-bounds writes in the bitset.
Scanset characters are now cast through uint8_t, and non-ASCII tests
were added to parser_test.cpp.
Assisted-by: Automated tooling, human reviewed.
Commit: 10a37889d4d14a30a7fef19e61acf8b8808ddeae
https://github.com/llvm/llvm-project/commit/10a37889d4d14a30a7fef19e61acf8b8808ddeae
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
Log Message:
-----------
[RISCV] Add VPatBinaryVL_R_VX to share between VRSUB.VX and VDOT4AUS.VX. NFC (#221284)
Assisted-by: Claude
Commit: 1ce91bb26f31a773979c813cd8c2904f9076295c
https://github.com/llvm/llvm-project/commit/1ce91bb26f31a773979c813cd8c2904f9076295c
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/SimplifyCFG/preserve-unpredictable-switch-create.ll
Log Message:
-----------
[SimplifyCFG] Preserve !unpredictable when forming a switch (#221580)
SimplifyCFG turns a chain of equality comparisons into a switch in two
places, performValueComparisonIntoPredecessorFolding() and
simplifyBranchOnICmpChain(), and neither propagated !unpredictable. The
hint was therefore dropped even though it is valid on a switch and the
reverse transform, simplifySwitchOfCmpIntrinsic(), already preserves it.
Propagate the metadata in both. Folding a comparison into a predecessor
merges two decisions into a single switch, so the result is only marked
unpredictable when both of the folded comparisons were. That also makes
chains longer than two blocks work: the fold runs once per predecessor
and reads the metadata back off the switch it built on the previous
iteration.
simplifyBranchOnICmpChain() also emits a range check instead of a switch
when the case values are contiguous. That branch is an exact replacement
for the original one, so it inherits the metadata unconditionally, and
the flag now survives into the machine IR.
Fixes #42658.
Commit: ce27ca449c564f8b38a60ea8db28e10a76cfb4ef
https://github.com/llvm/llvm-project/commit/ce27ca449c564f8b38a60ea8db28e10a76cfb4ef
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
A llvm/test/Analysis/ScalarEvolution/ext-addrec-wrap-flags.ll
R llvm/test/Analysis/ScalarEvolution/incorrect-nsw.ll
Log Message:
-----------
[SCEV] Add test coverage for ext-nusw/nsuw inference (#218943)
Complete the existing incorrect-nsw test, showing that zext-addrec nusw
is not implied by nw on the pre-inc AR, and that sext-addrec nsuw is not
implied by nw on the pre-inc AR. See also: #217405 and #217362.
Assisted-by: AI
Commit: 1afead77810533576bc2bc2c0c900afba82cb6af
https://github.com/llvm/llvm-project/commit/1afead77810533576bc2bc2c0c900afba82cb6af
Author: theRonShark <ron.lieberman at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
Log Message:
-----------
Revert "[CodeGen] Use RegisterClassInfo for remaining allocation-order users" (#221749)
Reverts llvm/llvm-project#216510
breaks tests MIOpen/CK shard 1-4 in CI
queueing this up in case we want to save a bit of time
Commit: c5fc98310a8897773e188d1c6a0d76db92384ab8
https://github.com/llvm/llvm-project/commit/c5fc98310a8897773e188d1c6a0d76db92384ab8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/test/CodeGen/X86/pr1505b.ll
Log Message:
-----------
[X86] pr1505b.ll - regenerate test checks (#221774)
Commit: b1a72e31f29d4d5ede41f42443a34a2e6a1396b6
https://github.com/llvm/llvm-project/commit/b1a72e31f29d4d5ede41f42443a34a2e6a1396b6
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes e92c19a (#221761)
This fixes e92c19abae25beb03234bfbf6cfa1a431c6d380a (#221236).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=e92c19abae25beb03234bfbf6cfa1a431c6d380a
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 271af38dfc3aa02e329821daf46730686e52fb1c
https://github.com/llvm/llvm-project/commit/271af38dfc3aa02e329821daf46730686e52fb1c
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir
Log Message:
-----------
[AMDGPU][GIsel][NPM] Port "AMDGPURegBankSelect" to NPM (#217321)
Assisted-by: Opus-4.8
Commit: 77208d8a5f29ddcb058626bc4f7b47102e48166e
https://github.com/llvm/llvm-project/commit/77208d8a5f29ddcb058626bc4f7b47102e48166e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M .ci/metrics/Dockerfile
M .ci/utils.sh
M .git-blame-ignore-revs
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/containers/libc/Dockerfile
M .github/workflows/premerge.yaml
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M bolt/unittests/Profile/PerfScripts.cpp
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseToUnderlyingCheck.cpp
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/PreambleTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.md
A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.md
R clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.md
R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.md
R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.md
R clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.md
R clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.md
R clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.md
R clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.md
R clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.md
R clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.md
R clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/macro-parentheses.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-diff.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.md
M clang/docs/ReleaseNotes.md
M clang/docs/StandardCPlusPlusModules.md
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/NestedNameSpecifierBase.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Basic/ABIVersions.def
M clang/include/clang/Basic/AtomicLineLogger.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Types.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Options/ClangOptionDocs.td
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaWasm.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Record.h
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Basic/AtomicLineLogger.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Options/DriverOptions.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/test/AST/ByteCode/initializer_list.cpp
M clang/test/Analysis/cstring-syntax.c
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
M clang/test/CIR/CodeGen/agg-atomic-cast.c
M clang/test/CIR/CodeGen/bitfield-union.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
R clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty-bitfield-member-nyi.cpp
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-packed.c
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-zero-width-bitfield.c
M clang/test/CIR/CodeGen/delegating-ctor.cpp
A clang/test/CIR/CodeGen/destructor-vtable-reinit-strict.cpp
A clang/test/CIR/CodeGen/destructor-vtable-reinit.cpp
M clang/test/CIR/CodeGen/dumb-record.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
M clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
M clang/test/CIR/CodeGen/mms-bitfields.c
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/ptrdiff.c
M clang/test/CIR/CodeGen/ptrdiff.cpp
M clang/test/CIR/CodeGen/record-member-kinds.c
M clang/test/CIR/CodeGen/record-member-kinds.cpp
M clang/test/CIR/CodeGen/record-zero-init-padding.c
A clang/test/CIR/CodeGen/spirv-target-lowering-as.cpp
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
M clang/test/CIR/CodeGenBuiltins/NVPTX/builtins-nvptx-sync.cu
M clang/test/CIR/CodeGenBuiltins/builtin-fpclassify.c
M clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
M clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
M clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu
M clang/test/CIR/CodeGenCUDA/builtins-nvvm-math.cu
M clang/test/CIR/CodeGenCUDA/kernel-call.cu
A clang/test/CIR/CodeGenCUDA/uniform-work-group-size.cu
M clang/test/CIR/CodeGenCoroutines/coro-builtins.cpp
A clang/test/CIR/CodeGenHIP/builtin-bool-result.hip
M clang/test/CIR/CodeGenOpenCL/address-space-conversions.cl
M clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
M clang/test/CIR/CodeGenOpenCL/address-spaces.cl
M clang/test/CIR/IR/enum-attrs.cir
A clang/test/CIR/IR/invalid-bitfield-member.cir
M clang/test/CIR/IR/invalid-call.cir
M clang/test/CIR/IR/invalid-lang-attr.cir
M clang/test/CIR/IR/invalid-struct.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/Lowering/address-space.cir
M clang/test/CIR/Lowering/copy-skip-tail-padding.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/x86_64-bitfield.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-empty-class.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-padded.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
M clang/test/ClangScanDeps/P1689.cppm
A clang/test/ClangScanDeps/depscan-log-path.c
A clang/test/ClangScanDeps/logging-driver-flag.c
M clang/test/ClangScanDeps/logging-simple-by-name.c
M clang/test/ClangScanDeps/logging-simple.c
A clang/test/ClangScanDeps/p1689-module-map.cppm
M clang/test/CodeGen/AArch64/lit.local.cfg
A clang/test/CodeGen/AArch64/sve/dup.c
A clang/test/CodeGen/AArch64/sve/len.c
A clang/test/CodeGen/WebAssembly/wasm-global-export.c
A clang/test/CodeGen/WebAssembly/wasm-global-import.c
A clang/test/CodeGen/WebAssembly/wasm-import-error.c
A clang/test/CodeGen/X86/x86_64-unnamed-bitfield-abi-compat.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/glibc_ptr_align.c
M clang/test/CodeGen/ptr-subtract-stable.c
M clang/test/CodeGen/unique-internal-linkage-names.cpp
M clang/test/CodeGen/vla.c
M clang/test/CodeGenCUDA/fp-contract.cu
M clang/test/CodeGenCUDA/managed-var.cu
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
A clang/test/CodeGenCXX/windows-x86_64-varargs.cpp
M clang/test/CodeGenOpenCL/address-spaces-conversions.cl
M clang/test/CodeGenOpenCL/nullptr.cl
M clang/test/CodeGenOpenCL/size_t.cl
M clang/test/DebugInfo/CXX/limited-ctor.cpp
M clang/test/DebugInfo/Generic/debug-label-inline.c
M clang/test/DebugInfo/Generic/unique-internal-linkage-names-dwarf.c
M clang/test/DebugInfo/Generic/unique-internal-linkage-names-dwarf.cpp
A clang/test/Driver/Inputs/object0.o
M clang/test/Driver/aix-ld.c
A clang/test/Driver/modules-driver-depscan-log.cpp
A clang/test/Driver/pch-inputs.h
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/OpenMP/depobj_codegen.cpp
M clang/test/OpenMP/for_range_loop_codegen.cpp
M clang/test/OpenMP/fuse_codegen.cpp
M clang/test/OpenMP/interchange_codegen.cpp
M clang/test/OpenMP/parallel_for_codegen.cpp
M clang/test/OpenMP/reverse_codegen.cpp
M clang/test/OpenMP/split_codegen.cpp
M clang/test/OpenMP/stripe_codegen.cpp
M clang/test/OpenMP/tile_codegen.cpp
M clang/test/Sema/attr-wasm.c
M clang/test/Sema/builtins.c
M clang/test/Sema/nullability.c
M clang/test/Sema/warn-documentation.cpp
M clang/test/Sema/warn-documentation.m
M clang/test/Sema/warn-fortify-source.c
A clang/test/SemaCUDA/attr-instantiation-duplication-amdgpu.cu
A clang/test/SemaCUDA/attr-instantiation-duplication-spirv.cu
M clang/test/SemaCXX/attr-availability.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/Basic/AtomicLineLoggerTest.cpp
M clang/unittests/CIR/RecordMemberKindTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
A compiler-rt/test/asan/TestCases/complete_stack_trace.c
A compiler-rt/test/sanitizer_common/TestCases/Posix/opendir_null.cpp
M compiler-rt/test/ubsan/TestCases/Integer/summary.cpp
M flang-rt/include/flang-rt/runtime/connection.h
M flang-rt/include/flang-rt/runtime/file.h
M flang-rt/lib/cuda/allocator.cpp
M flang/include/flang/Common/optional.h
A flang/include/flang/Evaluate/char.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/initial-image.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/intrinsics.h
M flang/include/flang/Evaluate/logical.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/lib/Evaluate/host.h
M flang/lib/Evaluate/initial-image.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Support/InternalNames.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/CUDA/cuda-gpu-pinned2.f90
A flang/test/Lower/OpenACC/acc-declare-host-associated-allocatable.f90
A flang/test/Lower/OpenMP/target-update-derived-type-usm.f90
A flang/test/Lower/OpenMP/target-update-derived-type.f90
A flang/test/Semantics/simple-intrinsics.f90
A flang/test/Transforms/FIRToMemRef/view-op-wraps-array-coor.mlir
M flang/unittests/Optimizer/InternalNamesTest.cpp
M libc/CMakeLists.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/i386/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
A libc/docs/dev/code_coverage.md
M libc/docs/dev/index.md
M libc/include/fcntl.yaml
M libc/include/limits.yaml
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/linux/fcntl-macros.h
M libc/include/netdb.yaml
M libc/include/pwd.yaml
M libc/include/stdlib.yaml
M libc/include/unistd.yaml
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/utility.h
A libc/src/__support/CPP/utility/swap.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/getpriority.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/posix_fadvise.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/powf.h
M libc/src/__support/wctype/CMakeLists.txt
M libc/src/__support/wctype/perfect_hash_map.h
M libc/src/fcntl/CMakeLists.txt
M libc/src/fcntl/linux/CMakeLists.txt
A libc/src/fcntl/linux/posix_fadvise.cpp
A libc/src/fcntl/posix_fadvise.h
M libc/src/netdb/CMakeLists.txt
A libc/src/netdb/gai_strerror.cpp
A libc/src/netdb/gai_strerror.h
M libc/src/pwd/CMakeLists.txt
A libc/src/pwd/getpwnam.cpp
A libc/src/pwd/getpwnam.h
A libc/src/pwd/getpwuid.cpp
A libc/src/pwd/getpwuid.h
M libc/src/pwd/pwd_utils.cpp
M libc/src/pwd/pwd_utils.h
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/src/stdio/scanf_core/parser.h
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/getloadavg.h
M libc/src/stdlib/linux/CMakeLists.txt
A libc/src/stdlib/linux/getloadavg.cpp
M libc/src/stdlib/qsort_data.h
M libc/src/unistd/CMakeLists.txt
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/nice.cpp
A libc/src/unistd/nice.h
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/algorithm_test.cpp
A libc/test/src/__support/CPP/swap_test.cpp
M libc/test/src/fcntl/CMakeLists.txt
A libc/test/src/fcntl/posix_fadvise_test.cpp
M libc/test/src/netdb/CMakeLists.txt
A libc/test/src/netdb/gai_strerror_test.cpp
M libc/test/src/pwd/CMakeLists.txt
A libc/test/src/pwd/getpwnam_test.cpp
A libc/test/src/pwd/getpwuid_test.cpp
M libc/test/src/stdio/scanf_core/parser_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/getloadavg_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/nice_test.cpp
A libc/utils/cmake_format.py
A libc/utils/cmake_format_test.py
M libcxx/docs/Status/Cxx26Issues.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/pstl.h
M libcxx/include/__concepts/common_with.h
M libcxx/include/__optional/comparison.h
M libcxx/include/__pstl/backend_fwd.h
M libcxx/include/__pstl/backends/default.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/backends/serial.h
M libcxx/include/__pstl/backends/std_thread.h
A libcxx/include/__pstl/cpu_algos/min_element.h
M libcxx/include/module.modulemap.in
M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.max_element.pass.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.max_element_comp.pass.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.min_element.pass.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.min_element_comp.pass.cpp
M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp
M lld/ELF/EhFrame.cpp
M lld/ELF/EhFrame.h
M lld/ELF/SyntheticSections.cpp
M lld/test/COFF/arm64ec-export-thunks.test
M lld/test/COFF/arm64ec-import.test
M lld/test/COFF/baserel.test
M lld/test/COFF/code-merge.s
M lld/test/COFF/common-replacement.s
M lld/test/COFF/merge-data-bss.test
M lld/test/COFF/nodbgdirmerge.test
M lld/test/COFF/secrel-common.s
M lld/test/ELF/eh-frame-fde-encoding.s
R lld/test/ELF/eh-frame-hdr-zero-range.s
M lld/test/ELF/eh-frame-negative-pcrel-sdata2.s
M lld/test/ELF/eh-frame-negative-pcrel-sdata4.s
M lldb/include/lldb/Target/Language.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
M lldb/source/Plugins/Language/CMakeLists.txt
A lldb/source/Plugins/Language/Fortran/CMakeLists.txt
A lldb/source/Plugins/Language/Fortran/FortranLanguage.cpp
A lldb/source/Plugins/Language/Fortran/FortranLanguage.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Target/Language.cpp
A lldb/test/API/commands/watchpoints/watchpoint_set_errors/Makefile
A lldb/test/API/commands/watchpoints/watchpoint_set_errors/TestWatchpointSetErrors.py
A lldb/test/API/commands/watchpoints/watchpoint_set_errors/main.c
M lldb/test/Shell/SymbolFile/NativePDB/globals-bss.cpp
R lldb/test/Shell/Watchpoint/Inputs/main.cpp
R lldb/test/Shell/Watchpoint/SetErrorCases.test
M lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-target-fuzzer/target.dict
M lldb/unittests/Core/MangledTest.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
M lldb/unittests/Language/CMakeLists.txt
A lldb/unittests/Language/Fortran/CMakeLists.txt
A lldb/unittests/Language/Fortran/FortranLanguageTest.cpp
M llvm/cmake/modules/CrossCompile.cmake
M llvm/docs/CodeReview.rst
M llvm/docs/CommandGuide/llc.md
M llvm/docs/DebuggingLLVM.md
M llvm/docs/LibFuzzer.md
M llvm/docs/MemProf.md
M llvm/docs/NVPTXUsage.md
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/include/llvm/ADT/FoldingSet.h
M llvm/include/llvm/ADT/Hashing.h
M llvm/include/llvm/ADT/SetOperations.h
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/MustExecute.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/CodeGen/CallingConvLower.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineOutliner.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/FMF.h
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/include/llvm/Option/OptTable.h
M llvm/include/llvm/Option/Option.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/include/llvm/Support/LSP/Transport.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
M llvm/lib/ABI/Targets/X86.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MustExecute.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetOptionsImpl.cpp
M llvm/lib/CodeGen/TypePromotion.cpp
M llvm/lib/CodeGenTypes/LowLevelType.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/NVVMIntrinsicUtils.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCTargetOptions.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Option/Option.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/ARC/ARCFrameLowering.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/ARMPredicates.td
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/CSKY/CSKYFrameLowering.cpp
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILWriter/CMakeLists.txt
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.h
A llvm/lib/Target/DirectX/DXILWriter/DXILDebugInfoMap.cpp
A llvm/lib/Target/DirectX/DXILWriter/DXILDebugInfoMap.h
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
M llvm/lib/Target/M68k/M68kFrameLowering.cpp
M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
M llvm/lib/Target/Mips/MipsFrameLowering.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
M llvm/lib/Target/Sparc/SparcFrameLowering.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/VE/VEFrameLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
M llvm/lib/Target/Xtensa/CMakeLists.txt
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/LoopSimplify.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPTypeUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPTypeUtils.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/XRay/InstrumentationMap.cpp
M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
M llvm/test/Analysis/LoopAccessAnalysis/all-ones-null-pointer.ll
M llvm/test/Analysis/LoopAccessAnalysis/evaluate-at-symbolic-max-backedge-taken-count-may-wrap.ll
M llvm/test/Analysis/LoopAccessAnalysis/negative-step-deref-off-by-eltsize.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
A llvm/test/Analysis/ScalarEvolution/ext-addrec-wrap-flags.ll
R llvm/test/Analysis/ScalarEvolution/incorrect-nsw.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-fmuladd.ll
M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
M llvm/test/CodeGen/AArch64/PBQP-chain.ll
M llvm/test/CodeGen/AArch64/PBQP-coalesce-benefit.ll
M llvm/test/CodeGen/AArch64/PBQP-csr.ll
M llvm/test/CodeGen/AArch64/arithmetic_fence.ll
M llvm/test/CodeGen/AArch64/arm64-2013-01-13-ffast-fcmp.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/arm64-fma-combine-with-fpfusion.ll
M llvm/test/CodeGen/AArch64/arm64-fml-combines.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
M llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll
M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-vector-list-spill.ll
A llvm/test/CodeGen/AArch64/cmpbr-ccmp.ll
A llvm/test/CodeGen/AArch64/cmpbr-ccmp.mir
M llvm/test/CodeGen/AArch64/fnmul.ll
M llvm/test/CodeGen/AArch64/fp-const-fold.ll
M llvm/test/CodeGen/AArch64/fp-dp3.ll
M llvm/test/CodeGen/AArch64/fp16-fmla.ll
A llvm/test/CodeGen/AArch64/interleaved-load-combine-many-candidates.ll
M llvm/test/CodeGen/AArch64/literal_pools_float_apple.ll
M llvm/test/CodeGen/AArch64/load.ll
A llvm/test/CodeGen/AArch64/machine-outliner-debug-admission.mir
M llvm/test/CodeGen/AArch64/machine-outliner-macho-compact-unwind-frame.mir
M llvm/test/CodeGen/AArch64/machine-outliner-mapper-stats.mir
M llvm/test/CodeGen/AArch64/machine-outliner-mapping-stats.mir
A llvm/test/CodeGen/AArch64/machine-outliner-range-debug.mir
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/neon-fma.ll
M llvm/test/CodeGen/AArch64/neon-fpextend_f16.ll
M llvm/test/CodeGen/AArch64/neon-fpround_f128.ll
M llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll
M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-prelegalizer-combiner-crash.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-add-nullptr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fabs-fneg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-foldable-fneg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-rot.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-zext-trunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpow.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpowi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.f32.ll
M llvm/test/CodeGen/AMDGPU/agpr-csr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-no-agprs-violations.ll
M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
A llvm/test/CodeGen/AMDGPU/codegen-no-subarch-warn.ll
A llvm/test/CodeGen/AMDGPU/coexec-sched-agpr-excess.mir
A llvm/test/CodeGen/AMDGPU/copy_phys_vgpr.mir
R llvm/test/CodeGen/AMDGPU/copy_phys_vgpr64.mir
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
M llvm/test/CodeGen/AMDGPU/fdot2.ll
M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-e5m3fnu.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.ll
M llvm/test/CodeGen/AMDGPU/fmaxnum.ll
M llvm/test/CodeGen/AMDGPU/fmaxnum.r600.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.ll
M llvm/test/CodeGen/AMDGPU/fminnum.ll
M llvm/test/CodeGen/AMDGPU/fminnum.r600.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f32.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f64.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.v2f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/frexp-constant-fold.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.r600.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/jump-address.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
M llvm/test/CodeGen/AMDGPU/modf-constant-fold.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
M llvm/test/CodeGen/AMDGPU/pack-half-to-lshl-or.ll
M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
M llvm/test/CodeGen/AMDGPU/pv.ll
M llvm/test/CodeGen/AMDGPU/regalloc-spill-wmma-scale.ll
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
M llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll
M llvm/test/CodeGen/AMDGPU/select-flags-to-fmin-fmax.ll
M llvm/test/CodeGen/AMDGPU/select-undef.ll
M llvm/test/CodeGen/AMDGPU/si-spill-cf.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
M llvm/test/CodeGen/AMDGPU/vector-legalizer-divergence.ll
M llvm/test/CodeGen/ARM/2012-04-24-SplitEHCriticalEdge.ll
M llvm/test/CodeGen/ARM/build-attributes.ll
M llvm/test/CodeGen/ARM/cortex-a57-misched-vfma.ll
A llvm/test/CodeGen/ARM/eabi-attribute-no-trapping-math.ll
M llvm/test/CodeGen/ARM/fp16-fusedMAC.ll
M llvm/test/CodeGen/ARM/fp16-instructions.ll
M llvm/test/CodeGen/ARM/fusedMAC.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MaxLod.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MinLod.ll
M llvm/test/CodeGen/DirectX/DebugInfo/dbg-assign.ll
M llvm/test/CodeGen/DirectX/DebugInfo/dbg-declare-undef.ll
M llvm/test/CodeGen/DirectX/DebugInfo/dbg-value-arglist.ll
M llvm/test/CodeGen/DirectX/DebugInfo/dbg-value.ll
M llvm/test/CodeGen/DirectX/DebugInfo/debug-info.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-commonblock.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit-versioned-language.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-globalvariable.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-label.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-subprogram.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-subrangetype.ll
M llvm/test/CodeGen/DirectX/countbits.ll
R llvm/test/CodeGen/DirectX/legalize-i64-high-low-vec-split.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
R llvm/test/CodeGen/Generic/bswap.ll
M llvm/test/CodeGen/Hexagon/float-amode.ll
M llvm/test/CodeGen/Hexagon/fmadd.ll
M llvm/test/CodeGen/Hexagon/fp_latency.ll
M llvm/test/CodeGen/Hexagon/pull-no-comp-code.ll
M llvm/test/CodeGen/Hexagon/sffms.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse2.ll
M llvm/test/CodeGen/Hexagon/swp-loop-carried.ll
M llvm/test/CodeGen/Hexagon/swp-max-stage3.ll
M llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
M llvm/test/CodeGen/Hexagon/swp-rename-dead-phi.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll
M llvm/test/CodeGen/LoongArch/double-fma.ll
M llvm/test/CodeGen/LoongArch/float-fma.ll
M llvm/test/CodeGen/LoongArch/lasx/fma-v4f64.ll
M llvm/test/CodeGen/LoongArch/lasx/fma-v8f32.ll
M llvm/test/CodeGen/LoongArch/lsx/fma-v2f64.ll
M llvm/test/CodeGen/LoongArch/lsx/fma-v4f32.ll
A llvm/test/CodeGen/LoongArch/merge-base-offset-debug-only.mir
A llvm/test/CodeGen/LoongArch/merge-base-offset-debug-use.ll
M llvm/test/CodeGen/Mips/fp-contract.ll
M llvm/test/CodeGen/NVPTX/arithmetic-fp-sm20.ll
A llvm/test/CodeGen/NVPTX/bf16-add.ll
A llvm/test/CodeGen/NVPTX/bf16-sub.ll
R llvm/test/CodeGen/NVPTX/f16-add-sat.ll
A llvm/test/CodeGen/NVPTX/f16-add.ll
R llvm/test/CodeGen/NVPTX/f16-sub-sat.ll
A llvm/test/CodeGen/NVPTX/f16-sub.ll
M llvm/test/CodeGen/NVPTX/fma-assoc.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma.ll
A llvm/test/CodeGen/NVPTX/fp-add-f32x2.ll
A llvm/test/CodeGen/NVPTX/fp-add-invalid.ll
M llvm/test/CodeGen/NVPTX/fp-arith-sat.ll
M llvm/test/CodeGen/NVPTX/fp-contract-f32x2.ll
M llvm/test/CodeGen/NVPTX/fp-contract.ll
A llvm/test/CodeGen/NVPTX/fp-fold-sub-f32x2.ll
M llvm/test/CodeGen/NVPTX/fp-fold-sub.ll
M llvm/test/CodeGen/NVPTX/fp-literals.ll
M llvm/test/CodeGen/NVPTX/mixed-precision-fp.ll
M llvm/test/CodeGen/NVPTX/scalarize-non-coalescable-v2f32.ll
A llvm/test/CodeGen/NVPTX/volatile-local.ll
M llvm/test/CodeGen/PowerPC/a2-fp-basic.ll
M llvm/test/CodeGen/PowerPC/fma-assoc.ll
M llvm/test/CodeGen/PowerPC/fma-ext.ll
M llvm/test/CodeGen/PowerPC/fma-mutate-duplicate-vreg.ll
M llvm/test/CodeGen/PowerPC/fma.ll
M llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll
M llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
M llvm/test/CodeGen/RISCV/combine-is_fpclass.ll
M llvm/test/CodeGen/RISCV/double-zfa.ll
M llvm/test/CodeGen/RISCV/float-zfa.ll
A llvm/test/CodeGen/RISCV/machine-outliner-debug-codegen.mir
A llvm/test/CodeGen/RISCV/machine-outliner-mapper-debug-state.mir
M llvm/test/CodeGen/RISCV/memcpy.ll
A llvm/test/CodeGen/RISCV/merge-base-offset-debug-only.mir
A llvm/test/CodeGen/RISCV/merge-base-offset-debug-use.ll
M llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.ll
M llvm/test/CodeGen/SPARC/float-ua2007.ll
M llvm/test/CodeGen/SPIRV/debug-info/no-misplaced-opextinst.ll
M llvm/test/CodeGen/SPIRV/literals.ll
M llvm/test/CodeGen/Thumb2/mve-fmas.ll
M llvm/test/CodeGen/VE/Scalar/fsqrt.ll
M llvm/test/CodeGen/WebAssembly/export-name.ll
M llvm/test/CodeGen/WebAssembly/immediates.ll
A llvm/test/CodeGen/WebAssembly/import-error.ll
M llvm/test/CodeGen/WebAssembly/import-module.ll
M llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/clmul-vector-256.ll
M llvm/test/CodeGen/X86/clmul-vector-512.ll
M llvm/test/CodeGen/X86/clmul-vector.ll
M llvm/test/CodeGen/X86/cmp.ll
A llvm/test/CodeGen/X86/coalesce-commute-partial-def-implicit-read.mir
M llvm/test/CodeGen/X86/coff-fp-section-name.ll
M llvm/test/CodeGen/X86/divrem-by-select.ll
M llvm/test/CodeGen/X86/extract-vselect-setcc.ll
M llvm/test/CodeGen/X86/fp-undef.ll
A llvm/test/CodeGen/X86/huge-frame-index.ll
M llvm/test/CodeGen/X86/masked-sdiv.ll
M llvm/test/CodeGen/X86/masked-srem.ll
M llvm/test/CodeGen/X86/masked-udiv.ll
M llvm/test/CodeGen/X86/masked-urem.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/optimize-compare.mir
M llvm/test/CodeGen/X86/pdep-vector-128.ll
M llvm/test/CodeGen/X86/pdep-vector-256.ll
M llvm/test/CodeGen/X86/pdep-vector-512.ll
A llvm/test/CodeGen/X86/peephole-test-after-shl.ll
M llvm/test/CodeGen/X86/pext-vector-128.ll
M llvm/test/CodeGen/X86/pext-vector-256.ll
M llvm/test/CodeGen/X86/pext-vector-512.ll
M llvm/test/CodeGen/X86/pr1505b.ll
A llvm/test/CodeGen/X86/pr216504.ll
M llvm/test/CodeGen/X86/pr48727.ll
M llvm/test/CodeGen/X86/pr50374.ll
A llvm/test/CodeGen/X86/pseudo-probe-tail-merging.mir
M llvm/test/CodeGen/X86/setcc.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
A llvm/test/CodeGen/X86/vector-idiv-i64.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
M llvm/test/CodeGen/X86/vector-idiv-strictfp.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
M llvm/test/CodeGen/X86/vector-trunc-nowrap.ll
M llvm/test/CodeGen/X86/vector-trunc.ll
M llvm/test/CodeGen/X86/znver-pdep.ll
M llvm/test/CodeGen/X86/znver-pext.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
M llvm/test/DebugInfo/Generic/inline-debug-info-multiret.ll
M llvm/test/DebugInfo/Generic/inline-debug-info.ll
M llvm/test/DebugInfo/Generic/inline-no-debug-info.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/inline.ll
M llvm/test/Integer/2007-01-19-TruncSext.ll
M llvm/test/MC/AArch64/seh-large-func-multi-epilog.s
M llvm/test/MC/AArch64/seh-large-func.s
M llvm/test/MC/AArch64/seh.s
M llvm/test/MC/AArch64/win-import-call-optimization.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/ARM/seh.s
M llvm/test/MC/COFF/addrsig.s
M llvm/test/MC/COFF/align-nops.s
M llvm/test/MC/COFF/basic-coff-64.s
M llvm/test/MC/COFF/basic-coff.s
M llvm/test/MC/COFF/bss.s
M llvm/test/MC/COFF/cgprofile.s
M llvm/test/MC/COFF/module-asm.ll
M llvm/test/MC/COFF/section.s
M llvm/test/MC/COFF/seh-align1.s
M llvm/test/MC/COFF/seh-align2.s
M llvm/test/MC/COFF/seh-align3.s
M llvm/test/MC/COFF/seh-section.s
M llvm/test/MC/COFF/seh.s
M llvm/test/MC/COFF/symbol-fragment-offset-64.s
M llvm/test/MC/COFF/symbol-fragment-offset.s
M llvm/test/MC/RISCV/xqciio-invalid.s
M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
M llvm/test/MC/RISCV/xqcilsm-invalid.s
M llvm/test/MC/RISCV/xwchc-valid.s
M llvm/test/MC/X86/win-import-call-optimization.s
M llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/Transforms/Attributor/nofpclass-bitcast-int-to-fp.ll
M llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
M llvm/test/Transforms/Attributor/nofpclass-fmul.ll
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
M llvm/test/Transforms/Attributor/nofpclass-select.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineDebug.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineVarArgsDebug.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/no-sink-addrspacecast.ll
M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
A llvm/test/Transforms/ConstraintElimination/induction-exit-condition-or-and.ll
M llvm/test/Transforms/ConstraintElimination/induction-relational-predicate-latch.ll
M llvm/test/Transforms/ConstraintElimination/induction-symbolic-start-postinc.ll
A llvm/test/Transforms/DeadStoreElimination/wide-pointer-index-offset.ll
M llvm/test/Transforms/EarlyCSE/atan.ll
M llvm/test/Transforms/FunctionAttrs/nofpclass.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/Inline/X86/inline-landing-pad.ll
M llvm/test/Transforms/Inline/debug-invoke.ll
M llvm/test/Transforms/Inline/dilocation-loop-metadata-update.ll
M llvm/test/Transforms/Inline/inline_dbg_declare.ll
M llvm/test/Transforms/InstCombine/2009-01-19-fmod-constant-float-specials.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
M llvm/test/Transforms/InstCombine/AMDGPU/fmed3.ll
M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
M llvm/test/Transforms/InstCombine/X86/x86-fp-minmax-negzero.ll
M llvm/test/Transforms/InstCombine/X86/x86-scalar-max-min.ll
M llvm/test/Transforms/InstCombine/constant-fold-nextafter.ll
M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-fp128.ll
M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-ppc-fp128.ll
M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-x86-fp80.ll
M llvm/test/Transforms/InstCombine/erf.ll
M llvm/test/Transforms/InstCombine/fcmp-range-check-idiom.ll
M llvm/test/Transforms/InstCombine/fdim.ll
M llvm/test/Transforms/InstCombine/fma.ll
M llvm/test/Transforms/InstCombine/fmod.ll
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/frexp.ll
M llvm/test/Transforms/InstCombine/icmp-power2-and-icmp-shifted-mask.ll
M llvm/test/Transforms/InstCombine/ilogb.ll
M llvm/test/Transforms/InstCombine/intrinsic-select.ll
M llvm/test/Transforms/InstCombine/is_fpclass.ll
M llvm/test/Transforms/InstCombine/log1p.ll
M llvm/test/Transforms/InstCombine/logb.ll
M llvm/test/Transforms/InstCombine/maximum.ll
M llvm/test/Transforms/InstCombine/maxnum.ll
M llvm/test/Transforms/InstCombine/minimum.ll
M llvm/test/Transforms/InstCombine/minnum.ll
M llvm/test/Transforms/InstCombine/nanless-canonicalize-combine.ll
M llvm/test/Transforms/InstCombine/nested-select.ll
M llvm/test/Transforms/InstCombine/overflow-mul.ll
M llvm/test/Transforms/InstCombine/pow-exp.ll
M llvm/test/Transforms/InstCombine/ptr-int-cast.ll
M llvm/test/Transforms/InstCombine/remquo.ll
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
A llvm/test/Transforms/InstCombine/scalbn-to-ldexp.ll
M llvm/test/Transforms/InstCombine/select-fcmp-fmul-zero-absorbing-value.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-aggregates.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll
M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/cos.ll
M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/fract.ll
M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/sin.ll
M llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/trunc.ll
M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
M llvm/test/Transforms/InstSimplify/ConstProp/basictest.ll
M llvm/test/Transforms/InstSimplify/ConstProp/fma.ll
M llvm/test/Transforms/InstSimplify/ConstProp/fp-undef.ll
M llvm/test/Transforms/InstSimplify/ConstProp/min-max.ll
M llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
M llvm/test/Transforms/InstSimplify/X86/fp-nan-strictfp.ll
M llvm/test/Transforms/InstSimplify/call.ll
M llvm/test/Transforms/InstSimplify/canonicalize.ll
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-add.ll
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-f2i-d2i.ll
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-f2ll-d2ll.ll
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-fma.ll
M llvm/test/Transforms/InstSimplify/constfold-constrained.ll
M llvm/test/Transforms/InstSimplify/exp10.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
M llvm/test/Transforms/InstSimplify/fp-nan.ll
M llvm/test/Transforms/InstSimplify/fp-undef-poison.ll
M llvm/test/Transforms/InstSimplify/fptoi-sat.ll
M llvm/test/Transforms/InstSimplify/pr122582.ll
M llvm/test/Transforms/InstSimplify/ptrtoint.ll
M llvm/test/Transforms/InstSimplify/sincos.ll
M llvm/test/Transforms/InstSimplify/strictfp-fadd.ll
M llvm/test/Transforms/LICM/2003-12-11-SinkingToPHI.ll
M llvm/test/Transforms/LoopIdiom/memmove-ext.ll
M llvm/test/Transforms/LoopUnroll/unloop.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wide-vscale-range-max-runtime-vf.ll
A llvm/test/Transforms/LoopVectorize/VPlan/execution-frequencies-match-bfi.ll
A llvm/test/Transforms/LoopVectorize/VPlan/memory-checks.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-branch-weights.ll
M llvm/test/Transforms/LoopVectorize/induction-cost.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/replace-first-order-recurrence-by-versioned-iv.ll
M llvm/test/Transforms/LoopVectorize/replicate-region-branch-weights.ll
M llvm/test/Transforms/LoopVectorize/select-last-index-fp.ll
M llvm/test/Transforms/SCCP/float-nan-simplification.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/many-uses-fma-candidate.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-store-chain.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/inst-count-heuristic.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-inst-reduction-attempt.ll
M llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
A llvm/test/Transforms/SLPVectorizer/X86/extract-with-poison-index.ll
M llvm/test/Transforms/SLPVectorizer/X86/fma-operand-index.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
A llvm/test/Transforms/SLPVectorizer/X86/logical-reduction-booleanized-leaves.ll
A llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-mixed-extends.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll
M llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-fadd-reassoc.ll
A llvm/test/Transforms/SLPVectorizer/X86/split-node-struct-type.ll
M llvm/test/Transforms/SafeStack/ARM/debug.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-emit-inline.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-no-debug-info.ll
A llvm/test/Transforms/Scalarizer/bitcast-scalar-to-vector.ll
A llvm/test/Transforms/Scalarizer/bitcast-vector-to-scalar.ll
M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch3.ll
M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/guards.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-select.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch-loop-and-block-dispositions.ll
M llvm/test/Transforms/SimpleLoopUnswitch/update-scev-3.ll
M llvm/test/Transforms/SimplifyCFG/ARM/speculate-math.ll
A llvm/test/Transforms/SimplifyCFG/preserve-unpredictable-switch-create.ll
M llvm/test/Transforms/SimplifyCFG/speculate-math.ll
M llvm/test/Transforms/TypePromotion/ARM/casts.ll
M llvm/test/Transforms/Util/libcalls-shrinkwrap-strictfp.ll
A llvm/test/Verifier/NVPTX/fadd.ll
A llvm/test/tools/gold/X86/Inputs/multiple-data-section-ordering.txt
M llvm/test/tools/gold/X86/multiple-data.s
M llvm/test/tools/gold/X86/multiple-sections.ll
M llvm/test/tools/gold/lit.local.cfg
M llvm/test/tools/llubi/fp_cast.ll
M llvm/test/tools/llubi/fp_nan_quieting.ll
M llvm/test/tools/llubi/fp_nan_target_specific_sparc.ll
M llvm/test/tools/llubi/fp_nan_target_specific_wasm32.ll
M llvm/test/tools/llubi/fp_nan_unchanged.ll
M llvm/test/tools/llubi/intr_fp_vector_reduce.ll
M llvm/test/tools/llvm-ar/arm64x-split.yaml
M llvm/test/tools/llvm-objcopy/COFF/add-gnu-debuglink.test
M llvm/test/tools/llvm-objcopy/COFF/add-section-and-set-flags.test
M llvm/test/tools/llvm-objcopy/COFF/empty-sections.s
M llvm/test/tools/llvm-objcopy/COFF/only-keep-debug-rdata.test
M llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
M llvm/test/tools/llvm-objcopy/COFF/update-section.test
M llvm/test/tools/llvm-offload-wrapper/coff-opt-ref.ll
M llvm/test/tools/llvm-readobj/COFF/arm64x-hybridobj.yaml
M llvm/test/tools/llvm-readobj/COFF/bigobj.test
M llvm/test/tools/llvm-readobj/COFF/sections-ext.test
M llvm/test/tools/llvm-readobj/COFF/sections.test
M llvm/test/tools/llvm-reduce/reduce-operands-fp.ll
A llvm/test/tools/llvm-xray/SystemZ/Inputs/elf64-pic.yaml
A llvm/test/tools/llvm-xray/SystemZ/extract-instrmap.test
M llvm/test/tools/yaml2obj/COFF/xrelocs.yaml
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-readobj/COFFDumper.cpp
M llvm/unittests/ADT/HashingTest.cpp
M llvm/unittests/ADT/SetOperationsTest.cpp
M llvm/unittests/Analysis/LoopInfoTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/IntrinsicsTest.cpp
M llvm/unittests/Option/OptionParsingTest.cpp
M llvm/unittests/Option/Opts.td
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Support/LSP/Transport.cpp
M llvm/unittests/Transforms/IPO/LowerTypeTests.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/lit/lit/formats/googletest.py
M llvm/utils/lit/lit/main.py
A llvm/utils/lit/tests/googletest-filter-out.py
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Dialect/Affine/IR/CMakeLists.txt
A mlir/lib/Dialect/Affine/IR/MemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineToGPUFunc.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Dialect/Affine/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/Linalg/vectorization/insert-slice.mlir
M mlir/test/Dialect/SCF/canonicalize.mlir
A mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16-aggressive.mlir
A mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Target/LLVMIR/nvvm/addf/addf.mlir
M mlir/test/Target/LLVMIR/nvvm/addf/addf_invalid.mlir
M mlir/test/Target/LLVMIR/nvvm/addf/addf_vector.mlir
M mlir/test/Target/LLVMIR/nvvm/subf/subf.mlir
M mlir/test/Target/LLVMIR/nvvm/subf/subf_invalid.mlir
M mlir/test/Target/LLVMIR/nvvm/subf/subf_vector.mlir
M mlir/test/Target/LLVMIR/omptarget-debug-runtime-call-loc.mlir
M mlir/tools/mlir-tblgen/DialectGen.cpp
M orc-rt/CMakeLists.txt
R orc-rt/include/orc-rt-internal/bedrock/Environment.h
A orc-rt/include/orc-rt-internal/bedrock/sys/DynamicLibrary.h
A orc-rt/include/orc-rt-internal/bedrock/sys/Memory.h
A orc-rt/include/orc-rt-internal/support/Environment.h
M orc-rt/include/orc-rt-internal/support/sys/CacheControl.h
R orc-rt/include/orc-rt-internal/support/sys/DynamicLibrary.h
M orc-rt/include/orc-rt-internal/support/sys/Errno.h
R orc-rt/include/orc-rt-internal/support/sys/Memory.h
R orc-rt/include/orc-rt-internal/support/sys/darwin/CacheControl.h
M orc-rt/lib/CMakeLists.txt
M orc-rt/lib/bedrock/CMakeLists.txt
R orc-rt/lib/bedrock/Environment.cpp
R orc-rt/lib/bedrock/Error.cpp
R orc-rt/lib/bedrock/Logging.cpp
R orc-rt/lib/bedrock/Logging_oslog.cpp
R orc-rt/lib/bedrock/Logging_printf.cpp
M orc-rt/lib/bedrock/NativeDylibManager.cpp
R orc-rt/lib/bedrock/RTTI.cpp
M orc-rt/lib/bedrock/SimpleNativeMemoryMap.cpp
M orc-rt/lib/bedrock/sys/posix/DynamicLibrary.cpp
R orc-rt/lib/bedrock/sys/posix/Errno.cpp
M orc-rt/lib/bedrock/sys/posix/Memory.cpp
A orc-rt/lib/support/CMakeLists.txt
A orc-rt/lib/support/Error.cpp
A orc-rt/lib/support/Logging.cpp
A orc-rt/lib/support/Logging_oslog.cpp
A orc-rt/lib/support/Logging_printf.cpp
A orc-rt/lib/support/RTTI.cpp
A orc-rt/test/unit/BedrockTestUtils.h
M orc-rt/test/unit/CMakeLists.txt
M orc-rt/test/unit/CommonTestUtils.h
M orc-rt/test/unit/bedrock/BootstrapInfoTest.cpp
M orc-rt/test/unit/bedrock/InProcessControllerAccessTest.cpp
M orc-rt/test/unit/bedrock/NativeDylibManagerTest.cpp
M orc-rt/test/unit/bedrock/SessionTest.cpp
M orc-rt/test/unit/bedrock/SimpleNativeMemoryMapTest.cpp
M orc-rt/test/unit/bedrock/sps/NativeDylibManagerSPSCITest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
M orc-rt/test/unit/support/ErrorExceptionInteropTest.cpp
M orc-rt/test/unit/support/ProxyTest.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/9024ba7039ad...77208d8a5f29
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