Jlm
InvariantValueRedirection.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2017 Nico Reißmann <nico.reissmann@gmail.com>
3  * See COPYING for terms of redistribution.
4  */
5 
6 #ifndef JLM_LLVM_OPT_INVARIANTVALUEREDIRECTION_HPP
7 #define JLM_LLVM_OPT_INVARIANTVALUEREDIRECTION_HPP
8 
10 
11 namespace jlm::rvsdg
12 {
13 class GammaNode;
14 class Graph;
15 class Region;
16 class StructuralNode;
17 class ThetaNode;
18 class SimpleNode;
19 }
20 
21 namespace jlm::llvm
22 {
23 
24 class ThetaGammaPredicateCorrelation;
25 
82 {
83  class Statistics;
84 
85 public:
87  {
93  };
94 
96 
97  explicit InvariantValueRedirection(Configuration configuration)
98  : Transformation("InvariantValueRedirection"),
99  configuration_(std::move(configuration))
100  {}
101 
102  void
104 
111  static void
112  createAndRun(rvsdg::RvsdgModule & rvsdgModule, Configuration configuration);
113 
114 private:
115  void
117 
118  void
120 
121  void
123 
124  static void
126 
127  static void
129 
136  static void
138 
139  static void
141 
148  static void
150 
152 };
153 
154 }
155 
156 #endif
static jlm::util::StatisticsCollector statisticsCollector
static void redirectGammaOutputs(rvsdg::GammaNode &gammaNode)
void Run(rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
static void redirectLoadMemoryStates(rvsdg::SimpleNode &loadNode)
void redirectInSubregions(rvsdg::StructuralNode &structuralNode)
static void redirectCallOutputs(rvsdg::SimpleNode &callNode)
static void createAndRun(rvsdg::RvsdgModule &rvsdgModule, Configuration configuration)
static void redirectThetaOutputs(rvsdg::ThetaNode &thetaNode)
InvariantValueRedirection(Configuration configuration)
static void redirectThetaGammaOutputs(rvsdg::ThetaNode &thetaNode)
Conditional operator / pattern matching.
Definition: gamma.hpp:99
Represent acyclic RVSDG subgraphs.
Definition: region.hpp:213
Represents an RVSDG transformation.
Transformation(std::string_view Name)
Global memory state passed between functions.