diff options
author | 2018-05-08 16:31:34 +0100 | |
---|---|---|
committer | 2018-05-08 17:06:26 +0100 | |
commit | 2da52b084b940a5330aa985b687c852495bc38ff (patch) | |
tree | 61d01d2391bc6e65ecfcbc636159369e9425c59c /compiler | |
parent | b865d9af3bb5f4777dbe9cbd60cdb2a8fe5f0557 (diff) |
ART: Add --dump-pass-timings compiler option.
This replaces the old --dump-passes option removed in
https://android-review.googlesource.com/549200 .
Using --dump-timing for timing optimization passes makes
the high level timings useless, so return to using two
different options for these.
Test: Manually run dex2oat with --dump-timings,
--dump-pass-timings and both.
Change-Id: Iddc4cfee35652fb493656e7d6081a898c2894f72
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/driver/compiler_options.cc | 1 | ||||
-rw-r--r-- | compiler/driver/compiler_options.h | 5 | ||||
-rw-r--r-- | compiler/driver/compiler_options_map-inl.h | 7 | ||||
-rw-r--r-- | compiler/driver/compiler_options_map.def | 1 | ||||
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 2 |
5 files changed, 15 insertions, 1 deletions
diff --git a/compiler/driver/compiler_options.cc b/compiler/driver/compiler_options.cc index 2d82d79c4a..933be4f004 100644 --- a/compiler/driver/compiler_options.cc +++ b/compiler/driver/compiler_options.cc @@ -51,6 +51,7 @@ CompilerOptions::CompilerOptions() implicit_suspend_checks_(false), compile_pic_(false), dump_timings_(false), + dump_pass_timings_(false), dump_stats_(false), verbose_methods_(), abort_on_hard_verifier_failure_(false), diff --git a/compiler/driver/compiler_options.h b/compiler/driver/compiler_options.h index cdd9d4de00..cee989b315 100644 --- a/compiler/driver/compiler_options.h +++ b/compiler/driver/compiler_options.h @@ -270,6 +270,10 @@ class CompilerOptions FINAL { return dump_timings_; } + bool GetDumpPassTimings() const { + return dump_pass_timings_; + } + bool GetDumpStats() const { return dump_stats_; } @@ -316,6 +320,7 @@ class CompilerOptions FINAL { bool implicit_suspend_checks_; bool compile_pic_; bool dump_timings_; + bool dump_pass_timings_; bool dump_stats_; // Vector of methods to have verbose output enabled for. diff --git a/compiler/driver/compiler_options_map-inl.h b/compiler/driver/compiler_options_map-inl.h index 3b18db09fc..32fc887b8e 100644 --- a/compiler/driver/compiler_options_map-inl.h +++ b/compiler/driver/compiler_options_map-inl.h @@ -85,6 +85,10 @@ inline bool ReadCompilerOptions(Base& map, CompilerOptions* options, std::string options->dump_timings_ = true; } + if (map.Exists(Base::DumpPassTimings)) { + options->dump_pass_timings_ = true; + } + if (map.Exists(Base::DumpStats)) { options->dump_stats_ = true; } @@ -146,6 +150,9 @@ inline void AddCompilerOptionsArgumentParserOptions(Builder& b) { .Define({"--dump-timings"}) .IntoKey(Map::DumpTimings) + .Define({"--dump-pass-timings"}) + .IntoKey(Map::DumpPassTimings) + .Define({"--dump-stats"}) .IntoKey(Map::DumpStats) diff --git a/compiler/driver/compiler_options_map.def b/compiler/driver/compiler_options_map.def index acddae7299..529d43fc72 100644 --- a/compiler/driver/compiler_options_map.def +++ b/compiler/driver/compiler_options_map.def @@ -60,6 +60,7 @@ COMPILER_OPTIONS_KEY (ParseStringList<','>, VerboseMethods) COMPILER_OPTIONS_KEY (bool, DeduplicateCode, true) COMPILER_OPTIONS_KEY (Unit, CountHotnessInCompiledCode) COMPILER_OPTIONS_KEY (Unit, DumpTimings) +COMPILER_OPTIONS_KEY (Unit, DumpPassTimings) COMPILER_OPTIONS_KEY (Unit, DumpStats) #undef COMPILER_OPTIONS_KEY diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 6e2c99444c..c4977decd9 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -109,7 +109,7 @@ class PassObserver : public ValueObject { : graph_(graph), last_seen_graph_size_(0), cached_method_name_(), - timing_logger_enabled_(compiler_driver->GetCompilerOptions().GetDumpTimings()), + timing_logger_enabled_(compiler_driver->GetCompilerOptions().GetDumpPassTimings()), timing_logger_(timing_logger_enabled_ ? GetMethodName() : "", true, true), disasm_info_(graph->GetAllocator()), visualizer_oss_(), |