/art/compiler/optimizing/ |
H A D | ssa_builder.h | 32 * following text is materialized as a `HPhi`. 111 bool TypeInputsOfPhi(HPhi* phi, ScopedArenaVector<HPhi*>* worklist); 112 bool UpdatePrimitiveType(HPhi* phi, ScopedArenaVector<HPhi*>* worklist); 113 void ProcessPrimitiveTypePropagationWorklist(ScopedArenaVector<HPhi*>* worklist); 117 HPhi* GetFloatDoubleOrReferenceEquivalentOfPhi(HPhi* phi, DataType::Type type);
|
H A D | ssa_phi_elimination.cc | 36 ScopedArenaVector<HPhi*> worklist(allocator.Adapter(kArenaAllocSsaPhiElimination)); 42 ScopedArenaSet<HPhi*> initially_live(allocator.Adapter(kArenaAllocSsaPhiElimination)); 47 HPhi* phi = inst_it.Current()->AsPhi(); 75 HPhi* phi = worklist.back(); 78 HPhi* input = raw_input->AsPhi(); 97 HPhi* phi; 130 ScopedArenaVector<HPhi*> worklist(allocator.Adapter(kArenaAllocSsaPhiElimination)); 146 ScopedArenaVector<HPhi*> cycle_worklist(allocator.Adapter(kArenaAllocSsaPhiElimination)); 149 HPhi* phi = worklist.back(); 190 HPhi* curren [all...] |
H A D | ssa_builder.cc | 66 HPhi* phi = it.Current()->AsPhi(); 67 HPhi* next = phi->GetNextEquivalentPhiWithSameType(); 88 HPhi* phi = it_phis.Current()->AsPhi(); 108 ScopedArenaVector<HPhi*>* worklist) { 126 static bool TypePhiFromInputs(HPhi* phi) { 136 DataType::Type input_type = HPhi::ToPhiType(input->GetType()); 170 bool SsaBuilder::TypeInputsOfPhi(HPhi* phi, ScopedArenaVector<HPhi*>* worklist) { 177 DCHECK(HPhi::ToPhiType(input->GetType()) == common_type); 216 bool SsaBuilder::UpdatePrimitiveType(HPhi* ph [all...] |
H A D | select_generator.cc | 69 static HPhi* GetSingleChangedPhi(HBasicBlock* block, size_t index1, size_t index2) { 72 HPhi* select_phi = nullptr; 74 HPhi* phi = it.Current()->AsPhi(); 125 HPhi* phi = GetSingleChangedPhi(merge_block, predecessor_index_true, predecessor_index_false);
|
H A D | induction_var_analysis_test.cc | 109 basic_[d] = new (GetAllocator()) HPhi(GetAllocator(), d, 0, DataType::Type::kInt32); 125 HPhi* BuildIf(int d, HBasicBlock** ifT, HBasicBlock** ifF) { 142 HPhi* select_phi = new (GetAllocator()) HPhi(GetAllocator(), -1, 0, DataType::Type::kInt32); 154 HPhi* InsertLoopPhi(int vreg, int d) { 155 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), vreg, 0, DataType::Type::kInt32); 224 HPhi* basic_[10]; // "vreg_d", the "i_d" 313 HPhi* k_header = InsertLoopPhi(0, 0); 342 HPhi* k_heade [all...] |
H A D | loop_optimization.h | 170 void GenerateVecReductionPhi(HPhi* phi); 171 void GenerateVecReductionPhiInputs(HPhi* phi, HInstruction* reduction); 206 bool TrySetPhiInduction(HPhi* phi, bool restrict_uses); 207 bool TrySetPhiReduction(HPhi* phi); 211 bool TrySetSimpleLoopHeader(HBasicBlock* block, /*out*/ HPhi** main_phi);
|
H A D | register_allocator_linear_scan.h | 32 class HPhi; 89 void AllocateSpillSlotForCatchPhi(HPhi* phi);
|
H A D | superblock_cloner.cc | 62 static bool ArePhiInputsTheSame(const HPhi* phi) { 164 HPhi* orig_phi = it.Current()->AsPhi(); 165 HPhi* copy_phi = GetInstrCopy(orig_phi)->AsPhi(); 194 HPhi* orig_phi = it.Current()->AsPhi(); 195 HPhi* copy_phi = GetInstrCopy(orig_phi)->AsPhi(); 210 HPhi* orig_phi = it.Current()->AsPhi(); 379 void SuperblockCloner::ResolvePhi(HPhi* phi) { 492 HPhi* orig_phi = it.Current()->AsPhi(); 493 HPhi* copy_phi = GetInstrCopy(orig_phi)->AsPhi(); 637 HPhi* ph [all...] |
H A D | loop_optimization_test.cc | 218 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); 280 HPhi* header_phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); 306 HPhi* new_preheader_phi = new_preheader->GetFirstPhi()->AsPhi();
|
H A D | induction_var_analysis.h | 244 void AssignCycle(HPhi* phi); 245 ArenaSet<HInstruction*>* LookupCycle(HPhi* phi); 277 ArenaSafeMap<HPhi*, ArenaSet<HInstruction*>> cycles_;
|
H A D | graph_checker.h | 52 void VisitPhi(HPhi* phi) OVERRIDE;
|
H A D | induction_var_range.h | 149 ArenaSet<HInstruction*>* LookupCycle(HPhi* phi) const { 158 bool IsClassified(HPhi* phi) const {
|
H A D | bounds_check_elimination_test.cc | 391 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32); 511 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32); 619 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32); 718 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32); 814 HPhi* phi_i = new (GetAllocator()) HPhi(GetAllocato [all...] |
H A D | loop_optimization.cc | 591 HPhi* phi = it.Current()->AsPhi(); 679 HPhi* main_phi = nullptr; 857 HPhi* main_phi = nullptr; 1021 HPhi* phi = new (global_allocator_) HPhi(global_allocator_, 1024 HPhi::ToPhiType(induc_type)); 1644 void HLoopOptimization::GenerateVecReductionPhi(HPhi* phi) { 1649 HPhi* new_phi = new (global_allocator_) HPhi( 1659 HPhi* new_ph [all...] |
H A D | superblock_cloner_test.cc | 85 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32);
|
H A D | register_allocator_test.cc | 55 HGraph* BuildIfElseWithPhi(HPhi** phi, HInstruction** input1, HInstruction** input2); 338 HPhi* phi = loop_header->GetFirstPhi()->AsPhi(); 492 HGraph* RegisterAllocatorTest::BuildIfElseWithPhi(HPhi** phi, 532 *phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); 564 HPhi *phi; 888 HPhi* user = new (GetAllocator()) HPhi(GetAllocator(), 0, 1, DataType::Type::kInt32);
|
H A D | bounds_check_elimination.cc | 370 HPhi* induction_variable, 485 HPhi* const induction_variable_; // Induction variable for this monotonic value range. 931 static bool HasSameInputAtBackEdges(HPhi* phi) { 948 void VisitPhi(HPhi* phi) OVERRIDE { 1831 HPhi* phi = nullptr; 1871 HPhi* NewPhi(HBasicBlock* new_preheader, 1882 HPhi* phi = new (graph->GetAllocator()) 1883 HPhi(graph->GetAllocator(), kNoRegNumber, /*number_of_inputs*/ 2, HPhi::ToPhiType(type));
|
H A D | reference_type_propagation.cc | 104 void VisitPhi(HPhi* phi); 118 void UpdatePhi(HPhi* phi) REQUIRES_SHARED(Locks::mutator_lock_); 747 void ReferenceTypePropagation::RTPVisitor::VisitPhi(HPhi* phi) { 922 void ReferenceTypePropagation::RTPVisitor::UpdatePhi(HPhi* instr) { 979 HPhi* phi = instr->AsPhi();
|
H A D | live_ranges_test.cc | 332 HPhi* phi = liveness.GetInstructionFromSsaIndex(1)->AsPhi(); 434 HPhi* phi = liveness.GetInstructionFromSsaIndex(4)->AsPhi();
|
H A D | nodes.cc | 374 HPhi* phi = it.Current()->AsPhi(); 473 HPhi* header_phi = it.Current()->AsPhi(); 475 HPhi* preheader_phi = new (GetAllocator()) HPhi(GetAllocator(), 958 void HBasicBlock::ReplaceAndRemovePhiWith(HPhi* initial, HPhi* replacement) { 1003 void HBasicBlock::AddPhi(HPhi* phi) { 1034 void HBasicBlock::InsertPhiAfter(HPhi* phi, HPhi* cursor) { 1063 void HBasicBlock::RemovePhi(HPhi* ph [all...] |
H A D | graph_checker.cc | 493 HPhi* catch_phi = phi_it.Current()->AsPhi(); 722 void GraphChecker::VisitPhi(HPhi* phi) { 745 if (phi->GetType() != HPhi::ToPhiType(phi->GetType())) { 826 HPhi* other_phi = phi_it.Current()->AsPhi();
|
H A D | superblock_cloner.h | 269 void ResolvePhi(HPhi* phi);
|
H A D | instruction_builder.cc | 109 HPhi* phi = new (allocator_) HPhi( 159 HPhi* phi = new (allocator_) HPhi( 198 HPhi* phi = new (allocator_) HPhi( 286 HPhi* phi = it.Current()->AsPhi(); 1610 DCHECK_EQ(HPhi::ToPhiType(value->GetType()), HPhi::ToPhiType(field_type));
|
H A D | dead_code_elimination.cc | 343 HPhi* phi = block->GetFirstPhi()->AsPhi();
|
H A D | nodes.h | 65 class HPhi; 1198 void ReplaceAndRemovePhiWith(HPhi* initial, HPhi* replacement); 1202 void AddPhi(HPhi* phi); 1203 void InsertPhiAfter(HPhi* instruction, HPhi* cursor); 1208 void RemovePhi(HPhi* phi, bool ensure_safety = true); 2702 class HPhi FINAL : public HVariableInputSizeInstruction { 2704 HPhi(ArenaAllocator* allocator, function in class:art::FINAL 2728 // Returns a type equivalent to the given `type`, but that a `HPhi` ca [all...] |