LLVM/project 7bbb8fa — clang/lib/Sema SemaFunctionEffects.cpp, clang/test/Sema attr-nonblocking-constraints.cpp

clang: Apply blocking annotation to fortified printf builtins as well (#232410)

This file is currently missing the fortified version of the builtins
DeltaFile
+15-1clang/test/Sema/attr-nonblocking-constraints.cpp
+10-0clang/lib/Sema/SemaFunctionEffects.cpp
+25-12 files

LLVM/project 1475384 — llvm/test/Transforms/LoopVectorize runtime-check-widened-iv-index.ll

[LoopVectorize][NFC] Add tests for runtime checks with a widened IV index

In

  if (start <u len && start - 32 <u len)
    for (int32_t i = start; i < n; i++) a[i] = a[i - 32];

the distance between a[i] and a[i - 32] is always 32, but
if the vectorizer receives this loop with a widened IV to i64,
the vectorization is applied, but a runtime alias check is inserted
because widened loop may contain trunc/zext through which the
vectorizer cannot infer constant access distance.

If the loop IV is not widened, no runtime check is inserted.

Add tests for both forms.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+209-0llvm/test/Transforms/LoopVectorize/runtime-check-widened-iv-index.ll
+209-01 files

LLVM/project 8cf537b — llvm/test/Transforms/IndVarSimplify monotonic-predicate-samesign.ll

[IndVarSimplify][NFC] Add tests for samesign compares of an IV

Add tests for folding a samesign compare of an IV with a loop-invariant
value, when the compared operands may have different signs on loop entry,
and so they can be poison.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+125-0llvm/test/Transforms/IndVarSimplify/monotonic-predicate-samesign.ll
+125-01 files

LLVM/project 827676e — flang/test/Semantics/OpenMP metadirective-declare-reduction-v52.f90 metadirective-declare-reduction-v51.f90

Add metadirective nothing per reviewer request
DeltaFile
+1-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v52.f90
+1-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v51.f90
+2-02 files

LLVM/project 1118597 — flang/lib/Semantics canonicalize-omp.cpp, flang/test/Semantics/OpenMP metadirective-declare-reduction-v52.f90 metadirective-declare-reduction-v51.f90

Missing AT is equivalent to AT(COMPILATION)
DeltaFile
+8-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v52.f90
+8-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v51.f90
+1-0flang/lib/Semantics/canonicalize-omp.cpp
+17-03 files

LLVM/project 04dec22 — flang/lib/Semantics canonicalize-omp.cpp, flang/test/Semantics/OpenMP metadirective-common.f90 metadirective-declare-reduction-v52.f90

Treat ERROR AT(COMPILATION) as neutral
DeltaFile
+29-9flang/lib/Semantics/canonicalize-omp.cpp
+20-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v52.f90
+20-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v51.f90
+7-0flang/test/Semantics/OpenMP/metadirective-common.f90
+76-94 files

LLVM/project de8767e — flang/lib/Semantics openmp-utils.cpp

Add missing include
DeltaFile
+1-0flang/lib/Semantics/openmp-utils.cpp
+1-01 files

LLVM/project 73e751b — flang/lib/Semantics check-omp-variant.cpp, flang/test/Semantics/OpenMP metadirective-declare-reduction.f90 metadirective-declare-reduction-v51.f90

Address review comments
DeltaFile
+0-15flang/test/Semantics/OpenMP/metadirective-declare-reduction.f90
+15-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v51.f90
+15-0flang/test/Semantics/OpenMP/metadirective-declare-reduction-v52.f90
+1-1flang/lib/Semantics/check-omp-variant.cpp
+31-164 files

LLVM/project a2fa5a9 — flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics check-omp-variant.cpp openmp-utils.cpp

Verify selectorless clauses as well
DeltaFile
+35-20flang/lib/Semantics/openmp-utils.cpp
+9-15flang/lib/Semantics/check-omp-variant.cpp
+8-2flang/test/Semantics/OpenMP/metadirective-declare-reduction.f90
+5-0flang/include/flang/Semantics/openmp-utils.h
+57-374 files

LLVM/project 026c8ed — flang/lib/Semantics check-omp-variant.cpp

format
DeltaFile
+4-2flang/lib/Semantics/check-omp-variant.cpp
+4-21 files

LLVM/project 0444e20 — flang/lib/Semantics check-omp-variant.cpp openmp-utils.cpp

format
DeltaFile
+2-2flang/lib/Semantics/openmp-utils.cpp
+0-1flang/lib/Semantics/check-omp-variant.cpp
+2-32 files

LLVM/project 18fea41 — flang/lib/Semantics check-omp-variant.cpp

Limit checks to current METADIRECTIVE
DeltaFile
+17-7flang/lib/Semantics/check-omp-variant.cpp
+17-71 files

LLVM/project d20677d — flang/lib/Semantics check-omp-structure.h check-omp-structure.cpp, flang/test/Semantics/OpenMP metadirective-declare-reduction.f90

Verify DECLARE_REDUCTION in METADIRECTIVE
DeltaFile
+13-0flang/lib/Semantics/check-omp-variant.cpp
+7-2flang/lib/Semantics/check-omp-structure.cpp
+9-0flang/test/Semantics/OpenMP/metadirective-declare-reduction.f90
+1-0flang/lib/Semantics/check-omp-structure.h
+30-24 files

LLVM/project b16b4c8 — flang/lib/Semantics check-omp-structure.h tools.cpp, flang/test/Semantics/OpenMP reduction14.f90 declare-reduction-bad-operator.f90

[flang][OpenMP] Improve diagnosing invalid operators in DECLARE_REDUCTION

Move the check out of the common MakeNameFromOperator function and
into OmpStructureChecker. Remove the no longer needed SemanticsContext
parameter in MakeNameFromOperator.

This will allow reusing at least some parts of the the name-mangling
code in DECLARE_INDUCTION.
DeltaFile
+51-19flang/lib/Semantics/check-omp-structure.cpp
+3-5flang/lib/Semantics/tools.cpp
+4-2flang/lib/Semantics/check-omp-structure.h
+3-2flang/test/Semantics/OpenMP/reduction-subtract.f90
+2-2flang/test/Semantics/OpenMP/declare-reduction-bad-operator.f90
+2-1flang/test/Semantics/OpenMP/reduction14.f90
+65-317 files not shown
+72-4113 files

LLVM/project eb8496a — llvm/include/llvm/Frontend/OpenMP OMP.td, llvm/lib/Frontend/OpenMP OMPDescriptors.inc

[OpenMP] Add definition of task_iteration directive (#235293)

This just adds the basic definitions of the directive (specifically the
definitions of the OMPD_task_iteration enum).

This isn't used or handled anywhere at the moment.
DeltaFile
+16-6llvm/lib/Frontend/OpenMP/OMPDescriptors.inc
+9-0llvm/include/llvm/Frontend/OpenMP/OMP.td
+25-62 files

LLVM/project 8a85e4a — llvm/include/llvm/Frontend/OpenMP OMP.td, llvm/lib/Frontend/OpenMP OMPDescriptors.inc

[OpenMP] Add definition of begin/end metadirective (#235286)

This just adds the basic definitions of the directives (specifically the
definitions of the OMPD_begin_metadirective and OMPD_end_metadirective
enums).

This isn't used or handled anywhere at the moment.
DeltaFile
+23-10llvm/lib/Frontend/OpenMP/OMPDescriptors.inc
+18-0llvm/include/llvm/Frontend/OpenMP/OMP.td
+41-102 files

LLVM/project 8135856 — llvm/lib/Transforms/Scalar InferAddressSpaces.cpp, llvm/test/Transforms/InferAddressSpaces/NVPTX int2ptr.ll constexpr-int2ptr-roundtrip.ll

[InferAddressSpaces] Track constant-expression inttoptr/ptrtoint round trips (#234354)

Extends the existing instruction-level inttoptr/ptrtoint round-trip
tracking (introduced by #173244) to also recognize the pattern when it
appears as a constant expression, e.g. an inttoptr(ptrtoint(cast)) built
entirely out of ConstantExprs rather than instructions. This closes the
TODO left in collectIntToPtrPointerOperand() for the constant-expression
case.

---------

Co-authored-by: mmalavika <mmalavika at nvidia.com>
Co-authored-by: Sarthak Gupta <sarthagupta at nvidia.com>
DeltaFile
+64-10llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
+68-0llvm/test/Transforms/InferAddressSpaces/NVPTX/constexpr-int2ptr-roundtrip.ll
+1-1llvm/test/Transforms/InferAddressSpaces/NVPTX/int2ptr.ll
+133-113 files

LLVM/project d79e198 — llvm/test/CodeGen/AArch64 sve-fixed-length-masked-expandloads.ll, llvm/test/CodeGen/AMDGPU bitcast_vector_bigint.ll min.ll

perf(selectiondag): pack promoted vector bitcasts

# Symptom

Promoting an integer vector widens each element, leaving padding between
the original values. `PromoteIntOp_BITCAST` falls back to
`CreateStackStoreLoad` for these inputs, even when the result can be
assembled directly in registers.

For example:

```llvm
define <2 x i32> @pack(<16 x i4> %x) {
  %r = bitcast <16 x i4> %x to <2 x i32>
  ret <2 x i32> %r
}
```

# Fix

    [8 lines not shown]
DeltaFile
+4,101-4,285llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
+981-2,174llvm/test/CodeGen/AMDGPU/load-global-i8.ll
+479-1,254llvm/test/CodeGen/AMDGPU/kernel-args.ll
+481-1,089llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
+184-274llvm/test/CodeGen/AMDGPU/min.ll
+408-0llvm/test/CodeGen/AMDGPU/bitcast_vector_bigint.ll
+6,634-9,07615 files not shown
+7,109-9,74221 files

LLVM/project d793861 — llvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp

Fix typo

Change-Id: I88a1accd2f3a1addb0604e2c2aba89d43ec8c4a9
DeltaFile
+1-2llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+1-21 files

LLVM/project b216f90 — llvm/test/tools/llubi intr_masked_expandload.ll intr_masked_expandload_ub.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Add support for llvm.masked.expandload (#235867)

This is handled the same as `llvm.masked.load` except that the pointer
only increments when the mask is true.

Tests are based on the existing masked.load support.
DeltaFile
+73-0llvm/test/tools/llubi/intr_masked_expandload_ub.ll
+44-0llvm/test/tools/llubi/intr_masked_expandload.ll
+24-15llvm/tools/llubi/lib/Interpreter.cpp
+141-153 files

LLVM/project 21184f6 — lldb/source/Plugins/ObjectFile/Minidump MinidumpFileBuilder.cpp

[LLDB][Minidump] Fix BSD's unsupport failure (#235360)

BSD should also support Minidump naturally. For platform_id, we don't
see any difference between different BSD deriviatives. Set it to Unix
generic so that at least test works.
DeltaFile
+5-0lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
+5-01 files

LLVM/project 34665a9 — llvm/lib/Target/AMDGPU MIMGInstructions.td

[AMDGPU] Use GFX1250Gen for gfx1250 tensor reals (NFC)

VIMAGE_TENSOR_Real_gfx1250 spelled out the predicate, decoder
namespace and encoding family that GFX1250Gen already provides. Use
Select<GFX1250Gen, ...> like other gen-based reals.

Change-Id: I7b1c70ab05337d42b10759ca78c8395a47bdc3b0
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-6llvm/lib/Target/AMDGPU/MIMGInstructions.td
+4-61 files

LLVM/project 14b01a8 — llvm/test/CodeGen/AMDGPU atomic_optimizations_struct_buffer.ll atomic_optimizations_raw_buffer.ll

Update lit for rebase

Change-Id: I238b8b1c1b1da362caa8a4b195d3db741a9855bc
DeltaFile
+108-102llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
+70-63llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
+26-25llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-fp8-hw.ll
+20-19llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-fp8-f16-hw.ll
+16-16llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
+16-16llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
+256-24112 files not shown
+325-30918 files

LLVM/project 65e6da1 — .ci all_requirements.txt, mlir/python requirements.txt

[CI] Bump deps to Python 3.15 (#235615)

This should work fine for older python versions (e.g. 3.14), while also
working better for Python 3.15 where installation takes forever given
some packages need to build from source.
DeltaFile
+433-408.ci/all_requirements.txt
+1-1mlir/python/requirements.txt
+434-4092 files

LLVM/project 6d8a861 — llvm/lib/Target/RISCV RISCVTargetMachine.cpp

[RISCV] Remove redundant comment (#235904)

This was pointed out in #235807 and does not do any more to explain the
line of code below it than the code does.
DeltaFile
+0-1llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+0-11 files

LLVM/project fcee339 — llvm/include/llvm/TableGen Record.h, llvm/lib/TableGen DetailedRecordsBackend.cpp Record.cpp

[TableGen] Store template arguments separately from fields (#234933)

Record used to store template arguments as RecordVals in Values, along
with the fields, and keep a separate list of their names. Store them in
their own vector of RecordVals instead. getValues() now only returns
fields, so the code that skipped template arguments when inheriting,
instantiating, printing or dumping fields goes away. getValue() looks up
only fields and the new getTemplateArg() looks
up only template arguments.

A template argument is added after its default value is parsed, so that
it is still not in scope in its own default value. Duplicate template
arguments are now diagnosed in ParseDeclaration, which also avoids a
misleading type error when the duplicate has a different type.

The only change in output is that --print-detailed-records prints
"Fields: (none)" for a class with template arguments but no fields.

Parser memory usage decreases by about 1% on AMDGPU.td because

    [8 lines not shown]
DeltaFile
+84-117llvm/lib/TableGen/TGParser.cpp
+44-0llvm/test/TableGen/template-arg-default-scope.td
+19-22llvm/lib/TableGen/Record.cpp
+29-7llvm/include/llvm/TableGen/Record.h
+24-0llvm/test/TableGen/template-arg-duplicate.td
+10-13llvm/lib/TableGen/DetailedRecordsBackend.cpp
+210-1594 files not shown
+226-16810 files

LLVM/project b323071 — llvm/lib/Target/AMDGPU FLATInstructions.td, llvm/test/CodeGen/AMDGPU atomic-fp-rtn-agpr-encoding.mir

[AMDGPU] Fix sc1 encoding of gfx940 fp atomics with AGPR results (#232060)

The *_F64 FLAT and GLOBAL atomics have separate VI and GFX940 reals,
because the VI reals are defined with has_sccb=0 and so do not encode
bit 25, which is SC1 on GFX940. However:

- #129668 removed the isGFX90AOnly predicate from the VI reals, so on
  GFX940+ both the VI and GFX940 reals matched in the assembler. The
  GFX940 ones happened to win because they were defined later.
- The GFX940 multiclasses did not define *_RTN_agpr reals, so the AGPR
  forms of the returning atomics always used the VI reals on GFX940+.
  The assembler silently dropped sc1 for these, the disassembler could
  not decode them with sc1 set, and codegen dropped sc1 from the
  *_RTN_agpr pseudos.

Fix this by adding *_RTN_agpr (and *_SADDR_RTN_agpr) reals to the GFX940
atomic multiclasses, and restricting the VI f64 reals to
isGFX8GFX9NotGFX940, like the neighbouring f32 and pk_f16 ones.


    [5 lines not shown]
DeltaFile
+13-13llvm/test/CodeGen/AMDGPU/atomic-fp-rtn-agpr-encoding.mir
+10-10llvm/test/MC/AMDGPU/gfx942_global_atomic_fadd_acc.s
+9-9llvm/test/MC/Disassembler/AMDGPU/gfx942_atomic_f64.txt
+9-9llvm/test/MC/AMDGPU/gfx942_atomic_f64.s
+11-7llvm/lib/Target/AMDGPU/FLATInstructions.td
+8-8llvm/test/MC/Disassembler/AMDGPU/gfx942_global_atomic_fadd_acc.txt
+60-566 files

LLVM/project b766c23 — llvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp

Avoid hazard on all gf125x variants

Change-Id: I0ae6aed37cea673dc2ae5f25583dc94a4a2505ed
DeltaFile
+2-2llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+2-21 files

LLVM/project 1f109bc — llvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU va-ssrc-sdst-hazard-sched.mir

Match VCC virtual register

Change-Id: I54226ed6199af0a45582632617f3bd686ced56b6
DeltaFile
+45-9llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+1-1llvm/test/CodeGen/AMDGPU/va-ssrc-sdst-hazard-sched.mir
+46-102 files

LLVM/project 6833565 — llvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.update.dpp.ll load-constant-i32.ll

[AMDGPU] Track va_ssrc / va_sdst hazards

Change-Id: Icf64f8ab2bd227a1116873deaff62849a3d7d5e2
DeltaFile
+298-296llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
+337-0llvm/test/CodeGen/AMDGPU/va-ssrc-sdst-hazard-sched.mir
+245-0llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+104-104llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
+69-68llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
+62-62llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
+1,115-53030 files not shown
+1,486-83536 files