/art/compiler/optimizing/ |
D | licm_test.cc | 42 graph_ = CreateGraph(); in LICMTest() 50 entry_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop() 51 loop_preheader_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop() 52 loop_header_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop() 53 loop_body_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop() 54 return_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop() 55 exit_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoop() 57 graph_->AddBlock(entry_); in BuildLoop() 58 graph_->AddBlock(loop_preheader_); in BuildLoop() 59 graph_->AddBlock(loop_header_); in BuildLoop() [all …]
|
D | loop_optimization_test.cc | 30 : graph_(CreateGraph()), in LoopOptimizationTest() 31 iva_(new (GetAllocator()) HInductionVarAnalysis(graph_)), in LoopOptimizationTest() 33 graph_, /* compiler_options= */ nullptr, iva_, /* stats= */ nullptr)) { in LoopOptimizationTest() 41 graph_->SetNumberOfVRegs(1); in BuildGraph() 42 entry_block_ = new (GetAllocator()) HBasicBlock(graph_); in BuildGraph() 43 return_block_ = new (GetAllocator()) HBasicBlock(graph_); in BuildGraph() 44 exit_block_ = new (GetAllocator()) HBasicBlock(graph_); in BuildGraph() 45 graph_->AddBlock(entry_block_); in BuildGraph() 46 graph_->AddBlock(return_block_); in BuildGraph() 47 graph_->AddBlock(exit_block_); in BuildGraph() [all …]
|
D | builder.cc | 48 : graph_(graph), in HGraphBuilder() 64 : graph_(graph), in HGraphBuilder() 109 DCHECK(graph_->GetBlocks().empty()); in BuildGraph() 111 graph_->SetNumberOfVRegs(code_item_accessor_.RegistersSize()); in BuildGraph() 112 graph_->SetNumberOfInVRegs(code_item_accessor_.InsSize()); in BuildGraph() 113 graph_->SetMaximumNumberOfOutVRegs(code_item_accessor_.OutsSize()); in BuildGraph() 114 graph_->SetHasTryCatch(code_item_accessor_.TriesSize() != 0); in BuildGraph() 117 ScopedArenaAllocator local_allocator(graph_->GetArenaStack()); in BuildGraph() 118 HBasicBlockBuilder block_builder(graph_, dex_file_, code_item_accessor_, &local_allocator); in BuildGraph() 119 SsaBuilder ssa_builder(graph_, in BuildGraph() [all …]
|
D | select_generator_test.cc | 30 HBasicBlock* if_block = new (GetAllocator()) HBasicBlock(graph_); in ConstructBasicGraphForSelect() 31 HBasicBlock* then_block = new (GetAllocator()) HBasicBlock(graph_); in ConstructBasicGraphForSelect() 32 HBasicBlock* else_block = new (GetAllocator()) HBasicBlock(graph_); in ConstructBasicGraphForSelect() 34 graph_->AddBlock(if_block); in ConstructBasicGraphForSelect() 35 graph_->AddBlock(then_block); in ConstructBasicGraphForSelect() 36 graph_->AddBlock(else_block); in ConstructBasicGraphForSelect() 45 HParameterValue* bool_param = new (GetAllocator()) HParameterValue(graph_->GetDexFile(), in ConstructBasicGraphForSelect() 50 HIntConstant* const1 = graph_->GetIntConstant(1); in ConstructBasicGraphForSelect() 66 graph_->BuildDominatorTree(); in CheckGraphAndTrySelectGenerator() 69 SideEffectsAnalysis side_effects(graph_); in CheckGraphAndTrySelectGenerator() [all …]
|
D | ssa_liveness_analysis_test.cc | 34 graph_ = CreateGraph(); in SetUp() 35 codegen_ = CodeGenerator::Create(graph_, *compiler_options_); in SetUp() 38 entry_ = new (GetAllocator()) HBasicBlock(graph_); in SetUp() 39 graph_->AddBlock(entry_); in SetUp() 40 graph_->SetEntryBlock(entry_); in SetUp() 52 HGraph* graph_; member in art::SsaLivenessAnalysisTest 59 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kInt32); in TEST_F() 67 graph_->BuildDominatorTree(); in TEST_F() 68 SsaLivenessAnalysis ssa_analysis(graph_, codegen_.get(), GetScopedAllocator()); in TEST_F() 79 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F() [all …]
|
D | bounds_check_elimination_test.cc | 37 BoundsCheckEliminationTest() : graph_(CreateGraph()) { in BoundsCheckEliminationTest() 38 graph_->SetHasBoundsChecks(true); in BoundsCheckEliminationTest() 44 graph_->BuildDominatorTree(); in RunBCE() 46 InstructionSimplifier(graph_, /* codegen= */ nullptr).Run(); in RunBCE() 48 SideEffectsAnalysis side_effects(graph_); in RunBCE() 51 GVNOptimization(graph_, side_effects).Run(); in RunBCE() 53 HInductionVarAnalysis induction(graph_); in RunBCE() 56 BoundsCheckElimination(graph_, side_effects, &induction).Run(); in RunBCE() 59 HGraph* graph_; member in art::BoundsCheckEliminationTest 67 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph_); in TEST_F() [all …]
|
D | dead_code_elimination.cc | 231 if (graph_->HasTryCatch()) { in SimplifyAlwaysThrows() 234 HBasicBlock* exit = graph_->GetExitBlock(); in SimplifyAlwaysThrows() 242 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in SimplifyAlwaysThrows() 276 graph_->ClearLoopInformation(); in SimplifyAlwaysThrows() 277 graph_->ClearDominanceInformation(); in SimplifyAlwaysThrows() 278 graph_->BuildDominatorTree(); in SimplifyAlwaysThrows() 325 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in SimplifyIfs() 412 graph_->ClearLoopInformation(); in SimplifyIfs() 413 graph_->ClearDominanceInformation(); in SimplifyIfs() 414 graph_->BuildDominatorTree(); in SimplifyIfs() [all …]
|
D | block_builder.cc | 32 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 …]
|
D | load_store_analysis_test.cc | 27 LoadStoreAnalysisTest() : graph_(CreateGraph()) { } in LoadStoreAnalysisTest() 29 HGraph* graph_; member in art::LoadStoreAnalysisTest 33 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph_); in TEST_F() 34 graph_->AddBlock(entry); in TEST_F() 35 graph_->SetEntryBlock(entry); in TEST_F() 48 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F() 50 graph_->GetDexFile(), dex::TypeIndex(1), 1, DataType::Type::kInt32); in TEST_F() 51 HInstruction* c1 = graph_->GetIntConstant(1); in TEST_F() 52 HInstruction* c2 = graph_->GetIntConstant(2); in TEST_F() 53 HInstruction* c3 = graph_->GetIntConstant(3); in TEST_F() [all …]
|
D | superblock_cloner_test.cc | 39 HBasicBlock* loop_preheader = new (GetAllocator()) HBasicBlock(graph_); in CreateBasicLoopControlFlow() 40 HBasicBlock* loop_header = new (GetAllocator()) HBasicBlock(graph_); in CreateBasicLoopControlFlow() 41 HBasicBlock* loop_body = new (GetAllocator()) HBasicBlock(graph_); in CreateBasicLoopControlFlow() 43 graph_->AddBlock(loop_preheader); in CreateBasicLoopControlFlow() 44 graph_->AddBlock(loop_header); in CreateBasicLoopControlFlow() 45 graph_->AddBlock(loop_body); in CreateBasicLoopControlFlow() 63 HIntConstant* const_0 = graph_->GetIntConstant(0); in CreateBasicLoopDataFlow() 64 HIntConstant* const_1 = graph_->GetIntConstant(1); in CreateBasicLoopDataFlow() 65 HIntConstant* const_128 = graph_->GetIntConstant(128); in CreateBasicLoopDataFlow() 100 graph_->SetHasBoundsChecks(true); in CreateBasicLoopDataFlow() [all …]
|
D | scheduler_test.cc | 76 SchedulerTest() : graph_(CreateGraph()) { } in SchedulerTest() 80 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph_); in TestBuildDependencyGraphAndSchedule() 81 HBasicBlock* block1 = new (GetAllocator()) HBasicBlock(graph_); in TestBuildDependencyGraphAndSchedule() 82 graph_->AddBlock(entry); in TestBuildDependencyGraphAndSchedule() 83 graph_->AddBlock(block1); in TestBuildDependencyGraphAndSchedule() 84 graph_->SetEntryBlock(entry); in TestBuildDependencyGraphAndSchedule() 101 HInstruction* array = new (GetAllocator()) HParameterValue(graph_->GetDexFile(), in TestBuildDependencyGraphAndSchedule() 105 HInstruction* c1 = graph_->GetIntConstant(1); in TestBuildDependencyGraphAndSchedule() 106 HInstruction* c2 = graph_->GetIntConstant(10); in TestBuildDependencyGraphAndSchedule() 140 graph_->GetArtMethod(), in TestBuildDependencyGraphAndSchedule() [all …]
|
D | constant_folding_test.cc | 35 ConstantFoldingTest() : graph_(nullptr) { } in ConstantFoldingTest() 43 graph_ = CreateCFG(data, return_type); in TestCode() 54 ASSERT_NE(graph_, nullptr); in TestCodeOnReadyGraph() 56 StringPrettyPrinter printer_before(graph_); in TestCodeOnReadyGraph() 61 HConstantFolding(graph_, "constant_folding").Run(); in TestCodeOnReadyGraph() 62 GraphChecker graph_checker_cf(graph_); in TestCodeOnReadyGraph() 66 StringPrettyPrinter printer_after_cf(graph_); in TestCodeOnReadyGraph() 71 check_after_cf(graph_); in TestCodeOnReadyGraph() 73 HDeadCodeElimination(graph_, /* stats= */ nullptr, "dead_code_elimination").Run(); in TestCodeOnReadyGraph() 74 GraphChecker graph_checker_dce(graph_); in TestCodeOnReadyGraph() [all …]
|
D | optimizing_unit_test.h | 194 ImprovedOptimizingUnitTest() : graph_(CreateGraph()), in ImprovedOptimizingUnitTest() 203 entry_block_ = new (GetAllocator()) HBasicBlock(graph_); in InitGraph() 204 graph_->AddBlock(entry_block_); in InitGraph() 205 graph_->SetEntryBlock(entry_block_); in InitGraph() 207 return_block_ = new (GetAllocator()) HBasicBlock(graph_); in InitGraph() 208 graph_->AddBlock(return_block_); in InitGraph() 210 exit_block_ = new (GetAllocator()) HBasicBlock(graph_); in InitGraph() 211 graph_->AddBlock(exit_block_); in InitGraph() 212 graph_->SetExitBlock(exit_block_); in InitGraph() 217 parameter_ = new (GetAllocator()) HParameterValue(graph_->GetDexFile(), in InitGraph() [all …]
|
D | side_effects_analysis.cc | 24 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()
|
D | inliner.cc | 133 } else if (graph_->IsDebuggable()) { in Run() 143 if (outermost_graph_ == graph_) { in Run() 144 total_number_of_instructions_ = CountNumberOfInstructions(graph_); in Run() 164 ArenaVector<HBasicBlock*> blocks = graph_->GetReversePostOrder(); in Run() 662 ArtMethod* caller = graph_->GetArtMethod(); in GetInlineCacheJIT() 793 HInstanceFieldGet* result = new (graph_->GetAllocator()) HInstanceFieldGet( in BuildGetReceiverClass() 885 ReferenceTypePropagation rtp_fixup(graph_, in TryInlineMonomorphicCall() 900 HShouldDeoptimizeFlag* deopt_flag = new (graph_->GetAllocator()) in AddCHAGuard() 901 HShouldDeoptimizeFlag(graph_->GetAllocator(), dex_pc); in AddCHAGuard() 902 HInstruction* compare = new (graph_->GetAllocator()) HNotEqual( in AddCHAGuard() [all …]
|
D | induction_var_analysis_test.cc | 45 graph_ = CreateGraph(); in InductionVarAnalysisTest() 53 loop_preheader_[d] = new (GetAllocator()) HBasicBlock(graph_); in BuildForLoop() 54 graph_->AddBlock(loop_preheader_[d]); in BuildForLoop() 55 loop_header_[d] = new (GetAllocator()) HBasicBlock(graph_); in BuildForLoop() 56 graph_->AddBlock(loop_header_[d]); in BuildForLoop() 61 loop_body_[d] = new (GetAllocator()) HBasicBlock(graph_); in BuildForLoop() 62 graph_->AddBlock(loop_body_[d]); in BuildForLoop() 77 graph_->SetNumberOfVRegs(n + 3); in BuildLoopNest() 80 entry_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoopNest() 81 graph_->AddBlock(entry_); in BuildLoopNest() [all …]
|
D | ssa_builder.cc | 34 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() 500 DCHECK(!graph_->IsInSsaForm()); in BuildSsa() 513 SsaRedundantPhiElimination(graph_).Run(); in BuildSsa() [all …]
|
D | ssa_phi_elimination.cc | 34 ScopedArenaAllocator allocator(graph_->GetArenaStack()); in MarkDeadPhis() 46 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in MarkDeadPhis() 53 bool keep_alive = (graph_->IsDebuggable() && phi->HasEnvironmentUses()); in MarkDeadPhis() 95 for (HBasicBlock* block : graph_->GetPostOrder()) { in EliminateDeadPhis() 128 ScopedArenaAllocator allocator(graph_->GetArenaStack()); in Run() 136 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in Run() 143 graph_->GetCurrentInstructionId(), in Run()
|
D | induction_var_range_test.cc | 35 : graph_(CreateGraph()), in InductionVarRangeTest() 36 iva_(new (GetAllocator()) HInductionVarAnalysis(graph_)), in InductionVarRangeTest() 61 graph_->SetNumberOfVRegs(1); in BuildGraph() 62 entry_block_ = new (GetAllocator()) HBasicBlock(graph_); in BuildGraph() 63 exit_block_ = new (GetAllocator()) HBasicBlock(graph_); in BuildGraph() 64 graph_->AddBlock(entry_block_); in BuildGraph() 65 graph_->AddBlock(exit_block_); in BuildGraph() 66 graph_->SetEntryBlock(entry_block_); in BuildGraph() 67 graph_->SetExitBlock(exit_block_); in BuildGraph() 69 x_ = new (GetAllocator()) HParameterValue(graph_->GetDexFile(), in BuildGraph() [all …]
|
D | code_sinking.cc | 29 HBasicBlock* exit = graph_->GetExitBlock(); in Run() 258 ScopedArenaAllocator allocator(graph_->GetArenaStack()); in SinkCodeToUncommonBranch() 260 size_t number_of_instructions = graph_->GetCurrentInstructionId(); in SinkCodeToUncommonBranch() 264 ArenaBitVector post_dominated(&allocator, graph_->GetBlocks().size(), /* expandable= */ false); in SinkCodeToUncommonBranch() 277 for (HBasicBlock* block : graph_->GetPostOrder()) { in SinkCodeToUncommonBranch() 305 for (size_t i = 0, e = graph_->GetBlocks().size(); i < e; ++i) { in SinkCodeToUncommonBranch() 307 finder.Update(graph_->GetBlocks()[i]); in SinkCodeToUncommonBranch() 308 AddInputs(graph_->GetBlocks()[i], processed_instructions, post_dominated, &worklist); in SinkCodeToUncommonBranch() 351 if (graph_->IsDebuggable() || in SinkCodeToUncommonBranch() 354 (user->IsSuspendCheck() && graph_->IsCompilingOsr())) { in SinkCodeToUncommonBranch()
|
D | superblock_cloner.cc | 240 ArenaBitVector visited(arena_, graph_->GetBlocks().size(), false, kArenaAllocSuperblockCloner); in FindBackEdgesLocal() 245 ArenaBitVector visiting(arena_, graph_->GetBlocks().size(), false, kArenaAllocGraphBuilder); in FindBackEdgesLocal() 247 ArenaVector<size_t> successors_visited(graph_->GetBlocks().size(), in FindBackEdgesLocal() 288 for (auto block : graph_->GetBlocks()) { in RecalculateBackEdgesInfo() 297 block_entry = graph_->GetEntryBlock(); in RecalculateBackEdgesInfo() 335 for (HBasicBlock* block : graph_->GetPostOrder()) { in AnalyzeLoopsLocally() 349 for (HBasicBlock* block : graph_->GetPostOrder()) { in AnalyzeLoopsLocally() 367 graph_->ClearDominanceInformation(); in CleanUpControlFlow() 370 arena_, graph_->GetBlocks().size(), false, kArenaAllocSuperblockCloner); in CleanUpControlFlow() 374 graph_->SimplifyCFG(); in CleanUpControlFlow() [all …]
|
D | reference_type_propagation_test.cc | 33 ReferenceTypePropagationTest() : graph_(CreateGraph()), propagation_(nullptr) { } in ReferenceTypePropagationTest() 38 graph_->InitializeInexactObjectRTI(handles); in SetupPropagation() 39 propagation_ = new (GetAllocator()) ReferenceTypePropagation(graph_, in SetupPropagation() 69 HGraph* graph_; member in art::ReferenceTypePropagationTest 84 EXPECT_TRUE(graph_->GetInexactObjectRti().IsEqual(ObjectType(false))); in TEST_F()
|
D | side_effects_analysis.h | 30 graph_(graph), in HOptimization() 49 HGraph* graph_; variable
|
D | licm.cc | 88 visited = new (graph_->GetAllocator()) ArenaBitVector(graph_->GetAllocator(), in Run() 89 graph_->GetBlocks().size(), in Run() 95 for (HBasicBlock* block : graph_->GetPostOrder()) { in Run()
|
D | ssa_builder.h | 56 : graph_(graph), in SsaBuilder() 66 graph_->InitializeInexactObjectRTI(handles); in SsaBuilder() 129 HGraph* const graph_; variable
|