blob: 7570ce76de5460977345c47529a89ff74abdba40 [file] [edit]
//===-- 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