Author: Craig Topper Date: 2023-11-29T12:57:48-08:00 New Revision: 0123608822a7b58d6deca528eef8dc958420acd1
URL: https://github.com/llvm/llvm-project/commit/0123608822a7b58d6deca528eef8dc958420acd1 DIFF: https://github.com/llvm/llvm-project/commit/0123608822a7b58d6deca528eef8dc958420acd1.diff LOG: [RISCV] Minor improvements/cleanup to target attribute handling. NFC (#73851) Use ArrayRef to avoid a vector copy. Replace a push_back loop with a call to std::vector::insert. Added: Modified: clang/lib/Basic/Targets/RISCV.cpp Removed: ################################################################################ diff --git a/clang/lib/Basic/Targets/RISCV.cpp b/clang/lib/Basic/Targets/RISCV.cpp index d1d9cc1c770e361..2e9ce468b5d3e36 100644 --- a/clang/lib/Basic/Targets/RISCV.cpp +++ b/clang/lib/Basic/Targets/RISCV.cpp @@ -236,8 +236,7 @@ ArrayRef<Builtin::Info> RISCVTargetInfo::getTargetBuiltins() const { } static std::vector<std::string> -collectNonISAExtFeature(const std::vector<std::string> &FeaturesNeedOverride, - int XLen) { +collectNonISAExtFeature(ArrayRef<std::string> FeaturesNeedOverride, int XLen) { auto ParseResult = llvm::RISCVISAInfo::parseFeatures(XLen, FeaturesNeedOverride); @@ -265,11 +264,11 @@ resolveTargetAttrOverride(const std::vector<std::string> &FeaturesVec, if (I == FeaturesVec.end()) return FeaturesVec; - const std::vector<std::string> FeaturesNeedOverride(FeaturesVec.begin(), I); + ArrayRef<std::string> FeaturesNeedOverride(&*FeaturesVec.begin(), &*I); std::vector<std::string> NonISAExtFeature = collectNonISAExtFeature(FeaturesNeedOverride, XLen); - auto ResolvedFeature = std::vector<std::string>(++I, FeaturesVec.end()); + std::vector<std::string> ResolvedFeature(++I, FeaturesVec.end()); ResolvedFeature.insert(ResolvedFeature.end(), NonISAExtFeature.begin(), NonISAExtFeature.end()); @@ -415,8 +414,7 @@ static void handleFullArchString(StringRef FullArchStr, Features.push_back("+" + FullArchStr.str()); } else { std::vector<std::string> FeatStrings = (*RII)->toFeatureVector(); - for (auto FeatString : FeatStrings) - Features.push_back(FeatString); + Features.insert(Features.end(), FeatStrings.begin(), FeatStrings.end()); } } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits