diff options
Diffstat (limited to 'compiler/optimizing/optimizing_unit_test.h')
-rw-r--r-- | compiler/optimizing/optimizing_unit_test.h | 74 |
1 files changed, 4 insertions, 70 deletions
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 <memory> -#include <string_view> #include <vector> -#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<HBasicBlock*> 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<HBasicBlock*, uint32_t> 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 << "<Unnamed B" << blk->GetBlockId() << ">"; - } - } - - const AdjacencyListGraph& alg_; - }; - Namer namer(*this); - return graph_->Dump(os, namer); - } - private: HGraph* graph_; SafeMap<const std::string_view, HBasicBlock*> name_to_block_; SafeMap<const HBasicBlock*, const std::string_view> 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_ |