Add the external name conversion pass needed for compiler interoperability. This pass convert the Flang internal symbol name to the common gfortran convention. Clean up old passes without implementation in the Passes.ts file so the project and fir-opt can build correctly. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: schweitz Differential Revision: https://reviews.llvm.org/D111057
28 lines
1.0 KiB
C++
28 lines
1.0 KiB
C++
//===- fir-opt.cpp - FIR Optimizer Driver -----------------------*- 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This is to be like LLVM's opt program, only for FIR. Such a program is
|
|
// required for roundtrip testing, etc.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "mlir/Support/MlirOptMain.h"
|
|
#include "flang/Optimizer/Support/InitFIR.h"
|
|
#include "flang/Optimizer/Transforms/Passes.h"
|
|
|
|
using namespace mlir;
|
|
|
|
int main(int argc, char **argv) {
|
|
fir::support::registerMLIRPassesForFortranTools();
|
|
fir::registerOptTransformPasses();
|
|
DialectRegistry registry;
|
|
fir::support::registerDialects(registry);
|
|
return failed(MlirOptMain(argc, argv, "FIR modular optimizer driver\n",
|
|
registry, /*preloadDialectsInContext=*/false));
|
|
}
|