Home
last modified time | relevance | path

Searched refs:graph_ (Results 1 – 25 of 71) sorted by relevance

123

/art/compiler/optimizing/
Dlicm_test.cc43 graph_ = CreateGraph(); in LICMTest()
51 entry_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop()
52 loop_preheader_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop()
53 loop_header_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop()
54 loop_body_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop()
55 return_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop()
56 exit_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop()
58 graph_->AddBlock(entry_); in BuildLoop()
59 graph_->AddBlock(loop_preheader_); in BuildLoop()
60 graph_->AddBlock(loop_header_); in BuildLoop()
[all …]
Dloop_optimization_test.cc35 graph_ = CreateGraph(); in SetUp()
37 iva_ = new (GetAllocator()) HInductionVarAnalysis(graph_); in SetUp()
40 codegen_ = CodeGenerator::Create(graph_, *compiler_options_); in SetUp()
43 graph_, *codegen_.get(), iva_, /* stats= */ nullptr); in SetUp()
49 graph_ = nullptr; in TearDown()
58 graph_->SetNumberOfVRegs(1); in BuildGraph()
59 entry_block_ = new (GetAllocator()) HBasicBlock(graph_); in BuildGraph()
60 return_block_ = new (GetAllocator()) HBasicBlock(graph_); in BuildGraph()
61 exit_block_ = new (GetAllocator()) HBasicBlock(graph_); in BuildGraph()
62 graph_->AddBlock(entry_block_); in BuildGraph()
[all …]
Dbuilder.cc44 : graph_(graph), in HGraphBuilder()
57 : graph_(graph), in HGraphBuilder()
101 DCHECK(graph_->GetBlocks().empty()); in BuildGraph()
103 graph_->SetNumberOfVRegs(code_item_accessor_.RegistersSize()); in BuildGraph()
104 graph_->SetNumberOfInVRegs(code_item_accessor_.InsSize()); in BuildGraph()
105 graph_->SetMaximumNumberOfOutVRegs(code_item_accessor_.OutsSize()); in BuildGraph()
108 ScopedArenaAllocator local_allocator(graph_->GetArenaStack()); in BuildGraph()
109 HBasicBlockBuilder block_builder(graph_, dex_file_, code_item_accessor_, &local_allocator); in BuildGraph()
110 SsaBuilder ssa_builder(graph_, in BuildGraph()
114 HInstructionBuilder instruction_builder(graph_, in BuildGraph()
[all …]
Dnodes_test.cc40 AdjacencyListGraph alg(graph_, in TEST_F()
57 graph_->ClearDominanceInformation(); in TEST_F()
58 graph_->BuildDominatorTree(); in TEST_F()
62 std::all_of(graph_->GetBlocks().begin(), graph_->GetBlocks().end(), [&](HBasicBlock* b) { in TEST_F()
63 return b == graph_->GetEntryBlock() || b == nullptr || b->GetDominator() != nullptr; in TEST_F()
66 std::any_of(graph_->GetBlocks().begin(), graph_->GetBlocks().end(), [&](HBasicBlock* b) { in TEST_F()
71 graph_->ClearLoopInformation(); in TEST_F()
72 graph_->ClearDominanceInformation(); in TEST_F()
76 std::none_of(graph_->GetBlocks().begin(), graph_->GetBlocks().end(), [&](HBasicBlock* b) { in TEST_F()
80 std::all_of(graph_->GetBlocks().begin(), graph_->GetBlocks().end(), [&](HBasicBlock* b) { in TEST_F()
[all …]
Dload_store_analysis_test.cc52 return AdjacencyListGraph(graph_, GetAllocator(), entry_name, exit_name, adj); in SetupFromAdjacencyList()
56 return ExecutionSubgraphTestHelper::CalculateValidity(graph_, esg); in IsValidSubgraph()
60 return ExecutionSubgraphTestHelper::CalculateValidity(graph_, &esg); in IsValidSubgraph()
68 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph_); in TEST_F()
69 graph_->AddBlock(entry); in TEST_F()
70 graph_->SetEntryBlock(entry); in TEST_F()
83 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
85 graph_->GetDexFile(), dex::TypeIndex(1), 1, DataType::Type::kInt32); in TEST_F()
86 HInstruction* c1 = graph_->GetIntConstant(1); in TEST_F()
87 HInstruction* c2 = graph_->GetIntConstant(2); in TEST_F()
[all …]
Dbounds_check_elimination_test.cc38 BoundsCheckEliminationTest() : graph_(CreateGraph()) { in BoundsCheckEliminationTest()
39 graph_->SetHasBoundsChecks(true); in BoundsCheckEliminationTest()
45 graph_->BuildDominatorTree(); in RunBCE()
47 InstructionSimplifier(graph_, /* codegen= */ nullptr).Run(); in RunBCE()
49 SideEffectsAnalysis side_effects(graph_); in RunBCE()
52 GVNOptimization(graph_, side_effects).Run(); in RunBCE()
54 HInductionVarAnalysis induction(graph_); in RunBCE()
57 BoundsCheckElimination(graph_, side_effects, &induction).Run(); in RunBCE()
60 HGraph* graph_; member in art::BoundsCheckEliminationTest
68 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph_); in TEST_F()
[all …]
Dssa_liveness_analysis_test.cc35 graph_ = CreateGraph(); in SetUp()
37 codegen_ = CodeGenerator::Create(graph_, *compiler_options_); in SetUp()
40 entry_ = new (GetAllocator()) HBasicBlock(graph_); in SetUp()
41 graph_->AddBlock(entry_); in SetUp()
42 graph_->SetEntryBlock(entry_); in SetUp()
54 HGraph* graph_; member in art::SsaLivenessAnalysisTest
62 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kInt32); in TEST_F()
70 graph_->BuildDominatorTree(); in TEST_F()
71 SsaLivenessAnalysis ssa_analysis(graph_, codegen_.get(), GetScopedAllocator()); in TEST_F()
82 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
[all …]
Dblock_builder.cc32 graph_(graph), in HBasicBlockBuilder()
55 block = new (allocator_) HBasicBlock(graph_, semantic_dex_pc); in MaybeCreateBlockAt()
147 HBasicBlock* block = graph_->GetEntryBlock(); in ConnectBasicBlocks()
148 graph_->AddBlock(block); in ConnectBasicBlocks()
170 graph_->AddBlock(block); in ConnectBasicBlocks()
192 block->AddSuccessor(graph_->GetExitBlock()); in ConnectBasicBlocks()
204 graph_->AddBlock(block); in ConnectBasicBlocks()
221 graph_->AddBlock(graph_->GetExitBlock()); in ConnectBasicBlocks()
250 DCHECK(!graph_->GetEntryBlock()->GetSuccessors().empty()) in MightHaveLiveNormalPredecessors()
287 for (HBasicBlock* block : graph_->GetBlocks()) { in InsertTryBoundaryBlocks()
[all …]
Dexecution_subgraph.cc32 : graph_(graph), in ExecutionSubgraph()
34 allowed_successors_(graph_->GetBlocks().size(), in ExecutionSubgraph()
38 allocator_, graph_->GetBlocks().size(), /*expandable=*/ false, kArenaAllocLSA),
85 ScopedArenaAllocator temporaries(graph_->GetArenaStack()); in Prune()
87 graph_->GetBlocks().size(), temporaries.Adapter(kArenaAllocLSA)); in Prune()
94 const size_t num_blocks = graph_->GetBlocks().size(); in Prune()
114 const HBasicBlock* cur_block = graph_->GetEntryBlock(); in Prune()
136 DCHECK_GE(last_succ_seen[graph_->GetEntryBlock()->GetBlockId()], in Prune()
137 static_cast<ssize_t>(graph_->GetEntryBlock()->GetSuccessors().size())); in Prune()
140 const HBasicBlock* last = graph_->GetBlocks()[current_path.back()]; in Prune()
[all …]
Ddead_code_elimination.cc251 HBasicBlock* exit = graph_->GetExitBlock(); in SimplifyAlwaysThrows()
252 if (!graph_->HasAlwaysThrowingInvokes() || exit == nullptr) { in SimplifyAlwaysThrows()
259 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in SimplifyAlwaysThrows()
314 graph_->ClearLoopInformation(); in SimplifyAlwaysThrows()
315 graph_->ClearDominanceInformation(); in SimplifyAlwaysThrows()
316 graph_->BuildDominatorTree(); in SimplifyAlwaysThrows()
329 for (HBasicBlock* block : graph_->GetPostOrder()) { in SimplifyIfs()
440 graph_->ClearLoopInformation(); in SimplifyIfs()
441 graph_->ClearDominanceInformation(); in SimplifyIfs()
442 graph_->BuildDominatorTree(); in SimplifyIfs()
[all …]
Dexecution_subgraph.h57 explicit BlockIdToBlockTransformer(const HGraph* graph) : graph_(graph) {} in BlockIdToBlockTransformer()
60 return graph_; in GetGraph()
64 DCHECK_LT(id, graph_->GetBlocks().size()) << graph_->PrettyMethod(); in GetBlock()
65 HBasicBlock* blk = graph_->GetBlocks()[id]; in GetBlock()
75 const HGraph* const graph_;
131 : graph_(graph), in ExcludedCohort()
132 entry_blocks_(allocator, graph_->GetBlocks().size(), false, kArenaAllocLSA), in ExcludedCohort()
133 exit_blocks_(allocator, graph_->GetBlocks().size(), false, kArenaAllocLSA), in ExcludedCohort()
134 blocks_(allocator, graph_->GetBlocks().size(), false, kArenaAllocLSA) {} in ExcludedCohort()
150 return Filter(MakeIterationRange(graph_->GetReversePostOrder()), in EntryBlocksReversePostOrder()
[all …]
Dselect_generator_test.cc32 AddParameter(new (GetAllocator()) HParameterValue(graph_->GetDexFile(), in InitGraphAndParameters()
50 HParameterValue* bool_param = new (GetAllocator()) HParameterValue(graph_->GetDexFile(), in ConstructBasicGraphForSelect()
55 HIntConstant* const1 = graph_->GetIntConstant(1); in ConstructBasicGraphForSelect()
71 graph_->BuildDominatorTree(); in CheckGraphAndTrySelectGenerator()
74 SideEffectsAnalysis side_effects(graph_); in CheckGraphAndTrySelectGenerator()
76 return HSelectGenerator(graph_, /*handles*/ nullptr, /*stats*/ nullptr).Run(); in CheckGraphAndTrySelectGenerator()
86 ArenaVector<HInstruction*> current_locals({parameters_[0], graph_->GetIntConstant(1)}, in TEST_F()
Dscheduler_test.cc71 SchedulerTest() : graph_(CreateGraph()) { } in SchedulerTest()
75 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph_); in TestBuildDependencyGraphAndSchedule()
76 HBasicBlock* block1 = new (GetAllocator()) HBasicBlock(graph_); in TestBuildDependencyGraphAndSchedule()
77 graph_->AddBlock(entry); in TestBuildDependencyGraphAndSchedule()
78 graph_->AddBlock(block1); in TestBuildDependencyGraphAndSchedule()
79 graph_->SetEntryBlock(entry); in TestBuildDependencyGraphAndSchedule()
96 HInstruction* array = new (GetAllocator()) HParameterValue(graph_->GetDexFile(), in TestBuildDependencyGraphAndSchedule()
100 HInstruction* c1 = graph_->GetIntConstant(1); in TestBuildDependencyGraphAndSchedule()
101 HInstruction* c2 = graph_->GetIntConstant(10); in TestBuildDependencyGraphAndSchedule()
135 graph_->GetArtMethod(), in TestBuildDependencyGraphAndSchedule()
[all …]
Dinliner.cc140 } else if (graph_->IsDebuggable()) { in Run()
151 DCHECK(!graph_->HasAlwaysThrowingInvokes()); in Run()
155 if (outermost_graph_ == graph_) { in Run()
156 total_number_of_instructions_ = CountNumberOfInstructions(graph_); in Run()
175 ArenaVector<HBasicBlock*> blocks = graph_->GetReversePostOrder(); in Run()
213 return did_inline || graph_->HasAlwaysThrowingInvokes(); in Run()
488 if (outermost_graph_ == graph_) { in TryInline()
503 graph_->SetHasAlwaysThrowingInvokes(/* value= */ true); in TryInline()
655 ArtMethod* caller = graph_->GetArtMethod(); in GetInlineCacheJIT()
658 ProfilingInfo* profiling_info = graph_->GetProfilingInfo(); in GetInlineCacheJIT()
[all …]
Dcode_sinking.cc32 if (graph_->GetExitBlock() == nullptr) { in Run()
43 HBasicBlock* exit = graph_->GetExitBlock(); in UncommonBranchSinking()
330 ScopedArenaAllocator allocator(graph_->GetArenaStack()); in SinkCodeToUncommonBranch()
332 size_t number_of_instructions = graph_->GetCurrentInstructionId(); in SinkCodeToUncommonBranch()
336 ArenaBitVector post_dominated(&allocator, graph_->GetBlocks().size(), /* expandable= */ false); in SinkCodeToUncommonBranch()
349 for (HBasicBlock* block : graph_->GetPostOrder()) { in SinkCodeToUncommonBranch()
355 DCHECK_NE(block, graph_->GetExitBlock()) in SinkCodeToUncommonBranch()
405 for (size_t i = 0, e = graph_->GetBlocks().size(); i < e; ++i) { in SinkCodeToUncommonBranch()
407 finder.Update(graph_->GetBlocks()[i]); in SinkCodeToUncommonBranch()
408 AddInputs(graph_->GetBlocks()[i], processed_instructions, post_dominated, &worklist); in SinkCodeToUncommonBranch()
[all …]
Dconstant_folding_test.cc37 ConstantFoldingTest() : graph_(nullptr) { } in ConstantFoldingTest()
45 graph_ = CreateCFG(data, return_type); in TestCode()
56 ASSERT_NE(graph_, nullptr); in TestCodeOnReadyGraph()
58 StringPrettyPrinter printer_before(graph_); in TestCodeOnReadyGraph()
64 graph_, /* stats= */ nullptr, "constant_folding", /* use_all_optimizations= */ true); in TestCodeOnReadyGraph()
66 GraphChecker graph_checker_cf(graph_); in TestCodeOnReadyGraph()
70 StringPrettyPrinter printer_after_cf(graph_); in TestCodeOnReadyGraph()
75 check_after_cf(graph_); in TestCodeOnReadyGraph()
77 HDeadCodeElimination(graph_, /* stats= */ nullptr, "dead_code_elimination").Run(); in TestCodeOnReadyGraph()
78 GraphChecker graph_checker_dce(graph_); in TestCodeOnReadyGraph()
[all …]
Dload_store_elimination_test.cc72 graph_->BuildDominatorTree(); in PerformLSE()
73 LoadStoreElimination lse(graph_, /*stats=*/nullptr); in PerformLSE()
81 graph_->ClearDominanceInformation(); in PerformLSEWithPartial()
93 graph_->ClearDominanceInformation(); in PerformLSENoPartial()
104 InstructionSimplifier simp(graph_, /*codegen=*/nullptr); in PerformSimplifications()
114 HInstruction* c1 = graph_->GetIntConstant(1); in CreateEntryBlockInstructions()
115 HInstruction* c4 = graph_->GetIntConstant(4); in CreateEntryBlockInstructions()
143 HInstruction* c0 = graph_->GetIntConstant(0); in CreateTestControlFlowGraph()
144 HInstruction* c1 = graph_->GetIntConstant(1); in CreateTestControlFlowGraph()
145 HInstruction* c128 = graph_->GetIntConstant(128); in CreateTestControlFlowGraph()
[all …]
Dexecution_subgraph_test.cc81 ExecutionSubgraphTest() : graph_(CreateGraph()) {} in ExecutionSubgraphTest()
86 return AdjacencyListGraph(graph_, GetAllocator(), entry_name, exit_name, adj); in SetupFromAdjacencyList()
90 return ExecutionSubgraphTestHelper::CalculateValidity(graph_, esg); in IsValidSubgraph()
94 return ExecutionSubgraphTestHelper::CalculateValidity(graph_, &esg); in IsValidSubgraph()
97 HGraph* graph_; member in art::ExecutionSubgraphTest
144 ASSERT_TRUE(ExecutionSubgraph::CanAnalyse(graph_)); in TEST_F()
145 ExecutionSubgraph esg(graph_, GetScopedAllocator()); in TEST_F()
231 ASSERT_TRUE(ExecutionSubgraph::CanAnalyse(graph_)); in TEST_F()
232 ExecutionSubgraph esg(graph_, GetScopedAllocator()); in TEST_F()
294 ASSERT_TRUE(ExecutionSubgraph::CanAnalyse(graph_)); in TEST_F()
[all …]
Dsuperblock_cloner_test.cc38 AddParameter(new (GetAllocator()) HParameterValue(graph_->GetDexFile(), in InitGraphAndParameters()
68 HIntConstant* const_0 = graph_->GetIntConstant(0); in CreateBasicLoopDataFlow()
69 HIntConstant* const_1 = graph_->GetIntConstant(1); in CreateBasicLoopDataFlow()
70 HIntConstant* const_128 = graph_->GetIntConstant(128); in CreateBasicLoopDataFlow()
105 graph_->SetHasBoundsChecks(true); in CreateBasicLoopDataFlow()
124 graph_->BuildDominatorTree(); in TEST_F()
128 CloneAndReplaceInstructionVisitor visitor(graph_); in TEST_F()
156 graph_->BuildDominatorTree(); in TEST_F()
160 arena, graph_->GetBlocks().size(), false, kArenaAllocSuperblockCloner); in TEST_F()
167 SuperblockCloner cloner(graph_, in TEST_F()
[all …]
Dreference_type_propagation_test.cc43 ReferenceTypePropagationTestBase() : graph_(nullptr), propagation_(nullptr) { in ReferenceTypePropagationTestBase()
50 graph_ = CreateGraph(handles); in SetupPropagation()
52 ReferenceTypePropagation(graph_, Handle<mirror::DexCache>(), true, "test_prop"); in SetupPropagation()
58 return propagation_->MergeTypes(a, b, graph_->GetHandleCache()); in MergeTypes()
68 return ReferenceTypeInfo::Create(graph_->GetHandleCache()->GetObjectClassHandle(), is_exact); in ObjectType()
73 return ReferenceTypeInfo::Create(graph_->GetHandleCache()->GetStringClassHandle(), is_exact); in StringType()
77 HGraph* graph_; member in art::ReferenceTypePropagationTestBase
181 EXPECT_TRUE(graph_->GetInexactObjectRti().IsEqual(ObjectType(false))); in TEST_F()
289 AdjacencyListGraph alg(graph_, GetAllocator(), "start", "exit", edges); in RunVisitListTest()
292 HParameterValue(graph_->GetDexFile(), dex::TypeIndex(1), 1, DataType::Type::kReference); in RunVisitListTest()
[all …]
Dssa_builder.cc34 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in FixNullConstantType()
60 equality_instr->ReplaceInput(graph_->GetNullConstant(), int_operand == right ? 1 : 0); in FixNullConstantType()
67 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in EquivalentPhisCleanup()
89 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in FixEnvironmentPhis()
241 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in RunPrimitiveTypePropagation()
441 DCHECK(graph_->HasIrreducibleLoops()); in ReplaceUninitializedStringPhis()
454 if (graph_->IsDebuggable()) { in RemoveRedundantUninitializedStrings()
469 new_instance->ReplaceWith(graph_->GetNullConstant()); in RemoveRedundantUninitializedStrings()
516 DCHECK(!graph_->IsInSsaForm()); in BuildSsa()
529 SsaRedundantPhiElimination(graph_).Run(); in BuildSsa()
[all …]
Doptimizing_unit_test.h150 const std::vector<Edge>& adj) : graph_(graph) { in AdjacencyListGraph()
152 HBasicBlock* blk = new (alloc) HBasicBlock(graph_); in AdjacencyListGraph()
153 graph_->AddBlock(blk); in AdjacencyListGraph()
158 graph_->SetEntryBlock(entry); in AdjacencyListGraph()
159 graph_->SetExitBlock(exit); in AdjacencyListGraph()
167 graph_->ClearReachabilityInformation(); in AdjacencyListGraph()
168 graph_->ComputeDominanceInformation(); in AdjacencyListGraph()
169 graph_->ComputeReachabilityInformation(); in AdjacencyListGraph()
207 return graph_->Dump(os, /* codegen_= */ nullptr, namer); in Dump()
211 HGraph* graph_;
[all …]
Dside_effects_analysis.cc24 block_effects_.resize(graph_->GetBlocks().size()); in Run()
25 loop_effects_.resize(graph_->GetBlocks().size()); in Run()
29 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in Run()
40 for (HBasicBlock* block : graph_->GetPostOrder()) { in Run()
Dinduction_var_analysis_test.cc46 graph_ = CreateGraph(); in InductionVarAnalysisTest()
54 loop_preheader_[d] = new (GetAllocator()) HBasicBlock(graph_); in BuildForLoop()
55 graph_->AddBlock(loop_preheader_[d]); in BuildForLoop()
56 loop_header_[d] = new (GetAllocator()) HBasicBlock(graph_); in BuildForLoop()
57 graph_->AddBlock(loop_header_[d]); in BuildForLoop()
62 loop_body_[d] = new (GetAllocator()) HBasicBlock(graph_); in BuildForLoop()
63 graph_->AddBlock(loop_body_[d]); in BuildForLoop()
78 graph_->SetNumberOfVRegs(n + 3); in BuildLoopNest()
81 entry_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoopNest()
82 graph_->AddBlock(entry_); in BuildLoopNest()
[all …]
Dinduction_var_range_test.cc36 : graph_(CreateGraph()), in InductionVarRangeTest()
37 iva_(new (GetAllocator()) HInductionVarAnalysis(graph_)), in InductionVarRangeTest()
62 graph_->SetNumberOfVRegs(1); in BuildGraph()
63 entry_block_ = new (GetAllocator()) HBasicBlock(graph_); in BuildGraph()
64 exit_block_ = new (GetAllocator()) HBasicBlock(graph_); in BuildGraph()
65 graph_->AddBlock(entry_block_); in BuildGraph()
66 graph_->AddBlock(exit_block_); in BuildGraph()
67 graph_->SetEntryBlock(entry_block_); in BuildGraph()
68 graph_->SetExitBlock(exit_block_); in BuildGraph()
70 x_ = new (GetAllocator()) HParameterValue(graph_->GetDexFile(), in BuildGraph()
[all …]

123