1//===-- OpenMPTypeInterfaces.td - OpenMP type interfaces ---*- tablegen -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8 9#ifndef OPENMP_TYPE_INTERFACES 10#define OPENMP_TYPE_INTERFACES 11 12include "mlir/IR/OpBase.td" 13 14def OpenMP_PointerLikeTypeInterface : TypeInterface<"PointerLikeType"> { 15 let cppNamespace = "::mlir::omp"; 16 17 let description = [{ 18 An interface for pointer-like types suitable to contain a value that OpenMP 19 specification refers to as variable. 20 }]; 21 22 let methods = [ 23 InterfaceMethod< 24 /*description=*/"Returns the pointee type.", 25 /*retTy=*/"::mlir::Type", 26 /*methodName=*/"getElementType" 27 >, 28 ]; 29} 30 31#endif // OPENMP_TYPE_INTERFACES 32