diff --git a/clang/include/clang/Support/RISCVVIntrinsicUtils.h b/clang/include/clang/Support/RISCVVIntrinsicUtils.h --- a/clang/include/clang/Support/RISCVVIntrinsicUtils.h +++ b/clang/include/clang/Support/RISCVVIntrinsicUtils.h @@ -305,13 +305,15 @@ unsigned NF = 1; public: - RVVIntrinsic(llvm::StringRef Name, llvm::StringRef Suffix, llvm::StringRef MangledName, - llvm::StringRef MangledSuffix, llvm::StringRef IRName, bool IsMasked, - bool HasMaskedOffOperand, bool HasVL, PolicyScheme Scheme, - bool HasUnMaskedOverloaded, bool HasBuiltinAlias, - llvm::StringRef ManualCodegen, const RVVTypes &Types, + RVVIntrinsic(llvm::StringRef Name, llvm::StringRef Suffix, + llvm::StringRef MangledName, llvm::StringRef MangledSuffix, + llvm::StringRef IRName, bool IsMasked, bool HasMaskedOffOperand, + bool HasVL, PolicyScheme Scheme, bool HasUnMaskedOverloaded, + bool HasBuiltinAlias, llvm::StringRef ManualCodegen, + const RVVTypes &Types, const std::vector<int64_t> &IntrinsicTypes, - const std::vector<llvm::StringRef> &RequiredFeatures, unsigned NF); + const std::vector<llvm::StringRef> &RequiredFeatures, + unsigned NF); ~RVVIntrinsic() = default; RVVTypePtr getOutputType() const { return OutputType; } @@ -341,9 +343,9 @@ // Return the type string for a BUILTIN() macro in Builtins.def. std::string getBuiltinTypeStr() const; - static std::string getSuffixStr( - BasicType Type, int Log2LMUL, - const llvm::SmallVector<PrototypeDescriptor> &PrototypeDescriptors); + static std::string + getSuffixStr(BasicType Type, int Log2LMUL, + const llvm::ArrayRef<PrototypeDescriptor> &PrototypeDescriptors); }; } // end namespace RISCV diff --git a/clang/lib/Support/RISCVVIntrinsicUtils.cpp b/clang/lib/Support/RISCVVIntrinsicUtils.cpp --- a/clang/lib/Support/RISCVVIntrinsicUtils.cpp +++ b/clang/lib/Support/RISCVVIntrinsicUtils.cpp @@ -928,7 +928,7 @@ std::string RVVIntrinsic::getSuffixStr( BasicType Type, int Log2LMUL, - const llvm::SmallVector<PrototypeDescriptor> &PrototypeDescriptors) { + const llvm::ArrayRef<PrototypeDescriptor> &PrototypeDescriptors) { SmallVector<std::string> SuffixStrs; for (auto PD : PrototypeDescriptors) { auto T = RVVType::computeType(Type, Log2LMUL, PD);