aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorDavid Sherwood <david.sherwood@arm.com>2022-06-21 14:07:49 +0100
committerDavid Sherwood <david.sherwood@arm.com>2022-07-12 14:53:20 +0100
commit6b694d600aeaaf30780e48cac0b784b8bc755b56 (patch)
tree874d56cf2bc8d68fdfb211a9ba46e358574ddf06 /clang/lib/CodeGen/CodeGenFunction.cpp
parentded62411f730278016274361e5ce4e5234cc2957 (diff)
downloadllvm-6b694d600aeaaf30780e48cac0b784b8bc755b56.zip
llvm-6b694d600aeaaf30780e48cac0b784b8bc755b56.tar.gz
llvm-6b694d600aeaaf30780e48cac0b784b8bc755b56.tar.bz2
[LoopVectorize] Change PredicatedBBsAfterVectorization to be per VF
When calculating the cost of Instruction::Br in getInstructionCost we query PredicatedBBsAfterVectorization to see if there is a scalar predicated block. However, this meant that the decisions being made for a given fixed-width VF were affecting the cost for a scalable VF. As a result we were returning InstructionCost::Invalid pointlessly for a scalable VF that should have a low cost. I encountered this for some loops when enabling tail-folding for scalable VFs. Test added here: Transforms/LoopVectorize/AArch64/sve-tail-folding-cost.ll Differential Revision: https://reviews.llvm.org/D128272
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions