LLVM/project 329f620llvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! Remove superfluous code
DeltaFile
+0-7llvm/lib/Target/AArch64/AArch64InstrFormats.td
+0-71 files

LLVM/project 474ebacllvm/test/Transforms/LoopVectorize make_scalarization_decisions.ll

Add suggested test
DeltaFile
+43-0llvm/test/Transforms/LoopVectorize/make_scalarization_decisions.ll
+43-01 files

LLVM/project 24adcf2lldb/source/Target Process.cpp

fixup! don't enqueue actions that won't change the site status
DeltaFile
+7-1lldb/source/Target/Process.cpp
+7-11 files

LLVM/project 5c27e49llvm/lib/Target/AArch64 AArch64RegisterInfo.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Implement Marian's suggestion to implement as XSeqPairsClass + [XZR, XZR]
DeltaFile
+54-82llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+35-73llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+12-9llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+8-1llvm/lib/Target/AArch64/AArch64RegisterInfo.td
+0-7llvm/test/MC/AArch64/armv9a-sysp.s
+1-3llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
+110-1756 files

LLVM/project e42838allvm/lib/Target/AArch64/MCTargetDesc AArch64InstPrinter.cpp, llvm/test/MC/AArch64 armv9a-sysp.s

fixup! Add no-alias tests
DeltaFile
+4-3llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+7-0llvm/test/MC/AArch64/armv9a-sysp.s
+11-32 files

LLVM/project 36d25c8llvm/lib/Target/AArch64 AArch64InstrInfo.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Remove SYSPxt_XZR and update code to reflect this
DeltaFile
+27-34llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+41-14llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+8-26llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+2-30llvm/lib/Target/AArch64/AArch64InstrInfo.td
+0-20llvm/test/MC/AArch64/armv9-sysp-invalid.s
+13-3llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+91-1274 files not shown
+105-13710 files

LLVM/project d454420llvm/lib/Target/AArch64/MCTargetDesc AArch64InstPrinter.cpp

fixup! Address PR comment about shortened `sysp` with xzr/xzr
DeltaFile
+17-16llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+17-161 files

LLVM/project df5fe52llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp, llvm/test/MC/AArch64 armv9-sysp-diagnostics.s

fixup! Improve error parsing
DeltaFile
+46-25llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+12-12llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+58-372 files

LLVM/project 88e5ba8llvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! Fixes after rebasing following Marian's change
DeltaFile
+3-3llvm/lib/Target/AArch64/AArch64InstrFormats.td
+3-31 files

LLVM/project 2aa4e4fllvm/lib/Target/AArch64 AArch64InstrFormats.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Address PR comments
DeltaFile
+5-9llvm/lib/Target/AArch64/AArch64InstrFormats.td
+2-3llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+1-2llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+1-1llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+9-154 files

LLVM/project f6536b3llvm/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 8162a0fllvm/lib/Target/AArch64 AArch64InstrFormats.td AArch64InstrInfo.td

fixup! Address Marian's PR comments: use imm0_6 predicate
DeltaFile
+9-1llvm/lib/Target/AArch64/AArch64InstrFormats.td
+2-2llvm/lib/Target/AArch64/AArch64InstrInfo.td
+11-32 files

LLVM/project c9d004cllvm/lib/Target/AArch64 AArch64InstrFormats.td AArch64InstrInfo.td, llvm/lib/Target/AArch64/Disassembler AArch64Disassembler.cpp

[AArch64][llvm] Tighten SYSP; don't disassemble invalid encodings

Tighten SYSP aliases, so that invalid encodings are disassembled
to `<unknown>`. This is because:

```
  Cn is a 4-bit unsigned immediate, in the range 8 to 9
  Cm is a 4-bit unsigned immediate, in the range 0 to 7
  op1 is a 3-bit unsigned immediate, in the range 0 to 6
  op2 is a 3-bit unsigned immediate, in the range 0 to 7
```

Ensure we check this when disassembling, and also constrain
tablegen for compile-time errors of invalid encodings.

Also adjust the testcases in `armv9-sysp-diagnostics.s` and
`llvm/test/MC/AArch64/armv9a-sysp.s` as they were invalid,
and added a few invalid (outside of range) SYSP-alikes to
test that `<unknown>` is printed
DeltaFile
+111-111llvm/test/MC/AArch64/armv9a-sysp.s
+25-1llvm/lib/Target/AArch64/AArch64InstrFormats.td
+25-0llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+20-0llvm/test/MC/AArch64/armv9-sysp-invalid.s
+7-8llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+7-3llvm/lib/Target/AArch64/AArch64InstrInfo.td
+195-1233 files not shown
+207-1279 files

LLVM/project 4d676e5flang/include/flang/Optimizer/Dialect CUDAKernelOpInterface.td CUDAKernelOpInterface.h, flang/lib/Optimizer/Dialect CUDAKernelOpInterface.cpp FIROps.cpp

[flang][cuda] Preserve fir.rebox captured by cuf.kernel via CUDAKernelOpInterface (#193890)

Reland of #193837 (reverted in #193855), now using a marker op interface
to avoid the link cycle that broke `BUILD_SHARED_LIBS=ON` builds.

`SimplifyArrayCoorOp` folded `fir.rebox` into `fir.array_coor` across a
`cuf.kernel` boundary. CUF lowering needs the captured rebox to
materialize a managed-memory descriptor for the kernel; folding it away
makes the kernel dereference the host-side descriptor and crash with
`cudaErrorIllegalAddress`.

Fix is to add `fir::CUDAKernelOpInterface`, a marker op interface
defined in FIRDialect and implemented by `cuf.kernel`. The
canonicalization guard queries the interface, so the `TypeIDResolver`
symbol lives in `libFIRDialect.so` and no `FIR -> CUF` link edge is
introduced.
DeltaFile
+66-0flang/test/Fir/array-coor-canonicalization-cuf.fir
+34-0flang/include/flang/Optimizer/Dialect/CUDAKernelOpInterface.td
+21-0flang/include/flang/Optimizer/Dialect/CUDAKernelOpInterface.h
+15-0flang/lib/Optimizer/Dialect/CUDAKernelOpInterface.cpp
+10-0flang/lib/Optimizer/Dialect/FIROps.cpp
+5-0flang/include/flang/Optimizer/Dialect/CMakeLists.txt
+151-03 files not shown
+156-19 files

LLVM/project 90284acllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Address code review comments
DeltaFile
+5-6llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+5-61 files

LLVM/project 57dcfa3llvm/lib/Transforms/Vectorize VPlanRecipes.cpp

Drop Vector[End]Pointer from isSafeToSpeculativelyExecute
DeltaFile
+0-3llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+0-31 files

LLVM/project 3c14034flang/lib/Semantics check-omp-structure.cpp, flang/test/Semantics/OpenMP device-omp-initial-invalid.f90 device-pre-52.f90

[Flang][OpenMP] Validate `omp_initial_device` `omp_invalid_device` as device IDs (#193669)

As per OpenMP 5.2/6.0 the below are valid device values in a `#pragma
omp target` directive:

omp_initial_device (-1) -> refers to the host CPU.
omp_invalid_device (-2) -> an intentionally invalid device, used to
trigger a runtime error.

For the 2 values discussed above flang fails with:

```
error: The device expression of the DEVICE clause must be a positive integer expression
      !$OMP TARGET DEVICE(-1)
error: Must have INTEGER type, but is REAL(4)
      !$OMP TARGET DEVICE(OMP_INVALID_DEVICE)

```
Issue: https://github.com/llvm/llvm-project/issues/192989
DeltaFile
+82-0flang/test/Semantics/OpenMP/device-omp-initial-invalid.f90
+36-0flang/test/Semantics/OpenMP/device-pre-52.f90
+15-3flang/test/Semantics/OpenMP/device-constructs.f90
+14-2flang/lib/Semantics/check-omp-structure.cpp
+5-0openmp/module/omp_lib.h.var
+3-0openmp/module/omp_lib.F90.var
+155-56 files

LLVM/project ae81339llvm/utils/TableGen/Basic DirectiveEmitter.cpp

Update DirectiveEmitter.cpp
DeltaFile
+1-1llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
+1-11 files

LLVM/project 5320bdallvm/lib/Target/AMDGPU AMDGPUCoExecSchedStrategy.cpp, llvm/test/CodeGen/AMDGPU coexec-scheduler.ll

[AMDGPU] Enable lane masks tracking in coexec scheduler. (#194578)

Prevents the scheduler to silently produce invalid IR.
DeltaFile
+69-69llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
+1-0llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
+70-692 files

LLVM/project d7ed6d8libcxx/test/benchmarks spec.gen.py, libcxx/utils/ci/lnt run-benchbot run-benchmarks

[libc++] Improvements to the benchmark runners (#194659)

- Run the ref workloads on SPEC
- Record the SPEC version in the machine info
- Allow filtering which benchmarks are run in run-benchbot
DeltaFile
+12-0libcxx/utils/ci/lnt/run-benchbot
+3-3libcxx/test/benchmarks/spec.gen.py
+4-0libcxx/utils/ci/lnt/run-benchmarks
+19-33 files

LLVM/project ec06755clang/lib/StaticAnalyzer/Checkers/WebKit RetainPtrCtorAdoptChecker.cpp PtrTypesSemantics.cpp, clang/test/Analysis/Checkers/WebKit objc-mock-types.h retain-ptr-ctor-adopt-use.mm

Add the support for adoptCFNullable/adoptNSNullable (#194539)

These are two new "adopt" functions to be introduced in WebKit.
DeltaFile
+20-0clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
+6-0clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
+6-0clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
+3-1clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
+2-1clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
+2-0clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
+39-26 files

LLVM/project 251ed1ellvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize tail-folding-vectorization-factor-1.ll first-order-recurrence.ll

[VPlan] Optz WideCanIV with SIVSteps over CanIV (#191276)

Replace WideCanonicalIV with a ScalarIVSteps over the CanonicalIV when
only the first lane is used. This is a preparatory step in enabling
expansion of WideCanonicalIV into executable recipes.
DeltaFile
+59-41llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+59-0llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-counting-down.ll
+7-8llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
+2-2llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
+2-2llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
+129-535 files

LLVM/project 7ceac4bllvm/utils/lit/lit TestRunner.py

[Lit] Open sub-processes with text=`False` (#194577)

This PR is part of a series of patches upgrading Lit's in-process
built-ins to be able to run with piped input/output and full redirection
support, and to allow custom in-process builtns to be provided via the
Lit config. The remaining patches to Lit's test runner can be found here:
https://github.com/BStott6/llvm-project/compare/lit-inproc-builtins.

This is part of the Lit daemonized testing project:
https://discourse.llvm.org/t/88612

This PR makes Lit open all sub-processes with `text=False`, so that the
Python code will be able to read and write binary data to and from their
IO streams. This currently causes no functional change, as when Lit
reads output from the sub-processes, it already handles the case that
the read output is `bytes` by decoding it, but we will need to be able
to read binary data from a sub-process's STDIN if its output, which may
be binary, is piped into an in-process built-in, and we will need to be
able to write binary data to a sub-process's STDOUT if its input is

    [5 lines not shown]
DeltaFile
+1-2llvm/utils/lit/lit/TestRunner.py
+1-21 files

LLVM/project 40ad10aflang/include/flang/Support Fortran-features.h, flang/lib/Frontend CompilerInvocation.cpp

[Flang] Fix -Wopen-mp-* and -Wopen-acc-* flag spellings (#188434)

The CamelCase-to-hyphenated conversion was incorrectly splitting
"OpenMP" and "OpenACC" into "open-mp" and "open-acc", producing wrong -W
flag names like -Wopen-mp-usage instead of -Wopenmp-usage. Fix the
conversion to treat these as compound names, keep the old spellings as
deprecated aliases, and emit a warning when deprecated spellings are
used.

---------

Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
DeltaFile
+72-6flang/lib/Support/Fortran-features.cpp
+15-15flang/test/Semantics/OpenMP/declare-target02.f90
+13-13flang/test/Semantics/OpenMP/declare-target01.f90
+23-0flang/test/Driver/deprecated-w-spelling.f90
+15-2flang/lib/Frontend/CompilerInvocation.cpp
+15-0flang/include/flang/Support/Fortran-features.h
+153-3618 files not shown
+200-7924 files

LLVM/project fd3c8c2llvm/lib/Target/AArch64/MCTargetDesc AArch64InstPrinter.cpp, llvm/test/MC/AArch64 brbe.s

fixup! Address Carol's comments
DeltaFile
+40-55llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+11-2llvm/test/MC/AArch64/brbe.s
+51-572 files

LLVM/project eecec86llvm/test/Transforms/SLPVectorizer/RISCV basic-strided-loads.ll

[SLP] Add tests for boundary case with MinProfitableStridedOps (#194507)

Currently we don't vectorize runtime strided loads when `VF == MinProfitableStridedOps`.
DeltaFile
+28-0llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
+28-01 files

LLVM/project 4c6ae8fmlir/lib/Dialect/Tosa/IR TosaOps.cpp, mlir/test/Dialect/Tosa verifier.mlir

[mlir][tosa] Verify the output shape of tosa.mul and tosa.rescale (#193952)

Verifying the provided output shape against an expected shape helps
diagnose issues on op construction.
DeltaFile
+56-47mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
+21-0mlir/test/Dialect/Tosa/verifier.mlir
+77-472 files

LLVM/project d769ce2llvm/utils/lit/lit InprocBuiltins.py ShellEnvironment.py, llvm/utils/lit/tests shtest-glob.py

[Lit] Change processRedirects to open all files in binary mode (#194368)

This PR is the second in a series of patches upgrading Lit's in-process
built-ins to be able to run with piped input/output and full redirection
support, and to allow custom in-process builtns to be provided via the
Lit config. The remaining patches to Lit's test runner can be found here@
https://github.com/BStott6/llvm-project/compare/lit-inproc-builtins.

This is part of the Lit daemonized testing project:
https://discourse.llvm.org/t/88612.

This PR makes Lit's `processRedirects` function open all input/output
files in binary mode. This makes sure that in-process builtins have the
expected behaviour when reading and writing from them:

Newline translation is not required for any of the current in-process
built-ins, in fact, the in-process built-in for `echo`, which is the
only one that writes to `stdout`, explicitly re-opens the output file
with `newline=""` on Windows, to avoid newline translation. Also,

    [7 lines not shown]
DeltaFile
+13-13llvm/utils/lit/lit/InprocBuiltins.py
+9-8llvm/utils/lit/lit/ShellEnvironment.py
+3-3llvm/utils/lit/lit/TestRunner.py
+1-1llvm/utils/lit/tests/shtest-glob.py
+26-254 files

LLVM/project b308757clang/test/Sema/aarch64-sve2p3-intrinsics acle_sve2p3_target_lane.c acle_sve2p3_target.c, llvm/lib/Target/AArch64 AArch64InstrInfo.td

fixup! Move tests
DeltaFile
+0-54clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target_lane.c
+38-3clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target.c
+1-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+39-573 files

LLVM/project 4720639clang/include/clang/Basic arm_sve.td, clang/test/CodeGen/AArch64/sve2p3-intrinsics acle_sve2p3_luti6.c

fixup! Adjust definitions after ACLE updates from @rockdreamer
DeltaFile
+12-12clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
+4-4clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target.c
+1-1clang/include/clang/Basic/arm_sve.td
+17-173 files