]> granicus.if.org Git - clang/commitdiff
[CUDA][HIP] Don't set comdat attribute for CUDA device stub functions.\nDifferential...
authorKonstantin Pyzhov <konstantin.pyzhov@gmail.com>
Mon, 24 Jun 2019 14:40:20 +0000 (14:40 +0000)
committerKonstantin Pyzhov <konstantin.pyzhov@gmail.com>
Mon, 24 Jun 2019 14:40:20 +0000 (14:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364183 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CodeGenModule.cpp

index d0f62beed963a4b4d77f0688120eaa51b770db54..87a1d45abf46e8be542dcbb29cbf00ceaeb08383 100644 (file)
@@ -3712,6 +3712,11 @@ static bool shouldBeInCOMDAT(CodeGenModule &CGM, const Decl &D) {
   if (!CGM.supportsCOMDAT())
     return false;
 
+  // Do not set COMDAT attribute for CUDA/HIP stub functions to prevent
+  // them being "merged" by the COMDAT Folding linker optimization.
+  if (D.hasAttr<CUDAGlobalAttr>())
+    return false;
+
   if (D.hasAttr<SelectAnyAttr>())
     return true;