MLIR
22.0.0git
|
#include "mlir/Tools/mlir-opt/MlirOptMain.h"
#include "mlir/Bytecode/BytecodeWriter.h"
#include "mlir/Debug/CLOptionsSetup.h"
#include "mlir/Debug/Counter.h"
#include "mlir/Dialect/IRDL/IR/IRDL.h"
#include "mlir/Dialect/IRDL/IRDLLoading.h"
#include "mlir/IR/AsmState.h"
#include "mlir/IR/Attributes.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/Location.h"
#include "mlir/IR/MLIRContext.h"
#include "mlir/IR/Remarks.h"
#include "mlir/Parser/Parser.h"
#include "mlir/Pass/PassManager.h"
#include "mlir/Pass/PassRegistry.h"
#include "mlir/Remark/RemarkStreamer.h"
#include "mlir/Support/FileUtilities.h"
#include "mlir/Support/Timing.h"
#include "mlir/Support/ToolUtilities.h"
#include "mlir/Tools/ParseUtilities.h"
#include "mlir/Tools/Plugins/DialectPlugin.h"
#include "mlir/Tools/Plugins/PassPlugin.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Remarks/RemarkFormat.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/InitLLVM.h"
#include "llvm/Support/LogicalResult.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/Regex.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/ThreadPool.h"
#include "llvm/Support/ToolOutputFile.h"
Go to the source code of this file.
Functions | |
LogicalResult | loadIRDLDialects (StringRef irdlFile, MLIRContext &ctx) |
static LogicalResult | doVerifyRoundTrip (Operation *op, const MlirOptMainConfig &config, bool useBytecode) |
static LogicalResult | doVerifyRoundTrip (Operation *op, const MlirOptMainConfig &config) |
static LogicalResult | performActions (raw_ostream &os, const std::shared_ptr< llvm::SourceMgr > &sourceMgr, MLIRContext *context, const MlirOptMainConfig &config) |
Perform the actions on the input file indicated by the command line flags within the specified context. More... | |
static LogicalResult | processBuffer (raw_ostream &os, std::unique_ptr< MemoryBuffer > ownedBuffer, llvm::MemoryBufferRef sourceBuffer, const MlirOptMainConfig &config, DialectRegistry ®istry, SourceMgrDiagnosticVerifierHandler *verifyHandler, llvm::ThreadPoolInterface *threadPool) |
Parses the memory buffer. More... | |
static LogicalResult | printRegisteredDialects (DialectRegistry ®istry) |
static LogicalResult | printRegisteredPassesAndReturn () |
Variables | |
ManagedStatic< MlirOptMainConfigCLOptions > | clOptionsConfig |
|
static |
Definition at line 469 of file MlirOptMain.cpp.
References mlir::config, and doVerifyRoundTrip().
|
static |
Definition at line 403 of file MlirOptMain.cpp.
References mlir::MLIRContext::allowsUnregisteredDialects(), mlir::MLIRContext::allowUnregisteredDialects(), mlir::MLIRContext::appendDialectRegistry(), mlir::config, mlir::Operation::emitOpError(), mlir::remark::failed(), mlir::OwningOpRef< OpTy >::get(), mlir::Operation::getContext(), mlir::MLIRContext::getDialectRegistry(), loadIRDLDialects(), mlir::Operation::print(), and mlir::writeBytecodeToFile().
Referenced by doVerifyRoundTrip(), and performActions().
LogicalResult loadIRDLDialects | ( | StringRef | irdlFile, |
MLIRContext & | ctx | ||
) |
Definition at line 372 of file MlirOptMain.cpp.
References mlir::MLIRContext::appendDialectRegistry(), mlir::emitError(), mlir::OwningOpRef< OpTy >::get(), mlir::get(), mlir::DialectRegistry::insert(), mlir::irdl::loadDialects(), and mlir::openInputFile().
Referenced by doVerifyRoundTrip().
|
static |
Perform the actions on the input file indicated by the command line flags within the specified context.
This typically parses the main source file, runs zero or more optimization passes, then prints the output.
Definition at line 483 of file MlirOptMain.cpp.
References mlir::PassReproducerOptions::apply(), mlir::applyDefaultTimingManagerCLOptions(), mlir::applyPassManagerCLOptions(), mlir::PassReproducerOptions::attachResourceParser(), mlir::config, mlir::MLIRContext::disableMultithreading(), doVerifyRoundTrip(), mlir::emitError(), mlir::MLIRContext::enableMultithreading(), mlir::remark::enableOptimizationRemarks(), mlir::remark::enableOptimizationRemarksWithLLVMStreamer(), mlir::PassManager::enableTiming(), mlir::PassManager::enableVerifier(), mlir::remark::failed(), mlir::OwningOpRef< OpTy >::get(), mlir::get(), mlir::OpPassManager::getAnyOpAnchorName(), mlir::PassManager::getContext(), mlir::OpPassManager::getPasses(), mlir::TimingManager::getRootScope(), mlir::OpPassManager::Implicit, mlir::MLIRContext::isMultithreadingEnabled(), mlir::makeReproducer(), mlir::TimingScope::nest(), mlir::parseSourceFileForTool(), mlir::REMARK_FORMAT_BITSTREAM, mlir::REMARK_FORMAT_STDOUT, mlir::REMARK_FORMAT_YAML, mlir::PassManager::run(), mlir::BytecodeWriterConfig::setDesiredBytecodeVersion(), mlir::BytecodeWriterConfig::setElideResourceDataFlag(), mlir::TimingScope::stop(), and mlir::writeBytecodeToFile().
|
static |
Definition at line 685 of file MlirOptMain.cpp.
References mlir::DialectRegistry::getDialectNames().
Referenced by mlir::MlirOptMain().
|
static |
Definition at line 692 of file MlirOptMain.cpp.
References mlir::printRegisteredPasses().
Referenced by mlir::MlirOptMain().
|
static |
Parses the memory buffer.
If successfully, run a series of passes against it and print the result.
Definition at line 602 of file MlirOptMain.cpp.
ManagedStatic<MlirOptMainConfigCLOptions> clOptionsConfig |
Definition at line 328 of file MlirOptMain.cpp.
Referenced by mlir::MlirOptMainConfig::createFromCLOptions(), and mlir::MlirOptMainConfig::registerCLOptions().