[all-commits] [llvm/llvm-project] 4989b3: [bazel] Use LZMA from bazel registry. (#225877)
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Fri Sep 25 10:51:53 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slpfix-fmulfadd-fusion-costs-and-retry-fma-seeds-after-all-blocks
Home: https://github.com/llvm/llvm-project
Commit: 4989b3b0bb752c436c922d8e65cd7a952038d5db
https://github.com/llvm/llvm-project/commit/4989b3b0bb752c436c922d8e65cd7a952038d5db
Author: James Y Knight <jyknight at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
M utils/bazel/llvm-project-overlay/third-party/BUILD.bazel
Log Message:
-----------
[bazel] Use LZMA from bazel registry. (#225877)
PR #220092 added lzma support, but used the system copy of lzma for
bazel, saying it wasn't available in BCR. Since it actually is (under
the name "xz"), switch to using it from there.
Commit: fc1f3ff5a3b3da827cfca31d07a79c036e03b545
https://github.com/llvm/llvm-project/commit/fc1f3ff5a3b3da827cfca31d07a79c036e03b545
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerMicrosoftCXXABI.cpp
M clang/test/CIR/CodeGen/delete-array-aligned.cpp
A clang/test/CIR/CodeGen/delete-array-overaligned-cookie.cpp
M clang/test/CIR/CodeGen/delete-array-throwing-dtor.cpp
M clang/test/CIR/IR/invalid-delete-array.cir
Log Message:
-----------
[CIR] Fix 'cookie' size of array delete on aligned type (#225806)
This came up in some test suite, the cookie size calcuation of a array
delete with a 'cookie' was incorrect if the type had an alignment. This
patch strings the correct alignment through the 'element_align' tag on
the array-delete operation, and uses that for the final calculation,
matching classic codegen.
Commit: 03fb86920dc00a2e739a2d8402f0ebe7323cf9a9
https://github.com/llvm/llvm-project/commit/03fb86920dc00a2e739a2d8402f0ebe7323cf9a9
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M bolt/lib/Core/DynoStats.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Tooling/CommonOptionsParser.cpp
M clang/tools/clang-diff/ClangDiff.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/clang-refactor/ClangRefactor.cpp
M llvm/examples/OrcV2Examples/LLJITDumpObjects/LLJITDumpObjects.cpp
M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
M llvm/lib/CodeGen/MIR2Vec.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVAuxDataHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-split/llvm-split.cpp
M llvm/tools/llvm-undname/llvm-undname.cpp
M mlir/lib/Debug/DebugCounter.cpp
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/CodeGen/LoopGenerators.cpp
Log Message:
-----------
Remove unneeded cl::Optional from named options. NFC (#225870)
cl::Optional is the default for cl::opt and has been no-op since
https://reviews.llvm.org/D120455 removed the "may only occur zero or one
times!" error.
Extracted from #225628
Commit: ad695d46e4535f953558705541b71c2d938fb72b
https://github.com/llvm/llvm-project/commit/ad695d46e4535f953558705541b71c2d938fb72b
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sme-za-non-sibling-tailcall.ll
M llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
Log Message:
-----------
[AArch64] Don't emit stack restore for SME ZA non-sibling tail calls (#224721)
A tail call from a function with live ZA state was previously prevented
from being lowered as a sibling call to have a CALLSEQ_START to glue
INOUT_ZA_USE to. This led to bogus stack restores.
We now drop the INOUT_ZA_USE marker on tail calls and can thus lower as
sibling calls if needed to take advantage of the existing correct stack
restore behavior.
This is safe to do since tail calls use TCRETURN and the MachineSMEABI
pass requires live ZA state to stay live across returns anyway.
Commit: 1ff88ee1b0710bab455f1da22f7c7f7b36389cda
https://github.com/llvm/llvm-project/commit/1ff88ee1b0710bab455f1da22f7c7f7b36389cda
Author: Clayton Knittel <cknit1999 at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/DebugInfo/CXX/limited-ctor.cpp
Log Message:
-----------
Always emit complete debug info for types which appear as a member of a standard-layout union. (#224439)
[[class.mem]](https://timsong-cpp.github.io/cppwp/n3337/class.mem#19)
states:
> "If a standard-layout union contains two or more standard-layout
structs that share a common initial sequence, and if the standard-layout
union object currently contains one of these standard-layout structs, it
is permitted to inspect the common initial part of any of them. Two
standard-layout structs share a common initial sequence if corresponding
members have layout-compatible types and either neither member is a
bit-field or both are bit-fields with the same width for a sequence of
one or more initial members."
This makes it possible to obtain a reference to a type which was never
constructed, which violates the assumption made by constructor homing
that all types that may require debug info must be constructed.
This change takes the conservative approach of always emitting full
debug info for standard-layout types which appear as a member of a
standard-layout union somewhere in the TU. It could be made more
aggressive by only emitting full debug info if there is another type in
the union that shares a "common initial sequence", but that would add
complexity to this exclusion logic and likely isn't worth it.
---------
Signed-off-by: Clayton Knittel <cknit1999 at gmail.com>
Commit: d28d490e113147bed0061a1bde79ebc982cbdb52
https://github.com/llvm/llvm-project/commit/d28d490e113147bed0061a1bde79ebc982cbdb52
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/local-vars-dependent-init.cpp
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Wait for the instantiation to check a dependent local variable (#224566)
RawPtrRefLocalVarsChecker had the same false positive as the call
arguments checker: a local variable whose declared type is a concrete
raw pointer was reported when its initializer was still type-dependent.
In
template <typename T> void f(T& guard) {
Voice* v = guard.ptr();
}
the declared type Voice* makes isUnsafePtr fire, while guard.ptr() is a
CXXDependentScopeMemberExpr, so tryToFindPtrOrigin bails out before it
can reach the guardian analysis which makes the resolved form safe. The
instantiation is character for character the concrete form, which is not
reported.
Skip type-dependent initializers and traverse the instantiated call
operators of a generic lambda, as in the call arguments checker. Unlike
there, each specialization also has to be installed as DeclWithIssue
while its body is traversed: the guardian analysis runs GuardianVisitor
over the body of DeclWithIssue, and pointed at the function enclosing
the lambda it walks the dependent pattern instead, where VisitCallExpr
gives up on a null getDirectCallee() and every guarded local is reported
again.
Commit: 674fd8d37e9b5806bc1a7ff31dc56bf3a0839c6b
https://github.com/llvm/llvm-project/commit/674fd8d37e9b5806bc1a7ff31dc56bf3a0839c6b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/test/CodeGen/RISCV/target-abi-invalid.ll
A llvm/test/CodeGen/RISCV/target-abi-synthesize-flag.ll
Log Message:
-----------
RISCV: Don't use MCTargetOptions::ABIName in the ELF target streamer (#224704)
The abi name should come from the target-abi module flag in codegen,
which should be set up in the AsmPrinter. The ABI name field should
only be of practical use in the assembler, which reads the flag in
onBeginOfFile.
Co-Authored-By: Claude <noreply at anthropic.com> (Claude Opus 4.8)
Commit: 46e6aac0ebc5754a8189d7742ba8432fbe17c640
https://github.com/llvm/llvm-project/commit/46e6aac0ebc5754a8189d7742ba8432fbe17c640
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/docs/RISCVUsage.md
Log Message:
-----------
[RISCV][Doc] Remove unratified extensions from the ratified extension status table. NFC (#225898)
Commit: 1bf9ce86b462aa5a184865ab3a2f7e7ea0b4b350
https://github.com/llvm/llvm-project/commit/1bf9ce86b462aa5a184865ab3a2f7e7ea0b4b350
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/source/Target/StackFrame.cpp
M lldb/test/API/commands/frame/var/TestFrameVar.py
Log Message:
-----------
[lldb] Fix crash on a trailing '-' in a legacy variable expression path (#225661)
`StackFrame::LegacyGetValueForVariableExpressionPath` walks a variable
expression path one separator character at a time. On seeing a `-` it
checks that the following character is `>`, to confirm this is really
the `->` operator and not something else:
```
case '-':
expr_is_ptr = true;
if (var_expr.size() >= 2 && var_expr[1] != '>')
return ValueObjectSP();
...
var_expr = var_expr.drop_front(); // Remove the '-'
[[fallthrough]];
case '.': {
var_expr = var_expr.drop_front(); // Remove the '.' or '>'
```
The `var_expr.size() >= 2` guard is only meant to make the `var_expr[1]`
read safe, but it also disables the whole check when `var_expr` is
exactly `"-"` (size 1) with nothing after it. Execution falls through
the `if`, drops the `-` (leaving an empty `StringRef`), then falls
through into the `.` case, which unconditionally drops a second
character on that now-empty string. `StringRef::drop_front` asserts
`size() >= N`, so this aborts.
Reproduced with `settings set target.experimental.use-DIL false` (the
legacy, non-DIL variable-expression-path parser) and a trailing `-`
with no variable-path continuation after it:
```
(lldb) settings set target.experimental.use-DIL false
(lldb) frame variable somevar-
Assertion failed: (size() >= N && "Dropping more elements than exist"), function drop_front, file StringRef.h, line 636.
```
Fix the guard to also reject when `var_expr` is too short to contain a
character after the `-`, not only when that character exists and is
wrong. After the fix the same command reports an ordinary parse error
instead of crashing:
```
(lldb) frame variable somevar-
error: unable to find any variable expression path that matches 'somevar-'
```
Add
`TestFrameVar.test_legacy_expression_path_malformed_trailing_operator`,
which runs `frame variable` on a trailing `-`, a trailing `>`, and `-`
followed by something other than `>`, under `use-DIL false`, and checks
each one fails as an ordinary command error rather than crashing lldb.
Commit: a13aa07af6d0527a14cdc2e2f3fe4ec3d0ccb362
https://github.com/llvm/llvm-project/commit/a13aa07af6d0527a14cdc2e2f3fe4ec3d0ccb362
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
Log Message:
-----------
[lldb] Fix dwim-print's arrow-operator check to match the substring (#225778)
`CommandObjectDWIMPrint::DoExecute` decides whether to try `expr` as a
limited, dot-only frame variable path before falling back to full
expression evaluation. The comment above the check says a variable
path is not attempted if `expr` contains the arrow operator (`->`) or
the subscript operator (`[]`), or a bare `*` or `&`:
```
const bool try_variable_path =
expr.find_first_of("*&->[]") == StringRef::npos;
```
`find_first_of` treats its argument as a set of characters so this also
matches a lone `-` or a lone `>` anywhere in `expr`, not only the
two-character `->` sequence the comment describes.
Fix the check to test for the `->` substring directly with
`StringRef::contains`, keeping `find_first_of` only for the four
characters that are genuinely excluded one at a time (`*`, `&`, `[`,
`]`).
By itself, this widens which expressions attempt the variable-path
fast path (anything with a lone `-` or `>` now does).
Ordinary arithmetic and comparison expressions containing a lone `-`
or `>` now correctly attempt, and correctly fail, the variable-path
fast path before falling through to `expression`, shown here
```
frame #0: liblldb.24.0git.dylib`lldb_private::CommandObjectDWIMPrint::DoExecute(this=<unavailable>, command=<unavailable>, result=<unavailable>) at CommandObjectDWIMPrint.cpp:169:13 [opt]
(lldb) settings set dwim-print-verbosity full
(lldb) dwim-print expr
note: ran `frame variable expr`
(llvm::StringRef) (Data = "1+1", Length = 3)
(lldb) dwim-print expr.Length-1
warning: `this' is not accessible (substituting 0). Couldn't load 'this' because its value couldn't be evaluated
note: ran `expression expr.Length-1`
(size_t) 2
(lldb) dwim-print expr.Length>0
warning: `this' is not accessible (substituting 0). Couldn't load 'this' because its value couldn't be evaluated
note: ran `expression expr.Length>0`
(bool) true
(lldb) dwim-print frame->m_frame_index
warning: `this' is not accessible (substituting 0). Couldn't load 'this' because its value couldn't be evaluated
note: ran `expression frame->m_frame_index`
(uint32_t) 0
```
Add more expressions in `TestDWIMPrint.test_expressions`, to cover
expressions
containing a lone `-` or `>`. Note that these tests can't tell "the
expression is evaluated by DIL but failed" and "expression isn't
evaluated by DIL at all".
Commit: 38299200b632536a769395c503c1f2fb2184e855
https://github.com/llvm/llvm-project/commit/38299200b632536a769395c503c1f2fb2184e855
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-dependent-arg.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-generic-lambda.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Wait for the instantiation to check a dependent call argument (#224565)
RawPtrRefCallArgsChecker reported a call argument as unsafe when the
call appeared in an uninstantiated template pattern and the argument was
still type-dependent. In
template <typename T> void f(T& voice) {
Wrapper::create(protect(voice));
}
Wrapper::create is qualified, so it is resolved in the pattern and its
parameter is known to be a raw reference, but protect(voice) is a
dependent call whose callee is still an UnresolvedLookupExpr.
tryToFindPtrOrigin has nothing to look at -- there is no callee decl and
the type of the call is '<dependent type>' rather than Ref<Voice> -- so
the argument was reported even though the instantiation resolves it to a
Ref. Giving the parameter a concrete type made the report go away with
no other change. The same happened in the body of a generic lambda,
which is such a pattern.
Skip type-dependent arguments and let the instantiation, which is
visited separately, decide. Function template instantiations were
already traversed, but a generic lambda's instantiated call operators
were not: with ShouldVisitImplicitCode disabled,
RecursiveASTVisitor::TraverseLambdaExpr only walks LambdaExpr::getBody()
and never the closure CXXRecordDecl. Traverse the specializations of the
dependent call operator as well, so that an argument which is only known
to be unsafe after instantiation is still reported.
Commit: b7252822c190a6a924fb15d35b6c4dfa5264fa03
https://github.com/llvm/llvm-project/commit/b7252822c190a6a924fb15d35b6c4dfa5264fa03
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/functionalities/archives/Makefile
Log Message:
-----------
[LLDB] Simplify Makefile (#225922)
Commit: 408ae6803f0cf2d8a65b00d3e1c9534113c5f0be
https://github.com/llvm/llvm-project/commit/408ae6803f0cf2d8a65b00d3e1c9534113c5f0be
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/Makefile
Log Message:
-----------
[LLDB] Simplify Makefile for TestBundleWithDotInFilename (#225930)
Commit: f4f785dcc156778dc940252df9408237cd5b01d1
https://github.com/llvm/llvm-project/commit/f4f785dcc156778dc940252df9408237cd5b01d1
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/macosx/find-dsym/deep-bundle/Makefile
M lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
Log Message:
-----------
[lldb][test] Use the default link rule in TestDeepBundle (#225937)
Commit: 78d4f5ae88311acba1f81560194f74e2c12ca808
https://github.com/llvm/llvm-project/commit/78d4f5ae88311acba1f81560194f74e2c12ca808
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/macosx/function-starts/Makefile
M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
Log Message:
-----------
[lldb]Simplify Makefile in TestFunctionStarts (#225941)
Assisted-by: Claude
Commit: a78e641705a45024a01ebd4d79a3d37b790f64f4
https://github.com/llvm/llvm-project/commit/a78e641705a45024a01ebd4d79a3d37b790f64f4
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/test/API/python_api/sbmodule/Makefile
Log Message:
-----------
[lldb][test] Remove dead a.out rule from TestSBModule's Makefile (#225943)
The custom a.out recipe was overridden by the default $(EXE) rule in
Makefile.rules ("overriding commands for target 'a.out'"), so a.o and
b.o were linked directly into a.out rather than through libfoo.a. Build
only main.c through C_SOURCES and pass libfoo.a via LD_EXTRAS, so the
default rule links against the archive as intended.
Assisted-by: Claude
Commit: da0ded191f82be4ae98eb6eefc01175bd0855ca8
https://github.com/llvm/llvm-project/commit/da0ded191f82be4ae98eb6eefc01175bd0855ca8
Author: MaoJian <maojian16 at huawei.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGen/X86/empty-struct-union-array.c
Log Message:
-----------
[X86] Fix CodeGen crash for arrays of empty structs and unions (#224203)
getFPTypeAtOffset() divides by the allocation size of an array element
when normalizing IROffset. Empty structs and unions have zero allocation
size, so arrays of these types can cause a division-by-zero during X86
ABI lowering.
Return nullptr for zero-sized array elements and add CodeGen tests for
empty struct and union arrays.
Commit: db7d6187d470e93f89d142831182ae928472fce7
https://github.com/llvm/llvm-project/commit/db7d6187d470e93f89d142831182ae928472fce7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/PHIElimination.cpp
A llvm/test/CodeGen/X86/phi-elimination-dead-def.mir
Log Message:
-----------
CodeGen: Mark dead PHI destination copies dead in the LiveIntervals path (#225760)
When PHIElimination lowers a PHI whose destination is dead, it records a
dead def in LiveIntervals but did not set the dead flag on the lowered
copy's def operand. The LiveVariables path set this via addVirtualRegisterDead.
Avoids "Instruction ending live segment on dead slot has no dead flag"
verifier errors once LiveVariables is removed.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Commit: 45bc3fbacaed869924160d9c3addc2364d2d4cc0
https://github.com/llvm/llvm-project/commit/45bc3fbacaed869924160d9c3addc2364d2d4cc0
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
A flang-rt/test/Driver/finit-local-array-exec.f90
A flang-rt/test/Driver/finit-local-char2-exec.f90
A flang-rt/test/Driver/finit-local-charN-exec.f90
M flang/docs/ReleaseNotes.md
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/LoweringOptions.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/test/Driver/finit-local.f90
A flang/test/Lower/CUDA/finit-local-cuda.cuf
A flang/test/Lower/finit-local-array-llvm.f90
A flang/test/Lower/finit-local-cray-pointee.f90
A flang/test/Lower/finit-local-exclusions.f90
A flang/test/Lower/finit-local-f128.f90
A flang/test/Lower/finit-local-kind-mapping-rtchar.f90
A flang/test/Lower/finit-local-kind-mapping-subbyte.f90
A flang/test/Lower/finit-local-kind-mapping.f90
A flang/test/Lower/finit-local-logical-llvm.f90
A flang/test/Lower/finit-local-packed.f90
A flang/test/Lower/finit-local-ppc-vector-llvm.f90
A flang/test/Lower/finit-local-real10-llvm.f90
A flang/test/Lower/finit-local-unsigned.f90
A flang/test/Lower/finit-local-volatile-llvm.f90
A flang/test/Lower/finit-local-volatile-real10.f90
A flang/test/Lower/finit-local-volatile.f90
A flang/test/Lower/finit-local.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Add -finit-local= to initialize automatic variables (#216164)
This patch implements the `-finit-local=` compiler option, which
initializes automatic (local) Fortran variables that have no explicit or
default initialization.
Assisted-by: IBM Bob
RFC:
https://discourse.llvm.org/t/rfc-add-finit-local-to-flang-for-initializing-automatic-variables/91545
## Accepted values
| Value | Effect |
|-------|--------|
| `zero` | Fill every storage byte with zero |
| `0x` | Fill every storage byte with the given hex pattern |
The gfortran compatibility alias `-finit-local-zero` is equivalent to
`-finit-local=zero`.
## Excluded variables (not initialized)
- Variables with explicit initializers (`integer :: x = 42`)
- Variables initialized via DATA statement
- Derived-type variables whose type has default component initialization
- SAVE variables (static storage)
- Dummy arguments
- ALLOCATABLE and POINTER variables
- Variables in EQUIVALENCE sets
- Cray pointees (their FIR base is a pointer-box descriptor, not value
storage)
- CUDA variables in device-only memory (`device`, `constant`, `shared`,
`usedevice`)
- **PowerPC vector locals** (`vector(real(4))` etc., direct or as a
derived-type component) — `fir::VectorType` does not implement
`DataLayoutTypeInterface`; see `finit-local-ppc-vector-llvm.f90`
## Known limitations
- CHARACTER arrays are not yet initialized (TODO: PR #159788).
- Arrays with unknown or zero extent at compile time are skipped.
- `REAL(16)`/`COMPLEX(16)` require `flang-supports-f128-math`.
- Sub-byte or non-byte-multiple kind mappings for LOGICAL without
allocation padding emit a controlled TODO diagnostic in hex mode only
(zero mode and padded mappings are supported in both modes).
- PowerPC vector locals are excluded (direct or as a derived-type
component).
Commit: 8ec24aa666a738c7258e2541a40b2e53bd7902ec
https://github.com/llvm/llvm-project/commit/8ec24aa666a738c7258e2541a40b2e53bd7902ec
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/CMakeLists.txt
M llvm/lib/Target/Mips/Mips.h
M llvm/lib/Target/Mips/Mips16HardFloat.cpp
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
R llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.h
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.h
M llvm/test/CodeGen/Mips/mips16-hf-attr.ll
M llvm/test/CodeGen/Mips/mips16_32_1.ll
M llvm/test/CodeGen/Mips/mips16_32_10.ll
M llvm/test/CodeGen/Mips/mips16_32_3.ll
M llvm/test/CodeGen/Mips/mips16_32_4.ll
M llvm/test/CodeGen/Mips/mips16_32_5.ll
M llvm/test/CodeGen/Mips/mips16_32_6.ll
M llvm/test/CodeGen/Mips/mips16_32_7.ll
M llvm/test/CodeGen/Mips/mips16_32_8.ll
M llvm/test/CodeGen/Mips/mips16_32_9.ll
M llvm/test/CodeGen/Mips/small-section-reserve-gp.ll
M llvm/test/Transforms/DivRemPairs/Mips/div-expanded-rem-pair.ll
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gn
Log Message:
-----------
[Mips] Remove the subtarget reset pass (#225833)
MIPS updates a target-machine-wide subtarget pointer before instruction
selection. This makes global section placement depend on the last
compiled function and leaves mixed-mode decisions tied to module state.
Use each function's subtarget for lowering, TTI and MIPS16 hard-float
handling, and retain the default subtarget's small-data policy for
global placement. Remove the reset pass, unused fixed subtargets and the
redundant mips-mixed-16-32 option.
Assisted-by: chatgpt-5.6-luna # Testcases
Commit: ae4f4a181f6c7768bee1eb2a5abaae940c9ffa68
https://github.com/llvm/llvm-project/commit/ae4f4a181f6c7768bee1eb2a5abaae940c9ffa68
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
A clang/test/CIR/CodeGen/bitint-wide-be.c
Log Message:
-----------
[CIR] Implement big-bitint lowering for big-endian (#225829)
As a followup to #225470, there was a post-commit comment that we didn't
do big-endian. This patch does that implementation.
However, thanks to the lack of the PPC ABI, we can't use the same test
file (the check lines for functions made the set of prefixes absurd), so
this only does the ones that are effectively different in a meaningful
way, which is a few of the constants. WE match classic in all but
irrelevant differences (packed vs not in 1 place).
Commit: 7008bdc020b6906ce9a5ff7c41224157893a7608
https://github.com/llvm/llvm-project/commit/7008bdc020b6906ce9a5ff7c41224157893a7608
Author: ilia-cher <30845429+ilia-cher at users.noreply.github.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
A llvm/test/CodeGen/AMDGPU/lirp.mir
Log Message:
-----------
[AMDGPU] Improved register pressure estimates for rescheduling (#213116)
Currently we use instantaneous register pressure estimates during
scheduling. This simple metric counts the number of registers live at
any given moment; scheduler uses it to determine when we are over the
register budget and should start prioritizing instructions that free
registers.
Unfortunately, this metric can sometimes be overly optimistic: for
example, it does not account for register redefinitions (common for
loop-carried vregs), and can underestimate the true register pressure.
This can often result in unnecessary spills and loss of performance in
production kernels.
To fix this, we introduce a stage that selectively reschedules certain
regions: it uses a lightweight, greedy, non-splitting register
allocation simulation to detect when the instantaneous estimate might be
wrong and a region should be rescheduled with tighter register limits.
Test plan:
```
ninja -C build
build/bin/llvm-lit -v llvm/test/CodeGen/AMDGPU/lirp.mir
+ perf testing on a corpus of kernels
```
Commit: 28d90b4824d5b485c891b1fcfc5b79add6052916
https://github.com/llvm/llvm-project/commit/28d90b4824d5b485c891b1fcfc5b79add6052916
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/docs/AIToolPolicy.md
M llvm/docs/AMDGPU/DeveloperGuideline.rst
M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/AdminTasks.md
M llvm/docs/CodeGenerator.md
M llvm/docs/CodingStandards.md
M llvm/docs/CommandGuide/llvm-ir2vec.md
M llvm/docs/CommandGuide/llvm-remarkutil.md
M llvm/docs/CompileCudaWithLLVM.md
M llvm/docs/DeveloperPolicy.md
M llvm/docs/ExtendingLLVM.md
M llvm/docs/GettingInvolved.md
M llvm/docs/GettingStarted.md
M llvm/docs/GitHub.md
M llvm/docs/GitRepositoryPolicy.md
M llvm/docs/GwpAsan.rst
M llvm/docs/HowToAddABuilder.rst
M llvm/docs/HowToBuildWithPGO.md
M llvm/docs/HowToCrossCompileBuiltinsOnArm.md
M llvm/docs/HowToCrossCompileLLVM.md
M llvm/docs/InstrProfileFormat.md
M llvm/docs/InstrRefDebugInfo.md
M llvm/docs/LangRef.md
M llvm/docs/Lexicon.md
M llvm/docs/LoopTerminology.md
M llvm/docs/MIRLangRef.md
M llvm/docs/MLGO.rst
M llvm/docs/MarkdownQuickstartTemplate.md
M llvm/docs/MeetupGuidelines.md
M llvm/docs/MemProf.md
M llvm/docs/MergeFunctions.md
M llvm/docs/NVPTXUsage.md
M llvm/docs/OpaquePointers.md
M llvm/docs/PointerAuth.md
M llvm/docs/ProgrammersManual.md
M llvm/docs/Proposals/VectorPredication.md
M llvm/docs/QualGroup.md
M llvm/docs/RISCV/RISCVVectorExtension.md
M llvm/docs/ReleaseNotes.md
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/SandboxIR.md
M llvm/docs/ScudoHardenedAllocator.md
M llvm/docs/SecurityTransparencyReports.md
M llvm/docs/SphinxQuickstartTemplate.md
M llvm/docs/SupportPolicy.md
M llvm/docs/TestingGuide.md
M llvm/docs/tutorial/BuildingAJIT1.md
M llvm/docs/tutorial/BuildingAJIT4.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl09.md
M utils/docs/llvm_sphinx/ext/absolute_links.py
M utils/docs/llvm_sphinx/ext/absolute_links_test/conf.py
M utils/docs/llvm_sphinx/ext/absolute_links_test/markdown.md
M utils/docs/llvm_sphinx/ext/absolute_links_test/rest.rst
A utils/docs/llvm_sphinx/ext/absolute_links_test/static.html
Log Message:
-----------
[docs] Replace llvm.org/docs links with project links (#222506)
Replace same-project absolute http* URLs with project-local markdown
links. This lets Sphinx validate the targets and keeps local
documentation builds and archived release documentation self-contained.
During the review of the PR, we decided that we prefer markdown-native
links with section header slugs for cross-referencing, when possible.
This is maximally compatible with other markdown renderers, like github.
This has been added to the sphinx quickstart guide, which serves as our
project local Sphinx style guide.
The absolute link checker has been updated to guide people towards the
correct link cross-ref syntax, warning on discouraged constructs.
Part of #214861
Assisted-by: codex
Commit: 396179a4dc3f1493bce1a5c81737175d1601519c
https://github.com/llvm/llvm-project/commit/396179a4dc3f1493bce1a5c81737175d1601519c
Author: David Green <david.green at arm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
Log Message:
-----------
[AArch64] Add tests for slice / ext shuffle kinds. NFC (#225949)
Commit: d4fd8328378def36c29e12b57fbfe69b404f10bc
https://github.com/llvm/llvm-project/commit/d4fd8328378def36c29e12b57fbfe69b404f10bc
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/flang-rt/lib/runtime/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 4989b3b (#225940)
This fixes 4989b3b0bb752c436c922d8e65cd7a952038d5db (#225877).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=4989b3b0bb752c436c922d8e65cd7a952038d5db
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 5a03a736fd53f64b66fcb064cd9a6a74214d309b
https://github.com/llvm/llvm-project/commit/5a03a736fd53f64b66fcb064cd9a6a74214d309b
Author: Alex Langford <alangford at apple.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M lldb/source/Core/IOHandlerCursesGUI.cpp
Log Message:
-----------
[lldb] Remove ConstString from IOHandlerCursesGUI.cpp (#225524)
Commit: 1f6f059b8f15cc34c848f9030fb53e63771bbd2e
https://github.com/llvm/llvm-project/commit/1f6f059b8f15cc34c848f9030fb53e63771bbd2e
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access.ll
A llvm/test/CodeGen/SPIRV/pointers/variable-pointers-storage-buffer.ll
Log Message:
-----------
[SPIR-V] Emit variable pointer capability for resources (#225471)
A function-local SPIR-V variable whose allocated type contains a
`StorageBuffer` pointer requires the module to declare the
`VariablePointersStorageBuffer` capability.
This change detects that variable-pointer context while lowering
function-local variables and recursively checks nested aggregate types.
Directly used structured buffers do not enable the capability. It also
registers the capability as available for Vulkan targets that support
SPIR-V 1.3 or `SPV_KHR_variable_pointers`, and emits the extension when
targeting older SPIR-V versions.
Fixes: #202064
Assisted by GPT-5.6 Sol
---------
Co-authored-by: Copilot App <223556219+Copilot at users.noreply.github.com>
Commit: 03a1d68a90c4ba5f6be086fabc37836b0a789b1b
https://github.com/llvm/llvm-project/commit/03a1d68a90c4ba5f6be086fabc37836b0a789b1b
Author: Anshul Nigham <nigham at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/flang/lib/Lower/BUILD.bazel
Log Message:
-----------
[Bazel] Add ComplexDialect dependency to FortranLower (#225973)
Fixes FortranLower bazel error introduced in commit 45bc3fbacaed, where
ConvertVariable.cpp includes mlir/Dialect/Complex/IR/Complex.h.
Commit: 0ce1b5f91add535d1e8b910ee90c178e054c65eb
https://github.com/llvm/llvm-project/commit/0ce1b5f91add535d1e8b910ee90c178e054c65eb
Author: Ömer Sinan Ağacan <omer at osa1.net>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/Bitcode/aarch64-neon-minmax-upgrade.ll
M llvm/test/CodeGen/AArch64/abd-combine.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmax.ll
Log Message:
-----------
[LLVM][AArch64] Remove intrinsics `llvm.aarch64.neon.{s,u}{min,max}` (#225339)
Commit: ade7081e0c7f1a9024256c65e26531da0354a7f1
https://github.com/llvm/llvm-project/commit/ade7081e0c7f1a9024256c65e26531da0354a7f1
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/include/llvm/Support/AutoConvert.h
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/Unix/Path.inc
Log Message:
-----------
[SystemZ][z/OS] Fix compile errors cused by sys::fs::file_t (#225539)
Follow-up to #224859: some calls/prototypes are guarded on z/OS, and
also need to be updated. This change fixes various compile errors.
Commit: 104f644ddbd3891bcc5955164672dd447110bd3c
https://github.com/llvm/llvm-project/commit/104f644ddbd3891bcc5955164672dd447110bd3c
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/docs/DirectX/SemanticSignatures.md
M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
M llvm/unittests/Frontend/HLSLSemanticSignaturePackingTest.cpp
Log Message:
-----------
[HLSLSemanticSignatures] Implement the optimal packing of elements (#218064)
Implements the optimal packing algorithm by sorting the elements in an
optimal order before sorting with prefix packing. This also adds an
explicit packing stage for the clip/cull signature elements that allows
them to be packed with other compatible semantic types.
Resolves: #205874.
Assisted by: Claude Opus 5 and GPT-5.6 Sol
Commit: 57a637ad382b7e496a8a914cbcd3661579d18e13
https://github.com/llvm/llvm-project/commit/57a637ad382b7e496a8a914cbcd3661579d18e13
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/Evaluator.cpp
A llvm/test/Transforms/GlobalOpt/constructor-explicit-section.ll
Log Message:
-----------
[GlobalOpt] Fix constructor folding on global with explicit section. (#220729)
Make sure we don't try to emit a non-zero value into BSS, or anything
similar to that.
Commit: bc9119b4259a08bbc58787303a829214f95d079c
https://github.com/llvm/llvm-project/commit/bc9119b4259a08bbc58787303a829214f95d079c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Support.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Support.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp
A flang/test/Fir/CUDA/cuda-device-is-active.mlir
M flang/test/Fir/cuf.mlir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-derived.cuf
M flang/test/Lower/CUDA/cuda-return01.cuf
M flang/test/Lower/CUDA/cuda-return02.cuf
Log Message:
-----------
[flang][cuda] Lower device is active as an operation (#225583)
Instead of lowering straight to a functin call, go through an op so it
can be lowered differently between device and host.
Commit: 76d164c48a5076c160285765df23749b9bab1ebc
https://github.com/llvm/llvm-project/commit/76d164c48a5076c160285765df23749b9bab1ebc
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/new-null.cpp
Log Message:
-----------
[CIR] Fix the order of temporary object cleanup (#225560)
We had a problem in CIR where we were performing cleanups in the wrong
order when conditional and unconditional cleanups were needed for
temporary objects created in a single expression. The unconditional
cleanups were being emitted as they occur, while the conditional
cleanups were deferred until the entire expression had been emitted. The
result was that conditional cleanups were performed after unconditional
cleanups, even if the unconditionally destroyed object was created
first.
This change fixes that problem by reorganizing the way conditional
cleanups are handled. A cir.cleanup.scope operation is now created
eagerly where a conditional begins rather than at the start of the full
expression, so that it nests inside the cleanup scopes of temporaries
created before the conditional and outside those created after it. Scope
nesting determines the order in which the cleanup regions run, so this
yields reverse-of-construction order. A ConditionalCleanupScope object
tracks the scope and the conditional cleanups waiting to be emitted into
it. If the eagerly created cleanup scope operation ends up not having
been needed, the canonicalization pass will remove it.
Assisted-by: Cursor / claude-opus-5
Commit: 7e4b8ae111298941e0c31052a7124ab36f5365b5
https://github.com/llvm/llvm-project/commit/7e4b8ae111298941e0c31052a7124ab36f5365b5
Author: Rafael Auler <rafael at rafaelauler.cc>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M bolt/include/bolt/Core/DebugNames.h
M bolt/lib/Core/DebugNames.cpp
Log Message:
-----------
[BOLT] Make .debug_names emission reproducible (#225218)
--update-debug-sections does not produce the same binary twice when the
input has a .debug_names section, or is given one with
--create-debug-names-section. Three sections vary from run to run:
.debug_str, .debug_names and .debug_str_offsets. On a two-CU split-DWARF
test binary, ten runs of the same llvm-bolt produced three different
outputs.
PR #197859 made the per-bucket work merge in partition order precisely
so the output would be reproducible, but missed this section. Two
issues:
- .debug_str offsets were handed out from the workers, so main.dwo.dwo
added by the merge step lands in a different place in each run. The
string offsets stored in .debug_names follow from it, and so does
.debug_str_offsets;
- hash colliding names were ordered by insertion (worker) order, also
non-deterministic.
We now determine string positions in the non-concurrent finalize step(),
and order collisions.
Commit: 620a9e9afaae2d51f186fd0f41988e3b326a127c
https://github.com/llvm/llvm-project/commit/620a9e9afaae2d51f186fd0f41988e3b326a127c
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
Log Message:
-----------
[RISCV] Combine two consecutive VSLIDEDOWN_VL nodes into one (#225232)
Given this pattern
```
%down0 = RISCVISD::VSLIDEDOWN_VL undef, %val, %offset0, %mask, %vl0
%down1 = RISCVISD::VSLIDEDOWN_VL undef, %down0, %offset1, %mask, %vl1
```
we can turn it into
```
%down1 = RISCVISD::VSLIDEDOWN_VL undef, %val, %offset2, %mask, %vl1
```
where %offset2 is `%offset0 + %offset1`, if `%vl0 >= %offset1 + %vl1`.
Commit: 77d48460414a9abc0743af84e6fc8c488b90ae55
https://github.com/llvm/llvm-project/commit/77d48460414a9abc0743af84e6fc8c488b90ae55
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/SandboxIR/Instruction.cpp
Log Message:
-----------
[SandboxIR] Add missing export to symbol used in test (#225505)
Commit: 263300bfce487bc7a115a31f59619568d9a20632
https://github.com/llvm/llvm-project/commit/263300bfce487bc7a115a31f59619568d9a20632
Author: Andre Sun <andsun9999 at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
Log Message:
-----------
[clangd] Enforce SymbolKind YAML coverage with -Wswitch (#225945)
Turn the SymbolKind YAML mappings into switch cases so missing mappings
trigger -Wswitch.
Follow-up to #222070.
Commit: 1c5716860e427859ce8c838ca3883b58eeb8b28c
https://github.com/llvm/llvm-project/commit/1c5716860e427859ce8c838ca3883b58eeb8b28c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[flang] Remove FIRBuilder dependency from optimizer support utilities (#225836)
Fix a GCC 16 build failure where FIROps.cpp.o had undefined references
to
fir::FirOpBuilder::setCommonAttributes(mlir::Operation *) const from
FirOpBuilder::notifyOperationInserted,
RewriterBase::ForwardingListener's notifyOperationInserted, and
OpBuilder::createOrFold<fir::ConvertOp>.
FIROps.cpp includes Optimizer/Support/Utils.h, which previously included
FIRBuilder.h. That exposes the inline virtual override
FirOpBuilder::notifyOperationInserted and its call to the out-of-line
setCommonAttributes implementation. Speculative devirtualization can
turn an ordinary virtual listener call into a guarded direct call and
inline that override, introducing a reference to setCommonAttributes
without an explicit use of FirOpBuilder in FIROps.cpp. This is
consistent with the reported call sites and GCC 16's expanded
speculative devirtualization.
The implementation belongs to FIRBuilder, whereas FIRDialect does not
link FIRBuilder. Adding that link would create a dependency cycle, since
FIRBuilder already depends on FIRDialect. Remove the unnecessary header
dependency instead, so the optimizer cannot see this derived listener
implementation when compiling FIROps.cpp.
The intrinsic type diagnostic helpers only needed the builder to get an
MLIRContext, which is already available from the type. Drop their
builder parameters, use type.getContext(), and update all callers,
including the now-unused parameters in the intrinsic-name diagnostic
helpers. Remove FIRBuilder.h from Utils.h and avoid the string-literal
namespace import it provided transitively. Include FIRBuilder.h
explicitly in CodeGen.cpp, which directly uses factory helpers declared
there.
The standalone FIRBuilder build needed acc_gen generated explicitly for
an unrelated missing OpenACC parser header.
Assisted-by: Codex
Commit: b0c96fd7668d54fba2cd8f37dcc62bbcf5eb57b0
https://github.com/llvm/llvm-project/commit/b0c96fd7668d54fba2cd8f37dcc62bbcf5eb57b0
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/test/CIR/CodeGen/sdk-version.c
M clang/test/CIR/CodeGenCUDA/device-stub.cu
Log Message:
-----------
[CIR] Introduce the cir.sdk_version module attribute (#225953)
CIRGen records the platform SDK version on the module as a
`cir.sdk_version` string attribute, and LoweringPrepare's CUDA/HIP
registration reads it instead of `getTargetInfo().getSDKVersion()` to gate
`__cudaRegisterFatBinaryEnd`, dropping one more `ASTContext` dependency
from the post-CIRGen pipeline.
LLVM IR already records the same fact as the "SDK Version" module flag
(`Module::setSDKVersion/getSDKVersion`), so an attribute on the module
is proper.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 50c52f53edd2fde8d699ce17e7e35edb5e281e85
https://github.com/llvm/llvm-project/commit/50c52f53edd2fde8d699ce17e7e35edb5e281e85
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
Log Message:
-----------
[PowerPC] Restore LiveVariables run before PPCTLSDynamicCallPass (#225816)
This change is a partial revert of 7818c91f7151. Removing the explicit
LiveVariables run before PPCTLSDynamicCallPass causes a crash on ppc64le
-fPIC builds:
```
fatal error: error in backend: Use not jointly dominated by defs.
```
This change was first added in 2016 with an unresolved FIXME.
Unfortunately, the root cause still needs to be understood and
investigated, so restore this for now to fix the broken buildbots.
Commit: ad3b8bec3a8976d6fb1a3f731f01fc453fa66efc
https://github.com/llvm/llvm-project/commit/ad3b8bec3a8976d6fb1a3f731f01fc453fa66efc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M libcxx/docs/TestingLibcxx.rst
Log Message:
-----------
[libc++][docs] Fix typos in TestingLibcxx.rst (#225983)
Commit: 22108b501943f7a315f05ed16f5569ddb5d5d458
https://github.com/llvm/llvm-project/commit/22108b501943f7a315f05ed16f5569ddb5d5d458
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
R llvm/test/TableGen/AMDGPUTargetDefGenericClassification.td
M llvm/test/TableGen/AMDGPUTargetDefGenericFeatures.td
Log Message:
-----------
[AMDGPU] Use synthetic fixtures for generic feature validation tests (#225551)
Remove the classification test that includes the full AMDGPU target.
Real targets are validated when generating AMDGPUTargetParserDef.inc
during the build.
Extend the lightweight generic feature tests to cover inherited
classifications of backend-only features, support through member-side
implications, and unsupported generic-side implied features.
Addresses the timeout reported on #223179
Commit: 9058b9c58e0788fcf3e00a3543587a82b12fa62a
https://github.com/llvm/llvm-project/commit/9058b9c58e0788fcf3e00a3543587a82b12fa62a
Author: Kane Wang <wangqiang1 at kylinos.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/half-convert.ll
Log Message:
-----------
[RISCV][GlobalISel] Fix fptosi/fptoui from half to i64 on RV32 (#222316)
The fcvt.l[u].h patterns are RV64-only, so RV32 had no rule for
`G_FPTOSI/G_FPTOUI` with `{s64, s16}.` The magnitude of a half is at
most `65504`, so with Zfh the i32 result of `fcvt.w[u].h` never
overflows and can simply be extended to i64.
Commit: 28fec94991905d8dd8a08658e9590e13b7fe1af5
https://github.com/llvm/llvm-project/commit/28fec94991905d8dd8a08658e9590e13b7fe1af5
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
A llvm/test/tools/llvm-profgen/AArch64/cs-bogus-trace.test
M llvm/test/tools/llvm-profgen/lit.local.cfg
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
Log Message:
-----------
[llvm-profgen] Fix bogus trace check (#225569)
Commit: 9c2e2cf0289feb7cf4ff5aafb8a46fae82bfeb2f
https://github.com/llvm/llvm-project/commit/9c2e2cf0289feb7cf4ff5aafb8a46fae82bfeb2f
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CodeLayoutOpt.cpp
M llvm/test/CodeGen/AArch64/code-layout-opt.ll
Log Message:
-----------
Disable AArch64CodeLayoutOpt for Windows targets. (#225974)
The pass is not compatible with Windows unwind info.
Fixes #212819
Commit: 15c447ea081640069246bb22147ed3cc4ab4e1d3
https://github.com/llvm/llvm-project/commit/15c447ea081640069246bb22147ed3cc4ab4e1d3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/test/Fir/global-attributes.fir
Log Message:
-----------
[flang][FIR] Make global section an inherent attribute (#225963)
Preserve the section when lowering fir.global to an LLVM global.
Assisted-by: Codex
Commit: 34d9eab9d702da1c63fd82349ec9cb10834f3ade
https://github.com/llvm/llvm-project/commit/34d9eab9d702da1c63fd82349ec9cb10834f3ade
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
A llvm/test/CodeGen/RISCV/machine-sink-jumptable-edge-split.ll
Log Message:
-----------
[RISCV] Support getJumpTableIndex (#224197)
This patch implements getJumpTableIndex hook for RISC-V; it trace from
PseudoBRIND back to the %jump-table.N.
The li instruction in jumptable dispatch block exists because the phi
constant is emitted during instruction selection. LLVM chooses the
source block in which to place the phi constant, then postpones moving
it to MachineSink, which relocates the phi constant closer to its use
site. However, to sink it out of the jump table dispatch block,
MachineSink needs to split the critical edge, which requires updating
the jump table entry. It needs the getJumpTableIndex hook to know which
jump table to update.
This avoids unnecessary instructions in the hot path (the jump table
dispatch block).
Commit: 4802f8f42c4b079c12994961f1d81c838581b831
https://github.com/llvm/llvm-project/commit/4802f8f42c4b079c12994961f1d81c838581b831
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqciio-invalid.s
M llvm/test/MC/RISCV/xqciio-valid.s
Log Message:
-----------
[RISCV][MC] Allow x0 as the destination of qc.inw (#225602)
According to the Xqciio specification, `qc.inw` does not impose any
restriction that excludes `x0` as the destination register. In
`qc.inw.yaml`, `rd` is defined as:
```
- name: rd
location: 11-7
```
This commit removes the incorrect `x0` restriction for `qc.inw`.
Link:
https://github.com/qualcomm/riscv-unified-db/blob/main/arch_overlay/qc_iu/inst/Xqci/qc.inw.yaml
Commit: e8d8ea3a8689a9f669c31a4824cec11e2aa533e3
https://github.com/llvm/llvm-project/commit/e8d8ea3a8689a9f669c31a4824cec11e2aa533e3
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M orc-rt/include/CMakeLists.txt
A orc-rt/include/orc-rt-internal/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrar.h
R orc-rt/include/orc-rt/bedrock/StandaloneMachOUnwindInfoRegistrar.h
M orc-rt/lib/bedrock/CMakeLists.txt
R orc-rt/lib/bedrock/StandaloneMachOUnwindInfoRegistrar.cpp
R orc-rt/lib/bedrock/sps/StandaloneMachOUnwindInfoRegistrarSPSCI.cpp
A orc-rt/lib/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrar.cpp
A orc-rt/lib/bedrock/sys/darwin/sps/StandaloneMachOUnwindInfoRegistrarSPSCI.cpp
M orc-rt/test/unit/CMakeLists.txt
R orc-rt/test/unit/bedrock/StandaloneMachOUnwindInfoRegistrarTest.cpp
A orc-rt/test/unit/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrarTest.cpp
Log Message:
-----------
[orc-rt] Make StandaloneMachOUnwindInfoRegistrar internal. (#225982)
StandaloneMachOUnwindInfoRegistrar depends on libunwind's
__unw_add_find_dynamic_unwind_sections, which is only available on
Darwin, and is only consumed within the runtime. Move its header to
orc-rt-internal/bedrock/sys/darwin/ (no longer installed), and its
sources and unit test to the corresponding sys/darwin/ directories.
The SPS CI adder header stays public, but is now installed only on Apple
platforms.
Commit: 3113e3b63d7e4f480dc30e6438f49a10faa020b0
https://github.com/llvm/llvm-project/commit/3113e3b63d7e4f480dc30e6438f49a10faa020b0
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/CUDA/predefined-variables.mlir
A flang/test/Fir/if-constant-condition-fold.fir
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/ieee_max_min.f90
A flang/test/Lower/if-constant-condition.f90
Log Message:
-----------
[flang] Fold fir.if with a constant condition (#225542)
Use `populateRegionBranchOpInterfaceInliningPattern` to fold `fir.if`
when the condition is a constant. It inlines the region the condition
selects, replacing uses of the `fir.if` results with the operands of
that region's `fir.result`, and erases the `fir.result`. A false
condition with no else region leaves nothing behind.
Commit: 8e7008ab4399a55353ad8744f1f574a5c1879f30
https://github.com/llvm/llvm-project/commit/8e7008ab4399a55353ad8744f1f574a5c1879f30
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
Log Message:
-----------
[AMDGPU][InstCombine] Canonicalize dot constant operands (#225083)
Move constant dot product source operands to the right hand side
and add tests for signed and unsigned dot intrinsics.
Commit: d41ee5c7c900f8c80026d8f477729b4956db7c3c
https://github.com/llvm/llvm-project/commit/d41ee5c7c900f8c80026d8f477729b4956db7c3c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/sdiv.ll
M llvm/test/Transforms/ConstraintElimination/srem.ll
Log Message:
-----------
[ConstraintElim] Add facts for sdiv with a positive divisor. (#225535)
Add signed bounds for `sdiv x, n`:
* `x s>= 0` and `n s> 0` => result s>= 0 and result s<= x
https://alive2.llvm.org/ce/z/Tvb3Nq
* `x s> 0` and `n s> 1` => result s= 0 and result s< x
https://alive2.llvm.org/ce/z/sL-XyG
PR: https://github.com/llvm/llvm-project/pull/225535
Commit: 3b264487a537168a4439c4830692cab646012775
https://github.com/llvm/llvm-project/commit/3b264487a537168a4439c4830692cab646012775
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/stat.yaml
M libc/src/sys/stat/CMakeLists.txt
M libc/src/sys/stat/linux/CMakeLists.txt
A libc/src/sys/stat/linux/mknod.cpp
A libc/src/sys/stat/mknod.h
M libc/test/src/sys/stat/CMakeLists.txt
A libc/test/src/sys/stat/mknod_test.cpp
Log Message:
-----------
[libc] Implement mknod in sys/stat (#225677)
Implement the standard POSIX.1-2008 / POSIX.1-2024 function `mknod` in
`<sys/stat.h>`.
Fixes #225664
Commit: 5b8f372ab952fa3a83411d1d289c9a8d2e2fb3dd
https://github.com/llvm/llvm-project/commit/5b8f372ab952fa3a83411d1d289c9a8d2e2fb3dd
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
A llvm/test/CodeGen/RISCV/rvp-ppaireo-w.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Select PPAIREO.W when packing with the high word of a value (#225763)
The low-half packed subvector insert is a v2i32 whose low word is the
subvector and whose high word is the high word of the wide vector,
which is exactly `ppaireo.w` (the low word comes from `rs1`, the high
word from `rs2`). Select it directly instead of `srli` + `pack`.
Adds `rvp-ppaireo-w.ll`; `rvp-simd-64.ll` is updated because the scalar
low insert in `test_insert_vector_32` now selects `ppaireo.w`.
Commit: a3ac598a8782df337f477672979d4dd53dc601b0
https://github.com/llvm/llvm-project/commit/a3ac598a8782df337f477672979d4dd53dc601b0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
A flang/test/Fir/CUDA/cuda-data-transfer-defer-acc-routine.mlir
Log Message:
-----------
[flang][cuda] Defer data-transfer conversion in OpenACC routines (#225906)
Add an option so cuf-convert can leave cuf.data_transfer in the
host copy of an OpenACC routine until host/device specialization.
After that, transfers in a specialized device body become
assignments. Place allocas inside IsolatedFromAbove offload
regions so later FIR lowering does not store into a temporary
defined outside acc.compute_region.
Commit: cdd0cc72485131b178011dd9c53ed2148f63ed5e
https://github.com/llvm/llvm-project/commit/cdd0cc72485131b178011dd9c53ed2148f63ed5e
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
Log Message:
-----------
[Clang][RISCV] Add packed subvector insert intrinsics (#225771)
Add __riscv_pset_i8x4_i8x8, __riscv_pset_u8x4_u8x8,
__riscv_pset_i16x2_i16x4 and __riscv_pset_u16x2_u16x4, which insert a
32-bit packed subvector into a 64-bit packed vector. The index selects
the low or high half and must be a constant, enforced with
__enable_if__ as for the element insert intrinsics.
Commit: 569085f9a800b2035e9644d71af6a5b495a8d770
https://github.com/llvm/llvm-project/commit/569085f9a800b2035e9644d71af6a5b495a8d770
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
A llvm/test/CodeGen/RISCV/rvp-widening-sub-acc.ll
Log Message:
-----------
[Clang][RISCV] Add packed widening subtraction accumulate intrinsics (#225764)
Add Clang header intrinsics for the RISC-V P-extension packed widening
subtraction accumulate operations:
- __riscv_pwsuba_i16x4
- __riscv_pwsuba_i32x2
- __riscv_pwsubau_u16x4
- __riscv_pwsubau_u32x2
Each computes rd + (a - b). The header wrappers use generic LLVM IR,
so RV32 selects the direct `pwsuba.*` / `pwsubau.*` instructions while
RV64 lowers the generic IR to the decomposition specified by the
P-extension intrinsic spec.
Commit: b19a36aaf4b9aaea539b903bd515b54a9f23a639
https://github.com/llvm/llvm-project/commit/b19a36aaf4b9aaea539b903bd515b54a9f23a639
Author: Matteo Di Iorio <104271382+splicer3 at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir
Log Message:
-----------
[mlir][Affine] Prevent buffer hoisting out of affine.parallel (#225324)
I noticed that `buffer-loop-hoisting` can move allocations out of
`affine.parallel`, making a buffer that should be local to each
iteration shared between the parallel iterations.
`AffineParallelOp` implements `LoopLikeOpInterface` but was missing the
`HasParallelRegion` trait, so `isSequentialLoop` treated it as
sequential. This adds the missing trait to `affine.parallel`, allowing
the pass to recognize the parallel boundary without changing the
hoisting logic.
I’ve added a regression test based on the reproducer in #225149, which
checks that the allocation stays inside `affine.parallel` and that the
store and load still use that allocation.
Fixes #225149.
Commit: fbf3c11ccd65fee37c80c9c00c0c4ab638388fe0
https://github.com/llvm/llvm-project/commit/fbf3c11ccd65fee37c80c9c00c0c4ab638388fe0
Author: AJMullen <andreas.mullen at arm.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M bolt/lib/Core/BinaryFunctionProfile.cpp
A bolt/test/AArch64/fix-block-count-multiple.s
A bolt/test/AArch64/fix-block-counts-indirect-branch.s
A bolt/test/AArch64/fix-block-counts-indirect-call.s
A bolt/test/RISCV/fix-block-count-multiple.s
A bolt/test/RISCV/fix-block-counts-indirect-branch.s
A bolt/test/RISCV/fix-block-counts-indirect-call.s
A bolt/test/X86/fix-block-count-multiple.s
A bolt/test/X86/fix-block-counts-indirect-branch.s
A bolt/test/X86/fix-block-counts-indirect-call.s
Log Message:
-----------
[BOLT] Include indirect calls/branches in basic block count estimation (#225104)
**Before:** When BOLT adjusts basic block counts in LBR mode it
considers outgoing branch counts when `--fix-block-counts` is enabled.
This adjustment was made according to the counts of direct calls and
branches which are recorded in the `Count` annotation made in
`DataReader::convertBranchData`. Indirect calls and branches are also
recorded within the `CallProfile` annotation, however they do not
contribute to the adjustment of basic block counts.
**After:** When making this adjustment to basic block counts, also
consider the counts of indirect calls and branches within the
`CallProfile` annotation. Do this by summing the execution counts of the
targets from this call/branch and considering them in determining the
maximum execution count of the basic block.
Assisted by: Codex. This was to write the tests for `x86` and `RISCV`
targets.
Commit: 898dc21a7e97a7a5e055428219fd23f59f6563b4
https://github.com/llvm/llvm-project/commit/898dc21a7e97a7a5e055428219fd23f59f6563b4
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/test/CodeGenCXX/dllexport-rtti-visibility.cpp
Log Message:
-----------
[clang] Inconsistent attributes for `dllexport __cxxabiv1:: __fundamental_type_info` with `-fvisibility=hidden` (#215859)
Fixes #207963
The issue is `__declspec(dllexport)` and `hidden` visibility cannot be
used together. LLVM rejects `globals` that have both attributes.
For normal globals, `CodeGenModule::setGlobalVisibility` already handles
this by giving `dllexport` priority over the visibility implied by
`-fvisibility=hidden`. RTTI follows a different code path, though.
`ItaniumRTTIBuilder::BuildTypeInfo` applies the visibility and DLL
storage class separately to the generated `_ZTI*` and `_ZTS*` globals,
so the conflict was not resolved.
As a result, marking `__cxxabiv1::__fundamental_type_info` as
`dllexport` while compiling with `-fvisibility=hidden` could generate
RTTI globals with both hidden visibility and `dllexport`, causing LLVM
to fail verification with Broken module found. The same problem can
occur for `dllexport`-ed polymorphic classes when targeting Windows with
the Itanium ABI.
Resolve the conflict directly in `BuildTypeInfo`, where both attributes
are applied. When `dllexport` is present, only hidden visibility is
changed to default; protected visibility is left unchanged because
protected with `dllexport` is valid LLVM IR. Explicit
`visibility("hidden")` on a `dllexport`-ed class continues to produce
the existing diagnostic.
Commit: 11fa04d92150f871fa778460cd8bad35719b9668
https://github.com/llvm/llvm-project/commit/11fa04d92150f871fa778460cd8bad35719b9668
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGenCXX/virtual-base-cast.cpp
Log Message:
-----------
[CIR] Make sure ptr-cast-to-vbase is guarded. (#225969)
It isn't clear how we missed this, but classic codegen does checks this,
so we should too.
Claude Helped diagnose/debug, but I did the copy/pasting :D
Commit: 846ad9de67ebea162840cbcf66b605226be3f18d
https://github.com/llvm/llvm-project/commit/846ad9de67ebea162840cbcf66b605226be3f18d
Author: Akun <cubehan3 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Fix canonicalizer crash when folding poison or kDynamic-sentinel index values (#223609)
Fixes two canonicalizer crashes, both in foldDynamicIndexList:
* #223333: tensor.extract_slice with a ub.poison offset/size crashes
canonicalization. ub.poison is matched as a constant but is not an
IntegerAttr, so getConstantIntValue returns nullopt and the subsequent
dereference asserts.
* #223336: a memref.subview offset/size/stride that wraps to
ShapedType::kDynamic (INT64_MIN) crashes canonicalization. Folding
INT64_MIN into the static array collides with the "dynamic" marker,
leaving dynamic-looking entries with no matching dynamic operands;
getMixedStrides() then asserts.
Only fold an operand when it is an integer constant whose value is not
ShapedType::kDynamic; poison and sentinel values stay dynamic operands.
Since foldDynamicIndexList is shared, this hardens all its callers.
Adds regression tests in mlir/test/Dialect/MemRef/canonicalize.mlir and
mlir/test/Dialect/Tensor/canonicalize.mlir.
Fixes #223333, #223336.
Commit: 593605cd2335b782cd9e02de961b326131b5add5
https://github.com/llvm/llvm-project/commit/593605cd2335b782cd9e02de961b326131b5add5
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/CodeGen/lifetime-marker.cpp
M clang/test/CIR/Transforms/flatten-cleanup-scope-musttail.cir
Log Message:
-----------
[CIR] Don't create EH paths for lifetime-marker-only cleanups (#224829)
### summary
fix https://github.com/llvm/llvm-project/issues/224821
A lifetime marker is not a real cleanup, so it must never be the reason
an unwind edge exists.
Assisted by : Claude Opus5
Commit: dfd1a85c6109d5a8bf9894d99e034ca178bb69f6
https://github.com/llvm/llvm-project/commit/dfd1a85c6109d5a8bf9894d99e034ca178bb69f6
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll
A llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-alias.ll
Log Message:
-----------
[CFI] Don't create alias->alias chains. (#225951)
Discovered downstream after PR #225173, when CFI and HWASAN are
combined.
See also
https://github.com/llvm/llvm-project/pull/225173#issuecomment-5802301926
If there is an alias, we should leave it alone, find its aliasee, and
create a new external linkage alias to that. Even if local linkage, the
existing alias may be referenced by name by e.g. inline assembly.
Commit: 4a7be3f275f2042e50ce80b66d7020bf84e3b09b
https://github.com/llvm/llvm-project/commit/4a7be3f275f2042e50ce80b66d7020bf84e3b09b
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/Diagnostics.h
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/IR/diagnostic-handler-next.mlir
M mlir/test/lib/IR/CMakeLists.txt
A mlir/test/lib/IR/TestDiagnosticsNext.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir] Add support for multi-parts diagnostics (#217804)
Under the current MLIR diagnostic infrastructure, emitting multiple
remarks at the same location requires calling the remark API multiple
times; moreover, every call to remark prints a note. This PR introduces
the concepts of "parts" To diagnostics. A streaming manipulator, called
`next`, similar to `std::endl` can be used to split multiple parts into
a single `InFlightDiagnostic`. This can be used for example to emit
multiple remarks at the same location, share the notes for those
remarks.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: db175d4e22935a0b8992801d3e4be276c0a69794
https://github.com/llvm/llvm-project/commit/db175d4e22935a0b8992801d3e4be276c0a69794
Author: Akun <cubehan3 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[mlir][Tensor] Reject empty expand_shape reassociation groups (#222648)
`tensor.expand_shape` with an empty reassociation group (e.g. `[[]]`)
used to abort the compiler: ExpandShapeOp::verify forwarded the group to
getSymbolLessAffineMaps, which asserts on missing affine expressions.
The sibling `tensor.collapse_shape` already rejects this input with a
clean diagnostic.
Extract the empty-group check into a helper shared by both tensor
reshape verifiers, invoke it from `ExpandShapeOp::verify`, and add an
invalid.mlir regression test that used to SIGABRT.
Fixes: #222602
Commit: cff0e6b5dc60cce76e85f0d9e9af537e76759315
https://github.com/llvm/llvm-project/commit/cff0e6b5dc60cce76e85f0d9e9af537e76759315
Author: Ying Huang <ying.huang at oss.cipunited.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M compiler-rt/lib/builtins/clear_cache.c
Log Message:
-----------
[Mips] Restrict rdhwr+synci to Linux on MIPS R6 (#222566)
The rdhwr instruction reads synci_step, which is not allowed by OpenBSD
and is not available for ISA older than mips{32/64}r2.
Restrict the rdhwr+synci to Linux on MIPS R6 and fall back to
_flush_cache on all other MIPS targets including OpenBSD and pre-R6
Linux.
Fix #219896.
Commit: 52d5f08f6ac5774e5e2af9b32822e23daec56b65
https://github.com/llvm/llvm-project/commit/52d5f08f6ac5774e5e2af9b32822e23daec56b65
Author: Letu Ren <fantasquex at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
A clang/test/CIR/IR/funnel-shift.cir
A clang/test/CIR/IR/invalid-funnel-shift.cir
A clang/test/CIR/Lowering/funnel-shift.cir
Log Message:
-----------
[CIR] Add cir.fshl and cir.fshr for elementwise funnel shifts (#222396)
Emit dedicated CIR ops from __builtin_elementwise_fshl/fshr instead of
cir.call_llvm_intrinsic.
Assisted-by: grok-4.6
Assisted-by: gpt-5.6-sol
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: 485f28816a3bc6025fa9fba97776f46916fc148f
https://github.com/llvm/llvm-project/commit/485f28816a3bc6025fa9fba97776f46916fc148f
Author: Letu Ren <fantasquex at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/LLVMIR/sroa.mlir
M mlir/test/Target/LLVMIR/Import/constant.ll
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVM] Support inrange in GEP (#220424)
LLVM IR allows inrange(Start, End) on constant GEP expressions.
Import dropped it because getAsInstruction() does not preserve it.
Model it as LLVM_ConstantRangeAttr on GEPOp, reject empty ranges,
keep it through fold/SROA, and emit ConstantExpr::getGetElementPtr.
Fixes #128031
Assisted-by: gpt-5.6-sol
Assisted-by: grok-4.6
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: d01665072d203e0d39bb364919de37cb0dcb9d8e
https://github.com/llvm/llvm-project/commit/d01665072d203e0d39bb364919de37cb0dcb9d8e
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
A clang/test/Sema/riscv-psati-width-out-of-range.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Add packed saturation intrinsics (#224432)
Add the Packed Saturation intrinsics `psati_i16x2`/`psati_i16x4`/
`psati_i32x2` and `pusati_u16x2`/`pusati_u16x4`/`pusati_u32x2`, their
codegen, and the Clang builtins and `riscv_packed_simd.h` wrappers.
See also
https://github.com/riscv/riscv-p-spec/blob/master/P-ext-intrinsics.adoc#packed-saturation
Commit: b30e26d9e0f0f02cdc9563878587a18a745a2cde
https://github.com/llvm/llvm-project/commit/b30e26d9e0f0f02cdc9563878587a18a745a2cde
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/dtor-comdat-key.cpp
Log Message:
-----------
[CIR] Implement comdat 'name' for dtors (#225929)
Itanium emits the complete-object ctor/dtor as an alias to the base
object version when they are able to be put into COMDAT. However, this
is not currently implemented in CIR, where we are missing the 'comdat
with a name' functionality.
This patch limits that to ONLY FuncOp, and only does the named version
(instead of referencing its own name) for these ctor/dtors. Doing this
for the comdat attribute and for GlobalOp is left to a future patch.
This showed up in the 'root' project, where the wrong dtor was called as
a result!
Note: Claude helped me with the diagnosis, and wrote the reproducer.
Commit: f9a544629742f7434ca993d675044be4cabde910
https://github.com/llvm/llvm-project/commit/f9a544629742f7434ca993d675044be4cabde910
Author: hidekisaito <hidekido at amd.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float-fp8-hw.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
Log Message:
-----------
[AMDGPU] Exclude GFX11.7 from GFX11 VOPD interlock hazard fix (#225880)
Narrowed the scope of #220348 from all of GFX11. Also, this Hazard
is now defined as a feature in AMDGPU.td.
Commit: 38dcabc41cec041b91be72a4733d571c18c80c6e
https://github.com/llvm/llvm-project/commit/38dcabc41cec041b91be72a4733d571c18c80c6e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/riscv_packed_simd.h
Log Message:
-----------
[RISCV][P-Ext] Remove builtins for pmerge with signed types. (#225975)
We can use the unsigned builtins to implement the signed intrinsics.
Commit: a0e841b2d7034f3756d1c1a0c8fb5577e63fc114
https://github.com/llvm/llvm-project/commit/a0e841b2d7034f3756d1c1a0c8fb5577e63fc114
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Bump Zvfofp8min to 0.9 and add link to the spec. (#225848)
The version was bumped to 0.9 when it was moved to an ISA manual PR.
Commit: 262304409c301410d92b50b394aaabc85fab20f8
https://github.com/llvm/llvm-project/commit/262304409c301410d92b50b394aaabc85fab20f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[RISCV] Use vlenb CSR to set Zvl*b feature getHostCPUFeatures. (#225486)
Zvl*b features aren't exposed in HwProbe, probably because the vlenb CSR
exists.
Commit: af00034e5ce89ce3fba77b7153f23737662b777a
https://github.com/llvm/llvm-project/commit/af00034e5ce89ce3fba77b7153f23737662b777a
Author: Wenju He <wenju.he at intel.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] AOT-compile split modules concurrently (#224548)
AOT-compile all split modules in a thread pool instead of one at a time,
cutting AOT wall time when there are multiple split modules.
---------
Co-authored-by: Claude Sonnet 5 <noreply at anthropic.com>
Commit: 1c0ab03c1c3e2ae36434162f78709025a0e0f66e
https://github.com/llvm/llvm-project/commit/1c0ab03c1c3e2ae36434162f78709025a0e0f66e
Author: renndong <liumingliang.dev at bytedance.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/tail-calls-sret.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
Log Message:
-----------
[RISCV] Support tail calls for functions with sret parameters (#223999)
This PR allows RISC-V tail calls from functions with an `sret`
parameter in a conservative set of cases.
RISC-V currently rejects a tail call whenever either the caller or the
callee has an `sret` parameter. This unnecessarily prevents tail-call
optimization.
For example:
```
%struct.Buffer = type { [7 x i32] }
; Function Attrs: mustprogress noinline nounwind uwtable
define void @foo(ptr sret(%struct.Buffer) align 4 %agg.result) {
entry:
tail call void @bar(ptr %agg.result, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6)
ret void
}
```
The caller-provided return buffer is passed to `foo` in a0. The same
pointer is then passed as the bar's ordinary first argument,
which also uses a0. Before this change, RISC-V emits a normal
call with a prologue and epilogue:
```
addi sp, sp, -16
.cfi_def_cfa_offset 16
sd ra, 8(sp) # 8-byte Folded Spill
.cfi_offset ra, -8
li a1, 1
li a2, 2
li a3, 3
li a4, 4
li a5, 5
li a6, 6
call bar
ld ra, 8(sp) # 8-byte Folded Reload
.cfi_restore ra
addi sp, sp, 16
.cfi_def_cfa_offset 0
ret
```
With this change, the call can be emitted directly as:
```
li a1, 1
li a2, 2
li a3, 3
li a4, 4
li a5, 5
li a6, 6
tail bar
```
This change is conservative and only considers cases where the caller’s
sret pointer is passed to callees.
Commit: f6e450004591ba4e13d137dc63b82da6b8de1cae
https://github.com/llvm/llvm-project/commit/f6e450004591ba4e13d137dc63b82da6b8de1cae
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A llvm/include/llvm/ABI/DefaultTargetInfo.h
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/lib/ABI/CMakeLists.txt
A llvm/lib/ABI/DefaultTargetInfo.cpp
M llvm/unittests/ABI/TargetInfoTest.cpp
Log Message:
-----------
[ABI] Add DefaultTargetInfo for default argument/return classification (#225009)
Summary:
- Introduce `DefaultTargetInfo`, the `llvm::abi` analogue of
`clang::CodeGen::DefaultABIInfo`.
- It provides self-consistent, non-ABI-specific argument/return
classification that targets without special rules can inherit and
delegate to.
Changes:
- `DefaultTargetInfo.h`: new `DefaultTargetInfo` class declaring
`classifyArgumentType`, `classifyReturnType`, and a `computeInfo`
override.
- `DefaultTargetInfo.cpp`: implement them mirroring classic
`DefaultABIInfo`.
- `TargetInfoTest.cpp`: exercise the classifiers through a minimal
`DefaultTargetInfo` subclass.
- Added `hasInt128Type()` and `getLongLongWidth()` hooks plus a
`getBitIntRegThreshold()` helper mirroring classic, and use it in both
`DefaultTargetInfo` classifiers.
Pre-requisite PRs : https://github.com/llvm/llvm-project/pull/225301
Relates to : https://github.com/llvm/llvm-project/issues/220471
Assisted by: claude opus 4.8
Commit: 60bafedef85aecc6d3dba62436a838ec3f4040a7
https://github.com/llvm/llvm-project/commit/60bafedef85aecc6d3dba62436a838ec3f4040a7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
Log Message:
-----------
[clang][bytecode] Split `InterpFrame::shrink()`/`peekData()` into slow and fast paths (#225761)
And move the fast path to the header file, so it can be more easily
inlined.
Commit: 18c1aa83bf243f0aa6b7dfe08ecdb5600c612769
https://github.com/llvm/llvm-project/commit/18c1aa83bf243f0aa6b7dfe08ecdb5600c612769
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
Log Message:
-----------
[flang][cuda] Apply implicit managed attribute to scalar pointers (#225934)
Under -gpu=mem:managed, allocatables and array pointers already get an
implicit CUDA managed attribute, but scalar data pointers can still be
EntityDetails during FinishSpecificationPart and only become objects in
ConvertToObjectEntity. That left ALLOCATE of a scalar pointer on the
host heap, so present() failed to find it.
Factor the implicit managed/pinned attribution into
ApplyImplicitCUDADataAttr and invoke it from FinishSpecificationPart,
component declarations, and ConvertToObjectEntity. Skip it when
SetCUDADataAttr is applying an explicit attribute.
Commit: 01f3fe9a021f1b6933e033da89adbedbecd9600d
https://github.com/llvm/llvm-project/commit/01f3fe9a021f1b6933e033da89adbedbecd9600d
Author: Aditya Sinha <155882262+AdityaSinha149 at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Basic/TargetID.h
M clang/lib/Basic/TargetID.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang] Move normalizeForBundler to TargetID for reuse (#225049)
This PR is a prerequisite for #218337. It moves `normalizeForBundler
`from `HIPUtility.cpp` into `clang/Basic/TargetID` so the HIP toolchain,
`clang-linker-wrapper`, and `clang-repl` can share the same
offload-bundle target-name policy.
Assisted by Claude Opus 4.8
Commit: 74a53743efe6ce3feffca0503ca1ec7a53c7f5e6
https://github.com/llvm/llvm-project/commit/74a53743efe6ce3feffca0503ca1ec7a53c7f5e6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
Log Message:
-----------
[Github] Fix TODO around LLVM version in tooling container (#226015)
Now that the build job uses a newer version of podamn we can get this
fixed.
Commit: c986ee5d0b97f53ef82852597d626cfbf079d5a7
https://github.com/llvm/llvm-project/commit/c986ee5d0b97f53ef82852597d626cfbf079d5a7
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
Log Message:
-----------
[ORC] Mangle PerfSupportPlugin runtime function names as C (#226010)
The llvm_orc_registerJITLoaderPerf{Start,End,Impl} names are extern "C"
functions in JITLoaderPerf.cpp, so describe them as C names rather than
Verbatim. PerfSupportPlugin is ELF-only, where C mangling adds no
prefix, so this is a no-op in practice.
Commit: 9672f460e7b2d5822e6198b8613c408e91099f5e
https://github.com/llvm/llvm-project/commit/9672f460e7b2d5822e6198b8613c408e91099f5e
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
Log Message:
-----------
[ORC] Name eh-frame alloc actions using ORC rt convention. (#226014)
Rename the eh-frame alloc actions (register, deregister) using the new
ORC runtime's conventions for alloc-action naming.
This aligns the names used in LLVM with an upcoming implementation in
the new ORC runtime.
Commit: 4c367b4ff3cf60fe5fb8e7eba02ed0b42b9e40ab
https://github.com/llvm/llvm-project/commit/4c367b4ff3cf60fe5fb8e7eba02ed0b42b9e40ab
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpHelpers.h
Log Message:
-----------
[clang][bytecode] Remove double pointer type checks in Load{,Pop} (#225802)
Make sure that `CheckLoad` only returns true if the load is actually
valid.
Commit: fbe07e2e386265a5ee77f57ade0410e96736b487
https://github.com/llvm/llvm-project/commit/fbe07e2e386265a5ee77f57ade0410e96736b487
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Remove unneeded code from EmitInstrWithCustomInserter. NFC. (#225919)
Commit: 39398c562f7ffbb6a8303e4f1b518606bd70be9f
https://github.com/llvm/llvm-project/commit/39398c562f7ffbb6a8303e4f1b518606bd70be9f
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/docs/LangRef.md
Log Message:
-----------
[doc] Fix markdown bug in LangRef docs for EH model (#226025)
I'm pretty sure this was my fault.
Commit: acf81a81386f88305b346798ef36b4e276c74f82
https://github.com/llvm/llvm-project/commit/acf81a81386f88305b346798ef36b4e276c74f82
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/test/MC/ELF/leb128-err.s
Log Message:
-----------
[MC] Flush pending errors when layout stops early due to relaxOnce error (#226028)
When relaxOnce returns nonzero after an error has been reported,
layout() returns without flushing the errors recorded by the last
relaxation pass, and Finish() fails `assert(PendingErrors.empty())`.
Fixes #225036
Commit: c8c8cc693ac936a0c16ec47d9bb7053fe3af592e
https://github.com/llvm/llvm-project/commit/c8c8cc693ac936a0c16ec47d9bb7053fe3af592e
Author: Wendi <uwendi at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/docs/QualGroup.md
Log Message:
-----------
[docs] Update Qualification WG working processes (#224904)
Document the working-process decisions agreed during the [September LLVM
Qualification WG
sync-up](https://discourse.llvm.org/t/llvm-qualification-wg-sync-ups-meeting-minutes/87148/36):
- Clarify the intended use of each communication channel.
- Establish GitHub pull requests as the authoritative place for artifact
reviews and their outcomes.
- Document the review requirements for trivial and non-trivial changes.
- Clarify the use of GitHub issues for tracked actions and backlog
items.
This also converts the group-members list from a MyST `list-table`
directive to a standard Markdown table.
Commit: 089fbdd5ab2afce38747b1a79a3c963bbdb4d9da
https://github.com/llvm/llvm-project/commit/089fbdd5ab2afce38747b1a79a3c963bbdb4d9da
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[cross-project-tests] Avoid requiring packaging for GDB/LLDB version checks (#225126)
Previously, `cross-project-tests/lit.cfg.py` imported `packaging.version` to
compare GDB and LLDB version numbers and unconditionally called
`lit_config.fatal()` when the third-party `packaging` Python package was not
installed in the test environment. Try `packaging.version.parse` first, fall
back to splitting dot-separated integer components when `packaging` is not
available, and raise `ValueError` on unparseable versions so each caller can
emit a context-specific warning instead of aborting the test suite.
This commit was created with the help of AI tools
Pull-Request: https://github.com/llvm/llvm-project/pull/225126
Commit: cd417a78a709c206b7079f484aa67388b2ae4c8f
https://github.com/llvm/llvm-project/commit/cd417a78a709c206b7079f484aa67388b2ae4c8f
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinaryFunctionProfile.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/JTFootprintReduction.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/ProfileQualityStats.cpp
M bolt/lib/Passes/ReorderAlgorithm.cpp
M bolt/lib/Passes/ReorderData.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M polly/lib/CodeGen/LoopGenerators.cpp
M polly/lib/Support/PollyDebug.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
Log Message:
-----------
Remove unneeded cl::Optional and cl::ZeroOrMore. NFC (#225628)
cl::Optional and cl::ZeroOrMore on a named argument have been no-op
since https://reviews.llvm.org/D120455 removed the "may only occur zero
or one times!" error.
LLM-aided
Commit: 0f6b03f1ecb134c58aaa6a79b9320b3c30f15ef8
https://github.com/llvm/llvm-project/commit/0f6b03f1ecb134c58aaa6a79b9320b3c30f15ef8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/eh-invoke-label-suppression.ll
A llvm/test/CodeGen/X86/eh-labels-unknown-personality.ll
Log Message:
-----------
CodeGen: Suppress per-invoke EH labels via an MCAsmInfo object predicate (#225903)
This is to avoid depending on TargetOptions::ExceptionModel in the
X86ISelLowering constructor. This was used to legalize EH_LABEL to a
nop. Legality rules cannot depend on program state, and the exception model
should be read from the IR module flag. In this instance the exception model
isn't really the relevant property. The specific personality and the target
object's EH table format are. Introduce a new MCAsmInfo predicate which
is a known constant for the triple. Also just do this during the initial label
emission instead of leaving it to legalization. This cleans up some unused
labels for wasm. This is also a minor behavior change for unknown
personalities; the labels will now be conservatively emitted.
I don't know all that much about exceptions, there's a lot of AI reverse
engineering of intent here. Another bruteforce approach would be to just
relocate the current condition to the selector which has access to the
exception model, but the MCAsmInfo check will be reusable in other
contexts.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: d6e9ffd58c7cacbde364b149b33ebce8dff3694c
https://github.com/llvm/llvm-project/commit/d6e9ffd58c7cacbde364b149b33ebce8dff3694c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
Log Message:
-----------
[ORC] Re-rename eh-frame alloc actions. (#226038)
Use 'Section' as the suffix rather than 'Frame' to make clear that these
actions register whole sections at a time. This aligns eh-frame
registration action names with the MachO unwind info registration action
names.
An ORC runtime commit implementing these actions will land as a
follow-up commit.
Commit: d68eb988705ce5e14ca6eba12c74ebdadf573ad7
https://github.com/llvm/llvm-project/commit/d68eb988705ce5e14ca6eba12c74ebdadf573ad7
Author: Mian Miftah <mmiftah.duna at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
M llvm/lib/IR/Metadata.cpp
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/GVN/callees-metadata.ll
A llvm/test/Transforms/SimplifyCFG/merge-callees-metadata.ll
Log Message:
-----------
[Local] Preserve !callees when merging calls (#225307)
When `SimplifyCFG` hoists or sinks two calls, `combineMetadata` drops `!callees`
even if both calls have it. Take the union of the lists when the retained
call moves, since it must allow the targets of either call. If either call
has no `!callees`, drop it from the merged call. For CSE, keep the list on
the call that stays in place.
Commit: b273b5fdc5c5360d6f1b3c6c7c22e44743d72a8e
https://github.com/llvm/llvm-project/commit/b273b5fdc5c5360d6f1b3c6c7c22e44743d72a8e
Author: Tim Misiak <tim.misiak+github at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/docs/PDB/HashTable.md
Log Message:
-----------
[docs] Fix PDB serialized hash table on-disk format description (#225889)
Fixes #76602
Updating HashTable.md to match how the PDB hash table format is
serialized according to the microsoft-pdb repository:
https://github.com/microsoft/microsoft-pdb/blob/805655a28bd8198004be2ac27e6e0290121a5e89/PDB/include/map.h#L584
The key/value list contains Size entries rather than Capacity entries,
and the present bit vector identifies which bucket each pair belongs to.
Commit: 48a0b894efefb4f2f5dad224860c473e4d26e962
https://github.com/llvm/llvm-project/commit/48a0b894efefb4f2f5dad224860c473e4d26e962
Author: Hamza Qureshi <hamza7771.861 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
Log Message:
-----------
[mlir][LLVMIR] Fix a crash when `llvm.mlir.constant` fails to create an LLVM constant. (#224951)
Fix the `llvm.mlir.constant` translation to handle a failed
`getLLVMConstant()` conversion. The current code can pass a null
`llvm::Value` to users of the constant, causing an assertion. Check the
result of `getLLVMConstant()` and return failure when the conversion
fails.
Fixes #224815
Commit: 162edfe631ac3ac87a9b30500a451a0fa853d164
https://github.com/llvm/llvm-project/commit/162edfe631ac3ac87a9b30500a451a0fa853d164
Author: geoffreygaren <ggaren at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/analyzer/checkers.md
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-canborrow.h
A clang/test/Analysis/Checkers/WebKit/unborrowed-call-args.cpp
Log Message:
-----------
[WebKit Checkers] Add alpha.webkit.UnborrowedCallArgsChecker (#225854)
Like alpha.webkit.UnborrowedLocalVarsChecker, but for function
arguments.
As in the local variable checker, we do not treat an origin that
outlives a function call as sufficient evidence of safety. We need to
prove not only that an object is live, but also that it prevents
interior destruction.
Assisted-by: Claude
Commit: 93740deeaf7e4201d6117ba51d3f7f961a9d8d56
https://github.com/llvm/llvm-project/commit/93740deeaf7e4201d6117ba51d3f7f961a9d8d56
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/scanner.c
Log Message:
-----------
[lldb] Fix heap-buffer-overflow in tree-sitter-swift scanner state (#224001)
Running the `HighlighterTests` unit test under AddressSanitizer aborts
on every Swift test case, for example `SwiftComments`:
```
==69424==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000008070 at pc 0x000116a1f36c bp 0x00016d07c3c0 sp 0x00016d07c3b8
READ of size 4 at 0x602000008070 thread T0
#0 0x000116a1f368 in eat_raw_str_part scanner.c:700
#1 0x000116a1b5f4 in tree_sitter_swift_external_scanner_scan scanner.c:858
#2 0x00012cc77420 in ts_parser_parse
#3 0x00012cc79afc in ts_parser_parse_string
#4 0x00010a3536a4 in lldb_private::TreeSitterHighlighter::Highlight(...)
0x602000008071 is located 0 bytes after 1-byte region [0x602000008070,0x602000008071)
allocated by thread T0 here:
#0 0x00012d68d560 in calloc
#1 0x00012cc763b8 in ts_parser_parse
#2 0x00012cc79afc in ts_parser_parse_string
```
`eat_raw_str_part` reads `state->ongoing_raw_str_hash_count` as its
first statement, a 4 byte field, but the scanner state was allocated
with:
```
void *tree_sitter_swift_external_scanner_create() {
return calloc(0, sizeof(struct ScannerState));
}
```
`calloc` with an element count of 0 has no obligation to reserve room
for `sizeof(struct ScannerState)`, so it works by accident, but is
found by ASAN.
Fix it by allocating one instance, matching the Rust scanner and the
struct's actual use as a single persistent state object across calls.
The existing `HighlighterTest.Swift*` tests already exercise this path
end to end and catch the regression under AddressSanitizer; no new
test is needed.
Commit: 5c1c22673ce6f981a0f399409134576caaf24f87
https://github.com/llvm/llvm-project/commit/5c1c22673ce6f981a0f399409134576caaf24f87
Author: Akun <cubehan3 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/IR/Diagnostics.cpp
Log Message:
-----------
[mlir] Match diagnostic string vector return type (#226011)
Match the local `SmallVector<std::string>` type to
`Diagnostic::strs()`'s declared return type.
Fix the build on some platform/toolchains.
Assisted by: codex
Commit: 2522dfd0dd277691c8ba4aa38b0d929150073702
https://github.com/llvm/llvm-project/commit/2522dfd0dd277691c8ba4aa38b0d929150073702
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/syscall_wrappers/access.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/chdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/chmod.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/faccessat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchmod.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getcwd.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/link.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mkdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mkdirat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlink.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlinkat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rename.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rmdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/statx.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlink.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlinkat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/utimensat.h
Log Message:
-----------
[libc] Migrate filesystem syscall wrappers to syscall_checked (#225636)
Migrate a batch of related filesystem/path syscall wrappers to use
syscall_checked instead of manual syscall_impl error checking.
While in there:
- update file headers to the new style
- reformat includes into a single block so clang-format can sort them
Assisted-by: Gemini
Commit: ea198d02593a8c37f6a090910416669206d877a4
https://github.com/llvm/llvm-project/commit/ea198d02593a8c37f6a090910416669206d877a4
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/unistd.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/fdatasync.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/fdatasync.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/fdatasync.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/fdatasync_test.cpp
Log Message:
-----------
[libc] Implement fdatasync (#225613)
This patch implements the fdatasync entry point for Linux, matching the
existing fsync implementation. I'm adding it to all supported Linux
architectures (x86_64, aarch64, arm, and riscv), where it's backed by
the SYS_fdatasync syscall.
Assisted-by: Gemini
Commit: a0fe8bbd0143be1a15900faef391dc8b878f856f
https://github.com/llvm/llvm-project/commit/a0fe8bbd0143be1a15900faef391dc8b878f856f
Author: Amit Tiwari <Amit.Tiwari at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M openmp/docs/Building.md
M openmp/libompd/gdb-plugin/CMakeLists.txt
M openmp/libompd/gdb-plugin/README.txt
Log Message:
-----------
[OpenMP][OMPD] Set plugin RUNPATH to identify LLVM Libs (#223691)
`ompdModule` links LLVMSupport, but GDB loads it from
`share/gdb/python/ompd/ompdModule.so` while LLVM libs lives in
`lib/LLVMSupport.so` or `lib/LLVM.so`. The dynamic linker (one that
opens .so files) loosk at:
1) paths inside .so (aka RUNPATH)
2) `LD_LIBRARY_PATH`
3) or system defaults paths
After [previous
patch](https://github.com/llvm/llvm-project/pull/222455), a normal
install can fail with "cannot open shared object file" unless the user
sets `LD_LIBRARY_PATH` by hand which is easy to forget after `ninja
install`.
Fix: The approach is to make CMake write RUNPATH on `ompdModule.so`, so
the plugin follows its own directions and hence the linker (same
approach LLDB uses for its Python module). This completes the LLVM link
added in the previous patch. It does not change how `libompd.so` is
located (still `ompd_dll_locations`/`LD_LIBRARY_PATH`).
Commit: a498e642af4aded70fd48bda68b0692a58425e86
https://github.com/llvm/llvm-project/commit/a498e642af4aded70fd48bda68b0692a58425e86
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
Log Message:
-----------
[LV] Cost EVL width-adjusting zext/trunc as free (#225016)
With EVL tail folding, the scalar zext/trunc that adjusts the i32
ExplicitVectorLength to the canonical IV type was priced as a regular
cast (cost 1). It never lowers to an instruction, only feeding the
(free) IV increment and AVL decrement, so the phantom cost dropped
borderline loops such as TSVC s351 on RV64 to VF 1.
Here we return 0 for such casts so that we don't over-estimate the
cost.
Fixes #224987
Assisted-by: TRAE CLI (Opus 4.8)
Commit: b899756b5bf2193ab5d354a53aa7a2e746f4806c
https://github.com/llvm/llvm-project/commit/b899756b5bf2193ab5d354a53aa7a2e746f4806c
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/float_args.ll
Log Message:
-----------
[Mips][GlobalISel] Keep split double arguments live across calls (#225879)
Mark both GPRs assigned by custom f64 argument lowering as implicit uses
of the call. Without these uses, dead machine instruction elimination
can remove the copies that pass the argument.
Check call operands after IR translation and optimized FPR-to-GPR
argument passing with FP32 and FP64 register modes.
Commit: cc5f53a2a7585b013f872b859f019d601a754307
https://github.com/llvm/llvm-project/commit/cc5f53a2a7585b013f872b859f019d601a754307
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ODS] Reuse property storage in generated builders (NFC) (#226061)
Retrieve operation properties once in each generated builder that writes
them, then use the same reference for segment sizes, properties, and
attributes. This improved MLIR build time by avoiding repeated storage
lookup, e.g. cuts OpenMPDialect.cpp compiler instructions by 1.2%.
Assisted-by: Codex
Commit: bc83777c2e2c3d027cd12e7715a138d12921c98b
https://github.com/llvm/llvm-project/commit/bc83777c2e2c3d027cd12e7715a138d12921c98b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ODS] Share generated attribute property conversion (NFC) (#226057)
Move repeated attribute-backed property assignment and dictionary entry
construction into common helpers. This reduces MLIR build time by saving
optimizer work in large generated dialect translation units while
preserving diagnostics and conversion behavior.
Assisted-by: Codex
Commit: f05c3d51c42b23f1684d74c9084537ac5ea7ca36
https://github.com/llvm/llvm-project/commit/f05c3d51c42b23f1684d74c9084537ac5ea7ca36
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/tools/lldb-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/corefile.dict
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/lldb-corefile-fuzzer.cpp
Log Message:
-----------
[lldb] Add a corefile fuzzer (#225103)
Fuzzes the metadata parser when LLDB opens a corefile for Mach-O
and ELF.
The fuzzer writes input data to a tempfile and loads it through
`Process::LoadCore()`, the same way `target create --core` does.
It initializes both the macOS and Linux host platforms so the
core-load path runs regardless of which of the two OSes the fuzzer
itself is built on.
`lldb-target-fuzzer` does not reach any of this. It only calls
`SBDebugger::CreateTarget`, which builds a Target and its executable
Module; identifying that module parses the Mach-O/ELF header and
load/section commands, but never calls `Process::LoadCore`.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: a73d995096d23a56458c815b6934b95cd9a8bb53
https://github.com/llvm/llvm-project/commit/a73d995096d23a56458c815b6934b95cd9a8bb53
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
Log Message:
-----------
[Clang] Add fixes to padding clearing logic to the release notes (#225340)
Commit: 022fdfa1e5a0b85dc785d30b17be3880768b22dc
https://github.com/llvm/llvm-project/commit/022fdfa1e5a0b85dc785d30b17be3880768b22dc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/move-to-valu-absdiff.mir
Log Message:
-----------
AMDGPU: Mark the carry-out of the scalar abs expansion dead (#226046)
Commit: f4eb722b0c41a8ac1a239edc8384f8577a1abed4
https://github.com/llvm/llvm-project/commit/f4eb722b0c41a8ac1a239edc8384f8577a1abed4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/WinEHPrepare.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
A llvm/test/CodeGen/WebAssembly/wineh-prepare-wasm-personality.ll
A llvm/test/CodeGen/X86/wineh-prepare-dwarf-personality.ll
Log Message:
-----------
CodeGen: Derive WinEHPrepare PHI demotion from the personality (#225676)
Previously WinEHPrepare had a catchswitch-only pass option which was
set based on the exception model in the pass config. The only special
case using it was for Wasm EH, which reuses the Windows EH instruction but
does not outline funclets so only needs the catchwitch dispatch phi handling.
Instead check the properties of the personality function inside the pass, so the
pass config is less dependent on knowing the exception model.
Also, make sure the pass is a nop for dwarf EH which appears to be untested.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: f5d74f58b7b2449b4ef79145670f309607b803b8
https://github.com/llvm/llvm-project/commit/f5d74f58b7b2449b4ef79145670f309607b803b8
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
Log Message:
-----------
[AMDGPU] Remove unneeded usesCustomInserter on some opcodes. NFC. (#226055)
Commit: 4c9931d4af3c2dc86eb061057c6e2383466250ee
https://github.com/llvm/llvm-project/commit/4c9931d4af3c2dc86eb061057c6e2383466250ee
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SjLjEHPrepare.cpp
A llvm/test/Transforms/SjLjEHPrepare/respect-exception-model-flag.ll
Log Message:
-----------
CodeGen: Respect the exception-model module flag in SjLjEHPrepare (#225726)
Teach SjLjEHPrepare to consult the "exception-model" module flag and
only prepare when the module selects the SjLj model. When the flag is absent
the pass runs as before, implicitly relying on the pass config not running
the pass.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 7942551c1a93e7418be9c168bb0e674efbd68a29
https://github.com/llvm/llvm-project/commit/7942551c1a93e7418be9c168bb0e674efbd68a29
Author: Ivan R. Ivanov <iivanov at nvidia.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A offload/libompaccsupport/AsyncInfo.cpp
M offload/libomptarget/CMakeLists.txt
M offload/libomptarget/omptarget.cpp
Log Message:
-----------
[offload][nfc] Move AsyncInfoTy's definitions to libompaccsupport (#220991)
AsyncInfoTy will be used by both OpenMP and OpenACC. Extract its
implementation from `omptarget.cpp` into `libompaccsupport` so that it
can also be compiled independently by libacctarget.
Commit: 07fbbac878025ecf8f3b25f28ec38c826e6f4891
https://github.com/llvm/llvm-project/commit/07fbbac878025ecf8f3b25f28ec38c826e6f4891
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/Diagnostics.h
M mlir/lib/IR/Diagnostics.cpp
Log Message:
-----------
[mlir] Reduce Diagnostic storage across standard library debug modes (NFC) (#226070)
The multi-part diagnostic support added a SmallVector of part boundaries
to Diagnostic. With libstdc++'s _GLIBCXX_DEBUG enabled, the two
std::vector members also grow substantially: sizeof(Diagnostic) reaches
288 bytes. This exceeds the 256-byte limit for default
SmallVector<Diagnostic> and breaks Transform dialect builds that use
that type.
Use zero-inline SmallVectors for the owned string buffers and attached
notes. Both collections already allocated when populated, while their
empty representation no longer grows under _GLIBCXX_DEBUG. Give the
part-boundary vector zero inline elements as well: ordinary diagnostics
have a single part and never populate it. Keep the four inline argument
slots, so common diagnostic assembly retains its existing allocation
behavior. Splitting a diagnostic now allocates boundary storage.
On this 64-bit checkout, sizeof(Diagnostic) falls from 224 to 192 bytes
normally and from 288 to 192 bytes with _GLIBCXX_DEBUG.
Assisted-by: Codex
Commit: e26fb78a9767cf0a9b0995286cd393c8f6f8c017
https://github.com/llvm/llvm-project/commit/e26fb78a9767cf0a9b0995286cd393c8f6f8c017
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-operand.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ODS] Reuse collective builders for zero-result ops (NFC) (#226059)
Forward the no-result separate-argument builder to its collective
counterpart instead of generating the same operand, attribute, and
region construction twice. This cuts OpenMPDialect.cpp build time by
1.5% and its machine-code text by about 71 KB.
Assisted-by: Codex
Commit: 27cddfe63e88792d80b9eddf14ad4e580c9a2c7e
https://github.com/llvm/llvm-project/commit/27cddfe63e88792d80b9eddf14ad4e580c9a2c7e
Author: Anand Mistry (MSFT) <anandmistry at microsoft.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/test/MC/Mips/cnmips/valid.s
M llvm/test/MC/Mips/cnmipsp/valid.s
M llvm/test/MC/Mips/mips32r2/valid.s
M llvm/test/MC/Mips/mips32r3/valid.s
M llvm/test/MC/Mips/mips32r5/valid.s
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r2/valid.s
M llvm/test/MC/Mips/mips64r3/valid.s
M llvm/test/MC/Mips/mips64r5/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
Log Message:
-----------
[Mips] Add sync instruction aliases (#225866)
These aliases are documented in the MIPS ISA Reference Manual. These
also exist in binutils and are declared to be part of the MIPS32R2 ISA.
Commit: 84afb5ad1ffd52e62889b3a86d9754b1e15f6ba6
https://github.com/llvm/llvm-project/commit/84afb5ad1ffd52e62889b3a86d9754b1e15f6ba6
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/test/Fir/CUDA/cuda-alloc-free.fir
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/CUDA/cuda-device-global-internal-linkage.fir
M flang/test/Fir/CUDA/cuda-device-global.f90
M flang/test/Fir/CUDA/cuda-heap-alloc-managed.fir
M flang/test/Fir/CUDA/cuda-heap-alloc-unified.fir
M flang/test/Fir/CUDA/cuda-launch.fir
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
M flang/test/Fir/FirToSCF/if.fir
M flang/test/Fir/FirToSCF/iter-while.fir
M flang/test/Fir/MIF/change_team2.mlir
M flang/test/Fir/OpenACC/recipe-bufferization.mlir
M flang/test/Fir/OpenACC/use-device-canonicalizer.mlir
M flang/test/Fir/abstract-results.fir
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/Fir/array-coor-canonicalization.fir
M flang/test/Fir/convert-to-llvm-access-group.fir
M flang/test/Fir/do_concurrent.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/global-attributes.fir
M flang/test/Fir/memory-allocation-opt-2.fir
M flang/test/Fir/memory-allocation-opt-do-concurrent.fir
M flang/test/Fir/memory-allocation-opt.fir
M flang/test/Fir/simd-nontemporal.fir
M flang/test/HLFIR/as_expr-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
M flang/test/HLFIR/bufferize-workshare.fir
M flang/test/HLFIR/bufferize01.fir
M flang/test/HLFIR/char_extremum-bufferization.fir
M flang/test/HLFIR/cmpchar-lowering.fir
M flang/test/HLFIR/concat-bufferization.fir
M flang/test/HLFIR/element-codegen-issue-118922.fir
M flang/test/HLFIR/elemental-codegen-nested.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/elemental-shallow-copy.fir
M flang/test/HLFIR/elemental-with-empty-check-codegen.fir
M flang/test/HLFIR/eval_in_mem-codegen.fir
M flang/test/HLFIR/expression-simplification.fir
M flang/test/HLFIR/index-lowering.fir
M flang/test/HLFIR/inline-hlfir-assign-pointer-overlap.fir
M flang/test/HLFIR/inline-hlfir-assign-scalar-index.fir
M flang/test/HLFIR/inline-hlfir-assign-self-copy-runtime-stride.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/opt-bufferization-eval_in_mem-with-associate.fir
M flang/test/HLFIR/opt-bufferization.fir
M flang/test/HLFIR/opt-scalar-assign.fir
M flang/test/HLFIR/order_assignments/array-temp-many-forall.f90
M flang/test/HLFIR/order_assignments/array-temp.fir
M flang/test/HLFIR/order_assignments/forall-codegen-no-conflict.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/saving-mask-and-rhs.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
M flang/test/HLFIR/set_length-codegen.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-cmpchar-scalar.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-eoshift.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-index.fir
M flang/test/HLFIR/trim.fir
M flang/test/HLFIR/volatile.fir
M flang/test/HLFIR/volatile1.fir
M flang/test/HLFIR/volatile2.fir
M flang/test/HLFIR/volatile3.fir
M flang/test/HLFIR/volatile4.fir
M flang/test/Integration/allocatable-polymorphic.f90
M flang/test/Integration/dense-array-any-rank.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-cooperative.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
M flang/test/Lower/CUDA/cuda-gpu-unified.cuf
M flang/test/Lower/CUDA/cuda-kernel-alloca-block.cuf
M flang/test/Lower/CUDA/cuda-managed-func-result.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
M flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/bindc-entry-stmt.f90
M flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/convert-variable-block.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/dummy-scope.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
M flang/test/Lower/HLFIR/elemental-result-length.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/index.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/matmul.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/maxval.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/null.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/procedure-designators.f90
M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/product.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/sum.f90
M flang/test/Lower/HLFIR/tdesc-character-comp-init.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/trim.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/HLFIR/visible-cray-pointer-target.f90
M flang/test/Lower/HLFIR/where.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/associated.f90
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/btest.f90
M flang/test/Lower/Intrinsics/c_associated.f90
M flang/test/Lower/Intrinsics/c_devptr_eq_ne.f90
M flang/test/Lower/Intrinsics/c_funloc.f90
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/chdir.f90
M flang/test/Lower/Intrinsics/free.f90
M flang/test/Lower/Intrinsics/get_command.f90
M flang/test/Lower/Intrinsics/getcwd-function.f90
M flang/test/Lower/Intrinsics/getpid.f90
M flang/test/Lower/Intrinsics/hostnm-func.f90
M flang/test/Lower/Intrinsics/ibset.f90
M flang/test/Lower/Intrinsics/ichar.f90
M flang/test/Lower/Intrinsics/ieee_class.f90
M flang/test/Lower/Intrinsics/ieee_compare.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/ieee_max_min.f90
M flang/test/Lower/Intrinsics/ieee_real.f90
M flang/test/Lower/Intrinsics/ieee_rem.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/ieee_signbit.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
M flang/test/Lower/Intrinsics/ierrno.f90
M flang/test/Lower/Intrinsics/malloc.f90
M flang/test/Lower/Intrinsics/min.f90
M flang/test/Lower/Intrinsics/nearest.f90
M flang/test/Lower/Intrinsics/not.f90
M flang/test/Lower/Intrinsics/perror.f90
M flang/test/Lower/Intrinsics/putenv-func.f90
M flang/test/Lower/Intrinsics/rand.f90
M flang/test/Lower/Intrinsics/real.f90
M flang/test/Lower/Intrinsics/reduce.f90
M flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/Intrinsics/selected_char_kind.f90
M flang/test/Lower/Intrinsics/selected_logical_kind.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
M flang/test/Lower/Intrinsics/size.f90
M flang/test/Lower/Intrinsics/system_clock.f90
M flang/test/Lower/Intrinsics/time.f90
M flang/test/Lower/Intrinsics/unlink-func.f90
M flang/test/Lower/Intrinsics/verify.f90
M flang/test/Lower/MIF/coarray_allocation2.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-data-operands-remapping.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-declare-common-present-in-function.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare-use-associated.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-allocatable-component.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenACC/acc-set.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Lower/OpenACC/acc-use-device.f90
M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-firstprivate.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/atomic-implicit-cast.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
M flang/test/Lower/OpenMP/block_implicit_privatization.f90
M flang/test/Lower/OpenMP/block_predetermined_privatization.f90
M flang/test/Lower/OpenMP/cancel.f90
M flang/test/Lower/OpenMP/cancellationpoint.f90
M flang/test/Lower/OpenMP/common-atomic-lowering.f90
M flang/test/Lower/OpenMP/common-block-map.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
M flang/test/Lower/OpenMP/declare_target_module.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-private.f90
M flang/test/Lower/OpenMP/derived-type-map.f90
M flang/test/Lower/OpenMP/fuse01.f90
M flang/test/Lower/OpenMP/fuse02.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/hlfir-to-fir-conv-omp.mlir
M flang/test/Lower/OpenMP/implicit-dsa.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-conditional-nested-parallel.f90
M flang/test/Lower/OpenMP/lastprivate-conditional-teams.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/linear_modifier.f90
M flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/masked_taskloop.f90
M flang/test/Lower/OpenMP/metadirective-loop.f90
M flang/test/Lower/OpenMP/omp-declarative-allocate-align.f90
M flang/test/Lower/OpenMP/omp-declarative-allocate.f90
M flang/test/Lower/OpenMP/omp-declare-reduction-derivedtype.f90
M flang/test/Lower/OpenMP/omp-declare-target-program-var.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/parallel-masked-taskloop.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
M flang/test/Lower/OpenMP/parallel-reduction-complex.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/parallel-reduction.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
M flang/test/Lower/OpenMP/reduction-equivalence.f90
M flang/test/Lower/OpenMP/sections-predetermined-private.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/shared-loop.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target-teams-private.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task-affinity.f90
M flang/test/Lower/OpenMP/task-depend-structure-component.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup-task_reduction01.f90
M flang/test/Lower/OpenMP/taskloop-cancel.f90
M flang/test/Lower/OpenMP/taskloop-collapse.f90
M flang/test/Lower/OpenMP/taskloop-grainsize.f90
M flang/test/Lower/OpenMP/taskloop-inreduction.f90
M flang/test/Lower/OpenMP/taskloop-numtasks.f90
M flang/test/Lower/OpenMP/taskloop-reduction.f90
M flang/test/Lower/OpenMP/taskloop.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
M flang/test/Lower/OpenMP/threadprivate-common-block-pointer.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
M flang/test/Lower/OpenMP/threadprivate-use-association.f90
M flang/test/Lower/OpenMP/tile01.f90
M flang/test/Lower/OpenMP/tile02.f90
M flang/test/Lower/OpenMP/unroll-heuristic01.f90
M flang/test/Lower/OpenMP/unroll-heuristic02.f90
M flang/test/Lower/OpenMP/unroll-heuristic03.f90
M flang/test/Lower/OpenMP/unroll-partial01.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-linear.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/achar.f90
M flang/test/Lower/allocatable-assignment.f90
M flang/test/Lower/allocatable-caller.f90
M flang/test/Lower/allocatable-return.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocatables.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
M flang/test/Lower/alternate-return.f90
M flang/test/Lower/always-execute-loop-body.f90
M flang/test/Lower/arithmetic-goto.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-constructor-1.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/array-elemental-calls-char-dynamic.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array.f90
M flang/test/Lower/assignment.f90
M flang/test/Lower/associate-construct.f90
M flang/test/Lower/assumed-shape-caller.f90
M flang/test/Lower/assumed-type.f90
M flang/test/Lower/basic-call.f90
M flang/test/Lower/block.f90
M flang/test/Lower/bug172157-3.f90
M flang/test/Lower/c-interoperability-c-pointer.f90
M flang/test/Lower/c-interoperability.f90
M flang/test/Lower/call-implicit.f90
M flang/test/Lower/call.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/character-local-variables.f90
M flang/test/Lower/common-block-2.f90
M flang/test/Lower/common-block-char0.f90
M flang/test/Lower/common-block-multiple-init.f90
M flang/test/Lower/complex-real.f90
M flang/test/Lower/computed-goto.f90
M flang/test/Lower/constant-literal-mangling.f90
M flang/test/Lower/constant-logical-transfer.f90
M flang/test/Lower/convert.f90
M flang/test/Lower/cray-pointer.f90
M flang/test/Lower/declare-with-storage.f90
M flang/test/Lower/default-initialization-globals.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-type-descriptor.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/do_concurrent.f90
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_reduce.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/dummy-procedure.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-2.f90
M flang/test/Lower/equivalence-static-init.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/extrn_subp.f90
M flang/test/Lower/forall-pointer-assignment.f90
M flang/test/Lower/forall/degenerate.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/forall/forall-allocatable.f90
M flang/test/Lower/forall/forall-where-2.f90
M flang/test/Lower/global-alignment.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host_module_variable_instantiation_use_device.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/inline-hlfir-assign-pointer-omp.f90
M flang/test/Lower/inline_directive.f90
M flang/test/Lower/inlinealways-directive.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/io-statement-1.f90
M flang/test/Lower/io-statement-3.f90
M flang/test/Lower/io-statement-clean-ups.f90
M flang/test/Lower/io-write.f90
M flang/test/Lower/ivdep.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/module-parameter-linkonce-odr.f90
M flang/test/Lower/module_definition.f90
M flang/test/Lower/module_use.f90
M flang/test/Lower/namelist-common-block.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/pointer-assignments.f90
M flang/test/Lower/pointer-association-polymorphic.f90
M flang/test/Lower/pointer-default-init.f90
M flang/test/Lower/pointer-initial-target-2.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/pointer-results-as-arguments.f90
M flang/test/Lower/pointer-runtime.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic-types.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type-2.fir
M flang/test/Lower/select-type.f90
M flang/test/Lower/simd-directive.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/stop-statement.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Lower/submodule.f90
M flang/test/Lower/transformational-intrinsics.f90
M flang/test/Lower/typeof-classof.f90
M flang/test/Lower/unroll.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/unsigned-ops.f90
M flang/test/Lower/variable-common-viewed-as-module-var.f90
M flang/test/Lower/variable.f90
M flang/test/Lower/vector-always.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/test/Lower/vectorlength.f90
M flang/test/Lower/volatile-derived-type.f90
M flang/test/Lower/volatile-openmp1.f90
M flang/test/Lower/volatile-string.f90
M flang/test/Lower/volatile1.f90
M flang/test/Lower/volatile2.f90
M flang/test/Lower/volatile3.f90
M flang/test/Lower/volatile4.f90
M flang/test/Lower/while_loop.f90
M flang/test/Lower/zero-size.f90
M flang/test/Transforms/CUF/cuf-kernel-licm.fir
M flang/test/Transforms/DoConcurrent/basic_device.f90
M flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/test/Transforms/DoConcurrent/basic_host.mlir
M flang/test/Transforms/DoConcurrent/locality_specifiers_simple.mlir
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
M flang/test/Transforms/DoConcurrent/reduce_add.mlir
M flang/test/Transforms/DoConcurrent/reduce_all_regions.mlir
M flang/test/Transforms/DoConcurrent/reduce_local.mlir
M flang/test/Transforms/DoConcurrent/skip_all_nested_loops.f90
M flang/test/Transforms/FIRToMemRef/slice.mlir
M flang/test/Transforms/OpenACC/acc-implicit-declare-module-parameter.fir
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-alloca.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-embox.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-rebox.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-type_desc.F90
M flang/test/Transforms/OpenMP/lower-workdistribute-fission-host.mlir
M flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
M flang/test/Transforms/OpenMP/lower-workshare-thread-local.mlir
M flang/test/Transforms/do-concurrent-localizer-dealloc-region.fir
M flang/test/Transforms/do-concurrent-localizer-init-region.fir
M flang/test/Transforms/licm.fir
M flang/test/Transforms/loop-versioning.fir
M flang/test/Transforms/lower-repack-arrays.fir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/test/Transforms/stack-arrays-lifetime.fir
M flang/test/Transforms/stack-arrays.fir
M flang/test/Transforms/tbaa-cray-pointer.fir
M flang/test/Transforms/tbaa-derived-type-records.fir
M flang/test/Transforms/tbaa-derived-with-descriptor.fir
M flang/test/Transforms/tbaa-for-common-vars.fir
M flang/test/Transforms/tbaa-for-global-equiv-vars.fir
M flang/test/Transforms/tbaa-target-inlined-results.fir
M flang/test/Transforms/tbaa-value-dummy-arg.fir
M flang/test/Transforms/tbaa-with-dummy-scope.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
M flang/test/Transforms/tbaa4.fir
Log Message:
-----------
[flang] Stop using Operation::getAttrs (NFC) (#223049)
Migrate FIR attribute copying and printing to the explicit inherent and
discardable attribute APIs.
Also upgrade the textual assembly to stop mixing inherent and
discardable attributes in the same dictionary.
This is part of a general migration to use the "new" properties-based
APIs and stop mixing discardable/inherent attributes, see #155475
Assisted-by: Codex
Commit: 6cf36fd5bc4bb3782dbfedc00d4506a3cff1719f
https://github.com/llvm/llvm-project/commit/6cf36fd5bc4bb3782dbfedc00d4506a3cff1719f
Author: A. Jiang <de34 at live.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
Log Message:
-----------
[libc++][docs] Mark LWG2727 Complete in LLVM 24 (#225606)
In 9853cb54d9d2684b27f0d0db89c00c2da7e31b88 and
672843a3f2ee2aaaed0463ec9064b6ccea2a5d4d, we implemented parallel
versions of `std::min_element`, `std::max_element`, and
`std::minmax_element` without adding incorrect `constexpr`. This
essentially implemented the resolution of LWG2727.
Commit: 65d651bc8fd6d83ae4989d93dc89cb287231afd2
https://github.com/llvm/llvm-project/commit/65d651bc8fd6d83ae4989d93dc89cb287231afd2
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-readlane-redundant-and.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-bits-readlane.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
A llvm/test/CodeGen/AMDGPU/readlane-known-bits.ll
Log Message:
-----------
[AMDGPU] Look through readfirstlane/readlane in computeKnownBitsForTargetInstr. (#224275)
Currently, `computeKnownBitsForTargetInstr` in GISel and
`computeKnownBitsForTargetNode` in SDAG treats
`amdgcn.readfirstlane/readlane` as fully unknown, even though both just
return the data operand's value from some lane. This patch teaches it to
recurse into the data operand (operand 2) and reuse its known bits.
Thus, it unblocks known-bits combines (e.g. redundant_and) that see
these intrinsics while still generic.
Commit: 108770859571a22679b9f5e871ac6ffc311b0f4e
https://github.com/llvm/llvm-project/commit/108770859571a22679b9f5e871ac6ffc311b0f4e
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/defaultmap-clause-none.f90
Log Message:
-----------
[flang][OpenMP] Fix crash in defaultmap(none) on structure constructors (#220994)
Fixes :
[https://github.com/llvm/llvm-project/issues/218929](https://github.com/llvm/llvm-project/issues/218929)
Flang was crashing when a target defaultmap(none:...) region contained a
structure constructor, like this:
```
program p
type t
end type
type(t) :: x
!$omp target defaultmap(none:aggregate)
x = t()
!$omp end target
end
```
The problem is in `IsOpenMPAggregate` and `IsOpenMPScalar`. When the
OpenMP attribute visitor walks the names in the region, it hits the t in
t(), which resolves to the derived-type definition symbol rather than a
variable. `Symbol::GetType() `returns nullptr for such a symbol, and
both helpers dereferenced that pointer directly `(type->category())`
without checking, causing a segfault. The fix adds a null check to both
helpers returning false since a symbol with no declared type belongs to
no defaultmap category.
Co-authored-by: Chandra Ghale <ghale at pe34genoa.hpc.amslabs.hpecorp.net>
Commit: 43a0a957553dd2cb5258e5d814675a8b54f5099c
https://github.com/llvm/llvm-project/commit/43a0a957553dd2cb5258e5d814675a8b54f5099c
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
Log Message:
-----------
[WebAssembly] Remove per-invoke EH_LABEL handling (#226053)
Per-invoke `EH_LABEL`s are no longer emitted after #225903. This removes
code that handles per-invoke `EH-LABEL`s and removes them from mir
tests.
Commit: 303cf70bb64bebbe4549b52a59e3dbe1d4d5979a
https://github.com/llvm/llvm-project/commit/303cf70bb64bebbe4549b52a59e3dbe1d4d5979a
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
Log Message:
-----------
[TargetFolder] Use getGetElementPtr() overload accepting DataLayout (#226068)
To directly construct the constant GEP in canonical ptradd form.
The test change is because this ends up canonicalizing the vector
GEP case as well, rather than just the scalar cases.
Commit: c12a0d255928c9376a6e1a6df36d4338b6cfedf8
https://github.com/llvm/llvm-project/commit/c12a0d255928c9376a6e1a6df36d4338b6cfedf8
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/test/mlir-tblgen/op-format.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][ODS] Share optional operand and type parser logic (NFC) (#226066)
Move repeated optional operand and type parsing into out-of-line
helpers.
Generated parsers now reuse those helpers across operations.
This improves MLIR build time by avoid redundant compilation of these
helpers.
Assisted-by: Codex
Commit: c949a973db32c7bc80bed6a38057912fea41ddc3
https://github.com/llvm/llvm-project/commit/c949a973db32c7bc80bed6a38057912fea41ddc3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OpDefinition.h
Log Message:
-----------
[mlir] Fold operation trait lookup without a temporary array (NFC) (#226081)
Compare trait IDs directly in the generated pack expansion. This avoids
building and scanning a local array in every operation trait lookup.
Assisted-by: Codex
Commit: ba5c0a651eea7949da3bd6cfd8c7cd61ba2ff1ce
https://github.com/llvm/llvm-project/commit/ba5c0a651eea7949da3bd6cfd8c7cd61ba2ff1ce
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
[mlir] Store OperationState property callbacks as function pointers (NFC) (#226083)
The property callbacks never capture state. Store their function
pointers directly instead of wrapping them in function_ref. This improve
slightly MLIR build time and generates slightly smaller binaries.
Assisted-by: Codex
Commit: a60626ab1223f82fca15c66041bee3a6adae193a
https://github.com/llvm/llvm-project/commit/a60626ab1223f82fca15c66041bee3a6adae193a
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/test/Integration/debug-common-block-1.f90
M flang/test/Integration/debug-include-file.f90
Log Message:
-----------
[flang][debug] Emit debug for a COMMON block from an INCLUDE'd file (#225867)
This handles the case of a common block that was missed in #225068 and
pointed out in
https://github.com/llvm/llvm-project/pull/225068#issuecomment-5782632548.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: c64f6cdb7c780868999f084279ef9470634f671e
https://github.com/llvm/llvm-project/commit/c64f6cdb7c780868999f084279ef9470634f671e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Support/InterfaceSupport.h
Log Message:
-----------
[mlir] Fold interface-map trait packs without recursive templates (NFC) (#226084)
Count interface traits and insert their models with fold expressions.
This keeps insertion order and avoids two recursive template chains for
every registered operation.
Assisted-by: Codex
Commit: f4c248edc7cbee9a042b8c1c3cdf07b30f3d2164
https://github.com/llvm/llvm-project/commit/f4c248edc7cbee9a042b8c1c3cdf07b30f3d2164
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/MC/MCDwarf.cpp
Log Message:
-----------
[MC] Prevent multiplication overflow when calling `encodeULEB128` (#224647)
`encodeULEB128` takes its `Value` as a 64-bit integer but the
multiplication is done using 32 bits. This fixes two issues reported by
a CodeQL scan however it's unclear how realistic an overflow is in this
case.
Commit: 63d15eed742076b33100a5051f27aece1287b104
https://github.com/llvm/llvm-project/commit/63d15eed742076b33100a5051f27aece1287b104
Author: Kane Wang <wangqiang1 at kylinos.cn>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[GlobalISel] Only narrow IEEE half in narrowScalarFPTOI (#223615)
narrowScalarFPTOI swaps a conversion for a narrower one plus an
extension, which is only valid if every finite value of the source fits
in the narrow type. The guard tests the width, so it also accepts
bfloat, which has float's exponent range.
Match LLT::float16() instead of LLT::scalar(16). Register types come
from LLT::floatingPoint(), which degrades to ANY_SCALAR without extended
LLTs, and an ANY_SCALAR LLT matches any scalar of the same size, so this
is unchanged on such targets. AArch64 and AMDGPU only narrow
LLT::float16() sources and WebAssembly does not narrow these at all, so
they are unaffected too.
Commit: 47d06b4bf9499135a942a85867ad2c4536676ff6
https://github.com/llvm/llvm-project/commit/47d06b4bf9499135a942a85867ad2c4536676ff6
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/true16-fold.mir
Log Message:
-----------
[AMDGPU] Simplify true16 SGPR folding (#226082)
Rewrite part of the SGPR folding "hack" from #128929 using
getChannelFromSubReg to avoid relying on the exact numbering of subreg
indices.
This also fixes a potential bug when folding a copy with no subreg on
the source operand like `%1:sgpr_lo16 = COPY %0:sgpr_lo16`. The old
implementation would have generated `%0.sub0:sgpr_lo16` which fails
machine verification.
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: e34e80918571ac5af5d00191bc053d7d60c1f039
https://github.com/llvm/llvm-project/commit/e34e80918571ac5af5d00191bc053d7d60c1f039
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsCallLowering.h
M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/aggregate_struct_return.ll
A llvm/test/CodeGen/Mips/GlobalISel/irtranslator/big-endian.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/extend_args.ll
A llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/big-endian-memory.ll
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/float_constants.ll
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/load_store_vec.ll
Log Message:
-----------
[Mips][GlobalISel] Fix Big Endian lowering (#225972)
Flip on the big-endian switch in Mips call lowering. Fix split memory
piece placement, short-load bit extraction, and unaligned left/right
instruction offsets for big-endian targets.
Add BE/LE test coverage.
Commit: 59435d02e0d866bd0bce3a7904835bee48f43de8
https://github.com/llvm/llvm-project/commit/59435d02e0d866bd0bce3a7904835bee48f43de8
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/Makefile
Log Message:
-----------
Revert "[LLDB] Simplify Makefile for TestBundleWithDotInFilename" (#226092)
Reverts llvm/llvm-project#225930
This breaks the Green Dragon bot. Reverting for now.
Commit: 2c1c2ddaca27dffb99b70dad233ca2b39520a0a7
https://github.com/llvm/llvm-project/commit/2c1c2ddaca27dffb99b70dad233ca2b39520a0a7
Author: Pedro da Rosa Pinheiro <106494823+pedropiin at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenMPClause.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenMPClause.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
M clang/test/CIR/CodeGenOpenMP/parallel.c
Log Message:
-----------
[CIR][OpenMP] Implement lowering for the 'if' clause for 'parallel' d… (#204999)
Implementing the lowering of the `if` clause for the `#pragma omp
parallel` directive. The clause simply accepts the condition from
`OMPIfClause` and lowers it to an `I1` to allow for emission.
Followed the same approach as the one in my other PR #202466 and based
myself off of PR #172501 that implements the lowering for the
`proc_bind` clause.
### Evidence:
Output of: `python3 build/bin/llvm-lit -sv
clang/test/CIR/CodeGenOpenMP/parallel.c`
```
llvm-lit: /home/pedro/dev/projects/my-llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using clang: /home/pedro/dev/projects/my-llvm-project/build/bin/clang
Testing Time: 0.10s
Total Discovered Tests: 1
Passed: 1 (100.00%)
```
Commit: b5683453d42e762a39f212a811d030f45809bb6b
https://github.com/llvm/llvm-project/commit/b5683453d42e762a39f212a811d030f45809bb6b
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M orc-rt/include/CMakeLists.txt
A orc-rt/include/orc-rt-internal/bedrock/sys/posix/DWARFEHFrameRegistrar.h
A orc-rt/include/orc-rt/bedrock/sps/DWARFEHFrameRegistrarSPSCI.h
M orc-rt/lib/bedrock/CMakeLists.txt
M orc-rt/lib/bedrock/sps/AllSPSCI.cpp
A orc-rt/lib/bedrock/sys/posix/DWARFEHFrameRegistrar.cpp
A orc-rt/lib/bedrock/sys/posix/sps/DWARFEHFrameRegistrarSPSCI.cpp
Log Message:
-----------
[orc-rt] Add DWARFEHFrameRegistrar for .eh_frame registration. (#226093)
Adds sys::posix::DWARFEHFrameRegistrar, which registers JIT'd .eh_frame
sections, and expose it to controllers via the
orc_rt_ci_aa_sps_DWARFEHFrameRegistrar_registerSection and
orc_rt_ci_aa_sps_DWARFEHFrameRegistrar_deregisterSection allocation
actions.
The interface is added to the controller interface on Linux only; on
Darwin, StandaloneMachOUnwindInfoRegistrar is preferred.
Commit: cbfb9a698f5c499c2f91a7bf37dd16de5a93f868
https://github.com/llvm/llvm-project/commit/cbfb9a698f5c499c2f91a7bf37dd16de5a93f868
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
Log Message:
-----------
[MLIR][XeGPU] Optimize create_mask sg-to-lane lowering (#221198)
Commit: 39150b47fc3ecb1dcebc01bdbe6d52737d034336
https://github.com/llvm/llvm-project/commit/39150b47fc3ecb1dcebc01bdbe6d52737d034336
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/test/mlir-tblgen/op-format.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][ODS] Share parser operand storage cleanup (NFC) (#226094)
Group variable-length operand vectors in generated parsers and move
their construction and cleanup into a shared storage template. This
reduces repeated cleanup code in parsers with many optional operand
groups.
Assisted-by: Codex
Commit: c2aef227d600e8e8677697745ef953f9f43e8b87
https://github.com/llvm/llvm-project/commit/c2aef227d600e8e8677697745ef953f9f43e8b87
Author: Vimal Patel <vimal.patel at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
M llvm/test/CodeGen/AArch64/fcvt-fixed.ll
Log Message:
-----------
[AArch64][GlobalISel] Improve fixed-point int-to-fp selection (#224055)
Select scalar fixed-point integer-to-float conversions directly in
GlobalISel when their integer operand is already in the FPR bank. Teach
the fixed-point immediate matcher about reciprocal constants. Refine
register-bank selection for scalar conversion intrinsics.
Commit: c3fae693da306d9e0ef78d7353d4b197159ff60a
https://github.com/llvm/llvm-project/commit/c3fae693da306d9e0ef78d7353d4b197159ff60a
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/CodeGen/AArch64/arm64-ccmp-heuristics.ll
M llvm/test/CodeGen/AArch64/arm64-fastcc-tailcall.ll
M llvm/test/CodeGen/AArch64/arm64-prefetch-new.ll
M llvm/test/CodeGen/AArch64/arm64-prefetch.ll
M llvm/test/CodeGen/AArch64/instr-ref-ldv.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-memory-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
M llvm/test/CodeGen/AMDGPU/lower-lds-with-alias-scope.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-with-noalias.ll
M llvm/test/CodeGen/Hexagon/bugAsmHWloop.ll
M llvm/test/CodeGen/Hexagon/circ_ld.ll
M llvm/test/CodeGen/Hexagon/cmpb-eq.ll
M llvm/test/CodeGen/Hexagon/early-if-spare.ll
M llvm/test/CodeGen/Hexagon/hwloop-preh.ll
M llvm/test/CodeGen/Hexagon/insert4.ll
M llvm/test/CodeGen/Hexagon/mux-basic.ll
M llvm/test/CodeGen/Hexagon/pic-simple.ll
M llvm/test/CodeGen/Hexagon/pic-static.ll
M llvm/test/CodeGen/Hexagon/predicate-logical.ll
M llvm/test/CodeGen/Hexagon/rdf-copy.ll
M llvm/test/CodeGen/Hexagon/sdata-basic.ll
M llvm/test/CodeGen/Hexagon/store-widen.ll
M llvm/test/CodeGen/Hexagon/swp-stages4.ll
M llvm/test/CodeGen/Hexagon/swp-stages5.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vshifts.ll
M llvm/test/CodeGen/PowerPC/aa-tbaa.ll
M llvm/test/CodeGen/SystemZ/alias-01.ll
M llvm/test/CodeGen/X86/merge_store_duplicated_loads.ll
M llvm/test/Transforms/GVN/opt-remarks.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVNSink/sink-common-code.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-memset.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/MergedLoadStoreMotion/preserve-store-metadata.ll
M llvm/test/Transforms/NewGVN/tbaa.ll
M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
M llvm/test/Transforms/SLPVectorizer/X86/metadata.ll
M llvm/test/Transforms/SROA/tbaa-struct2.ll
M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/basic.ll
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
M llvm/test/Transforms/SimplifyCFG/basictest.ll
M llvm/test/Transforms/VectorCombine/alias.ll
Log Message:
-----------
[llvm] Update tests to use struct path TBAA (#226051)
The new format was introduced more than a decade ago, so make sure it's
used in tests. The tests currently get away with it due to a TBAA
upgrade applied in the IR parser.
Disclosure: AI-generated change.
Commit: 373c617456bb9d8fab088858f6958bfb9d0859c3
https://github.com/llvm/llvm-project/commit/373c617456bb9d8fab088858f6958bfb9d0859c3
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Log Message:
-----------
[SanitizerCoverage] Directly create ptradd constant expression (NFC) (#226107)
Don't go through an IRBuilder without insertion point for a case
that always creates a constant expression.
Commit: 23cc19ae2dc9fa7db608fc748cbcf04c186b64f0
https://github.com/llvm/llvm-project/commit/23cc19ae2dc9fa7db608fc748cbcf04c186b64f0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/test/CodeGen/AMDGPU/wqm.mir
Log Message:
-----------
AMDGPU: Invalidate VCC live ranges when lowering kill instructions (#226040)
lowerKillInstr replaces the kill pseudo with a v_cmp defining VCC plus
two instructions reading it, but left any previously computed VCC
regunit ranges alone. If something had already materialized them, the
new uses have no live segment:
*** Bad machine code: No live segment at use ***
- instruction: $exec = S_ANDN2_B64_term $exec, $vcc, implicit-def $scc
Drop the ranges so they are recomputed on demand, as is already done for
EXEC and SCC.
Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
Commit: fe665796d2c1e73d5c82656840643a588767ca9b
https://github.com/llvm/llvm-project/commit/fe665796d2c1e73d5c82656840643a588767ca9b
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup.c
M clang/test/CodeGen/AArch64/sve/dup.c
Log Message:
-----------
[clang][AArch64] Consolidate codegen tests for SVE's DUP intrinsics (#223933)
This patch completes the migration of the tests from:
* clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup.c
to:
* clang/test/CodeGen/AArch64/sve/dup.c
`dup.c` covers all the cases previously tested by `acle_sve_dup.c`.
However, unlike `acle_sve_dup.c`, it was only tested as C. Add `-x c++`
RUN lines to provide the equivalent C++ coverage, including lowering
via CIR.
Commit: 453900c197e9bccfd9b9426338c22173d3021410
https://github.com/llvm/llvm-project/commit/453900c197e9bccfd9b9426338c22173d3021410
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/CodeGen/X86/memset.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/SLPVectorizer/X86/fabs.ll
M llvm/test/Transforms/SLPVectorizer/X86/fcopysign.ll
M llvm/test/Transforms/SLPVectorizer/X86/fma.ll
M llvm/test/Transforms/SLPVectorizer/X86/fmaxnum.ll
M llvm/test/Transforms/SLPVectorizer/X86/fminnum.ll
M llvm/test/Transforms/SLPVectorizer/X86/fmuladd.ll
Log Message:
-----------
[X86] Prepare bdver tests for TuningPrefer128Bit (#226103)
Ensure the check prefixes correctly handle XOP targets independently,
I've also reordered some of the tests so we can cleanly order the
eventual AVX128/AVX256/AVX512 checks
Help reduce the diff for #225838
Commit: f96febaf2701fc5f1979a4e0b49bdd97cae3fdb6
https://github.com/llvm/llvm-project/commit/f96febaf2701fc5f1979a4e0b49bdd97cae3fdb6
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-managed-descriptor-component.fir
A flang/test/Fir/CUDA/cuda-managed-pointer-linkage.cuf
Log Message:
-----------
[flang][cuda] Share the managed companion pointer across translation units (#225710)
A non-allocatable managed module variable is accessed through a
companion pointer in the `__nv_managed_data__` section, which the CUDA
runtime fills in with the unified memory address at module
initialization. Every translation unit referencing the variable emitted
its own internal pointer and registered it. The runtime populates only
the registration performed first for a given variable name (*), so every
other unit was left loading through a null pointer and crashed at run
time.
Emit a single pointer with external linkage instead. The unit defining
the variable emits the definition, zero-initialized and in
`__nv_managed_data__`, and registers it; a unit that only USEs the
variable emits a declaration and no registration, resolving to that
definition at link time.
(*) I verified this using the following reproducer:
`exp_mod.f90`:
```fortran
module m
implicit none
type :: t
integer :: n
real, allocatable, managed :: a(:)
end type
type(t) :: g
end module
```
`exp_use.f90`:
```fortran
program p
use m
allocate(g%a(4))
g%n = 4
print *, "n=", g%n, " size=", size(g%a)
end program
```
And the following sequence of events:
1. Compile each source individually to its `*.o` file.
2. Manually link the 2 object files: 2.1. If we link `exp_mod.o
exp_use.o` (object file that does actually use the global last), then we
get a seg fault because the companion global is not initialized. 2.2. If
we reverse the linking order `exp_use.o exp_mod.o`, the companion
pointer of the users object file get proper initialized and the binary
does not seg fault.
If we add uses to both files, then we get a seg fault regradless of the
linking order.
Commit: 896f344605665ad74f34521ecd11ef84c7617987
https://github.com/llvm/llvm-project/commit/896f344605665ad74f34521ecd11ef84c7617987
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/vectorgep-crash.ll
Log Message:
-----------
[ConstantFolding] Use getGetElementPtr() overload accepting DataLayout (#226104)
To directly create the constant GEP in canonical form. The practical
effect is that we a) canonicalize vector GEPs and b) decline to
create a GEP which can't be represented in ptradd form (in the
constant_fold_custom_dl test due to a non-canonical index type).
Commit: d098bf235dacecec02d4c2ccc0ff4bc6a00461d2
https://github.com/llvm/llvm-project/commit/d098bf235dacecec02d4c2ccc0ff4bc6a00461d2
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/stdio.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/renameat.h
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/linux/CMakeLists.txt
A libc/src/stdio/linux/renameat.cpp
A libc/src/stdio/renameat.h
M libc/test/src/stdio/CMakeLists.txt
A libc/test/src/stdio/renameat_test.cpp
Log Message:
-----------
[libc] Implement renameat in stdio (#225739)
Implement the standard POSIX.1-2008 / POSIX.1-2024 function renameat in
<stdio.h>.
Fixes #225679
Commit: 0145ade4fb7c16780a76fb54138974892a941857
https://github.com/llvm/llvm-project/commit/0145ade4fb7c16780a76fb54138974892a941857
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Diagnose array-to-pointer-decays on unsized opaque pointers (#226027)
Commit: 5b6bfedc496ded375231a5afebe5d0f27821b7f2
https://github.com/llvm/llvm-project/commit/5b6bfedc496ded375231a5afebe5d0f27821b7f2
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/gh154704.cpp
Log Message:
-----------
[Clang][OpenMP] Use the list item location as point of instantiation in mapper lookup (#225604)
Fixes #154704
When a variable is implicitly mapped on `#pragma omp target`, Clang
looks for a user-defined mapper for its type through ADL, and ADL may
have to instantiate class template specializations named by the type's
template arguments (for `std::map<int, int>` that's its allocator).
Implicit map clauses carry no source location by design, and the
"default" mapper id was stamped with that empty location, so the
instantiation was recorded with an invalid point of instantiation and
`setPointOfInstantiation` asserted.
`buildUserDefinedMapperRef` now takes the location of the mapped list
item and uses it for the ADL and the derived-class checks, which is what
the other default-mapper lookups in `SemaOpenMP.cpp` already did.
Diagnostics about the mapper id and the mapper reference itself keep the
mapper-id location, so explicit `mapper(id)` behavior is unchanged. The
instantiation is now attributed to the mapped variable inside the
region, which is also where the "in instantiation requested here" note
points.
Commit: 3be1abd559ad2084a0b5ee082656bc590697d44d
https://github.com/llvm/llvm-project/commit/3be1abd559ad2084a0b5ee082656bc590697d44d
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
A llvm/test/MC/RISCV/xandesvsinth-invalid.s
M llvm/test/MC/RISCV/xandesvsinth-valid.s
Log Message:
-----------
[RISCV] Require Zve32f for XAndesVSIntH FP conversions (#226001)
`XAndesVSIntH` currently implies only `Zve32x`. This commit requires
vector floating-point support for its four integer-to-FP conversion
instructions.
Commit: 4aa4a6d9e82dcef3e6a1c9ae249a144e60384f52
https://github.com/llvm/llvm-project/commit/4aa4a6d9e82dcef3e6a1c9ae249a144e60384f52
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/DebugInfo/PDB/Native/InfoStreamBuilder.cpp
M llvm/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp
M llvm/test/DebugInfo/PDB/pdbdump-raw-bytes.test
M llvm/test/tools/llvm-pdbutil/explain-pdb-stream.test
Log Message:
-----------
[PDB] Correctly read/write the named stream map's niMac value (#225729)
The serialization of a PDB stream's named stream map ends with an
integer value, NMTNI::niMac in the microsoft-pdb code.
Since 05d5e6136f5a3f5de28ae64077200bbdc2cacfb4, LLVM was writing this
out as an undocumented zero between the named streams map and feature
codes, and reading it as an unknown/ignored feature code.
The actual value doesn't seem particularly important, but it's better to
read/write these explicitly, and it should not be read as a feature
code.
This fixes one of the issues in
https://github.com/llvm/llvm-project/issues/206120
Commit: 3306ae1c98d695d7d111bd8037380c7d09e818b6
https://github.com/llvm/llvm-project/commit/3306ae1c98d695d7d111bd8037380c7d09e818b6
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
Log Message:
-----------
[WasmEHPrepare] Don't use IRBuilder for constexpr GEP (#226108)
Do not use an IRBuilder without an insertion point to create
a constant expression get. Directly create the constant expression
instead.
Commit: ec221fb9375f6a66d73a1588c7b7386c8d9519cf
https://github.com/llvm/llvm-project/commit/ec221fb9375f6a66d73a1588c7b7386c8d9519cf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
R llvm/test/CodeGen/Generic/sjlj-eh-prepare.ll
A llvm/test/Transforms/SjLjEHPrepare/sjlj-eh-prepare.ll
Log Message:
-----------
CodeGen: Move Generic sjlj test to Transforms (#226112)
Test the IR-only SjLjEHPrepare pass in the dedicated pass test
directory. Also add the module flag so it is really triple
independent.
Commit: 9c16b67820883dc90851278471f1d1a386ab0a2b
https://github.com/llvm/llvm-project/commit/9c16b67820883dc90851278471f1d1a386ab0a2b
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
Log Message:
-----------
[ORC] Describe COFFPlatform symbol names by mangling kind (#226097)
Replace Verbatim with the accurate SymbolNameKind for the names that
COFFPlatform and COFFVCRuntimeBootstrapper look up: C for the ORC
runtime's extern "C" __orc_rt_coff_* entry points, the C runtime's
__scrt_* functions, and __run_after_c_init; Linker for the MSVC
C++-decorated ?__scrt_initialize_type_info@@YAXXZ, which is already a
linker-level name.
Commit: 12f5b245fa09c91317bf74e5e207a2a7da661407
https://github.com/llvm/llvm-project/commit/12f5b245fa09c91317bf74e5e207a2a7da661407
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
Log Message:
-----------
[InstCombine] Directly add negated instructions to the worklist (#226118)
This code was doing something really confusing: Resetting the
insertion point and debug location and then inserting the
instructions -- which should be a no-op. It turns out that the
purpose of this code is to invoke the InstCombine IRBuilder
insertion callback, which will add these instructions to the
worklist.
Instead of going through these contortions, directly add the
new instructions to the worklist.
Commit: 42dcd3f72eb95200beb3b518f436b88479e6fac6
https://github.com/llvm/llvm-project/commit/42dcd3f72eb95200beb3b518f436b88479e6fac6
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
Log Message:
-----------
[MISched] Make `getUnderlyingObjectsForInstr()` preserve unidentified objects (#225085)
Commit: ceee3c39e1be9692557a22aedc7b87ae88ef5811
https://github.com/llvm/llvm-project/commit/ceee3c39e1be9692557a22aedc7b87ae88ef5811
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M polly/lib/Analysis/ScopInfo.cpp
A polly/test/ScopInfo/multidim-shrunk-element-type.ll
Log Message:
-----------
[Polly] Restate array sizes and subscripts when the element type shrinks (#221496)
Polly uses the smallest type to an array with element type of its
ScopArrayInfo. So a byte-wise access, such as a memset, can make the
element type smaller after the sizes of the array dimensions have
already been stored. Those sizes were not updated when the element type
changed: a row of a two-dimensional array of double kept the size. Every
access to the array then looks like it goes past the end of its row, the
inbounds assumption becomes impossible to satisfy, and the SCoP is
dropped without any message. Finally, this patch multiplies the size of
the innermost dimension.
Assisted-by: Claude (Anthropic)
Commit: c4048fb6de5097256045212f9f80c5f0ab41deed
https://github.com/llvm/llvm-project/commit/c4048fb6de5097256045212f9f80c5f0ab41deed
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/fptosi-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptosi.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptoui.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
M llvm/test/Transforms/SLPVectorizer/X86/uitofp.ll
Log Message:
-----------
[X86] Prepare bdver fp<->int tests for TuningPrefer128Bit (#226121)
Ensure the check prefixes can handle bdver targets independently, I've
also reordered some of the tests so we can cleanly order the eventual
AVX128/AVX256/AVX512 checks
Help reduce the diff for #225838
Commit: b912c9c767056ca7a7bbbf41925d45dbb3dac1b3
https://github.com/llvm/llvm-project/commit/b912c9c767056ca7a7bbbf41925d45dbb3dac1b3
Author: Alexander Hück <ahuck at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
[AMDGPU] Mark CDBG branches as having side effects (#226123)
The change marks all four CDBG branch variants as having unmodeled side
effects, consistent with reading externally controlled debug state.
Commit: ad71e8769e21715555f0e8fb0094f3d2d00557dd
https://github.com/llvm/llvm-project/commit/ad71e8769e21715555f0e8fb0094f3d2d00557dd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/CodeGenCXX/mangle-class-nttp.cpp
Log Message:
-----------
[clang][bytecode] Don't add an LValuePath to APValues with invalid bases (#226096)
If the APValue is created for an opaque pointer, check first if the base
is valid. If not, we're not supposed to provide an LValuePath at all.
Commit: a8705c33dda2bb831ee6d6e0500b2d20bb902d0c
https://github.com/llvm/llvm-project/commit/a8705c33dda2bb831ee6d6e0500b2d20bb902d0c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M orc-rt/test/unit/support/ErrorExceptionInteropTest.cpp
Log Message:
-----------
[orc-rt] Fix unused variable warning in unit test. (#226139)
Fix a clang warning about RTTIName being unused in
ORC_RT_ENABLE_EXCEPTIONS=Off builds.
Commit: ea9f4c16ec59a210753b6e5dd23e6b0ee0a8542c
https://github.com/llvm/llvm-project/commit/ea9f4c16ec59a210753b6e5dd23e6b0ee0a8542c
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/unittests/IR/InstructionsTest.cpp
Log Message:
-----------
[InstructionsTest] Avoid IRBuilder without insertion point (NFC) (#226145)
Directly create the instruction instead of going through an IRBuilder
without insertion point.
Commit: c6ee71d5e8a5d53a24539dcd2a098e02e4e38a05
https://github.com/llvm/llvm-project/commit/c6ee71d5e8a5d53a24539dcd2a098e02e4e38a05
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/relax-branches-with-thunk-chain.s
A bolt/test/AArch64/relax-call-long-thunk-reuse.s
A bolt/test/AArch64/relax-call-short-thunk-reuse.s
A bolt/test/AArch64/relax-calls.s
A bolt/test/AArch64/relax-cross-fragment-calls.s
R bolt/test/AArch64/relax-exp.s
Log Message:
-----------
[BOLT][AArch64] Relax calls and branches with fragment clusters (#215825)
Build relaxation clusters from emitted function fragments instead
of whole functions, so split hot/cold code is modeled in the order
it will be emitted. Use those clusters to place short and long call
thunks, and to build forward/backward thunk chains for in-layout
inter-cluster branches.
Rely on relaxLocalBranches() to lower short local branches to local
stubs first, then relax the remaining direct 28-bit edges. Warn and
leave out-of-layout unconditional branches unrelaxed; route
out-of-layout calls through long thunks.
This lets the experimental AArch64 relaxation path handle large
split binaries where direct call/branch relocations can cross the
+/-128 MiB range after BOLT changes the layout. By default, it
does not assume PLT entries are near emitted code.
Tested with stage2-clang-bolt and Chromium using Speedometer
profile data, with lite mode disabled and no assumptions about
PLT proximity.
Assisted-by: Codex
Commit: 0d7414aec9d65f40e79334fb3adce570aa217f14
https://github.com/llvm/llvm-project/commit/0d7414aec9d65f40e79334fb3adce570aa217f14
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/Transforms/LowerIFunc/ifunc-alias.ll
M llvm/test/Transforms/LowerIFunc/ifunc-nonsense-resolvers.ll
M llvm/test/Transforms/LowerIFunc/ifunc-program-addrspace.ll
M llvm/test/Transforms/LowerIFunc/lower-ifunc.ll
Log Message:
-----------
[LowerIFunc] Regenerate test checks (NFC) (#226151)
Commit: ece0035d0e771f1f23c8f630c8eccd7bdb0932f0
https://github.com/llvm/llvm-project/commit/ece0035d0e771f1f23c8f630c8eccd7bdb0932f0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/ARM/extracted-subfields-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields.ll
Log Message:
-----------
[SLP][NFC]Add extra tests for missed vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/226159
Commit: 2ac696e23ca31d68a89060c7a935c75bc4efb846
https://github.com/llvm/llvm-project/commit/2ac696e23ca31d68a89060c7a935c75bc4efb846
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Try to avoid a `SmallVector` in `Pointer::toAPValue()` (#226143)
Only create the local variable if we really need it.
Commit: 34f5f2c594111e6a3edf65673c3ea2849e96e2cb
https://github.com/llvm/llvm-project/commit/34f5f2c594111e6a3edf65673c3ea2849e96e2cb
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaARM.h
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/AArch64/atomic-store-hint-template.cpp
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/Sema/builtins-arm64.c
A llvm/include/llvm/Support/AArch64MemoryHints.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
A llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-hint.ll
A llvm/test/CodeGen/AArch64/Atomics/aarch64-relaxed-store-hint.ll
A llvm/test/CodeGen/AArch64/Atomics/atomic-store-pseudo.mir
Log Message:
-----------
[AArch64] Implement the atomic store with hint intrinsic (#198316)
Adds the following ACLE intrinsic as described in [1]:
void __arm_atomic_store_with_hint(type *ptr, type data,
int memory_order, int hint);
An atomic store instruction is emitted in Clang for this builtin with additional
metadata attached with !mem.cache_hint, which ensures the instruction is
recognised as atomic by later passes in LLVM. When an atomic store is found
with this metadata, it is lowered to the ATOMIC_STORE_HINT pseudo which is
later expanded into an STSHH instruction plus an atomic store.
The hint is a suggestion to the compiler and maps directly to a specific hint
instruction variant in the ISA. The compiler may use this hint when selecting
code sequences, but it is not required to emit a specific hint instruction or a
specific instruction sequence.
Supported atomic store hints are currently:
HINT_STSHH_KEEP: Requests retention of the updated location in the
local cache of the updating PE.
HINT_STSHH_STRM: Requests that the updated location not be retained
in the local cache of the updating PE.
[1] https://github.com/ARM-software/acle/pull/432
Commit: 314348fbfbef2cd628f05e4974811de4fa1b0d39
https://github.com/llvm/llvm-project/commit/314348fbfbef2cd628f05e4974811de4fa1b0d39
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
Log Message:
-----------
[LowerIFunc] Regenerate test checks (NFC) (#226151)
Commit: 053331c2c9f47fb0795c19f33c128ab82205b4cd
https://github.com/llvm/llvm-project/commit/053331c2c9f47fb0795c19f33c128ab82205b4cd
Author: jon-gibney <jonathon.gibney at hpe.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
R flang/test/Fir/convert-to-llvm-unsafe-fp-conversion.fir
Log Message:
-----------
Revert "[flang] Respect math flags during conversions (#214311)" (#225887)
This reverts commit 688119653fd40fa46244e1c300e728677a4f001a.
This caused a regression in Fujitsu test 0291/0291_0008.f with
`-ffast-math -march=native -03`. That test does a conversion that always
overflows, so without saturating math it produces poison, which causes
it to treat the rest of the routine as unreachable, resulting in a crash
on x86. I'll have to try another approach.
Commit: 520b1687095eaf9dd410fb48ab622205e9fec044
https://github.com/llvm/llvm-project/commit/520b1687095eaf9dd410fb48ab622205e9fec044
Author: Konstantin Bogdanov <thevar1able at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/phi-known-nonzero.ll
Log Message:
-----------
[ValueTracking] An or recurrence with a non-zero start value is non-zero (#226155)
Or-ing anything into a non-zero value keeps it non-zero, so
`isNonZeroRecurrence` can accept a simple `%iv = or %iv, %step`
recurrence with a non-zero constant start value, regardless of the step.
The first commit precommits the tests in `phi-known-nonzero.ll`.
This is split out of #222334. Together with a follow-up that stops
limiting the recursion depth for single-incoming (LCSSA) phis in
`isKnownNonZero`, it lets LoopIdiomRecognize (#222373) form `llvm.ctlz`
for the clz loop in ffmpeg's `sbc_calc_scalefactors`.
Commit: 12a8c418b4df10ae6241e26e9e114935656f197f
https://github.com/llvm/llvm-project/commit/12a8c418b4df10ae6241e26e9e114935656f197f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/early-exit-live-out-extract-lane.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
Log Message:
-----------
[VPlan] Simplify extract-lane from same single-scalar. (#226102)
Generalize extract-lane(idx, single-scalar) -> single-scalar to also
apply if there are multiple vectors to extract and all values are the
same single-scalar.
PR: https://github.com/llvm/llvm-project/pull/226102
Commit: ce36410607a87ee035224e2a6a819b24aa8f0bab
https://github.com/llvm/llvm-project/commit/ce36410607a87ee035224e2a6a819b24aa8f0bab
Author: Shikhar Jain <shikharj at qti.qualcomm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopInfo.cpp
A polly/test/CodeGen/broken-dominance-escaping-scalar.ll
Log Message:
-----------
[Polly] Materialize escaping scalars from empty-domain statements as poison (#220008)
Problem Summary: In a versioned SCoP, Polly may remove a statement with
an empty iteration domain before building its access relations. If that
statement contains an escaping MemoryKind::Value MUST_WRITE access,
removing the
statement also prevents the corresponding ScopArrayInfo from being
registered. During code generation, Polly then fails to materialize the
escaping scalar, leaving a merge PHI that refers to a value defined only
on the original path.
This causes an LLVM verifier failure because the value does not dominate
all uses.
Fix: When removeStmtNotInDomainMap() is about to remove a statement with
a null or empty domain, register the ScopArrayInfo for its qualifying
escaping scalar accesses before allowing the statement to be removed.
The statement is still pruned normally, but code generation can now
materialize the scalar through a .s2a slot and reload it on the
optimized merge edge. Since the defining statement is absent on that
path, the reload is poison. This is sound because
the poison is used only for parameter ranges where the original program
already has undefined behavior
The new .merge PHI provides a dominating definition on the optimized
edge, which resolves the verifier failure while keeping the region
optimized.
Fixes #206551
Commit: f05ae447f56404dce7b43145676242d63e0734f4
https://github.com/llvm/llvm-project/commit/f05ae447f56404dce7b43145676242d63e0734f4
Author: Milad Fa <mfarazma at ibm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/docs/ReleaseNotes.md
Log Message:
-----------
[libclang/python] Fix visitor callback return data type (#221024)
Declare the visitor callbacks return as c_long, i.e. a full register
word rather than c_int.
This is currently causing an issue on s390x, a 64-bit big-endian target.
The V8 JavaScript engine has recently started using libclang as a
dependency
to parse header files. It is currently crashing on s390x with a SIGFPE
due to this issue.
Both the s390x ELF ABI and libffi require the value to be sign/zero
extended to register
size, and leaving it as `c_int` leaves garbage on the high side.
cindex.py calls into libclang through ctypes, which builds the callback
closures using
libffi. With a `c_int` return, ctypes writes only the low 32 bits and
skips the extension
that both the ABI and libffi's closure contract require, so libffi hands
libclang a register
whose high bits are garbage.
Using c_long makes the value fill the register at its native width on
all platforms.
Commit: 77fe47d9a004ec14bf8f5c4f647ea7cdee34c83c
https://github.com/llvm/llvm-project/commit/77fe47d9a004ec14bf8f5c4f647ea7cdee34c83c
Author: robertvirany <robertvirany at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/arbitrary-fp-to-float.ll
M llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
Log Message:
-----------
[NVPTX] Extend SETP commuting to support SELP users (#215897)
Extend NVPTX SETP commuting to support predicates used by SELP
instructions.
When commuting a SETP reverses its predicate, update each SELP user by
swapping its true and false operands. This allows MachineCSE to elimiate
redundant inverse comparisons whose predicates are used by both branches
and selects.
Add regression coverage for register and immediate SELP operands. This
also removes redundant predicates from the arbitrary floating-point
conversion tests.
Commit: c709a1a352a486ef173cc7164e0af07d5e102e48
https://github.com/llvm/llvm-project/commit/c709a1a352a486ef173cc7164e0af07d5e102e48
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/CodeGen/SystemZ/soft-float-05.ll
Log Message:
-----------
[SystemZ] Use complete triple s390x-linux-gnu in soft-float-05.ll (#225851)
Specify `-mtriple=s390x-linux-gnu` instead of the incomplete
`-mtriple=s390x` in `soft-float-05.ll`.
When LLVM is configured with a default target triple that has a
different OS environment (such as `s390x-ibm-zos`), bare
`-mtriple=s390x` inherits the default OS/ABI and fails the Linux SystemZ
assembly checks.
Commit: 2c1ca898c2baed18179811e088f7694b1927a816
https://github.com/llvm/llvm-project/commit/2c1ca898c2baed18179811e088f7694b1927a816
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract-nosve.ll
A llvm/test/CodeGen/AArch64/neon-get-active-lane-mask.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Implement expansion for fixed-length get.active.lane.mask. (#225459)
A step in the direction of removing the shouldExpandGetActiveLaneMask
TTI hook. For this PR I've implemented enough functionality to allow all
legalish fixed-length variants of get.active.lane.mask to bypass the
SelectionDAGBuilder based expansion for AArch64.
The AArch64TargetLowering::shouldExpandGetActiveLaneMask restrictions
are related to maintaining current code quality and not because the
expansion code cannot handle them.
Tests are a copy of active_lane_mask.ll with the scalable vector tests
removed.
Commit: 3501bbfcff7a0e87b1b90d9f67f1ad12f0feb3d7
https://github.com/llvm/llvm-project/commit/3501bbfcff7a0e87b1b90d9f67f1ad12f0feb3d7
Author: leovance <leovancekang at outlook.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
M mlir/lib/Conversion/OpenACCToLLVM/ACCExecutableDirectivePatterns.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
M mlir/test/Conversion/OpenACCToLLVM/data.mlir
M mlir/test/Conversion/OpenACCToLLVM/wait.mlir
Log Message:
-----------
[mlir][OpenACC] Preserve explicit device numbers in wait lowering (#222604)
WaitOpLowering currently ignores wait_devnum and always passes zero as
the device number to __tgt_acc_wait.
Forward the converted operand when present, adapting it to the runtime's
i32 parameter. Zero-extend narrow unsigned integers, sign-extend narrow
signed or signless integers, and truncate wider operands. Determine
signedness from the original operand type, since LLVM type conversion
makes integer types signless.
Keep the default device number unchanged when wait_devnum is absent.
Add regression coverage for explicit device numbers, integer width and
signedness conversions, index operands, and waits combining if and
async.
Commit: f36af5d17f273d6f70249a1b97bf452302e18ce6
https://github.com/llvm/llvm-project/commit/f36af5d17f273d6f70249a1b97bf452302e18ce6
Author: michaelselehov <michael.selehov at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/Transforms/LoadStoreVectorizer/batch-aa-compile-time.ll
Log Message:
-----------
[CaptureTracking] Raise the default use budget from 100 to 150 (#222654)
Commit: 5eb23d2ae9f1dab06a31e5f9d7d64fa23a775604
https://github.com/llvm/llvm-project/commit/5eb23d2ae9f1dab06a31e5f9d7d64fa23a775604
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/error_message.c
M clang/test/OpenMP/error_message.cpp
M clang/test/OpenMP/parallel_message_messages.cpp
Log Message:
-----------
[clang][OpenMP] Only accept char strings in the message clause (#226080)
Fixes #140338
The `message` clause accepted any character-typed string, checked with
`isAnyCharacterType()`, but everything that consumes it assumes a `char`
string: Sema evaluates it into a `std::string` for the compile-time
diagnostic, and codegen passes it straight to the `const char *`
parameter of `__kmpc_error` and `__kmpc_push_num_threads_strict`. When
the issue was filed this hit the assertion in
`StringLiteral::getString()`. Since #146405 the assert is gone, but the
underlying problem stayed: in C++ a wide literal like `message(L"bar")`
prints `b<NUL><NUL>` as the error text, and with `at(execution)` a
`wchar_t` array is emitted as the runtime's `char *` argument. C was
only spared because `wchar_t` is an integer typedef there, so the clause
was already rejected.
The clause now only accepts `char` element types, which is what the spec
requires (OpenMP 5.1 §2.5.4: msg-string is a string of `const char *`
type). Wide, `UTF-16/32` and C++20 `u8` literals get the existing
"expected string in 'clause message' - ignoring" warning and the
directive still fires with its generic message, matching what C already
did and what GCC does. Doing this at the single point where the clause
is built covers the diagnostic, both codegen paths, and template
instantiation without touching the evaluator.
Commit: 7e3927d7b4c48948cbce1fafa8faec90e8499f4b
https://github.com/llvm/llvm-project/commit/7e3927d7b4c48948cbce1fafa8faec90e8499f4b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-check-generated-files.yml
Log Message:
-----------
[Github] Downgrade libcxx generated files check to 24.04 (#226016)
It is failing to install clang-format with the updated version.
Commit: af77e07eafa8ffda52ad620ef1cdb0188745ddca
https://github.com/llvm/llvm-project/commit/af77e07eafa8ffda52ad620ef1cdb0188745ddca
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/test/API/windows/launch/replace-dll/TestReplaceDLL.py
Log Message:
-----------
[lldb][Windows] Compare real paths in TestReplaceDLL (#226177)
lldb reports a module's canonical path, which differs from the build
artifact path when the build tree is reached through a subst drive
(`S:\...` vs `C:\S\...`). Compare real paths instead.
Fixes `windows/launch/replace-dll/TestReplaceDLL.py` in swiftlang CI
where we use subst drives.
Commit: dd4b3b7f0880c5bd15cea1867f0c4b30468fdd0c
https://github.com/llvm/llvm-project/commit/dd4b3b7f0880c5bd15cea1867f0c4b30468fdd0c
Author: Gheorghe-Teodor Bercea <gt.bercea at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/complex-mul-fma.ll
Log Message:
-----------
[AMDGPU] Price only the fmul that fuses into an fadd/fsub as free (#226009)
An fadd/fsub with two fmul operands can fuse with only one of them into
an FMA. Currently they are both priced as if they are fused (i.e. free).
Commit: 645b6da50af57797b9e7ca5208d59bdd1b3dba6b
https://github.com/llvm/llvm-project/commit/645b6da50af57797b9e7ca5208d59bdd1b3dba6b
Author: ahmed mohamed kamel <amkzaher at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/test/Sema/stmtexprs.c
Log Message:
-----------
[Clang] Fix stmtexprs.c to not specify -pedantic (#226161)
Fixes a buildbot failure (llvm-clang-x86_64-sie-ubuntu-fast) where
`stmtexprs.c` didn't specify a C standard, causing `_Static_assert` and
`_Generic` to be flagged as C11 extensions on targets that default to an
older standard.
This removes `-pedantic` from the RUN line because the test does not
test any extension behavior anyway.
Follow-up to #225597.
Commit: d1106deb71cc81016406a1917d0508d2df296266
https://github.com/llvm/llvm-project/commit/d1106deb71cc81016406a1917d0508d2df296266
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/test/API/functionalities/duplicate-archive-members/Makefile
M lldb/test/API/lang/objc/conflicting-definition/Makefile
M lldb/test/API/lang/objc/hidden-ivars/Makefile
M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/Makefile
M lldb/test/API/macosx/find-dsym/deep-bundle/Makefile
Log Message:
-----------
[lldb][test] Use MKDIR_P in more API test Makefiles (#226157)
Replace `mkdir -p` with `$(call MKDIR_P,...)` in a few API test
Makefiles so they work with the Windows shell.
Commit: 0c5f2fc610675233de4e95cfc173a687c61cba8c
https://github.com/llvm/llvm-project/commit/0c5f2fc610675233de4e95cfc173a687c61cba8c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Install sccache from apt repo (#226019)
Now that we are on ubuntu 26.04 we have sccache 0.13.0 which should be
new enough that everything works.
Commit: 44be0efbe3ae7593da00770f8505486011ca7057
https://github.com/llvm/llvm-project/commit/44be0efbe3ae7593da00770f8505486011ca7057
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/HTTP/HTTPClient.cpp
Log Message:
-----------
[HTTP][Windows] Apply the configured timeout to WinHttpReceiveResponse (#226172)
`WinHttpSetTimeouts` does not bound the wait inside
`WinHttpReceiveResponse`, which has its own separate
`WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT`.
For example: with the SymStore timeout set to 1s, a server stalling 5s
before responding is not cancelled: `perform()` returns success with a
200 and no body, so lldb handed back a path to a file the response
handler never created.
This fixes `symstore/TestSymStore.py` (test_http_timeout) in swiftlang.
Commit: 833166e22fe20c3513a77a02e34385c16128ea31
https://github.com/llvm/llvm-project/commit/833166e22fe20c3513a77a02e34385c16128ea31
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
A mlir/test/Dialect/XeGPU/sg-to-lane-distribute-convert-layout-slice.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir
Log Message:
-----------
[mlir][xegpu] Distribute three more convert_layout cases to lanes (#222693)
`xegpu-sg-to-lane-distribute` could not lower an `xegpu.convert_layout`
whose effective `lane_layout` changes in a way that moves elements
between lanes. Add one pattern per case found in the workgroup-level
mx-fp GEMM quantize-A kernels, where `#xegpu.slice` layouts of a rank-3
layout meet the rank-2 layouts of `load_nd` and `dpas_mx`:
- fully broadcast source to one row per lane: `vector.extract`
- source broadcast over two lane groups to one row per lane:
`vector.extract` plus two `gpu.shuffle`
- fully broadcast source to one column per lane group:
`vector.deinterleave` plus a select on the lane group
Commit: 1794efe8f33a965e55c1f532c88949cfcc152c1d
https://github.com/llvm/llvm-project/commit/1794efe8f33a965e55c1f532c88949cfcc152c1d
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/XeVMDialect.cpp
A mlir/test/Dialect/LLVMIR/xevm-canonicalize.mlir
Log Message:
-----------
[mlir][xevm] Fold xevm.truncf of an xevm.extf round trip (#225875)
A xevm.extf followed by a xevm.truncf through the same pair of formats
returns the value it started from, so the pair can be dropped. Fold it
on the truncf, the way arith::TruncFOp::fold recognizes truncf(extf(a)),
and gate it on APFloatBase::isLosslesslyConvertibleTo of the two formats
the element type attributes stand for.
That gate excludes bf8: it is IEEE-like, so extending a signaling NaN
quiets it and the original value cannot be recovered, which is the same
reason arith does not fold an f8E5M2 round trip. f8 (E4M3, NaN only) and
e2m1 (finite only) do fold.
Mark both ops Pure so the extf left without users is removed and the
pair folds to nothing.
Commit: d4367db7021b08647c0d733234e053f6f987a6b7
https://github.com/llvm/llvm-project/commit/d4367db7021b08647c0d733234e053f6f987a6b7
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
Log Message:
-----------
[AMDGPUSwLowerLDS] Fix non-deterministic global ordering (#226184)
Ran into this when generated UTC checks kept changing order.
Commit: 2b9e54c6aebb44b642e1298bb9b704a7136e35dc
https://github.com/llvm/llvm-project/commit/2b9e54c6aebb44b642e1298bb9b704a7136e35dc
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/Transforms/PGOProfile/indirect_call_profile.ll
Log Message:
-----------
[InstrProf][NFC] Expand indirect_call_profile.ll test (#220691)
Commit: a33352ddde6d781ba823e6e856d06eeceb15a1fa
https://github.com/llvm/llvm-project/commit/a33352ddde6d781ba823e6e856d06eeceb15a1fa
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
Log Message:
-----------
[CodeExtractor] Preserve the original DIExpression for extracted inputs. (#224360)
58430692fc15 always inserted an empty expression when cloning debug
records for outlined inputs, which dropped existing expression. Fixed by
using the existing expression instead of creating an empty one.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: d41006c17bfc36cf899f39e93f839ae8ed3db637
https://github.com/llvm/llvm-project/commit/d41006c17bfc36cf899f39e93f839ae8ed3db637
Author: Gábor Horváth <xazax.hun at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
M clang/test/Sema/LifetimeSafety/capture-by.cpp
M clang/test/Sema/LifetimeSafety/cfg-bailout.cpp
M clang/test/Sema/LifetimeSafety/dangling-field.cpp
M clang/test/Sema/LifetimeSafety/dangling-global.cpp
M clang/test/Sema/LifetimeSafety/inapplicable-lifetimebound.cpp
M clang/test/Sema/LifetimeSafety/invalidations.cpp
M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
M clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp
M clang/test/Sema/LifetimeSafety/nocfg.cpp
M clang/test/Sema/LifetimeSafety/noescape-violation.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Revamp how accesses and uses are handled (#225799)
Previously every DeclRefExpr was a use, so naming a pointer, taking its
address
or copying it counted as reading what it points to. Writes were then
exempted
after the fact through a UseFact -> Expr map and a special case for
writes
through references.
Now a use is an access: an lvalue-to-rvalue conversion, a write through
an
assignment, increment or asm output, or a copy of a class object from a
glvalue.
It is recorded on the accessed lvalue's outer origin, the loans saying
which
storage it may name. The visitors for `*p`, `p->f` and `p[i]` already
flow the
base pointer there, so dereferences need no special handling. Reads of a
value
go through readValue(), which records the access; writes peel the outer
origin
directly. Values handed to opaque code still use every level.
Consequences:
- Copying a pointer, taking an address, `(void)p` and `p++` are not
uses.
- Writing through a dangling pointer (`*p = 1`, `p->f = 1`) is now
diagnosed.
- An access of an origin that names a declaration outright is skipped:
it
only holds a loan to that declaration, which is valid wherever it is
named.
- UseFact::IsWritten and markUseAsWrite are removed; kills on assignment
already come from the destination's OriginFlowFact or KillOriginFact.
Fewer use facts are generated, e.g. on the lifetime-safety lit tests:
safety.cpp 1886 -> 882
invalidations.cpp 616 -> 451
nocfg.cpp 544 -> 415
capture-by.cpp 395 -> 324
Assisted by: Opus 5.5
---------
Co-authored-by: Gabor Horvath <gaborh at apple.com>
Commit: d55a3fd2cec0e02d475bebba4772c1edee02aa89
https://github.com/llvm/llvm-project/commit/d55a3fd2cec0e02d475bebba4772c1edee02aa89
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
Log Message:
-----------
[VPlan] Mark histogram increment as only having its first lane used. (#226138)
The second operand (increment ) of llvm.experimental.vector.histogram.*
is a scalar. Handle it in usesFirstLaneOnly.
PR: https://github.com/llvm/llvm-project/pull/226138
Commit: 1bfac635af65eb573d373dee663492c636aa0a3d
https://github.com/llvm/llvm-project/commit/1bfac635af65eb573d373dee663492c636aa0a3d
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
Log Message:
-----------
[AMDGPUMemoryUtils] Use MapVector for FunctionVariableMap (#226198)
At least AMDGPUSwLowerLDS iterated over this map in a way that
affects IR output order. Use MapVector to make it deterministic.
Commit: 59651039cc264619f71dfad40d061df2a615eaf1
https://github.com/llvm/llvm-project/commit/59651039cc264619f71dfad40d061df2a615eaf1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libcxx/docs/Contributing.rst
Log Message:
-----------
[libcxx] Update docs for updating the CI container image (#226018)
The process is a lot less complicated now that one can do it purely by
modifying the image hash in the workflow file.
Commit: 7669cf3e4b1c883dd5775a781669a18174300015
https://github.com/llvm/llvm-project/commit/7669cf3e4b1c883dd5775a781669a18174300015
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes a33352d (#226196)
This fixes a33352ddde6d781ba823e6e856d06eeceb15a1fa (#224360).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=a33352ddde6d781ba823e6e856d06eeceb15a1fa
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 4127345110ee862f01e81801fbfe8f84e4a75874
https://github.com/llvm/llvm-project/commit/4127345110ee862f01e81801fbfe8f84e4a75874
Author: geoffreygaren <ggaren at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[WebKit Checkers] Do not report lambda captures in system headers (#226182)
This matches the policy in other WebKit checkers.
Some `std` namespace lambdas like `find` lack the `noescape` annotation,
so the borrow checker flags them.
Assisted-by: Claude
Commit: e5c969157449c62ac255389dfad4847b213a4773
https://github.com/llvm/llvm-project/commit/e5c969157449c62ac255389dfad4847b213a4773
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb] Fix OOB write in MultiMemRead response parsing (#226168)
Change some memory writes in ParseMultiMemReadPacket so that it no
longer asserts on OOB accesses, instead returning an error. This makes
the code correct even in release builds.
Commit: dbeaf3d1d6b1ac027a9130579c4c359aacd81e3b
https://github.com/llvm/llvm-project/commit/dbeaf3d1d6b1ac027a9130579c4c359aacd81e3b
Author: aokblast <aokblast at FreeBSD.org>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[InstSimplify] Add missing FRem in FMF overload (#225987)
Commit: 6bef34a7ebbef9b11654aef83c8fbc1b0dc16860
https://github.com/llvm/llvm-project/commit/6bef34a7ebbef9b11654aef83c8fbc1b0dc16860
Author: Nikita Kornev <nikita.kornev at intel.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/tools/offload-arch/CMakeLists.txt
M clang/tools/offload-arch/LevelZeroArch.cpp
M clang/unittests/offload-arch/CMakeLists.txt
M clang/unittests/offload-arch/OffloadArchTest.cpp
A llvm/include/llvm/TargetParser/IntelGPUTargetParser.def
A llvm/include/llvm/TargetParser/IntelGPUTargetParser.h
M llvm/include/module.modulemap
M llvm/lib/TargetParser/CMakeLists.txt
A llvm/lib/TargetParser/IntelGPUTargetParser.cpp
M llvm/unittests/TargetParser/CMakeLists.txt
A llvm/unittests/TargetParser/IntelGPUTargetParserTest.cpp
Log Message:
-----------
[TargetParser] Add a list of Intel GPUs, and use it in offload-arch (#222072)
Currently offload-arch prints Intel GPU identifiers like "Intel(R) Data
Center GPU Max 1100" which are not legal values for clang's
--offload-arch option.
Print an architecture name instead, e.g. "xe-pvc". The driver reports a
GPU IP version, the GMDID, for every device. Add a table that maps a
GMDID to a name, and look the device up in it. A device that is missing
from the table is printed by its numeric version, e.g. "xe_35.11.0". A
device whose driver does not report a GMDID is skipped.
The table goes in llvm/TargetParser, next to the other GPU lists,
because other tools need it too. Some of them are LLVM libraries, which
cannot include a clang header.
Every row of IntelGPUTargetParser.def holds a name that --offload-arch
accepts, the major and minor components of the GMDID that the device
reports, and the IGCA (Intel Graphics Compute Architecture) target and
feature sets that the name maps to. The revision component is left out,
so every revision of a device gets the same name. A few names, such as
xe-dg2, cover a whole product line. No device reports a GMDID for those,
so offload-arch never prints them.
The header declares only the functions that offload-arch needs. More
will follow when something needs them.
---------
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 5f7d8a2fadec43d1e70f1ebed812eda52234623c
https://github.com/llvm/llvm-project/commit/5f7d8a2fadec43d1e70f1ebed812eda52234623c
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/poll_macros.h
M libc/include/CMakeLists.txt
M libc/include/poll.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/ppoll.h
M libc/src/poll/CMakeLists.txt
M libc/src/poll/linux/CMakeLists.txt
A libc/src/poll/linux/ppoll.cpp
A libc/src/poll/ppoll.h
M libc/test/src/poll/CMakeLists.txt
A libc/test/src/poll/ppoll_test.cpp
Log Message:
-----------
[libc] Implement ppoll in poll (#225767)
Implement the standard POSIX.1-2008 / POSIX.1-2024 function ppoll in
<poll.h>.
Fixes #225681
Commit: 591f2e73fd4b81298d847ff0e39fe7e01985d8d6
https://github.com/llvm/llvm-project/commit/591f2e73fd4b81298d847ff0e39fe7e01985d8d6
Author: aokblast <aokblast at FreeBSD.org>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
A llvm/test/Transforms/SCCP/select-struct.ll
Log Message:
-----------
[SCCP] Implement Structure support in Selection (#225946)
Same as my previous work on PhiNode, we support structure in SelectInst
if there is at least one member is not overdefined.
As structure type check code has multiple consumers now, we create a
helper function forEachLatticeElement, which accept a function to
indicate what we want to do for a single lattice element. The lattice
getter function is passed as a currying function of the callback.
Also, remove an assertion for testing DenseMap reference as
isInstFullyOverDefined has already emit elements in DenseMap.
Commit: a45a57c0fb284997699ab0ac1829152fa0bb24be
https://github.com/llvm/llvm-project/commit/a45a57c0fb284997699ab0ac1829152fa0bb24be
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
M mlir/test/Dialect/OpenACC/acc-routine-lowering.mlir
Log Message:
-----------
[mlir][openacc] Copy all host function attributes to the device routine (#226127)
`createFunctionForDeviceStaging` copied only the discardable attributes
of the host function, so the device copy lost sym_visibility, arg_attrs,
res_attrs and no_inline, which are inherent attributes of func.func. A
private host with llvm.signext/llvm.noundef on its signature became a
public function with a bare signature.
Fixes #225259
Commit: 32adedc8fb569f911d10df88bcbee015249dba02
https://github.com/llvm/llvm-project/commit/32adedc8fb569f911d10df88bcbee015249dba02
Author: Clayton Knittel <cknit1999 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/DebugInfo/CXX/limited-ctor.cpp
Log Message:
-----------
[DebugInfo] Ignore undefined constexpr constructors in constructor homing. (#221971)
This is a roll-forward of
https://github.com/llvm/llvm-project/pull/218165, which inadvertantly
caused missing debug info in
https://github.com/llvm/llvm-project/issues/221560 due to an existing
issue with standard-layout unions and layout-compatible aliasing (see
[[class.mem]](https://timsong-cpp.github.io/cppwp/n3337/class.mem#19)).
Constexpr constructors without a visible definition in the TU are not
callable in a constexpr context, which means it is not possible to
construct a type in constexpr without emitting debug info for the
constructor itself. Although undefined constexpr constructors are still
callable, they are normal out of line functions, requiring a definition
to link against.
Commit: a3710621385a3aea7cb67525f4d34681e4c93118
https://github.com/llvm/llvm-project/commit/a3710621385a3aea7cb67525f4d34681e4c93118
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/CodeGen/MLRegAlloc/dev-mode-logging.ll
Log Message:
-----------
[MLGO] Remove copy to /tmp/test in dev-mode-logging.ll (#226199)
Commit: b290704acb41f045f2cb8b32b8e38c0a44dc0b61
https://github.com/llvm/llvm-project/commit/b290704acb41f045f2cb8b32b8e38c0a44dc0b61
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-check-generated-files.yml
Log Message:
-----------
[libc++] Trigger check-generated-files consistently with other workflows (#225912)
We want to trigger the CI workflow whenever it changes and whenever any
libc++ or libc++ adjacent code is touched, like we do for other
workflows.
Commit: a0102e124830769edfafb977a0460ead9c94b77a
https://github.com/llvm/llvm-project/commit/a0102e124830769edfafb977a0460ead9c94b77a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-conformance-tests.yaml
M libcxx/docs/index.rst
M libcxx/utils/ci/lnt/machines.json
Log Message:
-----------
[libc++] Bump macOS CI runners from 26.5 to 26.6.2 (#226012)
This bumps the macOS runners used by the libc++ conformance CI and the
machines tracked in LNT from macOS 26.5 to macOS 26.6.2, and switches to
Xcode 26.6 accordingly.
We introduce new names for the new LNT machines since their
configuration is changed.
Commit: 0dadfa004c8bac744279c168e5edb6b265a02e7c
https://github.com/llvm/llvm-project/commit/0dadfa004c8bac744279c168e5edb6b265a02e7c
Author: Cheng-Chieh Liu <jay87406 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
Log Message:
-----------
[mlir][Vector] Fix scalable dim guard in broadcast lowering (#225021)
The scalable outer dim guard in `BroadcastOpLowering` only covered the
"stretch not at start" case (`m != 0`). The "stretch at start" case
unrolls the same `dstType.getDimSize(0)` trip count and has the same
bug: broadcasting e.g. `vector<1x4xf32>` to `vector<[3]x4xf32>` only
fills the static minimum lanes via `vector.insert`, leaving the rest as
`ub.poison`.
Widen the guard to cover both cases, and add a regression test.
Commit: bd0da2bf7dae083c66f154064aed08bfc2987531
https://github.com/llvm/llvm-project/commit/bd0da2bf7dae083c66f154064aed08bfc2987531
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/third-party/BUILD.bazel
M utils/bazel/llvm-project-overlay/third-party/cc_library_wrapper.bzl
Log Message:
-----------
[bazel] Add support for libxml2 (#225158)
I enabled this by default to match cmake, but we could leave it off by
default if we wanted. The flag is ignored on macOS since macOS ships
this with the system and we just always use that version instead.
This is used by lld for windows manifests, used by lldb for a few
cases, and used by c-index-test for docs
Commit: d7b16806c4f1758f3642a966eedf83c58e770e76
https://github.com/llvm/llvm-project/commit/d7b16806c4f1758f3642a966eedf83c58e770e76
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/test/API/lit.cfg.py
Log Message:
-----------
[lldb][test] Stop deleting the clang module cache between lit runs (#226174)
A test binary's DWARF names the .pcm files in this cache, and make will
not rebuild an up-to-date `a.out` to regenerate them. Deleting it leaves
every ClangImporter test pointing at a deleted module.
Deleting is also redundant: a changed compiler already forces a rebuild
through `tool_prereq` inside of `Makefile.rules`.
On Windows, in swiftlang, this fixes 26 tests in `check-lldb-swift`
(ClangImporter/DWARFImporter/cxx-interop) and 105 "module file does not
exist" errors.
Commit: 01df360d349bec88509f39e6ad3be6f739d28bf0
https://github.com/llvm/llvm-project/commit/01df360d349bec88509f39e6ad3be6f739d28bf0
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir-c/IR.h
M mlir/lib/CAPI/IR/IR.cpp
M mlir/test/CAPI/ir.c
Log Message:
-----------
[mlir-c] Add mlirOperationIsAncestor and mlirOperationIsProperAncestor (#206556)
Exposes `Operation::isAncestor` and `Operation::isProperAncestor` through the MLIR C API.
Assisted by: Claude
Commit: 8ee4426e3dae25d155d102d20f7cd395bd035174
https://github.com/llvm/llvm-project/commit/8ee4426e3dae25d155d102d20f7cd395bd035174
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libcxx/test/CMakeLists.txt
R libcxx/test/benchmarks/CMakeLists.txt
A libcxx/test/benchmarks/lit.local.cfg
M libcxx/test/configs/harness-configuration.cfg.in
M libcxx/utils/libcxx/test/config.py
M libcxx/utils/libcxx/test/format.py
A libcxx/utils/libcxx/test/googlebenchmark.py
M libcxx/utils/libcxx/test/params.py
M libcxxabi/test/CMakeLists.txt
M libcxxabi/test/configs/cmake-bridge.cfg.in
M libunwind/test/CMakeLists.txt
M libunwind/test/configs/cmake-bridge.cfg.in
Log Message:
-----------
[libc++] Re-apply "Build GoogleBenchmark directly from Lit" (#225856)
Previously, we would build GoogleBenchmark against the just-built
library, not against the library being tested. When testing historical
versions of libc++ or other standard libraries, this breaks. So instead
of building Google Benchmark against the just-built library in CMake, do
it from Lit as part of the test suite's configuration.
I'm not a huge fan of using Lit as a poor man's build system and we
should make the CMake test suite self-contained, however this is a step
in the right direction and it removes a major coupling between the test
suite and the regular libc++ build.
This patch re-applies 1bfe9893f3dc which was reverted in 62ea87e542c3
because it broke the Fuchsia bots. This new version of the patch also
threads through the path to the CMake program being used, the CMake
generator and the CMake "make program" from the top-level CMake to the
test-suite, so that the Google Benchmark build can inherit what the
top-level CMake is using.
Commit: 705738b26f0b8f413f7b628e1677613fb7ea71d1
https://github.com/llvm/llvm-project/commit/705738b26f0b8f413f7b628e1677613fb7ea71d1
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/MachineCycleAnalysis.cpp
M llvm/lib/IR/CycleInfo.cpp
Log Message:
-----------
[CycleInfo] Add missing exports to symbols used in tests (#225737)
Commit: e637d7d130f1be9ff06128db3007c69ca00bbaf5
https://github.com/llvm/llvm-project/commit/e637d7d130f1be9ff06128db3007c69ca00bbaf5
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/TableGen/AsmPredicateCombiningRISCV.td
M llvm/test/TableGen/CompressInstEmitter/suboperands.td
M llvm/test/TableGen/RegClassByHwModeCompressPat.td
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[RISCV][TableGen] Return instruction size from isCompressibleInst (#225660)
Not all compress patterns compress to a 2 byte instruction. There are a
few `Xqci` instructions that compress from a 6 byte instruction to a 4
byte instruction. Having `isCompressibleInst` optionally return the size
of the compressed instruction will help us better estimate instruction
sizes.
Assisted by gpt-5.6-luna
Commit: ae5a2966682bb89d0cba976f0459eb1adc20f8bc
https://github.com/llvm/llvm-project/commit/ae5a2966682bb89d0cba976f0459eb1adc20f8bc
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
A clang/test/OpenMP/reduction_non_copyable_with_initializer.cpp
Log Message:
-----------
[OpenMP] Fix OpenMP reduction segfault with non-copyable types and user initializers. (#219265)
OpenMP custom reductions with user-defined initializers segfault when
the reduction variable type is non-copyable and has non-trivial members
(e.g., std::string). `Clang` was emitting only the user initializer
function call, leaving non-trivial
members uninitialized with garbage values, causing segfaults when those
members are accessed or assigned.
See https://godbolt.org/z/bboqKbhsT
This patch fixes the issue.
Commit: 33726c20882b4f8dc1d34990e0a516e5b627acb8
https://github.com/llvm/llvm-project/commit/33726c20882b4f8dc1d34990e0a516e5b627acb8
Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/SandboxIR/Value.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Fix Value::stripAndAccumulateConstantOffsets (#225980)
The original test was not exercising the ExternalAnalysis FnRef, and we
we are passing a non-nullptr lambda even if the user has passed a
nullptr, which would cause a crash.
This patch fixes it.
Commit: 599fc2cfc60421ea402dd0ec57f5106bf452962c
https://github.com/llvm/llvm-project/commit/599fc2cfc60421ea402dd0ec57f5106bf452962c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libcxx/utils/ci/docker/linux-builder.dockerfile
Log Message:
-----------
[Github] Bump libcxx image to ubuntu 26.04 (#225550)
To match the rest of the premerge CI images.
Commit: 6702faa9c52cedeaad7d8f8fbc82be44cbc8f637
https://github.com/llvm/llvm-project/commit/6702faa9c52cedeaad7d8f8fbc82be44cbc8f637
Author: robertvirany <robertvirany at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/docs/NVPTXUsage.md
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/st_bulk.ll
A llvm/test/CodeGen/NVPTX/st_bulk_i32.ll
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[NVPTX] Support 32-bit size operand for st.bulk (#217703)
PTX ISA 9.0 extends the `st.bulk` instruction to accept a 32-bit `size`
operand.
Add `i32` variants of the generic and `.shared::cta` NVVM intrinsics and
select them to `st.bulk` instructions using 32-bit registers. The new
patterns require PTX ISA 9.0 and `sm_100`.
The existing intrinsics continue to represent the original 64-bit forms.
Add code-generation coverage for both the default and short-pointer
ABIs.
Commit: af50c4643d0cfd4acb81c7b6b3b0618ed2700be8
https://github.com/llvm/llvm-project/commit/af50c4643d0cfd4acb81c7b6b3b0618ed2700be8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
Log Message:
-----------
[RISCV] Fix crash costing cttz.elts with zvl32b. (#226181)
With +zvl32b fixed-length vectors are not legalized to RVV types and
getTypeLegalizationCost returns a scalar MVT. Skip non-vector types and
return Invalid instead of asserting in the getVectorElementType call
below.
Hit this while fuzzing some LoopVectorize changes.
Aided by Claude Opus.
PR: https://github.com/llvm/llvm-project/pull/226181
Commit: 3e7abfccd079c2303c8bb21cad3c425f2507ac88
https://github.com/llvm/llvm-project/commit/3e7abfccd079c2303c8bb21cad3c425f2507ac88
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/SandboxIR/Value.h
Log Message:
-----------
[SandboxIR] Add missing exports to symbols used in unittests (#225977)
Commit: c2c25c67b5385c02b3a7c6d6b3523ff406eaad2e
https://github.com/llvm/llvm-project/commit/c2c25c67b5385c02b3a7c6d6b3523ff406eaad2e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/CodeGen/X86/masked_compressstore.ll
Log Message:
-----------
[X86] masked_compressstore.ll - add VBMI2 test coverage (#226221)
VBMI2 added vXi8/i16 compressstore handling
Commit: cb4c63ef8f72e93b58277bb5443251e70dadb401
https://github.com/llvm/llvm-project/commit/cb4c63ef8f72e93b58277bb5443251e70dadb401
Author: Anshul Nigham <nigham at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/flang-rt/lib/runtime/BUILD.bazel
Log Message:
-----------
Fix layering failure for clang-doc and flang (#225964)
This was introduced in commit 4989b3b0bb752c436c922d8e65cd7a952038d5db.
* `src/liblzma/api/config.h` is exposed in hdrs of lzma_src_liblzma_api.
* `strip_include_prefix = "src/liblzma/api"` strips the path, exposing
the header as `config.h` in a virtual include directory
(`_virtual_includes/lzma_src_liblzma_api/config.h`).
Fixed by adding `strip_include` to the relevant `config.h` headers that
were causing failures.
Commit: 7701f727799a8cfb6ca20802c5824d12f7c93b5e
https://github.com/llvm/llvm-project/commit/7701f727799a8cfb6ca20802c5824d12f7c93b5e
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/Transforms/GCOVProfiling/exit-block.ll
M llvm/test/Transforms/GCOVProfiling/function-numbering.ll
M llvm/test/tools/llvm-cov/gcov/basic.test
Log Message:
-----------
[test] Use -- for llvm-cov gcov long options (#226236)
Prepare for the OptTable migration of llvm-cov gcov, where long options
take `--` only.
Commit: 78ff5215e53a117851dc6e81e793a106f1a79df8
https://github.com/llvm/llvm-project/commit/78ff5215e53a117851dc6e81e793a106f1a79df8
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/AST/DeclContextInternals.h
Log Message:
-----------
[clang] Migrate away from PointerUnion::dyn_cast (NFC) (#226047)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast on
DeclListNode::Decls in StoredDeclsList because the operands are always
nonnull:
- StoredDeclsList::getAsDecl and StoredDeclsList::getAsList are called
only after verifying !isNull() (in StoredDeclsList::getASTContext,
StoredDeclsList::addOrReplaceDecl, and ASTImporterTest.cpp).
- DeclListNode::Rest is always nonnull because the singly-linked list of
DeclListNode is terminated by a NamedDecl *, not by nullptr.
Assisted-by: Antigravity
Commit: 585b10be7b8487440227fa1da5f08fa6938ca32e
https://github.com/llvm/llvm-project/commit/585b10be7b8487440227fa1da5f08fa6938ca32e
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unused functions (NFC) (#226048)
isInductionVariable:
The last caller was removed on December 19, 2025 in commit
1f78f6a2d629b0dd410a3d20429f76377ac5d6c3, leaving
isCastedInductionVariable without any callers and
InductionCastsToIgnore without any readers.
getNumStores, getNumLoads:
The last callers were removed on August 5, 2025 in commit
c9dd14d1d4c357ad29e0e5c446f1bb8f596ab9c0.
hasVector:
The last caller was removed on June 24, 2024 in commit
abf5969f76c6b4196b08fe5ea9c2890e97a61357.
getInLoopReductionImmediateChain:
The last caller was removed on September 4, 2026 in commit
278d9f76594de1ad0fac669468bf083ad6616a0f, leaving
InLoopReductionImmediateChains without any readers.
preferTailFoldedLoop:
The last caller was removed on August 12, 2026 in commit
97773f262edefabce826ed56f438005d34a78f4b.
Assisted-by: Antigravity
Commit: 34474905abda1ecedca7c4f7b4a6e871aa07f910
https://github.com/llvm/llvm-project/commit/34474905abda1ecedca7c4f7b4a6e871aa07f910
Author: sujianIBM <Jian.Su at ibm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZXPLINKAsmPrinter.cpp
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
Log Message:
-----------
[SystemZ][z/OS] Fix product version format in PPA2 on z/OS. (#225749)
The product version in PPA2 should be right-aligned (e.g. 090807)
instead of left-aligned (e.g. 908070) on z/OS.
Commit: 3ab91ef29fc59cd48ac88fe0d5226fed6b7fd939
https://github.com/llvm/llvm-project/commit/3ab91ef29fc59cd48ac88fe0d5226fed6b7fd939
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/include/flang/Lower/SymbolMap.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/SymbolMap.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Lower/OpenACC/acc-data-cuda-device.f90
Log Message:
-----------
[flang][cuda][openacc] Resolve DEVICE dummies against !$acc data mapped objects (#225899)
CUDA Fortran generic resolution rejects a call when an actual argument
with
no CUDA data attribute is associated with an ATTRIBUTES(DEVICE) dummy.
That
makes cuBLAS-style generic interfaces unusable inside a structured
OpenACC
data region, even though the mapped objects do have a device copy there:
```
!$acc data copyin(a, b) copyout(c)
call cublaszgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
!$acc end data
error: No specific subroutine of generic 'cublaszgemm' matches the actual
arguments
dummy argument 'a=' has ATTRIBUTES(DEVICE) but its associated actual
argument has no CUDA data attribute
```
Treat an object mapped by an enclosing structured `acc data` construct
as if
the actual had CUDADataAttr::UseDevice, which is the attribute already
used
for `host_data use_device` and which matches either a DEVICE dummy or a
host
dummy. Scalars and unmapped objects keep no attribute, so a specific
taking
host scalars and device arrays is preferred over one requiring every
argument
to be on the device.
Semantics records the mapped objects on the OpenACC construct scope
rather
than on the symbols themselves, so ordinary references inside the region
still denote the host object; only argument association consults the
mapping.
The lookup walks enclosing scopes so nested data regions work, and is
skipped
entirely when the compilation contains no such mapping.
Lowering keeps the host binding in the symbol map and adds a parallel
device-binding stack populated from the `acc.data` operands. A call
argument
is rebuilt from the device binding only when the dummy is DEVICE;
objects
without a whole-object binding, such as common block members and
component
references, are left on the host path.
Only `acc data` is handled; compute constructs are unaffected.
Commit: b1ba3d515a0238adbfc6c349ed3b33f9060cea72
https://github.com/llvm/llvm-project/commit/b1ba3d515a0238adbfc6c349ed3b33f9060cea72
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A llvm/test/tools/llvm-reduce/mir/parallel-jobs-unsupported.mir
M llvm/tools/llvm-reduce/deltas/Delta.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-reduce/llvm-reduce.cpp
Log Message:
-----------
llvm-reduce: Error on -j with MIR inputs (#226225)
Parallel chunk processing distributes work by serializing the program to
bitcode and reparsing it in each worker thread. Bitcode cannot represent
MachineFunctions, so readBitcode leaves ReducerWorkItem::MMI null and
the reparsed item reports isMIR() == false. The delta pass list is still the
MIR one, chosen from the original program, so the worker runs a MIR pass
over an item with no MachineModuleInfo and dereferences null.
This broke every MIR reduction using -j > 1, though not immediately: the
parallel path is only taken once there is more than one chunk left to
process, so the crash appeared after the first granularity increase.
Reject the combination up front instead of crashing partway through a
reduction. Supporting it would mean exchanging MIR text rather than
bitcode, and giving each worker its own TargetMachine.
Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
Commit: d1c2388b476953feb646d8de5ee291ff988b9a07
https://github.com/llvm/llvm-project/commit/d1c2388b476953feb646d8de5ee291ff988b9a07
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-cov.md
M llvm/tools/llvm-cov/CMakeLists.txt
A llvm/tools/llvm-cov/GcovOpts.td
M llvm/tools/llvm-cov/gcov.cpp
M llvm/utils/gn/secondary/llvm/tools/llvm-cov/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm-cov] Migrate gcov to OptTable (#224955)
llvm-cov gcov is the last user of cl::Grouping. Parse its options with
an OptTable that enables grouped short options, as the other
binutils-style tools do, so that cl::Grouping can be removed.
Spellings follow the other migrated tools: long options take `--` only,
so `-gcno` and `-gcda=` become `--gcno` and `--gcda=`. `--help` now
lists only gcov's options rather than every cl:: option linked into
llvm-cov, and an unknown option or a missing source file is reported
as `llvm-cov gcov: error: ...`.
LLM-aided
Commit: 78a1fe99f4935677a285a1f6d789b8b5b01b24b1
https://github.com/llvm/llvm-project/commit/78a1fe99f4935677a285a1f6d789b8b5b01b24b1
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
M utils/bazel/MODULE.bazel.lock
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch2/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch3/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch4/BUILD.bazel
Log Message:
-----------
[bazel] Update to 9.x (#225466)
Mostly just staying up to date, but this has performance improvements
with remote exec too
Commit: 23a4893c0ddb4c6df17fa487bd74d0d9ab6e658a
https://github.com/llvm/llvm-project/commit/23a4893c0ddb4c6df17fa487bd74d0d9ab6e658a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/TargetParser/IntelGPUTargetParser.cpp
Log Message:
-----------
[TargetParser] Fix -Wunused-variable in #222072 (#226243)
Use [[maybe_unused]] as the name is a lot nicer than the raw constant.
Commit: d968b5fcfdaee96643a8051b498f8daee3a73773
https://github.com/llvm/llvm-project/commit/d968b5fcfdaee96643a8051b498f8daee3a73773
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
A lldb/test/Shell/SymbolFile/NativePDB/dedupe-exported-public-symbols.cpp
Log Message:
-----------
[lldb][NativePDB] Don't duplicate public symbols that restate a PE export (#226200)
`SymbolFileNativePDB::AddSymbols` adds every
[`S_PUB32`](https://llvm.org/docs/PDB/CodeViewSymbols.html#s-pub32-0x110e)
to the symtab, but `ObjectFilePECOFF` has usually already added the same
name and address from the PE export table, so the symbol resolves to two
entries.
On the other hand, `ObjectFilePECOFF` already solves this for its own
`export`/`symtab` overlap by marking the duplicate entry as
`eSymbolTypeAdditional`:
https://github.com/llvm/llvm-project/blob/d1106deb71cc81016406a1917d0508d2df296266/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp#L839-L844
This patch implements the same for `SymbolFileNativePDB::AddSymbols`.
In swiftlang, this fixes
`lang/swift/expression/exclusivity_suppression/TestExclusivitySuppression.py`
on Windows.
Commit: e27c7439ab588237a4c526feb3bb632f9aea8530
https://github.com/llvm/llvm-project/commit/e27c7439ab588237a4c526feb3bb632f9aea8530
Author: Alex Strelnikov <strel at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_xattr_macros.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sys-xattr-macros.h
A libc/include/llvm-libc-macros/sys-xattr-macros.h
M libc/include/sys/xattr.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/fgetxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/fsetxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/getxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/lgetxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/lsetxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/setxattr.h
M libc/src/sys/xattr/CMakeLists.txt
A libc/src/sys/xattr/fgetxattr.h
M libc/src/sys/xattr/flistxattr.h
A libc/src/sys/xattr/fsetxattr.h
A libc/src/sys/xattr/getxattr.h
A libc/src/sys/xattr/lgetxattr.h
M libc/src/sys/xattr/linux/CMakeLists.txt
A libc/src/sys/xattr/linux/fgetxattr.cpp
M libc/src/sys/xattr/linux/flistxattr.cpp
A libc/src/sys/xattr/linux/fsetxattr.cpp
A libc/src/sys/xattr/linux/getxattr.cpp
A libc/src/sys/xattr/linux/lgetxattr.cpp
M libc/src/sys/xattr/linux/listxattr.cpp
M libc/src/sys/xattr/linux/llistxattr.cpp
A libc/src/sys/xattr/linux/lsetxattr.cpp
A libc/src/sys/xattr/linux/setxattr.cpp
M libc/src/sys/xattr/listxattr.h
M libc/src/sys/xattr/llistxattr.h
A libc/src/sys/xattr/lsetxattr.h
A libc/src/sys/xattr/setxattr.h
M libc/test/src/sys/xattr/CMakeLists.txt
R libc/test/src/sys/xattr/flistxattr_test.cpp
A libc/test/src/sys/xattr/fxattr_test.cpp
R libc/test/src/sys/xattr/listxattr_test.cpp
R libc/test/src/sys/xattr/llistxattr_test.cpp
A libc/test/src/sys/xattr/lxattr_test.cpp
A libc/test/src/sys/xattr/xattr_test.cpp
Log Message:
-----------
[libc] Add the get and set sys/xattr.h entrypoints. (#224729)
This is a follow-up to #224357, implementing more of sys/xattr.h. As
before, these are non-POSIX APIs.
The list of entrypoints is: `fgetxattr`, `getxattr`, `lgetxattr`,
`fsetxattr`, `setxattr`, and `lsetxattr`.
Assisted-by: Automated tooling, human reviewed.
Commit: 5dac0fe905fe71b672d7dca9d78dcdb362d2236d
https://github.com/llvm/llvm-project/commit/5dac0fe905fe71b672d7dca9d78dcdb362d2236d
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/test/InstallAPI/exclusive-passes-platform.test
M llvm/test/ObjectYAML/MachO/export_trie_lc_dyld_exports_trie.yaml
M llvm/test/ObjectYAML/MachO/export_trie_lc_dyld_info_only.yaml
M llvm/test/ObjectYAML/MachO/function_starts.yaml
M llvm/test/tools/llvm-readobj/COFF/codeview-merging-ghash.test
M llvm/test/tools/llvm-tli-checker/ifuncs.yaml
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
Log Message:
-----------
[test] Use -o <file> for yaml2obj (#226245)
`-o <file>` is the preferred form. Prepare for the OptTable migration of
yaml2obj, where -o=<file> is no longer accepted.
Commit: becb38d14dafea1ebaf446b9c2f8f8c31fe335e8
https://github.com/llvm/llvm-project/commit/becb38d14dafea1ebaf446b9c2f8f8c31fe335e8
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/tools/split-file/help.test
M llvm/utils/gn/secondary/llvm/utils/split-file/BUILD.gn
M llvm/utils/split-file/CMakeLists.txt
A llvm/utils/split-file/Opts.td
M llvm/utils/split-file/split-file.cpp
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[split-file] Migrate to OptTable (#224966)
split-file is one of three tools that parse with
cl::ParseCommandLineOptions(LongOptionsUseDoubleDash=true). Parse its
options with an OptTable instead, so that the mode can be removed from
cl::. --no-leading-lines now overrides an earlier --leading-lines
rather than being ignored, and `--help` lists only split-file's
options. `--version` still exits 0, which libc++'s test configuration
relies on to detect the tool.
LLM-aided
Commit: 0b2b0cca1214db3f0e1d34033594cb36a3faed7f
https://github.com/llvm/llvm-project/commit/0b2b0cca1214db3f0e1d34033594cb36a3faed7f
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/tools/obj2yaml/help.test
M llvm/tools/obj2yaml/CMakeLists.txt
A llvm/tools/obj2yaml/Opts.td
M llvm/tools/obj2yaml/obj2yaml.cpp
M llvm/utils/gn/secondary/llvm/tools/obj2yaml/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[obj2yaml] Migrate to OptTable (#224965)
obj2yaml is one of three tools that parse with
cl::ParseCommandLineOptions(LongOptionsUseDoubleDash=true). Parse its
options with an OptTable instead, so that the mode can be removed from
cl::. Spellings follow the other migrated tools: -o<file> and -o <file>,
--raw-segment=<segment> and --raw-segment <segment>, -h/--help and
--version. `--help` lists only obj2yaml's options.
LLM-aided
Commit: 06d67477d57a07fdbc40742678136369b725933f
https://github.com/llvm/llvm-project/commit/06d67477d57a07fdbc40742678136369b725933f
Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait.mlir
M mlir/test/Target/LLVMIR/omptarget-region-llvm.mlir
A mlir/test/Target/LLVMIR/omptarget-target-data-source-loc-nodebug.mlir
A mlir/test/Target/LLVMIR/omptarget-target-region-source-loc-nodebug.mlir
A mlir/test/Target/LLVMIR/omptarget-target-region-source-loc.mlir
Log Message:
-----------
[Flang][OpenMP][MLIR] Attach source location to target/target-data runtime c… (#222389)
…alls
This commit adds ident info to the OpenMP target call so the runtime now
reports the kernels source location in -g and non -g builds
Of note this does diverge from clang where the file info is only
provided with `-g` builds, however similar work is done in
`createMappingInformation` in
`mlir/lib/Target/LLVMIR/Dialect/OpenMPCommon.cpp`.
Commit: 666f22b6aa5b449bc5a4f2348f912faa1012909b
https://github.com/llvm/llvm-project/commit/666f22b6aa5b449bc5a4f2348f912faa1012909b
Author: Chris B <chris.bieneman at me.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
A llvm/test/CodeGen/SPIRV/structurizer/branch-no-switch.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.for.short-circuited-cond.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.while.short-circuited-cond.ll
Log Message:
-----------
[SPIRV] Support structurizing nested break chains (#222459)
This PR updates the SPIRVStructurizer to handle nested break chains.
This pattern occurs when switch statements are lowered instead as branch
instructions and break statements need to exit out to an outer
containing block.
This is a required change to support #112056.
Assisted-by: GitHub Copilot
Commit: f676944065576ceba42691edeba053898b57c1bf
https://github.com/llvm/llvm-project/commit/f676944065576ceba42691edeba053898b57c1bf
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Use BoUpSLP::getNumberOfParts() where appropriate (#225995)
Caches the results for better performance rather than directly calling
slpvectorizer::getNumberOrParts().
Small improvement in compile time.
Commit: dcef585fd51c423acb1175bdeea8c5a3ed05b7cd
https://github.com/llvm/llvm-project/commit/dcef585fd51c423acb1175bdeea8c5a3ed05b7cd
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/execution-frequencies-match-bfi.ll
Log Message:
-----------
[VPlan] Compute execution probability via APFloat for printing. (#226135)
Similar to #201824 (8e517e1d17b1), use APFloat to compute the execution
probability. This ensures the output is independent of the underlying
libc/OS/architecture.
Suggested in https://github.com/llvm/llvm-project/pull/203982.
Commit: 4584e4bb15bb8bf0c1c190b3cbe85908bcc2a56e
https://github.com/llvm/llvm-project/commit/4584e4bb15bb8bf0c1c190b3cbe85908bcc2a56e
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/MapFile.cpp
M lld/MachO/Relocations.cpp
M lld/MachO/Symbols.cpp
M lld/MachO/Symbols.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
M lld/test/MachO/arm64-reloc-tlv-load.s
M lld/test/MachO/flat-namespace-interposable.s
A lld/test/MachO/got-to-tlv-reference.s
M lld/test/MachO/indirect-symtab.s
R lld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s
R lld/test/MachO/invalid/bad-got-to-tlv-reference.s
M lld/test/MachO/map-file.s
M lld/test/MachO/tapi-link.s
M lld/test/MachO/tlv-dylib.s
A lld/test/MachO/tlv-dynamic-lookup-x86.s
A lld/test/MachO/tlv-dynamic-lookup.s
A lld/test/MachO/tlv-non-lazy-pointer.s
M lld/test/MachO/weak-binding.s
M lld/test/MachO/weak-reference.s
Log Message:
-----------
[lld][MachO] Remove `__thread_ptrs` section so TLV can relocate against dynamic-lookup symbols (#221364)
lld/MachO rejects a relocation whenever `hasAttr(TLV) != sym->isTlv()`, but
`isTlv()` cannot separate "not thread-local" from "unknown", so that one
inequality rejects three unrelated cases and only one of them is ill-formed.
C++20 `constinit` made another of them common: it lets the compiler elide the
thread-local wrapper and access a cross-TU object directly ([folly 2c666105](https://github.com/facebook/folly/commit/2c666105e9a694aef7290cce3da14ed1ebf14462)),
producing a TLV relocation against a dynamic-lookup symbol. The check was also
masking a defect — `Symbol::gotIndex` is one field indexing whichever of `__got`
or `__thread_ptrs` holds the symbol — and never enforced it anyway, since
`UnwindInfoSection` and the stub paths call `in.got->addEntry` directly, so a
thread-local personality already collided on stock lld.
Both pools hold the same value, the descriptor's address, and ld-prime never
synthesizes `__thread_ptrs` at all. Make `__got` the sole non-lazy pointer
section, deleting `TlvPointerSection`, `NonLazyPointerSectionBase`,
`in.tlvPointers`, `Symbol::getTlvVA` and the indirect-symbol-table
special-casing, and collapsing `resolveGotVA`/`resolveTlvVA` into
`resolveNonLazyPtrVA`. One section, one index, so the collision becomes
unrepresentable. Input objects with a real `__thread_ptrs` section still pass
through unchanged.
The check can now say what is actually wrong: TLV relocations against
dynamic-lookup symbols and GOT, branch or unsigned relocations against
thread-locals are accepted; a TLV relocation against a symbol known not to be
thread-local still errors, and a direct relocation against an imported
thread-local gets its own diagnostic. Two tests asserted a diagnostic ld64 does
not raise, so they keep their inputs, move out of `invalid/`, and assert the new
behaviour.
Commit: 915c3bd9d4659165e1b4bb4a13204d559592b1c0
https://github.com/llvm/llvm-project/commit/915c3bd9d4659165e1b4bb4a13204d559592b1c0
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
A llvm/test/Transforms/InstCombine/extractelement-strided-ptr-vector.ll
Log Message:
-----------
[InstCombine] Fold variable extract of a constant-strided pointer vector (#217078)
A vector built from pointers that all point into the same object at a
constant stride is a table of addresses, so a variable extract from it
is address arithmetic:
%v0 = insertelement <4 x ptr> poison, ptr %b, i64 0
%v1 = insertelement <4 x ptr> %v0, ptr %b + 8, i64 1
%v2 = insertelement <4 x ptr> %v1, ptr %b + 16, i64 2
%v3 = insertelement <4 x ptr> %v2, ptr %b + 24, i64 3
%r = extractelement <4 x ptr> %v3, i32 %i
-->
%r = getelementptr i8, ptr %b, i64 %i * 8
Fold it to a single GEP. Every element must be reachable from one base
pointer at a constant byte offset, every lane of the vector must be
defined, and the offsets must form an arithmetic sequence; otherwise the
pattern is left alone.
Commit: 606e2acdd1cd869831600b001d76dbe123e80e2c
https://github.com/llvm/llvm-project/commit/606e2acdd1cd869831600b001d76dbe123e80e2c
Author: Colin De Vlieghere <cdevlieghere at tesla.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/test/Dialect/ControlFlow/one-shot-bufferize-analysis.mlir
Log Message:
-----------
[mlir][bufferization] Relax happens-before analysis (#223777)
On unstructured control-flow, the one-shot analysis is rather
conservative in regards to computing RaW conflicts, requiring strict
dominance which may not always be satisfied.
Relax this requirement to allow more cases to not be marked as
conflicting. Notably, readers/writers within a region that contains a
"diamond" or multiple loops are now handled.
This is a simpler version of
https://github.com/llvm/llvm-project/pull/223006 without the CFGLoopInfo
analysis, meaning it is a bit more conservative when analyzing regions
with nested loops.
Commit: 6ca0abd3c4da280402f72488c2dc0ef0b8455de9
https://github.com/llvm/llvm-project/commit/6ca0abd3c4da280402f72488c2dc0ef0b8455de9
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang-tools-extra/docs/conf.py
M clang/docs/analyzer/conf.py
M clang/docs/conf.py
M libc/docs/conf.py
M libcxx/docs/conf.py
M lld/docs/conf.py
M lldb/docs/conf.py
M llvm/docs/ReleaseNotes.md
M llvm/docs/conf.py
M polly/docs/conf.py
M utils/docs/llvm_sphinx/__init__.py
Log Message:
-----------
[docs] Require MyST for Sphinx documentation builds (#223829)
Fedora plans to use the separate llvm_man_pages package that we build as part of our release process now:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840/37
I'm assuming that other distributions are either going to be able to
install the necessary Python modules that we depend on (myst_parser
etc), or will use this man page package if they need it. Therefore, I think we
can remove this enum and associated complexity.
Assisted-by: codex
Commit: 62fd85fe5a008a88d1d00aab468a8779aac4bd0a
https://github.com/llvm/llvm-project/commit/62fd85fe5a008a88d1d00aab468a8779aac4bd0a
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/InterlockedExchange.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedExchange.hlsl
M clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAdd.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAnd.hlsl
A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedExchange.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMax.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMin.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedOr.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedXor.hlsl
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedExchange-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedExchange-sm65-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/InterlockedExchange-errors.hlsl
Log Message:
-----------
[HLSL] Add `InterlockedExchange` function and resource methods (#222161)
This PR adds the `InterlockedExchange` standalone function and resource
methods. The operation lowers to `atomicrmw xchg`.
`InterlockedExchange` is the first interlocked operation that reports
the
previous value. It takes that value through an `original_value`
reference
parameter, so this PR adds a `RequiresOriginalValue` flag to
`HLSLBuiltinTypeDeclBuilder` and a matching overload shape to
`HLSLExternalSemaSource`. The later compare operations reuse both.
The float overload of `InterlockedExchange` follows in a separate PR in
this
stack. This PR covers the integer overloads alone, so it links
https://github.com/llvm/llvm-project/issues/99129 without closing it.
Assisted by: Github Copilot
Commit: 2ed7fafcb06c8c314fc5d88580a93a50e9054d1a
https://github.com/llvm/llvm-project/commit/2ed7fafcb06c8c314fc5d88580a93a50e9054d1a
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-i64-sm65.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture-nonscalar.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture-unsupported-kind.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-unsupported-result.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange.ll
Log Message:
-----------
[DirectX] Support `cmpxchg` on buffer resources in DXIL lowering (#222162)
This PR is a backend change alone. It teaches DXIL lowering to handle a
`cmpxchg` on a buffer resource pointer, which the
`InterlockedCompareStore`
and `InterlockedCompareExchange` PRs above it in this stack need.
The PR adds:
- the `llvm.dx.resource.atomic.compare.exchange` intrinsic,
- its DXIL operation and op lowering,
- the `DXILResourceAccess` handling that turns a `cmpxchg` on a value
returned by `llvm.dx.resource.getpointer` into that intrinsic.
DXIL has no atomic compare exchange for texture resources, so the pass
reports an error for them. A test covers that path.
There is no Clang change here, and no HLSL function becomes available.
Assisted by: Github Copilot
Commit: dd17367613c43e3224289f175b9938c55a7e8bbc
https://github.com/llvm/llvm-project/commit/dd17367613c43e3224289f175b9938c55a7e8bbc
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/test/CodeGen/PowerPC/attr-target-clones.c
M clang/test/Sema/PowerPC/attr-target-clones.c
M llvm/include/llvm/TargetParser/PPCTargetParser.def
M llvm/include/llvm/TargetParser/PPCTargetParser.h
M llvm/lib/TargetParser/PPCTargetParser.cpp
Log Message:
-----------
[FMV][AIX] Implement target_clones part 2 (target-features) (#206786)
This is part 2 (of 2) of FMV on AIX that would allow specifying
target-feature strings on the ``target_clones`` attribute. Part 1 was in
#177428.
The list of attributes supported is a subset of the attribute accepted
on the `target` attribute on AIX, specifically those that are runtime
detectable via the `__builtin_cpu_supports` builtin.
---------
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Commit: 08ee0ef5da10d27d5776df1e1ff81c46a38d9b5c
https://github.com/llvm/llvm-project/commit/08ee0ef5da10d27d5776df1e1ff81c46a38d9b5c
Author: satyanarayana reddy janga <satyajanga at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/ObjectContainer/CMakeLists.txt
A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/CMakeLists.txt
A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/ObjectContainerClangOffloadBundle.cpp
A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/ObjectContainerClangOffloadBundle.h
M lldb/source/Symbol/ObjectFile.cpp
M lldb/unittests/ObjectContainer/CMakeLists.txt
A lldb/unittests/ObjectContainer/ObjectContainerClangOffloadBundleTest.cpp
Log Message:
-----------
[lldb] Add plugin for Clang offload bundle object container (#222362)
## Summary
Clang supports embedding binaries using the clang offload bundler:
https://clang.llvm.org/docs/ClangOffloadBundler.html
This patch creates an ObjectContainer plug-in that allows us to get the
contained binaries within any executable.
### why we need this?
AMD/HIP host binaries may contain a .hip_fatbin section holding a Clang
offload bundle with one or more AMDGPU ELF code objects, typically for
different GPU architectures. Each ELF code object can contain multiple
ml kernels.
### Test
Added tests for the logic.
NOTE: Caching was intentionally left out to keep the upstream initial
implementation simple; i will add it as a followup.
---------
Co-authored-by: Greg Clayton <gclayton at fb.com>
Co-authored-by: Bar Soloveychik <barsolo at meta.com>
Co-authored-by: Bar Soloveychik <barsolo at fb.com>
Commit: 4ebb19efe952ded7f9d937731418baf3b28babd0
https://github.com/llvm/llvm-project/commit/4ebb19efe952ded7f9d937731418baf3b28babd0
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M llvm/test/tools/yaml2obj/help.test
M llvm/tools/yaml2obj/CMakeLists.txt
A llvm/tools/yaml2obj/Opts.td
M llvm/tools/yaml2obj/yaml2obj.cpp
M llvm/utils/gn/secondary/llvm/tools/yaml2obj/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[yaml2obj] Migrate to OptTable (#224964)
yaml2obj is one of three tools that parse with
cl::ParseCommandLineOptions(LongOptionsUseDoubleDash=true). Parse its
options with an OptTable instead, so that the mode can be removed from
cl::. Spellings follow the other migrated tools: -D<macro>=<v> and
-D <macro>=<v>, -o<file> and -o <file>, --docnum=<n> and --docnum <n>,
--max-size likewise, -E, -h/--help and --version. `-o=<file>` is no
longer accepted; the tests that used it are updated. `--help` lists
only yaml2obj's options.
LLM-aided
Commit: d869b1001e5750d9bc7de3e9e4e2adddcdf547c5
https://github.com/llvm/llvm-project/commit/d869b1001e5750d9bc7de3e9e4e2adddcdf547c5
Author: Yusra Syeda <99052248+ysyeda at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Log Message:
-----------
[SystemZ] Fix zero length PR section for zero size BSS globals (#225863)
PR sections must have a non zero length. This was already handled for
ADA sections via requiresNonZeroLength(), but not for BSS globals
declared with zero size. This change extends the existing inflation to
also cover BSS PR sections.
---------
Co-authored-by: Yusra Syeda <yusra.syeda at ibm.com>
Commit: 7d16aafe51fdbf03da4cf08c7785d91faecc0d27
https://github.com/llvm/llvm-project/commit/7d16aafe51fdbf03da4cf08c7785d91faecc0d27
Author: Jonathan Cohen <joncoh at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators.ll
Log Message:
-----------
[AArch64] Fix accumulator chain opcode for SABAv2i32 (#226062)
A typo in `AArch64InstrInfo::getAccumulationStartOpcode` caused
`SABAv2i32` to be matched instead of `SABDv2i32`.
Fixes #225984
Commit: 67005b724c917e1bdca50c82ecaa1b21a69244ed
https://github.com/llvm/llvm-project/commit/67005b724c917e1bdca50c82ecaa1b21a69244ed
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-24 (Thu, 24 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
M llvm/test/Transforms/PhaseOrdering/AArch64/scalarize-load-ext-extract.ll
M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
M llvm/test/Transforms/SLPVectorizer/ARM/extracted-subfields-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduce-or-bitpack.ll
Log Message:
-----------
[SLP]Model gathers of extracted integer sub-fields as bitcast+permute+ext
Emit gathered zero-extended sub-fields of one wider integer scalar as a
bitcast to the field vector plus a permutation and an extension, instead
of an insertelement chain or a splat-shift+trunc tree.
Fixes #55693
Assisted-by: Cursor
Reviewers: RKSimon, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/224919
Commit: 01278da5ac2621f25d73654486791993a2f26f9f
https://github.com/llvm/llvm-project/commit/01278da5ac2621f25d73654486791993a2f26f9f
Author: Lucas Mellone <github.snugness349 at passinbox.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-check-generated-files.yml
Log Message:
-----------
[libc++] Bump Ubuntu version back to 26.04 and remove Install Dependencies step for Generated Files check (#226219)
Updates the version for Ubuntu to 26.04 and removes Install Dependencies
step for Generated Files check, since clang-format wasn't needed in that
job.
Commit: c9343d674eda6cd406154e39cb0b2f0f645fc9a5
https://github.com/llvm/llvm-project/commit/c9343d674eda6cd406154e39cb0b2f0f645fc9a5
Author: Minsoo Choo <minsoo at minsoo.io>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
Log Message:
-----------
[lldb][FreeBSDKernel] Trust forced kernel module load addresses (#224856)
ProcessFreeBSDKernelCore explicitly selects this dynamic loader after
libkvm establishes the kernel section load addresses. Use that supplied
module and its target load address instead of requiring an ELF header at
the runtime kernel base, since ppc64, ppc64le, and riscv on FreeBSD do
not map file headers there.
Assisted-by: GPT
Commit: 4938b4832d5bc2e405f8f61fa5e60837bc8d896f
https://github.com/llvm/llvm-project/commit/4938b4832d5bc2e405f8f61fa5e60837bc8d896f
Author: Minsoo Choo <minsoo at minsoo.io>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
Log Message:
-----------
[lldb][FreeBSDKernel] Fix missing num_load_section increment (#224842)
num_load_section should increment when section load address is set by a
fixed slide.
Fixes: b3cc4804d45d6b612ac9b3cc47ebbb0da44ebc60
Commit: 8267555e8a7cbe000f1e25c484635162c1420239
https://github.com/llvm/llvm-project/commit/8267555e8a7cbe000f1e25c484635162c1420239
Author: Minsoo Choo <minsoo at minsoo.io>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
Log Message:
-----------
[lldb][FreeBSDKernel] Update kernel/kmod ELF type (#224847)
In FreeBSD, kernel and kmod are not always `ET_EXEC`/`ET_DYN`. A few
exceptions exist:
- amd64's kmod is `ET_REL`
- ppc64 and ppc64le's kernel is `ET_DYN`
Reflect these in code that identifies if module is kernel, kmod, or
relocatable object.
Fixes: b3cc4804d45d6b612ac9b3cc47ebbb0da44ebc60
Commit: bae129c2aa96ea9258b6718191690665ed969a0c
https://github.com/llvm/llvm-project/commit/bae129c2aa96ea9258b6718191690665ed969a0c
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A llvm/docs/AlignedBundling.md
R llvm/docs/AlignedBundling.rst
A llvm/docs/BlockFrequencyTerminology.md
R llvm/docs/BlockFrequencyTerminology.rst
A llvm/docs/BranchWeightMetadata.md
R llvm/docs/BranchWeightMetadata.rst
A llvm/docs/BugLifeCycle.md
R llvm/docs/BugLifeCycle.rst
A llvm/docs/CIBestPractices.md
R llvm/docs/CIBestPractices.rst
A llvm/docs/CodeReview.md
R llvm/docs/CodeReview.rst
A llvm/docs/ConvergenceAndUniformity.md
R llvm/docs/ConvergenceAndUniformity.rst
A llvm/docs/ConvergentOperations.md
R llvm/docs/ConvergentOperations.rst
A llvm/docs/DependenceGraphs/index.md
R llvm/docs/DependenceGraphs/index.rst
A llvm/docs/FaultMaps.md
R llvm/docs/FaultMaps.rst
A llvm/docs/FuzzingLLVM.md
R llvm/docs/FuzzingLLVM.rst
A llvm/docs/GetElementPtr.md
R llvm/docs/GetElementPtr.rst
A llvm/docs/GitBisecting.md
R llvm/docs/GitBisecting.rst
A llvm/docs/GitHubActionsRunners.md
R llvm/docs/GitHubActionsRunners.rst
A llvm/docs/GwpAsan.md
R llvm/docs/GwpAsan.rst
A llvm/docs/HowToAddABuilder.md
R llvm/docs/HowToAddABuilder.rst
A llvm/docs/HowToReleaseLLVM.md
R llvm/docs/HowToReleaseLLVM.rst
A llvm/docs/HowToSetUpLLVMStyleRTTI.md
R llvm/docs/HowToSetUpLLVMStyleRTTI.rst
A llvm/docs/HowToSubmitABug.md
R llvm/docs/HowToSubmitABug.rst
A llvm/docs/HowToUseInstrMappings.md
R llvm/docs/HowToUseInstrMappings.rst
A llvm/docs/InAlloca.md
R llvm/docs/InAlloca.rst
A llvm/docs/InterfaceExportAnnotations.md
R llvm/docs/InterfaceExportAnnotations.rst
A llvm/docs/KernelInfo.md
R llvm/docs/KernelInfo.rst
M llvm/docs/Lexicon.md
A llvm/docs/LoopFusion.md
R llvm/docs/LoopFusion.rst
A llvm/docs/MLGO.md
R llvm/docs/MLGO.rst
M llvm/docs/ScudoHardenedAllocator.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl10.md
Log Message:
-----------
[LLVM][docs] Rename remaining reST docs to Markdown (batch 10) (#223097)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.
The stacked conversion and cleanup is in #223099.
Commit: 780a95c64f186810c24caa1fe66fa7a1dc138f74
https://github.com/llvm/llvm-project/commit/780a95c64f186810c24caa1fe66fa7a1dc138f74
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/docs/AlignedBundling.md
M llvm/docs/BlockFrequencyTerminology.md
M llvm/docs/BranchWeightMetadata.md
M llvm/docs/BugLifeCycle.md
M llvm/docs/CIBestPractices.md
M llvm/docs/CodeReview.md
M llvm/docs/ConvergenceAndUniformity.md
M llvm/docs/ConvergentOperations.md
M llvm/docs/DependenceGraphs/index.md
M llvm/docs/FaultMaps.md
M llvm/docs/FuzzingLLVM.md
M llvm/docs/GetElementPtr.md
M llvm/docs/GitBisecting.md
M llvm/docs/GitHubActionsRunners.md
M llvm/docs/GwpAsan.md
M llvm/docs/HowToAddABuilder.md
M llvm/docs/HowToReleaseLLVM.md
M llvm/docs/HowToSetUpLLVMStyleRTTI.md
M llvm/docs/HowToSubmitABug.md
M llvm/docs/HowToUseInstrMappings.md
M llvm/docs/InAlloca.md
M llvm/docs/InterfaceExportAnnotations.md
M llvm/docs/KernelInfo.md
M llvm/docs/LoopFusion.md
M llvm/docs/MLGO.md
Log Message:
-----------
[LLVM][docs] Finish MyST migration for remaining docs (batch 10) (#223099)
Migration notes:
- Removed accidental blockquotes around lists and code blocks.
- Used `eval-rst` in `ConvergentOperations` because native Markdown
ordered lists only preserve numeric markers.
- Lots of table conversions to different kinds of tables. I tried to use
list-table and pipe tables in the appropriate places.
- Removed local contents directive in `GitHubActionsRunners` because it
caused a Furo warning.
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #223097, which is a standalone commit that
renames *.rst -> *.md before this PR lands for history preservation
purposes.
This was prepared with rst2myst plus LLM-assisted cleanup.
Assisted-by: Codex
Commit: 6dc4a4ba2850369afd537001377fb9d404653d26
https://github.com/llvm/llvm-project/commit/6dc4a4ba2850369afd537001377fb9d404653d26
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
Log Message:
-----------
[lldb][Windows] Cap the loader helper's one-thread timeout at 5s (#226171)
llvm/llvm-project#215593 replaced the 5s cap from
llvm/llvm-project#213010 with `utility-expression-timeout / 2`. The
test suite sets that to 600s, so the `LoadLibrary` helper runs with
every other inferior thread suspended for up to 300s.
A Swift concurrency inferior cannot finish the load single-threaded, so
it waits for the whole budget before the "all threads" retry succeeds.
This fixes test timeouts in swiftlang.
Commit: b0dac3939e1fee6db11876257f2870fd5a26585a
https://github.com/llvm/llvm-project/commit/b0dac3939e1fee6db11876257f2870fd5a26585a
Author: Thomas Köppe <tkoeppe at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
A openmp/runtime/test/affinity/no_leak_with_disabled.c
Log Message:
-----------
[clang] [OpenMP] Memory leaks in OpenMP when affinity is disabled (#225441)
When running with `KMP_AFFINITY=disabled`, there are two places in the
OpenMP codebase that currently leak memory.
Found by the ASAN leak sanitizer.
Commit: 4a6eb1417cafc6361cf49870cf9f0df716e3709a
https://github.com/llvm/llvm-project/commit/4a6eb1417cafc6361cf49870cf9f0df716e3709a
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/wide-load-reduction.ll
Log Message:
-----------
[SLP] Add new test for usage of getRegUsageForType() (#226276)
Creates a large vector reduction where the vector width is larger than
the entire vector register file.
Commit: af516e6391f926cbc81e07a7bb88c95271b08c65
https://github.com/llvm/llvm-project/commit/af516e6391f926cbc81e07a7bb88c95271b08c65
Author: Minsoo Choo <minsoo at minsoo.io>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
Log Message:
-----------
[lldb][FreeBSDKernel] Support cross-architecture FreeBSD kernel cores (#224800)
FreeBSD's kvm_open(3) man page states that a valid resolver is required
to debug non-native kernel images as libkvm needs to map symbol names to
kernel virtual addresses. Since ProcessFreeBSDKernelCore aims to debug
kernel image and core dump from any architectures, pass a valid resolver
to kvm_open2().
Assisted-by: GPT
Commit: d9e8ad1dc8af2c478f9580e95b81f4cd54a9c6b7
https://github.com/llvm/llvm-project/commit/d9e8ad1dc8af2c478f9580e95b81f4cd54a9c6b7
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
Log Message:
-----------
[Hexagon] Use MCRegisterClass::hasSubClassEq in HexagonBitTracker. NFCI. (#226110)
This avoids depending on the exact names of synthesized register classes
(motivated by #225809 which will change some of these) and generally
feels more future-proof.
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: fb6bc7fd73b3881b50453a5ffb52e5c00ae590f1
https://github.com/llvm/llvm-project/commit/fb6bc7fd73b3881b50453a5ffb52e5c00ae590f1
Author: Florian Mayer <fmayer at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
R openmp/runtime/test/affinity/no_leak_with_disabled.c
Log Message:
-----------
Revert "[clang] [OpenMP] Memory leaks in OpenMP when affinity is disabled" (#226292)
Reverts llvm/llvm-project#225441
Commit: f26431d1e224f1e704fc167c2f509e4221e04220
https://github.com/llvm/llvm-project/commit/f26431d1e224f1e704fc167c2f509e4221e04220
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/test/API/macosx/expedited-recent-reads/TestExpeditedRecentReads.py
Log Message:
-----------
[lldb][test] Strip the MTE tag in TestExpeditedRecentReads (#226272)
When the inferior runs with MTE enabled, both heap cases in
`TestExpeditedRecentReads.py` fail at their first stop:
```
AssertionError: [] == [] : the first stop should read the heap buffer from the stub; reads: [0x104da8a00,0x104da8c00)
AssertionError: [] == [] : the first stop should read the heap buffer from the stub; reads: [0x1047acb30,0x1047acb38), [0x1047acb30,0x1047acb38), ...
```
lldb did read the heap buffer. `calloc` returns a pointer with an MTE
tag in its top byte, and lldb strips the tag before it reads memory:
```
(lldb) breakpoint set -p "break here" -f main.c
(lldb) process launch --memory-tagging
...
(lldb) frame variable heap
(Payload *) heap = 0x0b000001005b0b30
(lldb) script v = lldb.frame.FindVariable("heap"); print("GetValueAsUnsigned: 0x%x" % v.GetValueAsUnsigned(0)); print("GetValueAsAddress: 0x%x" % v.GetValueAsAddress())
GetValueAsUnsigned: 0xb000001005b0b30
GetValueAsAddress: 0x1005b0b30
```
Reading `heap->values[0]` then sends `x1005b0a00,200`, which reads the
untagged address. `heap_range` takes the address from
`GetValueAsUnsigned`, which keeps the tag, so `covering` never matches
a read. Use `GetValueAsAddress`, which returns the address with the
non-addressable bits cleared.
Assisted-by: claude
Commit: d01d1da97442654ca837893d46c4b50463473687
https://github.com/llvm/llvm-project/commit/d01d1da97442654ca837893d46c4b50463473687
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/test/API/macosx/expedited-stack-memory/main.c
Log Message:
-----------
[lldb][test] Run TestExpeditedStackMemory's call chain on a new thread (#226248)
`test_memory_reads_when_examining_all_frames_locals` fails on some
machine,
```
AssertionError: 0 not greater than 0 : expected stack memory reads while examining deeper frames' stack-resident locals.
memory reads while examining locals: stack=0 heap=1 other=1 (total=2)
```
In the packet log of one run, lldb stops at dyld's `lldb_image_notifier`
before `main` runs, and reads image info array is on the main thread's
stack,
and lldb reads one cache line (512 bytes) in one go.
Due to the new feature #223417, debugserver keeps this range as a recent
read and sends it again at later stops. At the breakpoint in `func_e`,
`jThreadsInfo` also sends the recent reads, which cover the call chain's
stack by accident, so lldb reads every local on every frame from its
cache
and the walk sends no stack read. That is why test failed.
Run the call chain on a new thread. No stop before the breakpoint reads
that thread's stack, so a recent read cannot cover the frames under
test.
Assisted-by: claude
Commit: 51fe9ce8248d783bb6b3b96fe883dd8cd05642ad
https://github.com/llvm/llvm-project/commit/51fe9ce8248d783bb6b3b96fe883dd8cd05642ad
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86FastISel.cpp
A llvm/test/CodeGen/X86/fast-isel-call-frame-dead-eflags.ll
Log Message:
-----------
X86: Mark the EFLAGS def of the FastISel call frame pseudos dead (#226281)
ADJCALLSTACKDOWN/UP are declared to clobber EFLAGS because they may
expand to a sub/add, but nothing reads the result. SelectionDAG's InstrEmitter
marks the def dead.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 5b47a7c81c5518f5c603a9203a23beed869d00f5
https://github.com/llvm/llvm-project/commit/5b47a7c81c5518f5c603a9203a23beed869d00f5
Author: aokblast <aokblast at FreeBSD.org>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
A llvm/test/Transforms/SCCP/fastmath-flags.ll
Log Message:
-----------
[SCCP] Call correct simplifyBinOp in FP operation (#225992)
This simplify FPOps with correct FMF, which covers non-inlined functions
that can not be simplified by InstComb pass.
Commit: f33b28a6979d6db40096da872befbf923357c322
https://github.com/llvm/llvm-project/commit/f33b28a6979d6db40096da872befbf923357c322
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/Policy.cpp
M lldb/unittests/Utility/PolicyTest.cpp
Log Message:
-----------
[lldb] Consult Policy for expression evaluation capabilities (#225312)
`can_evaluate_expressions`, `can_run_all_threads` and
`can_try_all_threads` have been unused since 3fe311f215d0 added them:
nothing outside `Policy.h` and its unit test ever read them.
Two of them already had a hand-rolled equivalent, though.
`Target::EvaluateExpression` forces single-threaded execution while a
frame provider is active, which is what the two thread capabilities
describe. That check predates them by six weeks (e1cd55879b5f) and the
adoption patch never came back for it. Living in `Target` also means it
only sees expressions that go through `Target`, not the ones coming from
`FunctionCaller` or `IRInterpreter`.
This patch changes that to consult the capabilities where the decision
is actually made: `UserExpression::Evaluate` for
`can_evaluate_expressions`, and `RunThreadPlan` for the other two. The
Target check goes away.
`RunThreadPlan` refuses rather than rewrites. Clearing stop-others asks
for the other threads, and since that option defaults to true, clearing
it is deliberate, so it errors instead of being silently turned back on.
Asking for the all-threads retry is refused the same way. The retry is
still switched off quietly when the caller never asked for it, since
that option defaults to on and so says nothing about intent.
It also checks the thread capabilities in `CreateScriptedExtensionCall`
rather than somewhere frame-provider specific. Not altering the state
you were asked to describe applies to any extension the debugger calls
into, so this increases the scope of the check it replaces: synthetic
children, OS plugin thread lists and scripted thread plans are now
covered too.
Since scripted commands set `UserCanRunDirectly` to true, the
`ScriptedExtensionCall` policy never gets pushed, so these expression
evaluation capabilities are kept and that is the behavior we want: the
user invoked the command directly, so there is no debugger operation
already in flight whose state it could alter.
rdar://176223894
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 590116564fd9045db6a950102dd772e864a6a9fc
https://github.com/llvm/llvm-project/commit/590116564fd9045db6a950102dd772e864a6a9fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/tools/llc/lib/llcdriver.cpp
Log Message:
-----------
llc: Compute the DataLayout from the triple and ABI (#224576)
This is the minimum change to avoid createDataLayout. Future work
will be needed here to really drop use of the ABIName field.
Commit: 4bd5979264ba739f8cb266b90c40e519eb7f3008
https://github.com/llvm/llvm-project/commit/4bd5979264ba739f8cb266b90c40e519eb7f3008
Author: Joe Nash <joseph.nash at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
A llvm/test/CodeGen/AMDGPU/vopd3-f64-opy-last-vgpr-gfx1250.mir
Log Message:
-----------
[AMDGPU] Work around gfx1250 VOPD3 FP64 OPY hazard (#224741)
In a VOPD3 instruction whose OPX is a 64-bit operation, an OPY VGPR
source operand reads back the wrong value when it is the last VGPR the
wave owns.
A wave always owns a whole number of VGPR allocation granules, 16
registers each on gfx1250, so the last VGPR it owns is always the one
just below a granule boundary. Reject a pair whose OPY reads such a
register in checkVOPDRegConstraints, leaving the two components as
separate instructions.
VOPD is only an optimization, so losing a pairing is always safe.
The workaround is gated on a new vopd3-f64-opy-src-hazard subtarget
feature, enabled for gfx1250, gfx1251, gfx1250-strict.
Assisted-by: Claude Code:claude-opus-5
Commit: fed2b1df79fc9e0668093c8e91aaf9b85ce1d5da
https://github.com/llvm/llvm-project/commit/fed2b1df79fc9e0668093c8e91aaf9b85ce1d5da
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/machine-sink-jumptable-edge-split.ll
Log Message:
-----------
[RISCV] Add RUN lines for other code-models and PIC to machine-sink-jumptable-edge-split.ll. NFC (#226235)
Commit: b4fafec40e20f1de3b672f5354529063ef8acc74
https://github.com/llvm/llvm-project/commit/b4fafec40e20f1de3b672f5354529063ef8acc74
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/mvbits-unsigned.f90
Log Message:
-----------
[flang] Convert unsigned MVBITS TO values before arith ops (#226189)
Load TO with its memory type and insert fir.convert to a signless
integer instead of a typed fir.load whose result type does not match the
referent. Mem2Reg otherwise forwards the stored unsigned value into
arith.andi, which only accepts signless integers.
Previously, MVBITS of UNSIGNED lowered TO as:
```
%to = fir.load %addr : !fir.ref<ui8> // result type i8
%and = arith.andi %mask, %to : i8
```
Generic form:
```
%to = "fir.load"(%addr) : (!fir.ref<ui8>) -> i8
```
Commit: d051060325e27aba3536419925f985321e441db9
https://github.com/llvm/llvm-project/commit/d051060325e27aba3536419925f985321e441db9
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/CodeGenCXX/GH176161.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
Log Message:
-----------
[Clang] Re-analyze parenthesized aggregate mem-initializers on instantiation (#224918)
Fixes #176161
Fixes #189005
Fixes #213284
Since #138518, template instantiation keeps a parenthesized aggregate
initialization as a `CXXParenListInitExpr`, but its elements have
already been reverted to their written form (a braced list stays a
braced list, an implicit cast is stripped), so whoever consumes the node
has to redo the initialization from them. Variable initializers,
new-expressions and functional casts do that. `BuildMemberInitializer`
didn't: it took the whole node as one argument, guaranteed elision
accepted it as-is, and the constructor ended up with a member
initializer that was never analyzed. Depending on the shape that's the
`EmitAggExpr` assertion (#176161, #189005), a `0` stored as 32 bits into
a 64-bit field (#213284), a rejected valid array member like `arr(1,
2)`, or a union member silently left uninitialized. Clang 20 handled all
of these. The lambda and local class in #176161 are incidental; a plain
class template reproduces it.
`BuildMemberInitializer` now treats a `CXXParenListInitExpr` the way it
treats a `ParenListExpr` and performs the initialization from the
user-specified elements. Using only those elements (not the trailing
default-member-initializer and value-initialization ones Sema appends)
means they get rebuilt for the instantiated class rather than fed back
in as arguments. This mirrors what #141342 did for variable initializers
and #142988 for new-expressions, and supersedes #213565.
Commit: 482bb48e9dd8c2b69bec4923d94252f88a7bff5e
https://github.com/llvm/llvm-project/commit/482bb48e9dd8c2b69bec4923d94252f88a7bff5e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Log Message:
-----------
[SCEV] Handle PtrToAddrExpr in SCEVLoopGuardRewriter. (#226228)
Adding support for PtrToAddr to loop guard rewriting was missed during
the initial bring-up.
Fixes https://github.com/llvm/llvm-project/issues/225918.
PR: https://github.com/llvm/llvm-project/pull/226228
Commit: ef8d9d19fb232076b7a2070860666a65a2cf563e
https://github.com/llvm/llvm-project/commit/ef8d9d19fb232076b7a2070860666a65a2cf563e
Author: oltolm <oleg.tolmatcev at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M compiler-rt/lib/asan/asan_globals_win.cpp
M compiler-rt/lib/asan/asan_win.cpp
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
M compiler-rt/lib/sanitizer_common/sanitizer_win_defs.h
M compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.cpp
Log Message:
-----------
[compiler-rt] Retain sanitizer callbacks with MinGW GCC (#222711)
MSVC and clang-cl use /include directives emitted by WIN_FORCE_LINK. GNU
tools need an ordinary used relocation instead. Keep the sanitizer
initialization callbacks and ASan DSO registration object reachable when
linking with MinGW GCC.
---------
Co-authored-by: Hannes Domani <ssbssa at yahoo.de>
Commit: 16d88a5e65b141b4ecf7a237c6104e1425a335d9
https://github.com/llvm/llvm-project/commit/16d88a5e65b141b4ecf7a237c6104e1425a335d9
Author: oltolm <oleg.tolmatcev at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M compiler-rt/lib/asan/asan_win.cpp
Log Message:
-----------
[compiler-rt][asan] Use native TLS for TSD on Windows (#222705)
GCC 16 supports native Windows TLS. Use compiler-rt's THREADLOCAL
abstraction for fake_tsd on all compilers instead of spelling the
MSVC-specific storage-class syntax directly. GCC configurations using
emulated TLS remain unsupported.
Co-authored-by: Hannes Domani <ssbssa at yahoo.de>
Commit: 2b8362fe2e2a04c8905d445fb5e7407dda32e742
https://github.com/llvm/llvm-project/commit/2b8362fe2e2a04c8905d445fb5e7407dda32e742
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M libsycl/src/CMakeLists.txt
A libsycl/test/basic/linux-rpath.test
M libsycl/test/lit.cfg.py
Log Message:
-----------
[libsycl] Add $ORIGIN to RPATH for libLLVMSYCL (#224885)
Previously, libLLVMSYCL was built and installed without $ORIGIN set in
RPATH on ELF systems. This resulted in load failures due to failure to
find libLLVMOffload when LD_LIBRARY_PATH was not set. This change adds
$ORIGIN to RPATH both when building libLLVMSYCL in a build tree, and
when installing libLLVMSYCL in an install tree.
Commit: 9c0f5509f959b0d44e2f2395bb5ef8e89eacac0b
https://github.com/llvm/llvm-project/commit/9c0f5509f959b0d44e2f2395bb5ef8e89eacac0b
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][HeuristicResolver] Resolve more dependent member accesses (#223667)
`HeuristicResolver` already falls back to a template parameter's default
argument when there is nothing else it can do with the parameter, but it
only did so when it met the parameter directly. Two common ways of
arriving at one were missed, both of which occur in `std::vector`:
- through a dependent name — libstdc++ has `typedef _Alloc
allocator_type;`, so `std::vector<T>::allocator_type` resolves to a bare
template parameter;
- through the sugar of the member typedef itself, e.g. when it is the
declared return type of a member function.
Neither can be done on a canonicalized type: a canonical
`TemplateTypeParmType` does not retain its `TemplateTypeParmDecl` (see
`ASTContext::getTemplateTypeParmType()`), so there is no default
argument left to consult. The typedef's underlying type as written is
consulted instead.
A separate gap shows up on the same example. A member re-exported from a
dependent base class by a using declaration, such as libstdc++'s `using
_Base::get_allocator;`, is found as an `UnresolvedUsingValueDecl`, which
has no function type of its own, so `resolveTypeOfCallExpr()` could not
determine the type of a call to it. Such a declaration is now resolved
to what it names, using the existing `resolveUsingValueDecl()`.
Together these make code completion work for, for example:
```c++
template <class T> void f(std::vector<T> &v) {
typename std::vector<T>::allocator_type al = v.get_allocator();
al. // now offers std::allocator's members
}
```
Tests are also added for cases the heuristic does not get right, so that
they are recorded and will be noticed if that ever changes: a parameter
whose default argument is not the one we end up looking at, because
looking a name up in a base class's primary template discards the
arguments the derived class passes to it; and an explicitly provided
template argument being ignored in favour of the default. Tests
asserting that a name does not resolve now state whether that is the
desired behaviour or a limitation worth lifting.
Commit: 2cd5243774ef4d825d7118b39ec1085d39a7bbe7
https://github.com/llvm/llvm-project/commit/2cd5243774ef4d825d7118b39ec1085d39a7bbe7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/test/CodeGen/AArch64/constant-pool-partition.ll
M llvm/test/CodeGen/AArch64/jump-table-partition.ll
M llvm/test/CodeGen/X86/global-variable-partition.ll
Log Message:
-----------
[StaticDataLayout] Add option to control the emission of .hot suffix (#226239)
We have not thoroughly studied the impact of separating out lukewarm/hot
data into separate sections. This option gives us a way to consolidate
the sections and enables easy experimentation.
Co-Authored-By: Mingming Liu <mingmingl at google.com>
Commit: 8bff8fbc71f43a1f721aa6403e0e66e913c05395
https://github.com/llvm/llvm-project/commit/8bff8fbc71f43a1f721aa6403e0e66e913c05395
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/test/CodeGen/X86/global-variable-partition-with-dap.ll
M llvm/test/Transforms/PGOProfile/data-access-profile.ll
Log Message:
-----------
[StaticDataLayout] Enable string literal partitioning by default (#225928)
We have started to roll this out internally, so enable it by default
upstream as well. This will enable seamless removal of the flag
internally with respect to our release process.
Commit: 0326d5ca1c402a0295c5115a51a1ba080f94a9c5
https://github.com/llvm/llvm-project/commit/0326d5ca1c402a0295c5115a51a1ba080f94a9c5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/countable-early-exit-no-epilogue.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
Log Message:
-----------
[LV] Add more tests with low trip counts. (NFC) (#226298)
Add additional tests with low trip counts where TC == VF.
Commit: 92289bdbced90ccc9f63da0c7fdaa71879c70964
https://github.com/llvm/llvm-project/commit/92289bdbced90ccc9f63da0c7fdaa71879c70964
Author: Thomas Köppe <tkoeppe at google.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
A openmp/runtime/test/affinity/no_leak_with_disabled.c
Log Message:
-----------
[Clang][OpenMP] Reapply "Memory leaks in OpenMP when affinity is disabled" (#226292) (#226294)
The previous version was applying a compiler flag to the smoke test
that would result in an unrunnable binary on non-ARM platforms. The
intention is for ASAN on ARM to run, and we get that by just not
specifying any flags and relying on the test system to include this
platform.
Commit: f9d25d67d4f7a5b9c37047306a700b234fd6c2c8
https://github.com/llvm/llvm-project/commit/f9d25d67d4f7a5b9c37047306a700b234fd6c2c8
Author: Minsoo Choo <minsoo at minsoo.io>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
Log Message:
-----------
[lldb][FreeBSD] Adopt file_t for closeFile() (#226290)
Fixes: ae82b85123a2271df24ceb28c09a2a0c467c16d5
Commit: 4010c1ac00e25464ecc7e20950cba84edd0e3880
https://github.com/llvm/llvm-project/commit/4010c1ac00e25464ecc7e20950cba84edd0e3880
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[MLIR] Reduce generated assembly printer compile time (NFC) (#225740)
Use fixed arrays for statically elided attributes and combine leading
spaces with literals. Move common operand printing out of generated call
sites and emit sliced operand getters to reduce optimizer work in large
printers.
For omp.target, optimized print IR drops from 3,893 to 2,667
instructions.
Assisted-by: Codex
Commit: a858e5ebb33c3988ac593cefe4593040029169b4
https://github.com/llvm/llvm-project/commit/a858e5ebb33c3988ac593cefe4593040029169b4
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/induction-wrapflags.ll
Log Message:
-----------
[LV] Add tests showing incorrect flags for sub inductions (NFC). (#226301)
Add tests showing incorrect NUW/NSW flags preserved on wide induction
where the induction step uses sub.
Tests for https://github.com/llvm/llvm-project/issues/224024.
Commit: 5e7f66672867f3ccf23baa6156d16ec4541de29b
https://github.com/llvm/llvm-project/commit/5e7f66672867f3ccf23baa6156d16ec4541de29b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ODS] Share generated legacy property splitting (NFC) (#226085)
Route generated legacy builder attributes through an out-of-line helper
that partitions inherent and discardable attributes before converting
properties. This avoids compiling the same loop and error path for every
operation.
Assisted-by: Codex
Commit: 45ea3b957284d8940b109b6b6706f451e9719ef9
https://github.com/llvm/llvm-project/commit/45ea3b957284d8940b109b6b6706f451e9719ef9
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/InterlockedExchange.hlsl
M clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedExchange.hlsl
M clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedExchangeFloat-sm60.hlsl
M clang/test/SemaHLSL/BuiltIns/InterlockedExchange-errors.hlsl
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
A llvm/test/CodeGen/DirectX/LegalizeAtomicExchangeFloat-unsupported-width.ll
A llvm/test/CodeGen/DirectX/LegalizeAtomicExchangeFloat.ll
M llvm/test/CodeGen/DirectX/ResourceAtomicBinOp-texture-nonscalar.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicExchangeFloat.ll
Log Message:
-----------
[HLSL] Add float overload for `InterlockedExchange` (#222163)
This PR adds the float overload of `InterlockedExchange`, and the
`InterlockedExchangeFloat` method on `RWByteAddressBuffer` and
`RasterizerOrderedByteAddressBuffer`.
The HLSL interlocked builtins are declared with a variadic type in
`Builtins.td`, so Clang applies the default argument promotions to their
arguments. That promotion turns a `float` argument into a `double`
before Sema
sees it. The Sema check then rejects the call and names the type as
`'double'`
in the diagnostic, which does not match what the user wrote.
`CustomTypeChecking` suppresses that promotion, so the argument keeps
its
`float` type and the diagnostic names it correctly.
Only the builtins that can see a float argument need the attribute. This
PR
sets it on `__builtin_hlsl_interlocked_exchange` alone. The later float
builtins in this stack set it as they are added. The integer-only
builtins do
not set it, because they never see a float and the promotion cannot
affect
them.
Fixes: https://github.com/llvm/llvm-project/issues/99129
Assisted by: Github Copilot
Commit: 3a4d4104528d44e1bae74464f8a104d7ee86a7ac
https://github.com/llvm/llvm-project/commit/3a4d4104528d44e1bae74464f8a104d7ee86a7ac
Author: Ivan R. Ivanov <iivanov at nvidia.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M offload/include/OpenMP/OMPT/Callback.h
M offload/include/OpenMP/OMPT/Interface.h
M offload/include/device.h
M offload/liboffload/src/OffloadImpl.cpp
M offload/libompaccsupport/PluginManager.cpp
M offload/libompaccsupport/device.cpp
M offload/libomptarget/OffloadRTL.cpp
M offload/libomptarget/OpenMP/OMPT/Callback.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[offload] Extract OMPT out of PluginInterface (#221726)
Some of the OMPT callbacks, namely the device lifetime and image related
ones, lived in the generic PluginInterface even though they are OpenMP
specific. This patch extracts them out to the PluginManager, and removes
some device ID tracking functionality which was only necessary for
OpenMP from PluginInterface. The OpenMP device ID mapping should live
only in libomptarget.
Commit: 16cbe80f1d294451026cc79d25754e98172d4d1f
https://github.com/llvm/llvm-project/commit/16cbe80f1d294451026cc79d25754e98172d4d1f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/i1-divergent-phi-fix-sgpr-copies-assert.mir
M llvm/test/CodeGen/AMDGPU/lower-i1-copies-clear-kills.mir
M llvm/test/CodeGen/AMDGPU/lower-i1-copies-implicit-def-unstructured-loop.mir
M llvm/test/CodeGen/AMDGPU/mmra.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-nested-control-flows.ll
M llvm/test/CodeGen/AMDGPU/si-lower-i1-copies-order-of-phi-incomings.mir
M llvm/test/CodeGen/AMDGPU/si-lower-i1-copies.mir
Log Message:
-----------
AMDGPU: Mark the SCC def dead when merging lane masks (#226282)
The scalar and/or/xor used to merge a lane mask with EXEC clobber SCC,
but nothing reads the result. Avoid depending on later dead flag inference.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 25ba11d9dd3053d82af538e8b2cd7d449dcc867c
https://github.com/llvm/llvm-project/commit/25ba11d9dd3053d82af538e8b2cd7d449dcc867c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/OpDefinition.h
Log Message:
-----------
[mlir] Constant-initialize registered operation hook tables (NFC) (#226320)
Make the generic operation hook accessors constexpr so registered
operation hook tables can be constant-initialized. Keep the table
declared static const to support non-constexpr downstream overrides.
In OpenMPDialect.cpp this removes 72 initialization guards and 10,368
bytes of object text, and saves about 0.56B compiler instructions.
Assisted-by: Codex
Commit: ec32f94a2d5f871624fce2e0c51c4902ee02ec15
https://github.com/llvm/llvm-project/commit/ec32f94a2d5f871624fce2e0c51c4902ee02ec15
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Add -show-jit-result option (#226149)
Add a -show-jit-result option that prints the int result of the JIT'd
main / entry function to stdout as:
JIT result: <return value>
This makes the result of the JIT'd main / entry function FileCheck-able,
and distinguishable from an llvm-jitlink failure.
This will be used in upcoming ORC runtime tests.
Since we don't currently run code under llvm-jitlink in LLVM regression
tests, this commit does not include an LLVM-side test.
Commit: 0d049f14804d436b12d81846de00c45516541f0b
https://github.com/llvm/llvm-project/commit/0d049f14804d436b12d81846de00c45516541f0b
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/AllocationOrder.cpp
M llvm/lib/CodeGen/AllocationOrder.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/unittests/CodeGen/AllocationOrderTest.cpp
Log Message:
-----------
[RegAlloc] Add register allocation anti-hints infrastructure (#218071)
This PR adds a RA anti-hint mechanism. MachineRegisterInfo is extended
to track anti-hints
between vregs to try avoiding to be allocated on the same physical
register. AllocationOrder can
queries these and also allows the target reorder the allocation order
through the new
TargetRegisterInfo::applyRegAllocationAntiHints hook. The default
implementation moves
the anti-hinted registers to the end of the order, so they are only used
as a last option.
## Stack
PR **1/4**. Next: MIR serialization #218073.
Commit: 25485b3c4964ab704e7d4961b67ab2501fedbdbe
https://github.com/llvm/llvm-project/commit/25485b3c4964ab704e7d4961b67ab2501fedbdbe
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-09-24 (Thu, 24 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
M llvm/test/Transforms/SLPVectorizer/RISCV/wide-load-reduction.ll
Log Message:
-----------
[SLP] Use getRegUsageForType() rather than getNumberOfParts() when determining reduction width (#226277)
`getRegUsageForType()` is more appropriate for comparison to total
number of registers. `getNumberOfParts()` is legalization cost based,
but in this situation, we are looking to make sure we don't create
vectors that are widen than the register file can handle.
Commit: 9d90850fe6b01d877a7d7559a097fd4e785b4f5a
https://github.com/llvm/llvm-project/commit/9d90850fe6b01d877a7d7559a097fd4e785b4f5a
Author: Zachary Yedidia <zyedidia at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/docs/LFI.md
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/MCTargetDesc/X86MCLFIRewriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCLFIRewriter.h
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
A llvm/lib/Target/X86/X86LFIRewritePass.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
A llvm/test/CodeGen/X86/lfi-align.ll
A llvm/test/MC/X86/LFI/control-flow-errors.s
A llvm/test/MC/X86/LFI/control-flow.s
Log Message:
-----------
[LFI][X86] Add control-flow rewrites (#210913)
This adds LFI rewrites for control-flow operations. All jumps and
calls are rewritten so that their target is both guaranteed to be within
the sandbox, and at an address that is a multiple of the bundle size.
When combined with bundling, this restricts control-flow to the sandbox
region.
With Intel MPK support, this can provide a complete sandbox. A future
patch will also introduce software-based memory sandboxing so that MPK
is not required for memory isolation.
Commit: 2428c10786f12f8e4e7bffa63b0393c137b031bb
https://github.com/llvm/llvm-project/commit/2428c10786f12f8e4e7bffa63b0393c137b031bb
Author: Greg Clayton <gclayton at fb.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
A llvm/test/tools/llvm-gsymutil/X86/macho-last-symbol-section-end.yaml
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
Improve llvm-gsymutil to set the end address correctly. (#225593)
When converting DWARF in llvm-gsymutil, if the last function info had no
size, it would set it to the end of the valid text ranges. This meant a
symbol could get a larger than necessary size in mach-o files. This
patch will set the address to the minimum of the last TextRanges or the
end of the section that contains the symbol.
Commit: 56e0b9a7d7acb82a2cc4499808277c388b1e4332
https://github.com/llvm/llvm-project/commit/56e0b9a7d7acb82a2cc4499808277c388b1e4332
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
Log Message:
-----------
[mlir][tosa] Use optnone for compliance initialization under HWAsan (#226310)
Similar to #223586, compiling the file is very slow when we enable
HWAsan internally. Mark the constructor with optnone under
LLVM_HWADDRESS_SANITIZER_BUILD to skip expensive optimization and
register allocation passes, bringing compilation time from 10+m to ~30s.
Commit: 73aa0db9662ca7e38337761076a622e8095011af
https://github.com/llvm/llvm-project/commit/73aa0db9662ca7e38337761076a622e8095011af
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A llvm/test/tools/llvm-readobj/ELF/RISCV/eflags-abi.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[RISCV][llvm-readobj] Treat RISC-V float ABI e_flags field as an enum (#226313)
EF_RISCV_FLOAT_ABI is a 2-bit field, not independent flag bits, so
printFlags needs to be told about the mask. Previously a quad-float ABI
object printed "single-float ABI, double-float ABI, quad-float ABI"
instead of just "quad-float ABI".
Co-Authored-By: Claude Sonnet 5 <noreply at anthropic.com>
Commit: eaddb12b0463d9baa048da856c21f50fa9bfc1cf
https://github.com/llvm/llvm-project/commit/eaddb12b0463d9baa048da856c21f50fa9bfc1cf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Make the getJumpTableIndex search more structured. NFC (#226266)
Instead of recursively searching through instructions with certain
opcodes, look for the specific patterns we use for jump tables.
I've added a few TODOs for Zilx and SHXADD_UW.
Commit: 2c6ac60714745ffc338e1b9664d10ec46212185b
https://github.com/llvm/llvm-project/commit/2c6ac60714745ffc338e1b9664d10ec46212185b
Author: Ziliang Zhang <zzl.coding at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
M mlir/test/Dialect/Vector/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][bufferization] Handle disjoint subsets in One-Shot Analysis (#224184)
Teach One-Shot Analysis to ignore RaW conflicts between provably
disjoint subset reads and writes. Trace aliasing reads back to subset
extraction ops to handle alias-only operations such as
tensor.extract_slice.
Add tensor and vector tests for disjoint, overlapping, and unknown
subsets.
Commit: 10e12674cb9c52611d1f3c3c4c92ce43b586b7fe
https://github.com/llvm/llvm-project/commit/10e12674cb9c52611d1f3c3c4c92ce43b586b7fe
Author: Ziliang Zhang <zzl.coding at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Linalg/one-shot-bufferize-analysis.mlir
M mlir/test/Dialect/Linalg/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][bufferization] Support matching permutation maps in Linalg analysis (#226079)
Generalize `LinalgOpInterface::bufferizesToElementwiseAccess` to
recognize participating tensor operands with identical permutation
indexing maps, instead of requiring identity maps.
This enables in-place bufferization after loop interchange. Projected
and mismatching maps, reduction iterators, and sparse operands remain
conservatively rejected.
The tests cover the analysis decision as well as end-to-end
bufferization without an allocation or copy.
Commit: dd3534fd5af15575d0d8dea116740b2abb8f3328
https://github.com/llvm/llvm-project/commit/dd3534fd5af15575d0d8dea116740b2abb8f3328
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
R clang/test/ClangScanDeps/build-session-validation-relocated-modules.c
M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
Log Message:
-----------
[clang][DepScan] Disable relocation checks (#225563)
This internally broke an incremental build. Disable while it gets
investigated.
This is partial revert of cf8597bd3b87
resolves: rdar://188026923
Commit: 051daff864822f9edcb05acb8ccb30852753dfc5
https://github.com/llvm/llvm-project/commit/051daff864822f9edcb05acb8ccb30852753dfc5
Author: geoffreygaren <ggaren at apple.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M clang/docs/analyzer/checkers.md
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
M clang/test/Analysis/Checkers/WebKit/mock-canborrow.h
A clang/test/Analysis/Checkers/WebKit/unborrowed-lambda-captures.cpp
Log Message:
-----------
[WebKit Checkers] Add alpha.webkit.UnborrowedLambdaCapturesChecker (#226288)
Like alpha.webkit.UnborrowedLocalVarsChecker, but for lambda captures.
This checker is pretty restrictive because, unlike a refcounted object,
a lifetime-dependent pointer/reference/view cannot be captured in an
escaping closure at all. Still, we permit capturing in a NOESCAPE
closure.
Commit: 6e687f8dea8825c52fc6f31459dabb0ee0c1d4bd
https://github.com/llvm/llvm-project/commit/6e687f8dea8825c52fc6f31459dabb0ee0c1d4bd
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
A llvm/test/CodeGen/MIR/AMDGPU/register-allocation-antihints-mir-print-parse.mir
Log Message:
-----------
[MIR][AMDGPU] Serialize register allocation anti-hints (#218073)
This PR adds MIR print and parse support for the register allocation
anti-hints through
a per vreg anti-hints: [ .. ] field in the registers: section. The
printer only emits
the anti-hint registers only when the it is non-empty to keep existing
tests unchanged.
## Stack
PR **2/4**. Depends on #218071. Next: Apply Occupancy-Aware allocation
anti-hints #218074.
Commit: 7ee53ccefc851c05f3183b1d2cc5bf811cdb62df
https://github.com/llvm/llvm-project/commit/7ee53ccefc851c05f3183b1d2cc5bf811cdb62df
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
A clang/docs/HLSL/DynamicResources.md
M clang/docs/HLSL/HLSLDocs.md
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Sema/HLSLExternalSemaSource.h
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/hlsl.h
M clang/lib/Headers/hlsl/hlsl_detail.h
A clang/lib/Headers/hlsl/hlsl_resources.h
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
A clang/test/AST/HLSL/DynamicResources-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/matrix-alias.hlsl
A clang/test/CodeGenHLSL/resources/dynamic-resources.hlsl
M clang/test/SemaHLSL/Language/InitLists.hlsl
M clang/test/SemaHLSL/Resources/Textures-SampleCmpLevelZero.hlsl
A clang/test/SemaHLSL/Resources/dynamic-resources-availability.hlsl
A clang/test/SemaHLSL/Resources/dynamic-resources.hlsl
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[HLSL] Add support for dynamic resources (#221103)
Adds support for dynamic resources, also known as bindless or directly
indexed resources. The design is described in
https://github.com/llvm/wg-hlsl/issues/204.
The change adds:
- The `ResourceDescriptorHeap` and `SamplerDescriptorHeap` global
symbols, which expose the Shader Model 6.6 descriptor heaps.
- Internal `hlsl::__detail::heap_resource_info` and
`hlsl::__detail::heap_sampler_info` types, which are produced by
indexing the corresponding descriptor heap. HLSL resource and sampler
types can be implicitly constructed from these values.
- Constructors that accept the corresponding internal heap info type for
all currently implemented resource classes.
- Clang builtins `__builtin_hlsl_resource_handlefromheap` and
`__builtin_hlsl_resource_counterhandlefromheap` for creating resource
and counter handles from descriptor heap indices.
- Sema validation and return-type handling for the new builtins.
For DXIL, the built-in function is lowered to
`llvm.dx.resource.handlefromheap`. For SPIR-V, the built-ins are lowered
to `llvm.spv.resource.handlefromheap` and
`llvm.spv.resource.counterhandlefromheap`.
Fixes #133831
Assisted by GPT 5.6 Sol and Claude Opus 4.8.
Commit: 35f073eb07f641713513fefb1ae4f4a5eb0bc604
https://github.com/llvm/llvm-project/commit/35f073eb07f641713513fefb1ae4f4a5eb0bc604
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.sudot.ll
Log Message:
-----------
[AMDGPU] Fold a constant add/sub into the sudot4/sudot8 accumulator (#225322)
Fold a constant add into the accumulator operand of sudot4 and sudot8
when
clamping is disabled:
```
sudot(a, b, C1, false) + C2 -> sudot(a, b, C1 + C2, false)
```
Subtraction by a constant is canonicalized to addition of its negation.
Commit: 3243453c7b919c155a16e4e70e50d5f8417839d9
https://github.com/llvm/llvm-project/commit/3243453c7b919c155a16e4e70e50d5f8417839d9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-benchmark.yml
M libcxx/utils/ci/lnt/machines.json
M libcxx/utils/ci/lnt/run-benchmarks
M libcxx/utils/test-at-commit
Log Message:
-----------
[libc++] Take the benchmark testing configuration from the test suite (#226267)
Previously, we'd use the testing configuration (the .cfg.in file) from
the checked out test suite for the PR benchmarking, but we'd use the one
from `main` for the historical benchmarking. Since the config file is
logically part of the test suite (just like the rest of the Lit setup),
it makes more sense to take it from the checked-out test suite version.
Commit: 4880e16f73dfc25762a857b9c08ad2bd5c14c8e0
https://github.com/llvm/llvm-project/commit/4880e16f73dfc25762a857b9c08ad2bd5c14c8e0
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
R llvm/test/CodeGen/RISCV/sifive-interrupt-attr-err.ll
M llvm/test/CodeGen/RISCV/sifive-interrupt-attr.ll
M llvm/test/CodeGen/RISCV/sifive-interrupt-frame-flags.ll
A llvm/test/CodeGen/RISCV/sifive-interrupt-frame-pointer.ll
Log Message:
-----------
[RISCV] Support frame pointers in SiFive CLIC preemptible handlers (#221318)
This commit adds frame-pointer support for SiFive CLIC preemptible
handlers by using t0 to save mcause and mepc to dedicated stack slots in
both cases.
Commit: 8c237a2c9f979a7b8716ef1073d3a5a0558d1415
https://github.com/llvm/llvm-project/commit/8c237a2c9f979a7b8716ef1073d3a5a0558d1415
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M .github/workflows/libcxx-benchmark-commit.yml
M .github/workflows/libcxx-pr-benchmark.yml
M .github/workflows/libcxx/build-at-commit/action.yml
Log Message:
-----------
[libc++] Run the PR benchmarking tooling from main (#226278)
Previously, we'd use the workflow file and machines.json from the main
branch, but the rest of the tools (e.g. build-at-commit) would be taken
from the PR head. This patch switches to using the tools from main and
only using the PR head's content for the actual code and benchmarks.
This should make it easier to evolve the tools and the workflow files
without breaking PR benchmarking for people who submit PRs from slightly
outdated bases.
Commit: f119c93418ebd6aa3a95b7346fe3f6c86fba57f7
https://github.com/llvm/llvm-project/commit/f119c93418ebd6aa3a95b7346fe3f6c86fba57f7
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
A lldb/test/Shell/ScriptInterpreter/Python/nested_command_selected_target.test
Log Message:
-----------
[lldb] Use the selected target when the override context is the dummy (#226332)
Commit: f91a3b1bcd7bb69634bc40da1f599daab2aea67c
https://github.com/llvm/llvm-project/commit/f91a3b1bcd7bb69634bc40da1f599daab2aea67c
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M bolt/test/X86/dwarf5-debug-names-skip-forward-decl.s
Log Message:
-----------
[BOLT,test] Add missing pipe in dwarf5-debug-names-skip-forward-decl.s (#226338)
With cl::Grouping, --check-prefix=POSTCHECK parses as -c -h..., so
llvm-dwarfdump prints --help and exits 0, and the checks never run.
Commit: b9123f788eb3e62c5cf18fd7d7b093dd3206b60d
https://github.com/llvm/llvm-project/commit/b9123f788eb3e62c5cf18fd7d7b093dd3206b60d
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/docs/CommandLine.md
M llvm/include/llvm/Support/CommandLine.h
M llvm/lib/Support/CommandLine.cpp
M llvm/unittests/Support/CommandLineTest.cpp
Log Message:
-----------
[Support] Remove cl::Grouping (#224958)
This feature emulates POSIX's grouped short options in a non-perfect
way. https://reviews.llvm.org/D61270 made every single-character
cl::option implicitly group, leading to weird error message for `opt
-foo=bar`: `opt: for the -o option: may not occur within a group!`
Every tool (primarily binutils-style tools) has since migrated to
OptTable,
with llvm-cov gcov the last (#224955).
Delete this feature, which would block TableGen based representation.
LLM-aided
Commit: e9c56af6e91289a9be5604c74309638d685999be
https://github.com/llvm/llvm-project/commit/e9c56af6e91289a9be5604c74309638d685999be
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[GlobalISel] Fix segment size when narrowing G_INSERT (#226275)
When an inserted value starts inside a destination piece, bound the
overlap by the size of the inserted value. Including the offset from the
start of the piece can produce an extract wider than its source.
---------
Co-authored-by: Hongyu Chen <hongchen at nvidia.com>
Commit: 178caae5c39dbf9a03f52f9a3d7edc11d3b02405
https://github.com/llvm/llvm-project/commit/178caae5c39dbf9a03f52f9a3d7edc11d3b02405
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.anti-hints.mir
Log Message:
-----------
[AMDGPU] Apply occupancy-aware register allocation anti-hints (#218074)
This PR overrides applyRegAllocationAntiHints in the SIRegisterInfo so
anti-hints
try to protect against occupancy regression. Changing of the allocation
order is
confined to the vgpr budget of the current occupancy. Reordering is
skipped when
the allocation is near the budget (80% of the target-occupancy vgpr
limit or 95%
of the current occupancy vgpr limit). Below this, the anti-hinted
registers are
moved behind the non-anti-hinted ones within the budget.
## Stack
PR **3/4**. Depends on #218073. Next: Add anti-hints in
GCNPreRAOptimizatioins #218075.
Commit: 007551bacb899a409218574908d96b0633d52018
https://github.com/llvm/llvm-project/commit/007551bacb899a409218574908d96b0633d52018
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[RISCV] Remove getInstSizeVerifyMode override (#226241)
Now that we generate the correct instruction sizes for the compressed
instructions we can remove this function override.
Commit: 3489ea3b567c719f497bfcf83348e27cfd79cdb7
https://github.com/llvm/llvm-project/commit/3489ea3b567c719f497bfcf83348e27cfd79cdb7
Author: Himadhith <hima130602 at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__locale_dir/num.h
M libcxx/include/__locale_dir/support/aix.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/newlib.h
M libcxx/include/__locale_dir/support/no_locale/strtonum.h
M libcxx/include/__locale_dir/support/openbsd.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/src/support/win32/locale_win32.cpp
Log Message:
-----------
[libcxx][locale] Refactor strtonum functions using __str_to_float_c_locale<FloatT> (#222081)
Replace the 3 separate functions `__strtof`, `__strtod` and `__strtold`
with a single template `__str_to_float_c_locale<FloatT>` across
locale_base_api and all platform support headers. Since
`__str_to_float_c_locale<FloatT>` now does not need `__get_c_locale`
argument we can directly call it instead of `__do_strtod`.
This removes `__setAndRestore` from `aix.h` entirely as `__locale_guard`
is now used directly in the template specialisations to switch locales.
`num.h` is updated to call `__locale::__str_to_float_c_locale<T>`
uniformly across the 3 separate `__do_strtod` specialisation calls.
Additionally,
- linux.h, bsd_like.h, newlib.h delegate to the platform's native
`strtof_l`/`strtod_l`/`strtold_l`.
- openbsd.h, no_locale/strtonum.h call bare `strtof`, `strtod` and
`strtold` (no locale needed).
- windows.h, locale_win32.cpp's MSVCRT path inlines the 3 functions and
the non-MSVCRT path exports explicit specialisations from the library.
- Changes `__locale_guard` to take `__locale_t` by value now by removing
`&`.
- Forward declared the `__get_c_locale()` function as it's being used
well before the include.
---------
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 585df631037b5cf8d822b9d6de5abb74cf79d1f4
https://github.com/llvm/llvm-project/commit/585df631037b5cf8d822b9d6de5abb74cf79d1f4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
A lldb/test/Shell/ObjectFile/wasm/data-segment-names.yaml
Log Message:
-----------
[lldb] Index Wasm data segment names by their entry's index (#226302)
ParseNames bounds-checked each data segment name entry's index but wrote
the name to the slot of the loop counter. A name subsection with more
entries than segments wrote past the end of the segment vector, and
entries listed out of order named the wrong segment.
rdar://186890690
Commit: 8e7254831f7793abbad795c203d4f1bbc47929b1
https://github.com/llvm/llvm-project/commit/8e7254831f7793abbad795c203d4f1bbc47929b1
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M orc-rt/include/orc-rt/bedrock/SocketConnector.h
M orc-rt/lib/bedrock/sys/posix/SocketConnector.cpp
M orc-rt/test/unit/CMakeLists.txt
A orc-rt/test/unit/bedrock/SocketConnectorTest.cpp
Log Message:
-----------
[orc-rt] Reject non-socket descriptors in socket:adopt (#226354)
The socket connector now checks with getsockopt(SO_TYPE) that the
descriptor named by a socket:adopt spec is a socket before wrapping it
in a SocketHandle. Non-sockets (pipes, files, etc.) are rejected with an
error and left open. Sockets are claimed after verification so that they
can be closed on error paths (e.g. if GetAttachInfo fails).
Adds SocketConnectorTest.
Commit: 7a732b1ccfbf9694aad53817ebd47d29335590bc
https://github.com/llvm/llvm-project/commit/7a732b1ccfbf9694aad53817ebd47d29335590bc
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M orc-rt/cmake/OrcRTTesting.cmake
A orc-rt/test/regression/README.md
R orc-rt/test/regression/check-rt-process-info.test
R orc-rt/test/regression/darwin/lit.local.cfg
R orc-rt/test/regression/init.test
A orc-rt/test/regression/jit-free-foundations/check-rt-process-info.test
A orc-rt/test/regression/jit-free-foundations/lit.local.cfg
A orc-rt/test/regression/jit-free-foundations/logging/lit.local.cfg
A orc-rt/test/regression/jit-free-foundations/logging/os_log/delivery.test
A orc-rt/test/regression/jit-free-foundations/logging/os_log/lit.local.cfg
A orc-rt/test/regression/jit-free-foundations/logging/os_log/no-printf-output.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/bad-level.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/debug-compiled-out.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/debug-level.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/format.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/level-off.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/lit.local.cfg
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/output-redirect.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/runtime-level.test
A orc-rt/test/regression/jit-free-foundations/ogre-help.test
A orc-rt/test/regression/jit-free-foundations/smoke-check.test
A orc-rt/test/regression/languages/c/lit.local.cfg
A orc-rt/test/regression/languages/c/return-zero.c
R orc-rt/test/regression/linux/lit.local.cfg
M orc-rt/test/regression/lit.cfg.py
R orc-rt/test/regression/logging/lit.local.cfg
R orc-rt/test/regression/logging/os_log/delivery.test
R orc-rt/test/regression/logging/os_log/lit.local.cfg
R orc-rt/test/regression/logging/os_log/no-printf-output.test
R orc-rt/test/regression/logging/printf-backend/bad-level.test
R orc-rt/test/regression/logging/printf-backend/debug-compiled-out.test
R orc-rt/test/regression/logging/printf-backend/debug-level.test
R orc-rt/test/regression/logging/printf-backend/format.test
R orc-rt/test/regression/logging/printf-backend/level-off.test
R orc-rt/test/regression/logging/printf-backend/lit.local.cfg
R orc-rt/test/regression/logging/printf-backend/output-redirect.test
R orc-rt/test/regression/logging/printf-backend/runtime-level.test
A orc-rt/test/regression/object-formats/lit.local.cfg
A orc-rt/test/regression/object-formats/mach-o/arm64/lit.local.cfg
A orc-rt/test/regression/object-formats/mach-o/arm64/return-zero.s
A orc-rt/test/regression/object-formats/mach-o/lit.local.cfg
R orc-rt/test/regression/smoke-check.test
Log Message:
-----------
[orc-rt] Reorganize regression tests, add JIT'd code support (#226356)
Reorganize orc-rt/test/regression so that tests are placed by the
question they ask, rather than by the kind of input they use:
jit-free-foundations/ Tests of runtime facilities that can be
exercised without JIT'd code: ogre's command
line, process info, logging, and (in future)
connection lifecycle.
languages/<language>/ Tests that source-language constructs behave
correctly when JIT'd under the ORC runtime.
object-formats/<format>/<arch>/
Tests that object format features (e.g.
relocations, sections, and directives) are
handled correctly, written in assembly.
A README.md describes where tests should go, and the conventions for
writing them. Existing tests move into jit-free-foundations/, and
init.test is renamed to ogre-help.test to describe what it tests. The
darwin/ and linux/ directories are removed: they contained no tests, and
gated on the host rather than the runtime's target. Tests should gate on
features instead.
Add lit support for compiling and running JIT'd code:
%{jit} Runs its inputs under ogre, with llvm-jitlink as the
controller.
%{ogre} The path to ogre.
%{cc} Compiles C for the runtime's target.
%{cxx} Compiles C++ for the runtime's target.
%{mc} Assembles its input for the runtime's target, using
llvm-mc.
%{cc} and %{cxx} default to clang and clang++ from the LLVM tools
directory, and can be overridden with --param orc-rt-cc=<cc> and --param
orc-rt-cxx=<cxx> to test the runtime against output from other
compilers. %{mc} can't be overridden, so that object format tests always
check the runtime against the same assembler.
Tests that use these substitutions are gated on the llvm-jitlink,
llvm-mc, orc-rt-cc, and orc-rt-cxx features, so they are reported as
unsupported (rather than failing) when the tools aren't available.
clang, llvm-jitlink, and llvm-mc are added to the test dependencies if
they're being built alongside the runtime. Object format tests are also
gated on new target-arch=<arch> and target-object-format=<format>
features, derived from the runtime's target triple.
jit-free-foundations/ removes the %{cc}, %{cxx}, %{mc}, and %{jit}
substitutions, so that tests there can't accidentally depend on JIT'd
code.
Add languages/c/return-zero.c and object-formats/mach-o/arm64/
return-zero.s as the first tests that run JIT'd code, establishing the
pattern for each kind of test. They use llvm-jitlink's -show-jit-result
option to check that the JIT'd main actually ran and returned zero.
Commit: 79443248bd4a8bdb8ecfb0de94fa1e7bfb1b16f6
https://github.com/llvm/llvm-project/commit/79443248bd4a8bdb8ecfb0de94fa1e7bfb1b16f6
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/offload-arch/BUILD.gn
Log Message:
-----------
[gn] port 6bef34a7ebbef (#226362)
Commit: 1777581615ec7a7278b87c0a11445c05e34db066
https://github.com/llvm/llvm-project/commit/1777581615ec7a7278b87c0a11445c05e34db066
Author: Vaisman <vasili.svirski at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/test/Dialect/NVGPU/invalid.mlir
Log Message:
-----------
[mlir][nvgpu] Add negative tests for invalid FP8 warpgroup MMA types (#208047)
Add negative tests for invalid FP8 type combinations in
nvgpu.warpgroup.mma.
FP8 inputs are supported for f16/f32 accumulators, but the verifier
should still reject unsupported combinations such as FP8 accumulators
and mixed FP8/non-FP8 input element types.
Tested:
llvm-lit mlir/test/Dialect/NVGPU/invalid.mlir
Commit: d9635c615c4d7b00c26d7281036bc5cf210d85fb
https://github.com/llvm/llvm-project/commit/d9635c615c4d7b00c26d7281036bc5cf210d85fb
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/TargetParser/BUILD.gn
Log Message:
-----------
[gn build] Port 6bef34a7ebbe (#226366)
Commit: 0ce55c6cfa837dcad4561ca7d5740e7c7cdc5154
https://github.com/llvm/llvm-project/commit/0ce55c6cfa837dcad4561ca7d5740e7c7cdc5154
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Port 9d90850fe6b0 (#226367)
Commit: 045cefb54385763d1159782ea97b95bb34ff2f2b
https://github.com/llvm/llvm-project/commit/045cefb54385763d1159782ea97b95bb34ff2f2b
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
Log Message:
-----------
[gn build] Port d0c787e447e1 (#226368)
Commit: a1c9df8e73402eac4c0b3a467e7876f3c387e408
https://github.com/llvm/llvm-project/commit/a1c9df8e73402eac4c0b3a467e7876f3c387e408
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ABI/BUILD.gn
Log Message:
-----------
[gn build] Port f6e450004591 (#226369)
Commit: 5035ea5e1b16ba89eba76994ef50bdf0ff439840
https://github.com/llvm/llvm-project/commit/5035ea5e1b16ba89eba76994ef50bdf0ff439840
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
Log Message:
-----------
Orc: Compute the JIT DataLayout from the triple and ABI (#226316)
getDefaultDataLayoutForTarget was constructing a throwaway TargetMachine
purely to read back its cached DataLayout. Directly compute it from
the triple and ABI name instead.
Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
Commit: b15daae148e77f1ad2e20990094ddbeb8cc598ac
https://github.com/llvm/llvm-project/commit/b15daae148e77f1ad2e20990094ddbeb8cc598ac
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/scalar_to_vector_v2bf16.ll
Log Message:
-----------
[AMDGPU] Add scalar_to_vector pattern for v2bf16 (#225303)
A target DAGCombine rewrites `v2bf16 = scalar_to_vector` into bitcast(any_extend),
but it only runs at -O1 and above, so at -O0 the node reaches ISel and fails to select.
Add the missing pattern, mirroring the v2f16 one, for both fake-true16 and real-true16.
Fixes: ROCM-31415
Commit: 28cbb0f0a0c4cbf5e732fa74a362e451a648d26b
https://github.com/llvm/llvm-project/commit/28cbb0f0a0c4cbf5e732fa74a362e451a648d26b
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/include/clang/AST/OpenMPClause.h
Log Message:
-----------
[AST] Avoid deprecated implicit `this` capture for C++20; NFC (#226142)
`OpenMPClause.h` contains a lambda with an implicit `this` capture,
which triggers the C++20 deprecation warning in many compilation units
that (transitively) include this header.
Commit: 6f44f333c3572d3ee54cdfdcba9124424b6ad1df
https://github.com/llvm/llvm-project/commit/6f44f333c3572d3ee54cdfdcba9124424b6ad1df
Author: Mian Miftah <mmiftah.duna at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
A llvm/test/Analysis/TypeBasedAliasAnalysis/merge-immutable.ll
Log Message:
-----------
[TBAA] Only keep the immutable flag if both merged tags have it (#225907)
getMostGenericTBAA() can return one of the two tags unchanged, as it
does when both have the same base type and offset. If only that tag has
the immutable flag, the merged access claims that the memory is constant
on both paths. For example, after SimplifyCFG hoists two such loads, GVN
can forward a load across a store to the same location.
Keep the immutable flag only if both tags have it. Otherwise drop just
the flag and keep the rest of the tag.
Commit: cfc320ace31d7a62bfbcdbcb08191d89e8e529cf
https://github.com/llvm/llvm-project/commit/cfc320ace31d7a62bfbcdbcb08191d89e8e529cf
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-non-kernel-declaration.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-all.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/placeholder_escape.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/placeholder_escape.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/placeholder_escape.test
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
[UpdateTestChecks] Escape special characters more consistently (#226203)
The `{{` and `[[` character sequences have special meaning in FileCheck.
Escape these when generating check lines.
We were already doing this for `{{` in analyze tests, where this pattern
occurs e.g. for nested SCEV addrecs. Extend this to `[[`, which occurs
in IR tests due to nested array initializers for globals.
We now need to do this escaping much earlier: `[[...]]` is introduced by
the check line generalization. But even before that, `{{...}}` can be
introduced either via `--replace-value-regex` or via asm scrubbing. So
we perform this escaping right at the start now.
This also updates some AMDGPU LDS tests, which were the motivation for
this change. I've had to manually fix up those check lines one too many
times now...
Commit: 4a63d32442818fd311739ec60c0a31a8e60fe64d
https://github.com/llvm/llvm-project/commit/4a63d32442818fd311739ec60c0a31a8e60fe64d
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/include/llvm/Support/CommandLine.h
M llvm/lib/Support/CommandLine.cpp
M llvm/unittests/Support/CommandLineTest.cpp
Log Message:
-----------
[Support] Remove LongOptionsUseDoubleDash from cl::ParseCommandLineOptions (#226347)
The mode (https://reviews.llvm.org/D61294), in which `-` introduces only
single-character options and `--` long ones, was added for the
binutils-style tools, which have since moved to OptTable. Its last
users, yaml2obj, obj2yaml and split-file, parse with OptTable now.
LLM-aided
Commit: 210e8f1c567bbaa1b2ac8e3fcb11b106e7b4c520
https://github.com/llvm/llvm-project/commit/210e8f1c567bbaa1b2ac8e3fcb11b106e7b4c520
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.load.format.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.store.format.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.store.format.f32.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.format.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.store.format.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.store.format.f32.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.tbuffer.load.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.tbuffer.load.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.tbuffer.store.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.tbuffer.load.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.tbuffer.load.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.tbuffer.store.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/legalize-soffset-mbuf.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-vimage-vsample.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir
Log Message:
-----------
AMDGPU: Mark the SCC def dead in the waterfall loop expansion (#226300)
Commit: 6c6c968398f25c2a56705004f2eb68d21d5de900
https://github.com/llvm/llvm-project/commit/6c6c968398f25c2a56705004f2eb68d21d5de900
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/trunc_unreachable_bb.ll
Log Message:
-----------
[AggressiveInstCombine] Bail out on graph nodes in unreachable blocks (#226383)
TruncInstCombine::run() already skips truncs in unreachable blocks, but
the expression graph of reachable trunc can still be extended into an
unreachable block through a phi incoming value. Dead code may contain an
instruction that is its own operand, and buildTruncExpressionGraph only
breaks cycles at phi nodes, so such a cycle leaves the graph unorderable
and ReduceExpressionGraph asks for the reduced value of a node it has
not built yet.
Solution: Bail out as soon as a graph node is found in an unreachable
block, which extends the existing rule from the trunc itself to the
whole graph.
Fixes #58008.
Commit: 67f685af1b364056fd59fc42841d7f428d46ee1a
https://github.com/llvm/llvm-project/commit/67f685af1b364056fd59fc42841d7f428d46ee1a
Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic.c
A clang/test/CIR/CodeGen/builtin-memcpy.c
M clang/test/CIR/CodeGen/libc.c
M clang/test/CIR/CodeGen/union-copy-move-assignment.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
Log Message:
-----------
[CIR] Lower __builtin_memcpy/mempcpy to cir.libc.memcpy (#225845)
These previously were lowered to a call to undefined memcpy function
which caused link failures when compiled for AMDGPU since there it is
never resolved to a library function.
cir.libc.memcpy is later lowered to llvm.memcpy intrinsic call which
matches classic codegen.
This also adds alignment attributes to cir.libc.memcpy op so resulting
LLVM IR also has them just like LLVM IR produced by the classic codegen
Assisted by: claude
Commit: d9a236056a778276b286d6df818fecc5766603a6
https://github.com/llvm/llvm-project/commit/d9a236056a778276b286d6df818fecc5766603a6
Author: Ralf Jung <post at ralfj.de>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/docs/LangRef.md
M llvm/docs/UndefinedBehavior.md
Log Message:
-----------
LangRef: mention that willreturn can cause time-traveling UB (#214229)
I think with #192992, the only remaining possible source of
time-traveling UB in LLVM are `willreturn` annotations emitted by the
frontend. So let's add a note about that.
I think ideally we'd also say somewhere "UB cannot time-travel except if
you put `willreturn` on a function that has observable behavior", but I
am not sure what would be a good place for that.
Cc @nikic @dtcxzyw @gonzalobg
Commit: fe1f8494628afdd4252fc607d7bccafa2fb64b35
https://github.com/llvm/llvm-project/commit/fe1f8494628afdd4252fc607d7bccafa2fb64b35
Author: Daniel Cederman <cederman at gaisler.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
A clang/test/Driver/print-enabled-extensions/riscv-gaisler-gr765.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add processor definition for GR765 (#225638)
Add support for the GR765 processor from Frontgrade Gaisler.
https://www.gaisler.com/products/gr765
Assisted-by: Codex
Commit: 6a9a95bf0c62cccbffed5b481b40cdbae8a5c959
https://github.com/llvm/llvm-project/commit/6a9a95bf0c62cccbffed5b481b40cdbae8a5c959
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Log Message:
-----------
[Analysis][NFC] Address review comments from PR #213013 (#225800)
Commit: cf8ce56a1f39f9a771d03aeedd9d89475e72a659
https://github.com/llvm/llvm-project/commit/cf8ce56a1f39f9a771d03aeedd9d89475e72a659
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
A llvm/test/CodeGen/X86/regallocfast-implicit-def-live-out.mir
Log Message:
-----------
RegAllocFast: Mark unspilled implicit_def physreg defs dead (#226295)
When a virtual register defined by an IMPLICIT_DEF is live out of the
block, or reloaded below, defineVirtReg deliberately skips the spill.
If there is also no use of the value in the block, the resulting physreg
def has no reader at all, but was left without a dead flag.
This avoids some unnecessary churn between regalloc runs on AMDGPU.
Since RA runs multiple times, missed dead flags in the first RA run get
re-inferred by the later runs which this avoids.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: f131c8c21397e19c439070070348c17cc3ca2112
https://github.com/llvm/llvm-project/commit/f131c8c21397e19c439070070348c17cc3ca2112
Author: ilia-cher <30845429+ilia-cher at users.noreply.github.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/lirp.mir
Log Message:
-----------
[AMDGPU] Use CFG in LIRP tests (#226260)
LIRP tests (llvm/test/CodeGen/AMDGPU/lirp.mir) use live intervals with
gaps and redefinitions.
With added -verify-machineinstrs, current test examples trigger machine
code check failure ("Multiple connected components in live interval").
This PR updates the tests to use CFG (loops with loop-carried vregs)
similar to the real world use cases, to fix the verification, and also
simplifies the tests a bit (using implifit defs and kills).
Test:
```
ninja -C build
ninja -C build check-llvm
./build/bin/llvm-lit -v llvm/test/CodeGen/AMDGPU/lirp.mir
```
Commit: 6bfa1c552ea19edad20a76c773f480175ef58797
https://github.com/llvm/llvm-project/commit/6bfa1c552ea19edad20a76c773f480175ef58797
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/select.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/pselect6.h
M libc/src/sys/select/CMakeLists.txt
M libc/src/sys/select/linux/CMakeLists.txt
A libc/src/sys/select/linux/pselect.cpp
M libc/src/sys/select/linux/select.cpp
A libc/src/sys/select/pselect.h
M libc/test/src/sys/select/CMakeLists.txt
A libc/test/src/sys/select/pselect_test.cpp
Log Message:
-----------
[libc] Implement pselect in sys/select (#226237)
Implement the standard POSIX.1-2008 / POSIX.1-2024 function `pselect` in
`<sys/select.h>`, bringing `<sys/select.h>` to 100% POSIX completion.
Fixes #226195.
Commit: 1306a7839d3eb573ff155fea66ee13e97cabf814
https://github.com/llvm/llvm-project/commit/1306a7839d3eb573ff155fea66ee13e97cabf814
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
Log Message:
-----------
[RISCV] Fix scalable expandload lowering for i8 types (#225141)
This PR adds tests for scalable expandload/compressstore intrinsics, and
also fixes a crash where we tried to query getVectorNumElements on a
scalable vector for i8 element types.
We need to use vrgatherei16 when VLMAX may exceed 255, so compute this
for scalable vectors based off of getRealMaxVLen.
This is in preparation for compress pattern vectorization support in
https://github.com/llvm/llvm-project/pull/214491
Commit: 7bcd6b42a9250baab46ad735d0c4bb4d43e74c37
https://github.com/llvm/llvm-project/commit/7bcd6b42a9250baab46ad735d0c4bb4d43e74c37
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-expandload-compressstore.ll
Log Message:
-----------
[RISCV] Return cost for scalable compressstore/expandload intrinsics (#225143)
The type based cost still needs fixed.
Commit: 74c5a6421b6bb260ef09e6d5f941970ae55629ce
https://github.com/llvm/llvm-project/commit/74c5a6421b6bb260ef09e6d5f941970ae55629ce
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Remove getMaxLMULForFixedLengthVectors. NFC (#226111)
The value can no longer be overridden after
https://github.com/llvm/llvm-project/pull/207312. Now there's nothing
specific about it to fixed vectors, so just inline it.
Commit: f17893d88ac11a34fc26dacd78f18bde2836334b
https://github.com/llvm/llvm-project/commit/f17893d88ac11a34fc26dacd78f18bde2836334b
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/syscall_wrappers/chmod.h
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/chmod_test.cpp
Log Message:
-----------
[libc] Fix chmod syscall arguments and add symlink test (#226144)
Our Linux chmod wrapper had two bugs in how it invoked syscalls:
- the fchmodat syscall only takes three arguments (dfd, filename, mode),
but we were passing four (with a trailing 0 for flags).
- for fchmodat2, we were (mistakenly) passing AT_SYMLINK_NOFOLLOW, even
though chmod is specified to follow symlinks.
I reorder the checks to prefer fchmodat2 (with flags=0) if available,
and otherwise invoke fchmodat with the three arguments it expects.
I also add a test to verify that chmod follows symlinks and updates the
target file's permissions, and that attempting to chmod a dangling
symlink fails with ENOENT.
Assisted-by: Gemini
Commit: 6c5ea9581684f5a819aa1691f30ae410d2a24df4
https://github.com/llvm/llvm-project/commit/6c5ea9581684f5a819aa1691f30ae410d2a24df4
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/LazyValueInfo.h
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Analysis/SimplifyQuery.h
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/FileCheck/FileCheckTest.cpp
Log Message:
-----------
[LLVM] Fix typo "CxtI" (#226137)
LLVM had many instances of both "CxtI" and "CtxI". This patch
standardizes on the latter. I regard the former as a mistake that should
never have spread. In general usage, "ctx" is much more common as an
abbreviation for "context".
Same for "CxtF" and "CxtPhi" which occurred a few times each.
Also fix the few instances of "Cxt" to "Ctx", which was already
overwhelmingly more common.
Commit: b202c00d967c22f5d4d83561024690f1de05bc01
https://github.com/llvm/llvm-project/commit/b202c00d967c22f5d4d83561024690f1de05bc01
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/utils/lit/lit/main.py
M llvm/utils/lit/lit/util.py
A llvm/utils/lit/tests/unit/Histogram.py
Log Message:
-----------
[lit] Include zero-duration tests in the --time-tests histogram (#226132)
`--time-tests` treated an elapsed time of 0 as missing, so they were
omitted from the histogram. That made time-tests.py flaky when FileCheck
expected every test to be listed.
The PR also avoids log(0) when every recorded time is zero.
Fixes
https://github.com/llvm/llvm-project/pull/208444#issuecomment-5805067757.
Commit: 54e14c19be73548fd0c990bc3aac6d9204f3ebf8
https://github.com/llvm/llvm-project/commit/54e14c19be73548fd0c990bc3aac6d9204f3ebf8
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M orc-rt/include/orc-rt/support/Error.h
M orc-rt/test/unit/support/ErrorTest.cpp
Log Message:
-----------
[orc-rt] Make Expected's move operations conditionally noexcept. (#226393)
Expected<T>'s move constructor and move assignment operator are now
noexcept whenever T's storage type is nothrow-move-constructible.
Error's move operations are already noexcept, so this is the only
condition under which moving an Expected can throw.
This allows callables that take Expected<T> by value to be stored in
noexcept-qualified move_only_functions: is_nothrow_invocable includes
the initialization of by-value parameters, which previously used
Expected's potentially-throwing move constructor.
Commit: 0a0e0fa181cf162bcc93be85abf2b1b911027e73
https://github.com/llvm/llvm-project/commit/0a0e0fa181cf162bcc93be85abf2b1b911027e73
Author: yahia <yahia.a.abdrabou at gmail.com>
Date: 2026-09-25 (Fri, 25 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/arpa/inet.yaml
M libc/src/__support/net/CMakeLists.txt
M libc/src/__support/net/address.cpp
M libc/src/__support/net/address.h
M libc/src/arpa/inet/CMakeLists.txt
A libc/src/arpa/inet/inet_pton.cpp
A libc/src/arpa/inet/inet_pton.h
M libc/test/src/arpa/inet/CMakeLists.txt
A libc/test/src/arpa/inet/inet_pton_test.cpp
Log Message:
-----------
Implement inet_pton (#224644)
Implement the `inet_pton` function for `IPV4` and its unit tests.
Assisted-by: gemini
Commit: 1cc5657c4ff663f1284d8a4ba4ef156e4b1664ae
https://github.com/llvm/llvm-project/commit/1cc5657c4ff663f1284d8a4ba4ef156e4b1664ae
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
Log Message:
-----------
[lldb-dap] Create telemetry data only when built with telemetry. (#225785)
I am exploring fuzzing some parts of lldb-dap. but there is a fixed
amount of memory lldb-dap can use before the fuzzing stops to catch
memory leaks.
The telemetry dispatcher always creates telemetry regardless of if lldb
is built with telemetry enabled.
`SBStructuredData::SetFromJSON` adds the telemetry string to the
ConstString pool for every request and grows lldb-dap's memory usage
rapidly.
Commit: 91d5a537b6b2b62eb1d3dbc5c9c358d2d699ff26
https://github.com/llvm/llvm-project/commit/91d5a537b6b2b62eb1d3dbc5c9c358d2d699ff26
Author: Bruno De Fraine <bruno.defraine at globalfoundries.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/CMakeLists.txt
M clang/lib/CIR/CMakeLists.txt
M clang/tools/cir-opt/CMakeLists.txt
Log Message:
-----------
[clang] Drop explicit -Woverloaded-virtual build option (#225359)
Nowadays, Clang and GCC have reasonable (and aligned) default
`-Woverloaded-virtual` warnings when using `-Wall`. Fall back to this
default and omit the more aggressive `-Woverloaded-virtual` warnings
only present in GCC's level 2 mode of the warning.
The motivation for this change is discussed in the following RFC:
https://discourse.llvm.org/t/rfc-drop-explicit-woverloaded-virtual-clang-build-option/91857
Removing the explicit `-Woverloaded-virtual` build option also allows
removing the workaround from e1bd39c.
Commit: 1735c1018def10b48b8bc1c0f6875737ae0fd9da
https://github.com/llvm/llvm-project/commit/1735c1018def10b48b8bc1c0f6875737ae0fd9da
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/test/Instrumentation/SanitizerCoverage/missing_dbg.ll
A llvm/test/Instrumentation/SanitizerCoverage/missing_dbg_stack_depth.ll
Log Message:
-----------
[SanitizerCoverage] Split test (NFC) (#226405)
So these tests can actually be regenerated without heavy manual
editing.
Commit: d9dbd9671c1f2481727a9015d7fa23129a7c396d
https://github.com/llvm/llvm-project/commit/d9dbd9671c1f2481727a9015d7fa23129a7c396d
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/induction-wrapflags.ll
Log Message:
-----------
[VPlan] Only retain NSW when possible in getFlagsFromIndDesc. (#226315)
getFlagsFromIndDesc is used to get the flags to use for wide inductions.
Those are normalized to Adds, with the step negated if the induction
binop is Sub.
Only retain all flags for Add. For Sub, never retain NUW and only keep
NSW if the step is known to not be signed min.
Alive2 Proofs showing incorrect NUW/NSW transfer and transfer of NSW if
step is != signed INT_MIN: https://alive2.llvm.org/ce/z/zGKeZg
Fixes https://github.com/llvm/llvm-project/issues/224024.
Commit: a465ac2be931ec1f21c9807434d59cb3b92d4b06
https://github.com/llvm/llvm-project/commit/a465ac2be931ec1f21c9807434d59cb3b92d4b06
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/lib/AST/APValue.cpp
Log Message:
-----------
[clang][NFC] Use llvm::ListSeparator in APValue::printPretty (#226125)
Instead of the manual `First` flag tracking.
Commit: 81e2e4474b3eb6a06e4269b97c7d33c561a3f14f
https://github.com/llvm/llvm-project/commit/81e2e4474b3eb6a06e4269b97c7d33c561a3f14f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/trip-count13.ll
Log Message:
-----------
[SCEV] Set BTC to zero, if constant max BTC < BECountIfTaken. (#226098)
If ConstantMaxBECount < BECountIfTaken, we know that the backedge is
never taken and BTC is zero.
No changes in
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1426.
The main motivation is to remove another difference between
howManyLessThans
and howManyGreaterThans, which does not have the BECountIfBackedgeTaken
logic and would compute tighter bounds for backedges never taken.
No compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=022fdfa1e5a0b85dc785d30b17be3880768b22dc&to=475eeff40ba520620a406a3f615d660ed7c3eec0&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/226098
Commit: 99b454814e243b4d5f206d9605d3ab5b6e73f4b4
https://github.com/llvm/llvm-project/commit/99b454814e243b4d5f206d9605d3ab5b6e73f4b4
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/test/Instrumentation/InstrProfiling/conditional-counter-updates.ll
Log Message:
-----------
[InstrProfiling] Generate test checks (NFC) (#226409)
Commit: 41165fd5d503b4297cb1033fdeb1688ce0863b68
https://github.com/llvm/llvm-project/commit/41165fd5d503b4297cb1033fdeb1688ce0863b68
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/dag-topological-sort.ll
M llvm/test/CodeGen/X86/load-partial-dot-product.ll
Log Message:
-----------
[DAG] SimplifyMultipleUseDemandedBits - simplify ISD::SCALAR_TO_VECTOR to ISD::POISON if we don't demand 0th element (#225530)
Equivalent fold to SimplifyDemandedBits/SimplifyDemandedVectorElts
Fixes a number of minor regressions from #217185
Commit: d689d0fd01a0ffcfbc1c947ec3a14997f96217d0
https://github.com/llvm/llvm-project/commit/d689d0fd01a0ffcfbc1c947ec3a14997f96217d0
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/test/Instrumentation/DataFlowSanitizer/origin_load.ll
M llvm/test/Instrumentation/DataFlowSanitizer/origin_select.ll
M llvm/test/Instrumentation/DataFlowSanitizer/origin_store.ll
Log Message:
-----------
[DFSan] Generate test checks (NFC) (#226410)
Commit: af8da03a34ba80c310b9253c4cb062fdfdd5a143
https://github.com/llvm/llvm-project/commit/af8da03a34ba80c310b9253c4cb062fdfdd5a143
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M orc-rt/include/orc-rt/bedrock/Session.h
M orc-rt/lib/bedrock/NativeDylibManager.cpp
M orc-rt/test/unit/CommonTestUtils.h
M orc-rt/test/unit/bedrock/SessionTest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCAOverSocketTest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
M orc-rt/tools/ogre/ogre.cpp
Log Message:
-----------
[orc-rt] Make more Session callbacks noexcept. (#226385)
Session's OnDisconnectFn, OnDetachFn, and OnShutdownFn callbacks should
not throw exceptions.
Commit: f4620e36f5d06df795fda3ef4fd421509609ca5a
https://github.com/llvm/llvm-project/commit/f4620e36f5d06df795fda3ef4fd421509609ca5a
Author: Andrew Ng <andrew.ng at sony.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M lld/ELF/MarkLive.cpp
M lld/test/ELF/why-live.test
Log Message:
-----------
[LLD][ELF] Skip symbols to dead mergeable section pieces for --why-live (#226238)
Before this change, `--why-live=*` in "why-live.test" incorrectly prints
`live symbol: b.o:(dead)`.
Commit: 75811754a2e6c846543354358317ee02c32c2ce4
https://github.com/llvm/llvm-project/commit/75811754a2e6c846543354358317ee02c32c2ce4
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/ScalarizeFunctionResult.cpp
Log Message:
-----------
[mlir][Tensor] Stop using `getAttrs()` and only copy discardable call attributes explicitly (#226412)
Preserve discardable metadata when recreating a typed direct call; its
builder supplies the inherent fields.
Part of #155475
Assisted-by: Codex
Commit: 728813099e29e7255e2c4ab7098297ba0eb9b320
https://github.com/llvm/llvm-project/commit/728813099e29e7255e2c4ab7098297ba0eb9b320
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
Log Message:
-----------
[mlir][OpenACC] Stop using getAttrs() and copy function properties separately (NFC) (#226414)
Copy inherent properties and discardable attributes explicitly when
staging a device function.
Part of #155475
Assisted-by: Codex
Commit: 0e232314ca9eda04abe27bc8c7cf7c10666c54c1
https://github.com/llvm/llvm-project/commit/0e232314ca9eda04abe27bc8c7cf7c10666c54c1
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Quant/Transforms/NormalizeQuantTypes.cpp
Log Message:
-----------
[mlir][Quant] Stop using Operation::getAttrs (NFC) (#226413)
Pass raw attributes separately from property storage when recreating an
operation.
Part of #155475
Assisted-by: Codex
Commit: e6115bc07692e0e9e632c88b2b4da99728d2951d
https://github.com/llvm/llvm-project/commit/e6115bc07692e0e9e632c88b2b4da99728d2951d
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
Log Message:
-----------
[AMDGPU] Make setImpSCCDefDead default to true. NFC. (#226406)
In SILowerControlFlow, in helper function setImpSCCDefDead, make
parameter IsDead default to true to match MachineOperand::setIsDead.
Commit: afa81ffa95ca08a20c28d9e9487404ea06a89c55
https://github.com/llvm/llvm-project/commit/afa81ffa95ca08a20c28d9e9487404ea06a89c55
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Log Message:
-----------
[mlir][LLVM] Stop using Operation::getAttrs in custom printers (NCF) (#226418)
At the moment, the assembly format for these operations mixes
discardable and inherent attributes. We should fix it. But for now, stop
using the `getAttrs()` API that is on its way to deprecation.
Part of #155475
Assisted-by: Codex
Commit: 51b1c275718891743493f3ed5d9e54d91a027e2d
https://github.com/llvm/llvm-project/commit/51b1c275718891743493f3ed5d9e54d91a027e2d
Author: John Brawn <john.brawn at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
A llvm/test/Transforms/SROA/load-store-overlap.ll
Log Message:
-----------
[SROA] Pre-split overlapping move slices within a partition (#210061)
When we have an overlapping load and store within an alloca, e.g. due to
a memmove that has been transformed into a load+store by InstCombine,
then currently SROA can't do anything with it. By pre-splitting such
loads and stores we eliminate any overlap between slices and thus SROA
can optimize them.
Commit: 581edb7b4a7cd8a274aec9ea4ce067eae4aaec70
https://github.com/llvm/llvm-project/commit/581edb7b4a7cd8a274aec9ea4ce067eae4aaec70
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
Log Message:
-----------
[mlir][XeVM] Stop using `getAttrs()`: explicitly preserve properties when cloning operations (NFC) (#226420)
Pass raw attributes and serialized properties separately through
OperationState when cloning an operation.
Part of #155475
Assisted-by: Codex
Commit: dc744d9839ca01185a9d19790f0b6bc18361d667
https://github.com/llvm/llvm-project/commit/dc744d9839ca01185a9d19790f0b6bc18361d667
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/test/Fir/fir-ops.fir
A flang/test/Integration/debug-submodule-ancestor.F90
A flang/test/Integration/debug-submodule-nested.F90
M flang/test/Integration/debug-submodule-procedure.F90
A flang/test/Lower/debug-submodule.f90
M flang/test/Transforms/debug-module-submodule-procedure.fir
A flang/test/Transforms/debug-submodule.fir
Log Message:
-----------
[flang][debug] Describe submodules in the debug info (#225852)
A submodule had no presence of its own in the debug info. Everything it
defined was attributed to the module at the root of its ancestry, so a
debugger showed one module per source file, every one of them carrying
the
name and the line of that ancestor, and it listed the variables of a
submodule as if the ancestor had declared them.
This PR describes a submodule in its own right. There are two
independent strands to it, and they meet only in that both decide which
module an entity is scoped in.
## Thread A: describing the submodule
### Recording the ancestry
A submodule is not a first class entity in FIR. It is not mangled into
the name of anything it declares in a way that distinguishes it from a
module, and its own name is unqualified, so nothing downstream could
tell `impl` of
`shapes` from a module called `impl`. Lowering now records the ancestry
on `fir.module_debug_imports`, which it already emits once for every
module and submodule it compiles:
```
fir.module_debug_imports "shapes" { }
fir.module_debug_imports "impl" in "shapes" parent "shapes" { }
fir.module_debug_imports "deep" in "shapes" parent "impl" { }
```
`ancestor_module` is the module at the root, and `parent_module` is the
one directly above, which is that same module for a first level
submodule and a submodule of it otherwise. Both are needed and neither
can be derived from
the other in a unit that compiles the submodule alone. The division
mirrors semantics, which keeps `ModuleDetails::ancestor()` and
`ModuleDetails::parent()` apart for the same reason.
### Naming
DWARF has no way to say that a module entry is a submodule, so the name
has to carry it. The submodule is named after the module at the root of
its ancestry and itself, joined with a `.`, which is what gfortran does:
```
DW_TAG_module DW_AT_name ("shapes.impl")
DW_TAG_module DW_AT_name ("shapes.deep")
```
The standard makes the pair unique among the submodules of a program,
and a `.` cannot appear in a Fortran identifier, so the result can never
be confused with a module that is really called that. A nested submodule
is named after the root and itself, not after the submodule containing
it, so `deep` of `shapes:impl` is `shapes.deep`. That too follows
gfortran, and it keeps the name independent of how deep the nesting
happens to be.
### Importing the parent
Scoping the entities of a submodule at the submodule loses something: a
submodule also has access to everything declared above it, and nothing
in the name of a module entry says so. Each submodule therefore imports
the one
directly above it:
```
DW_TAG_module DW_AT_name ("shapes.impl")
DW_TAG_imported_module DW_AT_import ("shapes")
DW_TAG_module DW_AT_name ("shapes.deep")
DW_TAG_imported_module DW_AT_import ("shapes.impl")
```
A debugger walks that chain up from wherever it is stopped, so an entity
declared anywhere above a submodule is still found by name. This is
again what gfortran emits, down to importing the immediate parent rather
than the root.
The entries hang off the compile unit rather than off any one procedure,
so that a submodule needs a single one however many procedures it holds.
That makes the compile unit name a module that names the compile unit
back, so it
is built as a recursive attribute, the same way a subprogram holding
imported entities already is. A unit that compiles no submodule is
unchanged.
## Thread B: separate module procedures
A separate module procedure is mangled with the module that declares its
interface rather than the submodule that defines it, because that is the
name its callers use:
```fortran
module shapes
interface
module function square(n) result(r) ! declared here
```
```fortran
submodule (shapes) impl
contains
module function square(n) result(r) ! defined here
```
```
DW_AT_linkage_name ("_QMshapesPsquare") ! names shapes, not impl
```
Every other entity of a submodule carries the whole chain in its uniqued
name: `_QMshapesSimplSdeepEdeep_var` names `shapes`, `impl` and `deep`
in turn. A separate module procedure names only the ancestor, so the
submodule defining it is recorded nowhere, and the procedure was
reported as belonging to the ancestor. Lowering now notes that submodule
on the function as `fir.defining_submodule`.
With that, nothing is scoped at the ancestor of a submodule any more,
and `AddDebugInfoPass::markSubmoduleAncestorsDefined` goes away. It
marked the ancestor as defined wherever a submodule was compiled, so
that the entities hanging off it could reach a compile unit; its comment
said it should go once submodules were described in their own right.
## What this looks like in a debugger
Given a module, a submodule defining its procedure, and a program
calling it:
```fortran
module subpar
interface
module subroutine hello()
end subroutine
end interface
end module subpar
```
```fortran
submodule (subpar) subkid
contains
module subroutine hello()
print *, 'hello from submodule'
end subroutine hello
end submodule subkid
```
A breakpoint on the bare name works before and after, but it now reports
where
the procedure really is, and it can be qualified that way too:
| `gdb -batch -ex 'break ...'` | before | after |
| --- | --- | --- |
| `hello` | `in subpar::hello at kid.f90:4` | `in subpar.subkid::hello
at kid.f90:4` |
| `subpar.subkid::hello` | `Function ... not defined.` | `in
subpar.subkid::hello at kid.f90:4` |
| `subpar::hello` | `in subpar::hello at kid.f90:4` | `Function ... not
defined.` |
The last row is the one to note: `break subpar::hello` stops working,
since the procedure is no longer described as belonging to `subpar`
alone. That is a deliberate change rather than a step backwards and
gfortran behaves exactly as this patch does on all three spellings, so
this brings flang into line with it rather than away from it.
The import is what keeps name lookup working from inside a submodule.
Stopped in a procedure of `submodule (par3) kid3`, which uses `pv`, `pk`
and `ptbl` from `par3` and its own `sq`:
```
(gdb) print pv $1 = 1
(gdb) print pk $1 = 5
(gdb) print ptbl $1 = (7, 8, 9)
(gdb) print sq $1 = (9, 8, 7)
```
Fixes https://github.com/llvm/llvm-project/issues/215811
Assisted By: Cursor
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 771af157a35d7342a895a016f87b62b02a54aceb
https://github.com/llvm/llvm-project/commit/771af157a35d7342a895a016f87b62b02a54aceb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
Log Message:
-----------
[flang][CUDA] Stop using Operation::getAttrs in host stubs (NFC) (#226421)
Copy function properties and discardable attributes separately when
creating a host stub.
Part of #155475
Assisted-by: Codex
Commit: fb13f6fa52cbcd501b0dcac128254818e2d24214
https://github.com/llvm/llvm-project/commit/fb13f6fa52cbcd501b0dcac128254818e2d24214
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
Log Message:
-----------
[VPlan] Append recipes created via builder to worklist
(#213900)
The previous PR appended the top most created recipe to the worklist,
and this PR extends it to any other nested recipes that were created,
similar to InstCombine.
This removes the header mask in a good few more places on RISC-V as
measured on SPEC CPU 2017, e.g. for the following loop:
```c
long f(const int *p, const int *q, long n) {
long a = 0, b = 0;
for (long i = 0;; i++) {
if (p[i] && q[i]) { a += i; b += i; }
if (i + 1 == n) break;
}
return a + b;
}
```
Before:
```asm
LBB0_1:
sh2add a4, a3, a0
vsetvli a5, a2, e32, m1, ta, ma
vle32.v v16, (a4)
vmsne.vi v0, v16, 0
sh2add a4, a3, a1
vsetvli zero, zero, e64, m2, ta, ma
vmsltu.vx v16, v10, a5
vle32.v v17, (a4), v0.t
vsetvli zero, zero, e32, m1, ta, ma
vmsne.vi v17, v17, 0
vmand.mm v17, v0, v17
vmand.mm v0, v16, v17
vsetvli zero, zero, e64, m2, tu, mu
vadd.vv v8, v14, v8, v0.t
vadd.vv v12, v14, v12, v0.t
vsetvli zero, zero, e64, m2, ta, ma
vadd.vx v14, v14, a5
sub a2, a2, a5
add a3, a3, a5
bnez a2, .LBB0_1
```
After:
```asm
.LBB0_1:
sh2add a4, a3, a0
vsetvli a5, a2, e32, m1, ta, ma
vle32.v v14, (a4)
vmsne.vi v0, v14, 0
sh2add a4, a3, a1
vle32.v v14, (a4), v0.t
vmsne.vi v14, v14, 0
vmand.mm v0, v0, v14
vsetvli zero, zero, e64, m2, tu, mu
vadd.vv v8, v12, v8, v0.t
vadd.vv v10, v12, v10, v0.t
vsetvli zero, zero, e64, m2, ta, ma
vadd.vx v12, v12, a5
sub a2, a2, a5
add a3, a3, a5
bnez a2, .LBB0_1
```
We can also remove the (X && Y) | (X && !Y) -> X combine, but this is
left for another NFC PR.
Commit: 4b66c9678662933ff13f8362e3a208cbe6284808
https://github.com/llvm/llvm-project/commit/4b66c9678662933ff13f8362e3a208cbe6284808
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SDPatternMatch] Remove MatchContext. NFC (#218372)
This removes the match context templating now that trivial VP nodes are
gone.
`m_Negative` and the other computeKnownBits matchers previously used the
DAG within the match context. But they're now unused after #220527, so
this removes them. Since computeKnownBits is an expensive operation, any
combines in future that need to check the sign should likely call
computeKnownBits outside of the pattern match
Commit: a631bc15c5445e48124a06a884ecf4bf9ec491e2
https://github.com/llvm/llvm-project/commit/a631bc15c5445e48124a06a884ecf4bf9ec491e2
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/docs/LangRef.md
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve-vector-repeat.ll
A llvm/test/Verifier/vector-repeat-intrinsic-invalid.ll
A llvm/test/Verifier/vector-repeat-intrinsic-valid.ll
M llvm/unittests/CodeGen/SelectionDAGNodeConstructionTest.cpp
Log Message:
-----------
[IR][REVEC] Define llvm.vector.repeat intrinsic (#208212)
This intrinsic is used to repeat a <N x Ty> fixed-length vector `vscale`
times to form a <vscale x N x Ty> scalable vector. The patch adds
legalisation support and ISel for AArch64.
This intrinsic is required to support re-vectorisation of fixed-length
vectors to scalable ones, as shufflevector instructions do not support
scalable vectors. Re-vectorisation was discussed in this RFC:
https://discourse.llvm.org/t/rfc-re-vectorisation-to-wider-vectors-in-loopvectorizer/91071
Assisted-by: codex (tests)
Commit: 22312472de3ef8b4c5318da0b527510c5d498ae9
https://github.com/llvm/llvm-project/commit/22312472de3ef8b4c5318da0b527510c5d498ae9
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/docs/LangRef.md
M llvm/lib/IR/Verifier.cpp
M llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
A llvm/test/Verifier/byval-scalable.ll
Log Message:
-----------
[IR] Reject a scalable byval argument in the verifier (#226170)
A byval argument is copied into the caller's frame, and the current
implementation needs the size of that copy at compile time, which a
scalable type does not have. Plain `llc` fails on such IR today, and
SafeStack crashed on it in #182759. Nothing in the tree produces it and
no target needs it yet, so rather than teach SafeStack to step around it
(#225067), disallow it in the LangRef and reject it in the verifier
until the necessary support exists. `isScalableTy()` also covers a
struct with a scalable member.
Fixes #182759.
Commit: ffcb13aadde867aca18819f8716972afaccf124f
https://github.com/llvm/llvm-project/commit/ffcb13aadde867aca18819f8716972afaccf124f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
M llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
Log Message:
-----------
Orc: Move getDefaultDataLayoutForTarget out of line (#226416)
Try to fix link errors with shared library builds.
Commit: 3897817145ffa3204e2593cb0b26c535724221c2
https://github.com/llvm/llvm-project/commit/3897817145ffa3204e2593cb0b26c535724221c2
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
M llvm/test/CodeGen/AArch64/sve-int-arith.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invalid-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-alloca.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
Log Message:
-----------
[AArch64][CostModel] Consider some nxv1 operations as legal (#214471)
This is allowing some operations on vscale x 1 types, namely:
- load/store
- masked load/store
- arithmetic instructions like add/sub/mul
For those, there is already codegen coverage. See e.g.
- llvm/test/CodeGen/AArch64/sve-int-arith.ll
- llvm/test/CodeGen/AArch64/sve-load-store-legalisation.ll
- llvm/test/CodeGen/AArch64/sve-masked-gather.ll
- llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
These types are relevant for enabling REVEC in LoopVectorizer. For
AArch64, the main target there is turning NEON vector sizes into SVE
vector size, i.e. using VF = "vscale x 1". For loops with mixed vector
and scalar types, we'll want to allow vectorising scalar types with such
a VF.
Commit: 55b498466a7b2620d09fcdf1b2300f71a35f6d8b
https://github.com/llvm/llvm-project/commit/55b498466a7b2620d09fcdf1b2300f71a35f6d8b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/EvaluationResult.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBuiltinObjectSize.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
M clang/test/AST/ByteCode/references.cpp
M clang/test/CodeGenCXX/global-init.cpp
M clang/test/SemaCXX/PR19955.cpp
M clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
Log Message:
-----------
[clang][bytecode] Stop relying on `CheckEvaluationResult()` (#186045)
We already have to do a lot of check in `EvaluationResult` ourselves, only to redo some of them on the `APValue` we create. Just do all the checks before creating the `APValue` in the first place.
Commit: 76c1ac4608e9cabf9e27e95094f7cd11dcc8ebcb
https://github.com/llvm/llvm-project/commit/76c1ac4608e9cabf9e27e95094f7cd11dcc8ebcb
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 0a0e0fa (#226400)
This fixes 0a0e0fa181cf162bcc93be85abf2b1b911027e73 (#224644).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=0a0e0fa181cf162bcc93be85abf2b1b911027e73
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: e34e31190233a5733d6b7751160a29e50cd8b41c
https://github.com/llvm/llvm-project/commit/e34e31190233a5733d6b7751160a29e50cd8b41c
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/CodeGen/CGStmtOpenMP.cpp
A clang/test/OpenMP/target_map_address_space_codegen.c
Log Message:
-----------
[clang][OpenMP] Cast by-reference captures to the address space of the captured field (#226229)
Fixes #140069
Sema strips all qualifiers, including the address space, from the type
of a variable captured by an OpenMP region, so the outlined function for
a `target` region takes `int __seg_gs a;` as a plain `int &`, i.e. a
pointer in the default address space. That is the intended model: inside
the region the variable is an ordinary object, and the host's segment
address space means nothing on a device. `GenerateOpenMPCapturedVars`
ignored the captured field's type for by-reference captures though, and
passed the variable's own address. With `map(alloc: a)` that is a `ptr
addrspace(256)` argument for a `ptr` parameter, and emitting the host
fallback call tripped the "Calling a function with a bad signature"
assertion. The same call is emitted on the `omp_offload.failed` path
when offloading targets are given, so this wasn't limited to host-only
compiles.
By-reference captures now convert the address to the type of the
captured field, adding an `addrspacecast` only when the address spaces
differ. On x86 the cast doesn't change the pointer value, so the region
gets the linear address of the object, which is also what the mapping
passes to the runtime and what GCC does for the same code. Captures
whose address already has the right type are untouched.
Commit: c6c8f3006f378079cf2c89e4e4bddc0adb15f8ea
https://github.com/llvm/llvm-project/commit/c6c8f3006f378079cf2c89e4e4bddc0adb15f8ea
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
Log Message:
-----------
Fix Bazel build for aa6b03e (#226426)
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: b7c4b2171d5f4e902dad4b207625bc08c45e8cbf
https://github.com/llvm/llvm-project/commit/b7c4b2171d5f4e902dad4b207625bc08c45e8cbf
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
A llvm/test/Transforms/Attributor/callback-noalias.ll
M llvm/test/Transforms/Attributor/callbacks.ll
M llvm/test/Transforms/OpenMP/parallel_deletion.ll
Log Message:
-----------
[Attributor] Check callback broker argument aliases correctly (#218672)
Fix a bug in AANoAliasCallSiteArgument. AbstractCallSite uses separate
callback argument and broker operand numbers. Example:
```llvm
call void @broker(
ptr @callee, # broker arg 0
ptr %slot, # broker arg 1
ptr %slot # broker arg 2
) !callback !0
define internal void @callee(
ptr align 8 dereferenceable(8) %a, # callback arg 0
ptr align 8 dereferenceable(8) %b # callback arg 1
) {
```
In `mayAliasWithArgument`, `OtherArgNo` is the broker (call-site) arg
number (0, 1 or 2), so it should be compared against
`getCallSiteArgNo()` not `getCalleeArgNo()`. Otherwise it will compare
the argument with itself, and skip some comparisons with other args, and
wrongly infer/fail to infer `noalias`.
Commit: 02f6eaf60dcc3794ed563c0d3953de2d029f024f
https://github.com/llvm/llvm-project/commit/02f6eaf60dcc3794ed563c0d3953de2d029f024f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields.ll
Log Message:
-----------
[SLP]Extract vectorized source of gathered sub-fields
The bitcast emitted for gathered sub-fields used the source scalar
directly, even if it was vectorized and erased, causes the crash,
register the bitcast as an external user of the vectorized source.
Fixes the crash reported in #224919.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/226437
Commit: a98f7ed68ea1cbe43a6786a68c3f9f2e1b9cceb7
https://github.com/llvm/llvm-project/commit/a98f7ed68ea1cbe43a6786a68c3f9f2e1b9cceb7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/test/CodeGen/AMDGPU/si-init-whole-wave.mir
Log Message:
-----------
AMDGPU: Mark SCC def dead in init exec lowering (#226373)
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: a8250aacd1436752d3862005155e611da512710e
https://github.com/llvm/llvm-project/commit/a8250aacd1436752d3862005155e611da512710e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_mul_one.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
Log Message:
-----------
AMDGPU: Mark SCC def dead in wave reduction expansions (#226370)
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 0ebe3a65e87819ff5068f21fb5a6615b3d580e64
https://github.com/llvm/llvm-project/commit/0ebe3a65e87819ff5068f21fb5a6615b3d580e64
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/abs-mul-buildvector-in-loop.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/fma-reduce-regression.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-extract-scale.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/recalc-copyable-deps-on-reorder.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-cost.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop-schedule.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-keep-drop.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-loop-extracts.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-reuse.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-satd.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-store-chain.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/splat-gather-extracts.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/splat-gather-trim-combined.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/splat-gather-trim.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/div-possibly-extended-with-poisons.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/original-inst-scheduled-after-copyable.ll
M llvm/test/Transforms/SLPVectorizer/X86/reassoc-copyable-in-another-entry.ll
M llvm/test/Transforms/SLPVectorizer/X86/reassoc-flattened-copyable-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-copyable-cmp-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-reorder-node-with-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/trimmed-subtree-schedule.ll
Log Message:
-----------
[SLP]Cancel scheduling of the trimmed nodes
The nodes, trimmed during throttling, are not vectorized, but their
bundles were still scheduled by the final scheduling.
Cancel these bundles before the final scheduling, recalculate the
dependencies and schedule their scalars as separate instructions, so
they keep their original order and stay close to their users, which
helps instructions scheduler and save some time for bundles scheduling.
Assisted-by: Cursor
Reviewers: bababuck, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/226268
Commit: 57e112ccb2a509c0e1d36963b187fccdd59566de
https://github.com/llvm/llvm-project/commit/57e112ccb2a509c0e1d36963b187fccdd59566de
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
A llvm/test/Transforms/Util/DeclareRuntimeLibcalls/divmod.ll
Log Message:
-----------
RuntimeLibcalls: Describe register-returning divmod libcall ABIs (#217825)
Teach RuntimeLibcallsInfo::getFunctionTy about the ARM AEABI
(__aeabi_*divmod) and Windows (__rt_*div*) divmod signatures. Currently
the custom lowering to these calls hardcodes the call signature
information, but in the future this should be automatically handled.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 2fe83ee7dc5bb40e2f15e164c21a01bec01c1792
https://github.com/llvm/llvm-project/commit/2fe83ee7dc5bb40e2f15e164c21a01bec01c1792
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/atomicrmw-fadd-04.ll
M llvm/test/CodeGen/SystemZ/cmpxchg-01.ll
M llvm/test/CodeGen/SystemZ/cmpxchg-02.ll
A llvm/test/CodeGen/SystemZ/dead-cc-defs.ll
Log Message:
-----------
SystemZ: Mark unread CC defs dead at build time (#226434)
The custom inserters for the subword atomic pseudos and for probed
allocas, plus the inline stack probe emitted by frame lowering, build
instructions whose CC def is never read. Set the dead flags.
Marking the RISBG32 in the subword cmpxchg loop dead lets MachineSink
move it out of the compare block and into the store block, so it is
skipped when the comparison fails.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 4e50049d9d5b44028c9cca9763f6ceeda1c667fb
https://github.com/llvm/llvm-project/commit/4e50049d9d5b44028c9cca9763f6ceeda1c667fb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/block-should-not-be-in-alive-blocks.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.mir
M llvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
M llvm/test/CodeGen/AMDGPU/i1-copy-from-loop.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
M llvm/test/CodeGen/AMDGPU/loop_break.ll
M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-intervals.mir
M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-variables-update.mir
M llvm/test/CodeGen/AMDGPU/lower-control-flow-other-terminators.mir
M llvm/test/CodeGen/AMDGPU/sgpr-scavenge-fi-stack-id.ll
M llvm/test/CodeGen/AMDGPU/si-lower-control-flow-remove-redundant-block-liveintervals.mir
M llvm/test/CodeGen/AMDGPU/si-lower-control-flow.mir
M llvm/test/CodeGen/AMDGPU/transform-block-with-return-to-epilog.ll
Log Message:
-----------
AMDGPU: Mark the SCC def dead when expanding CF pseudos (#226249)
The control flow pseudos start with dead flags on the implicit scc def,
but did not transfer to the replacement instruction
Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
Commit: 319529bbe0ef99a5262fef91317e1327fa1e8453
https://github.com/llvm/llvm-project/commit/319529bbe0ef99a5262fef91317e1327fa1e8453
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/add_sub_u64_pseudos.mir
Log Message:
-----------
AMDGPU: Mark the SCC def dead when expanding 64-bit scalar add/sub (#226269)
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 01b8b4dfc99e46273b9811cb4663a90c2fb61676
https://github.com/llvm/llvm-project/commit/01b8b4dfc99e46273b9811cb4663a90c2fb61676
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Remove variable only used in assert (#226433)
This caused a buildbot failure after the variable was introduced in #208212
Commit: 0e7fb8bcf11a59d564bf45d0568d528bf1e9bdcf
https://github.com/llvm/llvm-project/commit/0e7fb8bcf11a59d564bf45d0568d528bf1e9bdcf
Author: Dhairyashil R G <dhairyashil25 at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
M mlir/lib/Dialect/Vector/Transforms/VectorMaskElimination.cpp
M mlir/test/Dialect/Vector/eliminate-masks.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Support fixed-size masks in `eliminateVectorMasks` (#221595)
`eliminateVectorMasks` returned immediately unless a `VscaleRange` was
supplied. The TODO above that early return argued the fixed-size case
was unlikely to be useful, because "for fixed-size code dimensions are
all static so masks tend to fold away".
That is only true when the mask operand is constant. When it comes from
an induction variable, which is what tiling produces, the operand is not
constant and no fold removes the mask, even though value-bounds analysis
can prove it all-true. For example, `-canonicalize` leaves this alone:
```mlir
scf.for %i = %c0 to %c1024 step %c4 {
%rem = arith.subi %c1024, %i : index
%mask = vector.create_mask %rem : vector<4xi1>
%v = vector.transfer_read %t[%i], %f0, %mask : tensor<1024xf32>, vector<4xf32>
...
}
```
`%i <= 1020`, so `%rem >= 4` and the mask is all-true.
The algorithm was never scalable-specific; only the bound query was.
This makes `vscaleRange` genuinely optional: without one, the lower
bound is computed with `ValueBoundsConstraintSet::computeConstantBound`
and compared against the mask dimension. Scalable dimensions still need
a range and bail without one, so a fixed-size caller cannot prove a
dimension whose runtime size is `vscale` times the size in the type. The
scalable path is unchanged, and the existing test still passes with its
RUN line untouched.
### Behaviour change for downstream callers
An omitted `vscaleRange` used to make the call a no-op. It now runs the
fixed-size analysis.
No in-tree caller relies on the old meaning, but IREE does call this
unconditionally in `Codegen/Common/GenericVectorization.cpp`, passing
`getDefaultVscaleRange()`, which returns `std::nullopt` for every target
other than AArch64+SVE. For those targets this patch turns a no-op into
live mask elimination. That is the intended benefit, but it is worth
knowing before the next integrate. The added cost is bounded: constant
and `vscale`-multiple operands short-circuit before any analysis, so
only `create_mask` ops with unknown operands pay for a bound query.
### Tests
New `eliminate-masks-fixed-size.mlir`, run through a `fixed-size` option
added to the test pass: two cases that are eliminated (the tiled loop
above, and a dynamic operand bounded by `arith.maxsi`) and three that
are not (an unbounded operand, a lower bound smaller than the mask
dimension, and a scalable dimension with no vscale range). Each negative
was checked to fail for the stated reason, by making the smallest change
that flips it.
Context:
https://discourse.llvm.org/t/rfc-should-vector-transfer-read-write-keep-in-bounds-measurements-on-the-masking-alternative/91649
Assisted-by: Claude
Commit: 675c1cfa5d925232db882942674a40de41654bc5
https://github.com/llvm/llvm-project/commit/675c1cfa5d925232db882942674a40de41654bc5
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PTrueCoalescing.cpp
M llvm/test/CodeGen/AArch64/insert-subvector-res-legalization.ll
M llvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll
M llvm/test/CodeGen/AArch64/masked-srem-scalable.ll
M llvm/test/CodeGen/AArch64/masked-urem-scalable.ll
M llvm/test/CodeGen/AArch64/sve-bf16-combines.ll
M llvm/test/CodeGen/AArch64/sve-bf16-int-converts.ll
M llvm/test/CodeGen/AArch64/sve-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-fpext-load.ll
M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/sve-load-store-legalisation.ll
M llvm/test/CodeGen/AArch64/sve-lsrchain.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop2.ll
M llvm/test/CodeGen/AArch64/sve-shift-trunc-combine.ll
M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vector-absolute-difference.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
Log Message:
-----------
[LLVM][CodeGen] Enable the AArch64PTrueCoalescing pass. (#225830)
Fixes https://github.com/llvm/llvm-project/issues/137040
Commit: 68a9cd31fd277f9f6b8a8ab95e18d00a786e7c12
https://github.com/llvm/llvm-project/commit/68a9cd31fd277f9f6b8a8ab95e18d00a786e7c12
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
A polly/test/ScopInfo/user-assumption-cached-precondition.ll
Log Message:
-----------
[Polly] Detect preconditions of cached user assumption translations (#226204)
`addUserAssumptions` detected preconditions of a user assumption by
checking whether building its condition recorded new assumptions, but
`SCEVAffinator` caches translated expressions, so a precondition shared
with an earlier assumption (e.g. the same truncation) was missed and the
assumption went into the context, removing the runtime check it relied
on. For example, with `__builtin_assume((signed char)n >= 0)` and
`__builtin_assume((signed char)n < 10)`, the `n >= 128` check was
dropped, although `n = 261` satisfies both assumptions. Instead, check
the invalid domain of each assumption, which is also cached, and if it
is non-empty, add the assumption to the defined behavior context as in
#189350.
Assisted-by: Claude (Anthropic)
Commit: 940105295f88426cb85b01b075f44f36a90c12fd
https://github.com/llvm/llvm-project/commit/940105295f88426cb85b01b075f44f36a90c12fd
Author: Sergey Semenov <sergey.semenov at intel.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M .github/workflows/sycl-tests.yml
Log Message:
-----------
[CI][libsycl] Enable -Werror in libsycl precommit testing (#226129)
Commit: 952fa726ae35661f86ea92ed989d0efa36e69c7f
https://github.com/llvm/llvm-project/commit/952fa726ae35661f86ea92ed989d0efa36e69c7f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_len.c
M clang/test/CodeGen/AArch64/sve/len.c
Log Message:
-----------
[clang][AArch64] Consolidate codegen tests for SVE's LEN intrinsics (#226131)
This patch completes the migration of the tests from:
* clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_len.c
to:
* clang/test/CodeGen/AArch64/sve/len.c
`len.c` covers all the cases previously tested by `acle_sve_len.c`.
However, unlike `acle_sve_dup.c`, it was only tested as C. Add `-x c++`
RUN lines to provide the equivalent C++ coverage, including lowering
via CIR.
Commit: f1c5f1e98cac5bf9d688272f2137da992ab005da
https://github.com/llvm/llvm-project/commit/f1c5f1e98cac5bf9d688272f2137da992ab005da
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M orc-rt/include/orc-rt/bedrock/BootstrapInfo.h
M orc-rt/lib/bedrock/BootstrapInfo.cpp
Log Message:
-----------
[orc-rt] Make BootstrapInfo construction noexcept. (#226459)
These methods should never throw.
Commit: df26d549b9115ff7c32b6fb9031250994d0f3515
https://github.com/llvm/llvm-project/commit/df26d549b9115ff7c32b6fb9031250994d0f3515
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Use divmod type signatures from RuntimeLibcallsInfo (#217869)
Start moving towards an API to emit calls from RuntimeLibcallsInfo's
knowledge about the type signature of a function instead of manually
computing an IR type from the EVT of the operation.
Also change the swap of arguments to be based on the libcall impl,
rather than the ABI since it's logically a property of the function
itself.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: dcdeeebef2ef008326211b661cfb81d1d35b4086
https://github.com/llvm/llvm-project/commit/dcdeeebef2ef008326211b661cfb81d1d35b4086
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/LoongArch/pr177863.ll
A llvm/test/CodeGen/X86/vec_setcc-3.ll
Log Message:
-----------
[DAG] SimplifySetCC - adjust setcc result type when peeking through truncates (#226422)
For the "(setcc (trunc x) (trunc y)) -> (setcc x y)" fold with non vXi1
cmp result type, make sure we adjust the type and then trunc/extend it
correctly using BooleanContent.
Fixes #226365
Commit: a509a4e98a50a2acc172a5f6eba77b8df020e3cd
https://github.com/llvm/llvm-project/commit/a509a4e98a50a2acc172a5f6eba77b8df020e3cd
Author: Benedek Kaibas <82393336+benedekaibas at users.noreply.github.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/docs/LifetimeSafety.md
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/flifetime-safety-c.c
M clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.c
M clang/test/Sema/LifetimeSafety/safety-c.c
Log Message:
-----------
[LifetimeSafety] Enable C support by default under -Wlifetime-safety (#224028)
This PR extends the lifetime safety analysis to C. When the analysis is
enabled with `-Wlifetime-safety`, it now also runs on C code without the
extra `-fexperimental-lifetime-safety-c` flag.
I have renamed `-fexperimental-lifetime-safety-c` to
`-flifetime-safety-c` since it is on by default from now on. The
`-fno-lifetime-safety-c` flag disables the analysis for C. I have
updated the documentation and the release notes and rewrote the RUN
lines of the test cases that used the old flag.
Commit: b60afea0d31f4da34b9d867a00817a0e53dbdb05
https://github.com/llvm/llvm-project/commit/b60afea0d31f4da34b9d867a00817a0e53dbdb05
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-call-debugloc.ll
Log Message:
-----------
[SimplifyCFG] Keep a debug location on calls cloned by `FoldBranchToCommonDest` (#224247)
Fixes #220848
When folding a branch to a common destination, SimplifyCFG clones the
bonus instructions into the predecessor and resets their debug
locations, so the debugger doesn't step onto code from a branch that
wasn't taken. It did that with `setDebugLoc(DebugLoc::getDropped())` for
every instruction. That's fine for an `icmp`, but with
`-bonus-inst-threshold=2` a `speculatable` call can be a bonus
instruction too, and an inlinable call in a function with debug info
must have a `!dbg` location, otherwise the inliner can't set up the
inlined-at scope. The verifier rejects the module with "inlinable
function call in a function with debug info must have a !dbg location".
The clone now uses `Instruction::dropLocation()`, which is what
`speculativelyExecuteBB` in the same file already does. Non-call
instructions still lose their location as before, while calls get a line
0 location in the function's scope, so nothing misleading shows up when
stepping and the IR stays valid. `dropLocation()` needs the parent
function, so the clone is inserted into the predecessor before its
location is updated. An earlier attempt at this swap (674f57870f4c) was
reverted after buildbot crashes; the clone was still unparented when
`dropLocation()` ran there, which would explain them.
Commit: eae3e9e64de82ae5a162783808c89521cfea7742
https://github.com/llvm/llvm-project/commit/eae3e9e64de82ae5a162783808c89521cfea7742
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M orc-rt/include/orc-rt/support/move_only_function.h
M orc-rt/test/unit/support/move_only_function-test.cpp
Log Message:
-----------
[orc-rt] Fix move_only_function storing references to lvalue callables. (#226474)
move_only_function's converting constructor instantiated CallableImpl
with the deduced forwarding-reference type, so constructing from an
lvalue callable stored a reference to it rather than a copy, leaving the
move_only_function dangling once the original went out of scope.
This commit decays the callable type before instantiating CallableImpl,
and adds a static_assert to CallableImpl to enforce that it's only
instantiated with decayed types.
Commit: 176a24691b1b315cfd0f15ee8bb8adcc086683be
https://github.com/llvm/llvm-project/commit/176a24691b1b315cfd0f15ee8bb8adcc086683be
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/docs/SourceBasedCodeCoverage.md
M compiler-rt/include/profile/instr_prof_interface.h
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/test/profile/instrprof-api.c
Log Message:
-----------
[docs][clang] Document additional public profile runtime APIs (#224424)
Android's code coverage runtime started using these functions recently,
and I noticed they were undocumented (and the reviewer highlighted
that `instr_prof_interface.h` exists).
So this commit:
- Moves their declarations to that header
- Updates `SourceBasedCodeCoverage.md` to highlight that header
- Adds quips to said `.md` file for these functions
An LLM was used to take a first pass at this; I reviewed and refined.
Commit: 8de4cb45931adab063265b565408ff2b72be668d
https://github.com/llvm/llvm-project/commit/8de4cb45931adab063265b565408ff2b72be668d
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M orc-rt/test/unit/support/move_only_function-test.cpp
Log Message:
-----------
[orc-rt] Tighten move_only_function ShouldCopyInitialize test. (#226483)
ShouldCopyInitialize only checked that constructing a move_only_function
from an lvalue didn't move the callable, so it passed when the callable
was held by reference and never copied at all.
This commit replaces the moved flag with copy and move counters, and
checks that construction performs exactly one copy and no moves.
Commit: 83589c854329a8366672f9932ee27b422902038f
https://github.com/llvm/llvm-project/commit/83589c854329a8366672f9932ee27b422902038f
Author: google-yfyang <yfyang at google.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
Log Message:
-----------
Fix Bazel build for 0a0e0fa (#226489)
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=0a0e0fa181cf162bcc93be85abf2b1b911027e73
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 84d75c8ab6eb610cde0048458f96085f923fc392
https://github.com/llvm/llvm-project/commit/84d75c8ab6eb610cde0048458f96085f923fc392
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/TargetParser/AArch64TargetParser.cpp
Log Message:
-----------
[AArch64] Make compiling arm_neon.h faster (#226378)
Replace two linear scans with map lookups.
On my system, reduces time to compile a TU that does nothing but
`#include <arm_neon.h>` from 92.0 ms ± 1.4 ms to 70.9 ms ± 1.3 ms.
No behavior change.
Commit: f2f70fc15fca532f4968ba211e430e269dd18489
https://github.com/llvm/llvm-project/commit/f2f70fc15fca532f4968ba211e430e269dd18489
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
A llvm/test/tools/llubi/main_declaration.ll
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[llubi] Error if main is not a definition (#226475)
Currently this crashes. Ran into this while using llubi with
llvm-reduce.
Commit: 2dc2a1f1b94f1953f0ef52bd748fb1f0c07cd780
https://github.com/llvm/llvm-project/commit/2dc2a1f1b94f1953f0ef52bd748fb1f0c07cd780
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M libc/src/__support/math/lgammaf.h
Log Message:
-----------
[libc][math] Fix lgammaf 1-ULP errors in non-FMA builds (#225449)
There were some inaccuracies in the non-FMA builds.
I retested exhaustively with FMA both enabled and disabled, and all
tests seems to pass noww.
Commit: e1dc804fcc352b841e798efe0aa4a6c40ba1f2b3
https://github.com/llvm/llvm-project/commit/e1dc804fcc352b841e798efe0aa4a6c40ba1f2b3
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/test/tools/llvm-objdump/MachO/AArch64/macho-arm64-subtypes.test
M llvm/test/tools/llvm-objdump/MachO/universal-arm64.test
Log Message:
-----------
Add more llvm-objdump test coverage for arm64e.x1 (#224110)
Commit: 6ad85f11c5151f18a3686322e37f8e64a48be327
https://github.com/llvm/llvm-project/commit/6ad85f11c5151f18a3686322e37f8e64a48be327
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
M polly/test/ScopInfo/issue190128.ll
M polly/test/ScopInfo/simple_loop_unsigned.ll
A polly/test/ScopInfo/zext-loop-bound-unbounded.ll
Log Message:
-----------
[Polly] Do not assume loops to be bounded if latch conditions are invalid (#226202)
If a loop with an `<nsw>` induction variable appears to be unbounded for
some parameter values, `addLoopBoundsToHeaderDomain` removes them from
its domain without a runtime check, but the loop may only appear
unbounded because its latch condition is modeled incorrectly for these
values, e.g. `(zext i16 %n to i64)` is modeled as `n` under the
assumption `n >= 0`. Removing them also dropped that assumption, so for
`n < 0` the loop was not executed at all instead of running `65536 + n`
iterations. Exclude the parameter values for which the latch conditions
are invalid by a runtime check instead.
Fixes #192616 and #192618.
Assisted-by: Claude (Anthropic)
Commit: 9de286c070e3f3176e7bbfb79d3c4d95807e19a5
https://github.com/llvm/llvm-project/commit/9de286c070e3f3176e7bbfb79d3c4d95807e19a5
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/check-omp-syntax.cpp
M flang/lib/Semantics/check-omp-variant.cpp
Log Message:
-----------
[flang][OpenMP] Rename some symbols in check-omp-syntax.cpp (#226484)
Some function names did not conform to the naming convention. Include a
couple of other non-significant changes.
Commit: ff5f397d6cd06d0eb72f798b4454d490050fb442
https://github.com/llvm/llvm-project/commit/ff5f397d6cd06d0eb72f798b4454d490050fb442
Author: Lei Zhang <antiagainst at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMachineFunctionInfo.cpp
A llvm/test/CodeGen/AMDGPU/lds-dynamic-direct-and-indirect-use.ll
Log Message:
-----------
[AMDGPU] Fix dynamic LDS consistency check in setDynLDSAlign (#225825)
5bf967cb132b ("[RFC][AMDGPU] Add BARRIER address space") changed the
absolute-address check in `setDynLDSAlign` to read the dynamic LDS
global being lowered (`GV`) instead of the kernel's representative
`llvm.amdgcn.<kernel>.dynlds` variable (`Dyn`).
`amdgpu-lower-module-lds` attaches `!absolute_symbol` only to the
representative; uses of the original dynamic LDS global inside the
kernel are left in place and never carry that metadata. As a result, a
kernel that accesses dynamic LDS both directly and through a non-inlined
callee now aborts with "Inconsistent metadata on dynamic LDS variable".
Commit: a514ce406f06bfbebeb5d8d9bc76e9cc5ec6a92b
https://github.com/llvm/llvm-project/commit/a514ce406f06bfbebeb5d8d9bc76e9cc5ec6a92b
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
Log Message:
-----------
[gn] Add clang_static_plugin_sources to link out-of-tree plugins into clang (#226381)
This is useful for testing and profiling e.g. Chromium's clang plugins
without having to export symbols from the clang binary.
# args.gn
clang_static_plugin_sources = [
"/path/to/chromium/src/tools/clang/plugins/FindBadConstructsAction.cpp",
...
]
clang_static_plugin_include_dirs = [ "/path/to/chromium/src" ]
...or put the above in a gni file and put just `import("plugins.gni")`
in args.gn
No behavior change if the list is empty (the default).
Commit: 1978a469493fec319cd61e2eac42abade837fafc
https://github.com/llvm/llvm-project/commit/1978a469493fec319cd61e2eac42abade837fafc
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang] Migrate away from PointerUnion::dyn_cast (NFC) (#226390)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast on
ExprWithCleanups::CleanupObject because it is always nonnull.
Specifically, ExprWithCleanups::getObjects() is populated from a slice
of Sema::ExprCleanupObjects, which only receives nonnull pointers in
the following places:
- Sema::BuildCompoundLiteralExpr
- Sema::ActOnBlockStmtExpr
- Sema::BuildBlockForLambdaConversion
Assisted-by: Antigravity
Commit: 76d4a51fe990d5915c8b30587b09d57e45d533a2
https://github.com/llvm/llvm-project/commit/76d4a51fe990d5915c8b30587b09d57e45d533a2
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[Vectorize] Remove unused functions (NFC) (#226392)
BoUpSLP::TreeEntry::isOneOf:
The last caller was removed on April 1, 2025 in commit
0e3049c562ccdea288c3b1f3b3d1ce5992d284b0.
BoUpSLP::ScheduleCopyableData::verify:
Introduced on August 11, 2025 in commit
2d7b55a028139dde58a994a65895841190dfde96 without any callers.
HorizontalReduction::hasSameParent:
The last caller was removed on July 29, 2024 in commit
197f4a90519df308d9bfddcc931f7683a5ae9cb9.
VPBlockBase::getHierarchicalPredecessors:
The last caller was removed on May 24, 2025 in commit
dcef154b5caf6556e69bb18bbb0506d274aa474e.
VPIRFlags::isNonNeg:
The last caller was removed on July 1, 2025 in commit
6b3d2b629cc3805d483ec4522cc97e2540070ae1.
VPHistogramRecipe::getOpcode:
Introduced on September 27, 2024 in commit
6f1a8c2da278a04565877e277bc4d5b70055ac74 without any callers.
VPWidenInductionRecipe::setStepValue:
The last caller was removed on May 22, 2026 in commit
5c853423f4f9e7296b7596b7f3ccade481686bfd.
VPReductionPHIRecipe::isPartialReduction:
Introduced on November 26, 2025 in commit
071d1fb8beda4c0ec9ede0acab12a382f34758fe without any callers.
VPTransformState::reset:
The last callers were removed on May 3, 2026 in commit
efd429fdfb6f3f0a6991d9d08ab15ca89f27a7c3.
VPValue::hasDefiningRecipe:
The last caller was removed on June 28, 2026 in commit
7abad0faf4bfe1cb674d7fd362cc31edb1d0c460.
Assisted-by: Antigravity
Commit: 58e81dc9a3e25cc41ad26f7cf222dea2c4aa391b
https://github.com/llvm/llvm-project/commit/58e81dc9a3e25cc41ad26f7cf222dea2c4aa391b
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/early-exit-calls.ll
M llvm/test/Transforms/LoopVectorize/early-exit-load-live-out.ll
M llvm/test/Transforms/LoopVectorize/early-exit-unary-ops.ll
M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
M llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-cond-poison.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-predicated-early-exit.ll
Log Message:
-----------
[VPlan] Use frozen combined condition in early exit first-active-lane (#223643)
Combined is used both to compute if an early exit was taken via
VPInstruction::AnyOf, as well as the index of the early-exited lane in
VPInstruction::FirstActiveLane.
Combined can have poison lanes past the exited lane, so the AnyOf uses
freeze to prevent branching on poison. However FirstActiveLane on a
vector with a poison lane is poison (see #223935), so we need to also
use the frozen version of Combined to prevent poison there.
Commit: 7af28a7e7b3073593d5f394d02b10f382d6cbab1
https://github.com/llvm/llvm-project/commit/7af28a7e7b3073593d5f394d02b10f382d6cbab1
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/test/CodeGen/SystemZ/zos-section-1.ll
M llvm/test/CodeGen/SystemZ/zos-section-2.ll
M llvm/test/CodeGen/SystemZ/zos-symbol-2.ll
Log Message:
-----------
[SystemZ][z/OS] Use section ordinal for temporary symbols (#226306)
A relocation involving a temporary symbol is interpreted as offset of
the symbol to the section begin. Currently, this is resolved via the
begin symbol of the section. However, that symbol may also have the
temporary flag set, and therefore has an index of 0. Since a symbol is
emitted of reach section, it is safe to use the ordinal of the section
instead, avoiding all issues with temporary symbols.
Commit: 621e088c0f5d435506a0d344d3b62ddc11f16147
https://github.com/llvm/llvm-project/commit/621e088c0f5d435506a0d344d3b62ddc11f16147
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session_helpers.py
M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Always return the up-to-date thread if possible. (#226140)
Only send the initial thread list if the process is not stopped and only
the first time.
Remove the workaround in tests. This should not affect tests since we
mostly get the `threadId` from a stopped event.
Commit: edd241997b82b7803bd496933e340762cc06bd77
https://github.com/llvm/llvm-project/commit/edd241997b82b7803bd496933e340762cc06bd77
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
Log Message:
-----------
[LV] Remove unused VectorizationFactor comparison operators (NFC) (#226511)
VectorizationFactor::operator== and operator!= have no users. Remove it.
Commit: 8ccb1826dad0257eda59d88b5fd35a0bc3b933f8
https://github.com/llvm/llvm-project/commit/8ccb1826dad0257eda59d88b5fd35a0bc3b933f8
Author: Pedro Vicente <pmadcv at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/docs/LangRef.md
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.h
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/Instruction.def
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/NoFolder.h
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/Analysis/IR2Vec/Inputs/reference_default_vocab_print.txt
M llvm/test/Analysis/IR2Vec/Inputs/reference_wtd1_vocab_print.txt
M llvm/test/Analysis/IR2Vec/Inputs/reference_wtd2_vocab_print.txt
A llvm/test/Assembler/bitinsert-bitextract-invalid.ll
A llvm/test/Assembler/bitinsert-bitextract.ll
M llvm/test/Bitcode/compatibility.ll
A llvm/test/CodeGen/AArch64/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/AArch64/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/AArch64/bitinsert-bitextract.ll
A llvm/test/CodeGen/AMDGPU/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/AMDGPU/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/AMDGPU/bitinsert-bitextract.ll
A llvm/test/CodeGen/ARM/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/ARM/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/ARM/bitinsert-bitextract.ll
A llvm/test/CodeGen/PowerPC/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/PowerPC/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/PowerPC/bitinsert-bitextract.ll
A llvm/test/CodeGen/RISCV/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/RISCV/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/RISCV/bitinsert-bitextract.ll
A llvm/test/CodeGen/X86/GlobalISel/bitinsert-bitextract.ll
A llvm/test/CodeGen/X86/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/X86/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/X86/bitinsert-bitextract.ll
A llvm/test/Verifier/bitextract-bitinsert-invalid-verifier.ll
M llvm/test/tools/llvm-ir2vec/entities.ll
M llvm/test/tools/llvm-ir2vec/triplets.ll
M llvm/tools/llvm-c-test/echo.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR] Implementation and lowering of `bitinsert` and `bitextract` (#200605)
This PR introduces `bitinsert` and `bitextract` instructions for LLVM
IR. These allow bit manipulation for byte types. Both were lowered to
GlobalIsel and SDag.
Tests were added for AArch64, AMDGPU, ARM, PowerPC, RISCV, x86 and LLVM
IR.
The LangRef was updated to document the new instructions.
The lowering of `bitextract` and `bitinsert` instructions are
implemented using integer operations.
In order to obtain the results for `bitextract`, a shift right
instruction with a specific offset is used (that can be a variable or an
immediate).
Relative to floating-point, in `bitinsert`, we reinterpret the bits of
the floating-point value as if it is an integer.
Pointer operands and results are reinterpreted as if by bitcast, as
specified in the LangRef.
This PR is based on the RFC:
https://discourse.llvm.org/t/rfc-bitinsert-and-bitextract-instructions-for-llvm-ir-2/90764
Commit: 5b8e65685b4fe99191a217bfa0527c51cf36925c
https://github.com/llvm/llvm-project/commit/5b8e65685b4fe99191a217bfa0527c51cf36925c
Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M offload/include/Shared/SourceInfo.h
M openmp/docs/ReleaseNotes.md
Log Message:
-----------
[Offload][OpenMP] remove SourceInfo::removePath (#226283)
Following discussion on
https://discourse.llvm.org/t/rfc-add-opt-in-option-for-full-source-paths-in-offload-info-output/91901
this commit removes SourceInfo::removePath which changes
LIBOMPTARGET_INFO to provide a non truncated source path:
``` c
#include <stdio.h>
#define N 4
int main(void) {
int a[N];
for (int i = 0; i < N; ++i)
a[i] = 0;
#pragma omp target map(tofrom : a[0 : N])
{
a[0] = 1;
}
printf("%d\n", a[0]); /* expect 1 */
return 0;
}
```
``` bash
clang -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa -g ./test/test.c
# new
LIBOMPTARGET_INFO=-1 ./a.out
omptarget device 0 info: Entering OpenMP kernel at ./test/test.c:9:1 with 1 arguments:
# old
LIBOMPTARGET_INFO=-1 ./a.out
omptarget device 0 info: Entering OpenMP kernel at test.c:9:1 with 1 arguments:
```
Commit: 0551d60c516c2dc161007ee9ed466f36be40667d
https://github.com/llvm/llvm-project/commit/0551d60c516c2dc161007ee9ed466f36be40667d
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M libc/src/__support/math/bf16sub.h
M libc/src/__support/math/bf16subf.h
M libc/src/__support/math/bf16subf128.h
M libc/test/shared/shared_math_constexpr_test.cpp
Log Message:
-----------
[libc] Make bf16sub functions constexpr (#223506)
Makes the bf16sub for all types constexpr along with tests
Commit: d4c354ca333192d2db3d45b2b028a98f9fbbd347
https://github.com/llvm/llvm-project/commit/d4c354ca333192d2db3d45b2b028a98f9fbbd347
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/test/CAPI/CMakeLists.txt
M mlir/test/CAPI/rewrite.c
Log Message:
-----------
[mlir-c] Add mlirDialectMaterializeConstant (#206553)
Exposes `Dialect::materializeConstant` through the MLIR C API, letting
callers ask a dialect to build a constant operation for a given
attribute and type.
Assisted by: Claude
Commit: 14f451262dc753b53f79a103744dd6988894467f
https://github.com/llvm/llvm-project/commit/14f451262dc753b53f79a103744dd6988894467f
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/test/CodeGen/thread-model.c
M clang/test/CodeGenCXX/static-init-wasm.cpp
M clang/test/Preprocessor/init.c
M llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
M llvm/lib/TargetParser/Triple.cpp
R llvm/test/CodeGen/WebAssembly/coalesce-features-thread-model.ll
Log Message:
-----------
[clang][WeAssembly] Do not override thread model when building without atomics (#225981)
This change does 2 things. The first is to revert #223917, setting the
Triple's
default thread model back to posix. The second is to stop overriding it
when
atomics are not enabled.
This means that compiles with no thread- or atomics-related flags will
get the default posix thread model, independently of whether they get
_REENTRANT defined or the atomics feature is enabled. Practically this
means that the thread model will always be posix unless explicitly
overridden at the driver command line.
The leftover setting of Opts.POSIXThreads became a no-op when used
with the clang driver because the logic would only activate when
-pthread
was not already used (since the driver has separate logic linking
several
flags together).
This is a safer version of the status quo before the thread-model
module flag was introduced, because atomics are still lowered
in the same way but there is no risk of unsafe initialization
or LICM in such scenarios. We could probably further simplify
the interaction between various thread- and atomics-related
flags and thread agnosticism, but this is a small step
that fixes a known hazard.
Commit: 73fc71b19905b15e6ff14ae3149c6fabce961c1b
https://github.com/llvm/llvm-project/commit/73fc71b19905b15e6ff14ae3149c6fabce961c1b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/unittests/Lex/LexerTest.cpp
Log Message:
-----------
[clang][test] Fix lifetimes of HS/PP options (#225885)
PR #133467 changed how lifetimes work for `PreprocessorOptions`. In
LexerTest.cpp, the lifetimes were set up incorrectly, leading to
potential use-after-free crashes. This PR fixes that by expanding the
lifetime of both `PreprocessorOptions` and `HeaderSearchOptions`.
Commit: 9068aede6fcbd3e47602fce96fbb077e3e4d8cc4
https://github.com/llvm/llvm-project/commit/9068aede6fcbd3e47602fce96fbb077e3e4d8cc4
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/early-exit-live-out-extract-lane.ll
Log Message:
-----------
[LV] Fix early exit tests after #223643. NFC (#226521)
Commit: 44f262eb67778e6bcb7675599384e010062cae10
https://github.com/llvm/llvm-project/commit/44f262eb67778e6bcb7675599384e010062cae10
Author: Alison Zhang <alisonzhang at ibm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/conflict-preserves-unrelated-zero-length-insert.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/conflict-stderr-without-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/empty-input.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/identical-overlap.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/no-conflict-sarif-empty.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/non-overlapping.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/order-invariance.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/parent-dir-missing.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/pre-dedup-identical-non-zero-length.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/pre-dedup-zero-length-insert.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/range-overlap-cluster-of-three-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/range-overlap-conflict-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/sarif-out-parent-dir-missing.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/single-input-internal-conflict.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/single-input.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/three-input-all-conflict.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/three-input-conflict-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-conflicts-different-offsets-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-input-conflict-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-input-conflict.test
Log Message:
-----------
[test][ssaf][AIX] Fix sed -i portability for AIX (#226293)
AIX's sed does not support the `-i` flag, causing the tests added in
https://github.com/llvm/llvm-project/pull/216183 to fail on AIX. This
patch updates the tests to use a POSIX-compliant redirect instead.
Commit: f1129f338806da062347a8ce019b88b51452917f
https://github.com/llvm/llvm-project/commit/f1129f338806da062347a8ce019b88b51452917f
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
R llvm/test/Transforms/PGOProfile/Inputs/indirect_call.proftext
M llvm/test/Transforms/PGOProfile/indirect_call_annotation.ll
Log Message:
-----------
[NFC][PGOProfile] Inline icall annotation proftext test (#226324)
Commit: 378ceb307bbc729bb918601a28c468df419b4d34
https://github.com/llvm/llvm-project/commit/378ceb307bbc729bb918601a28c468df419b4d34
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-Ext] Add builtins and IR intrinsics for packed shifts. (#225968)
The packed shift instructions use 5-bit shift amounts regardless of
element width. The C intrinsic should match this which means we can't
use C shift operators to implement them.
Rename RISCVISD::PSHL to RISCVISD::PSLL.
Commit: 1f9d3b2506fa32981fd281aab56357404af53ffe
https://github.com/llvm/llvm-project/commit/1f9d3b2506fa32981fd281aab56357404af53ffe
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
Log Message:
-----------
[NFC][PGOProfile] Inline icall annotation proftext test (#226324)
Commit: bff7b7503c1cdfdba72bcd12ef8208ad42130946
https://github.com/llvm/llvm-project/commit/bff7b7503c1cdfdba72bcd12ef8208ad42130946
Author: Ömer Sinan Ağacan <omer at osa1.net>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmax.ll
Log Message:
-----------
[msan] Update intrinsic list in arm64-vmax.ll (NFC) (#226387)
The intrinsics llvm.aarch64.neon.{u,s}{min,max} were removed in
0ce1b5f91add535d1e8b910ee90c178e054c65eb, remove the mentions of them in
the test file as per the review comment in #225339.
Commit: 6ec87e7ec4b3ca6f665a02e05d0e5fe9c37cd6cc
https://github.com/llvm/llvm-project/commit/6ec87e7ec4b3ca6f665a02e05d0e5fe9c37cd6cc
Author: Anshul Nigham <nigham at google.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[Bazel] Add Telemetry dependency to lldb-dap (#226526)
Fixes lldb-dap bazel layering failure introduced in commit 1cc5657c4ff6,
where LLDBUtils.h includes llvm/Telemetry/Telemetry.h.
Commit: 23e12c97a04c034a9487f4b95e3531d1ead90c59
https://github.com/llvm/llvm-project/commit/23e12c97a04c034a9487f4b95e3531d1ead90c59
Author: Kunal Dubey <xakep8 at protonmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/IR/enum-attrs.cir
M clang/test/CIR/Lowering/call-llvm-intrinsic.cir
Log Message:
-----------
[CIR] Added fast-math flags to LLVM intrinsic calls (#224899)
Added fast-math flags attribute to CIR which cir.call_llvm_intrinsic now
carries through DirectToLLVM lowering. CIR now preserves fast-math flags
such as reassoc when lowering to llvm.call_intrinsic.
Added test for the same.
Commit: 774b4527fd60dc5ef7ed6539a8f2e6fe100e337b
https://github.com/llvm/llvm-project/commit/774b4527fd60dc5ef7ed6539a8f2e6fe100e337b
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
Log Message:
-----------
[Analysis][RISCV] More accurately estimate the cost of strided vector loads (#175135)
For small constant strides, attempt to predict the amount of coalescing
that will be done by the target machine to give a better cost estimate.
Currently, strided loads/stores are costed as having a cost of 1 per
element (i.e. being equivalent to scalar loads/stores).
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: f2b3ba3affb147bf085fd58f1f7261dd32ae91c8
https://github.com/llvm/llvm-project/commit/f2b3ba3affb147bf085fd58f1f7261dd32ae91c8
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
A mlir/test/Integration/Dialect/XeGPU/WG/simple_gemm_bf16.mlir
R mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_F4.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_F8.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F4.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F8.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F8.mlir
Log Message:
-----------
[MLIR][XeGPU] Add MXFP fp8 WG GEMM tests and use shared input set (#225944)
Adds four workgroup-level tests, updates two and renames one, so that
seven tests covering bf16, mx-fp4 and mx-fp8 exercise the same
arithmetic on the same operand values and check against the same
expected result.
1. simple_mxfp_gemm -> simple_mxfp_gemm_F4 - renamed, for consistency
with the F4/F8 suffixes used by the quantize and dequantize tests
2. (new) simple_gemm_bf16 - non-quantized bf16 GEMM at the MXFP problem
size, as the unquantized comparison point, and where the shared input
set is documented
3. (new) simple_mxfp_gemm_F8 - f8E5M2 operands with f8E8M0FNU scales
4. (new) simple_mxfp_gemm_dequantizeB_F8
5. (new) simple_mxfp_gemm_quantizeA_F8 - fp8 counterparts of the
existing fp4 tests
6. simple_mxfp_gemm_dequantizeB_F4 and simple_mxfp_gemm_quantizeA_F4 are
updated in place.
What the update changes:
* Meaningful operand values. The tests previously used all-ones
operands, which cannot distinguish a correct kernel from one that swaps
the two fp4 values in a byte, misapplies a scale, or mixes up lanes or
tiles. Operands are now drawn from the 8 magnitudes e2m1 can represent -
0, 0.5, 1, 1.5, 2, 3, 4, 6 - indexed by (i + k) % 8 and (j + k) % 8, so
consecutive K values differ and the packing is exercised. Every value is
exact in f4E2M1FN, f8E5M2, bf16 and f32, which is what lets one input
set serve all three formats.
* Non-unit block scales. A carries a per-K-block divisor and B a
per-K-block scale, three of each, all powers of two, cycling per block
of 32. The quantized formats realise the same values through their own
scales, so a scale that is ignored or applied to the wrong block now
changes the result.
* One reference result. Each test computes its expected C with a host
f32 GEMM over f32 shadows of the operands, filled in the same loop that
writes the device operands so the two cannot drift. Every product is a
multiple of 0.25 and the largest result is well under 2^24, so the
accumulation is exact and the comparison is bit-for-bit rather than
approximate.
* A labelled result line. verifyMemRefF32's mismatch count is printed as
"mismatches: <n>" via printString/printI64/printNewline and matched with
{{^mismatches: 0$}}. A bare "0" check is a substring match over all of
stdout, so it passes on any 0 the runtime happens to print, including
one inside a larger number, and cannot distinguish a correct run from a
kernel that never ran.
* A fix for the fp4 A operand in simple_mxfp_gemm_F4.
gpu.alloc/memcpy/dealloc size a memref by rounding the element type up
to a whole byte - the size is lowered as gep(null, numElements) on i4,
which LLVM strides by 1 byte - so a packed fp4 memref is sized at twice
its real footprint. The test allocated A as memref<256x4096xf4E2M1FN>,
giving a 512 KB overread of a 524288-byte host buffer; because
mgpuMemcpy is asynchronous the fault surfaces later, at the stream sync
inside the first mgpuMemFree, so the test passed regardless. A now
crosses as memref<524288xi8> and is viewed as fp4 on the device, which
is what the B operand already does.
All seven follow the existing convention in this directory: the mlir-opt
compile is the active RUN line and the mlir-runner pipeline is kept
behind RUN-DISABLED with a MISMATCH check prefix, so no device is needed
and the compile-only run cannot pick up the result check.
Commit: b3ed324d42c0487e38980f4beddbb67c096f5f3f
https://github.com/llvm/llvm-project/commit/b3ed324d42c0487e38980f4beddbb67c096f5f3f
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M lld/test/Unit/lit.cfg.py
M lld/unittests/AsLibELF/CMakeLists.txt
M lld/unittests/AsLibELF/OutputStream.cpp
M lld/unittests/AsLibELF/ROCm.cpp
Log Message:
-----------
[lld][test] Use LLVM helpers for input file discovery (#220404)
This was a suggestion on #220340 to avoid the custom env var handling
and use the `getInputFileDirectory` helper from the LLVM support library
Commit: 07aec21c88f48907b5da1d42f4522e106d30a9f1
https://github.com/llvm/llvm-project/commit/07aec21c88f48907b5da1d42f4522e106d30a9f1
Author: Guo Chen <guochen2 at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/lib/Target/AMDGPU/SIPostRA16BitMovFolding.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/merge-values-s16-true16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.encode.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.waitcnt.out.order.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
A llvm/test/CodeGen/AMDGPU/si-post-ra-merge-v-mov-b16.mir
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
Log Message:
-----------
[AMDGPU] merge 16bit mov pairs in post-RA peephole (#208625)
Address https://github.com/llvm/llvm-project/issues/207011. Add 5
patterns to merge 16bit mov pairs.
Since we hoist instruction which might cross the waitcnt boundary,
insert a new pass before waitcnt for this transformation
Co-Authored-By: Claude
Commit: 3621db6aff701dcd9e6ff54ea281d24ee2f43448
https://github.com/llvm/llvm-project/commit/3621db6aff701dcd9e6ff54ea281d24ee2f43448
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/for_loop_bitint_messages.c
Log Message:
-----------
[Clang][OpenMP] Fix crash on `_BitInt` loop bounds and counters in loop analysis (#226464)
Fixes #140074
When building the iteration count of an OpenMP loop, Sema derives a few
integer types from bit widths, e.g. to promote the upper bound to an
unsigned type as wide as the wider bound so that `upper - lower` cannot
overflow. Those types came from `ASTContext::getIntTypeForBitwidth`,
which only knows the standard integer widths and returns a null type for
anything else. With a bound or loop counter of type `_BitInt(931)` the
request was for a 960-bit type, the result was null, and it went
straight into `PerformImplicitConversion`, which asserted. The
`collapse(2)` in the reduced reproducer is incidental; a plain `#pragma
omp for` on the same loop crashes the same way.
The loop analysis now goes through a small helper that asks for the
standard type first and otherwise builds the `_BitInt` type of that
width and signedness with `ASTContext::getBitIntType`. It is used at the
three places that derive a type from a loop width: the upper-bound
promotion in `calculateNumIters`, the conversion to the loop variable's
width in `buildNumIterations`, and the logical iteration type in
`ActOnOpenMPCanonicalLoop`. Wide `_BitInt` loop variables are then
narrowed to the runtime's 64-bit iteration variable with the existing
warning, the same as `__int128` today.
Commit: 05f0bf084929c4fdbb5ac2952047ed00cd1d8b57
https://github.com/llvm/llvm-project/commit/05f0bf084929c4fdbb5ac2952047ed00cd1d8b57
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
Log Message:
-----------
Mips: Remove redundant Triple copy from the subtarget (#226528)
MCSubtargetInfo already stores the target triple, so MipsSubtarget's own
copy is unnecessary.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 3bcbae4bed67f5cadd9f68d39af47ae5b5af1794
https://github.com/llvm/llvm-project/commit/3bcbae4bed67f5cadd9f68d39af47ae5b5af1794
Author: Alex Langford <alangford at apple.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/source/Target/DynamicRegisterInfo.cpp
Log Message:
-----------
[lldb] Introduce DynamicRegisterInfo::RegisterSetWithStorage (#225555)
The RegisterSet struct is created in 2 different ways:
1.) Statically in headers/source files for register sets that are known
ahead of time.
2.) Dynamically according to input from outside of LLDB. Usually this is
through the gdb-remote stub, but may also come from a python script or
by determining an ISA variant's features (e.g. in RISCV).
This PR aims to address the lifetime of strings in RegisterSet. In
scenario (1), the lifetime of all data in a RegisterSet is static and
there is no concern about dangling pointers. However, in scenario (2),
DynamicRegisterInfo maintains a vector of RegisterSets. Until now, it
has relied on ConstString to persist the storage for the strings
indefinitely. As part of my quest to remove ConstString, I am
introducing a new struct wrapping RegisterSet that is responsible for
the storage and lifetime of the underlying RegisterSet strings.
Commit: d220d5e8239db918bd68f404dae589385a8029e8
https://github.com/llvm/llvm-project/commit/d220d5e8239db918bd68f404dae589385a8029e8
Author: Aditya Sinha <155882262+AdityaSinha149 at users.noreply.github.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M clang/include/clang/Interpreter/Interpreter.h
M clang/lib/Interpreter/Interpreter.cpp
A clang/test/Interpreter/HIP/hip-environment.hip
A clang/test/Interpreter/HIP/lit.local.cfg
M clang/test/lit.cfg.py
M clang/tools/clang-repl/ClangRepl.cpp
Log Message:
-----------
[clang-repl] Initialized HIP environment for clang-repl (#217582)
This PR initializes the HIP environment for clang-repl. Since an
IncrementalHipDeviceParser does not exist yet, a message is printed
after the environment setup indicating that the HIP environment was set
up but is not yet supported.
It also adds a test file that runs clang-repl with the -hip option and
checks that this message is printed. Once the parser is built, the
current test file will be removed and replaced with tests that verify
the complete flow.
This PR has a prerequisite, #217228, which skips emitting the
`__hip_cuid_` global under incremental extensions. Without it,
clang-repl's HIP mode would emit the same symbol in every incremental
module and fail at JIT link with a duplicate-symbol error.
Assisted by Claude Opus 4.8
Commit: 0ae27ad06c80796bdae576e27a44b2877e5c2a4f
https://github.com/llvm/llvm-project/commit/0ae27ad06c80796bdae576e27a44b2877e5c2a4f
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
M llvm/test/CodeGen/AArch64/sve-int-arith.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invalid-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-alloca.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
Log Message:
-----------
Revert "[AArch64][CostModel] Consider some nxv1 operations as legal" (#226531)
Reverts llvm/llvm-project#214471
This caused a failure in
https://lab.llvm.org/buildbot/#/builders/198/builds/15417 and I want to
spend a bit more time to test the ISel for vector_reverse and
vector_splice. It's also quite surprising that the test picked a VF of
`vscale x 1`
Commit: 92388ee55bbaaa6ca300fe5dde3b107ba8bc256e
https://github.com/llvm/llvm-project/commit/92388ee55bbaaa6ca300fe5dde3b107ba8bc256e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libcxx-benchmark-commit.yml
M .github/workflows/libcxx-pr-benchmark.yml
M .github/workflows/libcxx-pr-check-generated-files.yml
M .github/workflows/libcxx-pr-conformance-tests.yaml
M .github/workflows/libcxx/build-at-commit/action.yml
M .github/workflows/sycl-tests.yml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinaryFunctionProfile.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/DynoStats.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/JTFootprintReduction.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/ProfileQualityStats.cpp
M bolt/lib/Passes/ReorderAlgorithm.cpp
M bolt/lib/Passes/ReorderData.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/AArch64/fix-block-count-multiple.s
A bolt/test/AArch64/fix-block-counts-indirect-branch.s
A bolt/test/AArch64/fix-block-counts-indirect-call.s
A bolt/test/AArch64/relax-branches-with-thunk-chain.s
A bolt/test/AArch64/relax-call-long-thunk-reuse.s
A bolt/test/AArch64/relax-call-short-thunk-reuse.s
A bolt/test/AArch64/relax-calls.s
A bolt/test/AArch64/relax-cross-fragment-calls.s
R bolt/test/AArch64/relax-exp.s
A bolt/test/RISCV/fix-block-count-multiple.s
A bolt/test/RISCV/fix-block-counts-indirect-branch.s
A bolt/test/RISCV/fix-block-counts-indirect-call.s
M bolt/test/X86/dwarf5-debug-names-skip-forward-decl.s
A bolt/test/X86/fix-block-count-multiple.s
A bolt/test/X86/fix-block-counts-indirect-branch.s
A bolt/test/X86/fix-block-counts-indirect-call.s
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
M clang-tools-extra/docs/conf.py
M clang/CMakeLists.txt
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cursor.py
A clang/docs/HLSL/DynamicResources.md
M clang/docs/HLSL/HLSLDocs.md
M clang/docs/LifetimeSafety.md
M clang/docs/ReleaseNotes.md
M clang/docs/SourceBasedCodeCoverage.md
M clang/docs/analyzer/checkers.md
M clang/docs/analyzer/conf.py
M clang/docs/conf.py
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.td
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/TargetID.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/HLSLExternalSemaSource.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/EvaluationResult.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltinObjectSize.cpp
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenMPClause.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenMPClause.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerMicrosoftCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/hlsl.h
M clang/lib/Headers/hlsl/hlsl_detail.h
A clang/lib/Headers/hlsl/hlsl_resources.h
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
M clang/lib/Tooling/CommonOptionsParser.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
M clang/test/AST/ByteCode/invalid.cpp
M clang/test/AST/ByteCode/references.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
A clang/test/AST/HLSL/DynamicResources-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/matrix-alias.hlsl
A clang/test/Analysis/Checkers/WebKit/call-args-dependent-arg.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-generic-lambda.cpp
A clang/test/Analysis/Checkers/WebKit/local-vars-dependent-init.cpp
M clang/test/Analysis/Checkers/WebKit/mock-canborrow.h
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
A clang/test/Analysis/Checkers/WebKit/unborrowed-call-args.cpp
A clang/test/Analysis/Checkers/WebKit/unborrowed-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/conflict-preserves-unrelated-zero-length-insert.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/conflict-stderr-without-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/empty-input.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/identical-overlap.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/no-conflict-sarif-empty.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/non-overlapping.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/order-invariance.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/parent-dir-missing.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/pre-dedup-identical-non-zero-length.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/pre-dedup-zero-length-insert.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/range-overlap-cluster-of-three-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/range-overlap-conflict-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/sarif-out-parent-dir-missing.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/single-input-internal-conflict.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/single-input.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/three-input-all-conflict.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/three-input-conflict-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-conflicts-different-offsets-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-input-conflict-sarif.test
M clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-input-conflict.test
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic.c
A clang/test/CIR/CodeGen/bitint-wide-be.c
A clang/test/CIR/CodeGen/builtin-memcpy.c
M clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
M clang/test/CIR/CodeGen/delete-array-aligned.cpp
A clang/test/CIR/CodeGen/delete-array-overaligned-cookie.cpp
M clang/test/CIR/CodeGen/delete-array-throwing-dtor.cpp
A clang/test/CIR/CodeGen/dtor-comdat-key.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/libc.c
M clang/test/CIR/CodeGen/lifetime-marker.cpp
M clang/test/CIR/CodeGen/new-null.cpp
A clang/test/CIR/CodeGen/sdk-version.c
M clang/test/CIR/CodeGen/union-copy-move-assignment.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
M clang/test/CIR/CodeGenCUDA/device-stub.cu
M clang/test/CIR/CodeGenCXX/virtual-base-cast.cpp
M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
M clang/test/CIR/CodeGenOpenMP/parallel.c
M clang/test/CIR/IR/enum-attrs.cir
A clang/test/CIR/IR/funnel-shift.cir
M clang/test/CIR/IR/invalid-delete-array.cir
A clang/test/CIR/IR/invalid-funnel-shift.cir
M clang/test/CIR/Lowering/call-llvm-intrinsic.cir
A clang/test/CIR/Lowering/funnel-shift.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-musttail.cir
R clang/test/ClangScanDeps/build-session-validation-relocated-modules.c
M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
A clang/test/CodeGen/AArch64/atomic-store-hint-template.cpp
M clang/test/CodeGen/AArch64/neon/intrinsics.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_len.c
M clang/test/CodeGen/AArch64/sve/dup.c
M clang/test/CodeGen/AArch64/sve/len.c
M clang/test/CodeGen/PowerPC/attr-target-clones.c
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
A clang/test/CodeGen/X86/empty-struct-union-array.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/thread-model.c
A clang/test/CodeGenCXX/GH176161.cpp
A clang/test/CodeGenCXX/dllexport-rtti-visibility.cpp
M clang/test/CodeGenCXX/global-init.cpp
M clang/test/CodeGenCXX/mangle-class-nttp.cpp
M clang/test/CodeGenCXX/static-init-wasm.cpp
A clang/test/CodeGenHLSL/builtins/InterlockedExchange.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedExchange.hlsl
M clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAdd.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAnd.hlsl
A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedExchange.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMax.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMin.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedOr.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedXor.hlsl
A clang/test/CodeGenHLSL/resources/dynamic-resources.hlsl
M clang/test/DebugInfo/CXX/limited-ctor.cpp
A clang/test/Driver/flifetime-safety-c.c
A clang/test/Driver/print-enabled-extensions/riscv-gaisler-gr765.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-cpus.c
M clang/test/InstallAPI/exclusive-passes-platform.test
A clang/test/Interpreter/HIP/hip-environment.hip
A clang/test/Interpreter/HIP/lit.local.cfg
M clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/OpenMP/error_message.c
M clang/test/OpenMP/error_message.cpp
A clang/test/OpenMP/for_loop_bitint_messages.c
M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
A clang/test/OpenMP/gh154704.cpp
M clang/test/OpenMP/parallel_message_messages.cpp
A clang/test/OpenMP/reduction_non_copyable_with_initializer.cpp
A clang/test/OpenMP/target_map_address_space_codegen.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
M clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.c
M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
M clang/test/Sema/LifetimeSafety/capture-by.cpp
M clang/test/Sema/LifetimeSafety/cfg-bailout.cpp
M clang/test/Sema/LifetimeSafety/dangling-field.cpp
M clang/test/Sema/LifetimeSafety/dangling-global.cpp
M clang/test/Sema/LifetimeSafety/inapplicable-lifetimebound.cpp
M clang/test/Sema/LifetimeSafety/invalidations.cpp
M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
M clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp
M clang/test/Sema/LifetimeSafety/nocfg.cpp
M clang/test/Sema/LifetimeSafety/noescape-violation.cpp
M clang/test/Sema/LifetimeSafety/safety-c.c
M clang/test/Sema/LifetimeSafety/safety.cpp
M clang/test/Sema/PowerPC/attr-target-clones.c
M clang/test/Sema/builtins-arm64.c
A clang/test/Sema/riscv-psati-width-out-of-range.c
M clang/test/Sema/stmtexprs.c
M clang/test/SemaCXX/PR19955.cpp
M clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedExchange-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedExchange-sm65-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedExchangeFloat-sm60.hlsl
A clang/test/SemaHLSL/BuiltIns/InterlockedExchange-errors.hlsl
M clang/test/SemaHLSL/Language/InitLists.hlsl
M clang/test/SemaHLSL/Resources/Textures-SampleCmpLevelZero.hlsl
A clang/test/SemaHLSL/Resources/dynamic-resources-availability.hlsl
A clang/test/SemaHLSL/Resources/dynamic-resources.hlsl
M clang/test/lit.cfg.py
M clang/tools/cir-opt/CMakeLists.txt
M clang/tools/clang-diff/ClangDiff.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/clang-refactor/ClangRefactor.cpp
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/offload-arch/CMakeLists.txt
M clang/tools/offload-arch/LevelZeroArch.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/offload-arch/CMakeLists.txt
M clang/unittests/offload-arch/OffloadArchTest.cpp
M compiler-rt/include/profile/instr_prof_interface.h
M compiler-rt/lib/asan/asan_globals_win.cpp
M compiler-rt/lib/asan/asan_win.cpp
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
M compiler-rt/lib/builtins/clear_cache.c
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/sanitizer_common/sanitizer_win_defs.h
M compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.cpp
M compiler-rt/test/profile/instrprof-api.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M cross-project-tests/lit.cfg.py
A flang-rt/test/Driver/finit-local-array-exec.f90
A flang-rt/test/Driver/finit-local-char2-exec.f90
A flang-rt/test/Driver/finit-local-charN-exec.f90
M flang/docs/ReleaseNotes.md
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/LoweringOptions.h
M flang/include/flang/Lower/SymbolMap.h
M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Support.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/SymbolMap.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Support.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/check-omp-syntax.cpp
M flang/lib/Semantics/check-omp-variant.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Driver/finit-local.f90
M flang/test/Fir/CUDA/cuda-alloc-free.fir
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-constructor-2.f90
A flang/test/Fir/CUDA/cuda-data-transfer-defer-acc-routine.mlir
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/CUDA/cuda-device-global-internal-linkage.fir
M flang/test/Fir/CUDA/cuda-device-global.f90
A flang/test/Fir/CUDA/cuda-device-is-active.mlir
M flang/test/Fir/CUDA/cuda-heap-alloc-managed.fir
M flang/test/Fir/CUDA/cuda-heap-alloc-unified.fir
M flang/test/Fir/CUDA/cuda-launch.fir
M flang/test/Fir/CUDA/cuda-managed-descriptor-component.fir
A flang/test/Fir/CUDA/cuda-managed-pointer-linkage.cuf
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
M flang/test/Fir/CUDA/predefined-variables.mlir
M flang/test/Fir/FirToSCF/if.fir
M flang/test/Fir/FirToSCF/iter-while.fir
M flang/test/Fir/MIF/change_team2.mlir
M flang/test/Fir/OpenACC/recipe-bufferization.mlir
M flang/test/Fir/OpenACC/use-device-canonicalizer.mlir
M flang/test/Fir/abstract-results.fir
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/Fir/array-coor-canonicalization.fir
M flang/test/Fir/convert-to-llvm-access-group.fir
R flang/test/Fir/convert-to-llvm-unsafe-fp-conversion.fir
M flang/test/Fir/cuf.mlir
M flang/test/Fir/do_concurrent.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/global-attributes.fir
A flang/test/Fir/if-constant-condition-fold.fir
M flang/test/Fir/memory-allocation-opt-2.fir
M flang/test/Fir/memory-allocation-opt-do-concurrent.fir
M flang/test/Fir/memory-allocation-opt.fir
M flang/test/Fir/simd-nontemporal.fir
M flang/test/HLFIR/as_expr-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
M flang/test/HLFIR/bufferize-workshare.fir
M flang/test/HLFIR/bufferize01.fir
M flang/test/HLFIR/char_extremum-bufferization.fir
M flang/test/HLFIR/cmpchar-lowering.fir
M flang/test/HLFIR/concat-bufferization.fir
M flang/test/HLFIR/element-codegen-issue-118922.fir
M flang/test/HLFIR/elemental-codegen-nested.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/elemental-shallow-copy.fir
M flang/test/HLFIR/elemental-with-empty-check-codegen.fir
M flang/test/HLFIR/eval_in_mem-codegen.fir
M flang/test/HLFIR/expression-simplification.fir
M flang/test/HLFIR/index-lowering.fir
M flang/test/HLFIR/inline-hlfir-assign-pointer-overlap.fir
M flang/test/HLFIR/inline-hlfir-assign-scalar-index.fir
M flang/test/HLFIR/inline-hlfir-assign-self-copy-runtime-stride.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/opt-bufferization-eval_in_mem-with-associate.fir
M flang/test/HLFIR/opt-bufferization.fir
M flang/test/HLFIR/opt-scalar-assign.fir
M flang/test/HLFIR/order_assignments/array-temp-many-forall.f90
M flang/test/HLFIR/order_assignments/array-temp.fir
M flang/test/HLFIR/order_assignments/forall-codegen-no-conflict.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/saving-mask-and-rhs.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
M flang/test/HLFIR/set_length-codegen.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-cmpchar-scalar.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-eoshift.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-index.fir
M flang/test/HLFIR/trim.fir
M flang/test/HLFIR/volatile.fir
M flang/test/HLFIR/volatile1.fir
M flang/test/HLFIR/volatile2.fir
M flang/test/HLFIR/volatile3.fir
M flang/test/HLFIR/volatile4.fir
M flang/test/Integration/allocatable-polymorphic.f90
M flang/test/Integration/debug-common-block-1.f90
M flang/test/Integration/debug-include-file.f90
A flang/test/Integration/debug-submodule-ancestor.F90
A flang/test/Integration/debug-submodule-nested.F90
M flang/test/Integration/debug-submodule-procedure.F90
M flang/test/Integration/dense-array-any-rank.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-cooperative.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-derived.cuf
M flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
M flang/test/Lower/CUDA/cuda-gpu-unified.cuf
M flang/test/Lower/CUDA/cuda-kernel-alloca-block.cuf
M flang/test/Lower/CUDA/cuda-managed-func-result.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
M flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/CUDA/cuda-return01.cuf
M flang/test/Lower/CUDA/cuda-return02.cuf
A flang/test/Lower/CUDA/finit-local-cuda.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/bindc-entry-stmt.f90
M flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/convert-variable-block.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/dummy-scope.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
M flang/test/Lower/HLFIR/elemental-result-length.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/index.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/matmul.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/maxval.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/null.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/procedure-designators.f90
M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/product.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/sum.f90
M flang/test/Lower/HLFIR/tdesc-character-comp-init.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/trim.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/HLFIR/visible-cray-pointer-target.f90
M flang/test/Lower/HLFIR/where.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/associated.f90
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/btest.f90
M flang/test/Lower/Intrinsics/c_associated.f90
M flang/test/Lower/Intrinsics/c_devptr_eq_ne.f90
M flang/test/Lower/Intrinsics/c_funloc.f90
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/chdir.f90
M flang/test/Lower/Intrinsics/free.f90
M flang/test/Lower/Intrinsics/get_command.f90
M flang/test/Lower/Intrinsics/getcwd-function.f90
M flang/test/Lower/Intrinsics/getpid.f90
M flang/test/Lower/Intrinsics/hostnm-func.f90
M flang/test/Lower/Intrinsics/ibset.f90
M flang/test/Lower/Intrinsics/ichar.f90
M flang/test/Lower/Intrinsics/ieee_class.f90
M flang/test/Lower/Intrinsics/ieee_compare.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/ieee_max_min.f90
M flang/test/Lower/Intrinsics/ieee_real.f90
M flang/test/Lower/Intrinsics/ieee_rem.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/ieee_signbit.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
M flang/test/Lower/Intrinsics/ierrno.f90
M flang/test/Lower/Intrinsics/malloc.f90
M flang/test/Lower/Intrinsics/min.f90
A flang/test/Lower/Intrinsics/mvbits-unsigned.f90
M flang/test/Lower/Intrinsics/nearest.f90
M flang/test/Lower/Intrinsics/not.f90
M flang/test/Lower/Intrinsics/perror.f90
M flang/test/Lower/Intrinsics/putenv-func.f90
M flang/test/Lower/Intrinsics/rand.f90
M flang/test/Lower/Intrinsics/real.f90
M flang/test/Lower/Intrinsics/reduce.f90
M flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/Intrinsics/selected_char_kind.f90
M flang/test/Lower/Intrinsics/selected_logical_kind.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
M flang/test/Lower/Intrinsics/size.f90
M flang/test/Lower/Intrinsics/system_clock.f90
M flang/test/Lower/Intrinsics/time.f90
M flang/test/Lower/Intrinsics/unlink-func.f90
M flang/test/Lower/Intrinsics/verify.f90
M flang/test/Lower/MIF/coarray_allocation2.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
A flang/test/Lower/OpenACC/acc-data-cuda-device.f90
M flang/test/Lower/OpenACC/acc-data-operands-remapping.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-declare-common-present-in-function.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare-use-associated.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-allocatable-component.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenACC/acc-set.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Lower/OpenACC/acc-use-device.f90
M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-firstprivate.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/atomic-implicit-cast.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
M flang/test/Lower/OpenMP/block_implicit_privatization.f90
M flang/test/Lower/OpenMP/block_predetermined_privatization.f90
M flang/test/Lower/OpenMP/cancel.f90
M flang/test/Lower/OpenMP/cancellationpoint.f90
M flang/test/Lower/OpenMP/common-atomic-lowering.f90
M flang/test/Lower/OpenMP/common-block-map.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
M flang/test/Lower/OpenMP/declare_target_module.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-private.f90
M flang/test/Lower/OpenMP/derived-type-map.f90
M flang/test/Lower/OpenMP/fuse01.f90
M flang/test/Lower/OpenMP/fuse02.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/hlfir-to-fir-conv-omp.mlir
M flang/test/Lower/OpenMP/implicit-dsa.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-conditional-nested-parallel.f90
M flang/test/Lower/OpenMP/lastprivate-conditional-teams.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/linear_modifier.f90
M flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/masked_taskloop.f90
M flang/test/Lower/OpenMP/metadirective-loop.f90
M flang/test/Lower/OpenMP/omp-declarative-allocate-align.f90
M flang/test/Lower/OpenMP/omp-declarative-allocate.f90
M flang/test/Lower/OpenMP/omp-declare-reduction-derivedtype.f90
M flang/test/Lower/OpenMP/omp-declare-target-program-var.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/parallel-masked-taskloop.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
M flang/test/Lower/OpenMP/parallel-reduction-complex.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/parallel-reduction.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
M flang/test/Lower/OpenMP/reduction-equivalence.f90
M flang/test/Lower/OpenMP/sections-predetermined-private.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/shared-loop.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target-teams-private.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task-affinity.f90
M flang/test/Lower/OpenMP/task-depend-structure-component.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup-task_reduction01.f90
M flang/test/Lower/OpenMP/taskloop-cancel.f90
M flang/test/Lower/OpenMP/taskloop-collapse.f90
M flang/test/Lower/OpenMP/taskloop-grainsize.f90
M flang/test/Lower/OpenMP/taskloop-inreduction.f90
M flang/test/Lower/OpenMP/taskloop-numtasks.f90
M flang/test/Lower/OpenMP/taskloop-reduction.f90
M flang/test/Lower/OpenMP/taskloop.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
M flang/test/Lower/OpenMP/threadprivate-common-block-pointer.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
M flang/test/Lower/OpenMP/threadprivate-use-association.f90
M flang/test/Lower/OpenMP/tile01.f90
M flang/test/Lower/OpenMP/tile02.f90
M flang/test/Lower/OpenMP/unroll-heuristic01.f90
M flang/test/Lower/OpenMP/unroll-heuristic02.f90
M flang/test/Lower/OpenMP/unroll-heuristic03.f90
M flang/test/Lower/OpenMP/unroll-partial01.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-linear.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/achar.f90
M flang/test/Lower/allocatable-assignment.f90
M flang/test/Lower/allocatable-caller.f90
M flang/test/Lower/allocatable-return.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocatables.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
M flang/test/Lower/alternate-return.f90
M flang/test/Lower/always-execute-loop-body.f90
M flang/test/Lower/arithmetic-goto.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-constructor-1.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/array-elemental-calls-char-dynamic.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array.f90
M flang/test/Lower/assignment.f90
M flang/test/Lower/associate-construct.f90
M flang/test/Lower/assumed-shape-caller.f90
M flang/test/Lower/assumed-type.f90
M flang/test/Lower/basic-call.f90
M flang/test/Lower/block.f90
M flang/test/Lower/bug172157-3.f90
M flang/test/Lower/c-interoperability-c-pointer.f90
M flang/test/Lower/c-interoperability.f90
M flang/test/Lower/call-implicit.f90
M flang/test/Lower/call.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/character-local-variables.f90
M flang/test/Lower/common-block-2.f90
M flang/test/Lower/common-block-char0.f90
M flang/test/Lower/common-block-multiple-init.f90
M flang/test/Lower/complex-real.f90
M flang/test/Lower/computed-goto.f90
M flang/test/Lower/constant-literal-mangling.f90
M flang/test/Lower/constant-logical-transfer.f90
M flang/test/Lower/convert.f90
M flang/test/Lower/cray-pointer.f90
A flang/test/Lower/debug-submodule.f90
M flang/test/Lower/declare-with-storage.f90
M flang/test/Lower/default-initialization-globals.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-type-descriptor.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/do_concurrent.f90
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_reduce.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/dummy-procedure.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-2.f90
M flang/test/Lower/equivalence-static-init.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/extrn_subp.f90
A flang/test/Lower/finit-local-array-llvm.f90
A flang/test/Lower/finit-local-cray-pointee.f90
A flang/test/Lower/finit-local-exclusions.f90
A flang/test/Lower/finit-local-f128.f90
A flang/test/Lower/finit-local-kind-mapping-rtchar.f90
A flang/test/Lower/finit-local-kind-mapping-subbyte.f90
A flang/test/Lower/finit-local-kind-mapping.f90
A flang/test/Lower/finit-local-logical-llvm.f90
A flang/test/Lower/finit-local-packed.f90
A flang/test/Lower/finit-local-ppc-vector-llvm.f90
A flang/test/Lower/finit-local-real10-llvm.f90
A flang/test/Lower/finit-local-unsigned.f90
A flang/test/Lower/finit-local-volatile-llvm.f90
A flang/test/Lower/finit-local-volatile-real10.f90
A flang/test/Lower/finit-local-volatile.f90
A flang/test/Lower/finit-local.f90
M flang/test/Lower/forall-pointer-assignment.f90
M flang/test/Lower/forall/degenerate.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/forall/forall-allocatable.f90
M flang/test/Lower/forall/forall-where-2.f90
M flang/test/Lower/global-alignment.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host_module_variable_instantiation_use_device.f90
A flang/test/Lower/if-constant-condition.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/inline-hlfir-assign-pointer-omp.f90
M flang/test/Lower/inline_directive.f90
M flang/test/Lower/inlinealways-directive.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/io-statement-1.f90
M flang/test/Lower/io-statement-3.f90
M flang/test/Lower/io-statement-clean-ups.f90
M flang/test/Lower/io-write.f90
M flang/test/Lower/ivdep.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/module-parameter-linkonce-odr.f90
M flang/test/Lower/module_definition.f90
M flang/test/Lower/module_use.f90
M flang/test/Lower/namelist-common-block.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/pointer-assignments.f90
M flang/test/Lower/pointer-association-polymorphic.f90
M flang/test/Lower/pointer-default-init.f90
M flang/test/Lower/pointer-initial-target-2.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/pointer-results-as-arguments.f90
M flang/test/Lower/pointer-runtime.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic-types.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type-2.fir
M flang/test/Lower/select-type.f90
M flang/test/Lower/simd-directive.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/stop-statement.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Lower/submodule.f90
M flang/test/Lower/transformational-intrinsics.f90
M flang/test/Lower/typeof-classof.f90
M flang/test/Lower/unroll.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/unsigned-ops.f90
M flang/test/Lower/variable-common-viewed-as-module-var.f90
M flang/test/Lower/variable.f90
M flang/test/Lower/vector-always.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/test/Lower/vectorlength.f90
M flang/test/Lower/volatile-derived-type.f90
M flang/test/Lower/volatile-openmp1.f90
M flang/test/Lower/volatile-string.f90
M flang/test/Lower/volatile1.f90
M flang/test/Lower/volatile2.f90
M flang/test/Lower/volatile3.f90
M flang/test/Lower/volatile4.f90
M flang/test/Lower/while_loop.f90
M flang/test/Lower/zero-size.f90
M flang/test/Semantics/OpenMP/defaultmap-clause-none.f90
M flang/test/Transforms/CUF/cuf-kernel-licm.fir
M flang/test/Transforms/DoConcurrent/basic_device.f90
M flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/test/Transforms/DoConcurrent/basic_host.mlir
M flang/test/Transforms/DoConcurrent/locality_specifiers_simple.mlir
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
M flang/test/Transforms/DoConcurrent/reduce_add.mlir
M flang/test/Transforms/DoConcurrent/reduce_all_regions.mlir
M flang/test/Transforms/DoConcurrent/reduce_local.mlir
M flang/test/Transforms/DoConcurrent/skip_all_nested_loops.f90
M flang/test/Transforms/FIRToMemRef/slice.mlir
M flang/test/Transforms/OpenACC/acc-implicit-declare-module-parameter.fir
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-alloca.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-embox.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-rebox.F90
M flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-type_desc.F90
M flang/test/Transforms/OpenMP/lower-workdistribute-fission-host.mlir
M flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
M flang/test/Transforms/OpenMP/lower-workshare-thread-local.mlir
M flang/test/Transforms/debug-module-submodule-procedure.fir
A flang/test/Transforms/debug-submodule.fir
M flang/test/Transforms/do-concurrent-localizer-dealloc-region.fir
M flang/test/Transforms/do-concurrent-localizer-init-region.fir
M flang/test/Transforms/licm.fir
M flang/test/Transforms/loop-versioning.fir
M flang/test/Transforms/lower-repack-arrays.fir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/test/Transforms/stack-arrays-lifetime.fir
M flang/test/Transforms/stack-arrays.fir
M flang/test/Transforms/tbaa-cray-pointer.fir
M flang/test/Transforms/tbaa-derived-type-records.fir
M flang/test/Transforms/tbaa-derived-with-descriptor.fir
M flang/test/Transforms/tbaa-for-common-vars.fir
M flang/test/Transforms/tbaa-for-global-equiv-vars.fir
M flang/test/Transforms/tbaa-target-inlined-results.fir
M flang/test/Transforms/tbaa-value-dummy-arg.fir
M flang/test/Transforms/tbaa-with-dummy-scope.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
M flang/test/Transforms/tbaa4.fir
M flang/tools/bbc/bbc.cpp
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/conf.py
M libc/hdr/CMakeLists.txt
A libc/hdr/poll_macros.h
A libc/hdr/sys_xattr_macros.h
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sys-xattr-macros.h
A libc/include/llvm-libc-macros/sys-xattr-macros.h
M libc/include/poll.yaml
M libc/include/stdio.yaml
M libc/include/sys/select.yaml
M libc/include/sys/stat.yaml
M libc/include/sys/xattr.yaml
M libc/include/unistd.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/access.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/chdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/chmod.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/faccessat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchmod.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/fdatasync.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/fgetxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/fsetxattr.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getcwd.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/getxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/lgetxattr.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/link.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/lsetxattr.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mkdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mkdirat.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/ppoll.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/pselect6.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlink.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlinkat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rename.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/renameat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rmdir.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/setxattr.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/statx.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlink.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlinkat.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/utimensat.h
M libc/src/__support/math/bf16sub.h
M libc/src/__support/math/bf16subf.h
M libc/src/__support/math/bf16subf128.h
M libc/src/__support/math/lgammaf.h
M libc/src/__support/net/CMakeLists.txt
M libc/src/__support/net/address.cpp
M libc/src/__support/net/address.h
M libc/src/arpa/inet/CMakeLists.txt
A libc/src/arpa/inet/inet_pton.cpp
A libc/src/arpa/inet/inet_pton.h
M libc/src/poll/CMakeLists.txt
M libc/src/poll/linux/CMakeLists.txt
A libc/src/poll/linux/ppoll.cpp
A libc/src/poll/ppoll.h
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/linux/CMakeLists.txt
A libc/src/stdio/linux/renameat.cpp
A libc/src/stdio/renameat.h
M libc/src/sys/select/CMakeLists.txt
M libc/src/sys/select/linux/CMakeLists.txt
A libc/src/sys/select/linux/pselect.cpp
M libc/src/sys/select/linux/select.cpp
A libc/src/sys/select/pselect.h
M libc/src/sys/stat/CMakeLists.txt
M libc/src/sys/stat/linux/CMakeLists.txt
A libc/src/sys/stat/linux/mknod.cpp
A libc/src/sys/stat/mknod.h
M libc/src/sys/xattr/CMakeLists.txt
A libc/src/sys/xattr/fgetxattr.h
M libc/src/sys/xattr/flistxattr.h
A libc/src/sys/xattr/fsetxattr.h
A libc/src/sys/xattr/getxattr.h
A libc/src/sys/xattr/lgetxattr.h
M libc/src/sys/xattr/linux/CMakeLists.txt
A libc/src/sys/xattr/linux/fgetxattr.cpp
M libc/src/sys/xattr/linux/flistxattr.cpp
A libc/src/sys/xattr/linux/fsetxattr.cpp
A libc/src/sys/xattr/linux/getxattr.cpp
A libc/src/sys/xattr/linux/lgetxattr.cpp
M libc/src/sys/xattr/linux/listxattr.cpp
M libc/src/sys/xattr/linux/llistxattr.cpp
A libc/src/sys/xattr/linux/lsetxattr.cpp
A libc/src/sys/xattr/linux/setxattr.cpp
M libc/src/sys/xattr/listxattr.h
M libc/src/sys/xattr/llistxattr.h
A libc/src/sys/xattr/lsetxattr.h
A libc/src/sys/xattr/setxattr.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/fdatasync.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/fdatasync.cpp
M libc/test/shared/shared_math_constexpr_test.cpp
M libc/test/src/arpa/inet/CMakeLists.txt
A libc/test/src/arpa/inet/inet_pton_test.cpp
M libc/test/src/poll/CMakeLists.txt
A libc/test/src/poll/ppoll_test.cpp
M libc/test/src/stdio/CMakeLists.txt
A libc/test/src/stdio/renameat_test.cpp
M libc/test/src/sys/select/CMakeLists.txt
A libc/test/src/sys/select/pselect_test.cpp
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/chmod_test.cpp
A libc/test/src/sys/stat/mknod_test.cpp
M libc/test/src/sys/xattr/CMakeLists.txt
R libc/test/src/sys/xattr/flistxattr_test.cpp
A libc/test/src/sys/xattr/fxattr_test.cpp
R libc/test/src/sys/xattr/listxattr_test.cpp
R libc/test/src/sys/xattr/llistxattr_test.cpp
A libc/test/src/sys/xattr/lxattr_test.cpp
A libc/test/src/sys/xattr/xattr_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/fdatasync_test.cpp
M libcxx/docs/Contributing.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/docs/conf.py
M libcxx/docs/index.rst
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__locale_dir/num.h
M libcxx/include/__locale_dir/support/aix.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/newlib.h
M libcxx/include/__locale_dir/support/no_locale/strtonum.h
M libcxx/include/__locale_dir/support/openbsd.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/src/support/win32/locale_win32.cpp
M libcxx/test/CMakeLists.txt
R libcxx/test/benchmarks/CMakeLists.txt
A libcxx/test/benchmarks/lit.local.cfg
M libcxx/test/configs/harness-configuration.cfg.in
M libcxx/utils/ci/docker/linux-builder.dockerfile
M libcxx/utils/ci/lnt/machines.json
M libcxx/utils/ci/lnt/run-benchmarks
M libcxx/utils/libcxx/test/config.py
M libcxx/utils/libcxx/test/format.py
A libcxx/utils/libcxx/test/googlebenchmark.py
M libcxx/utils/libcxx/test/params.py
M libcxx/utils/test-at-commit
M libcxxabi/test/CMakeLists.txt
M libcxxabi/test/configs/cmake-bridge.cfg.in
M libsycl/src/CMakeLists.txt
A libsycl/test/basic/linux-rpath.test
M libsycl/test/lit.cfg.py
M libunwind/test/CMakeLists.txt
M libunwind/test/configs/cmake-bridge.cfg.in
M lld/ELF/MarkLive.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/MapFile.cpp
M lld/MachO/Relocations.cpp
M lld/MachO/Symbols.cpp
M lld/MachO/Symbols.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
M lld/docs/conf.py
M lld/test/ELF/why-live.test
M lld/test/MachO/arm64-reloc-tlv-load.s
M lld/test/MachO/flat-namespace-interposable.s
A lld/test/MachO/got-to-tlv-reference.s
M lld/test/MachO/indirect-symtab.s
R lld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s
R lld/test/MachO/invalid/bad-got-to-tlv-reference.s
M lld/test/MachO/map-file.s
M lld/test/MachO/tapi-link.s
M lld/test/MachO/tlv-dylib.s
A lld/test/MachO/tlv-dynamic-lookup-x86.s
A lld/test/MachO/tlv-dynamic-lookup.s
A lld/test/MachO/tlv-non-lazy-pointer.s
M lld/test/MachO/weak-binding.s
M lld/test/MachO/weak-reference.s
M lld/test/Unit/lit.cfg.py
M lld/unittests/AsLibELF/CMakeLists.txt
M lld/unittests/AsLibELF/OutputStream.cpp
M lld/unittests/AsLibELF/ROCm.cpp
M lldb/docs/conf.py
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/Process.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session_helpers.py
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
M lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/scanner.c
M lldb/source/Plugins/ObjectContainer/CMakeLists.txt
A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/CMakeLists.txt
A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/ObjectContainerClangOffloadBundle.cpp
A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/ObjectContainerClangOffloadBundle.h
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Target/DynamicRegisterInfo.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/Policy.cpp
M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/functionalities/archives/Makefile
M lldb/test/API/functionalities/duplicate-archive-members/Makefile
M lldb/test/API/lang/objc/conflicting-definition/Makefile
M lldb/test/API/lang/objc/hidden-ivars/Makefile
M lldb/test/API/lit.cfg.py
M lldb/test/API/macosx/expedited-recent-reads/TestExpeditedRecentReads.py
M lldb/test/API/macosx/expedited-stack-memory/main.c
M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/Makefile
M lldb/test/API/macosx/find-dsym/deep-bundle/Makefile
M lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
M lldb/test/API/macosx/function-starts/Makefile
M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
M lldb/test/API/python_api/sbmodule/Makefile
M lldb/test/API/windows/launch/replace-dll/TestReplaceDLL.py
A lldb/test/Shell/ObjectFile/wasm/data-segment-names.yaml
A lldb/test/Shell/ScriptInterpreter/Python/nested_command_selected_target.test
A lldb/test/Shell/SymbolFile/NativePDB/dedupe-exported-public-symbols.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
M lldb/tools/lldb-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/corefile.dict
A lldb/tools/lldb-fuzzer/lldb-corefile-fuzzer/lldb-corefile-fuzzer.cpp
M lldb/unittests/ObjectContainer/CMakeLists.txt
A lldb/unittests/ObjectContainer/ObjectContainerClangOffloadBundleTest.cpp
M lldb/unittests/Utility/PolicyTest.cpp
M llvm/docs/AIToolPolicy.md
M llvm/docs/AMDGPU/DeveloperGuideline.rst
M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/AdminTasks.md
A llvm/docs/AlignedBundling.md
R llvm/docs/AlignedBundling.rst
A llvm/docs/BlockFrequencyTerminology.md
R llvm/docs/BlockFrequencyTerminology.rst
A llvm/docs/BranchWeightMetadata.md
R llvm/docs/BranchWeightMetadata.rst
A llvm/docs/BugLifeCycle.md
R llvm/docs/BugLifeCycle.rst
A llvm/docs/CIBestPractices.md
R llvm/docs/CIBestPractices.rst
M llvm/docs/CodeGenerator.md
A llvm/docs/CodeReview.md
R llvm/docs/CodeReview.rst
M llvm/docs/CodingStandards.md
M llvm/docs/CommandGuide/llvm-cov.md
M llvm/docs/CommandGuide/llvm-ir2vec.md
M llvm/docs/CommandGuide/llvm-remarkutil.md
M llvm/docs/CommandLine.md
M llvm/docs/CompileCudaWithLLVM.md
A llvm/docs/ConvergenceAndUniformity.md
R llvm/docs/ConvergenceAndUniformity.rst
A llvm/docs/ConvergentOperations.md
R llvm/docs/ConvergentOperations.rst
A llvm/docs/DependenceGraphs/index.md
R llvm/docs/DependenceGraphs/index.rst
M llvm/docs/DeveloperPolicy.md
M llvm/docs/DirectX/SemanticSignatures.md
M llvm/docs/ExtendingLLVM.md
A llvm/docs/FaultMaps.md
R llvm/docs/FaultMaps.rst
A llvm/docs/FuzzingLLVM.md
R llvm/docs/FuzzingLLVM.rst
A llvm/docs/GetElementPtr.md
R llvm/docs/GetElementPtr.rst
M llvm/docs/GettingInvolved.md
M llvm/docs/GettingStarted.md
A llvm/docs/GitBisecting.md
R llvm/docs/GitBisecting.rst
M llvm/docs/GitHub.md
A llvm/docs/GitHubActionsRunners.md
R llvm/docs/GitHubActionsRunners.rst
M llvm/docs/GitRepositoryPolicy.md
A llvm/docs/GwpAsan.md
R llvm/docs/GwpAsan.rst
A llvm/docs/HowToAddABuilder.md
R llvm/docs/HowToAddABuilder.rst
M llvm/docs/HowToBuildWithPGO.md
M llvm/docs/HowToCrossCompileBuiltinsOnArm.md
M llvm/docs/HowToCrossCompileLLVM.md
A llvm/docs/HowToReleaseLLVM.md
R llvm/docs/HowToReleaseLLVM.rst
A llvm/docs/HowToSetUpLLVMStyleRTTI.md
R llvm/docs/HowToSetUpLLVMStyleRTTI.rst
A llvm/docs/HowToSubmitABug.md
R llvm/docs/HowToSubmitABug.rst
A llvm/docs/HowToUseInstrMappings.md
R llvm/docs/HowToUseInstrMappings.rst
A llvm/docs/InAlloca.md
R llvm/docs/InAlloca.rst
M llvm/docs/InstrProfileFormat.md
M llvm/docs/InstrRefDebugInfo.md
A llvm/docs/InterfaceExportAnnotations.md
R llvm/docs/InterfaceExportAnnotations.rst
A llvm/docs/KernelInfo.md
R llvm/docs/KernelInfo.rst
M llvm/docs/LFI.md
M llvm/docs/LangRef.md
M llvm/docs/Lexicon.md
A llvm/docs/LoopFusion.md
R llvm/docs/LoopFusion.rst
M llvm/docs/LoopTerminology.md
M llvm/docs/MIRLangRef.md
A llvm/docs/MLGO.md
R llvm/docs/MLGO.rst
M llvm/docs/MarkdownQuickstartTemplate.md
M llvm/docs/MeetupGuidelines.md
M llvm/docs/MemProf.md
M llvm/docs/MergeFunctions.md
M llvm/docs/NVPTXUsage.md
M llvm/docs/OpaquePointers.md
M llvm/docs/PDB/HashTable.md
M llvm/docs/PointerAuth.md
M llvm/docs/ProgrammersManual.md
M llvm/docs/Proposals/VectorPredication.md
M llvm/docs/QualGroup.md
M llvm/docs/RISCV/RISCVVectorExtension.md
M llvm/docs/RISCVUsage.md
M llvm/docs/ReleaseNotes.md
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/SandboxIR.md
M llvm/docs/ScudoHardenedAllocator.md
M llvm/docs/SecurityTransparencyReports.md
M llvm/docs/SphinxQuickstartTemplate.md
M llvm/docs/SupportPolicy.md
M llvm/docs/TestingGuide.md
M llvm/docs/UndefinedBehavior.md
M llvm/docs/conf.py
M llvm/docs/tutorial/BuildingAJIT1.md
M llvm/docs/tutorial/BuildingAJIT4.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl09.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl10.md
M llvm/examples/OrcV2Examples/LLJITDumpObjects/LLJITDumpObjects.cpp
M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
M llvm/include/llvm-c/Core.h
A llvm/include/llvm/ABI/DefaultTargetInfo.h
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/LazyValueInfo.h
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Analysis/SimplifyQuery.h
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/WinEHPrepare.h
M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
M llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.h
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/Instruction.def
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/NoFolder.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/SandboxIR/Value.h
A llvm/include/llvm/Support/AArch64MemoryHints.h
M llvm/include/llvm/Support/AutoConvert.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
A llvm/include/llvm/TargetParser/IntelGPUTargetParser.def
A llvm/include/llvm/TargetParser/IntelGPUTargetParser.h
M llvm/include/llvm/TargetParser/PPCTargetParser.def
M llvm/include/llvm/TargetParser/PPCTargetParser.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/module.modulemap
M llvm/lib/ABI/CMakeLists.txt
A llvm/lib/ABI/DefaultTargetInfo.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AllocationOrder.cpp
M llvm/lib/CodeGen/AllocationOrder.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
M llvm/lib/CodeGen/MIR2Vec.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineCycleAnalysis.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/SjLjEHPrepare.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/DebugInfo/PDB/Native/InfoStreamBuilder.cpp
M llvm/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/HTTP/HTTPClient.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/CycleInfo.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CodeLayoutOpt.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64PTrueCoalescing.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
A llvm/lib/Target/AMDGPU/SIPostRA16BitMovFolding.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
M llvm/lib/Target/Mips/CMakeLists.txt
M llvm/lib/Target/Mips/Mips.h
M llvm/lib/Target/Mips/Mips16HardFloat.cpp
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/lib/Target/Mips/MipsCallLowering.h
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
R llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.h
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVAuxDataHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZXPLINKAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/MCTargetDesc/X86MCLFIRewriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCLFIRewriter.h
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/lib/Target/X86/X86LFIRewritePass.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/Host.cpp
A llvm/lib/TargetParser/IntelGPUTargetParser.cpp
M llvm/lib/TargetParser/PPCTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/Evaluator.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.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.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-expandload-compressstore.ll
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
M llvm/test/Analysis/IR2Vec/Inputs/reference_default_vocab_print.txt
M llvm/test/Analysis/IR2Vec/Inputs/reference_wtd1_vocab_print.txt
M llvm/test/Analysis/IR2Vec/Inputs/reference_wtd2_vocab_print.txt
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/trip-count13.ll
A llvm/test/Analysis/TypeBasedAliasAnalysis/merge-immutable.ll
M llvm/test/Analysis/ValueTracking/phi-known-nonzero.ll
A llvm/test/Assembler/bitinsert-bitextract-invalid.ll
A llvm/test/Assembler/bitinsert-bitextract.ll
A llvm/test/Bitcode/aarch64-neon-minmax-upgrade.ll
M llvm/test/Bitcode/compatibility.ll
A llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-hint.ll
A llvm/test/CodeGen/AArch64/Atomics/aarch64-relaxed-store-hint.ll
A llvm/test/CodeGen/AArch64/Atomics/atomic-store-pseudo.mir
M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators.ll
M llvm/test/CodeGen/AArch64/abd-combine.ll
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/CodeGen/AArch64/arm64-ccmp-heuristics.ll
M llvm/test/CodeGen/AArch64/arm64-fastcc-tailcall.ll
M llvm/test/CodeGen/AArch64/arm64-prefetch-new.ll
M llvm/test/CodeGen/AArch64/arm64-prefetch.ll
A llvm/test/CodeGen/AArch64/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/AArch64/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/AArch64/bitinsert-bitextract.ll
M llvm/test/CodeGen/AArch64/code-layout-opt.ll
M llvm/test/CodeGen/AArch64/constant-pool-partition.ll
M llvm/test/CodeGen/AArch64/fcvt-fixed.ll
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract-nosve.ll
M llvm/test/CodeGen/AArch64/insert-subvector-res-legalization.ll
M llvm/test/CodeGen/AArch64/instr-ref-ldv.ll
M llvm/test/CodeGen/AArch64/jump-table-partition.ll
M llvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll
M llvm/test/CodeGen/AArch64/masked-srem-scalable.ll
M llvm/test/CodeGen/AArch64/masked-urem-scalable.ll
A llvm/test/CodeGen/AArch64/neon-get-active-lane-mask.ll
A llvm/test/CodeGen/AArch64/sme-za-non-sibling-tailcall.ll
M llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
M llvm/test/CodeGen/AArch64/sve-bf16-combines.ll
M llvm/test/CodeGen/AArch64/sve-bf16-int-converts.ll
M llvm/test/CodeGen/AArch64/sve-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-fpext-load.ll
M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/sve-load-store-legalisation.ll
M llvm/test/CodeGen/AArch64/sve-lsrchain.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop2.ll
M llvm/test/CodeGen/AArch64/sve-shift-trunc-combine.ll
M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
A llvm/test/CodeGen/AArch64/sve-vector-repeat.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vector-absolute-difference.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-readlane-redundant-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-bits-readlane.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-memory-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/merge-values-s16-true16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/add_sub_u64_pseudos.mir
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-non-kernel-declaration.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-all.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float-fp8-hw.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_mul_one.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
A llvm/test/CodeGen/AMDGPU/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/AMDGPU/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/AMDGPU/bitinsert-bitextract.ll
M llvm/test/CodeGen/AMDGPU/block-should-not-be-in-alive-blocks.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.mir
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/i1-copy-from-loop.ll
M llvm/test/CodeGen/AMDGPU/i1-divergent-phi-fix-sgpr-copies-assert.mir
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
A llvm/test/CodeGen/AMDGPU/lds-dynamic-direct-and-indirect-use.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.load.format.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.store.format.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.store.format.f32.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.format.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.store.format.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.store.format.f32.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.tbuffer.load.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.tbuffer.load.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.tbuffer.store.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.tbuffer.load.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.tbuffer.load.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.tbuffer.store.f16.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/legalize-soffset-mbuf.ll
A llvm/test/CodeGen/AMDGPU/lirp.mir
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.encode.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.anti-hints.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.waitcnt.out.order.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/loop_break.ll
M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-intervals.mir
M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-variables-update.mir
M llvm/test/CodeGen/AMDGPU/lower-control-flow-other-terminators.mir
M llvm/test/CodeGen/AMDGPU/lower-i1-copies-clear-kills.mir
M llvm/test/CodeGen/AMDGPU/lower-i1-copies-implicit-def-unstructured-loop.mir
M llvm/test/CodeGen/AMDGPU/lower-lds-with-alias-scope.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-with-noalias.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
M llvm/test/CodeGen/AMDGPU/mmra.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-absdiff.mir
M llvm/test/CodeGen/AMDGPU/move-to-valu-vimage-vsample.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir
A llvm/test/CodeGen/AMDGPU/readlane-known-bits.ll
M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
A llvm/test/CodeGen/AMDGPU/scalar_to_vector_v2bf16.ll
M llvm/test/CodeGen/AMDGPU/sgpr-scavenge-fi-stack-id.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-nested-control-flows.ll
M llvm/test/CodeGen/AMDGPU/si-init-whole-wave.mir
M llvm/test/CodeGen/AMDGPU/si-lower-control-flow-remove-redundant-block-liveintervals.mir
M llvm/test/CodeGen/AMDGPU/si-lower-control-flow.mir
M llvm/test/CodeGen/AMDGPU/si-lower-i1-copies-order-of-phi-incomings.mir
M llvm/test/CodeGen/AMDGPU/si-lower-i1-copies.mir
A llvm/test/CodeGen/AMDGPU/si-post-ra-merge-v-mov-b16.mir
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/transform-block-with-return-to-epilog.ll
M llvm/test/CodeGen/AMDGPU/true16-fold.mir
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
A llvm/test/CodeGen/AMDGPU/vopd3-f64-opy-last-vgpr-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/wqm.mir
A llvm/test/CodeGen/ARM/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/ARM/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/ARM/bitinsert-bitextract.ll
A llvm/test/CodeGen/DirectX/LegalizeAtomicExchangeFloat-unsupported-width.ll
A llvm/test/CodeGen/DirectX/LegalizeAtomicExchangeFloat.ll
M llvm/test/CodeGen/DirectX/ResourceAtomicBinOp-texture-nonscalar.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-i64-sm65.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture-nonscalar.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture-unsupported-kind.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-unsupported-result.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange.ll
A llvm/test/CodeGen/DirectX/ResourceAtomicExchangeFloat.ll
R llvm/test/CodeGen/Generic/sjlj-eh-prepare.ll
M llvm/test/CodeGen/Hexagon/bugAsmHWloop.ll
M llvm/test/CodeGen/Hexagon/circ_ld.ll
M llvm/test/CodeGen/Hexagon/cmpb-eq.ll
M llvm/test/CodeGen/Hexagon/early-if-spare.ll
M llvm/test/CodeGen/Hexagon/hwloop-preh.ll
M llvm/test/CodeGen/Hexagon/insert4.ll
M llvm/test/CodeGen/Hexagon/mux-basic.ll
M llvm/test/CodeGen/Hexagon/pic-simple.ll
M llvm/test/CodeGen/Hexagon/pic-static.ll
M llvm/test/CodeGen/Hexagon/predicate-logical.ll
M llvm/test/CodeGen/Hexagon/rdf-copy.ll
M llvm/test/CodeGen/Hexagon/sdata-basic.ll
M llvm/test/CodeGen/Hexagon/store-widen.ll
M llvm/test/CodeGen/Hexagon/swp-stages4.ll
M llvm/test/CodeGen/Hexagon/swp-stages5.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vshifts.ll
M llvm/test/CodeGen/LoongArch/pr177863.ll
A llvm/test/CodeGen/MIR/AMDGPU/register-allocation-antihints-mir-print-parse.mir
M llvm/test/CodeGen/MLRegAlloc/dev-mode-logging.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/aggregate_struct_return.ll
A llvm/test/CodeGen/Mips/GlobalISel/irtranslator/big-endian.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/extend_args.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/float_args.ll
A llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/big-endian-memory.ll
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/float_constants.ll
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/load_store_vec.ll
M llvm/test/CodeGen/Mips/mips16-hf-attr.ll
M llvm/test/CodeGen/Mips/mips16_32_1.ll
M llvm/test/CodeGen/Mips/mips16_32_10.ll
M llvm/test/CodeGen/Mips/mips16_32_3.ll
M llvm/test/CodeGen/Mips/mips16_32_4.ll
M llvm/test/CodeGen/Mips/mips16_32_5.ll
M llvm/test/CodeGen/Mips/mips16_32_6.ll
M llvm/test/CodeGen/Mips/mips16_32_7.ll
M llvm/test/CodeGen/Mips/mips16_32_8.ll
M llvm/test/CodeGen/Mips/mips16_32_9.ll
M llvm/test/CodeGen/Mips/small-section-reserve-gp.ll
M llvm/test/CodeGen/NVPTX/arbitrary-fp-to-float.ll
M llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
M llvm/test/CodeGen/NVPTX/st_bulk.ll
A llvm/test/CodeGen/NVPTX/st_bulk_i32.ll
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/PowerPC/aa-tbaa.ll
A llvm/test/CodeGen/PowerPC/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/PowerPC/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/PowerPC/bitinsert-bitextract.ll
A llvm/test/CodeGen/RISCV/GlobalISel/half-convert.ll
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/CodeGen/RISCV/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/RISCV/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/RISCV/bitinsert-bitextract.ll
A llvm/test/CodeGen/RISCV/machine-sink-jumptable-edge-split.ll
A llvm/test/CodeGen/RISCV/rvp-ppaireo-w.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
A llvm/test/CodeGen/RISCV/rvp-widening-sub-acc.ll
M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
R llvm/test/CodeGen/RISCV/sifive-interrupt-attr-err.ll
M llvm/test/CodeGen/RISCV/sifive-interrupt-attr.ll
M llvm/test/CodeGen/RISCV/sifive-interrupt-frame-flags.ll
A llvm/test/CodeGen/RISCV/sifive-interrupt-frame-pointer.ll
A llvm/test/CodeGen/RISCV/tail-calls-sret.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
M llvm/test/CodeGen/RISCV/target-abi-invalid.ll
A llvm/test/CodeGen/RISCV/target-abi-synthesize-flag.ll
M llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access.ll
A llvm/test/CodeGen/SPIRV/pointers/variable-pointers-storage-buffer.ll
A llvm/test/CodeGen/SPIRV/structurizer/branch-no-switch.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.for.short-circuited-cond.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.while.short-circuited-cond.ll
M llvm/test/CodeGen/SystemZ/alias-01.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-fadd-04.ll
M llvm/test/CodeGen/SystemZ/cmpxchg-01.ll
M llvm/test/CodeGen/SystemZ/cmpxchg-02.ll
A llvm/test/CodeGen/SystemZ/dead-cc-defs.ll
M llvm/test/CodeGen/SystemZ/soft-float-05.ll
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
M llvm/test/CodeGen/SystemZ/zos-section-1.ll
M llvm/test/CodeGen/SystemZ/zos-section-2.ll
M llvm/test/CodeGen/SystemZ/zos-symbol-2.ll
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
R llvm/test/CodeGen/WebAssembly/coalesce-features-thread-model.ll
A llvm/test/CodeGen/WebAssembly/eh-invoke-label-suppression.ll
M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
A llvm/test/CodeGen/WebAssembly/wineh-prepare-wasm-personality.ll
A llvm/test/CodeGen/X86/GlobalISel/bitinsert-bitextract.ll
M llvm/test/CodeGen/X86/bfloat.ll
A llvm/test/CodeGen/X86/bitinsert-bitextract-common-offsets.ll
A llvm/test/CodeGen/X86/bitinsert-bitextract-fp.ll
A llvm/test/CodeGen/X86/bitinsert-bitextract.ll
M llvm/test/CodeGen/X86/dag-topological-sort.ll
A llvm/test/CodeGen/X86/eh-labels-unknown-personality.ll
A llvm/test/CodeGen/X86/fast-isel-call-frame-dead-eflags.ll
M llvm/test/CodeGen/X86/global-variable-partition-with-dap.ll
M llvm/test/CodeGen/X86/global-variable-partition.ll
A llvm/test/CodeGen/X86/lfi-align.ll
M llvm/test/CodeGen/X86/load-partial-dot-product.ll
M llvm/test/CodeGen/X86/masked_compressstore.ll
M llvm/test/CodeGen/X86/memset.ll
M llvm/test/CodeGen/X86/merge_store_duplicated_loads.ll
A llvm/test/CodeGen/X86/phi-elimination-dead-def.mir
A llvm/test/CodeGen/X86/regallocfast-implicit-def-live-out.mir
A llvm/test/CodeGen/X86/vec_setcc-3.ll
A llvm/test/CodeGen/X86/wineh-prepare-dwarf-personality.ll
M llvm/test/DebugInfo/PDB/pdbdump-raw-bytes.test
M llvm/test/Instrumentation/DataFlowSanitizer/origin_load.ll
M llvm/test/Instrumentation/DataFlowSanitizer/origin_select.ll
M llvm/test/Instrumentation/DataFlowSanitizer/origin_store.ll
M llvm/test/Instrumentation/InstrProfiling/conditional-counter-updates.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmax.ll
M llvm/test/Instrumentation/SanitizerCoverage/missing_dbg.ll
A llvm/test/Instrumentation/SanitizerCoverage/missing_dbg_stack_depth.ll
M llvm/test/MC/ELF/leb128-err.s
M llvm/test/MC/Mips/cnmips/valid.s
M llvm/test/MC/Mips/cnmipsp/valid.s
M llvm/test/MC/Mips/mips32r2/valid.s
M llvm/test/MC/Mips/mips32r3/valid.s
M llvm/test/MC/Mips/mips32r5/valid.s
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r2/valid.s
M llvm/test/MC/Mips/mips64r3/valid.s
M llvm/test/MC/Mips/mips64r5/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/xandesvsinth-invalid.s
M llvm/test/MC/RISCV/xandesvsinth-valid.s
M llvm/test/MC/RISCV/xqciio-invalid.s
M llvm/test/MC/RISCV/xqciio-valid.s
A llvm/test/MC/X86/LFI/control-flow-errors.s
A llvm/test/MC/X86/LFI/control-flow.s
M llvm/test/ObjectYAML/MachO/export_trie_lc_dyld_exports_trie.yaml
M llvm/test/ObjectYAML/MachO/export_trie_lc_dyld_info_only.yaml
M llvm/test/ObjectYAML/MachO/function_starts.yaml
R llvm/test/TableGen/AMDGPUTargetDefGenericClassification.td
M llvm/test/TableGen/AMDGPUTargetDefGenericFeatures.td
M llvm/test/TableGen/AsmPredicateCombiningRISCV.td
M llvm/test/TableGen/CompressInstEmitter/suboperands.td
M llvm/test/TableGen/RegClassByHwModeCompressPat.td
M llvm/test/Transforms/AggressiveInstCombine/trunc_unreachable_bb.ll
A llvm/test/Transforms/Attributor/callback-noalias.ll
M llvm/test/Transforms/Attributor/callbacks.ll
A llvm/test/Transforms/ConstraintElimination/sdiv.ll
M llvm/test/Transforms/ConstraintElimination/srem.ll
M llvm/test/Transforms/DivRemPairs/Mips/div-expanded-rem-pair.ll
M llvm/test/Transforms/GCOVProfiling/exit-block.ll
M llvm/test/Transforms/GCOVProfiling/function-numbering.ll
A llvm/test/Transforms/GVN/callees-metadata.ll
M llvm/test/Transforms/GVN/opt-remarks.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVNSink/sink-common-code.ll
A llvm/test/Transforms/GlobalOpt/constructor-explicit-section.ll
M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.sudot.ll
A llvm/test/Transforms/InstCombine/extractelement-strided-ptr-vector.ll
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/InstCombine/vectorgep-crash.ll
M llvm/test/Transforms/LoadStoreVectorizer/batch-aa-compile-time.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-memset.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
M llvm/test/Transforms/LoopVectorize/RISCV/countable-early-exit-no-epilogue.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
M llvm/test/Transforms/LoopVectorize/VPlan/execution-frequencies-match-bfi.ll
M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/early-exit-calls.ll
M llvm/test/Transforms/LoopVectorize/early-exit-live-out-extract-lane.ll
M llvm/test/Transforms/LoopVectorize/early-exit-load-live-out.ll
M llvm/test/Transforms/LoopVectorize/early-exit-unary-ops.ll
M llvm/test/Transforms/LoopVectorize/induction-wrapflags.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
M llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-cond-poison.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-predicated-early-exit.ll
M llvm/test/Transforms/LowerIFunc/ifunc-alias.ll
M llvm/test/Transforms/LowerIFunc/ifunc-nonsense-resolvers.ll
M llvm/test/Transforms/LowerIFunc/ifunc-program-addrspace.ll
M llvm/test/Transforms/LowerIFunc/lower-ifunc.ll
M llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
M llvm/test/Transforms/MergedLoadStoreMotion/preserve-store-metadata.ll
M llvm/test/Transforms/NewGVN/tbaa.ll
M llvm/test/Transforms/OpenMP/parallel_deletion.ll
R llvm/test/Transforms/PGOProfile/Inputs/indirect_call.proftext
M llvm/test/Transforms/PGOProfile/data-access-profile.ll
M llvm/test/Transforms/PGOProfile/indirect_call_annotation.ll
M llvm/test/Transforms/PGOProfile/indirect_call_profile.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/scalarize-load-ext-extract.ll
M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
A llvm/test/Transforms/SCCP/fastmath-flags.ll
A llvm/test/Transforms/SCCP/select-struct.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/abs-mul-buildvector-in-loop.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/fma-reduce-regression.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-extract-scale.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/recalc-copyable-deps-on-reorder.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-cost.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop-schedule.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-keep-drop.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-loop-extracts.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-reuse.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-satd.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-store-chain.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/complex-mul-fma.ll
A llvm/test/Transforms/SLPVectorizer/ARM/extracted-subfields-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/splat-gather-extracts.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/splat-gather-trim-combined.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/splat-gather-trim.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/wide-load-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/div-possibly-extended-with-poisons.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields.ll
M llvm/test/Transforms/SLPVectorizer/X86/fabs.ll
M llvm/test/Transforms/SLPVectorizer/X86/fcopysign.ll
M llvm/test/Transforms/SLPVectorizer/X86/fma.ll
M llvm/test/Transforms/SLPVectorizer/X86/fmaxnum.ll
M llvm/test/Transforms/SLPVectorizer/X86/fminnum.ll
M llvm/test/Transforms/SLPVectorizer/X86/fmuladd.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptosi-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptosi.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptoui.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/metadata.ll
M llvm/test/Transforms/SLPVectorizer/X86/original-inst-scheduled-after-copyable.ll
M llvm/test/Transforms/SLPVectorizer/X86/reassoc-copyable-in-another-entry.ll
M llvm/test/Transforms/SLPVectorizer/X86/reassoc-flattened-copyable-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduce-or-bitpack.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-copyable-cmp-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-reorder-node-with-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/trimmed-subtree-schedule.ll
M llvm/test/Transforms/SLPVectorizer/X86/uitofp.ll
A llvm/test/Transforms/SROA/load-store-overlap.ll
M llvm/test/Transforms/SROA/tbaa-struct2.ll
M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/basic.ll
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
M llvm/test/Transforms/SimplifyCFG/basictest.ll
A llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-call-debugloc.ll
A llvm/test/Transforms/SimplifyCFG/merge-callees-metadata.ll
A llvm/test/Transforms/SjLjEHPrepare/respect-exception-model-flag.ll
A llvm/test/Transforms/SjLjEHPrepare/sjlj-eh-prepare.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll
A llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-alias.ll
A llvm/test/Transforms/Util/DeclareRuntimeLibcalls/divmod.ll
M llvm/test/Transforms/VectorCombine/alias.ll
A llvm/test/Verifier/bitextract-bitinsert-invalid-verifier.ll
A llvm/test/Verifier/byval-scalable.ll
A llvm/test/Verifier/vector-repeat-intrinsic-invalid.ll
A llvm/test/Verifier/vector-repeat-intrinsic-valid.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/placeholder_escape.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/placeholder_escape.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/placeholder_escape.test
A llvm/test/tools/llubi/main_declaration.ll
M llvm/test/tools/llvm-cov/gcov/basic.test
A llvm/test/tools/llvm-gsymutil/X86/macho-last-symbol-section-end.yaml
M llvm/test/tools/llvm-ir2vec/entities.ll
M llvm/test/tools/llvm-ir2vec/triplets.ll
M llvm/test/tools/llvm-objdump/MachO/AArch64/macho-arm64-subtypes.test
M llvm/test/tools/llvm-objdump/MachO/universal-arm64.test
M llvm/test/tools/llvm-pdbutil/explain-pdb-stream.test
A llvm/test/tools/llvm-profgen/AArch64/cs-bogus-trace.test
M llvm/test/tools/llvm-profgen/lit.local.cfg
M llvm/test/tools/llvm-readobj/COFF/codeview-merging-ghash.test
A llvm/test/tools/llvm-readobj/ELF/RISCV/eflags-abi.test
A llvm/test/tools/llvm-reduce/mir/parallel-jobs-unsupported.mir
M llvm/test/tools/llvm-tli-checker/ifuncs.yaml
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/test/tools/obj2yaml/help.test
M llvm/test/tools/split-file/help.test
M llvm/test/tools/yaml2obj/help.test
M llvm/tools/llc/lib/llcdriver.cpp
M llvm/tools/llubi/llubi.cpp
M llvm/tools/llvm-c-test/echo.cpp
M llvm/tools/llvm-cov/CMakeLists.txt
M llvm/tools/llvm-cov/CodeCoverage.cpp
A llvm/tools/llvm-cov/GcovOpts.td
M llvm/tools/llvm-cov/gcov.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-reduce/deltas/Delta.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-reduce/llvm-reduce.cpp
M llvm/tools/llvm-split/llvm-split.cpp
M llvm/tools/llvm-undname/llvm-undname.cpp
M llvm/tools/obj2yaml/CMakeLists.txt
A llvm/tools/obj2yaml/Opts.td
M llvm/tools/obj2yaml/obj2yaml.cpp
M llvm/tools/yaml2obj/CMakeLists.txt
A llvm/tools/yaml2obj/Opts.td
M llvm/tools/yaml2obj/yaml2obj.cpp
M llvm/unittests/ABI/TargetInfoTest.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/CodeGen/AllocationOrderTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
M llvm/unittests/CodeGen/SelectionDAGNodeConstructionTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/FileCheck/FileCheckTest.cpp
M llvm/unittests/Frontend/HLSLSemanticSignaturePackingTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
M llvm/unittests/TargetParser/CMakeLists.txt
A llvm/unittests/TargetParser/IntelGPUTargetParserTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/offload-arch/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ABI/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-cov/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/obj2yaml/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/yaml2obj/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/TargetParser/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/split-file/BUILD.gn
M llvm/utils/lit/lit/main.py
M llvm/utils/lit/lit/util.py
A llvm/utils/lit/tests/unit/Histogram.py
M llvm/utils/split-file/CMakeLists.txt
A llvm/utils/split-file/Opts.td
M llvm/utils/split-file/split-file.cpp
M mlir/include/mlir-c/IR.h
M mlir/include/mlir-c/Rewrite.h
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
M mlir/include/mlir/IR/Diagnostics.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/OpImplementation.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/Support/InterfaceSupport.h
M mlir/lib/CAPI/IR/IR.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCExecutableDirectivePatterns.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/lib/Debug/DebugCounter.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/IR/XeVMDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
M mlir/lib/Dialect/Quant/Transforms/NormalizeQuantTypes.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/ScalarizeFunctionResult.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorMaskElimination.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/CAPI/CMakeLists.txt
M mlir/test/CAPI/ir.c
M mlir/test/CAPI/rewrite.c
M mlir/test/Conversion/OpenACCToLLVM/data.mlir
M mlir/test/Conversion/OpenACCToLLVM/wait.mlir
M mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir
M mlir/test/Dialect/ControlFlow/one-shot-bufferize-analysis.mlir
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/LLVMIR/sroa.mlir
A mlir/test/Dialect/LLVMIR/xevm-canonicalize.mlir
M mlir/test/Dialect/Linalg/one-shot-bufferize-analysis.mlir
M mlir/test/Dialect/Linalg/one-shot-bufferize.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/NVGPU/invalid.mlir
M mlir/test/Dialect/OpenACC/acc-routine-lowering.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
M mlir/test/Dialect/Vector/eliminate-masks.mlir
M mlir/test/Dialect/Vector/one-shot-bufferize.mlir
M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
A mlir/test/Dialect/XeGPU/sg-to-lane-distribute-convert-layout-slice.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
A mlir/test/IR/diagnostic-handler-next.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_gemm_bf16.mlir
R mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_F4.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_F8.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F4.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F8.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F8.mlir
M mlir/test/Target/LLVMIR/Import/constant.ll
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait.mlir
M mlir/test/Target/LLVMIR/omptarget-region-llvm.mlir
A mlir/test/Target/LLVMIR/omptarget-target-data-source-loc-nodebug.mlir
A mlir/test/Target/LLVMIR/omptarget-target-region-source-loc-nodebug.mlir
A mlir/test/Target/LLVMIR/omptarget-target-region-source-loc.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/IR/CMakeLists.txt
A mlir/test/lib/IR/TestDiagnosticsNext.cpp
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/test/mlir-tblgen/op-operand.td
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M offload/include/OpenMP/OMPT/Callback.h
M offload/include/OpenMP/OMPT/Interface.h
M offload/include/Shared/SourceInfo.h
M offload/include/device.h
M offload/liboffload/src/OffloadImpl.cpp
A offload/libompaccsupport/AsyncInfo.cpp
M offload/libompaccsupport/PluginManager.cpp
M offload/libompaccsupport/device.cpp
M offload/libomptarget/CMakeLists.txt
M offload/libomptarget/OffloadRTL.cpp
M offload/libomptarget/OpenMP/OMPT/Callback.cpp
M offload/libomptarget/omptarget.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M openmp/docs/Building.md
M openmp/docs/ReleaseNotes.md
M openmp/libompd/gdb-plugin/CMakeLists.txt
M openmp/libompd/gdb-plugin/README.txt
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
A openmp/runtime/test/affinity/no_leak_with_disabled.c
M orc-rt/cmake/OrcRTTesting.cmake
M orc-rt/include/CMakeLists.txt
A orc-rt/include/orc-rt-internal/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrar.h
A orc-rt/include/orc-rt-internal/bedrock/sys/posix/DWARFEHFrameRegistrar.h
M orc-rt/include/orc-rt/bedrock/BootstrapInfo.h
M orc-rt/include/orc-rt/bedrock/Session.h
M orc-rt/include/orc-rt/bedrock/SocketConnector.h
R orc-rt/include/orc-rt/bedrock/StandaloneMachOUnwindInfoRegistrar.h
A orc-rt/include/orc-rt/bedrock/sps/DWARFEHFrameRegistrarSPSCI.h
M orc-rt/include/orc-rt/support/Error.h
M orc-rt/include/orc-rt/support/move_only_function.h
M orc-rt/lib/bedrock/BootstrapInfo.cpp
M orc-rt/lib/bedrock/CMakeLists.txt
M orc-rt/lib/bedrock/NativeDylibManager.cpp
R orc-rt/lib/bedrock/StandaloneMachOUnwindInfoRegistrar.cpp
M orc-rt/lib/bedrock/sps/AllSPSCI.cpp
R orc-rt/lib/bedrock/sps/StandaloneMachOUnwindInfoRegistrarSPSCI.cpp
A orc-rt/lib/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrar.cpp
A orc-rt/lib/bedrock/sys/darwin/sps/StandaloneMachOUnwindInfoRegistrarSPSCI.cpp
A orc-rt/lib/bedrock/sys/posix/DWARFEHFrameRegistrar.cpp
M orc-rt/lib/bedrock/sys/posix/SocketConnector.cpp
A orc-rt/lib/bedrock/sys/posix/sps/DWARFEHFrameRegistrarSPSCI.cpp
A orc-rt/test/regression/README.md
R orc-rt/test/regression/check-rt-process-info.test
R orc-rt/test/regression/darwin/lit.local.cfg
R orc-rt/test/regression/init.test
A orc-rt/test/regression/jit-free-foundations/check-rt-process-info.test
A orc-rt/test/regression/jit-free-foundations/lit.local.cfg
A orc-rt/test/regression/jit-free-foundations/logging/lit.local.cfg
A orc-rt/test/regression/jit-free-foundations/logging/os_log/delivery.test
A orc-rt/test/regression/jit-free-foundations/logging/os_log/lit.local.cfg
A orc-rt/test/regression/jit-free-foundations/logging/os_log/no-printf-output.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/bad-level.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/debug-compiled-out.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/debug-level.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/format.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/level-off.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/lit.local.cfg
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/output-redirect.test
A orc-rt/test/regression/jit-free-foundations/logging/printf-backend/runtime-level.test
A orc-rt/test/regression/jit-free-foundations/ogre-help.test
A orc-rt/test/regression/jit-free-foundations/smoke-check.test
A orc-rt/test/regression/languages/c/lit.local.cfg
A orc-rt/test/regression/languages/c/return-zero.c
R orc-rt/test/regression/linux/lit.local.cfg
M orc-rt/test/regression/lit.cfg.py
R orc-rt/test/regression/logging/lit.local.cfg
R orc-rt/test/regression/logging/os_log/delivery.test
R orc-rt/test/regression/logging/os_log/lit.local.cfg
R orc-rt/test/regression/logging/os_log/no-printf-output.test
R orc-rt/test/regression/logging/printf-backend/bad-level.test
R orc-rt/test/regression/logging/printf-backend/debug-compiled-out.test
R orc-rt/test/regression/logging/printf-backend/debug-level.test
R orc-rt/test/regression/logging/printf-backend/format.test
R orc-rt/test/regression/logging/printf-backend/level-off.test
R orc-rt/test/regression/logging/printf-backend/lit.local.cfg
R orc-rt/test/regression/logging/printf-backend/output-redirect.test
R orc-rt/test/regression/logging/printf-backend/runtime-level.test
A orc-rt/test/regression/object-formats/lit.local.cfg
A orc-rt/test/regression/object-formats/mach-o/arm64/lit.local.cfg
A orc-rt/test/regression/object-formats/mach-o/arm64/return-zero.s
A orc-rt/test/regression/object-formats/mach-o/lit.local.cfg
R orc-rt/test/regression/smoke-check.test
M orc-rt/test/unit/CMakeLists.txt
M orc-rt/test/unit/CommonTestUtils.h
M orc-rt/test/unit/bedrock/SessionTest.cpp
A orc-rt/test/unit/bedrock/SocketConnectorTest.cpp
R orc-rt/test/unit/bedrock/StandaloneMachOUnwindInfoRegistrarTest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCAOverSocketTest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
A orc-rt/test/unit/bedrock/sys/darwin/StandaloneMachOUnwindInfoRegistrarTest.cpp
M orc-rt/test/unit/support/ErrorExceptionInteropTest.cpp
M orc-rt/test/unit/support/ErrorTest.cpp
M orc-rt/test/unit/support/move_only_function-test.cpp
M orc-rt/tools/ogre/ogre.cpp
M polly/docs/conf.py
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/CodeGen/LoopGenerators.cpp
M polly/lib/Support/PollyDebug.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
A polly/test/CodeGen/broken-dominance-escaping-scalar.ll
M polly/test/ScopInfo/issue190128.ll
A polly/test/ScopInfo/multidim-shrunk-element-type.ll
M polly/test/ScopInfo/simple_loop_unsigned.ll
A polly/test/ScopInfo/user-assumption-cached-precondition.ll
A polly/test/ScopInfo/zext-loop-bound-unbounded.ll
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/flang-rt/lib/runtime/BUILD.bazel
M utils/bazel/llvm-project-overlay/flang/lib/Lower/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch2/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch3/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch4/BUILD.bazel
M utils/bazel/llvm-project-overlay/third-party/BUILD.bazel
M utils/bazel/llvm-project-overlay/third-party/cc_library_wrapper.bzl
M utils/docs/llvm_sphinx/__init__.py
M utils/docs/llvm_sphinx/ext/absolute_links.py
M utils/docs/llvm_sphinx/ext/absolute_links_test/conf.py
M utils/docs/llvm_sphinx/ext/absolute_links_test/markdown.md
M utils/docs/llvm_sphinx/ext/absolute_links_test/rest.rst
A utils/docs/llvm_sphinx/ext/absolute_links_test/static.html
Log Message:
-----------
Rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/61df043b55f3...92388ee55bba
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