summaryrefslogtreecommitdiff
path: root/compiler/optimizing/optimizing_compiler.cc
diff options
context:
space:
mode:
author Artem Serov <artem.serov@linaro.org> 2020-02-24 18:51:42 +0000
committer Ulyana Trafimovich <skvadrik@google.com> 2020-06-09 13:11:45 +0000
commit077188411c692f82b0785597fee030810a2a5841 (patch)
treef74ced58d91dcb215601175dc7d29854d46aee0d /compiler/optimizing/optimizing_compiler.cc
parent1715efa0b46d57d587237829d1c0695aaca2c344 (diff)
ART: Introduce predicated vector instructions.
This CL introduces a minimal changes to the IR to support autovectorization with use of predicated execution of SIMD instructions (e.g. Arm SVE). Test: test-art-target, test-art-host. Change-Id: Ibb7c5520fec6b858fb29f0dde19ec65501831a3a
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r--compiler/optimizing/optimizing_compiler.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc
index 02751cb83e..45d31bad79 100644
--- a/compiler/optimizing/optimizing_compiler.cc
+++ b/compiler/optimizing/optimizing_compiler.cc
@@ -118,6 +118,7 @@ class PassObserver : public ValueObject {
visualizer_output_(visualizer_output),
visualizer_enabled_(!compiler_options.GetDumpCfgFileName().empty()),
visualizer_(&visualizer_oss_, graph, *codegen),
+ codegen_(codegen),
visualizer_dump_mutex_(dump_mutex),
graph_in_bad_state_(false) {
if (timing_logger_enabled_ || visualizer_enabled_) {
@@ -190,7 +191,7 @@ class PassObserver : public ValueObject {
// Validate the HGraph if running in debug mode.
if (kIsDebugBuild) {
if (!graph_in_bad_state_) {
- GraphChecker checker(graph_);
+ GraphChecker checker(graph_, codegen_);
last_seen_graph_size_ = checker.Run(pass_change, last_seen_graph_size_);
if (!checker.IsValid()) {
LOG(FATAL) << "Error after " << pass_name << ": " << Dumpable<GraphChecker>(checker);
@@ -230,6 +231,7 @@ class PassObserver : public ValueObject {
std::ostream* visualizer_output_;
bool visualizer_enabled_;
HGraphVisualizer visualizer_;
+ CodeGenerator* codegen_;
Mutex& visualizer_dump_mutex_;
// Flag to be set by the compiler if the pass failed and the graph is not