Skip to content

Commit 6d323e7

Browse files
committed
[RISCV] Use SmallVector::append to replace some for loops in intrinsic creation. NFC
Reviewed By: eopXD Differential Revision: https://reviews.llvm.org/D140678
1 parent c69d839 commit 6d323e7

File tree

1 file changed

+8
-18
lines changed

1 file changed

+8
-18
lines changed

clang/include/clang/Basic/riscv_vector.td

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -853,8 +853,7 @@ multiclass RVVUnitStridedSegLoad<string op> {
853853
Operands.push_back(Ops[NF]);
854854
Operands.push_back(Ops[NF + 2]);
855855
} else {
856-
for (unsigned I = 0; I < NF; ++I)
857-
Operands.push_back(Ops[NF + I + 1]);
856+
Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
858857
Operands.push_back(Ops[2 * NF + 1]);
859858
Operands.push_back(Ops[NF]);
860859
Operands.push_back(Ops[2 * NF + 2]);
@@ -870,10 +869,7 @@ multiclass RVVUnitStridedSegLoad<string op> {
870869
Operands.push_back(Ops[NF]);
871870
Operands.push_back(Ops[NF + 1]);
872871
} else {
873-
for (unsigned I = 0; I < NF; ++I)
874-
Operands.push_back(Ops[NF + I]);
875-
Operands.push_back(Ops[2 * NF]);
876-
Operands.push_back(Ops[2 * NF + 1]);
872+
Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF + 2);
877873
}
878874
}
879875
llvm::Function *F = CGM.getIntrinsic(ID, IntrinsicTypes);
@@ -931,8 +927,7 @@ multiclass RVVUnitStridedSegLoadFF<string op> {
931927
Operands.push_back(Ops[NF + 3]);
932928
NewVL = Ops[NF + 2];
933929
} else {
934-
for (unsigned I = 0; I < NF; ++I)
935-
Operands.push_back(Ops[NF + I + 1]);
930+
Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
936931
Operands.push_back(Ops[2 * NF + 1]);
937932
Operands.push_back(Ops[NF]);
938933
Operands.push_back(Ops[2 * NF + 3]);
@@ -950,8 +945,7 @@ multiclass RVVUnitStridedSegLoadFF<string op> {
950945
Operands.push_back(Ops[NF + 2]);
951946
NewVL = Ops[NF + 1];
952947
} else {
953-
for (unsigned I = 0; I < NF; ++I)
954-
Operands.push_back(Ops[NF + I]);
948+
Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF);
955949
Operands.push_back(Ops[2 * NF]);
956950
Operands.push_back(Ops[2 * NF + 2]);
957951
NewVL = Ops[2 * NF + 1];
@@ -1012,8 +1006,7 @@ multiclass RVVStridedSegLoad<string op> {
10121006
Operands.push_back(Ops[NF]);
10131007
Operands.push_back(Ops[NF + 3]);
10141008
} else {
1015-
for (unsigned I = 0; I < NF; ++I)
1016-
Operands.push_back(Ops[NF + I + 1]);
1009+
Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
10171010
Operands.push_back(Ops[2 * NF + 1]);
10181011
Operands.push_back(Ops[2 * NF + 2]);
10191012
Operands.push_back(Ops[NF]);
@@ -1031,8 +1024,7 @@ multiclass RVVStridedSegLoad<string op> {
10311024
Operands.push_back(Ops[NF + 1]);
10321025
Operands.push_back(Ops[NF + 2]);
10331026
} else {
1034-
for (unsigned I = 0; I < NF; ++I)
1035-
Operands.push_back(Ops[NF + I]);
1027+
Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF);
10361028
Operands.push_back(Ops[2 * NF]);
10371029
Operands.push_back(Ops[2 * NF + 1]);
10381030
Operands.push_back(Ops[2 * NF + 2]);
@@ -1087,8 +1079,7 @@ multiclass RVVIndexedSegLoad<string op> {
10871079
Operands.push_back(Ops[NF + 3]);
10881080
IntrinsicTypes = {ResultType, Ops[NF + 2]->getType(), Ops.back()->getType()};
10891081
} else {
1090-
for (unsigned I = 0; I < NF; ++I)
1091-
Operands.push_back(Ops[NF + I + 1]);
1082+
Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
10921083
Operands.push_back(Ops[2 * NF + 1]);
10931084
Operands.push_back(Ops[2 * NF + 2]);
10941085
Operands.push_back(Ops[NF]);
@@ -1108,8 +1099,7 @@ multiclass RVVIndexedSegLoad<string op> {
11081099
Operands.push_back(Ops[NF + 2]);
11091100
IntrinsicTypes = {ResultType, Ops[NF + 1]->getType(), Ops.back()->getType()};
11101101
} else {
1111-
for (unsigned I = 0; I < NF; ++I)
1112-
Operands.push_back(Ops[NF + I]);
1102+
Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF);
11131103
Operands.push_back(Ops[2 * NF]);
11141104
Operands.push_back(Ops[2 * NF + 1]);
11151105
Operands.push_back(Ops[2 * NF + 2]);

0 commit comments

Comments
 (0)