#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/OpenACC/OpenACC.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/MLIRContext.h"
#include "mlir/IR/OwningOpRef.h"
#include "gtest/gtest.h"
usingnamespacemlir;
usingnamespacemlir::acc;
class OpenACCOpsTest : public ::testing::Test { … };
template <typename Op>
void testAsyncOnly(OpBuilder &b, MLIRContext &context, Location loc,
llvm::SmallVector<DeviceType> &dtypes) { … }
TEST_F(OpenACCOpsTest, asyncOnlyTest) { … }
template <typename Op>
void testAsyncValue(OpBuilder &b, MLIRContext &context, Location loc,
llvm::SmallVector<DeviceType> &dtypes) { … }
TEST_F(OpenACCOpsTest, asyncValueTest) { … }
template <typename Op>
void testNumGangsValues(OpBuilder &b, MLIRContext &context, Location loc,
llvm::SmallVector<DeviceType> &dtypes,
llvm::SmallVector<DeviceType> &dtypesWithoutNone) { … }
TEST_F(OpenACCOpsTest, numGangsValuesTest) { … }
template <typename Op>
void testVectorLength(OpBuilder &b, MLIRContext &context, Location loc,
llvm::SmallVector<DeviceType> &dtypes) { … }
TEST_F(OpenACCOpsTest, vectorLengthTest) { … }
template <typename Op>
void testWaitOnly(OpBuilder &b, MLIRContext &context, Location loc,
llvm::SmallVector<DeviceType> &dtypes,
llvm::SmallVector<DeviceType> &dtypesWithoutNone) { … }
TEST_F(OpenACCOpsTest, waitOnlyTest) { … }
template <typename Op>
void testWaitValues(OpBuilder &b, MLIRContext &context, Location loc,
llvm::SmallVector<DeviceType> &dtypes,
llvm::SmallVector<DeviceType> &dtypesWithoutNone) { … }
TEST_F(OpenACCOpsTest, waitValuesTest) { … }
TEST_F(OpenACCOpsTest, loopOpGangVectorWorkerTest) { … }
TEST_F(OpenACCOpsTest, routineOpTest) { … }