1*700637cbSDimitry Andric //===----------------------------------------------------------------------===// 2*700637cbSDimitry Andric // 3*700637cbSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*700637cbSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*700637cbSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*700637cbSDimitry Andric // 7*700637cbSDimitry Andric //===----------------------------------------------------------------------===// 8*700637cbSDimitry Andric // 9*700637cbSDimitry Andric // Registration for OpenACC extensions as applied to CIR dialect. 10*700637cbSDimitry Andric // 11*700637cbSDimitry Andric //===----------------------------------------------------------------------===// 12*700637cbSDimitry Andric 13*700637cbSDimitry Andric #include "clang/CIR/Dialect/OpenACC/RegisterOpenACCExtensions.h" 14*700637cbSDimitry Andric #include "clang/CIR/Dialect/IR/CIRDialect.h" 15*700637cbSDimitry Andric #include "clang/CIR/Dialect/IR/CIRTypes.h" 16*700637cbSDimitry Andric #include "clang/CIR/Dialect/OpenACC/CIROpenACCTypeInterfaces.h" 17*700637cbSDimitry Andric 18*700637cbSDimitry Andric namespace cir::acc { 19*700637cbSDimitry Andric registerOpenACCExtensions(mlir::DialectRegistry & registry)20*700637cbSDimitry Andricvoid registerOpenACCExtensions(mlir::DialectRegistry ®istry) { 21*700637cbSDimitry Andric registry.addExtension(+[](mlir::MLIRContext *ctx, cir::CIRDialect *dialect) { 22*700637cbSDimitry Andric cir::PointerType::attachInterface< 23*700637cbSDimitry Andric OpenACCPointerLikeModel<cir::PointerType>>(*ctx); 24*700637cbSDimitry Andric }); 25*700637cbSDimitry Andric } 26*700637cbSDimitry Andric 27*700637cbSDimitry Andric } // namespace cir::acc 28