[PATCH] D140498: [SLP]Fix cost of the broadcast buildvector/gather.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 21 13:40:46 PST 2022


ABataev created this revision.
ABataev added reviewers: RKSimon, vdmitrie.
Herald added subscribers: kosarev, vporpo, pmatos, asb, foad, frasercrmck, kerbowa, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, kbarton, hiraditya, jgravelle-google, arichardson, sbc100, jvesely, nemanjai, dschuff, arsenm.
Herald added a project: All.
ABataev requested review of this revision.
Herald added subscribers: pcwang-thead, MaskRay, aheejin.
Herald added a project: LLVM.

Need to include the cost of the initial insertelement to the cost of the
broadcasts. Also, need to adjust the cost of the gather/buildvector if
the element is ionserted into poison/undef vector.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D140498

Files:
  llvm/include/llvm/Analysis/TargetTransformInfo.h
  llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
  llvm/include/llvm/CodeGen/BasicTTIImpl.h
  llvm/lib/Analysis/TargetTransformInfo.cpp
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
  llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
  llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
  llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp
  llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h
  llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  llvm/lib/Target/ARM/ARMTargetTransformInfo.h
  llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
  llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
  llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
  llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
  llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
  llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
  llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
  llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
  llvm/lib/Target/X86/X86TargetTransformInfo.cpp
  llvm/lib/Target/X86/X86TargetTransformInfo.h
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Analysis/CostModel/X86/loop_v2-inseltpoison.ll
  llvm/test/Analysis/CostModel/X86/loop_v2.ll
  llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
  llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
  llvm/test/Analysis/CostModel/X86/vector-insert-inseltpoison.ll
  llvm/test/Analysis/CostModel/X86/vector-insert.ll
  llvm/test/Analysis/CostModel/X86/vshift-ashr-codesize.ll
  llvm/test/Analysis/CostModel/X86/vshift-ashr-cost-inseltpoison.ll
  llvm/test/Analysis/CostModel/X86/vshift-ashr-cost.ll
  llvm/test/Analysis/CostModel/X86/vshift-ashr-latency.ll
  llvm/test/Analysis/CostModel/X86/vshift-ashr-sizelatency.ll
  llvm/test/Analysis/CostModel/X86/vshift-lshr-codesize.ll
  llvm/test/Analysis/CostModel/X86/vshift-lshr-cost-inseltpoison.ll
  llvm/test/Analysis/CostModel/X86/vshift-lshr-cost.ll
  llvm/test/Analysis/CostModel/X86/vshift-lshr-latency.ll
  llvm/test/Analysis/CostModel/X86/vshift-lshr-sizelatency.ll
  llvm/test/Analysis/CostModel/X86/vshift-shl-codesize.ll
  llvm/test/Analysis/CostModel/X86/vshift-shl-cost-inseltpoison.ll
  llvm/test/Analysis/CostModel/X86/vshift-shl-cost.ll
  llvm/test/Analysis/CostModel/X86/vshift-shl-latency.ll
  llvm/test/Analysis/CostModel/X86/vshift-shl-sizelatency.ll
  llvm/test/Transforms/SLPVectorizer/X86/cse.ll
  llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
  llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll



More information about the llvm-commits mailing list