xref: /llvm-project/flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp (revision 01a0d212a64919205734706d929db37e503c35ce)
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 &registry) {
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