/art/compiler/optimizing/ |
D | ssa_builder.h | 113 bool TypeInputsOfPhi(HPhi* phi, ScopedArenaVector<HPhi*>* worklist); 114 bool UpdatePrimitiveType(HPhi* phi, ScopedArenaVector<HPhi*>* worklist); 115 void ProcessPrimitiveTypePropagationWorklist(ScopedArenaVector<HPhi*>* worklist); 119 HPhi* GetFloatDoubleOrReferenceEquivalentOfPhi(HPhi* phi, DataType::Type type);
|
D | ssa_phi_elimination.cc | 37 ScopedArenaVector<HPhi*> worklist(allocator.Adapter(kArenaAllocSsaPhiElimination)); in MarkDeadPhis() 43 ScopedArenaSet<HPhi*> initially_live(allocator.Adapter(kArenaAllocSsaPhiElimination)); in MarkDeadPhis() 48 HPhi* phi = inst_it.Current()->AsPhi(); in MarkDeadPhis() 76 HPhi* phi = worklist.back(); in MarkDeadPhis() 79 HPhi* input = raw_input->AsPhi(); in MarkDeadPhis() 98 HPhi* phi; in EliminateDeadPhis() 131 ScopedArenaVector<HPhi*> worklist(allocator.Adapter(kArenaAllocSsaPhiElimination)); in Run() 147 ScopedArenaVector<HPhi*> cycle_worklist(allocator.Adapter(kArenaAllocSsaPhiElimination)); in Run() 150 HPhi* phi = worklist.back(); in Run() 191 HPhi* current = cycle_worklist[i]; in Run() [all …]
|
D | ssa_builder.cc | 69 HPhi* phi = it.Current()->AsPhi(); in EquivalentPhisCleanup() 70 HPhi* next = phi->GetNextEquivalentPhiWithSameType(); in EquivalentPhisCleanup() 91 HPhi* phi = it_phis.Current()->AsPhi(); in FixEnvironmentPhis() 111 ScopedArenaVector<HPhi*>* worklist) { in AddDependentInstructionsToWorklist() 129 static bool TypePhiFromInputs(HPhi* phi) { in TypePhiFromInputs() 139 DataType::Type input_type = HPhi::ToPhiType(input->GetType()); in TypePhiFromInputs() 173 bool SsaBuilder::TypeInputsOfPhi(HPhi* phi, ScopedArenaVector<HPhi*>* worklist) { in TypeInputsOfPhi() 180 DCHECK(HPhi::ToPhiType(input->GetType()) == common_type); in TypeInputsOfPhi() 219 bool SsaBuilder::UpdatePrimitiveType(HPhi* phi, ScopedArenaVector<HPhi*>* worklist) { in UpdatePrimitiveType() 239 ScopedArenaVector<HPhi*> worklist(local_allocator_->Adapter(kArenaAllocGraphBuilder)); in RunPrimitiveTypePropagation() [all …]
|
D | induction_var_analysis_test.cc | 109 basic_[d] = new (GetAllocator()) HPhi(GetAllocator(), d, 0, DataType::Type::kInt32); in BuildLoopNest() 125 HPhi* BuildIf(int d, HBasicBlock** ifT, HBasicBlock** ifF) { in BuildIf() 142 HPhi* select_phi = new (GetAllocator()) HPhi(GetAllocator(), -1, 0, DataType::Type::kInt32); in BuildIf() 154 HPhi* InsertLoopPhi(int vreg, int d) { in InsertLoopPhi() 155 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), vreg, 0, DataType::Type::kInt32); in InsertLoopPhi() 224 HPhi* basic_[10]; // "vreg_d", the "i_d" 313 HPhi* k_header = InsertLoopPhi(0, 0); in TEST_F() 342 HPhi* k_header = InsertLoopPhi(0, 0); in TEST_F() 347 HPhi* k_body = BuildIf(0, &ifTrue, &ifFalse); in TEST_F() 380 HPhi* k = BuildIf(0, &ifTrue, &ifFalse); in TEST_F() [all …]
|
D | loop_optimization.h | 205 void GenerateVecReductionPhi(HPhi* phi); 206 void GenerateVecReductionPhiInputs(HPhi* phi, HInstruction* reduction); 249 bool TrySetPhiInduction(HPhi* phi, bool restrict_uses); 250 bool TrySetPhiReduction(HPhi* phi); 254 bool TrySetSimpleLoopHeader(HBasicBlock* block, /*out*/ HPhi** main_phi);
|
D | select_generator.cc | 74 static HPhi* GetSingleChangedPhi(HBasicBlock* block, size_t index1, size_t index2) { in GetSingleChangedPhi() 77 HPhi* select_phi = nullptr; in GetSingleChangedPhi() 79 HPhi* phi = it.Current()->AsPhi(); in GetSingleChangedPhi() 140 HPhi* phi = GetSingleChangedPhi(merge_block, predecessor_index_true, predecessor_index_false); in Run()
|
D | select_generator_test.cc | 63 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); in ConstructBasicGraphForSelect()
|
D | superblock_cloner.cc | 63 static bool ArePhiInputsTheSame(const HPhi* phi) { in ArePhiInputsTheSame() 178 HPhi* orig_phi = it.Current()->AsPhi(); in RemapOrigInternalOrIncomingEdge() 179 HPhi* copy_phi = GetInstrCopy(orig_phi)->AsPhi(); in RemapOrigInternalOrIncomingEdge() 208 HPhi* orig_phi = it.Current()->AsPhi(); in AddCopyInternalEdge() 209 HPhi* copy_phi = GetInstrCopy(orig_phi)->AsPhi(); in AddCopyInternalEdge() 224 HPhi* orig_phi = it.Current()->AsPhi(); in RemapCopyInternalEdge() 252 HPhi* orig_phi = it.Current()->AsPhi(); in CopyIncomingEdgesForVersioning() 253 HPhi* copy_phi = GetInstrCopy(orig_phi)->AsPhi(); in CopyIncomingEdgesForVersioning() 426 void SuperblockCloner::ResolvePhi(HPhi* phi) { in ResolvePhi() 550 HPhi* orig_phi = it.Current()->AsPhi(); in ResolveDataFlow() [all …]
|
D | register_allocator_linear_scan.h | 32 class HPhi; variable 89 void AllocateSpillSlotForCatchPhi(HPhi* phi);
|
D | loop_optimization_test.cc | 238 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); in TEST_F() 303 HPhi* header_phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); in TEST_F() 329 HPhi* new_preheader_phi = new_preheader->GetFirstPhi()->AsPhi(); in TEST_F()
|
D | induction_var_analysis.h | 244 void AssignCycle(HPhi* phi); 245 ArenaSet<HInstruction*>* LookupCycle(HPhi* phi); 277 ArenaSafeMap<HPhi*, ArenaSet<HInstruction*>> cycles_;
|
D | bounds_check_elimination_test.cc | 391 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32); in BuildSSAGraph1() 511 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32); in BuildSSAGraph2() 620 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32); in BuildSSAGraph3() 719 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32); in BuildSSAGraph4() 815 HPhi* phi_i = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); in TEST_F() 831 HPhi* phi_j = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); in TEST_F() 1001 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); in TEST_F()
|
D | induction_var_range.h | 149 ArenaSet<HInstruction*>* LookupCycle(HPhi* phi) const { in LookupCycle() 158 bool IsClassified(HPhi* phi) const { in IsClassified()
|
D | register_allocator_test.cc | 61 HGraph* BuildIfElseWithPhi(HPhi** phi, HInstruction** input1, HInstruction** input2); 340 HPhi* phi = loop_header->GetFirstPhi()->AsPhi(); in Loop3() 488 HGraph* RegisterAllocatorTest::BuildIfElseWithPhi(HPhi** phi, in BuildIfElseWithPhi() 528 *phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); in BuildIfElseWithPhi() 560 HPhi *phi; in PhiHint() 866 HPhi* user = new (GetAllocator()) HPhi(GetAllocator(), 0, 1, DataType::Type::kInt32); in TEST_F()
|
D | loop_optimization.cc | 653 HPhi* phi = it.Current()->AsPhi(); in SimplifyInduction() 741 HPhi* main_phi = nullptr; in TryOptimizeInnerLoopFinite() 1059 HPhi* main_phi = nullptr; in Vectorize() 1223 HPhi* phi = new (global_allocator_) HPhi(global_allocator_, in GenerateNewLoop() 1226 HPhi::ToPhiType(induc_type)); in GenerateNewLoop() 1768 void HLoopOptimization::GenerateVecReductionPhi(HPhi* phi) { in GenerateVecReductionPhi() 1773 HPhi* new_phi = new (global_allocator_) HPhi( in GenerateVecReductionPhi() 1783 HPhi* new_phi = new (global_allocator_) HPhi( in GenerateVecReductionPhi() 1792 void HLoopOptimization::GenerateVecReductionPhiInputs(HPhi* phi, HInstruction* reduction) { in GenerateVecReductionPhiInputs() 2248 bool HLoopOptimization::TrySetPhiInduction(HPhi* phi, bool restrict_uses) { in TrySetPhiInduction() [all …]
|
D | graph_checker.h | 55 void VisitPhi(HPhi* phi) override;
|
D | nodes.cc | 376 HPhi* phi = it.Current()->AsPhi(); in FixPhisAfterPredecessorsReodering() 475 HPhi* header_phi = it.Current()->AsPhi(); in TransformLoopToSinglePreheaderFormat() 477 HPhi* preheader_phi = new (GetAllocator()) HPhi(GetAllocator(), in TransformLoopToSinglePreheaderFormat() 960 void HBasicBlock::ReplaceAndRemovePhiWith(HPhi* initial, HPhi* replacement) { in ReplaceAndRemovePhiWith() 1005 void HBasicBlock::AddPhi(HPhi* phi) { in AddPhi() 1036 void HBasicBlock::InsertPhiAfter(HPhi* phi, HPhi* cursor) { in InsertPhiAfter() 1065 void HBasicBlock::RemovePhi(HPhi* phi, bool ensure_safety) { in RemovePhi() 2165 HPhi* phi = phi_it.Current()->AsPhi(); in DisconnectAndDelete() 2189 HPhi* insn = it.Current()->AsPhi(); in DisconnectAndDelete() 2548 HPhi* return_value_phi = nullptr; in InlineInto() [all …]
|
D | live_ranges_test.cc | 323 HPhi* phi = liveness.GetInstructionFromSsaIndex(1)->AsPhi(); in TEST_F() 423 HPhi* phi = liveness.GetInstructionFromSsaIndex(4)->AsPhi(); in TEST_F()
|
D | bounds_check_elimination.cc | 370 HPhi* induction_variable, in MonotonicValueRange() 485 HPhi* const induction_variable_; // Induction variable for this monotonic value range. 933 static bool HasSameInputAtBackEdges(HPhi* phi) { in HasSameInputAtBackEdges() 950 void VisitPhi(HPhi* phi) override { in VisitPhi() 1934 HPhi* phi = nullptr; in InsertPhiNodes() 1974 HPhi* NewPhi(HBasicBlock* new_preheader, in NewPhi() 1985 HPhi* phi = new (graph->GetAllocator()) in NewPhi() 1986 HPhi(graph->GetAllocator(), kNoRegNumber, /*number_of_inputs*/ 2, HPhi::ToPhiType(type)); in NewPhi()
|
D | reference_type_propagation.cc | 78 void VisitPhi(HPhi* phi) override; 92 void UpdatePhi(HPhi* phi) REQUIRES_SHARED(Locks::mutator_lock_); 741 void ReferenceTypePropagation::RTPVisitor::VisitPhi(HPhi* phi) { in VisitPhi() 915 void ReferenceTypePropagation::RTPVisitor::UpdatePhi(HPhi* instr) { in UpdatePhi() 972 HPhi* phi = instr->AsPhi(); in UpdateNullability()
|
D | graph_checker.cc | 523 HPhi* catch_phi = phi_it.Current()->AsPhi(); in VisitInstruction() 807 void GraphChecker::VisitPhi(HPhi* phi) { in VisitPhi() 830 if (phi->GetType() != HPhi::ToPhiType(phi->GetType())) { in VisitPhi() 911 HPhi* other_phi = phi_it.Current()->AsPhi(); in VisitPhi()
|
D | superblock_cloner_test.cc | 72 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); in CreateBasicLoopDataFlow() 434 HPhi* loop_phi = it.Current()->AsPhi(); in TEST_F()
|
D | superblock_cloner.h | 327 void ResolvePhi(HPhi* phi);
|
D | instruction_builder.cc | 109 HPhi* phi = new (allocator_) HPhi( in GetLocalsForWithAllocation() 159 HPhi* phi = new (allocator_) HPhi( in InitializeBlockLocals() 198 HPhi* phi = new (allocator_) HPhi( in InitializeBlockLocals() 286 HPhi* phi = it.Current()->AsPhi(); in SetLoopHeaderPhiInputs() 2009 DCHECK_EQ(HPhi::ToPhiType(value->GetType()), HPhi::ToPhiType(field_type)); in BuildStaticFieldAccess()
|
D | load_store_elimination_test.cc | 79 phi_ = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); in CreateTestControlFlowGraph() 257 HPhi* phi_;
|