1*01a0d212SRazvan Lupusoru //===-- RegisterOpenACCExtensions.cpp -------------------------------------===// 2*01a0d212SRazvan Lupusoru // 3*01a0d212SRazvan Lupusoru // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*01a0d212SRazvan Lupusoru // See https://llvm.org/LICENSE.txt for license information. 5*01a0d212SRazvan Lupusoru // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*01a0d212SRazvan Lupusoru // 7*01a0d212SRazvan Lupusoru //===----------------------------------------------------------------------===// 8*01a0d212SRazvan Lupusoru // 9*01a0d212SRazvan Lupusoru // Registration for OpenACC extensions as applied to FIR dialect. 10*01a0d212SRazvan Lupusoru // 11*01a0d212SRazvan Lupusoru //===----------------------------------------------------------------------===// 12*01a0d212SRazvan Lupusoru 13*01a0d212SRazvan Lupusoru #include "flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h" 14*01a0d212SRazvan Lupusoru #include "flang/Optimizer/Dialect/FIRDialect.h" 15*01a0d212SRazvan Lupusoru #include "flang/Optimizer/Dialect/FIRType.h" 16*01a0d212SRazvan Lupusoru #include "flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h" 17*01a0d212SRazvan Lupusoru 18*01a0d212SRazvan Lupusoru namespace fir::acc { 19*01a0d212SRazvan Lupusoru void registerOpenACCExtensions(mlir::DialectRegistry ®istry) { 20*01a0d212SRazvan Lupusoru registry.addExtension(+[](mlir::MLIRContext *ctx, 21*01a0d212SRazvan Lupusoru fir::FIROpsDialect *dialect) { 22*01a0d212SRazvan Lupusoru fir::SequenceType::attachInterface<OpenACCMappableModel<fir::SequenceType>>( 23*01a0d212SRazvan Lupusoru *ctx); 24*01a0d212SRazvan Lupusoru fir::BoxType::attachInterface<OpenACCMappableModel<fir::BaseBoxType>>(*ctx); 25*01a0d212SRazvan Lupusoru }); 26*01a0d212SRazvan Lupusoru } 27*01a0d212SRazvan Lupusoru 28*01a0d212SRazvan Lupusoru } // namespace fir::acc 29