[all-commits] [llvm/llvm-project] 2b28f8: [RISCV][SLP] Add tests for unprofitable SLP vector...

Luke Lau via All-commits all-commits at lists.llvm.org
Thu Jun 29 10:42:41 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2b28f8f0446fdaae0c93f43a5c969d825e986380
      https://github.com/llvm/llvm-project/commit/2b28f8f0446fdaae0c93f43a5c969d825e986380
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-06-29 (Thu, 29 Jun 2023)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/gep.ll

  Log Message:
  -----------
  [RISCV][SLP] Add tests for unprofitable SLP vectorization due to GEP. NFC

Reviewed By: ABataev

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


  Commit: d0d864f6f4828e6973b81d1544036d101f6ad4e4
      https://github.com/llvm/llvm-project/commit/d0d864f6f4828e6973b81d1544036d101f6ad4e4
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-06-29 (Thu, 29 Jun 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/gep.ll

  Log Message:
  -----------
  [SLP] Explicitly pass AccessTy to getGEPCost

Building on D149889, this patch updates SLP to pass the vector type as
the AccessTy to getGEPCost.
This should have the effect of GEPs being costed for more often instead
of being treated as foldable into the address mode and thus free, as
some architectures, notably RISC-V, do not have offset+reg addressing
modes for vector memory accesses.

Note that in SLP, GEPs are costed in two places: getPointersChainCost
and GetGEPCostDiff.

Reviewed By: ABataev

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


Compare: https://github.com/llvm/llvm-project/compare/39e87db1926a...d0d864f6f482


More information about the All-commits mailing list