diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-05-22 12:50:17 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-05-26 11:31:38 +0100 |
commit | a7062e05e6048c7f817d784a5b94e3122e25b1ec (patch) | |
tree | a5d6b64ae6d5352f761fc2547bda863281adbe40 /compiler/optimizing/graph_visualizer.h | |
parent | 8b5b1e5593ffa77c393e4172b71a3d5a821d2ed8 (diff) | |
download | art-a7062e05e6048c7f817d784a5b94e3122e25b1ec.zip art-a7062e05e6048c7f817d784a5b94e3122e25b1ec.tar.gz art-a7062e05e6048c7f817d784a5b94e3122e25b1ec.tar.bz2 |
Add a linear scan register allocator to the optimizing compiler.
This is a "by-the-book" implementation. It currently only deals
with allocating registers, with no hint optimizations.
The changes remaining to make it functional are:
- Allocate spill slots.
- Resolution and placements of Move instructions.
- Connect it to the code generator.
Change-Id: Ie0b2f6ba1b98da85425be721ce4afecd6b4012a4
Diffstat (limited to 'compiler/optimizing/graph_visualizer.h')
-rw-r--r-- | compiler/optimizing/graph_visualizer.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/optimizing/graph_visualizer.h b/compiler/optimizing/graph_visualizer.h index 2b88e65..2638cf5 100644 --- a/compiler/optimizing/graph_visualizer.h +++ b/compiler/optimizing/graph_visualizer.h @@ -21,6 +21,7 @@ namespace art { +class CodeGenerator; class DexCompilationUnit; class HGraph; @@ -39,13 +40,17 @@ class HGraphVisualizer : public ValueObject { HGraphVisualizer(std::ostream* output, HGraph* graph, const char* string_filter, + const CodeGenerator& codegen, const DexCompilationUnit& cu); /** * Version of `HGraphVisualizer` for unit testing, that is when a * `DexCompilationUnit` is not available. */ - HGraphVisualizer(std::ostream* output, HGraph* graph, const char* name); + HGraphVisualizer(std::ostream* output, + HGraph* graph, + const CodeGenerator& codegen, + const char* name); /** * If this visualizer is enabled, emit the compilation information @@ -56,6 +61,7 @@ class HGraphVisualizer : public ValueObject { private: std::ostream* const output_; HGraph* const graph_; + const CodeGenerator& codegen_; // Is true when `output_` is not null, and the compiled method's name // contains the string_filter given in the constructor. |