[all-commits] [llvm/llvm-project] 55430f: [NVPTX] Customize getScalarizationOverhead (#128077)

peterbell10 via All-commits all-commits at lists.llvm.org
Fri Mar 28 18:31:56 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 55430f8673b9f8b27779faad3fe9c59954d539df
      https://github.com/llvm/llvm-project/commit/55430f8673b9f8b27779faad3fe9c59954d539df
  Author: peterbell10 <peterbell10 at openai.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll

  Log Message:
  -----------
  [NVPTX] Customize getScalarizationOverhead (#128077)

We've observed that the SLPVectorizer is too conservative on NVPTX
because it over-estimates the cost to build a vector. PTX has a single
`mov` instruction that can build e.g. `<2 x half>` vectors from scalars,
however the SLPVectorizer over-estimates it as the cost of 2 insert
elements.

To fix this I customize `getScalarizationOverhead` to lower the cost for
building 2x16 types.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list