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

Lines Matching refs:MArch

85                                 StringRef MArch, StringRef Ext, StringRef In,
99 << MArch << Error << Ext;
110 D.Diag(diag::err_drv_invalid_riscv_ext_arch_name) << MArch << Error << In;
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;
172 StringRef &MArch, StringRef &Exts) {
189 D.Diag(diag::err_drv_invalid_riscv_arch_name) << MArch
202 << MArch << "invalid extension prefix" << Ext;
214 << MArch << Error << Ext;
225 << MArch << Error << Type;
230 if (!getExtensionVersion(D, Args, MArch, Name, Vers, Major, Minor))
238 << MArch << Error << Name;
256 << MArch << Error << Ext;
267 static bool getArchFeatures(const Driver &D, StringRef MArch,
271 if (llvm::any_of(MArch, [](char c) { return isupper(c); })) {
273 << MArch << "string must be lowercase";
278 if (!(MArch.startswith("rv32") || MArch.startswith("rv64")) ||
279 (MArch.size() < 5)) {
281 << MArch << "string must begin with rv32{i,e,g} or rv64{i,g}";
285 bool HasRV64 = MArch.startswith("rv64");
291 char Baseline = MArch[4];
297 << MArch << "first letter should be 'e', 'i' or 'g'";
307 D.Diag(diag::err_drv_invalid_riscv_arch_name) << MArch << Error;
325 StringRef Exts = MArch.substr(5);
339 if (!getExtensionVersion(D, Args, MArch, std::string(1, Baseline), Exts,
371 << MArch << Error << std::string(1, c);
381 if (!getExtensionVersion(D, Args, MArch, std::string(1, c), Next, Major,
391 << MArch << "unsupported standard user-level extension"
435 << MArch << "d requires f extension to also be specified";
444 getExtensionFeatures(D, Args, Features, MArch, OtherExts);
465 StringRef MArch = getRISCVArch(Args, Triple);
467 if (!getArchFeatures(D, MArch, Features, Args))
470 // If users give march and mcpu, get std extension feature from MArch
594 StringRef MArch = getRISCVArch(Args, Triple);
596 if (MArch.startswith_lower("rv32")) {
598 if (MArch.substr(4).contains_lower("d") || MArch.startswith_lower("rv32g"))
600 else if (MArch.startswith_lower("rv32e"))
604 } else if (MArch.startswith_lower("rv64")) {
606 if (MArch.substr(4).contains_lower("d") || MArch.startswith_lower("rv64g"))
668 StringRef MArch = llvm::RISCV::getMArchFromMcpu(A->getValue());
670 if (MArch != "")
671 return MArch;