Jlm
Classes | Public Member Functions | List of all members
jlm::llvm::CommonNodeElimination Class Referencefinal

Common Node Elimination Discovers simple nodes, region arguments and structural node outputs that are guaranteed to always produce the same value, and redirects all their users to the same output. This renders common nodes and common structural arguments / results dead. More...

#include <CommonNodeElimination.hpp>

Inheritance diagram for jlm::llvm::CommonNodeElimination:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::CommonNodeElimination:
Collaboration graph
[legend]

Classes

class  Context
 
class  Statistics
 

Public Member Functions

 ~CommonNodeElimination () noexcept override
 
 CommonNodeElimination ()
 
void Run (rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override
 Perform RVSDG transformation. More...
 
- Public Member Functions inherited from jlm::rvsdg::Transformation
virtual ~Transformation () noexcept
 
 Transformation (std::string_view Name)
 
const std::string_view & GetName () const noexcept
 
void Run (RvsdgModule &module)
 Perform RVSDG transformation. More...
 

Detailed Description

Common Node Elimination Discovers simple nodes, region arguments and structural node outputs that are guaranteed to always produce the same value, and redirects all their users to the same output. This renders common nodes and common structural arguments / results dead.

Definition at line 20 of file CommonNodeElimination.hpp.

Constructor & Destructor Documentation

◆ ~CommonNodeElimination()

jlm::llvm::CommonNodeElimination::~CommonNodeElimination ( )
overridedefaultnoexcept

◆ CommonNodeElimination()

jlm::llvm::CommonNodeElimination::CommonNodeElimination ( )
inline

Definition at line 28 of file CommonNodeElimination.hpp.

Member Function Documentation

◆ Run()

void jlm::llvm::CommonNodeElimination::Run ( rvsdg::RvsdgModule module,
util::StatisticsCollector statisticsCollector 
)
overridevirtual

Perform RVSDG transformation.

Note
This method is expected to be called multiple times. An implementation is required to reset the objects' internal state to ensure correct behavior after every invocation.
Parameters
moduleRVSDG module the transformation is performed on.
statisticsCollectorStatistics collector for collecting transformation statistics.

Implements jlm::rvsdg::Transformation.

Definition at line 977 of file CommonNodeElimination.cpp.


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