[all-commits] [llvm/llvm-project] a4b64f: [BasicTTI] getInterleavedMemoryOpCost(): discount ...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Wed Nov 3 07:33:54 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a4b64f772711308724ab4626549b414bcf79d8e0
      https://github.com/llvm/llvm-project/commit/a4b64f772711308724ab4626549b414bcf79d8e0
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-11-03 (Wed, 03 Nov 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/test/Analysis/CostModel/X86/interleaved-store-accesses-with-gaps.ll

  Log Message:
  -----------
  [BasicTTI] getInterleavedMemoryOpCost(): discount unused members of mask if mask for gap will be used

As it can be seen in `InnerLoopVectorizer::vectorizeInterleaveGroup()`,
in some cases (reported by `UseMaskForGaps`), the gaps in the interleaved load/store group
will be masked away by another constant mask, so there is no need to
account for the cost of replication of the mask for these.

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




More information about the All-commits mailing list