From 47ac53100303e7e864b7f6d65f17b23088ccf1d6 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Fri, 22 Jan 2021 08:41:08 +0000 Subject: Revert "Partial Load Store Elimination" This reverts commit b8686ce4c93eba7192ed7ef89e7ffd9f3aa6cd07. Bug: 67037140 Reason for revert: Fails a few tests. Change-Id: Icf0635bffbfbba93bf0a5b854a9582c418198136 --- compiler/optimizing/optimizing_unit_test.h | 74 ++---------------------------- 1 file changed, 4 insertions(+), 70 deletions(-) (limited to 'compiler/optimizing/optimizing_unit_test.h') diff --git a/compiler/optimizing/optimizing_unit_test.h b/compiler/optimizing/optimizing_unit_test.h index cf97c41983..89b606d9d2 100644 --- a/compiler/optimizing/optimizing_unit_test.h +++ b/compiler/optimizing/optimizing_unit_test.h @@ -18,10 +18,8 @@ #define ART_COMPILER_OPTIMIZING_OPTIMIZING_UNIT_TEST_H_ #include -#include #include -#include "base/indenter.h" #include "base/malloc_arena_pool.h" #include "base/scoped_arena_allocator.h" #include "builder.h" @@ -32,9 +30,7 @@ #include "dex/standard_dex_file.h" #include "driver/dex_compilation_unit.h" #include "graph_checker.h" -#include "gtest/gtest.h" #include "handle_scope-inl.h" -#include "handle_scope.h" #include "mirror/class_loader.h" #include "mirror/dex_cache.h" #include "nodes.h" @@ -42,6 +38,8 @@ #include "ssa_builder.h" #include "ssa_liveness_analysis.h" +#include "gtest/gtest.h" + namespace art { #define NUM_INSTRUCTIONS(...) \ @@ -185,8 +183,8 @@ class OptimizingUnitTestHelper { } } - void InitGraph(VariableSizedHandleScope* handles = nullptr) { - CreateGraph(handles); + void InitGraph() { + CreateGraph(); entry_block_ = AddNewBlock(); return_block_ = AddNewBlock(); exit_block_ = AddNewBlock(); @@ -248,48 +246,6 @@ class OptimizingUnitTestHelper { return environment; } - void EnsurePredecessorOrder(HBasicBlock* target, std::initializer_list preds) { - // Make sure the given preds and block predecessors have the same blocks. - BitVector bv(preds.size(), false, Allocator::GetMallocAllocator()); - auto preds_and_idx = ZipCount(MakeIterationRange(target->GetPredecessors())); - bool correct_preds = preds.size() == target->GetPredecessors().size() && - std::all_of(preds.begin(), preds.end(), [&](HBasicBlock* pred) { - return std::any_of(preds_and_idx.begin(), - preds_and_idx.end(), - // Make sure every target predecessor is used only - // once. - [&](std::pair cur) { - if (cur.first == pred && !bv.IsBitSet(cur.second)) { - bv.SetBit(cur.second); - return true; - } else { - return false; - } - }); - }) && - bv.NumSetBits() == preds.size(); - auto dump_list = [](auto it) { - std::ostringstream oss; - oss << "["; - bool first = true; - for (HBasicBlock* b : it) { - if (!first) { - oss << ", "; - } - first = false; - oss << b->GetBlockId(); - } - oss << "]"; - return oss.str(); - }; - ASSERT_TRUE(correct_preds) << "Predecessors of " << target->GetBlockId() << " are " - << dump_list(target->GetPredecessors()) << " not " - << dump_list(preds); - if (correct_preds) { - std::copy(preds.begin(), preds.end(), target->predecessors_.begin()); - } - } - protected: bool CheckGraph(HGraph* graph, bool check_ref_type_info, std::ostream& oss) { GraphChecker checker(graph); @@ -386,34 +342,12 @@ class AdjacencyListGraph { AdjacencyListGraph& operator=(AdjacencyListGraph&&) = default; AdjacencyListGraph& operator=(const AdjacencyListGraph&) = default; - std::ostream& Dump(std::ostream& os) const { - struct Namer : public BlockNamer { - public: - explicit Namer(const AdjacencyListGraph& alg) : BlockNamer(), alg_(alg) {} - std::ostream& PrintName(std::ostream& os, HBasicBlock* blk) const override { - if (alg_.HasBlock(blk)) { - return os << alg_.GetName(blk) << " (" << blk->GetBlockId() << ")"; - } else { - return os << "GetBlockId() << ">"; - } - } - - const AdjacencyListGraph& alg_; - }; - Namer namer(*this); - return graph_->Dump(os, namer); - } - private: HGraph* graph_; SafeMap name_to_block_; SafeMap block_to_name_; }; -inline std::ostream& operator<<(std::ostream& oss, const AdjacencyListGraph& alg) { - return alg.Dump(oss); -} - } // namespace art #endif // ART_COMPILER_OPTIMIZING_OPTIMIZING_UNIT_TEST_H_ -- cgit v1.2.3-59-g8ed1b