https://github.com/djtodoro updated 
https://github.com/llvm/llvm-project/pull/134065

>From 513b1ae05ed6049586a23acab6c0a2f7dbb48454 Mon Sep 17 00:00:00 2001
From: Djordje Todorovic <djordje.todoro...@htecgroup.com>
Date: Wed, 26 Mar 2025 09:24:29 +0100
Subject: [PATCH 1/5] [clang][RISCV] Set default CPU for  vendor

---
 clang/lib/Driver/ToolChains/Arch/RISCV.cpp |  4 ++++
 llvm/lib/Target/RISCV/RISCVSubtarget.cpp   | 13 +++++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp 
b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
index 1c5b5ff5e5b40..d3cc889178d2c 100644
--- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
@@ -365,5 +365,9 @@ std::string riscv::getRISCVTargetCPU(const 
llvm::opt::ArgList &Args,
   if (!CPU.empty())
     return CPU;
 
+  if (Triple.getVendor() == llvm::Triple::MipsTechnologies &&
+      Triple.isRISCV64())
+    return "p8700";
+
   return Triple.isRISCV64() ? "generic-rv64" : "generic-rv32";
 }
diff --git a/llvm/lib/Target/RISCV/RISCVSubtarget.cpp 
b/llvm/lib/Target/RISCV/RISCVSubtarget.cpp
index 3c996c82fcec4..30aa8c267b484 100644
--- a/llvm/lib/Target/RISCV/RISCVSubtarget.cpp
+++ b/llvm/lib/Target/RISCV/RISCVSubtarget.cpp
@@ -79,8 +79,17 @@ RISCVSubtarget::initializeSubtargetDependencies(const Triple 
&TT, StringRef CPU,
                                                 StringRef ABIName) {
   // Determine default and user-specified characteristics
   bool Is64Bit = TT.isArch64Bit();
-  if (CPU.empty() || CPU == "generic")
-    CPU = Is64Bit ? "generic-rv64" : "generic-rv32";
+  if (CPU.empty() || CPU == "generic") {
+    if (Is64Bit) {
+      if (TT.getVendor() == llvm::Triple::MipsTechnologies) {
+        CPU = "p8700";
+      } else {
+        CPU = "generic-rv64";
+      }
+    } else {
+      CPU = "generic-rv32";
+    }
+  }
 
   if (TuneCPU.empty())
     TuneCPU = CPU;

>From 8c1ca6afe3b57619ec65640dd6f0f7364bea15cc Mon Sep 17 00:00:00 2001
From: Djordje Todorovic <djordje.todoro...@htecgroup.com>
Date: Wed, 26 Mar 2025 09:26:57 +0100
Subject: [PATCH 2/5] [clang] Add driver support for riscv64-mti toolchains

---
 clang/lib/Driver/ToolChains/Arch/RISCV.cpp    |  6 ++-
 clang/lib/Driver/ToolChains/Gnu.cpp           | 40 +++++++++++++++++--
 clang/lib/Driver/ToolChains/Linux.cpp         | 25 ++++++++++--
 .../lib/Driver/ToolChains/RISCVToolchain.cpp  |  4 ++
 4 files changed, 67 insertions(+), 8 deletions(-)

diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp 
b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
index d3cc889178d2c..679387240aa3b 100644
--- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
@@ -337,12 +337,14 @@ std::string riscv::getRISCVArch(const llvm::opt::ArgList 
&Args,
   // - On `riscv{XLEN}-unknown-elf` we default to `rv{XLEN}imac`
   // - On all other OSs we use `rv{XLEN}imafdc` (equivalent to `rv{XLEN}gc`)
   if (Triple.isRISCV32()) {
-    if (Triple.getOS() == llvm::Triple::UnknownOS)
+    if (Triple.getOS() == llvm::Triple::UnknownOS &&
+        Triple.getVendor() != llvm::Triple::MipsTechnologies)
       return "rv32imac";
     return "rv32imafdc";
   }
 
-  if (Triple.getOS() == llvm::Triple::UnknownOS)
+  if (Triple.getOS() == llvm::Triple::UnknownOS &&
+      Triple.getVendor() != llvm::Triple::MipsTechnologies)
     return "rv64imac";
   if (Triple.isAndroid())
     return "rv64imafdcv_zba_zbb_zbs";
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp 
b/clang/lib/Driver/ToolChains/Gnu.cpp
index a0fa3c66d7dec..5a9e66e975fdc 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -402,6 +402,11 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, 
const JobAction &JA,
     CmdArgs.push_back(Arch == llvm::Triple::aarch64_be ? "-EB" : "-EL");
   }
 
+  if (Triple.isRISCV() &&
+      Triple.getVendor() == llvm::Triple::MipsTechnologies) {
+    CmdArgs.push_back("-EL");
+  }
+
   // Most Android ARM64 targets should enable the linker fix for erratum
   // 843419. Only non-Cortex-A53 devices are allowed to skip this flag.
   if (Arch == llvm::Triple::aarch64 && (isAndroid || isOHOSFamily)) {
@@ -765,7 +770,8 @@ void tools::gnutools::Assembler::ConstructJob(Compilation 
&C,
   }
   case llvm::Triple::riscv32:
   case llvm::Triple::riscv64: {
-    StringRef ABIName = riscv::getRISCVABI(Args, getToolChain().getTriple());
+    const llvm::Triple &Triple = getToolChain().getTriple();
+    StringRef ABIName = riscv::getRISCVABI(Args, Triple);
     CmdArgs.push_back("-mabi");
     CmdArgs.push_back(ABIName.data());
     std::string MArchName =
@@ -774,6 +780,10 @@ void tools::gnutools::Assembler::ConstructJob(Compilation 
&C,
     CmdArgs.push_back(Args.MakeArgString(MArchName));
     if (!Args.hasFlag(options::OPT_mrelax, options::OPT_mno_relax, true))
       Args.addOptOutFlag(CmdArgs, options::OPT_mrelax, options::OPT_mno_relax);
+
+    if (Triple.getVendor() == llvm::Triple::MipsTechnologies)
+      CmdArgs.push_back("-EL");
+
     break;
   }
   case llvm::Triple::sparc:
@@ -1824,9 +1834,19 @@ static void findRISCVBareMetalMultilibs(const Driver &D,
             .flag(Twine("-march=", Element.march).str())
             .flag(Twine("-mabi=", Element.mabi).str()));
   }
+  SmallVector<MultilibBuilder, 2> Endian;
+  bool IsMIPS = TargetTriple.getVendor() == llvm::Triple::MipsTechnologies;
+  if (IsMIPS) {
+    Endian.push_back(
+        MultilibBuilder("/riscv").flag("-EL").flag("-EB", /*Disallow=*/true));
+    Endian.push_back(
+        MultilibBuilder("/riscveb").flag("-EB").flag("-EL", 
/*Disallow=*/true));
+  }
   MultilibSet RISCVMultilibs =
       MultilibSetBuilder()
           .Either(Ms)
+          .Either(Endian)
+          .Either(ArrayRef<MultilibBuilder>(Ms))
           .makeMultilibSet()
           .FilterOut(NonExistent)
           .setFilePathsCallback([](const Multilib &M) {
@@ -1850,6 +1870,8 @@ static void findRISCVBareMetalMultilibs(const Driver &D,
     }
   }
 
+  addMultilibFlag(IsMIPS, "-EL", Flags);
+
   if (selectRISCVMultilib(D, RISCVMultilibs, MArch, Flags,
                           Result.SelectedMultilibs))
     Result.Multilibs = RISCVMultilibs;
@@ -1874,8 +1896,18 @@ static void findRISCVMultilibs(const Driver &D,
       MultilibBuilder("lib64/lp64f").flag("-m64").flag("-mabi=lp64f");
   MultilibBuilder Lp64d =
       MultilibBuilder("lib64/lp64d").flag("-m64").flag("-mabi=lp64d");
+
+  SmallVector<MultilibBuilder, 2> Endian;
+  if (TargetTriple.getVendor() == llvm::Triple::MipsTechnologies) {
+    Endian.push_back(
+        MultilibBuilder("/riscv").flag("-EL").flag("-EB", /*Disallow=*/true));
+    Endian.push_back(
+        MultilibBuilder("/riscveb").flag("-EB").flag("-EL", 
/*Disallow=*/true));
+  }
+
   MultilibSet RISCVMultilibs =
       MultilibSetBuilder()
+          .Either(Endian)
           .Either({Ilp32, Ilp32f, Ilp32d, Lp64, Lp64f, Lp64d})
           .makeMultilibSet()
           .FilterOut(NonExistent);
@@ -1883,6 +1915,7 @@ static void findRISCVMultilibs(const Driver &D,
   Multilib::flags_list Flags;
   bool IsRV64 = TargetTriple.getArch() == llvm::Triple::riscv64;
   StringRef ABIName = tools::riscv::getRISCVABI(Args, TargetTriple);
+  bool IsMIPS = TargetTriple.getVendor() == llvm::Triple::MipsTechnologies;
 
   addMultilibFlag(!IsRV64, "-m32", Flags);
   addMultilibFlag(IsRV64, "-m64", Flags);
@@ -1892,6 +1925,7 @@ static void findRISCVMultilibs(const Driver &D,
   addMultilibFlag(ABIName == "lp64", "-mabi=lp64", Flags);
   addMultilibFlag(ABIName == "lp64f", "-mabi=lp64f", Flags);
   addMultilibFlag(ABIName == "lp64d", "-mabi=lp64d", Flags);
+  addMultilibFlag(IsMIPS, "-EL", Flags);
 
   if (RISCVMultilibs.select(D, Flags, Result.SelectedMultilibs))
     Result.Multilibs = RISCVMultilibs;
@@ -2516,8 +2550,8 @@ void 
Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
   static const char *const RISCV32Triples[] = {"riscv32-unknown-linux-gnu",
                                                "riscv32-unknown-elf"};
   static const char *const RISCV64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const RISCV64Triples[] = {"riscv64-unknown-linux-gnu",
-                                               "riscv64-unknown-elf"};
+  static const char *const RISCV64Triples[] = {
+      "riscv64-unknown-linux-gnu", "riscv64-unknown-elf", "riscv64-mti-elf"};
 
   static const char *const SPARCv8LibDirs[] = {"/lib32", "/lib"};
   static const char *const SPARCv8Triples[] = {"sparc-linux-gnu",
diff --git a/clang/lib/Driver/ToolChains/Linux.cpp 
b/clang/lib/Driver/ToolChains/Linux.cpp
index 1e9bd3de75f04..4622acf2c57e3 100644
--- a/clang/lib/Driver/ToolChains/Linux.cpp
+++ b/clang/lib/Driver/ToolChains/Linux.cpp
@@ -283,11 +283,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, 
const ArgList &Args)
   const bool IsHexagon = Arch == llvm::Triple::hexagon;
   const bool IsRISCV = Triple.isRISCV();
   const bool IsCSKY = Triple.isCSKY();
+  const bool IsMipsSysRoot =
+      IsMips ||
+      (IsRISCV && Triple.getVendor() == llvm::Triple::MipsTechnologies);
 
   if (IsCSKY && !SelectedMultilibs.empty())
     SysRoot = SysRoot + SelectedMultilibs.back().osSuffix();
 
-  if ((IsMips || IsCSKY) && !SysRoot.empty())
+  if ((IsMipsSysRoot || IsCSKY) && !SysRoot.empty())
     ExtraOpts.push_back("--sysroot=" + SysRoot);
 
   // Do not use 'gnu' hash style for Mips targets because .gnu.hash
@@ -414,7 +417,12 @@ std::string Linux::computeSysRoot() const {
     return std::string();
   }
 
-  if (!GCCInstallation.isValid() || !getTriple().isMIPS())
+  const bool IsMipsSysRoot =
+      getTriple().isMIPS() ||
+      (getTriple().isRISCV() &&
+       getTriple().getVendor() == llvm::Triple::MipsTechnologies);
+
+  if (!GCCInstallation.isValid() || !IsMipsSysRoot)
     return std::string();
 
   // Standalone MIPS toolchains use different names for sysroot folder
@@ -424,8 +432,19 @@ std::string Linux::computeSysRoot() const {
   const StringRef InstallDir = GCCInstallation.getInstallPath();
   const StringRef TripleStr = GCCInstallation.getTriple().str();
   const Multilib &Multilib = GCCInstallation.getMultilib();
+  std::string Path;
+  if (getTriple().isRISCV()) {
+    Path =
+        (InstallDir + "/../../../../sysroot" + Multilib.osSuffix() + "/../..")
+            .str();
+
+    if (getVFS().exists(Path))
+      return Path;
+
+    return std::string();
+  }
 
-  std::string Path =
+  Path =
       (InstallDir + "/../../../../" + TripleStr + "/libc" + 
Multilib.osSuffix())
           .str();
 
diff --git a/clang/lib/Driver/ToolChains/RISCVToolchain.cpp 
b/clang/lib/Driver/ToolChains/RISCVToolchain.cpp
index 624099d21ae12..cf26b7eef1c63 100644
--- a/clang/lib/Driver/ToolChains/RISCVToolchain.cpp
+++ b/clang/lib/Driver/ToolChains/RISCVToolchain.cpp
@@ -173,6 +173,9 @@ void RISCV::Linker::ConstructJob(Compilation &C, const 
JobAction &JA,
   }
   CmdArgs.push_back("-X");
 
+  if (ToolChain.getTriple().getVendor() == llvm::Triple::MipsTechnologies)
+    CmdArgs.push_back("-EL");
+
   std::string Linker = getToolChain().GetLinkerPath();
 
   bool WantCRTs =
@@ -229,4 +232,5 @@ void RISCV::Linker::ConstructJob(Compilation &C, const 
JobAction &JA,
       JA, *this, ResponseFileSupport::AtFileCurCP(), 
Args.MakeArgString(Linker),
       CmdArgs, Inputs, Output));
 }
+
 // RISCV tools end.

>From bf3b7d4ccc50370f8ab4059f9b82d93eff7e370d Mon Sep 17 00:00:00 2001
From: Djordje Todorovic <djordje.todoro...@htecgroup.com>
Date: Thu, 3 Apr 2025 16:32:31 +0200
Subject: [PATCH 3/5] followup: Add test and minor fixes

---
 clang/lib/Driver/ToolChains/Arch/RISCV.cpp |  4 +++-
 clang/test/Driver/riscv-cpus.c             | 14 ++++++++++++++
 llvm/lib/Target/RISCV/RISCVSubtarget.cpp   |  2 +-
 3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp 
b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
index 679387240aa3b..fb8b85c7ab961 100644
--- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
@@ -346,6 +346,8 @@ std::string riscv::getRISCVArch(const llvm::opt::ArgList 
&Args,
   if (Triple.getOS() == llvm::Triple::UnknownOS &&
       Triple.getVendor() != llvm::Triple::MipsTechnologies)
     return "rv64imac";
+  if (Triple.getVendor() == llvm::Triple::MipsTechnologies)
+    return "rv64imafdc_zba_zbb_zicsr_zifencei";
   if (Triple.isAndroid())
     return "rv64imafdcv_zba_zbb_zbs";
   if (Triple.isOSFuchsia())
@@ -369,7 +371,7 @@ std::string riscv::getRISCVTargetCPU(const 
llvm::opt::ArgList &Args,
 
   if (Triple.getVendor() == llvm::Triple::MipsTechnologies &&
       Triple.isRISCV64())
-    return "p8700";
+    return "mips-p8700";
 
   return Triple.isRISCV64() ? "generic-rv64" : "generic-rv32";
 }
diff --git a/clang/test/Driver/riscv-cpus.c b/clang/test/Driver/riscv-cpus.c
index e97b6940662d9..25eb1e141ac89 100644
--- a/clang/test/Driver/riscv-cpus.c
+++ b/clang/test/Driver/riscv-cpus.c
@@ -115,6 +115,20 @@
 // MCPU-MIPS-P8700-SAME: "-target-feature" "+zba"
 // MCPU-MIPS-P8700-SAME: "-target-feature" "+zbb"
 
+// RUN: %clang --target=riscv64-mti-linux-gnu -### -c %s 2>&1| FileCheck 
-check-prefix=MCPU-MTI-P8700 %s
+// MCPU-MTI-P8700: "-target-cpu" "mips-p8700"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+m"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+a"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+f"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+d"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+c"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+zicsr"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+zifencei"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+zaamo"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+zalrsc"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+zba"
+// MCPU-MTI-P8700-SAME: "-target-feature" "+zbb"
+
 // RUN: %clang --target=riscv32 -### -c %s 2>&1 -mtune=syntacore-scr1-base | 
FileCheck -check-prefix=MTUNE-SYNTACORE-SCR1-BASE %s
 // MTUNE-SYNTACORE-SCR1-BASE: "-tune-cpu" "syntacore-scr1-base"
 
diff --git a/llvm/lib/Target/RISCV/RISCVSubtarget.cpp 
b/llvm/lib/Target/RISCV/RISCVSubtarget.cpp
index 30aa8c267b484..7a6026779106e 100644
--- a/llvm/lib/Target/RISCV/RISCVSubtarget.cpp
+++ b/llvm/lib/Target/RISCV/RISCVSubtarget.cpp
@@ -82,7 +82,7 @@ RISCVSubtarget::initializeSubtargetDependencies(const Triple 
&TT, StringRef CPU,
   if (CPU.empty() || CPU == "generic") {
     if (Is64Bit) {
       if (TT.getVendor() == llvm::Triple::MipsTechnologies) {
-        CPU = "p8700";
+        CPU = "mips-p8700";
       } else {
         CPU = "generic-rv64";
       }

>From dbe65463c7edb6a2e75e72f53c41d56c79e82c39 Mon Sep 17 00:00:00 2001
From: Djordje Todorovic <djordje.todoro...@htecgroup.com>
Date: Mon, 7 Apr 2025 13:13:23 +0200
Subject: [PATCH 4/5] followup: Address comments

---
 clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 5 ++---
 clang/lib/Driver/ToolChains/Gnu.cpp        | 3 +--
 clang/test/Driver/riscv-cpus.c             | 1 +
 clang/test/Driver/riscv64-toolchain.c      | 7 +++++++
 llvm/lib/Target/RISCV/RISCVSubtarget.cpp   | 5 ++---
 5 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp 
b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
index fb8b85c7ab961..35110a5327d12 100644
--- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
@@ -343,11 +343,10 @@ std::string riscv::getRISCVArch(const llvm::opt::ArgList 
&Args,
     return "rv32imafdc";
   }
 
-  if (Triple.getOS() == llvm::Triple::UnknownOS &&
-      Triple.getVendor() != llvm::Triple::MipsTechnologies)
-    return "rv64imac";
   if (Triple.getVendor() == llvm::Triple::MipsTechnologies)
     return "rv64imafdc_zba_zbb_zicsr_zifencei";
+  if (Triple.getOS() == llvm::Triple::UnknownOS)
+    return "rv64imac";
   if (Triple.isAndroid())
     return "rv64imafdcv_zba_zbb_zbs";
   if (Triple.isOSFuchsia())
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp 
b/clang/lib/Driver/ToolChains/Gnu.cpp
index 5a9e66e975fdc..9b38d1cfb6ce3 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -403,9 +403,8 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, 
const JobAction &JA,
   }
 
   if (Triple.isRISCV() &&
-      Triple.getVendor() == llvm::Triple::MipsTechnologies) {
+      Triple.getVendor() == llvm::Triple::MipsTechnologies)
     CmdArgs.push_back("-EL");
-  }
 
   // Most Android ARM64 targets should enable the linker fix for erratum
   // 843419. Only non-Cortex-A53 devices are allowed to skip this flag.
diff --git a/clang/test/Driver/riscv-cpus.c b/clang/test/Driver/riscv-cpus.c
index 25eb1e141ac89..d276d90fc1e46 100644
--- a/clang/test/Driver/riscv-cpus.c
+++ b/clang/test/Driver/riscv-cpus.c
@@ -116,6 +116,7 @@
 // MCPU-MIPS-P8700-SAME: "-target-feature" "+zbb"
 
 // RUN: %clang --target=riscv64-mti-linux-gnu -### -c %s 2>&1| FileCheck 
-check-prefix=MCPU-MTI-P8700 %s
+// RUN: %clang --target=riscv64-mti-unknown-gnu -### -c %s 2>&1| FileCheck 
-check-prefix=MCPU-MTI-P8700 %s
 // MCPU-MTI-P8700: "-target-cpu" "mips-p8700"
 // MCPU-MTI-P8700-SAME: "-target-feature" "+m"
 // MCPU-MTI-P8700-SAME: "-target-feature" "+a"
diff --git a/clang/test/Driver/riscv64-toolchain.c 
b/clang/test/Driver/riscv64-toolchain.c
index 06d5f50f3f408..b1f0845929030 100644
--- a/clang/test/Driver/riscv64-toolchain.c
+++ b/clang/test/Driver/riscv64-toolchain.c
@@ -106,6 +106,13 @@
 // C-RV64-LINUX-MULTI-LP64D: 
"-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/lib64/lp64d"
 // C-RV64-LINUX-MULTI-LP64D: 
"-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib64/lp64d"
 
+// RUN: env "PATH=" %clang -### %s \
+// RUN:   --target=riscv64-mti-linux-gnu \
+// RUN:   --gcc-toolchain=%S/Inputs/multilib_riscv_linux_sdk 2>&1 \
+// RUN:   | FileCheck -check-prefix=MTI-RV64-LINUX-MULTI %s
+
+// MTI-RV64-LINUX-MULTI: 
"--sysroot={{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/../../../../sysroot/../.."
+
 // RUN: env "PATH=" %clang -### %s -fuse-ld=ld \
 // RUN:   --target=riscv64-unknown-elf --rtlib=platform --unwindlib=platform 
--sysroot= \
 // RUN:   -march=rv64imac -mabi=lp64\
diff --git a/llvm/lib/Target/RISCV/RISCVSubtarget.cpp 
b/llvm/lib/Target/RISCV/RISCVSubtarget.cpp
index 7a6026779106e..8f6ab99c27a8d 100644
--- a/llvm/lib/Target/RISCV/RISCVSubtarget.cpp
+++ b/llvm/lib/Target/RISCV/RISCVSubtarget.cpp
@@ -81,11 +81,10 @@ RISCVSubtarget::initializeSubtargetDependencies(const 
Triple &TT, StringRef CPU,
   bool Is64Bit = TT.isArch64Bit();
   if (CPU.empty() || CPU == "generic") {
     if (Is64Bit) {
-      if (TT.getVendor() == llvm::Triple::MipsTechnologies) {
+      if (TT.getVendor() == llvm::Triple::MipsTechnologies)
         CPU = "mips-p8700";
-      } else {
+      else
         CPU = "generic-rv64";
-      }
     } else {
       CPU = "generic-rv32";
     }

>From eb876127288ad68f70f5109862a21d08ff92eb25 Mon Sep 17 00:00:00 2001
From: Djordje Todorovic <djordje.todoro...@htecgroup.com>
Date: Mon, 7 Apr 2025 13:35:09 +0200
Subject: [PATCH 5/5] followup: fix format

---
 clang/lib/Driver/ToolChains/Gnu.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp 
b/clang/lib/Driver/ToolChains/Gnu.cpp
index 9b38d1cfb6ce3..bcb0518896788 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -402,8 +402,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, 
const JobAction &JA,
     CmdArgs.push_back(Arch == llvm::Triple::aarch64_be ? "-EB" : "-EL");
   }
 
-  if (Triple.isRISCV() &&
-      Triple.getVendor() == llvm::Triple::MipsTechnologies)
+  if (Triple.isRISCV() && Triple.getVendor() == llvm::Triple::MipsTechnologies)
     CmdArgs.push_back("-EL");
 
   // Most Android ARM64 targets should enable the linker fix for erratum

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to