| //===-- LanguageRegistration.h - Language registration API declarations ---===// | |
| // | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #ifndef LLVM_OFFLOAD_LANGUAGES_KERNEL_INCLUDE_LANGUAGE_REGISTRATION_H | |
| #define LLVM_OFFLOAD_LANGUAGES_KERNEL_INCLUDE_LANGUAGE_REGISTRATION_H | |
| #include "OffloadAPI.h" | |
| #include "Types.h" | |
| #include <cstdint> | |
| #include <iterator> | |
| /// Hidden, but exported, Registration API | |
| ///{ | |
| extern "C" { | |
| void __llvmRegisterFunction(const char *Binary, const char *KernelID, | |
| char *KernelName, const char *KernelName1, int, | |
| uint3 *, uint3 *, dim3 *, dim3 *, int *); | |
| void __llvmRegisterVar(void **, char *, char *, const char *, int, int, int, | |
| int); | |
| void __llvmRegisterManagedVar(void **, char *, char *, const char *, size_t, | |
| unsigned); | |
| void __llvmRegisterSurface(void **, const struct surfaceReference *, | |
| const void **, const char *, int, int); | |
| void __llvmRegisterTexture(void **, const struct textureReference *, | |
| const void **, const char *, int, int, int); | |
| struct __tgt_bin_desc; | |
| void __tgt_register_lib(__tgt_bin_desc *Desc); | |
| void __tgt_unregister_lib(__tgt_bin_desc *Desc); | |
| } | |
| ///} | |
| #endif // LLVM_OFFLOAD_LANGUAGES_KERNEL_INCLUDE_LANGUAGE_REGISTRATION_H |