FLANG
CUFOpConversion.h
1//===------- Optimizer/Transforms/CUFOpConversion.h -------------*- C++ -*-===//
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 FORTRAN_OPTIMIZER_TRANSFORMS_CUFOPCONVERSION_H_
10#define FORTRAN_OPTIMIZER_TRANSFORMS_CUFOPCONVERSION_H_
11
12#include "mlir/Pass/Pass.h"
13#include "mlir/Pass/PassRegistry.h"
14
15namespace fir {
16class LLVMTypeConverter;
17}
18
19namespace mlir {
20class DataLayout;
21class SymbolTable;
22} // namespace mlir
23
24namespace cuf {
25
28 mlir::DataLayout &dl,
29 const mlir::SymbolTable &symtab,
30 mlir::RewritePatternSet &patterns);
31
33void populateFIRCUFConversionPatterns(const mlir::SymbolTable &symtab,
34 mlir::RewritePatternSet &patterns);
35
36} // namespace cuf
37
38#endif // FORTRAN_OPTIMIZER_TRANSFORMS_CUFOPCONVERSION_H_
Definition: TypeConverter.h:50
Definition: ConvertVariable.h:26
void populateFIRCUFConversionPatterns(const mlir::SymbolTable &symtab, mlir::RewritePatternSet &patterns)
Patterns that updates fir operations in presence of CUF.
Definition: CUFOpConversion.cpp:942
void populateCUFToFIRConversionPatterns(const fir::LLVMTypeConverter &converter, mlir::DataLayout &dl, const mlir::SymbolTable &symtab, mlir::RewritePatternSet &patterns)
Patterns that convert CUF operations to runtime calls.
Definition: CUFOpConversion.cpp:929
Definition: AbstractConverter.h:31
Definition: AbstractConverter.h:27