llvm-project/clang/lib
Yaxun (Sam) Liu 04fb81674e [CUDA][HIP] Externalize kernels with internal linkage
This patch is a continuation of https://reviews.llvm.org/D123353.

Not only kernels in anonymous namespace, but also template
kernels with template arguments in anonymous namespace
need to be externalized.

To be more generic, this patch checks the linkage of a kernel
assuming the kernel does not have __global__ attribute. If
the linkage is internal then clang will externalize it.

This patch also fixes the postfix for externalized symbol
since nvptx does not allow '.' in symbol name.

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D124189

Fixes: https://github.com/llvm/llvm-project/issues/54560
2022-04-22 17:05:36 -04:00
..
APINotes [clang][APINotes] Fix -Wunused-function warning (NFC) 2021-04-01 09:52:43 +08:00
ARCMigrate [clang] Use true/false instead of 1/0 (NFC) 2022-01-09 00:19:47 -08:00
AST [CUDA][HIP] Externalize kernels with internal linkage 2022-04-22 17:05:36 -04:00
ASTMatchers Reland "[ASTMatchers] Output currently matching node on crash" 2022-04-05 21:47:16 +01:00
Analysis Treat `std::move`, `forward`, etc. as builtins. 2022-04-20 17:58:31 -07:00
Basic [Clang] Fix the guaranteed alignment of memory returned by malloc/new on OpenBSD 2022-04-22 02:03:55 -04:00
CodeGen [CUDA][HIP] Externalize kernels with internal linkage 2022-04-22 17:05:36 -04:00
CrossTU [analyzer][ctu] Only import const and trivial VarDecls 2022-04-01 13:49:39 +02:00
DirectoryWatcher [clang] [DirectoryWatcher] Remove leading \\?\ from GetFinalPathNameByHandleW 2021-11-08 22:21:30 +02:00
Driver [C++20][Modules][Driver][HU 2/N] Add fmodule-header, fmodule-header= 2022-04-22 14:14:19 +01:00
Edit [clang] Use true/false instead of 1/0 (NFC) 2022-01-09 00:19:47 -08:00
ExtractAPI [clang][extract-api] Add support for true anonymous enums 2022-04-12 20:42:17 +01:00
Format [clang-format][NFC] Use isComment() in setCommentLineLevels() 2022-04-22 09:21:28 -07:00
Frontend Revert "Revert "Revert "[clang][pp] adds '#pragma include_instead'""" 2022-04-22 16:37:20 +00:00
FrontendTool [C++20][Modules][HU 1/5] Introduce header units as a module type. 2022-03-25 09:17:14 +00:00
Headers [x86] Support 3 builtin functions for 32-bits mode 2022-04-22 11:28:28 +08:00
Index [clang] Reformat 2022-03-24 05:56:23 -07:00
IndexSerialization
Interpreter [clang-repl] Add an accessor to our underlying execution engine 2022-03-11 09:24:47 +00:00
Lex Revert "Revert "Revert "[clang][pp] adds '#pragma include_instead'""" 2022-04-22 16:37:20 +00:00
Parse Revert D119136 "[clang] Implement Change scope of lambda trailing-return-type" and its follow-up 2022-04-20 10:57:12 -07:00
Rewrite Add assert on End iteration distance to Rewriter::getRewrittenText. 2022-01-25 17:26:13 +00:00
Sema [AST] QualifiedTemplateName::getTemplateDecl cleanup. 2022-04-22 14:28:48 +02:00
Serialization Reland [Frontend] avoid copy of PCH data when PrecompiledPreamble stores it in memory 2022-04-21 21:15:39 +02:00
StaticAnalyzer [clang] Add a raw_ostream operator<< overload for QualType 2022-04-20 22:09:05 +01:00
Support [RISCV] Moving RVV intrinsic type related util to clang/Support 2022-04-20 21:13:13 +08:00
Testing [Testing] Fix the shared build. NFC. 2022-04-22 02:46:54 -04:00
Tooling [clang-format] SortIncludes should support "@import" lines in Objective-C 2022-04-20 07:03:35 +00:00
CMakeLists.txt [RISCV] Moving RVV intrinsic type related util to clang/Support 2022-04-20 21:13:13 +08:00