[clang] eb48aac - [Clang] Automatically link the `compiler-rt` for GPUs if present (#109152)

via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 25 12:58:14 PDT 2024


Author: Joseph Huber
Date: 2024-09-25T12:58:10-07:00
New Revision: eb48aac7d40ee9cd3072c466d7ab17facb58570f

URL: https://github.com/llvm/llvm-project/commit/eb48aac7d40ee9cd3072c466d7ab17facb58570f
DIFF: https://github.com/llvm/llvm-project/commit/eb48aac7d40ee9cd3072c466d7ab17facb58570f.diff

LOG: [Clang] Automatically link the `compiler-rt` for GPUs if present (#109152)

Summary:
This automically links `copmiler-rt` for offloading languages if it
exists in the resource directory.

Added: 
    

Modified: 
    clang/lib/Driver/ToolChains/Clang.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 0bab48caf1a5e2..a883ba2a25412e 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -9242,6 +9242,12 @@ void LinkerWrapper::ConstructJob(Compilation &C, const JobAction &JA,
         CmdArgs.push_back(Args.MakeArgString(
             "--device-linker=" + TC.getTripleString() + "=" + "-lm"));
       }
+      auto HasCompilerRT = getToolChain().getVFS().exists(
+          TC.getCompilerRT(Args, "builtins", ToolChain::FT_Static));
+      if (HasCompilerRT)
+        CmdArgs.push_back(
+            Args.MakeArgString("--device-linker=" + TC.getTripleString() + "=" +
+                               "-lclang_rt.builtins"));
     });
   }
 


        


More information about the cfe-commits mailing list