LLVM/project 780a959lldb/include/lldb/ValueObject DILParser.h, lldb/source/Target StackFrame.cpp

[lldb] Remove unused bool members of DILParser (NFC) (#192572)

These options are used by DIL's `Interpreter`, but are unused by the
Parser.
DeltaFile
+6-18lldb/source/ValueObject/DILParser.cpp
+3-15lldb/include/lldb/ValueObject/DILParser.h
+2-3lldb/source/Target/StackFrame.cpp
+11-363 files

LLVM/project ebbcd42lldb/packages/Python/lldbsuite/test dotest_args.py, lldb/packages/Python/lldbsuite/test/builders darwin.py builder.py

Revert "[lldb] Rally around triple rather than arch in the API tests (#191416)" (#192763)

Temoprarily reverting while we look at the TestMacCatalyst.py and
TestRosetta.py fails introduced by this PR, to unblock the CI.

This reverts commit 86397f49c7725f35a51517a8290cb4207c97771d.
DeltaFile
+81-33lldb/packages/Python/lldbsuite/test/builders/darwin.py
+86-24lldb/packages/Python/lldbsuite/test/make/Makefile.rules
+15-11lldb/packages/Python/lldbsuite/test/builders/builder.py
+16-6lldb/packages/Python/lldbsuite/test/dotest_args.py
+5-12lldb/test/API/commands/expression/ptrauth-objc/TestPtrAuthObjectiveC.py
+4-11lldb/test/API/commands/expression/ptrauth/TestPtrAuthExpressions.py
+207-9711 files not shown
+230-13117 files

LLVM/project 43e798eclang/lib/CodeGen CodeGenModule.cpp, clang/test/CodeGenCXX bpf-debug-info-alias.cpp

[BPF] Handle aliases in CodeGenModule::EmitExternalDeclaration. Fixes #192365 (#192374)

Adds handling of global aliases in
CodeGenModule::EmitExternalDeclaration. This fixes a clang crash on some
real code, see llvm#192365.
DeltaFile
+16-0clang/test/CodeGenCXX/bpf-debug-info-alias.cpp
+4-0clang/lib/CodeGen/CodeGenModule.cpp
+20-02 files

LLVM/project 029abe6lldb/include/lldb/Core Debugger.h, lldb/source/Commands CommandObjectDWIMPrint.cpp

[lldb] Store the dummy target in the selected execution context (#190496)

Store the dummy target in the selected execution context. There's no
reason for everybody to have to independently fall back to the dummy
target.
DeltaFile
+35-0lldb/unittests/Core/DebuggerTest.cpp
+14-16lldb/source/Interpreter/CommandObject.cpp
+17-9lldb/source/Core/Debugger.cpp
+10-6lldb/include/lldb/Core/Debugger.h
+5-7lldb/source/Interpreter/CommandInterpreter.cpp
+2-4lldb/source/Commands/CommandObjectDWIMPrint.cpp
+83-421 files not shown
+84-437 files

LLVM/project 492f5d7llvm/test/CodeGen/RISCV attributes.ll

[RISCV] Add missing RUN line for RV32P to attributes.ll. NFC (#192750)
DeltaFile
+2-1llvm/test/CodeGen/RISCV/attributes.ll
+2-11 files

LLVM/project 25df9f2mlir/lib/Dialect/Tensor/Transforms FoldTensorSubsetOps.cpp, mlir/test/Dialect/Tensor fold-tensor-subset-ops.mlir

[mlir][tensor] Remove unit-stride restriction in InsertSliceOp folding  (#192600)

This PR replaces manual offset/size resolution with `affine::mergeOffsetsSizesAndStrides`, simplifying the code and extending subview-of-subview folding to support non-unit strides.
DeltaFile
+7-31mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
+24-5mlir/test/Dialect/Tensor/fold-tensor-subset-ops.mlir
+31-362 files

LLVM/project b87f23amlir/docs/Tutorials MlirOpt.md

[mlir][docs] Rename fusion option name in MlirOpt tutorial (#184635)

Options have been renamed in #128405
DeltaFile
+2-2mlir/docs/Tutorials/MlirOpt.md
+2-21 files

LLVM/project 63e032bclang/test/CodeGen ubsan-aggregate-null-align.c

[UBSan][test] Make aggregate alignment test precise for Darwin

Darwin adds an alignment check on dest, which was causing test failure.

rdar://120802910
DeltaFile
+1-0clang/test/CodeGen/ubsan-aggregate-null-align.c
+1-01 files

LLVM/project 6886505llvm/lib/Target/AArch64 AArch64RedundantCondBranchPass.cpp AArch64.h, llvm/test/CodeGen/AArch64 cbz_wzr.mir

[NewPM] Port AArch64RedundantCondBranch to the new pass manager (#190897)

Adds a newPM pass for AArch64RedundantCondBranch

- Refactors base logic into an Impl class
- Renames old pass with the "Legacy" suffix
- Adds the new pass manager pass using refactored logic
- Updated existing .mir tests to also test with the New Pass Manager.

Context and motivation in
https://llvm.org/docs/NewPassManager.html#status-of-the-new-and-legacy-pass-managers
DeltaFile
+29-14llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
+8-1llvm/lib/Target/AArch64/AArch64.h
+1-1llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+1-0llvm/test/CodeGen/AArch64/cbz_wzr.mir
+1-0llvm/lib/Target/AArch64/AArch64PassRegistry.def
+40-165 files

LLVM/project 058398cllvm/lib/Target/NVPTX NVVMIntrRange.cpp, llvm/test/CodeGen/NVPTX reqntid-const-fold.ll intr-range.ll

[NVPTX] Constant fold blockDim when reqntid is specified (#191575)

Currently, NVPTX cannot fold the `ntid.x/y/z` intrinsic calls into const
values when `reqntid` is specified, which prevents the code from further
optimization.
Therefore, in this change, we extend the `NVVMIntrRange` pass to:
- Tighten `ntid.x/y/z` intrinsic calls to one value range, which can be
const folded in later InstCombine pass
- Tighten `tid.x/y/z` range attributes to use per-dimension reqntid
bounds
- When .reqntid exceeds hardware limits, garbage-in/garbage-out
DeltaFile
+90-0llvm/test/CodeGen/NVPTX/reqntid-const-fold.ll
+26-16llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
+7-7llvm/test/CodeGen/NVPTX/intr-range.ll
+123-233 files

LLVM/project e030fe2llvm/lib/Target/AMDGPU AMDGPUMCResourceInfo.cpp AMDGPUResourceUsageAnalysis.cpp, llvm/test/CodeGen/AMDGPU object-linking-local-resources.ll lds-link-time-codegen-indirect.ll

[AMDGPU] Report only local per-function resource usage when object linking is enabled

With object linking the linker aggregates resource usage across TUs via
`.amdgpu.info`, so compile-time pessimism and call-graph propagation duplicate
the linker's work or pollute its inputs.

In this mode, skip the per-callsite conservative bumps in
`AMDGPUResourceUsageAnalysis` and assign each resource symbol in
`AMDGPUMCResourceInfo` a concrete local constant instead of building call-graph
max/or expressions.
DeltaFile
+104-0llvm/test/CodeGen/AMDGPU/object-linking-local-resources.ll
+26-8llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
+10-1llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
+4-0llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
+1-1llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-indirect.ll
+145-105 files

LLVM/project fcdd649llvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp

[AMDGPU] Add `.amdgpu.info` section for per-function metadata

AMDGPU object linking requires the linker to propagate resource usage
(registers, stack, LDS) across translation units. To support this, the compiler
must emit per-function metadata and call graph edges in the relocatable object
so the linker can compute whole-program resource requirements.

This PR introduces a `.amdgpu.info` ELF section using a tagged, length-prefixed
binary format: each entry is encoded as:

```
[kind: u8] [len: u8] [payload: <len> bytes]
```

A function scope is opened by an `INFO_FUNC` entry (containing a symbol
reference), followed by per-function attributes (register counts, flags, private
segment size) and relational edges (direct calls, LDS uses, indirect call
signatures). String data such as function type signatures is stored in a
companion `.amdgpu.strtab` section.

    [4 lines not shown]
DeltaFile
+199-0llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+159-2llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+116-0llvm/test/MC/AMDGPU/amdgpu-info-roundtrip.s
+112-0llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+110-0llvm/docs/AMDGPUUsage.rst
+83-0llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-typeid.ll
+779-211 files not shown
+1,210-1417 files

LLVM/project 06a1ed4

move change from #191595

Created using spr 1.3.4
DeltaFile
+0-00 files

LLVM/project 49c800ellvm/tools/llvm-profgen PerfReader.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]
DeltaFile
+1-4llvm/tools/llvm-profgen/PerfReader.cpp
+1-41 files

LLVM/project 23db9c2llvm/tools/llvm-profgen PerfReader.cpp

reduce changes

Created using spr 1.3.4
DeltaFile
+1-4llvm/tools/llvm-profgen/PerfReader.cpp
+1-41 files

LLVM/project 695e1ballvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.global.store.async.from.lds.ll

AMDGPU/GlobalISel: RegBankLegalize rules for async LDS stores (#192717)
DeltaFile
+5-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.store.async.from.lds.ll
+6-22 files

LLVM/project da663a1llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.cvt.scalef32.sr.pk.ll

[AMDGPU][GlobalIsel] Add regbank support for cvt_scalef32_sr_pk_f6_f116/32  intrinsics (#192745)

This patch adds register bank legalization rules for
cvt_scalef32_sr_pk_f6_f116/32 intrinsics in the AMDGPU GlobalISel
pipeline.
DeltaFile
+184-326llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll
+15-2llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+14-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+5-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
+218-3284 files

LLVM/project ddd92c7llvm/lib/Target/AMDGPU AMDGPUMCResourceInfo.cpp AMDGPUResourceUsageAnalysis.cpp, llvm/test/CodeGen/AMDGPU object-linking-local-resources.ll lds-link-time-codegen-indirect.ll

[AMDGPU] Report only local per-function resource usage when object linking is enabled

With object linking the linker aggregates resource usage across TUs via
`.amdgpu.info`, so compile-time pessimism and call-graph propagation duplicate
the linker's work or pollute its inputs.

In this mode, skip the per-callsite conservative bumps in
`AMDGPUResourceUsageAnalysis` and assign each resource symbol in
`AMDGPUMCResourceInfo` a concrete local constant instead of building call-graph
max/or expressions.
DeltaFile
+104-0llvm/test/CodeGen/AMDGPU/object-linking-local-resources.ll
+26-8llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
+10-1llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
+4-0llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
+1-1llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-indirect.ll
+145-105 files

LLVM/project 2ac38e9llvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp

[AMDGPU] Add `.amdgpu.info` section for per-function metadata

AMDGPU object linking requires the linker to propagate resource usage
(registers, stack, LDS) across translation units. To support this, the compiler
must emit per-function metadata and call graph edges in the relocatable object
so the linker can compute whole-program resource requirements.

This PR introduces a `.amdgpu.info` ELF section using a tagged, length-prefixed
binary format: each entry is encoded as:

```
[kind: u8] [len: u8] [payload: <len> bytes]
```

A function scope is opened by an `INFO_FUNC` entry (containing a symbol
reference), followed by per-function attributes (register counts, flags, private
segment size) and relational edges (direct calls, LDS uses, indirect call
signatures). String data such as function type signatures is stored in a
companion `.amdgpu.strtab` section.

    [4 lines not shown]
DeltaFile
+198-0llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+159-2llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+116-0llvm/test/MC/AMDGPU/amdgpu-info-roundtrip.s
+111-0llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+110-0llvm/docs/AMDGPUUsage.rst
+83-0llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-typeid.ll
+777-211 files not shown
+1,190-1417 files

LLVM/project 5cda8d9llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU lds-link-time-codegen.ll lds-link-time-codegen-named-barrier.ll

[AMDGPU] Emit the relocation symbol for LDS and named barrier when object linking is enabled (#192380)
DeltaFile
+50-0llvm/test/CodeGen/AMDGPU/lds-link-time-codegen.ll
+35-0llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-named-barrier.ll
+12-3llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+12-0llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+109-34 files

LLVM/project 699b6bdllvm/lib/Target/RISCV RISCVTargetTransformInfo.cpp RISCVTargetTransformInfo.h, llvm/test/Analysis/CostModel/RISCV arith-int.ll

[RISCV] Cost UDIV/UREM by a constant power of 2 as a SHL/AND in getArithmeticInstrCost() (#179570)

Similar to behavior in X86 and AArch64.

---------

Co-authored-by: Ryan Buchner <rbuchner at qti.qualcomm.com>
Co-authored-by: Luke Lau <luke_lau at icloud.com>
DeltaFile
+40-0llvm/test/Analysis/CostModel/RISCV/arith-int.ll
+28-0llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+5-0llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
+73-03 files

LLVM/project 24154a5lld/test/COFF lto-libcall-archive-bitcode.test, lld/test/ELF/lto libcall-archive-bitcode.test

Revert "Reland "[LTO][LLD] Prevent invalid LTO libfunc transforms (#164916)"" (#192741)

Reverts llvm/llvm-project#190642

A bisect shows this as the change leading to the link failure at
https://g-issues.fuchsia.dev/issues/503377901
DeltaFile
+19-52llvm/lib/LTO/LTO.cpp
+0-56lld/test/wasm/lto/libcall-archive-bitcode.ll
+0-54lld/test/ELF/lto/libcall-archive-bitcode.test
+0-51lld/test/COFF/lto-libcall-archive-bitcode.test
+0-35llvm/test/LTO/Resolution/X86/libcall-in-thin-link.ll
+7-27llvm/lib/LTO/LTOBackend.cpp
+26-27519 files not shown
+52-48825 files

LLVM/project 12a9996clang-tools-extra/clang-tidy/bugprone UseAfterMoveCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Prevent false-positive in presence of derived-to-base cast in bugprone.use-after-move (#189638)

The following scenario is quite common, but was reported as a
use-after-move:

```cpp
struct Base {
  Base(Base&&);
};

struct C : Base {
    int field;
    C(C&& c) :
      Base(std::move(c)),  // << only moves through the base type
      field(c.field) // << this is a valid use-after-move
      {}
};
```

Fix this by checking field origin when the moved value is immediately
cast to base.
DeltaFile
+56-39clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
+38-0clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move-derived-to-base.cpp
+3-0clang-tools-extra/docs/ReleaseNotes.rst
+97-393 files

LLVM/project 913141ellvm/lib/Target/AArch64/GISel AArch64LegalizerInfo.cpp AArch64LegalizerInfo.h, llvm/test/CodeGen/AArch64 vec-combine-compare-to-bitmask.ll arm64-zip.ll

[AArch64][GlobalISel] Fix nonterminating legalization for <8 x s4> vectors. (#192747)

G_CONCAT_VECTORS with <16 x s4> sources hits the bitcast legalization
path, which round-trips through scalar types (e.g. s32) and regenerates
<8 x s4> vectors via G_UNMERGE_VALUES and G_BUILD_VECTOR. The
G_BUILD_VECTOR is then widened to <8 x s8> (via .minScalarOrElt(0, s8)),
producing G_ANYEXT/G_TRUNC artifact pairs. The artifact combiner folds
these pairs away, restoring the original <8 x s4> types, which feeds
back into G_CONCAT_VECTORS again.

This change:
 * Adds .minScalarOrElt(1, s8) to the G_ICMP rules to ensure operand
vector elements are at least s8. This causes <16 x s4> operands to be
widened
to <16 x s8>, and the result type follows via minScalarEltSameAs.

* Add custom legalization for G_CONCAT_VECTORS when element size < 8.
The custom handler widens source operands via G_ANYEXT (e.g.
<8 x s4> -> <8 x s8>), concats the widened vectors (producing a

    [6 lines not shown]
DeltaFile
+143-43llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
+137-40llvm/test/CodeGen/AArch64/arm64-zip.ll
+35-0llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
+2-0llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
+0-1llvm/test/CodeGen/AArch64/dup.ll
+317-845 files

LLVM/project 8298ddalld/test/COFF lto-libcall-archive-bitcode.test, lld/test/ELF/lto libcall-archive-bitcode.test

Revert "Reland "[LTO][LLD] Prevent invalid LTO libfunc transforms (#164916)" …"

This reverts commit fecf609998340a5a2c27346468beba67e58afcc2.
DeltaFile
+19-52llvm/lib/LTO/LTO.cpp
+0-56lld/test/wasm/lto/libcall-archive-bitcode.ll
+0-54lld/test/ELF/lto/libcall-archive-bitcode.test
+0-51lld/test/COFF/lto-libcall-archive-bitcode.test
+0-35llvm/test/LTO/Resolution/X86/libcall-in-thin-link.ll
+7-27llvm/lib/LTO/LTOBackend.cpp
+26-27519 files not shown
+52-48825 files

LLVM/project bfdf30aflang/include/flang/Optimizer/Support InternalNames.h, flang/lib/Optimizer/Support InternalNames.cpp

[flang] NameUniquer helper for detecting module-scope data (#192733)

Add NameUniquer::isModuleScopeDataUniquedName to detect uniqued names
for module-scope data (variables, named constants, and common blocks),
excluding procedures and other prefixed symbols.
DeltaFile
+23-0flang/lib/Optimizer/Support/InternalNames.cpp
+5-0flang/include/flang/Optimizer/Support/InternalNames.h
+28-02 files

LLVM/project efbd4e5llvm/test/CodeGen/AMDGPU/NextUseAnalysis spill-vreg-many-lanes.mir acyclic-770bb.mir

Rebase

Created using spr 1.3.7
DeltaFile
+275,101-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/spill-vreg-many-lanes.mir
+144,679-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+57,682-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/double-nested-loops-complex-cfg.mir
+41,844-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills2.mir
+40,613-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills1.mir
+37,209-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills3.mir
+597,128-03,178 files not shown
+1,049,146-83,5933,184 files

LLVM/project 8758917flang/include/flang/Optimizer/Transforms Passes.td, flang/lib/Optimizer/Transforms/CUDA CUFDeviceGlobal.cpp

[flang][cuda] Add option to preserve global with no use for debug info (#192731)
DeltaFile
+18-10flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
+26-0flang/test/Fir/CUDA/cuda-device-global-preserve.f90
+5-0flang/include/flang/Optimizer/Transforms/Passes.td
+0-1flang/test/Fir/CUDA/cuda-device-global.f90
+49-114 files

LLVM/project ce1631allvm/lib/Transforms/InstCombine InstCombineCalls.cpp, llvm/test/Transforms/InstCombine fold-vp-load.ll

[InstCombine] Fold bitcast into vp.load (#192173)

Similar to normal loads, we should be able to fold bitcast into
`vp.load` if (1) mask is all-ones (2) either the new vector type has a
larger known minimum length than that of the original vector, or you
need to make sure the original EVL can be exact divided by the
decreasing factor (of the known minimum length).

This patch adds such folding pattern, though it only support cases where
the new vector type has a larger known minimum length.
DeltaFile
+73-0llvm/test/Transforms/InstCombine/fold-vp-load.ll
+41-0llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+114-02 files

LLVM/project 5b938b8clang/include/clang/CIR MissingFeatures.h, clang/lib/CIR/CodeGen CIRGenItaniumCXXABI.cpp

[CIR] Fix typeinfo linkage and comdat (#192721)

We weren't properly setting the linkage on typeinfo objects, leading to
multiple definition linking error when typeinfo for a class was
referenced in multiple source files. We had the correct linkage
available in the buildTypeInfo function, but we weren't doing anything
with it. This also prevented us from hitting the diagnostic saying that
we should have set the comdat attribute for the typeinfo. This change
fixes both of those problems.
DeltaFile
+54-48clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
+3-5clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+4-4clang/test/CIR/CodeGen/rtti-member-pointer.cpp
+2-2clang/test/CIR/CodeGen/rtti-qualfn.cpp
+0-1clang/include/clang/CIR/MissingFeatures.h
+63-605 files