Try 2 to merge 4fbd1d6c872e8228f23a6e13914222af40ca6461. Flang algebraic simplification pass will run algebraic simplification rewrite patterns for Math/Complex/etc. dialects. It is enabled under opt-for-speed optimization levels (i.e. for O1/O2/O3; Os/Oz will not enable it). With this change the FIR/MLIR optimization pipeline becomes affected by the -O* optimization level switches. Until now these switches only affected the middle-end and back-end. Differential Revision: https://reviews.llvm.org/D130035
29 lines
1007 B
C++
29 lines
1007 B
C++
//===- PassDetail.h - Optimizer Transforms Pass class details ---*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
#ifndef FORTRAN_OPTMIZER_TRANSFORMS_PASSDETAIL_H
|
|
#define FORTRAN_OPTMIZER_TRANSFORMS_PASSDETAIL_H
|
|
|
|
#include "flang/Optimizer/Dialect/FIRDialect.h"
|
|
#include "mlir/Dialect/Affine/IR/AffineOps.h"
|
|
#include "mlir/Dialect/Func/IR/FuncOps.h"
|
|
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
|
|
#include "mlir/Dialect/Math/IR/Math.h"
|
|
#include "mlir/Dialect/OpenACC/OpenACC.h"
|
|
#include "mlir/Dialect/OpenMP/OpenMPDialect.h"
|
|
#include "mlir/Pass/Pass.h"
|
|
#include "mlir/Pass/PassRegistry.h"
|
|
|
|
namespace fir {
|
|
|
|
#define GEN_PASS_CLASSES
|
|
#include "flang/Optimizer/Transforms/Passes.h.inc"
|
|
|
|
} // namespace fir
|
|
|
|
#endif // FORTRAN_OPTMIZER_TRANSFORMS_PASSDETAIL_H
|