FLANG
FIROperationMoveOpInterface.h
1//===- FIROperationMoveOpInterface.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// This file declares methods used by OperationMoveOpInterface.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef FORTRAN_OPTIMIZER_DIALECT_FIR_OPERATION_MOVE_OP_INTERFACE_H
14#define FORTRAN_OPTIMIZER_DIALECT_FIR_OPERATION_MOVE_OP_INTERFACE_H
15
16#include "mlir/IR/OpDefinition.h"
17#include "mlir/IR/Operation.h"
18#include "llvm/Support/LogicalResult.h"
19
20namespace fir::detail {
22llvm::LogicalResult verifyOperationMoveOpInterface(mlir::Operation *op);
23} // namespace fir::detail
24
25#include "flang/Optimizer/Dialect/FIROperationMoveOpInterface.h.inc"
26
27namespace fir {
32bool canMoveFromDescendant(mlir::Operation *op, mlir::Operation *descendant,
33 mlir::Operation *candidate);
34
39bool canMoveOutOf(mlir::Operation *op, mlir::Operation *candidate);
40} // namespace fir
41
42#endif // FORTRAN_OPTIMIZER_DIALECT_FIR_OPERATION_MOVE_OP_INTERFACE_H
Definition AbstractConverter.h:37
bool canMoveOutOf(mlir::Operation *op, mlir::Operation *candidate)
Definition FIROperationMoveOpInterface.cpp:41
bool canMoveFromDescendant(mlir::Operation *op, mlir::Operation *descendant, mlir::Operation *candidate)
Definition FIROperationMoveOpInterface.cpp:26