[llvm] c6ba7b3 - [Triple] Make mipsel-*-windows-* use COFF files by default (#107809)

via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 14 19:49:21 PDT 2024


Author: hpoussin
Date: 2024-10-15T10:49:17+08:00
New Revision: c6ba7b38db4aa652ffb58928d079769e19522965

URL: https://github.com/llvm/llvm-project/commit/c6ba7b38db4aa652ffb58928d079769e19522965
DIFF: https://github.com/llvm/llvm-project/commit/c6ba7b38db4aa652ffb58928d079769e19522965.diff

LOG: [Triple] Make mipsel-*-windows-* use COFF files by default (#107809)

Windows NT/MIPS and Windows CE/MIPS always used COFF format.

This is an extract of PR #107744.

Added: 
    

Modified: 
    llvm/lib/TargetParser/Triple.cpp
    llvm/unittests/TargetParser/TripleTest.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp
index f07eb8fafc7373..b271f29d265cfe 100644
--- a/llvm/lib/TargetParser/Triple.cpp
+++ b/llvm/lib/TargetParser/Triple.cpp
@@ -925,7 +925,6 @@ static Triple::ObjectFormatType getDefaultFormat(const Triple &T) {
   case Triple::mips64:
   case Triple::mips64el:
   case Triple::mips:
-  case Triple::mipsel:
   case Triple::msp430:
   case Triple::nvptx64:
   case Triple::nvptx:
@@ -950,6 +949,11 @@ static Triple::ObjectFormatType getDefaultFormat(const Triple &T) {
   case Triple::xtensa:
     return Triple::ELF;
 
+  case Triple::mipsel:
+    if (T.isOSWindows())
+      return Triple::COFF;
+    return Triple::ELF;
+
   case Triple::ppc64:
   case Triple::ppc:
     if (T.isOSAIX())

diff  --git a/llvm/unittests/TargetParser/TripleTest.cpp b/llvm/unittests/TargetParser/TripleTest.cpp
index df40bb2292cc9e..cb2fa95d431c66 100644
--- a/llvm/unittests/TargetParser/TripleTest.cpp
+++ b/llvm/unittests/TargetParser/TripleTest.cpp
@@ -2468,6 +2468,10 @@ TEST(TripleTest, NormalizeWindows) {
             Triple::normalize("i686-pc-windows-elf-elf"));
 
   EXPECT_TRUE(Triple("x86_64-pc-win32").isWindowsMSVCEnvironment());
+
+  EXPECT_TRUE(Triple(Triple::normalize("mipsel-windows-msvccoff")).isOSBinFormatCOFF());
+  EXPECT_TRUE(Triple(Triple::normalize("mipsel-windows-msvc")).isOSBinFormatCOFF());
+  EXPECT_TRUE(Triple(Triple::normalize("mipsel-windows-gnu")).isOSBinFormatCOFF());
 }
 
 TEST(TripleTest, NormalizeAndroid) {


        


More information about the llvm-commits mailing list