SuccessChanges

Summary

  1. [ARM] Extend lowering for i64 reductions (details)
  2. [Support] Add KnownBits::icmp helpers. (details)
  3. [AArch64] Add patterns for FMCLA*_indexed. (details)
  4. [AArch64][SVE]Add cost model for masked gather and scatter for scalable vector. (details)
  5. [Sparc] SparcMCExpr::printVariantKind - fix Wcovered-switch-default gcc warning. NFCI. (details)
  6. [OpenMP] Add definition/interface for target memory routines (details)
Commit 901cc9b6f30f120f2fbdc01f9eec3708c512186b by david.green
[ARM] Extend lowering for i64 reductions

The lowering of a <4 x i16> or <4 x i8> vecreduce.add into an i64 would
previously be expanded, due to the i64 not being legal. This patch
adjusts our reduction matchers, making it produce a VADDLV(sext A to
v4i32) instead.

Differential Revision: https://reviews.llvm.org/D93622
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll
Commit 23b41986527a3fc5615480a8f7a0b0debd5fcef4 by llvm-dev
[Support] Add KnownBits::icmp helpers.

Check if all possible values for a pair of knownbits give the same icmp result - these are based off the checks performed in InstCombineCompares.cpp and D86578.

Add exhaustive unit test coverage - a followup will update InstCombineCompares.cpp to use this.
The file was modifiedllvm/lib/Support/KnownBits.cpp
The file was modifiedllvm/unittests/Support/KnownBitsTest.cpp
The file was modifiedllvm/include/llvm/Support/KnownBits.h
Commit d38a0258a5f4c28fd0b0c00705c40e06976ed247 by flo
[AArch64] Add patterns for FMCLA*_indexed.

This patch adds patterns for the indexed variants of FCMLA. Mostly based
on a patch by Tim Northover.

Reviewed By: SjoerdMeijer

Differential Revision: https://reviews.llvm.org/D92947
The file was modifiedllvm/test/CodeGen/AArch64/neon-vcmla.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
Commit 060cfd97954835c3be18e47c631d3efb3e374439 by caroline.concatto
[AArch64][SVE]Add cost model for masked gather and scatter for scalable vector.

    A new TTI interface has been added 'Optional <unsigned>getMaxVScale' that
    returns the maximum vscale for a given target.
    When known getMaxVScale is used to compute the cost of masked gather scatter
    for scalable vector.

    Depends on D92094

    Differential Revision: https://reviews.llvm.org/D93030
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was addedllvm/test/Analysis/CostModel/AArch64/sve-getIntrinsicInstrCost-scatter.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was addedllvm/test/Analysis/CostModel/AArch64/sve-getIntrinsicInstrCost-gather.ll
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
Commit 4d7cb6da9fcf980a8ddaa09ffa2dcab1525a66db by llvm-dev
[Sparc] SparcMCExpr::printVariantKind - fix Wcovered-switch-default gcc warning. NFCI.
The file was modifiedllvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
Commit 82a29a62aba52d68d37309cd3025370ba98e37e4 by hansang.bae
[OpenMP] Add definition/interface for target memory routines

The change includes new routines introduced in 5.1 and Fortran
interface.

Differential Revision: https://reviews.llvm.org/D93505
The file was modifiedopenmp/runtime/src/include/omp_lib.f90.var
The file was modifiedopenmp/runtime/src/include/omp.h.var
The file was modifiedopenmp/runtime/src/include/omp_lib.h.var