[all-commits] [llvm/llvm-project] da43ad: [clangd] Fix header-name completion replace ranges...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Sun Oct 4 03:38:30 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slpfix-regressions-after-the-fmulfadd-fusion-cost-changes
Home: https://github.com/llvm/llvm-project
Commit: da43ad37dcc98427fe95039b75ca037d9995d3e8
https://github.com/llvm/llvm-project/commit/da43ad37dcc98427fe95039b75ca037d9995d3e8
Author: argothiel <13932353+argothiel at users.noreply.github.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Log Message:
-----------
[clangd] Fix header-name completion replace ranges (#225473)
Handle header-name completion as a special case for replace edits. Its
insert range already extends past the identifier, including delimiters
such as '"' and '>'. Reuse that range for replace edits so that the
insert range remains a prefix of the replace range, as required by the
LSP specification.
Add a unit test covering this case.
Fixes llvm/llvm-project#225326
Commit: 0ee7269032e0028d70ffccfc496130a1e8f188b1
https://github.com/llvm/llvm-project/commit/0ee7269032e0028d70ffccfc496130a1e8f188b1
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/TableGen/Record.h
Log Message:
-----------
[Support] Clarify purpose of LLVM_DEPRECATED (#228367)
Rename the macro to LLVM_DEPRECATED_WITH_FIXIT, to clarify that is is
used for deprecations where a machine-applicable fix-it exists (which is
only pure rename deprecations).
Commit: 0f598a0b5ea2f18e3c281218291d67f16a31da11
https://github.com/llvm/llvm-project/commit/0f598a0b5ea2f18e3c281218291d67f16a31da11
Author: Kazu Hirata <kazu at google.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
Log Message:
-----------
[Analysis] Remove unused functions (NFC) (#228674)
Commit: a9b0b3d9971e1a469553d3c35b12ccf00407c847
https://github.com/llvm/llvm-project/commit/a9b0b3d9971e1a469553d3c35b12ccf00407c847
Author: Kazu Hirata <kazu at google.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
Log Message:
-----------
[Analysis] Remove unused functions (NFC) (#228674)
Commit: 3108485f688af44222ff5bb2bbdc95723d7cc769
https://github.com/llvm/llvm-project/commit/3108485f688af44222ff5bb2bbdc95723d7cc769
Author: Fangrui Song <i at maskray.me>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/test/CodeGen/X86/virtreg-physreg-def-regallocfast.mir
Log Message:
-----------
[RegAllocFast] Order partial defs before other defs (#222882)
```
%0:gr64_with_sub_8bit = COPY $rax
%0.sub_32bit, %1:gr32 = MULX32rr $ecx, implicit $edx
```
The partial def of %0 is live-through: it reads the rest of %0, so it
must avoid the registers the instruction reads ($ecx, $edx) and is meant
to be allocated before an ordinary def like %1, which may share a
register with a use. The comparator in findAndSortDefOperandIndexes,
from the 2020 rewrite c8757ff3aa7d ("RegAllocFast: Rewrite and
improve"), tests `getSubReg() == 0`, the inverse of the allocation
sites, so %1 is allocated first and takes $eax; %0 then misses its hint
$rax, lands in $rsi, and the copy from $rax stays.
Share one isLiveThroughDef predicate between the ordering and the
allocation. %0 now takes $rax, the copy is deleted, and %1 takes $ecx.
Aided by Opus 5
Commit: 9a9daa97acbd8a5e31daea241bb5e5ee0a5de171
https://github.com/llvm/llvm-project/commit/9a9daa97acbd8a5e31daea241bb5e5ee0a5de171
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Parse/ParseExprCXX.cpp
M clang/test/Parser/cxx-ambig-paren-expr.cpp
Log Message:
-----------
[Clang] Keep scope annotations covering typo-corrected qualifiers (#223978)
Fixes #221890
While tentatively deciding whether `(void(foo::S<int>))` is a type-id,
the parser annotates `foo::S<int>`. Lookup of `S` in `foo` fails, typo
correction suggests plain `S`, and Sema rebuilds the `CXXScopeSpec`
without the qualifier. The annotation token takes its start from that
scope specifier, so it only covers `S<int>` and the already-consumed
`foo ::` tokens are never replaced in the token cache. They resurface
after the tentative parse backtracks, every later parse sees `foo ::
<type>`, and the second `isTypeIdInParens()` in
`ParseCXXAmbiguousParenExpression` contradicts the first.
The parser owns the invariant that an annotation replaces every token
consumed to produce it, so the fix lives in
`ParseOptionalCXXScopeSpecifier`. After each Sema call that can rewrite
the qualifier through typo correction, the scope specifier is re-ranged
over the tokens actually consumed. When the qualifier was dropped
entirely, the template-id annotation is extended back over those tokens
instead. Sema and the typo-correction recovery are untouched.
Commit: f3d6035cc9484ffb55c55e9c9702cf40106cfd6d
https://github.com/llvm/llvm-project/commit/f3d6035cc9484ffb55c55e9c9702cf40106cfd6d
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/simd_misc_messages.c
Log Message:
-----------
[Clang][OpenMP] Fix crash on `safelen` and `simdlen` of different types (#228700)
Fixes #108367
When a `simd` directive has both `safelen` and `simdlen`, Sema checks
that `simdlen` is not greater than `safelen`. It compared the two values
with `APSInt`'s `operator>`, which needs both operands to have the same
bit width and signedness. But each clause keeps its argument in the type
it was written with, so in `safelen(11111111111) simdlen(1)` one value
is 64 bits wide and the other 32, and the comparison asserted. Mixed
signedness, as in `safelen(8u) simdlen(4)`, hit a second assertion on
the same line. A build without assertions rejected the valid code
instead, as if `simdlen` were the larger value.
The check now uses `APSInt::compareValues`, which extends the operands
to a common width and handles mixed signedness, so the values themselves
are compared. The error is still emitted whenever `simdlen` is larger
than `safelen`.
Commit: 018a46162a84070109760677031bcd636ed6026e
https://github.com/llvm/llvm-project/commit/018a46162a84070109760677031bcd636ed6026e
Author: Sachin 🗲 <s4chinjha at gmail.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][bazel] Adds missing targets for double smoke tests (#226823)
part of #223714
pr adds the missing bazel targets for the existing double smoke tests
Commit: cebadce0f60f5542a816fff0c559032fd8751a3d
https://github.com/llvm/llvm-project/commit/cebadce0f60f5542a816fff0c559032fd8751a3d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
A compiler-rt/test/tsan/signal_abort_on_error.cpp
Log Message:
-----------
[TSan] Release locks before OutputReport on all platforms (#228554)
https://github.com/llvm/llvm-project/pull/151495 moved OutputReport
outside the lock scope (ThreadRegistryLock, slot_lock, slots_lock) on
Apple platforms only.
Holding these locks during OutputReport can also deadlock on non-Apple
platforms. For example, when halt_on_error=1, abort_on_error=1, and
handle_abort=0 are set, OutputReport calls Die() -> Abort(), which
raises SIGABRT and invokes a user signal handler via
CallUserSignalHandler with TSan instrumentation re-enabled. If the
signal handler executes enough instrumented code to overflow the
active TracePart, TraceSwitchPartImpl -> TracePartAlloc attempts to
acquire ctx->slot_mtx and self-deadlocks because slots_lock is still
held by ReportRace.
Remove the SANITIZER_APPLE conditional compilation so locks are
released before OutputReport across all platforms.
Assisted-by: Gemini
Commit: 04203a045b4cfb18e2b22764744249cba171eb30
https://github.com/llvm/llvm-project/commit/04203a045b4cfb18e2b22764744249cba171eb30
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_defs.h
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
Log Message:
-----------
[NFC][TSan] Remove redundant Context::report_mtx (#228605)
Context::report_mtx was only ever acquired immediately alongside
ScopedErrorReportLock (in ScopedReport and BackgroundThread). Remove
report_mtx and MutexTypeReport and rely on ScopedErrorReportLock.
Assisted-by: Gemini
Commit: 9efb8418409739d64e2c5598a8b105ea38fe3c6a
https://github.com/llvm/llvm-project/commit/9efb8418409739d64e2c5598a8b105ea38fe3c6a
Author: Fangrui Song <i at maskray.me>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
A llvm/test/DebugInfo/X86/inline-asm-file-error.ll
M llvm/tools/llvm-mca/CodeRegionGenerator.cpp
Log Message:
-----------
[MC] Fix line table assertion failure after inline asm error (#228742)
An inline asm `.file 3 "b"` without files 1 and 2 is diagnosed as
"unassigned file number", but code generation continues, and
MCObjectStreamer::finishImpl emits the line table with empty file
entries, which asserts.
Fix #228061: Set MCContext::HadError for errors reported through
MCContext::diagnose, and skip line table emission when an error has been
reported.
Commit: 139c8783301b458de3fe1270c9454d508ff13ae7
https://github.com/llvm/llvm-project/commit/139c8783301b458de3fe1270c9454d508ff13ae7
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/matrix.cpp
Log Message:
-----------
[CIR] Add Matrix column major load op (#228229)
Add support for the matrix column-major load operation
Issue #221772
Commit: d0c2076a225debc49757ac945b494a5cebf139a3
https://github.com/llvm/llvm-project/commit/d0c2076a225debc49757ac945b494a5cebf139a3
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
Log Message:
-----------
[TSan] Destroy ScopedReport on early return in ReportDestroyLocked (#228631)
#151495 converted ScopedReport in ReportDestroyLocked from a stack
variable to placement new on __builtin_alloca storage, but left a bare
return when RestoreStack fails. This skipped ~ScopedReport(), leaking
ReportDesc and leaving ScopedErrorReportLock, report_mtx, and
ScopedIgnoreInterceptors permanently held.
Call rep->~ScopedReport() before returning when RestoreStack fails.
Assisted-by: Gemini
Commit: 9516ed8a09227a92fe07229f92b1b929843d5e17
https://github.com/llvm/llvm-project/commit/9516ed8a09227a92fe07229f92b1b929843d5e17
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
A clang/lib/CIR/Dialect/Transforms/RecordTypeConverter.cpp
A clang/lib/CIR/Dialect/Transforms/RecordTypeConverter.h
Log Message:
-----------
[CIR][NFC] Extract record-rebuilding type converter from CXXABILowering (#228599)
CXXABILowering's type converter rebuilds identified records whose member
types change. Because identified records cannot be modified in place,
each one is recreated under a temporary name, recursive records are
resolved with a per-thread conversion stack, and the original names are
restored once the conversion is done.
This patch moves the `CIRABITypeConverter` machinery into a reusable
base class, `cir::RecordRewritingTypeConverter`.
`CIRABITypeConverter` now derives from it and only adds the C++ ABI
specific conversions (data member and method types).
TargetLowering needs the same record rebuilding to convert language
address spaces nested in record members. Today the following OpenCL code
fails on SPIR-V:
```
struct S { __global int *p; int n; };
kernel void k(__global int *g) {
struct S s;
s.p = g;
*s.p = 1;
}
```
> error: member type mismatch
TargetLowering converts the `get_member` result to `!cir.ptr<!s32i,
target_address_space(1)>`, but the field type inside `!rec_S` stays
`lang_address_space(offload_global)`, so the verifier rejects the op.
The same issue affects SYCL device code.
A follow-up will make TargetLowering's type converter derive from this
class and use `shouldConvertRecord` to rebuild only the records that
contain language address spaces. Records without them (e.g. all CUDA/HIP
records) stay untouched, so the operations using them stay legal.
Commit: 9b2ad1942cb13925325c5a8e458aac88767e2c44
https://github.com/llvm/llvm-project/commit/9b2ad1942cb13925325c5a8e458aac88767e2c44
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/single_copyprivate_messages.cpp
M clang/test/OpenMP/structured-bindings-messages.cpp
Log Message:
-----------
[Clang][OpenMP] Fix crash on `copyprivate` of a data member or structured binding (#227699)
Fixes #217893
`copyprivate` needs its list items to be threadprivate or private in the
enclosing context. For a data member we only checked that it wasn't
`shared`, and then assumed an enclosing construct had already made a
private copy of it. That doesn't hold in a `task` or `taskloop` region,
where a member that is private outside is implicitly firstprivate but
gets no copy, or under `default(none)`, where it has no attribute at
all. With no copy to refer to we hit `assert(VD ||
isOpenMPCapturedDecl(D))`, and without assertions a null address could
end up being passed to `__kmpc_copyprivate`. A structured binding in the
clause hit the same assertion.
A data member with no private copy is now diagnosed with the existing
"copyprivate variable must be threadprivate or private in the enclosing
context" error. In a dependent context the copies aren't built until
instantiation, so the clause keeps the list item as written there and is
checked when instantiated, like the other data-sharing clauses; that
also fixes the crash for a data member in `copyprivate` inside a member
function template. A structured binding stays as written too, which is
how the other clauses already treat it.
Commit: 7f211a4737b1b34b52f19330ffb89533ec74a65c
https://github.com/llvm/llvm-project/commit/7f211a4737b1b34b52f19330ffb89533ec74a65c
Author: Haowei <haowei at google.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang/test/Driver/msvc-link.c
Log Message:
-----------
[clang][test] Fix flaky linker checks in msvc-link.c (#228657)
In clang/test/Driver/msvc-link.c, DEBUG-LINK-NOT: lld and DEBUG-LLD-NOT:
link.exe were placed after the *-SAME: "-debug" checks. Because
FileCheck only scans the input after the preceding positive match for
CHECK-NOT, those negative checks never inspected the linker executable
at the start of the command line and instead scanned the trailing
arguments (such as the temporary object file path inside lit's randomly
named lit-tmp-XXXXXXXX scratch directory), causing spurious failures
whenever the scratch directory name contained "lld".
Moreover, DEBUG-LINK: link.exe" was unanchored on the left and could
match the suffix of "lld-link.exe".
Anchor the positive linker executable regexes in DEBUG-LINK and
DEBUG-LLD to the opening quote or path separator within a single quoted
argument ("{{([^"]*[/\\])?}}...") so link.exe cannot match lld-link.exe,
and remove the redundant trailing *-NOT checks.
Assisted by Gemini.
Commit: 2b04774f99723ccc510bb27ee29d67413f64289f
https://github.com/llvm/llvm-project/commit/2b04774f99723ccc510bb27ee29d67413f64289f
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M offload/libompaccsupport/PluginManager.cpp
M offload/test/offloading/dyn_groupprivate.cpp
Log Message:
-----------
[offload][OpenMP] Set StaticBlockMemSize in kernel launch info (#228756)
#223761 moved the dynamic block memory preparation to libomptarget,
which reads the kernel's static block memory size from
KernelLaunchInfoTy, but nothing set that field. -> It's 0 and
libomptarget does not apply the dyn_groupprivate fallback when the
dynamic size alone fits but static + dynamic memory exceeds the maximum,
and the plugin then rejects the launch.
Claude assisted with this patch.
Commit: 53bc1e0115212039af7616f426ecbb7406126ebc
https://github.com/llvm/llvm-project/commit/53bc1e0115212039af7616f426ecbb7406126ebc
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/test/LTO/Resolution/X86/libcall-in-tu.ll
Log Message:
-----------
Change default exception model to Default in RuntimeLibcallsInfo (#228555)
After #220052, `ExceptionModel::None` is treated as an explicit disable,
and `Default` is required to get the target's default behavior. It seems
like we missed a spot, so change the default value to `Default` to match
the new behavior.
This fixes a link failure in chromium: https://crbug.com/568747417
---------
Co-authored-by: Nico Weber <thakis at chromium.org>
Commit: a35750549f971f9f97238ff92e422ed4b5ac39bb
https://github.com/llvm/llvm-project/commit/a35750549f971f9f97238ff92e422ed4b5ac39bb
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
M llvm/test/Transforms/LoopVectorize/AArch64/find-last-iv-sinkable-expr-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
M llvm/test/Transforms/LoopVectorize/VPlan/epilogue-vectorization-printing.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-function-entry-count.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/select-min-max-last-index-epilogue.ll
Log Message:
-----------
[VPlan] Create AnyOf and FindIV resume adjustments in the epilogue plan. (#227882)
AnyOf and FindIV reductions need to adjust the resume value from the
main vector loop before using it as start value of the epilogue vector
loop.
Create the fixup code as VPInstruction instead of plain IR instructions.
This is slightly simpler as we do not need to collect instructions to
move and it is also another step getting us slightly closer to
completely modeling epilogue vectorization natively in VPlan.
PR: https://github.com/llvm/llvm-project/pull/227882
Commit: 88dd82f800f46c3ec4c16932a705091434e17ae0
https://github.com/llvm/llvm-project/commit/88dd82f800f46c3ec4c16932a705091434e17ae0
Author: Ömer Sinan Ağacan <omer at osa1.net>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/tools/opt-viewer/opt-viewer.py
M llvm/tools/opt-viewer/optrecord.py
Log Message:
-----------
[opt-viewer] Fix demangler usage with multiprocessing (#228388)
Because of how `multiprocessing.Pool` creates new processes on macOS,
parallel `_render_file`s create their own demangler processes.
However the CLI flag `--demangler` also does not set an inherited state
that's used by the subprocesses, so the new demanglers are created from
the default command, which is `c++filt -n`.
This also means that the semaphore in class `Remark` is not useful on
macOS. It's also not properly cleaned up, causing warnings on exit:
.../python3.9/multiprocessing/resource_tracker.py:216: UserWarning:
resource_tracker: There appear to be 36 leaked semaphore objects to
clean up at shutdown
With this patch we now pass the `--demangler` value to the `Remark`
class so the subprocesses can make use of it. We also remove the
semaphore and make each subprocess have their own demangler process.
This simplifies the code (no need for locking) as the demangler
processes are cheap to start and keep running and don't need to be
shared.
To observe the bug on macOS, generate inlining remarks with
-fsave-optimization-record -foptimization-record-passes=inline
-gline-tables-only
then render as HTML:
python3 <llvm checkout>/llvm/tools/opt-viewer/opt-viewer.py \
--demangler 'sed -l s/^/[CUSTOM]/' -s <source dir> \
-o html <remark file dir>
In the output, you'll see that the index.html has the demangled symbols
starting with '[CUSTOM]', but if you click on the pages the demangled
symbols don't have the same prefix, because the `--demangler` command is
not used in the subprocesses.
The new demangling implementation should work on all platforms as it no
longer relies on process state inheriting behavior.
Commit: 0d151f3ebb6af731e641d1474d1992d0dd5a12dd
https://github.com/llvm/llvm-project/commit/0d151f3ebb6af731e641d1474d1992d0dd5a12dd
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
Log Message:
-----------
[VPlan] Canonicalize all inner loop headers and latches in plain CFG. (#228763)
The plain CFG mirrors the IR's predecessor and successor order.
Canonicalize all loops up front, to avoid verification issues when
vectorizing outer loops.
Fixes a crash with the newly added test.
Commit: 4428e953e2a5da4f870d819a30de3aaba08cf0af
https://github.com/llvm/llvm-project/commit/4428e953e2a5da4f870d819a30de3aaba08cf0af
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-10-03 (Sat, 03 Oct 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/fchownat.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/fchownat.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/fchownat.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/fchownat_test.cpp
Log Message:
-----------
[libc] Implement fchownat in unistd (#227974)
Implement the standard POSIX.1-2008 / POSIX.1-2024 function `fchownat`
in `<unistd.h>`, bringing the POSIX `*at` family of functions in
`<unistd.h>` to 100% completion.
Fixes #227848
Assisted by Antigravity and reviewed by Aman Maurya
Commit: 89e73043002530e7df3da13e423258f6766f23bf
https://github.com/llvm/llvm-project/commit/89e73043002530e7df3da13e423258f6766f23bf
Author: Lang Hames <lhames at gmail.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Add -platform for explicit platform selection (#228703)
The -platform option can be passed to llvm-jitlink to select the ORC
Platform class to be used for the session. Values are:
- none: Do not use a Platform
- native: Auto-detect the executor platform
- macho: Use MachOPlatform
- elfnix: Use ELFNixPlatorm
- coff: Use COFFPlatform
If no -platform argument is given then the default depends on whether an
-orc-runtime option was used. If -orc-runtime was used then the default
is "native". If -orc-runtime was not used then the default is "none".
There should be no functional change from this patch. The intent is to
allow the platform to be explicitly specified (previously it was always
implicitly auto-detected, equivalent to the "native" value), and to
allow new platform variants to be easily added and tested.
There is no testcase for this patch since all available platform options
depend on the ORC runtime, which LLVM tests cannot depend on. Upcoming
ORC runtime tests will exercise this option.
Commit: a49dfca4e6f10c7044e03975f1f3f462864b74ca
https://github.com/llvm/llvm-project/commit/a49dfca4e6f10c7044e03975f1f3f462864b74ca
Author: Lang Hames <lhames at gmail.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M orc-rt/test/unit/bedrock/sps/MemoryAccessSPSCITest.cpp
Log Message:
-----------
[orc-rt] Use the Error matchers in MemoryAccessSPSCITest (#228773)
Use the Error matchers introduced in 4c8a437d0487 to clean up
MemoryAccessSPSCITest.
Commit: 65a82906cff9c7a7a33844812d35ce159d88a354
https://github.com/llvm/llvm-project/commit/65a82906cff9c7a7a33844812d35ce159d88a354
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Semantics/CUDA/cuf18.cuf
Log Message:
-----------
[flang][cuda] Transfer device data used in host operations (#228292)
An assignment to host data from an expression with device data is
lowered
as an implicit data transfer only when the expression also contains a
constant or a host symbol. Constants in subscripts are ignored, so
expressions such as a(3)*a(4), -a(3), -d1, or a conversion a(3) from
real(8) to real(4) were lowered as plain transfers. The scalar result
was
then computed on the host directly from device memory and stored to the
left-hand side, and array expressions failed the cuf.data_transfer
verifier.
Treat any right-hand side with device data that is not a variable as an
implicit transfer. The device data is copied to a host temporary and the
expression is evaluated on the host. An assignment of such an expression
to device data is now diagnosed as an unsupported transfer, as a = a +
10
already is.
Commit: 6c7abfa5af7e8304cd5a23943a93c3af4a56b53c
https://github.com/llvm/llvm-project/commit/6c7abfa5af7e8304cd5a23943a93c3af4a56b53c
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
Log Message:
-----------
[clang-tidy][CMake] Regenerate Confusables.inc when the generator changes (#228609)
Fixes https://github.com/llvm/llvm-project/issues/228608
Commit: 7ef423e8d99365ae94f81a30d32b8c787ad33df4
https://github.com/llvm/llvm-project/commit/7ef423e8d99365ae94f81a30d32b8c787ad33df4
Author: Brad Smith <brad at comstyle.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M llvm/cmake/config.guess
Log Message:
-----------
[cmake] Sync Haiku cases in config.guess with downstream (#228784)
Add the ppc case and replace the x86_64-specific case with the
downstream wildcard, so that other Haiku architectures (e.g. aarch64,
riscv64) are recognized. x86_64 still maps to x86_64-unknown-haiku.
Commit: 4d05decfb375614061071af4a499af0722dd573a
https://github.com/llvm/llvm-project/commit/4d05decfb375614061071af4a499af0722dd573a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/absorbed-lane-undef-bitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/wide-load-absorbed-lane.ll
A llvm/test/Transforms/SLPVectorizer/absorbed-lane-shuffled-operand.ll
A llvm/test/Transforms/SLPVectorizer/volatile-loads-reduction.ll
Log Message:
-----------
[SLP][NFC]Add extra tests with missing vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/228792
Commit: d42998a2c314be90cedd8c0c0f35e6e04dc19909
https://github.com/llvm/llvm-project/commit/d42998a2c314be90cedd8c0c0f35e6e04dc19909
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
Log Message:
-----------
[SelectionDAG] Remove vector_extract_subvec/vector_insert_subvec from TargetSelectionDAG.td. NFC (#228662)
These no longer have in tree users after #228542 and #228552.
Commit: 340c69d7db052a43b6ed266dd7c4bb1a9c91c2ec
https://github.com/llvm/llvm-project/commit/340c69d7db052a43b6ed266dd7c4bb1a9c91c2ec
Author: Fangrui Song <i at maskray.me>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/LiveIntervals.h
M llvm/include/llvm/CodeGen/MIR2Vec.h
M llvm/include/llvm/CodeGen/MachineBlockHashInfo.h
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/BasicTargetTransformInfo.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/MIR2Vec.cpp
M llvm/lib/CodeGen/MachineBlockHashInfo.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/RegAllocScore.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/VLIWMachineScheduler.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/unittests/CodeGen/MIR2VecTest.cpp
M llvm/unittests/CodeGen/RegAllocScoreTest.cpp
Log Message:
-----------
[CodeGen] Stop exporting cl::opts. NFC (#228728)
AMDGPU reads -misched-prera-direction and -verify-misched, every
target's TTI reads -partial-unrolling-threshold through BasicTTIImpl.h,
and AsmPrinter reads -emit-bb-hash through extern declarations. Add
getters for them, move inline code that reads options (LiveIntervals,
MachinePipeliner, MIR2Vec) out of line, and let unittests use default
weights, so that the options can be file-local.
Aided by Opus 5.5
Commit: 1969746ace37f9b0ead79cf63515940895a1f050
https://github.com/llvm/llvm-project/commit/1969746ace37f9b0ead79cf63515940895a1f050
Author: Lang Hames <lhames at gmail.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
Log Message:
-----------
[orc-rt] Use the Error matchers in SimpleNativeMemoryMapSPSCITest (#228796)
Use the Error matchers introduced in 4c8a437d0487 to clean up error
tests SimpleNativeMemoryMapSPSCITest.
Commit: 265a53ecc7fa605ee8bbc838a87ccd0cc6c5efa7
https://github.com/llvm/llvm-project/commit/265a53ecc7fa605ee8bbc838a87ccd0cc6c5efa7
Author: Lang Hames <lhames at gmail.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M orc-rt/test/unit/support/ProxyTest.cpp
Log Message:
-----------
[orc-rt] Use the Error matchers in ProxyTest (#228799)
Use the Error matchers introduced in 4c8a437d0487 to clean up error
tests in ProxyTest.
Commit: 0579ef5283d0afee8deab1da67c49968301984ca
https://github.com/llvm/llvm-project/commit/0579ef5283d0afee8deab1da67c49968301984ca
Author: Lang Hames <lhames at gmail.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M orc-rt/test/unit/support/sps/SPSWrapperFunctionTest.cpp
Log Message:
-----------
[orc-rt] Use the Error matchers in SPSWrapperFunctionTest (#228804)
Use the Error matchers introduced in 4c8a437d0487 to clean up error
tests in SPSWrapperFunctionTest.
Commit: f3a1a8cc52c69fdcaea6733db8b45160c5189f11
https://github.com/llvm/llvm-project/commit/f3a1a8cc52c69fdcaea6733db8b45160c5189f11
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/reduction-erased-copyable-cast-main-op.ll
Log Message:
-----------
[SLP]Fix crash on deleted main op of copyable state in reductions
Vectorizing one group of reduced values can erase the main operation of
a later group's copyable state, leaving it with dropped operands.
Fixes #228768
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/228806
Commit: e94b7487cf8ebe71744cd4137c9a0968affa0ec2
https://github.com/llvm/llvm-project/commit/e94b7487cf8ebe71744cd4137c9a0968affa0ec2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
Log Message:
-----------
[NFC][TSan] Merge ScopedReportBase into ScopedReport (#228640)
ScopedReport is the only subclass of ScopedReportBase and nothing uses
ScopedReportBase directly. Merge ScopedReportBase into ScopedReport.
Assisted-by: Gemini
Commit: 4bbc53c674e769269437c8d803bfca12cb1bd3de
https://github.com/llvm/llvm-project/commit/4bbc53c674e769269437c8d803bfca12cb1bd3de
Author: Lang Hames <lhames at gmail.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M orc-rt/test/unit/CommonTestUtils.h
Log Message:
-----------
[orc-rt] Make noErrors report errors as test failures (#228807)
noErrors used cantFail, so an unexpected error aborted the whole test
binary without naming the test that hit it, and with assertions disabled
was dropped silently. Use EXPECT_THAT_ERROR instead, so the error is
reported as a failure of the current test and the remaining tests still
run.
Commit: 120e630a18f842bccfea855dae30d7279aa33df5
https://github.com/llvm/llvm-project/commit/120e630a18f842bccfea855dae30d7279aa33df5
Author: Rong "Mantle" Bao <rong.bao at csmantle.top>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerTracePC.cpp
Log Message:
-----------
[libFuzzer] Remove unused helper `GetPreviousInstructionPc` (#228453)
This function hasn't been used since 2891b257c24c ("[libFuzzer] remove
stale code"), and it contains a typo in the RISCV #ifdef arm. Removing
this altogether.
This was found when surveying RISCV-specific code in [a downstream
project](https://searchfox.org/firefox-main/rev/084057e952e7dbf376f6c3765ad242aec3785dc6/tools/fuzzing/libfuzzer/FuzzerTracePC.cpp#141)
that vendored libFuzzer.
Commit: ed17053cb1381a578ce3243a0712ffe5aaaad35d
https://github.com/llvm/llvm-project/commit/ed17053cb1381a578ce3243a0712ffe5aaaad35d
Author: Vaisman <vasili.svirski at gmail.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/test/Dialect/NVGPU/invalid.mlir
Log Message:
-----------
[mlir][nvgpu] Align integer WGMMA type checks with i8 operands (#212215)
Integer WGMMA uses i8 operands with an i32 accumulator, but the NVGPU
verifier and K-shape selection still checked for i16.
Changes both checks to i8 and adds tests for rejected i16 inputs and the
existing i8 "not supported yet" limitation.
Commit: 552d320e5a45c8b6eaae8b3714517271e6c6b668
https://github.com/llvm/llvm-project/commit/552d320e5a45c8b6eaae8b3714517271e6c6b668
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrSSE.td
Log Message:
-----------
[X86] Correct the SDTypeProfile for VNNI instructions. (#228745)
Operand 1 and 2 have i8 or i16 elements while the result and operand 0
have i32 elements. The type profile previously said all operands were
the same type.
I've split the type profile to capture the i8 and i16 element size
accurately.
Assisted-by: Claude
Commit: 922e22c8b5c7e1b3613c09cc54c18a0eff01c560
https://github.com/llvm/llvm-project/commit/922e22c8b5c7e1b3613c09cc54c18a0eff01c560
Author: Fangrui Song <i at maskray.me>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
Log Message:
-----------
[CodeGen] Remove unused -rafast-ignore-missing-defs (#228808)
Unused since the 2020 RegAllocFast rewrite (c8757ff3aa7d) introduced it.
Commit: 13729747c5d03646f09a9f7bdecfe491254bead9
https://github.com/llvm/llvm-project/commit/13729747c5d03646f09a9f7bdecfe491254bead9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
Log Message:
-----------
[NFC][TSan] Move RestoreStack before ScopedReport in ReportDestroyLocked (#228643)
Run RestoreStack in its own lock scope before constructing ScopedReport
in ReportDestroyLocked (matching ReportRace). This avoids acquiring
ScopedErrorReportLock or symbolizing the current stack if RestoreStack
fails, and avoids holding slot_lock and slot_mtx while populating the
ScopedReport.
Assisted-by: Gemini
Commit: b5ab963ec7498a5c2ac81a8955ba98549dc5d6d0
https://github.com/llvm/llvm-project/commit/b5ab963ec7498a5c2ac81a8955ba98549dc5d6d0
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
A mlir/test/Dialect/XeGPU/propagate-layout-inst-data-invalid.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
Log Message:
-----------
[mlir][xegpu] Fill split-group inner dims on shape_cast result layout (#227560)
This PR set the result layout for shape_cast when it can't infer the
layout from incoming consumer layout. For example,
```mlir
vector.shape_cast %0 : vector<16x1024xbf16> to vector<16x32x32xbf16>
// consumer layout: inst_data = [1, 2, 8], lane_layout = [1, 2, 8], lane_data = [1, 1, 1]
```
Taking the consumer layout as is doesn't work for layout propagation.
The lanes cover 2 along dim 1 and only 8 of dim 2's 32 — a 2x8 box.
Collapsing dims 1 and 2 gives inst_data = [1, 16] on the 16x1024 source,
which is 16 contiguous elements. Those are not the same elements: the
2x8 box is two runs of 8, 32 apart.
This PR fixes the issue by stretching the lane_data to cover the
innermost dims of source shape, to set up result layout so that each
lane gets the same data before and after the shapecast, which is the
condition that shapecast op can be successfully distributed.
```
before: inst_data = [1, 2, 8], lane_layout = [1, 2, 8],lane_data = [1, 1, 1]
after: inst_data = [1, 2, 32], lane_layout = [1, 2, 8],lane_data = [1, 1, 4]
^^ ^
collapses to: inst_data = [1, 64], lane_layout = [1, 16],lane_data = [1, 4]
```
lane_data grows from 1 to 4 so that 8 lanes x 4 elements = 32, and
inst_data follows.
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: 47d237ba0b8c8241d2fab80ba6709c4d5cbaaba7
https://github.com/llvm/llvm-project/commit/47d237ba0b8c8241d2fab80ba6709c4d5cbaaba7
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
Log Message:
-----------
[mlir][XeGPU] Add an SLM round-trip fallback for sg-to-lane convert_layout (#227884)
This PR adds a general fallback lowering for xegpu.convert_layout in the
sg-to-lane distribution pass, which round-trips the value through shared
local memory.
The existing lane-level lowerings are all special cases: the layouts
fold into each other, or they differ in a way a xegpu.lane_shuffle or a
gpu.shuffle can express. Anything else failed to legalize and stopped
the pipeline — for instance a conversion that only moves the lane_data
of a dimension distributed over part of the subgroup:
```mlir
xegpu.convert_layout %src
<{input_layout = #xegpu.layout<lane_layout = [1, 2, 8], lane_data = [1, 1, 4]>,
target_layout = #xegpu.layout<lane_layout = [1, 2, 8], lane_data = [1, 1, 1]>}>
: vector<1x2x32xbf16>
```
Here dim 2 is distributed over 8 of the 16 lanes and dim 1 over the
other factor of 2, so the subgroup splits into two groups that each hold
a run of their own. A single xegpu.lane_shuffle round-robins with a
stride of the whole subgroup size and cannot express that.
The new pattern works for any pair of layouts which can both distribute
the value: each lane writes its fragment to SLM at the coordinates
input_layout assigns it, then reads it back from the ones target_layout
assigns. It mirrors what XeGPUWgToSgDistribute already does for a
workgroup-level convert_layout whose sg_layout changes, and is
registered at a lower pattern benefit than every specialized lowering,
so it only runs once they have all declined.
assisted-by-claude
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: 3ff9208af10d7a6e246e0e411ecfd8db7993baba
https://github.com/llvm/llvm-project/commit/3ff9208af10d7a6e246e0e411ecfd8db7993baba
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/test/CIR/CodeGen/subscript-addrspace-cast.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-stdc-bit-c2y.c
Log Message:
-----------
[CIR] Preserve address spaces in emitPointerWithAlignment casts (#228652)
emitPointerWithAlignment handled CK_AddressSpaceConversion like
CK_BitCast and never emitted the address-space cast, so the result kept
the source address space. When the address escaped (returned reference,
stored pointer), the store path bitcast the destination slot to the
wrong address space. This miscompiled sycl::multi_ptr::operator[] on
SPIR-V: a local-memory offset was used as a generic address. Emit the
cast after the element bitcast, as classic CodeGen does.
createElementBitCast also built the new pointer type in the default
address space, so changing the element type of a non-default-AS pointer
produced an AS-changing bitcast that the verifier rejects (for example
((int *)p)[i] or __builtin_stdc_memreverse8 on an AS3 pointer). Keep the
source address space, which matches classic's withElementType.
Co-authored-by: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
Commit: c93bad65aa654f507ea768610d003c42ba31ab7b
https://github.com/llvm/llvm-project/commit/c93bad65aa654f507ea768610d003c42ba31ab7b
Author: Saqib Khan <saqibkhan at utexas.edu>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
M mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
M mlir/test/Dialect/WasmSSA/custom_parser/if.mlir
A mlir/test/Dialect/WasmSSA/return-invalid.mlir
M mlir/test/Target/Wasm/if.mlir
Log Message:
-----------
[mlir][wasmssa] Fix if/else round-trip and verify return types (#227828)
Fixes two WasmSSA dialect bugs:
**#226072: `wasmssa.if` does not round-trip.** The else region was
printed with `printKeywordOrString("else ")`. Because of the trailing
space, `"else "` is not a valid bare keyword, so it was printed as a
quoted string (`} "else "{`), which `parseElseRegion` does not accept.
The else keyword is now printed directly, giving `} else {`.
**#226073: `wasmssa.return` is not checked against the function's
results.** `wasmssa.return` had no verifier, so a function could return
a different number or type of values than its signature declares. This
adds a `ReturnOp` verifier that checks the operands against the
enclosing `wasmssa.func`. Checking in the return op rather than in
`FuncOp::verifyBody` also covers returns nested inside
`block`/`loop`/`if` regions.
Tests:
- `custom_parser/if.mlir` expected the broken `"else "` output; it now
expects `} else {` and gains a second RUN line piping through `mlir-opt`
again to check the round trip. Its `@func_0` returned `f32` from an
`i32` function, which the new verifier rejects, so the signature is now
`-> f32`.
- `Target/Wasm/if.mlir` also expected the quoted `"else "` and is
updated. The Wasm importer's output passes the new verifier.
- New `return-invalid.mlir` covers type mismatch, too few / too many
operands, and a mismatched return inside a nested `if` region.
`llvm-lit mlir/test/Dialect/WasmSSA mlir/test/Target/Wasm
mlir/test/Conversion/RaiseWasm`: 112/112 pass. The new and updated
dialect tests fail without the fix.
Assisted-by: Claude Code (Claude Opus 5.5)
Co-authored-by: Ferdinand Lemaire <flscminecraft at gmail.com>
Commit: 7634546c4af456d0e026a9e3a661282a50e5211b
https://github.com/llvm/llvm-project/commit/7634546c4af456d0e026a9e3a661282a50e5211b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Support nodelete on constructors and destructors (#218822)
Commit: 72b39c854fd7f9fd008bf14df4ce2c98b0ea364d
https://github.com/llvm/llvm-project/commit/72b39c854fd7f9fd008bf14df4ce2c98b0ea364d
Author: Jared Wyles <jared.wyles at gmail.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M libclc/test/work-item/get_group_id.cl
Log Message:
-----------
Wyles/update libclctests (#228681)
Using libclc with different versions of clang emit different output.
computeConstantRange now pushes ranges through zext and sext so we now
can prove noundef. This test returns AMDGPU workgroup ID which is zero
extended, so we can now prove it needs noundef.
At some point we may need to update the CI targets to look at libclc?
Commit: 4d807b161f802800617703cdf885ef8f5707a912
https://github.com/llvm/llvm-project/commit/4d807b161f802800617703cdf885ef8f5707a912
Author: Jared Wyles <jared.wyles at gmail.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[orc-rt] enabling CI (#226088)
For now we only build this as a stand alone project.
Co-authored-by: Lang Hames <lhames at gmail.com>
Commit: 61ab63550e48c9f2e50aa2d5261ee8a5fe319c72
https://github.com/llvm/llvm-project/commit/61ab63550e48c9f2e50aa2d5261ee8a5fe319c72
Author: Douglas <Douglas.Gliner at sony.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[clang][Driver] Prevent Safe Stack runtime from linking if enabled then disabled (#228537)
Currently:
```
$ ./clang -fsanitize=safe-stack -fno-sanitize=safe-stack -Wl,--trace -x c++ -o- - < /dev/null
...
.../libclang_rt.safestack.a
...
```
See https://godbolt.org/z/e63za9sjn
With this change, `libclang_rt.safestack.a` is not included when Safe
Stack is disabled as the last option. This is because `Kinds` is the
final resolved set of sanitizers after removals via `-fno-sanitize`.
`AllAddedKinds` is the set of all sanitizers which were seen at least
once even if they were removed. This change makes it so we check against
`Kinds` instead of `AllAddedKinds`.
Besides Safe Stack, there are quite a few options resolved and passed to
the driver unintentionally when using particular combinations of
`-fsanitize` and `-fno-sanitize`. This is filed as
https://github.com/llvm/llvm-project/issues/228529.
Should fix https://github.com/llvm/llvm-project/issues/107763.
Commit: 140515f43372ac94179223953e39d8e57259ba92
https://github.com/llvm/llvm-project/commit/140515f43372ac94179223953e39d8e57259ba92
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Support nodelete on constructors and destructors (#218822)
This PR adds the support for specifying nodelete annotation on C++
constructors and destructors. To do this, we recognize
[[clang::annotate("webkit.nodelete")]] on function declarations instead
of [[clang::annotate_type("webkit.nodelete")]] on the return value.
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
Commit: cad1eecaac838c317e23ba2c4601408da4dcc3f5
https://github.com/llvm/llvm-project/commit/cad1eecaac838c317e23ba2c4601408da4dcc3f5
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-10-04 (Sun, 04 Oct 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 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
A llvm/test/CodeGen/RISCV/rvp-narrowing-shift.ll
Log Message:
-----------
[Clang][RISCV] Add packed narrowing shift intrinsics (#228726)
This patch adds the Packed Narrowing Shift intrinsics:
- `__riscv_pnsrl_s_u8x4`
- `__riscv_pnsrl_s_u16x2`
- `__riscv_pnsra_s_i8x4`
- `__riscv_pnsra_s_i16x2`
- `__riscv_pnsrar_s_i8x4`
- `__riscv_pnsrar_s_i16x2`
Commit: 894dad791c0124915dcf6b5093744c9307cffaf2
https://github.com/llvm/llvm-project/commit/894dad791c0124915dcf6b5093744c9307cffaf2
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPeepHoleOptimizer.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir
Log Message:
-----------
[mlir][xegpu] Raise the reduction vector size to match maxReduceVectorSize (#225122)
`maxReduceVectorSize` was pinned at 1, so a lane reduced one element at
a time no
matter how much data it held. This raises it to 16 and makes the layout
computation actually spend it, so a lane's reduce vector matches the
per-lane
budget.
```cpp
- int64_t maxReduceVectorSize = 1; // could extend to spirv vector Size
+ int64_t maxReduceVectorSize = 16; // extend to spirv vector Size
```
The PR only raises the vector size for the innermost dim, and only when
that dim is reduced and carries a single lane.
The reason we don't raise vector size for outer dim: Raising the vector
size for the outer dim means the vector may be strided in flat element
order. In case that the producer is a shape_cast op, it causes a
potential convert_layout after shape_cast which assumes all lane data to
be contiguous.
As we simplify propagation rule, the trade-off is that the rule is
conservative since we don't know the information about producer due to
the backward propagation.
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: e3afe37ec59c4c5f689e2c92bd0b6f16cabf6fbf
https://github.com/llvm/llvm-project/commit/e3afe37ec59c4c5f689e2c92bd0b6f16cabf6fbf
Author: Fangrui Song <i at maskray.me>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M llvm/include/llvm/Option/LibraryOptions.td
M llvm/include/llvm/Option/OptParser.td
M llvm/include/llvm/Option/Option.h
M llvm/lib/Option/Arg.cpp
M llvm/lib/Option/LibraryOptions.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Option/Option.cpp
M llvm/unittests/Option/LibraryOptionsTest.cpp
M llvm/utils/TableGen/Basic/OptionParserEmitter.cpp
Log Message:
-----------
[Option] Add FlagOrEq and SeparateOrEq option kinds (#228319)
FlagOrEq accepts -x and -x=v; SeparateOrEq accepts -x=v and -x v. The
name is stored without '=', and RenderEqStyle renders -x=v. BoolField
and ValueField use them, so a library option takes one table row instead
of a Joined twin plus a Flag or a Separate alias.
CGDataOptions.cpp.o shrinks from 4,977 to 4,370 bytes and
InstCombineCLOptions.cpp.o from 4,180 to 3,553.
Aided by Opus 5.5
Commit: d30940d9dc3690bc8433411ce9b1e9eca45f9e62
https://github.com/llvm/llvm-project/commit/d30940d9dc3690bc8433411ce9b1e9eca45f9e62
Author: Fangrui Song <i at maskray.me>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/docs/CommandLine.md
A llvm/include/llvm/ADT/BoolOrDefault.h
M llvm/include/llvm/Option/LibraryOptions.h
M llvm/include/llvm/Option/LibraryOptions.td
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/unittests/Option/LibraryOptionsTest.cpp
M llvm/utils/TableGen/Basic/OptionParserEmitter.cpp
Log Message:
-----------
[Option] Add BoolOrDefault for OptionalBoolField and DefaultOnOffField (#228835)
The members of OptionalBoolField and DefaultOnOffField are
std::optional<bool>, on which `if (X)` tests whether the option is
given, not its value. Make them a new 1-byte `enum class BoolOrDefault :
uint8_t { Default, True, False }`, which does not convert to bool, and
read them with `valueOr(X, Default)`.
Aided by Opus 5.5
Commit: c275ebd64bf5b05e36a3a8e8b8daa32ba9a52aac
https://github.com/llvm/llvm-project/commit/c275ebd64bf5b05e36a3a8e8b8daa32ba9a52aac
Author: Kazu Hirata <kazu at google.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Use StorageT for temporary storage in DenseMapBase::grow (NFC) (#228802)
Without this patch, the non-relocatable path of DenseMapBase::grow
rehashes into a temporary DenseMapBase instance:
DenseMapBase Tmp(NumBuckets, ExactBucketCount{});
This patch switches to:
StorageT Tmp;
while converting initEmpty, initWithExactBucketCount, and moveFrom to
static helpers to operate directly on StorageT. This brings the
following benefits:
- grow() no longer calls the destructor for Tmp because StorageT does
not have one. Without this patch, we call Tmp.~DenseMapBase(), which
in turn calls destroyAll() even though the bucket array has no
elements to destruct. Even with inlining enabled, the host compiler
retains the body of destroyAll() because NumBuckets == 0 is set inside
moveFrom, which is marked LLVM_ATTRIBUTE_NOINLINE.
- We get to remove the following helpers as their only purpose is to
facilitate a temporary instance of DenseMapBase during grow():
- DenseMapBase::ExactBucketCount
- DenseMapBase::DenseMapBase(unsigned, ExactBucketCount)
- DenseMapStorage::kill()
- SmallDenseMapStorage::kill()
Assisted-by: Antigravity
Commit: 2c9a3d2870b263526d803b1ea6c5c98923a70d0f
https://github.com/llvm/llvm-project/commit/2c9a3d2870b263526d803b1ea6c5c98923a70d0f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M offload/Maintainers.md
Log Message:
-----------
offload: Remove Johannes from current maintainers (#228853)
Commit: 32d1053b64b5f26f06960e65da313879ec968086
https://github.com/llvm/llvm-project/commit/32d1053b64b5f26f06960e65da313879ec968086
Author: Kazu Hirata <kazu at google.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M llvm/include/llvm/CodeGen/LiveVariables.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/LiveVariables.cpp
Log Message:
-----------
[CodeGen] Remove unused functions (NFC) (#228844)
LiveVariables::replaceKillInstruction: The last caller was removed on
October 1, 2026 in commit 8068182dd6fb1a8efae0291db1d2462d29025cd1.
TargetLoweringBase::getSupportedLibcallImpl: The last caller was
removed on October 24, 2025 in commit
26450db480761c0fedf319fc350178798ce7e547.
Assisted-by: Antigravity
Commit: eddb17da45c0d2c23d71a1cef3e09821989988f2
https://github.com/llvm/llvm-project/commit/eddb17da45c0d2c23d71a1cef3e09821989988f2
Author: Kazu Hirata <kazu at google.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
Log Message:
-----------
[clang] Migrate away from PointerUnion::dyn_cast (NFC) (#228843)
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.
Note that the if-then-else chain ends with:
} else
llvm_unreachable("Unhandled CausingFact type");
which guarantees that CausingFact is nonnull.
Assisted-by: Antigravity
Commit: 099ed06a1cca66597ae89c547e972301c25bdc6f
https://github.com/llvm/llvm-project/commit/099ed06a1cca66597ae89c547e972301c25bdc6f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
A clang/lib/CIR/Dialect/Transforms/RecordTypeConverter.cpp
A clang/lib/CIR/Dialect/Transforms/RecordTypeConverter.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/CIR/CodeGen/matrix.cpp
A clang/test/CIR/CodeGen/subscript-addrspace-cast.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-stdc-bit-c2y.c
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M clang/test/Driver/msvc-link.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/OpenMP/simd_misc_messages.c
M clang/test/OpenMP/single_copyprivate_messages.cpp
M clang/test/OpenMP/structured-bindings-messages.cpp
M clang/test/Parser/cxx-ambig-paren-expr.cpp
M compiler-rt/lib/fuzzer/FuzzerTracePC.cpp
M compiler-rt/lib/tsan/rtl/tsan_defs.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
A compiler-rt/test/tsan/signal_abort_on_error.cpp
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Semantics/CUDA/cuf18.cuf
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/fchownat.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/fchownat.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/fchownat.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/fchownat_test.cpp
M libclc/test/work-item/get_group_id.cl
M llvm/cmake/config.guess
M llvm/docs/CommandLine.md
A llvm/include/llvm/ADT/BoolOrDefault.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/LiveIntervals.h
M llvm/include/llvm/CodeGen/LiveVariables.h
M llvm/include/llvm/CodeGen/MIR2Vec.h
M llvm/include/llvm/CodeGen/MachineBlockHashInfo.h
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/Option/LibraryOptions.h
M llvm/include/llvm/Option/LibraryOptions.td
M llvm/include/llvm/Option/OptParser.td
M llvm/include/llvm/Option/Option.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/BasicTargetTransformInfo.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/MIR2Vec.cpp
M llvm/lib/CodeGen/MachineBlockHashInfo.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegAllocScore.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/VLIWMachineScheduler.cpp
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/Option/Arg.cpp
M llvm/lib/Option/LibraryOptions.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Option/Option.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
A llvm/test/CodeGen/RISCV/rvp-narrowing-shift.ll
M llvm/test/CodeGen/X86/virtreg-physreg-def-regallocfast.mir
A llvm/test/DebugInfo/X86/inline-asm-file-error.ll
M llvm/test/LTO/Resolution/X86/libcall-in-tu.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
M llvm/test/Transforms/LoopVectorize/AArch64/find-last-iv-sinkable-expr-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
M llvm/test/Transforms/LoopVectorize/VPlan/epilogue-vectorization-printing.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-function-entry-count.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
M llvm/test/Transforms/LoopVectorize/select-min-max-last-index-epilogue.ll
A llvm/test/Transforms/SLPVectorizer/X86/absorbed-lane-undef-bitwidth.ll
A llvm/test/Transforms/SLPVectorizer/X86/reduction-erased-copyable-cast-main-op.ll
M llvm/test/Transforms/SLPVectorizer/X86/wide-load-absorbed-lane.ll
A llvm/test/Transforms/SLPVectorizer/absorbed-lane-shuffled-operand.ll
A llvm/test/Transforms/SLPVectorizer/volatile-loads-reduction.ll
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-mca/CodeRegionGenerator.cpp
M llvm/tools/opt-viewer/opt-viewer.py
M llvm/tools/opt-viewer/optrecord.py
M llvm/unittests/CodeGen/MIR2VecTest.cpp
M llvm/unittests/CodeGen/RegAllocScoreTest.cpp
M llvm/unittests/Option/LibraryOptionsTest.cpp
M llvm/utils/TableGen/Basic/OptionParserEmitter.cpp
M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPeepHoleOptimizer.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/NVGPU/invalid.mlir
M mlir/test/Dialect/WasmSSA/custom_parser/if.mlir
A mlir/test/Dialect/WasmSSA/return-invalid.mlir
A mlir/test/Dialect/XeGPU/propagate-layout-inst-data-invalid.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir
M mlir/test/Target/Wasm/if.mlir
M offload/Maintainers.md
M offload/libompaccsupport/PluginManager.cpp
M offload/test/offloading/dyn_groupprivate.cpp
M orc-rt/test/unit/CommonTestUtils.h
M orc-rt/test/unit/bedrock/sps/MemoryAccessSPSCITest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
M orc-rt/test/unit/support/ProxyTest.cpp
M orc-rt/test/unit/support/sps/SPSWrapperFunctionTest.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
Rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/e216d60eeee2...099ed06a1cca
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