LLVM/project 0a7e31allvm/lib/Target/AArch64 AArch64Features.td, llvm/unittests/TargetParser TargetParserTest.cpp

[AArch64][llvm] Update Armv9.7-A dependencies

Update Armv9.7-A dependenies:
  * `FeatureF16MM` to depend on `FeatureNEON`
  * `FeatureF16F32DOT` enabled by default for Armv9.7-A
DeltaFile
+4-3llvm/lib/Target/AArch64/AArch64Features.td
+3-0llvm/unittests/TargetParser/TargetParserTest.cpp
+7-32 files

LLVM/project 8a89ebbllvm/lib/Target/AArch64 AArch64Features.td

fixup! Reorder deps
DeltaFile
+1-1llvm/lib/Target/AArch64/AArch64Features.td
+1-11 files

LLVM/project 214246elldb/source/Host/windows PseudoConsole.cpp

[lldb][windows] fix VT sequences overriding (lldb) prompt (#183366)

This patch fixes the `(lldb)` prompt being overwriten by the cursor
position movements the ConPTY emits.

To be a complete solution we should also add a resize hook for the
console's window.

I also think that we should look into injecting conpty VT sequences
before printing the `(lldb)` prompt.
For instance, if we break on a breakpoint and the pty added a "hide
cursor" VT sequence, we should emit a `show cursor` sequence before
printing `(lldb)`. This should be done outside of this PR however.
DeltaFile
+5-0lldb/source/Host/windows/PseudoConsole.cpp
+5-01 files

LLVM/project 2ce5f91llvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPlanConstruction.cpp, llvm/test/Transforms/LoopVectorize first-order-recurrence-chains.ll scalable-first-order-recurrence.ll

[VPlan] Optimize resume values of IVs together with other exit values. (#174239)

Remove updateScalarResumePhis and create extracts for live-outs early in
addInitialSkeleton. Instead of extracting the from the header phi
recipes for the resume values (which is incorrect), extract the last
lane of the backedege value.

Then update optimizeInductionExitUsers to optimize both the scalar
resume values for IVs and IV exit values together.

This removes the need to pass state between transforms and addresses a
TODO.

PR: https://github.com/llvm/llvm-project/pull/174239
DeltaFile
+72-103llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+33-25llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
+26-26llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
+40-4llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+16-16llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
+5-11llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+192-1859 files not shown
+221-21615 files

LLVM/project 8e6951bllvm/lib/Target/AArch64 AArch64InstrFormats.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Templatise bounds checking and improve tests
DeltaFile
+15-4llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+18-0llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+12-5llvm/lib/Target/AArch64/AArch64InstrFormats.td
+0-8llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+45-174 files

LLVM/project 00e247amlir/include/mlir/Dialect/UB/IR UBMatchers.h, mlir/lib/Dialect/Arith/IR ArithOps.cpp

[mlir][ub] Add `m_Poison()` matcher (#185022)

Add a dedicated matcher for poison values in the UB dialect, similar to
`m_Constant()` for general constants. The matcher uses
`PoisonAttrInterface` for future extensibility.

Replace existing checks against `ub::PoisonAttr` with the new matcher.

Assisted-by: claude
DeltaFile
+52-0mlir/include/mlir/Dialect/UB/IR/UBMatchers.h
+11-10mlir/lib/Dialect/Vector/IR/VectorOps.cpp
+11-2mlir/test/lib/IR/TestMatchers.cpp
+10-0mlir/test/IR/test-matchers.mlir
+5-5mlir/lib/Dialect/Arith/IR/ArithOps.cpp
+3-3mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
+92-201 files not shown
+94-227 files

LLVM/project 647543allvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis weak-crossing-siv-large-btc.ll weak-crossing-siv-overflow.ll

[DA] Overflow check in WeakCrossing Delta calculaiton
DeltaFile
+4-1llvm/lib/Analysis/DependenceAnalysis.cpp
+1-1llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-large-btc.ll
+1-1llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-overflow.ll
+6-33 files

LLVM/project d98d8b9lldb/include/lldb/Host/windows ProcessLauncherWindows.h, lldb/source/Host/windows ProcessLauncherWindows.cpp

[lldb][windows][NFC] expose ProcessLauncherWindows methods (#183579)
DeltaFile
+54-9lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
+36-19lldb/source/Host/windows/ProcessLauncherWindows.cpp
+90-282 files

LLVM/project 220f91amlir/test/Transforms inlining.mlir, mlir/test/lib/Dialect/Test TestDialectInterfaces.cpp

[MLIR] Fix crash in inliner when return arity mismatches call results (#185037)

The `handleTerminator` implementation in the test dialect's inliner
interface was asserting that the number of `test.return` operands equals
the number of values to replace. This assertion fires when inlining a
callee whose body uses `test.return` with values into a call site that
expects zero results (e.g., a void `llvm.func` calling a function whose
implementation uses `test.return` with operands).

Replace the assertion with a conditional early return so the inliner
gracefully skips replacement instead of crashing.

Fixes #108376

Assisted-by: Claude Code
DeltaFile
+22-0mlir/test/Transforms/inlining.mlir
+5-2mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
+27-22 files

LLVM/project fb36d44clang/lib/Sema SemaHLSL.cpp SemaType.cpp, clang/test/ParserHLSL hlsl_resource_dimension_attr_error.hlsl hlsl_resource_dimension_attr.hlsl

[HLSL] Add parsing for the resource dimension attribute.

The resource attribute was added, but the code to be able to parse it
as we do with other resource attributes was missing. This means we are
not able to test the attribute in isolation.

This change adds the parsing for the attribute, and adds more testing
for it.

Assisted-by: Gemini
DeltaFile
+19-0clang/test/ParserHLSL/hlsl_resource_dimension_attr_error.hlsl
+18-0clang/lib/Sema/SemaHLSL.cpp
+17-0clang/test/ParserHLSL/hlsl_resource_dimension_attr.hlsl
+1-0clang/lib/Sema/SemaType.cpp
+55-04 files

LLVM/project 096c0f7llvm/lib/Analysis DependenceAnalysis.cpp

address code style issues
DeltaFile
+2-2llvm/lib/Analysis/DependenceAnalysis.cpp
+2-21 files

LLVM/project 9492261llvm/include/llvm/Analysis DependenceAnalysis.h, llvm/lib/Analysis DependenceAnalysis.cpp

[DA] Require 'nsw' for AddRecs in the WeakCrossing SIV test
DeltaFile
+11-7llvm/lib/Analysis/DependenceAnalysis.cpp
+2-4llvm/include/llvm/Analysis/DependenceAnalysis.h
+2-2llvm/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll
+1-1llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-addrec-wrap.ll
+16-144 files

LLVM/project 864d045clang/test/CIR/CodeGen complex-cast.cpp finegrain-bitfield-access.cpp

[CIR] Fix checks following b3d99ac2cda4d6484ac0dff0b95403b4a8c10465. NFC

- b3d99ac2cda4d6484ac0dff0b95403b4a8c10465 makes constant folder data
  layout aware. Match checks accordingly.
DeltaFile
+14-14clang/test/CIR/CodeGen/complex-cast.cpp
+9-9clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
+2-2clang/test/CIR/CodeGen/no-odr-use.cpp
+2-2clang/test/CIR/CodeGen/global-init.cpp
+2-2clang/test/CIR/CodeGen/vtt.cpp
+1-1clang/test/CIR/CodeGen/clear-cache.c
+30-303 files not shown
+33-339 files

LLVM/project b7cc3c5clang/lib/Serialization ASTWriter.cpp, clang/test/Modules diag-pragma-nonaffecting.cpp

[C++20][Modules] Do not apply `getAdjustedOffset` to file-internal byte offset. (#184956)

In https://reviews.llvm.org/D137214 and
https://reviews.llvm.org/D136624, offset adjustment logic was added to
account for the non-affecting module map files that are removed. While
the adjustment logic applies to global source location offsets, they do
not apply to file-internal offsets (relative within the file).

In `ASTWriter::WritePragmaDiagnosticMappings`, the adjustment is applied
to `StatePoint.Offset`s in `StateTransitions`. However, these offsets
are file-internal offsets, not global source location offsets. As such,
applying adjustment to these offsets result in incorrect diagnostic
behavior from the module.

Specifically, wrapping a piece of code in `pragma clang diagnostic
push/pop`, inside of a module is not applied correctly. A new test case
`diag-pragma-nonaffecting.cpp` was added to verify the broken behavior
as well as the corrected behavior with this commit.

Assisted-by: Claude Opus 4.6
DeltaFile
+50-0clang/test/Modules/diag-pragma-nonaffecting.cpp
+1-1clang/lib/Serialization/ASTWriter.cpp
+51-12 files

LLVM/project 158ca16llvm/lib/Target/AMDGPU AMDGPULibCalls.cpp, llvm/test/CodeGen/AMDGPU amdgpu-simplify-libcall-rootn-codegen.ll amdgpu-simplify-libcall-rootn.ll

AMDGPU: Fix selection failure on fast vector rootn

This was emitting the raw rcp intrinsic, which will fail for any
vector type. This is an afn context anyway, so just emit fdiv
which will select to rcp but also will undergo type legalization.
DeltaFile
+142-0llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn-codegen.ll
+40-44llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
+4-1llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
+186-453 files

LLVM/project 7c2f2a5clang-tools-extra/clang-doc JSONGenerator.cpp

[clang-doc][NFC] Move static functions into JSONGenerator as methods (#184663)

Most of the JSONGenerator functionality was provided by a series of
static functions. This made it unwieldy to access useful properties of
ClangDocContext. As methods, they can now access a pointer to CDCtx.

An LLM was used to automate declaring the functions inside the class and
adding the scope resolution operators.

Fixes #181767
DeltaFile
+139-153clang-tools-extra/clang-doc/JSONGenerator.cpp
+139-1531 files

LLVM/project ad6d87dllvm/lib/Analysis ConstantFolding.cpp

Revert "[ConstantFolding] Consider `tanh*` to always be a noop (#70794)"

This reverts commit 110082566b000af791d6fed338831e276355dc68.

This broke check-llvm.
DeltaFile
+0-3llvm/lib/Analysis/ConstantFolding.cpp
+0-31 files

LLVM/project 57614e8offload/plugins-nextgen/cuda/src rtl.cpp

[OFFLOAD] Replace C-style casts with C++ style casts in obtainInfoImpl (#185023)

Replace C-style bool casts (bool)TmpInt with C++ functional casts
bool(TmpInt)
DeltaFile
+12-12offload/plugins-nextgen/cuda/src/rtl.cpp
+12-121 files

LLVM/project 8ae1cf3llvm/lib/Target/AArch64 AArch64Features.td, llvm/unittests/TargetParser TargetParserTest.cpp

[AArch64][llvm] Update Armv9.7-A dependencies

Update Armv9.7-A dependenies:
  * `FeatureF16MM` to depend on `FeatureNEON`
  * `FeatureF16F32DOT` enabled by default for Armv9.7-A
DeltaFile
+4-3llvm/lib/Target/AArch64/AArch64Features.td
+3-0llvm/unittests/TargetParser/TargetParserTest.cpp
+7-32 files

LLVM/project 057b718lldb/source/Plugins/ObjectFile/PECOFF ObjectFilePECOFF.cpp, lldb/source/Plugins/SymbolLocator/SymStore SymbolLocatorSymStore.cpp SymbolLocatorSymStore.h

Revert "[lldb] Initial plugin and test for SymbolLocatorSymStore" (#185032)

Reverts llvm/llvm-project#185004 and llvm/llvm-project#183302
DeltaFile
+0-147lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
+0-121lldb/test/API/symstore/TestSymStoreLocal.py
+0-50lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.h
+23-25lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
+0-21lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
+0-20lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
+23-3845 files not shown
+23-40111 files

LLVM/project 20ded7dmlir/include/mlir/IR Operation.h, mlir/lib/IR Operation.cpp

[mlir] Add option to cloning for different results (#184202)

With his permission while he is away, I am resurrecting @zero9178's very
first MLIR PR #65171 that adds an option to change result in the
operation cloning mechanism. This is very useful as cloning is currently
the only way to change the results of an operation.

> Since Operations cannot change the results after creation, a clone is
necessary to create new results. Doing such an operation generically has
not been possible so far. This PR therefore adds a new option to the
CloneOptions struct allowing adding changing the results of the created
operation.
> 
> The caller is responsible to ensure that this is a valid operation and
setting the IRMapping accordingly afterwards if required.

---------

Co-authored-by: zero9178 <markus.boeck02 at gmail.com>
DeltaFile
+29-8mlir/include/mlir/IR/Operation.h
+22-9mlir/lib/IR/Operation.cpp
+16-0mlir/unittests/IR/OperationSupportTest.cpp
+67-173 files

LLVM/project 6ee8975lldb/test/API/symstore TestSymStoreLocal.py Makefile

Revert "[lldb] Fix lldb-x86_64-win bot after 454eb8bc0ac (#185004)"

This reverts commit bc077f52c9fe20f60f1319eee0d704e5265fde1b.
DeltaFile
+4-3lldb/test/API/symstore/TestSymStoreLocal.py
+2-0lldb/test/API/symstore/Makefile
+6-32 files

LLVM/project d7afea4llvm/include/llvm/Analysis ScalarEvolutionExpressions.h ScalarEvolution.h

!fixup address comments, thanks
DeltaFile
+3-8llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
+0-2llvm/include/llvm/Analysis/ScalarEvolution.h
+3-102 files

LLVM/project 96b8509llvm/include/llvm/Analysis ScalarEvolution.h, llvm/lib/Analysis ScalarEvolution.cpp

!fixup more cleanups
DeltaFile
+22-33llvm/lib/Analysis/ScalarEvolution.cpp
+2-6llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+4-2llvm/include/llvm/Analysis/ScalarEvolution.h
+1-2llvm/lib/Transforms/Scalar/LoopFuse.cpp
+1-1llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
+30-445 files

LLVM/project 30972a1llvm/include/llvm/Analysis ScalarEvolutionExpressions.h, llvm/lib/Transforms/Scalar LoopFuse.cpp LoopPredication.cpp

!fixup address latest comments, thanks
DeltaFile
+18-20llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
+3-3llvm/lib/Transforms/Scalar/LoopFuse.cpp
+1-4llvm/lib/Transforms/Scalar/LoopPredication.cpp
+1-4llvm/lib/Transforms/Scalar/NaryReassociate.cpp
+1-4llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
+1-2llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
+25-371 files not shown
+26-387 files

LLVM/project 3dfacbcllvm/include/llvm/Analysis ScalarEvolution.h ScalarEvolutionExpressions.h, llvm/lib/Analysis ScalarEvolution.cpp

[SCEV] Introduce SCEVUse wrapper type (NFC)

Add SCEVUse as a PointerIntPair wrapper around const SCEV * to prepare
for storing additional per-use information.

This commit contains the mechanical changes of adding an intial SCEVUse
wrapper and updating all relevant interfaces to take SCEVUse. Note that
currently the integer part is never set, and all SCEVUses are
considered canonical.
DeltaFile
+280-246llvm/lib/Analysis/ScalarEvolution.cpp
+117-47llvm/include/llvm/Analysis/ScalarEvolution.h
+78-70llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
+36-29llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+25-26llvm/lib/Transforms/Scalar/NaryReassociate.cpp
+17-18llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+553-43622 files not shown
+656-52328 files

LLVM/project 91b686dclang/include/clang/StaticAnalyzer/Core/PathSensitive ExprEngine.h

[NFC][analyzer] Remove orphaned ExprEngine::getStmt() (#185020)

Its definition was removed fifteen(!) years ago by commit
b1d3d968725baf28a00b12aad760434036cbe704.
DeltaFile
+0-2clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
+0-21 files

LLVM/project 8e40387flang-rt CMakeLists.txt README.md, flang-rt/cmake/modules AddFlangRTOffload.cmake

[flang-rt] Remove experiemental OpenMP offloading support (#183653)

Summary:
This, as far as I am aware, has mostly been superceded by the runtimes
build that's built on top of libc. This build links 30% faster, supports
more functionality, and uses 95% less disk space, so it seems to be the
direction we want to go.

CUDA support remains, this is not needed urgently.
DeltaFile
+0-42flang-rt/cmake/modules/AddFlangRTOffload.cmake
+12-30flang/docs/GettingStarted.md
+2-25flang-rt/CMakeLists.txt
+6-13flang-rt/README.md
+0-12flang-rt/unittests/CMakeLists.txt
+4-5flang-rt/lib/runtime/work-queue.cpp
+24-1274 files not shown
+25-14010 files

LLVM/project 9e15c6cclang/lib/Sema SemaCUDA.cpp, clang/test/SemaCUDA dtor-constexpr-virtual-base.cu

[CUDA/HIP] Do not ignore complete destructors in abstract classes (#184894)

Summary:
The complete destructor destroys virtual base subobjects even for
abstract classes, so target inference must consider vbases when
analyzing destructors.

This was motivated by behavior observed from a bug where a constexpr
function that calls a non-constexpr function. I believe this error is
secondary, but can be fixed by this observation. The issue was the
switch to C++20 allowing allocator destructors to be constexpr began
opting the function into `__host__ __device__` contexts. This function
then called a non-constexpr function through a type-trait interface
which lead to that only having `__host__` which is illegal.

The fix offered here is to check the bases of this function and
correctly derive that it is `__host__` and not `__host__ __device__` as
was previously inferred. This should only affect cases where the *only*
member is an inherited virtual destructor. Previously we found no bases

    [2 lines not shown]
DeltaFile
+33-0clang/test/SemaCUDA/dtor-constexpr-virtual-base.cu
+4-3clang/lib/Sema/SemaCUDA.cpp
+37-32 files

LLVM/project b9356b0mlir/test/Interfaces/InferIntRangeInterface infer-int-range-test-ops-invalid.mlir, mlir/test/lib/Dialect/Test TestOpDefs.cpp TestOps.td

[mlir][test] Reject TestWithBoundsOp with mismatched attribute width in verifier (#184093)

Add a verifier to `TestWithBoundsOp` that rejects bounds attributes
whose
bit width does not match the result type's storage width (e.g., `10 :
i64`
for an `i8` result). This makes the mismatch invalid IR rather than
silently
accepting it, preventing downstream crashes in consumers such as
`TestReflectBoundsOp::inferResultRanges` that assert on matching widths.

`inferResultRanges` is reverted to its original one-liner; the new
`verify()` method enforces the invariant at IR construction time.

A dedicated test file (`infer-int-range-test-ops-invalid.mlir`) uses
`-verify-diagnostics` to check the emitted error message.

Fixes #120882

Assisted-by: Claude Code
DeltaFile
+14-0mlir/test/lib/Dialect/Test/TestOpDefs.cpp
+12-0mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops-invalid.mlir
+1-0mlir/test/lib/Dialect/Test/TestOps.td
+27-03 files