[clang] [clang] [MinGW] Handle linking ARM64EC code (PR #78912)

2024-01-31 Thread Martin Storsjö via cfe-commits

https://github.com/mstorsjo closed 
https://github.com/llvm/llvm-project/pull/78912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] [MinGW] Handle linking ARM64EC code (PR #78912)

2024-01-31 Thread Martin Storsjö via cfe-commits

https://github.com/mstorsjo approved this pull request.

LGTM, thanks for adding the test!

https://github.com/llvm/llvm-project/pull/78912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] [MinGW] Handle linking ARM64EC code (PR #78912)

2024-01-30 Thread Billy Laws via cfe-commits

bylaws wrote:

> Code wise, this seems good, but I think we'd like to have a testcase for it.

Added a test

https://github.com/llvm/llvm-project/pull/78912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] [MinGW] Handle linking ARM64EC code (PR #78912)

2024-01-30 Thread Billy Laws via cfe-commits

https://github.com/bylaws updated 
https://github.com/llvm/llvm-project/pull/78912

>From 2593e41ef9a4f0d40908e6e25c1d9d7aeddc4f43 Mon Sep 17 00:00:00 2001
From: Billy Laws 
Date: Wed, 18 Oct 2023 21:23:38 +0100
Subject: [PATCH] [clang] [MinGW] Handle linking ARM64EC code

---
 clang/lib/Driver/ToolChains/MinGW.cpp | 5 -
 clang/test/Driver/mingw.cpp   | 4 
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Driver/ToolChains/MinGW.cpp 
b/clang/lib/Driver/ToolChains/MinGW.cpp
index 18fc9d4b6807e..fded966484dfe 100644
--- a/clang/lib/Driver/ToolChains/MinGW.cpp
+++ b/clang/lib/Driver/ToolChains/MinGW.cpp
@@ -132,7 +132,10 @@ void tools::MinGW::Linker::ConstructJob(Compilation , 
const JobAction ,
 CmdArgs.push_back("thumb2pe");
 break;
   case llvm::Triple::aarch64:
-CmdArgs.push_back("arm64pe");
+if (TC.getEffectiveTriple().isWindowsArm64EC())
+  CmdArgs.push_back("arm64ecpe");
+else
+  CmdArgs.push_back("arm64pe");
 break;
   default:
 D.Diag(diag::err_target_unknown_triple) << TC.getEffectiveTriple().str();
diff --git a/clang/test/Driver/mingw.cpp b/clang/test/Driver/mingw.cpp
index bb22a0652b486..e42ff4554e452 100644
--- a/clang/test/Driver/mingw.cpp
+++ b/clang/test/Driver/mingw.cpp
@@ -80,3 +80,7 @@
 
 // RUN: %clang -target i686-windows-gnu -### %s 2>&1 | FileCheck 
-check-prefix=CHECK_NO_INIT_ARRAY %s
 // CHECK_NO_INIT_ARRAY: "-fno-use-init-array"
+
+// RUN: %clang -target arm64ec-windows-gnu -### -o /dev/null %s 2>&1 \
+// RUN:   | FileCheck %s --check-prefix CHECK_MINGW_EC_LINK
+// CHECK_MINGW_EC_LINK: "-m" "arm64ecpe"

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


[clang] [clang] [MinGW] Handle linking ARM64EC code (PR #78912)

2024-01-30 Thread Martin Storsjö via cfe-commits

https://github.com/mstorsjo commented:

Code wise, this seems good, but I think we'd like to have a testcase for it.

https://github.com/llvm/llvm-project/pull/78912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] [MinGW] Handle linking ARM64EC code (PR #78912)

2024-01-21 Thread via cfe-commits

llvmbot wrote:




@llvm/pr-subscribers-clang-driver

Author: Billy Laws (bylaws)


Changes

Depends on #78911.

CC: @cjacek

---
Full diff: https://github.com/llvm/llvm-project/pull/78912.diff


1 Files Affected:

- (modified) clang/lib/Driver/ToolChains/MinGW.cpp (+4-1) 


``diff
diff --git a/clang/lib/Driver/ToolChains/MinGW.cpp 
b/clang/lib/Driver/ToolChains/MinGW.cpp
index 18fc9d4b6807e38..fded966484dfed8 100644
--- a/clang/lib/Driver/ToolChains/MinGW.cpp
+++ b/clang/lib/Driver/ToolChains/MinGW.cpp
@@ -132,7 +132,10 @@ void tools::MinGW::Linker::ConstructJob(Compilation , 
const JobAction ,
 CmdArgs.push_back("thumb2pe");
 break;
   case llvm::Triple::aarch64:
-CmdArgs.push_back("arm64pe");
+if (TC.getEffectiveTriple().isWindowsArm64EC())
+  CmdArgs.push_back("arm64ecpe");
+else
+  CmdArgs.push_back("arm64pe");
 break;
   default:
 D.Diag(diag::err_target_unknown_triple) << TC.getEffectiveTriple().str();

``




https://github.com/llvm/llvm-project/pull/78912
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] [MinGW] Handle linking ARM64EC code (PR #78912)

2024-01-21 Thread Billy Laws via cfe-commits

https://github.com/bylaws created 
https://github.com/llvm/llvm-project/pull/78912

Depends on #78911.

CC: @cjacek

>From 9e72d5c3cd2be7e0967a3f9d7c0d1231e6e97128 Mon Sep 17 00:00:00 2001
From: Billy Laws 
Date: Wed, 18 Oct 2023 21:23:38 +0100
Subject: [PATCH] [clang] [MinGW] Handle linking ARM64EC code

---
 clang/lib/Driver/ToolChains/MinGW.cpp | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Driver/ToolChains/MinGW.cpp 
b/clang/lib/Driver/ToolChains/MinGW.cpp
index 18fc9d4b6807e3..fded966484dfed 100644
--- a/clang/lib/Driver/ToolChains/MinGW.cpp
+++ b/clang/lib/Driver/ToolChains/MinGW.cpp
@@ -132,7 +132,10 @@ void tools::MinGW::Linker::ConstructJob(Compilation , 
const JobAction ,
 CmdArgs.push_back("thumb2pe");
 break;
   case llvm::Triple::aarch64:
-CmdArgs.push_back("arm64pe");
+if (TC.getEffectiveTriple().isWindowsArm64EC())
+  CmdArgs.push_back("arm64ecpe");
+else
+  CmdArgs.push_back("arm64pe");
 break;
   default:
 D.Diag(diag::err_target_unknown_triple) << TC.getEffectiveTriple().str();

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