Jlm
Public Member Functions | Public Attributes | List of all members
jlm::llvm::CommonNodeElimination::Context::CongruenceSet Struct Reference
Collaboration diagram for jlm::llvm::CommonNodeElimination::Context::CongruenceSet:
Collaboration graph
[legend]

Public Member Functions

 CongruenceSet (const rvsdg::Output &leader)
 

Public Attributes

const rvsdg::Outputleader
 
util::HashSet< const rvsdg::Output * > followers
 

Detailed Description

Represents a set of outputs where all outputs in the set are considered identical. One output is the leader, and will eventually become the single source of truth.

When making congruence sets, the following invariants must be satisfied:

Maintaining these invariants ensures that any search for a suitable leader only needs to consider arguments / nodes that have already been visited in the current traversal.

Definition at line 93 of file CommonNodeElimination.cpp.

Constructor & Destructor Documentation

◆ CongruenceSet()

jlm::llvm::CommonNodeElimination::Context::CongruenceSet::CongruenceSet ( const rvsdg::Output leader)
inlineexplicit

Definition at line 95 of file CommonNodeElimination.cpp.

Member Data Documentation

◆ followers

util::HashSet<const rvsdg::Output *> jlm::llvm::CommonNodeElimination::Context::CongruenceSet::followers

Definition at line 104 of file CommonNodeElimination.cpp.

◆ leader

const rvsdg::Output* jlm::llvm::CommonNodeElimination::Context::CongruenceSet::leader

Definition at line 101 of file CommonNodeElimination.cpp.


The documentation for this struct was generated from the following file: