• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/

Lines Matching refs:Ext

33 static StringRef getExtensionTypeDesc(StringRef Ext) {
34 if (Ext.startswith("sx"))
36 if (Ext.startswith("s"))
38 if (Ext.startswith("x"))
40 if (Ext.startswith("z"))
45 static StringRef getExtensionType(StringRef Ext) {
46 if (Ext.startswith("sx"))
48 if (Ext.startswith("s"))
50 if (Ext.startswith("x"))
52 if (Ext.startswith("z"))
60 isExperimentalExtension(StringRef Ext) {
61 if (Ext == "b" || Ext == "zbb" || Ext == "zbc" || Ext == "zbe" ||
62 Ext == "zbf" || Ext == "zbm" || Ext == "zbp" || Ext == "zbr" ||
63 Ext == "zbs" || Ext == "zbt" || Ext == "zbproposedc")
65 if (Ext == "v")
70 static bool isSupportedExtension(StringRef Ext) {
72 if (isExperimentalExtension(Ext))
85 StringRef MArch, StringRef Ext, StringRef In,
99 << MArch << Error << Ext;
107 if (Ext.size() > 1 && In.size()) {
115 if (auto ExperimentalExtension = isExperimentalExtension(Ext)) {
120 << MArch << Error << Ext;
126 << MArch << Error << Ext;
140 << MArch << Error << Ext;
155 D.Diag(diag::err_drv_invalid_riscv_ext_arch_name) << MArch << Error << Ext;
187 for (StringRef Ext : Split) {
188 if (Ext.empty()) {
194 StringRef Type = getExtensionType(Ext);
195 StringRef Desc = getExtensionTypeDesc(Ext);
196 auto Pos = Ext.find_if(isDigit);
197 StringRef Name(Ext.substr(0, Pos));
198 StringRef Vers(Ext.substr(Pos));
202 << MArch << "invalid extension prefix" << Ext;
214 << MArch << Error << Ext;
250 for (auto Ext : AllExts) {
251 if (!isSupportedExtension(Ext)) {
252 StringRef Desc = getExtensionTypeDesc(getExtensionType(Ext));
256 << MArch << Error << Ext;
259 if (isExperimentalExtension(Ext))
260 Features.push_back(Args.MakeArgString("+experimental-" + Ext));
262 Features.push_back(Args.MakeArgString("+" + Ext));