Skip to content

Commit 1060d89

Browse files
committed
[TTI] improveShuffleKindFromMask - pull out repeated Mask.size() calls. NFC.
1 parent 4efb618 commit 1060d89

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

llvm/include/llvm/CodeGen/BasicTTIImpl.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1105,6 +1105,7 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
11051105
VectorType *&SubTy) const {
11061106
if (Mask.empty())
11071107
return Kind;
1108+
int NumDstElts = Mask.size();
11081109
int NumSrcElts = SrcTy->getElementCount().getKnownMinValue();
11091110
switch (Kind) {
11101111
case TTI::SK_PermuteSingleSrc: {
@@ -1115,8 +1116,8 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
11151116
if (isSplatMask(Mask, NumSrcElts, Index))
11161117
return TTI::SK_Broadcast;
11171118
if (ShuffleVectorInst::isExtractSubvectorMask(Mask, NumSrcElts, Index) &&
1118-
(Index + Mask.size()) <= (size_t)NumSrcElts) {
1119-
SubTy = FixedVectorType::get(SrcTy->getElementType(), Mask.size());
1119+
(Index + NumDstElts) <= (size_t)NumSrcElts) {
1120+
SubTy = FixedVectorType::get(SrcTy->getElementType(), NumDstElts);
11201121
return TTI::SK_ExtractSubvector;
11211122
}
11221123
break;
@@ -1126,8 +1127,8 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
11261127
return improveShuffleKindFromMask(TTI::SK_PermuteSingleSrc, Mask, SrcTy,
11271128
Index, SubTy);
11281129
int NumSubElts;
1129-
if (Mask.size() > 2 && ShuffleVectorInst::isInsertSubvectorMask(
1130-
Mask, NumSrcElts, NumSubElts, Index)) {
1130+
if (NumDstElts > 2 && ShuffleVectorInst::isInsertSubvectorMask(
1131+
Mask, NumSrcElts, NumSubElts, Index)) {
11311132
if (Index + NumSubElts > NumSrcElts)
11321133
return Kind;
11331134
SubTy = FixedVectorType::get(SrcTy->getElementType(), NumSubElts);

0 commit comments

Comments
 (0)