[all-commits] [llvm/llvm-project] 3273ea: [LV] Cache call vectorization decisions (#66521)

Graham Hunter via All-commits all-commits at lists.llvm.org
Mon Oct 9 03:23:32 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3273ea40e5ba3d4dde3c190273800a885a586e3c
      https://github.com/llvm/llvm-project/commit/3273ea40e5ba3d4dde3c190273800a885a586e3c
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2023-10-09 (Mon, 09 Oct 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LV] Cache call vectorization decisions (#66521)

LoopVectorize currently queries VFDatabase repeatedly for each CI,
and each query to VFDatabase rescans all vector variants.

This patch instead makes a decision for each call once per VF based
on the cost of scalarization vs. function call to a vector variant
of the function vs. a vector intrinsic, then caches the decision
along with relevant info for use in planning and plan execution.




More information about the All-commits mailing list