MLIR  16.0.0git
Classes | Namespaces | Typedefs | Functions
PassOptions.h File Reference
#include "mlir/Support/LLVM.h"
#include "mlir/Support/LogicalResult.h"
#include "llvm/ADT/FunctionExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include <memory>
+ Include dependency graph for PassOptions.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mlir::detail::PassOptions
 Base container class and manager for all pass options. More...
 
class  mlir::detail::PassOptions::Option< DataType, OptionParser >
 This class represents a specific pass option, with a provided data type. More...
 
class  mlir::detail::PassOptions::ListOption< DataType, OptionParser >
 This class represents a specific pass option that contains a list of values of the provided data type. More...
 
class  mlir::PassPipelineOptions< T >
 Subclasses of PassPipelineOptions provide a set of options that can be used to initialize a pass pipeline. More...
 
struct  mlir::EmptyPipelineOptions
 A default empty option struct to be used for passes that do not need to take any options. More...
 
class  llvm::cl::detail::VectorParserBase< VectorT, ElementT >
 
class  llvm::cl::parser< std::vector< T > >
 
class  llvm::cl::parser< SmallVector< T, N > >
 
struct  llvm::cl::OptionValue< mlir::OpPassManager >
 
class  llvm::cl::parser< mlir::OpPassManager >
 
struct  llvm::cl::parser< mlir::OpPassManager >::ParsedPassManager
 A utility struct used when parsing a pass manager that prevents the need for a default constructor on OpPassManager. More...
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::detail
 Detect if any of the given parameter types has a sub-element handler.
 
 mlir::detail::pass_options
 
 llvm
 Include the generated interface declarations.
 
 llvm::cl
 
 llvm::cl::detail
 

Typedefs

template<typename T >
using mlir::detail::pass_options::has_stream_operator_trait = decltype(std::declval< raw_ostream & >()<< std::declval< T >())
 Trait used to detect if a type has a operator<< method. More...
 
template<typename T >
using mlir::detail::pass_options::has_stream_operator = llvm::is_detected< has_stream_operator_trait, T >
 

Functions

LogicalResult mlir::detail::pass_options::parseCommaSeparatedList (llvm::cl::Option &opt, StringRef argName, StringRef optionStr, function_ref< LogicalResult(StringRef)> elementParseFn)
 Parse a string containing a list of comma-delimited elements, invoking the given parser for each sub-element and passing them to the provided element-append functor. More...
 
template<typename ElementParser , typename ElementAppendFn >
LogicalResult mlir::detail::pass_options::parseCommaSeparatedList (llvm::cl::Option &opt, StringRef argName, StringRef optionStr, ElementParser &elementParser, ElementAppendFn &&appendFn)
 
template<typename ParserT >
static void mlir::detail::pass_options::printOptionValue (raw_ostream &os, const bool &value)
 Utility methods for printing option values. More...
 
template<typename ParserT , typename DataT >
static std::enable_if_t< has_stream_operator< DataT >::valuemlir::detail::pass_options::printOptionValue (raw_ostream &os, const DataT &value)
 
template<typename ParserT , typename DataT >
static std::enable_if_t<!has_stream_operator< DataT >::valuemlir::detail::pass_options::printOptionValue (raw_ostream &os, const DataT &value)