Jlm
Classes | Namespaces | Functions
gamma.hpp File Reference
#include <optional>
#include <jlm/rvsdg/control.hpp>
#include <jlm/rvsdg/structural-node.hpp>
Include dependency graph for gamma.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  jlm::rvsdg::GammaOperation
 
class  jlm::rvsdg::GammaNode
 Conditional operator / pattern matching. More...
 
struct  jlm::rvsdg::GammaNode::MatchVar
 The match/discriminator variable of this gamma node. More...
 
struct  jlm::rvsdg::GammaNode::EntryVar
 A variable routed into all gamma regions. More...
 
struct  jlm::rvsdg::GammaNode::ExitVar
 A variable routed out of all gamma regions as result. More...
 

Namespaces

 jlm
 
 jlm::rvsdg
 

Functions

std::optional< rvsdg::Output * > jlm::rvsdg::GetGammaInvariantOrigin (const GammaNode &gamma, const GammaNode::ExitVar &exitvar)
 Determines whether a gamma exit var is path-invariant. More...
 
bool jlm::rvsdg::ReduceGammaWithStaticallyKnownPredicate (Node &node)
 
bool jlm::rvsdg::ReduceGammaControlConstant (Node &node)
 
bool jlm::rvsdg::ReduceGammaInvariantVariables (Node &node)