================
@@ -1,6 +1,7 @@
 set(OffloadArchTestSources
   OffloadArchTest.cpp
   ${CMAKE_CURRENT_SOURCE_DIR}/../../tools/offload-arch/AMDGPUArchByKFD.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../tools/offload-arch/LevelZeroArch.cpp
----------------
KornevNikita wrote:

...although I'm confused, it seems like the logic for llvm is different from 
clang, so I'd like to clarify (starting from the end):

> Also, in llvm/, unittests for tools are in unittests/tools/toolname. We 
> should probably move this to clang/unittests/tools/offload-arch for 
> consistency.

It seems like in clang all tool unittests are stored outside the 
`clang/unittests/tools/` directory (there is no such), e.g. IIUC 
`clang/unittests/Format` for `clang-format`. Should we anyway move 
`offload-arch` to `clang/unittests/tools/offload-arch`?

> Instead of randomly including tool source files in the unittest target, 
> please do the standard thing of adding a tools/foo/lib target with the files 
> you'd like to share and link the lib into the test.

It seems like there is no standard and different tools use different 
approaches. For example llvm-mca does the same: 
https://github.com/llvm/llvm-project/blob/main/llvm/unittests/tools/llvm-mca/CMakeLists.txt#L23
Anyways, is this something like what you suggest?
```
--- a/clang/tools/offload-arch/CMakeLists.txt
+++ b/clang/tools/offload-arch/CMakeLists.txt

-add_clang_tool(offload-arch OffloadArch.cpp NVPTXArch.cpp AMDGPUArchByKFD.cpp
-               AMDGPUArchByHIP.cpp LevelZeroArch.cpp)
+# Shared with the unit tests.
+add_llvm_library(clangOffloadArch
+  STATIC
+  BUILDTREE_ONLY
+  AMDGPUArchByHIP.cpp
+  AMDGPUArchByKFD.cpp
+  LevelZeroArch.cpp
+  PARTIAL_SOURCES_INTENDED
+  )
+
+add_clang_tool(offload-arch
+  PARTIAL_SOURCES_INTENDED
+  OffloadArch.cpp
+  NVPTXArch.cpp
+  )

--- a/clang/unittests/offload-arch/CMakeLists.txt
+++ b/clang/unittests/offload-arch/CMakeLists.txt
-set(OffloadArchTestSources
-  OffloadArchTest.cpp
-  ${CMAKE_CURRENT_SOURCE_DIR}/../../tools/offload-arch/AMDGPUArchByKFD.cpp
-  ${CMAKE_CURRENT_SOURCE_DIR}/../../tools/offload-arch/LevelZeroArch.cpp
-  )
-
-if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
-  list(APPEND OffloadArchTestSources
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../tools/offload-arch/AMDGPUArchByHIP.cpp)
-endif()
-
 add_distinct_clang_unittest(OffloadArchTests
-  ${OffloadArchTestSources}
-  CLANG_LIBS
-    clangBasic
+  OffloadArchTest.cpp
   LINK_LIBS
+    clangOffloadArch
     LLVMTestingSupport
   LLVM_COMPONENTS
     Support
-    TargetParser
```


https://github.com/llvm/llvm-project/pull/222072
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to