#ifndef LLVM_OpenACC_INC
#define LLVM_OpenACC_INC
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitmaskEnum.h"
#include "llvm/Support/Compiler.h"
#include <cstddef>
namespace llvm {
class StringRef;
namespace acc {
LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE(…);
enum class Association { … };
static constexpr std::size_t Association_enumSize = …;
enum class Category { … };
static constexpr std::size_t Category_enumSize = …;
enum class Directive { … };
static constexpr std::size_t Directive_enumSize = …;
constexpr auto ACCD_atomic = …;
constexpr auto ACCD_cache = …;
constexpr auto ACCD_data = …;
constexpr auto ACCD_declare = …;
constexpr auto ACCD_enter_data = …;
constexpr auto ACCD_exit_data = …;
constexpr auto ACCD_host_data = …;
constexpr auto ACCD_init = …;
constexpr auto ACCD_kernels = …;
constexpr auto ACCD_kernels_loop = …;
constexpr auto ACCD_loop = …;
constexpr auto ACCD_parallel = …;
constexpr auto ACCD_parallel_loop = …;
constexpr auto ACCD_routine = …;
constexpr auto ACCD_serial = …;
constexpr auto ACCD_serial_loop = …;
constexpr auto ACCD_set = …;
constexpr auto ACCD_shutdown = …;
constexpr auto ACCD_unknown = …;
constexpr auto ACCD_update = …;
constexpr auto ACCD_wait = …;
enum class Clause { … };
static constexpr std::size_t Clause_enumSize = …;
constexpr auto ACCC_async = …;
constexpr auto ACCC_attach = …;
constexpr auto ACCC_auto = …;
constexpr auto ACCC_bind = …;
constexpr auto ACCC_capture = …;
constexpr auto ACCC_collapse = …;
constexpr auto ACCC_copy = …;
constexpr auto ACCC_copyin = …;
constexpr auto ACCC_copyout = …;
constexpr auto ACCC_create = …;
constexpr auto ACCC_default = …;
constexpr auto ACCC_default_async = …;
constexpr auto ACCC_delete = …;
constexpr auto ACCC_detach = …;
constexpr auto ACCC_device = …;
constexpr auto ACCC_device_num = …;
constexpr auto ACCC_deviceptr = …;
constexpr auto ACCC_device_resident = …;
constexpr auto ACCC_device_type = …;
constexpr auto ACCC_finalize = …;
constexpr auto ACCC_firstprivate = …;
constexpr auto ACCC_gang = …;
constexpr auto ACCC_host = …;
constexpr auto ACCC_if = …;
constexpr auto ACCC_if_present = …;
constexpr auto ACCC_independent = …;
constexpr auto ACCC_link = …;
constexpr auto ACCC_no_create = …;
constexpr auto ACCC_nohost = …;
constexpr auto ACCC_num_gangs = …;
constexpr auto ACCC_num_workers = …;
constexpr auto ACCC_present = …;
constexpr auto ACCC_private = …;
constexpr auto ACCC_read = …;
constexpr auto ACCC_reduction = …;
constexpr auto ACCC_self = …;
constexpr auto ACCC_seq = …;
constexpr auto ACCC_shortloop = …;
constexpr auto ACCC_tile = …;
constexpr auto ACCC_unknown = …;
constexpr auto ACCC_use_device = …;
constexpr auto ACCC_vector = …;
constexpr auto ACCC_vector_length = …;
constexpr auto ACCC_wait = …;
constexpr auto ACCC_worker = …;
constexpr auto ACCC_write = …;
enum class DefaultValue { … };
constexpr auto ACC_Default_present = …;
constexpr auto ACC_Default_none = …;
LLVM_ABI Directive getOpenACCDirectiveKind(llvm::StringRef Str);
LLVM_ABI llvm::StringRef getOpenACCDirectiveName(Directive D);
LLVM_ABI Clause getOpenACCClauseKind(llvm::StringRef Str);
LLVM_ABI llvm::StringRef getOpenACCClauseName(Clause C);
LLVM_ABI bool isAllowedClauseForDirective(Directive D, Clause C, unsigned Version);
constexpr std::size_t getMaxLeafCount() { … }
LLVM_ABI Association getDirectiveAssociation(Directive D);
LLVM_ABI Category getDirectiveCategory(Directive D);
LLVM_ABI DefaultValue getDefaultValue(StringRef);
LLVM_ABI llvm::StringRef getOpenACCDefaultValueName(DefaultValue);
}
}
#endif