llvm/clang/lib
Sameer Sahasrabuddhe d8f99bb6e0 [AMDGPU] replace hostcall module flag with function attribute
The module flag to indicate use of hostcall is insufficient to catch
all cases where hostcall might be in use by a kernel. This is now
replaced by a function attribute that gets propagated to top-level
kernel functions via their respective call-graph.

If the attribute "amdgpu-no-hostcall-ptr" is absent on a kernel, the
default behaviour is to emit kernel metadata indicating that the
kernel uses the hostcall buffer pointer passed as an implicit
argument.

The attribute may be placed explicitly by the user, or inferred by the
AMDGPU attributor by examining the call-graph. The attribute is
inferred only if the function is not being sanitized, and the
implictarg_ptr does not result in a load of any byte in the hostcall
pointer argument.

Reviewed By: jdoerfert, arsenm, kpyzhov

Differential Revision: https://reviews.llvm.org/D119216
2022-02-11 22:51:56 +05:30
..
Analysis [clang][dataflow] Include terminator statements in buildStmtToBasicBlockMap 2022-02-11 11:15:29 +00:00
APINotes
ARCMigrate [clang] Use true/false instead of 1/0 (NFC) 2022-01-09 00:19:47 -08:00
AST [clang][NFC] Standard substitution checking cleanup 2022-02-10 04:44:48 -08:00
ASTMatchers Add isConstinit matcher 2022-01-24 08:35:42 -05:00
Basic [OpenCL] Add support of language builtins for OpenCL C 3.0 2022-02-11 15:53:44 +03:00
CodeGen [AMDGPU] replace hostcall module flag with function attribute 2022-02-11 22:51:56 +05:30
CrossTU Revert "[analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file" 2021-12-16 20:46:51 -05:00
DirectoryWatcher [clang] [DirectoryWatcher] Remove leading \\?\ from GetFinalPathNameByHandleW 2021-11-08 22:21:30 +02:00
Driver Reland "[clang-cl] Support the /JMC flag" 2022-02-10 15:16:17 -08:00
Edit [clang] Use true/false instead of 1/0 (NFC) 2022-01-09 00:19:47 -08:00
Format [clang-format] Avoid multiple calls to FormatToken::getNextNonComment(). NFC. 2022-02-11 15:20:11 +01:00
Frontend [clang] RewriteModernObjC::SynthBlockInitExpr - remove block nullptr check 2022-02-11 15:09:44 +00:00
FrontendTool [clang] Add an extract-api driver option 2022-01-26 11:31:12 -08:00
Headers [OpenCL] Add OpenCL 3.0 atomics to -fdeclare-opencl-builtins 2022-02-11 10:14:14 +00:00
Index [clang] Visit enum base specifiers in libIndex 2021-10-25 13:16:14 +02:00
IndexSerialization
Interpreter [clang] Remove unused forward declarations (NFC) 2022-01-08 11:56:40 -08:00
Lex [C++20] [Modules] Check if modulemap exists to avoid crash in implicit used C++ module 2022-02-11 11:22:50 +08:00
Parse Allow parameter pack expansions and initializer lists in annotate attribute 2022-02-08 13:38:07 -05:00
Rewrite Add assert on End iteration distance to Rewriter::getRewrittenText. 2022-01-25 17:26:13 +00:00
Sema [clang][sema] - remove CodeCompleter nullptr checks 2022-02-11 15:09:44 +00:00
Serialization [NFC] [Modules] Refactor ODR checking for default template argument in 2022-02-10 10:10:10 +08:00
StaticAnalyzer [analyzer] Restrict CallDescription fuzzy builtin matching 2022-02-11 10:45:18 +01:00
Testing
Tooling [NFC] Fix sign-compare warning in GrammarBNF thanks to int promotion 2022-02-09 11:25:58 -08:00
CMakeLists.txt