diff options
Diffstat (limited to 'compiler/optimizing/ssa_builder.h')
-rw-r--r-- | compiler/optimizing/ssa_builder.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/compiler/optimizing/ssa_builder.h b/compiler/optimizing/ssa_builder.h index 2207cd6bfa..5ab328fe23 100644 --- a/compiler/optimizing/ssa_builder.h +++ b/compiler/optimizing/ssa_builder.h @@ -18,9 +18,24 @@ #define ART_COMPILER_OPTIMIZING_SSA_BUILDER_H_ #include "nodes.h" +#include "optimization.h" namespace art { +class TransformToSsa : public HOptimization { + public: + explicit TransformToSsa(HGraph* graph) : HOptimization(graph, true, "ssa transform") {} + + void Run() OVERRIDE { + graph_->BuildDominatorTree(); + graph_->TransformToSSA(); + graph_->FindNaturalLoops(); + } + + private: + DISALLOW_COPY_AND_ASSIGN(TransformToSsa); +}; + static constexpr int kDefaultNumberOfLoops = 2; class SsaBuilder : public HGraphVisitor { |