Files
clang-p2996/openmp/libomptarget/include/Shared/PluginAPI.inc
Joseph Huber 87b4108211 [Libomptarget][NFC] Remove concept of optional plugin functions (#82681)
Summary:
Ever since the introduction of the new plugins we haven't exercised the
concept of "optional" plugin functions. This is done in perparation for
making the plugins use a static interface as it will greatly simplify
the implementation if we assert that every function has the entrypoints.
Currently some unsupported functions will just return failure or some
other default value, so this shouldn't change anything.
2024-02-22 16:49:21 -06:00

52 lines
1.8 KiB
C++

//===-- Shared/PluginAPI.inc - Target independent plugin API ----*- C++ -*-===//
//
// 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
//
//===----------------------------------------------------------------------===//
//
// This file defines the names of the interface functions between target
// independent offload runtime library and target dependent plugins.
//
//===----------------------------------------------------------------------===//
// No include guards!
PLUGIN_API_HANDLE(init_plugin);
PLUGIN_API_HANDLE(is_valid_binary);
PLUGIN_API_HANDLE(is_data_exchangable);
PLUGIN_API_HANDLE(number_of_devices);
PLUGIN_API_HANDLE(init_device);
PLUGIN_API_HANDLE(load_binary);
PLUGIN_API_HANDLE(get_global);
PLUGIN_API_HANDLE(get_function);
PLUGIN_API_HANDLE(data_alloc);
PLUGIN_API_HANDLE(data_submit);
PLUGIN_API_HANDLE(data_submit_async);
PLUGIN_API_HANDLE(data_retrieve);
PLUGIN_API_HANDLE(data_retrieve_async);
PLUGIN_API_HANDLE(data_exchange);
PLUGIN_API_HANDLE(data_exchange_async);
PLUGIN_API_HANDLE(data_delete);
PLUGIN_API_HANDLE(launch_kernel);
PLUGIN_API_HANDLE(init_requires);
PLUGIN_API_HANDLE(synchronize);
PLUGIN_API_HANDLE(query_async);
PLUGIN_API_HANDLE(set_info_flag);
PLUGIN_API_HANDLE(print_device_info);
PLUGIN_API_HANDLE(create_event);
PLUGIN_API_HANDLE(record_event);
PLUGIN_API_HANDLE(wait_event);
PLUGIN_API_HANDLE(sync_event);
PLUGIN_API_HANDLE(destroy_event);
PLUGIN_API_HANDLE(init_async_info);
PLUGIN_API_HANDLE(init_device_info);
PLUGIN_API_HANDLE(data_lock);
PLUGIN_API_HANDLE(data_unlock);
PLUGIN_API_HANDLE(data_notify_mapped);
PLUGIN_API_HANDLE(data_notify_unmapped);
PLUGIN_API_HANDLE(set_device_offset);
PLUGIN_API_HANDLE(initialize_record_replay);
PLUGIN_API_HANDLE(use_auto_zero_copy);