[all-commits] [llvm/llvm-project] 2e857f: [ARM] Fix MVE getShuffleCost legalized type check

Eli Friedman via All-commits all-commits at lists.llvm.org
Tue Jun 7 18:26:17 PDT 2022


  Branch: refs/heads/release/14.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 2e857fe6e390ab992fadd59c7d9b1192047c935a
      https://github.com/llvm/llvm-project/commit/2e857fe6e390ab992fadd59c7d9b1192047c935a
  Author: David Green <david.green at arm.com>
  Date:   2022-06-07 (Tue, 07 Jun 2022)

  Changed paths:
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/ARM/shuffle.ll

  Log Message:
  -----------
  [ARM] Fix MVE getShuffleCost legalized type check

The MVE shuffle costing for VREV instructions was making incorrect
assumptions as to legalized vector types remaining as vectors. Add a
quick check to ensure they are indeed vectors before attempting to get
the number of elements.

(cherry picked from commit 53be6ab25cb97338384b9a73a4eef47cf3b89f3b)


  Commit: b75bf750fdc287821fca697d103053f62a4b1d77
      https://github.com/llvm/llvm-project/commit/b75bf750fdc287821fca697d103053f62a4b1d77
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2022-06-07 (Tue, 07 Jun 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/test/Transforms/LoopIdiom/basic.ll

  Log Message:
  -----------
  [LoopIdiom] Fix bailout for aliasing in memcpy transform.

Commit dd5991cc modified the aliasing checks here to allow transforming
a memcpy where the source and destination point into the same object.
However, the change accidentally made the code skip the alias check for
other operations in the loop.

Instead of completely skipping the alias check, just skip the check for
whether the memcpy aliases itself.

Differential Revision: https://reviews.llvm.org/D126486

(cherry picked from commit abdf0da8009f272f6c3d6398cf63f9f0a8257637)


Compare: https://github.com/llvm/llvm-project/compare/a517f3439671...b75bf750fdc2


More information about the All-commits mailing list