summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/graph_visualizer.h
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-05-22 12:50:17 +0100
committerNicolas Geoffray <ngeoffray@google.com>2014-05-26 11:31:38 +0100
commita7062e05e6048c7f817d784a5b94e3122e25b1ec (patch)
treea5d6b64ae6d5352f761fc2547bda863281adbe40 /compiler/optimizing/graph_visualizer.h
parent8b5b1e5593ffa77c393e4172b71a3d5a821d2ed8 (diff)
downloadart-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.h8
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.