Jlm
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
jlm::tooling::JlmOptCommand Class Referencefinal

#include <Command.hpp>

Inheritance diagram for jlm::tooling::JlmOptCommand:
Inheritance graph
[legend]
Collaboration diagram for jlm::tooling::JlmOptCommand:
Collaboration graph
[legend]

Public Member Functions

 ~JlmOptCommand () override
 
 JlmOptCommand (std::string programName, const JlmOptCommandLineOptions &commandLineOptions)
 
std::string ToString () const override
 
void Run () const override
 
const JlmOptCommandLineOptionsGetCommandLineOptions () const noexcept
 
- Public Member Functions inherited from jlm::tooling::Command
virtual ~Command ()
 

Static Public Member Functions

static CommandGraph::NodeCreate (CommandGraph &commandGraph, std::string programName, const JlmOptCommandLineOptions &commandLineOptions)
 
static void PrintRvsdgModule (llvm::LlvmRvsdgModule &rvsdgModule, const util::FilePath &outputFile, const JlmOptCommandLineOptions::OutputFormat &outputFormat, util::StatisticsCollector &statisticsCollector)
 

Private Member Functions

std::unique_ptr< llvm::LlvmRvsdgModuleParseInputFile (const util::FilePath &inputFile, const JlmOptCommandLineOptions::InputFormat &inputFormat, util::StatisticsCollector &statisticsCollector) const
 
std::unique_ptr< llvm::LlvmRvsdgModuleParseLlvmIrFile (const util::FilePath &inputFile, util::StatisticsCollector &statisticsCollector) const
 
std::unique_ptr< llvm::LlvmRvsdgModuleParseMlirIrFile (const util::FilePath &inputFile, util::StatisticsCollector &statisticsCollector) const
 
std::vector< std::shared_ptr< rvsdg::Transformation > > GetTransformations () const
 
std::shared_ptr< rvsdg::TransformationCreateTransformation (JlmOptCommandLineOptions::OptimizationId optimizationId) const
 

Static Private Member Functions

static void PrintAsAscii (const llvm::LlvmRvsdgModule &rvsdgModule, const util::FilePath &outputFile, util::StatisticsCollector &statisticsCollector)
 
static void PrintAsXml (const llvm::LlvmRvsdgModule &rvsdgModule, const util::FilePath &outputFile, util::StatisticsCollector &statisticsCollector)
 
static void PrintAsLlvm (llvm::LlvmRvsdgModule &rvsdgModule, const util::FilePath &outputFile, util::StatisticsCollector &statisticsCollector)
 
static void PrintAsMlir (const llvm::LlvmRvsdgModule &rvsdgModule, const util::FilePath &outputFile, util::StatisticsCollector &statisticsCollector)
 
static void PrintAsRvsdgTree (const llvm::LlvmRvsdgModule &rvsdgModule, const util::FilePath &outputFile, util::StatisticsCollector &statisticsCollector)
 
static void PrintAsDot (const llvm::LlvmRvsdgModule &rvsdgModule, const util::FilePath &outputFile, util::StatisticsCollector &statisticsCollector)
 

Private Attributes

std::string ProgramName_
 
JlmOptCommandLineOptions CommandLineOptions_
 

Detailed Description

The JlmOptCommand class represents the jlm-opt command line tool.

Definition at line 336 of file Command.hpp.

Constructor & Destructor Documentation

◆ ~JlmOptCommand()

jlm::tooling::JlmOptCommand::~JlmOptCommand ( )
overridedefault

◆ JlmOptCommand()

jlm::tooling::JlmOptCommand::JlmOptCommand ( std::string  programName,
const JlmOptCommandLineOptions commandLineOptions 
)

Definition at line 291 of file Command.cpp.

Member Function Documentation

◆ Create()

static CommandGraph::Node& jlm::tooling::JlmOptCommand::Create ( CommandGraph commandGraph,
std::string  programName,
const JlmOptCommandLineOptions commandLineOptions 
)
inlinestatic

Definition at line 350 of file Command.hpp.

◆ CreateTransformation()

std::shared_ptr< rvsdg::Transformation > jlm::tooling::JlmOptCommand::CreateTransformation ( JlmOptCommandLineOptions::OptimizationId  optimizationId) const
private

Definition at line 400 of file Command.cpp.

◆ GetCommandLineOptions()

const JlmOptCommandLineOptions& jlm::tooling::JlmOptCommand::GetCommandLineOptions ( ) const
inlinenoexcept

Definition at line 361 of file Command.hpp.

◆ GetTransformations()

std::vector< std::shared_ptr< rvsdg::Transformation > > jlm::tooling::JlmOptCommand::GetTransformations ( ) const
private

Definition at line 374 of file Command.cpp.

◆ ParseInputFile()

std::unique_ptr< llvm::LlvmRvsdgModule > jlm::tooling::JlmOptCommand::ParseInputFile ( const util::FilePath inputFile,
const JlmOptCommandLineOptions::InputFormat inputFormat,
util::StatisticsCollector statisticsCollector 
) const
private

Definition at line 487 of file Command.cpp.

◆ ParseLlvmIrFile()

std::unique_ptr< llvm::LlvmRvsdgModule > jlm::tooling::JlmOptCommand::ParseLlvmIrFile ( const util::FilePath inputFile,
util::StatisticsCollector statisticsCollector 
) const
private

Definition at line 447 of file Command.cpp.

◆ ParseMlirIrFile()

std::unique_ptr< llvm::LlvmRvsdgModule > jlm::tooling::JlmOptCommand::ParseMlirIrFile ( const util::FilePath inputFile,
util::StatisticsCollector statisticsCollector 
) const
private

Definition at line 475 of file Command.cpp.

◆ PrintAsAscii()

void jlm::tooling::JlmOptCommand::PrintAsAscii ( const llvm::LlvmRvsdgModule rvsdgModule,
const util::FilePath outputFile,
util::StatisticsCollector statisticsCollector 
)
staticprivate

Definition at line 507 of file Command.cpp.

◆ PrintAsDot()

void jlm::tooling::JlmOptCommand::PrintAsDot ( const llvm::LlvmRvsdgModule rvsdgModule,
const util::FilePath outputFile,
util::StatisticsCollector statisticsCollector 
)
staticprivate

Definition at line 604 of file Command.cpp.

◆ PrintAsLlvm()

void jlm::tooling::JlmOptCommand::PrintAsLlvm ( llvm::LlvmRvsdgModule rvsdgModule,
const util::FilePath outputFile,
util::StatisticsCollector statisticsCollector 
)
staticprivate

Definition at line 541 of file Command.cpp.

◆ PrintAsMlir()

void jlm::tooling::JlmOptCommand::PrintAsMlir ( const llvm::LlvmRvsdgModule rvsdgModule,
const util::FilePath outputFile,
util::StatisticsCollector statisticsCollector 
)
staticprivate

Definition at line 566 of file Command.cpp.

◆ PrintAsRvsdgTree()

void jlm::tooling::JlmOptCommand::PrintAsRvsdgTree ( const llvm::LlvmRvsdgModule rvsdgModule,
const util::FilePath outputFile,
util::StatisticsCollector statisticsCollector 
)
staticprivate

Definition at line 582 of file Command.cpp.

◆ PrintAsXml()

void jlm::tooling::JlmOptCommand::PrintAsXml ( const llvm::LlvmRvsdgModule rvsdgModule,
const util::FilePath outputFile,
util::StatisticsCollector statisticsCollector 
)
staticprivate

Definition at line 527 of file Command.cpp.

◆ PrintRvsdgModule()

void jlm::tooling::JlmOptCommand::PrintRvsdgModule ( llvm::LlvmRvsdgModule rvsdgModule,
const util::FilePath outputFile,
const JlmOptCommandLineOptions::OutputFormat outputFormat,
util::StatisticsCollector statisticsCollector 
)
static

Definition at line 629 of file Command.cpp.

◆ Run()

void jlm::tooling::JlmOptCommand::Run ( ) const
overridevirtual

Reimplemented from jlm::tooling::Command.

Definition at line 346 of file Command.cpp.

◆ ToString()

std::string jlm::tooling::JlmOptCommand::ToString ( ) const
overridevirtual

Implements jlm::tooling::Command.

Definition at line 299 of file Command.cpp.

Member Data Documentation

◆ CommandLineOptions_

JlmOptCommandLineOptions jlm::tooling::JlmOptCommand::CommandLineOptions_
private

Definition at line 431 of file Command.hpp.

◆ ProgramName_

std::string jlm::tooling::JlmOptCommand::ProgramName_
private

Definition at line 430 of file Command.hpp.


The documentation for this class was generated from the following files: