[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