Author: eopXD Date: 2022-12-25T22:57:51-08:00 New Revision: 904a79f99153d9d8ed67beeed82a0f910bb000fd
URL: https://github.com/llvm/llvm-project/commit/904a79f99153d9d8ed67beeed82a0f910bb000fd DIFF: https://github.com/llvm/llvm-project/commit/904a79f99153d9d8ed67beeed82a0f910bb000fd.diff LOG: [NFC][Clang][RISCV] Reduce for-loop with SmallVector utility As topic, this commit reduces the for-loops with utilities of SmallVector. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D140661 Added: Modified: clang/include/clang/Basic/riscv_vector.td clang/lib/Support/RISCVVIntrinsicUtils.cpp Removed: ################################################################################ diff --git a/clang/include/clang/Basic/riscv_vector.td b/clang/include/clang/Basic/riscv_vector.td index 7dbd331b2c5ec..1ed8e00dd82ba 100644 --- a/clang/include/clang/Basic/riscv_vector.td +++ b/clang/include/clang/Basic/riscv_vector.td @@ -848,8 +848,7 @@ multiclass RVVUnitStridedSegLoad<string op> { // builtin: (val0 address, ..., mask, maskedoff0, ..., ptr, vl) // intrinsic: (maskedoff0, ..., ptr, mask, vl) if (DefaultPolicy == TAIL_AGNOSTIC_MASK_AGNOSTIC) { - for (unsigned I = 0; I < NF; ++I) - Operands.push_back(llvm::PoisonValue::get(ResultType)); + Operands.append(NF, llvm::PoisonValue::get(ResultType)); Operands.push_back(Ops[NF + 1]); Operands.push_back(Ops[NF]); Operands.push_back(Ops[NF + 2]); @@ -867,8 +866,7 @@ multiclass RVVUnitStridedSegLoad<string op> { // TU builtin: (val0 address, ..., passthru0, ..., ptr, vl) // intrinsic: (passthru0, passthru1, ..., ptr, vl) if (DefaultPolicy == TAIL_AGNOSTIC) { - for (unsigned I = 0; I < NF; ++I) - Operands.push_back(llvm::PoisonValue::get(ResultType)); + Operands.append(NF, llvm::PoisonValue::get(ResultType)); Operands.push_back(Ops[NF]); Operands.push_back(Ops[NF + 1]); } else { @@ -927,8 +925,7 @@ multiclass RVVUnitStridedSegLoadFF<string op> { // builtin: (val0 address, ..., mask, maskedoff0, ..., ptr, new_vl, vl) // intrinsic: (maskedoff0, ..., ptr, mask, vl) if (DefaultPolicy == TAIL_AGNOSTIC_MASK_AGNOSTIC) { - for (unsigned I = 0; I < NF; ++I) - Operands.push_back(llvm::PoisonValue::get(ResultType)); + Operands.append(NF, llvm::PoisonValue::get(ResultType)); Operands.push_back(Ops[NF + 1]); Operands.push_back(Ops[NF]); Operands.push_back(Ops[NF + 3]); @@ -948,8 +945,7 @@ multiclass RVVUnitStridedSegLoadFF<string op> { // TU builtin: (val0 address, ..., passthru0, ..., ptr, new_vl, vl) // intrinsic: (passthru0, passthru1, ..., ptr, vl) if (DefaultPolicy == TAIL_AGNOSTIC) { - for (unsigned I = 0; I < NF; ++I) - Operands.push_back(llvm::PoisonValue::get(ResultType)); + Operands.append(NF, llvm::PoisonValue::get(ResultType)); Operands.push_back(Ops[NF]); Operands.push_back(Ops[NF + 2]); NewVL = Ops[NF + 1]; @@ -1010,8 +1006,7 @@ multiclass RVVStridedSegLoad<string op> { // builtin: (val0 address, ..., mask, maskedoff0, ..., ptr, stride, vl) // intrinsic: (maskedoff0, ..., ptr, stride, mask, vl) if (DefaultPolicy == TAIL_AGNOSTIC_MASK_AGNOSTIC) { - for (unsigned I = 0; I < NF; ++I) - Operands.push_back(llvm::PoisonValue::get(ResultType)); + Operands.append(NF, llvm::PoisonValue::get(ResultType)); Operands.push_back(Ops[NF + 1]); Operands.push_back(Ops[NF + 2]); Operands.push_back(Ops[NF]); @@ -1031,8 +1026,7 @@ multiclass RVVStridedSegLoad<string op> { // TU builtin: (val0 address, ..., passthru0, ..., ptr, stride, vl) // intrinsic: (passthru0, passthru1, ..., ptr, stride, vl) if (DefaultPolicy == TAIL_AGNOSTIC) { - for (unsigned I = 0; I < NF; ++I) - Operands.push_back(llvm::PoisonValue::get(ResultType)); + Operands.append(NF, llvm::PoisonValue::get(ResultType)); Operands.push_back(Ops[NF]); Operands.push_back(Ops[NF + 1]); Operands.push_back(Ops[NF + 2]); @@ -1086,8 +1080,7 @@ multiclass RVVIndexedSegLoad<string op> { // builtin: (val0 address, ..., mask, maskedoff0, ..., ptr, index, vl) // intrinsic: (maskedoff0, ..., ptr, index, mask, vl) if (DefaultPolicy == TAIL_AGNOSTIC_MASK_AGNOSTIC) { - for (unsigned I = 0; I < NF; ++I) - Operands.push_back(llvm::PoisonValue::get(ResultType)); + Operands.append(NF, llvm::PoisonValue::get(ResultType)); Operands.push_back(Ops[NF + 1]); Operands.push_back(Ops[NF + 2]); Operands.push_back(Ops[NF]); @@ -1109,8 +1102,7 @@ multiclass RVVIndexedSegLoad<string op> { // TU builtin: (val0 address, ..., passthru0, ..., ptr, index, vl) // intrinsic: (passthru0, passthru1, ..., ptr, index, vl) if (DefaultPolicy == TAIL_AGNOSTIC) { - for (unsigned I = 0; I < NF; ++I) - Operands.push_back(llvm::PoisonValue::get(ResultType)); + Operands.append(NF, llvm::PoisonValue::get(ResultType)); Operands.push_back(Ops[NF]); Operands.push_back(Ops[NF + 1]); Operands.push_back(Ops[NF + 2]); diff --git a/clang/lib/Support/RISCVVIntrinsicUtils.cpp b/clang/lib/Support/RISCVVIntrinsicUtils.cpp index d9feec85b78c7..bd05dadb48c3c 100644 --- a/clang/lib/Support/RISCVVIntrinsicUtils.cpp +++ b/clang/lib/Support/RISCVVIntrinsicUtils.cpp @@ -939,8 +939,7 @@ llvm::SmallVector<PrototypeDescriptor> RVVIntrinsic::computeBuiltinTypes( // (void, op0 address, op1 address, ..., maskedoff0, maskedoff1, ...) PrototypeDescriptor MaskoffType = NewPrototype[1]; MaskoffType.TM &= ~static_cast<uint8_t>(TypeModifier::Pointer); - for (unsigned I = 0; I < NF; ++I) - NewPrototype.insert(NewPrototype.begin() + NF + 1, MaskoffType); + NewPrototype.insert(NewPrototype.begin() + NF + 1, NF, MaskoffType); } } // Erase passthru operand for TAM @@ -983,8 +982,7 @@ llvm::SmallVector<PrototypeDescriptor> RVVIntrinsic::computeBuiltinTypes( // (void, op0 address, op1 address, maskedoff0, maskedoff1, ...) PrototypeDescriptor MaskoffType = Prototype[1]; MaskoffType.TM &= ~static_cast<uint8_t>(TypeModifier::Pointer); - for (unsigned I = 0; I < NF; ++I) - NewPrototype.insert(NewPrototype.begin() + NF + 1, MaskoffType); + NewPrototype.insert(NewPrototype.begin() + NF + 1, NF, MaskoffType); } } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits