llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libc

Author: None (llvmbot)

<details>
<summary>Changes</summary>

Backport e07a1182fd58a5b48a2c78bc3ae03872186d4ae0

Requested by: @<!-- -->jhuber6

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


3 Files Affected:

- (modified) libc/cmake/modules/prepare_libc_gpu_build.cmake (+2-2) 
- (modified) libc/docs/gpu/building.rst (+6-34) 
- (modified) libc/startup/gpu/CMakeLists.txt (+1) 


``````````diff
diff --git a/libc/cmake/modules/prepare_libc_gpu_build.cmake 
b/libc/cmake/modules/prepare_libc_gpu_build.cmake
index 4d12a5917a56f..55cd0242eedeb 100644
--- a/libc/cmake/modules/prepare_libc_gpu_build.cmake
+++ b/libc/cmake/modules/prepare_libc_gpu_build.cmake
@@ -17,8 +17,8 @@ if(NOT LLVM_LIBC_FULL_BUILD)
 endif()
 
 # Set the required flags globally so standard CMake utilities can compile.
-if(LIBC_TARGET_TRIPLE)
-  set(CMAKE_REQUIRED_FLAGS "--target=${LIBC_TARGET_TRIPLE}")
+if(NOT CMAKE_CXX_COMPILER_TARGET)
+  set(CMAKE_REQUIRED_FLAGS "${LIBC_COMPILE_OPTIONS_DEFAULT}")
 endif()
 
 # Optionally set up a job pool to limit the number of GPU tests run in 
parallel.
diff --git a/libc/docs/gpu/building.rst b/libc/docs/gpu/building.rst
index 9f9528b30d9bf..a7791331423dc 100644
--- a/libc/docs/gpu/building.rst
+++ b/libc/docs/gpu/building.rst
@@ -100,12 +100,12 @@ targeting a GPU architecture.
   $> TARGET_C_COMPILER=</path/to/clang>
   $> TARGET_CXX_COMPILER=</path/to/clang++>
   $> cmake ../runtimes \ # Point to the runtimes build
-     -G Ninja                                  \
-     -DLLVM_ENABLE_RUNTIMES=libc               \
-     -DCMAKE_C_COMPILER=$TARGET_C_COMPILER     \
-     -DCMAKE_CXX_COMPILER=$TARGET_CXX_COMPILER \
-     -DLLVM_LIBC_FULL_BUILD=ON                 \
-     -DLLVM_RUNTIMES_TARGET=$TARGET_TRIPLE     \
+     -G Ninja                                    \
+     -DLLVM_ENABLE_RUNTIMES=libc                 \
+     -DCMAKE_C_COMPILER=$TARGET_C_COMPILER       \
+     -DCMAKE_CXX_COMPILER=$TARGET_CXX_COMPILER   \
+     -DLLVM_LIBC_FULL_BUILD=ON                   \
+     -DLLVM_DEFAULT_TARGET_TRIPLE=$TARGET_TRIPLE \
      -DCMAKE_BUILD_TYPE=Release
   $> ninja install
 
@@ -113,34 +113,6 @@ The above steps will result in a build targeting one of 
the supported GPU
 architectures. Building for multiple targets requires separate CMake
 invocations.
 
-Standalone cross build
-----------------------
-
-The GPU build can also be targeted directly as long as the compiler used is a
-supported ``clang`` compiler. This method is generally not recommended as it 
can
-only target a single GPU architecture.
-
-.. code-block:: sh
-
-  $> cd llvm-project  # The llvm-project checkout
-  $> mkdir build # A different build directory for the build tools
-  $> cd build
-  $> CLANG_C_COMPILER=</path/to/clang> # Must be a trunk build
-  $> CLANG_CXX_COMPILER=</path/to/clang++> # Must be a trunk build
-  $> TARGET_TRIPLE=<amdgcn-amd-amdhsa or nvptx64-nvidia-cuda>
-  $> cmake ../llvm \ # Point to the llvm directory
-     -G Ninja                                 \
-     -DLLVM_ENABLE_PROJECTS=libc              \
-     -DCMAKE_C_COMPILER=$CLANG_C_COMPILER     \
-     -DCMAKE_CXX_COMPILER=$CLANG_CXX_COMPILER \
-     -DLLVM_LIBC_FULL_BUILD=ON                \
-     -DLIBC_TARGET_TRIPLE=$TARGET_TRIPLE      \
-     -DCMAKE_BUILD_TYPE=Release
-  $> ninja install
-
-This will build and install the GPU C library along with all the other LLVM
-libraries.
-
 Build overview
 ==============
 
diff --git a/libc/startup/gpu/CMakeLists.txt b/libc/startup/gpu/CMakeLists.txt
index fa326ef46a9d1..63e2a6c5dee1a 100644
--- a/libc/startup/gpu/CMakeLists.txt
+++ b/libc/startup/gpu/CMakeLists.txt
@@ -34,6 +34,7 @@ function(add_startup_object name)
       RUNTIME_OUTPUT_DIRECTORY ${LIBC_LIBRARY_DIR}
       RUNTIME_OUTPUT_NAME ${name}.o)
     target_link_options(${fq_target_name}.exe PRIVATE
+                        ${LIBC_COMPILE_OPTIONS_DEFAULT}
                         "-r" "-nostdlib" "-flto" "-Wl,--lto-emit-llvm")
   endif()
 endfunction()

``````````

</details>


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

Reply via email to