[clang] [flang] [flang][cuda][driver] Make sure flang does not switch to cc1 (PR #104613)

Valentin Clement バレンタイン クレメン via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 16 09:25:29 PDT 2024


https://github.com/clementval created https://github.com/llvm/llvm-project/pull/104613

Flang is switch to cc1 when we use `-x cuda`. Make sure we can use fc1 with cuda fortran input.

The current pipeline will fail at MLIR level for the moment. 

>From 36e18ae7bfa6fd2647da0b78bf2c332969b1091d Mon Sep 17 00:00:00 2001
From: Valentin Clement <clementval at gmail.com>
Date: Fri, 16 Aug 2024 09:23:29 -0700
Subject: [PATCH] [flang][cuda][driver] Make sure flang does not switch to cc1

---
 clang/lib/Driver/Types.cpp        | 3 +++
 flang/test/Driver/cuda-option.f90 | 7 ++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Driver/Types.cpp b/clang/lib/Driver/Types.cpp
index 2b9b391c19c9fd..3de45b00b4d00f 100644
--- a/clang/lib/Driver/Types.cpp
+++ b/clang/lib/Driver/Types.cpp
@@ -170,6 +170,9 @@ bool types::isAcceptedByFlang(ID Id) {
   case TY_LLVM_IR:
   case TY_LLVM_BC:
     return true;
+  case TY_PP_CUDA:
+  case TY_CUDA:
+    return true;
   }
 }
 
diff --git a/flang/test/Driver/cuda-option.f90 b/flang/test/Driver/cuda-option.f90
index 562f8683b0ff7d..df45081711d8b0 100644
--- a/flang/test/Driver/cuda-option.f90
+++ b/flang/test/Driver/cuda-option.f90
@@ -1,5 +1,6 @@
 ! Test -fcuda option
 ! RUN: %flang_fc1 -cpp -x cuda -fdebug-unparse %s -o - | FileCheck %s
+! RUN: not %flang -cpp -x cuda %s -o - 2>&1 | FileCheck %s --check-prefix=MLIRERROR
 ! RUN: not %flang_fc1 -cpp %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR
 program main
 #if _CUDA
@@ -12,4 +13,8 @@ program main
 ! CHECK: INTEGER :: var = 1
 ! CHECK: INTEGER, DEVICE :: dvar
 
-! ERROR: cuda-option.f90:8:19: error: expected end of statement
+! ERROR: cuda-option.f90:{{.*}}:{{.*}}: error: expected end of statement
+
+! The whole pipeline is not in place yet. It will currently fails at MLIR
+! translation level.
+! MLIRERROR: failed to legalize operation 'cuf.alloc'



More information about the cfe-commits mailing list