diff --git a/flang/CMakeLists.txt b/flang/CMakeLists.txt index fb7ab4759ad37..2e27bc2279ac4 100644 --- a/flang/CMakeLists.txt +++ b/flang/CMakeLists.txt @@ -475,7 +475,6 @@ option(FLANG_CUF_RUNTIME "Compile CUDA Fortran runtime sources" OFF) if (FLANG_CUF_RUNTIME) find_package(CUDAToolkit REQUIRED) - add_compile_definitions(FLANG_CUDA_SUPPORT=1) endif() add_subdirectory(include) diff --git a/flang/include/flang/Runtime/CUDA/init.h b/flang/include/flang/Runtime/CUDA/init.h index 24bc683822720..d1c8fcbf7d587 100644 --- a/flang/include/flang/Runtime/CUDA/init.h +++ b/flang/include/flang/Runtime/CUDA/init.h @@ -9,7 +9,6 @@ #ifndef FORTRAN_RUNTIME_CUDA_INIT_H_ #define FORTRAN_RUNTIME_CUDA_INIT_H_ -#include "common.h" #include "flang/Runtime/entry-names.h" extern "C" { diff --git a/flang/lib/Optimizer/Builder/Runtime/Main.cpp b/flang/lib/Optimizer/Builder/Runtime/Main.cpp index 5156fd5402077..973744837d378 100644 --- a/flang/lib/Optimizer/Builder/Runtime/Main.cpp +++ b/flang/lib/Optimizer/Builder/Runtime/Main.cpp @@ -14,11 +14,9 @@ #include "flang/Optimizer/Builder/Runtime/RTBuilder.h" #include "flang/Optimizer/Dialect/FIROps.h" #include "flang/Optimizer/Dialect/FIRType.h" +#include "flang/Runtime/CUDA/init.h" #include "flang/Runtime/main.h" #include "flang/Runtime/stop.h" -#ifdef FLANG_CUDA_SUPPORT -#include "flang/Runtime/CUDA/init.h" -#endif using namespace Fortran::runtime; @@ -66,13 +64,11 @@ void fir::runtime::genMain( builder.create(loc, startFn, args); -#ifdef FLANG_CUDA_SUPPORT if (initCuda) { auto initFn = builder.createFunction( loc, RTNAME_STRING(CUFInit), mlir::FunctionType::get(context, {}, {})); builder.create(loc, initFn); } -#endif builder.create(loc, qqMainFn); builder.create(loc, stopFn); diff --git a/flang/test/Lower/CUDA/cuda-init.cuf b/flang/test/Lower/CUDA/cuda-init.cuf new file mode 100644 index 0000000000000..71ec1e3f9df56 --- /dev/null +++ b/flang/test/Lower/CUDA/cuda-init.cuf @@ -0,0 +1,11 @@ +! RUN: bbc -emit-fir -hlfir -fcuda %s -o - | FileCheck %s --check-prefixes=ALL,CUDA +! RUN: bbc -emit-fir -hlfir %s -o - | FileCheck %s --check-prefixes=ALL,NOCUDA + +program test_init + +end + +! ALL-LABEL: func.func @main +! ALL: fir.call @_FortranAProgramStart +! CUDA: fir.call @_FortranACUFInit() fastmath : () -> () +! NOCUDA-NOT: fir.call @_FortranACUFInit() fastmath : () -> ()