[NFC][LoopVectorize] Simplify preferPredicateOverEpilogue interface
authorDavid Sherwood <david.sherwood@arm.com>
Tue, 4 Apr 2023 13:58:58 +0000 (13:58 +0000)
committerDavid Sherwood <david.sherwood@arm.com>
Tue, 4 Apr 2023 14:00:49 +0000 (14:00 +0000)
commitb4089cfa2fc3449a2e124804d34ba8fb591e55c5
treea215b839e3ac99b6a906c458e52025febcf17055
parent3bde144de32dc09a0b227f7afcff94f908ac6739
[NFC][LoopVectorize] Simplify preferPredicateOverEpilogue interface

Given just how many arguments we pass to
preferPredicateOverEpilogue and considering this list may
grow over time I've decided to pass in a pointer to a new
TailFoldingInfo structure instead, similar to what we do
with IntrinsicCostAttributes, etc. In addition, many of the
arguments we pass in are actually available in the
LoopVectorizationLegality class so I've managed to
reduce the set of pointers that we need to pass in the
TailFoldingInfo struct.

Differential Revision: https://reviews.llvm.org/D146127
llvm/include/llvm/Analysis/TargetTransformInfo.h
llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
llvm/include/llvm/CodeGen/BasicTTIImpl.h
llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
llvm/lib/Analysis/TargetTransformInfo.cpp
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
llvm/lib/Target/ARM/ARMTargetTransformInfo.h
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp