Bail for SIMD code in LSE.
Rationale:
LSE does not look at vector load/stores currently,
which potentially breaks anything containing SIMD.
This is a temporary fix to get the mainline clean
until the real solution (looking at simd l/s) goes in.
Test: test-art-host test-art-target
Bug: 64091002
Change-Id: I018685bcd32ab8e0710435bf1d1d95aafd874a33
diff --git a/compiler/optimizing/load_store_elimination.cc b/compiler/optimizing/load_store_elimination.cc
index 98b8592..8a9acf1 100644
--- a/compiler/optimizing/load_store_elimination.cc
+++ b/compiler/optimizing/load_store_elimination.cc
@@ -670,6 +670,11 @@
return;
}
+ // TODO: analyze VecLoad/VecStore better.
+ if (graph_->HasSIMD()) {
+ return;
+ }
+
LSEVisitor lse_visitor(graph_, heap_location_collector, side_effects_, stats_);
for (HBasicBlock* block : graph_->GetReversePostOrder()) {
lse_visitor.VisitBasicBlock(block);