[flang-commits] [flang] [llvm] [mlir] [Flang][OpenMP] Implement device clause lowering for target directive (PR #173509)

via flang-commits flang-commits at lists.llvm.org
Wed Dec 24 12:54:45 PST 2025


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 63080 tests passed
* 1599 tests skipped

All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.

<details>
<summary>[code=1] unittests/Frontend/CMakeFiles/LLVMFrontendTests.dir/OpenMPIRBuilderTest.cpp.obj</summary>

```
FAILED: [code=1] unittests/Frontend/CMakeFiles/LLVMFrontendTests.dir/OpenMPIRBuilderTest.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Iunittests\Frontend -IC:\_work\llvm-project\llvm-project\llvm\unittests\Frontend -Iinclude -IC:\_work\llvm-project\llvm-project\llvm\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googletest\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googlemock\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -MD  -Wno-gnu-zero-variadic-macro-arguments /EHs-c- /GR- -UNDEBUG -Wno-suggest-override -std:c++17 /showIncludes /Founittests\Frontend\CMakeFiles\LLVMFrontendTests.dir\OpenMPIRBuilderTest.cpp.obj /Fdunittests\Frontend\CMakeFiles\LLVMFrontendTests.dir\ -c -- C:\_work\llvm-project\llvm-project\llvm\unittests\Frontend\OpenMPIRBuilderTest.cpp
C:\_work\llvm-project\llvm-project\llvm\unittests\Frontend\OpenMPIRBuilderTest.cpp(6508,55): error: no viable conversion from 'TargetRegionEntryInfo' to 'Value *'
6508 |                               Builder.saveIP(), Info, EntryInfo, DefaultAttrs,
|                                                       ^~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Frontend/OpenMP/OMPIRBuilder.h(3344,14): note: passing argument to parameter 'DeviceID' here
3344 |       Value *DeviceID, TargetRegionEntryInfo &EntryInfo,
|              ^
C:\_work\llvm-project\llvm-project\llvm\unittests\Frontend\OpenMPIRBuilderTest.cpp(6682,37): error: no viable conversion from 'TargetRegionEntryInfo' to 'Value *'
6682 |                               Info, EntryInfo, DefaultAttrs, RuntimeAttrs,
|                                     ^~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Frontend/OpenMP/OMPIRBuilder.h(3344,14): note: passing argument to parameter 'DeviceID' here
3344 |       Value *DeviceID, TargetRegionEntryInfo &EntryInfo,
|              ^
C:\_work\llvm-project\llvm-project\llvm\unittests\Frontend\OpenMPIRBuilderTest.cpp(6847,49): error: too few arguments to function call, expected at least 16, have 15
6843 |       OMPBuilder.createTarget(OmpLoc, /*IsOffloadEntry=*/true, Builder.saveIP(),
|       ~~~~~~~~~~~~~~~~~~~~~~~
6844 |                               Builder.saveIP(), Info, EntryInfo, DefaultAttrs,
6845 |                               RuntimeAttrs, /*IfCond=*/nullptr, Inputs,
6846 |                               GenMapInfoCB, BodyGenCB, SimpleArgAccessorCB,
6847 |                               CustomMapperCB, {}));
|                                                 ^
C:\_work\llvm-project\llvm-project\llvm\unittests\Frontend\OpenMPIRBuilderTest.cpp(37,30): note: expanded from macro 'ASSERT_EXPECTED_INIT'
37 |   auto __Expected##VarName = Init;                                             \
|                              ^~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Frontend/OpenMP/OMPIRBuilder.h(3340,33): note: 'createTarget' declared here
3340 |   LLVM_ABI InsertPointOrErrorTy createTarget(
|                                 ^
3341 |       const LocationDescription &Loc, bool IsOffloadEntry,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3342 |       OpenMPIRBuilder::InsertPointTy AllocaIP,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3343 |       OpenMPIRBuilder::InsertPointTy CodeGenIP, TargetDataInfo &Info,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3344 |       Value *DeviceID, TargetRegionEntryInfo &EntryInfo,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3345 |       const TargetKernelDefaultAttrs &DefaultAttrs,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3346 |       const TargetKernelRuntimeAttrs &RuntimeAttrs, Value *IfCond,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3347 |       SmallVectorImpl<Value *> &Inputs, GenMapInfoCallbackTy GenMapInfoCB,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3348 |       TargetBodyGenCallbackTy BodyGenCB,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3349 |       TargetGenArgAccessorsCallbackTy ArgAccessorFuncCB,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3350 |       CustomMapperCallbackTy CustomMapperCB,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3351 |       const SmallVector<DependData> &Dependencies, bool HasNowait = false,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3352 |       Value *DynCGroupMem = nullptr,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3353 |       omp::OMPDynGroupprivateFallbackType DynCGroupMemFallback =
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3354 |           omp::OMPDynGroupprivateFallbackType::Abort);
|           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\Frontend\OpenMPIRBuilderTest.cpp(6954,78): error: too few arguments to function call, expected at least 16, have 15
6950 |                        OMPBuilder.createTarget(
|                        ~~~~~~~~~~~~~~~~~~~~~~~
6951 |                            Loc, /*IsOffloadEntry=*/true, EntryIP, EntryIP, Info,
6952 |                            EntryInfo, DefaultAttrs, RuntimeAttrs,
6953 |                            /*IfCond=*/nullptr, CapturedArgs, GenMapInfoCB,
6954 |                            BodyGenCB, SimpleArgAccessorCB, CustomMapperCB, {}));
|                                                                              ^
C:\_work\llvm-project\llvm-project\llvm\unittests\Frontend\OpenMPIRBuilderTest.cpp(37,30): note: expanded from macro 'ASSERT_EXPECTED_INIT'
37 |   auto __Expected##VarName = Init;                                             \
|                              ^~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Frontend/OpenMP/OMPIRBuilder.h(3340,33): note: 'createTarget' declared here
3340 |   LLVM_ABI InsertPointOrErrorTy createTarget(
|                                 ^
3341 |       const LocationDescription &Loc, bool IsOffloadEntry,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3342 |       OpenMPIRBuilder::InsertPointTy AllocaIP,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3343 |       OpenMPIRBuilder::InsertPointTy CodeGenIP, TargetDataInfo &Info,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3344 |       Value *DeviceID, TargetRegionEntryInfo &EntryInfo,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3345 |       const TargetKernelDefaultAttrs &DefaultAttrs,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3346 |       const TargetKernelRuntimeAttrs &RuntimeAttrs, Value *IfCond,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3347 |       SmallVectorImpl<Value *> &Inputs, GenMapInfoCallbackTy GenMapInfoCB,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3348 |       TargetBodyGenCallbackTy BodyGenCB,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3349 |       TargetGenArgAccessorsCallbackTy ArgAccessorFuncCB,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3350 |       CustomMapperCallbackTy CustomMapperCB,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3351 |       const SmallVector<DependData> &Dependencies, bool HasNowait = false,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3352 |       Value *DynCGroupMem = nullptr,
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3353 |       omp::OMPDynGroupprivateFallbackType DynCGroupMemFallback =
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3354 |           omp::OMPDynGroupprivateFallbackType::Abort);
|           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\Frontend\OpenMPIRBuilderTest.cpp(7076,37): error: no viable conversion from 'TargetRegionEntryInfo' to 'Value *'
7076 |                               Info, EntryInfo, DefaultAttrs, RuntimeAttrs,
|                                     ^~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Frontend/OpenMP/OMPIRBuilder.h(3344,14): note: passing argument to parameter 'DeviceID' here
3344 |       Value *DeviceID, TargetRegionEntryInfo &EntryInfo,
|              ^
5 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/173509


More information about the flang-commits mailing list