diff options
author | Roland Levillain <rpl@google.com> | 2014-09-30 16:15:14 +0100 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2014-10-01 11:52:58 +0100 |
commit | bf9cd7ba2118a75f5aa9b56241c4d5fa00dedeb8 (patch) | |
tree | 0bd049b173d23fcaed5c1b5cb4299e8faef840da /compiler/optimizing/dead_code_elimination.h | |
parent | 34bb808affbed7a1db177b9ef4ab5461c2b2106b (diff) | |
download | art-bf9cd7ba2118a75f5aa9b56241c4d5fa00dedeb8.tar.gz art-bf9cd7ba2118a75f5aa9b56241c4d5fa00dedeb8.tar.bz2 art-bf9cd7ba2118a75f5aa9b56241c4d5fa00dedeb8.zip |
Introduce a class to implement optimization passes.
- Add art::HOptimization.
- Rename art::ConstantPropagation to art::HConstantFolding in
compiler/optimizing/constant_folding.h to avoid name
clashes with a class of the same name in
compiler/dex/post_opt_passes.h.
- Rename art::DeadCodeElimination to
art::HDeadCodeElimination for consistency reasons.
- Have art::HDeadCodeElimination and art::HConstantFolding
derive from art::HOptimization.
- Start to use these optimizations in
art:OptimizingCompiler::TryCompile.
Change-Id: Iaab350c122d87b2333b3760312b15c0592d7e010
Diffstat (limited to 'compiler/optimizing/dead_code_elimination.h')
-rw-r--r-- | compiler/optimizing/dead_code_elimination.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/compiler/optimizing/dead_code_elimination.h b/compiler/optimizing/dead_code_elimination.h index 48739be494..a4446ae04d 100644 --- a/compiler/optimizing/dead_code_elimination.h +++ b/compiler/optimizing/dead_code_elimination.h @@ -18,6 +18,7 @@ #define ART_COMPILER_OPTIMIZING_DEAD_CODE_ELIMINATION_H_ #include "nodes.h" +#include "optimization.h" namespace art { @@ -25,17 +26,18 @@ namespace art { * Optimization pass performing dead code elimination (removal of * unused variables/instructions) on the SSA form. */ -class DeadCodeElimination : public ValueObject { +class HDeadCodeElimination : public HOptimization { public: - explicit DeadCodeElimination(HGraph* graph) - : graph_(graph) {} + HDeadCodeElimination(HGraph* graph, const HGraphVisualizer& visualizer) + : HOptimization(graph, true, kDeadCodeEliminationPassName, visualizer) {} - void Run(); + virtual void Run() OVERRIDE; - private: - HGraph* const graph_; + static constexpr const char* kDeadCodeEliminationPassName = + "dead_code_elimination"; - DISALLOW_COPY_AND_ASSIGN(DeadCodeElimination); + private: + DISALLOW_COPY_AND_ASSIGN(HDeadCodeElimination); }; } // namespace art |