/art/test/431-type-propagation/smali/ |
D | TypePropagation.smali | 25 # Putting a float in v1 will lead to the creation of a phi with one 30 # the phi prior to doing type propagation. 34 # This environment is the reason why a phi is created at the join block
|
/art/test/596-checker-dead-phi/ |
D | info.txt | 2 phi with its first incoming input.
|
/art/compiler/optimizing/ |
D | induction_var_range.h | 149 ArenaSet<HInstruction*>* LookupCycle(HPhi* phi) const { in LookupCycle() argument 150 return induction_analysis_->LookupCycle(phi); in LookupCycle() 158 bool IsClassified(HPhi* phi) const { in IsClassified() argument 159 HLoopInformation* lp = phi->GetBlock()->GetLoopInformation(); // closest enveloping loop in IsClassified() 160 return (lp != nullptr) && (induction_analysis_->LookupInfo(lp, phi) != nullptr); in IsClassified()
|
D | induction_var_analysis.h | 164 HInstruction* phi, 173 InductionInfo* SolvePhi(HInstruction* phi, size_t input_index, size_t adjust_input_size); 176 HInstruction* phi); 244 void AssignCycle(HPhi* phi); 245 ArenaSet<HInstruction*>* LookupCycle(HPhi* phi);
|
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);
|
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() argument 742 if (phi->IsDead() || phi->GetType() != DataType::Type::kReference) { in VisitPhi() 746 if (phi->GetBlock()->IsLoopHeader()) { in VisitPhi() 749 HInstruction* first_input = phi->InputAt(0); in VisitPhi() 752 phi->SetCanBeNull(first_input->CanBeNull()); in VisitPhi() 753 phi->SetReferenceTypeInfo(first_input_rti); in VisitPhi() 755 AddToWorklist(phi); in VisitPhi() 762 UpdateNullability(phi); in VisitPhi() [all …]
|
D | live_ranges_test.cc | 323 HPhi* phi = liveness.GetInstructionFromSsaIndex(1)->AsPhi(); in TEST_F() local 324 interval = phi->GetLiveInterval(); in TEST_F() 423 HPhi* phi = liveness.GetInstructionFromSsaIndex(4)->AsPhi(); in TEST_F() local 424 ASSERT_TRUE(phi->GetUses().HasExactlyOneElement()); in TEST_F() 425 interval = phi->GetLiveInterval(); in TEST_F()
|
D | superblock_cloner_test.cc | 72 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32); in CreateBasicLoopDataFlow() local 74 HInstruction* loop_check = new (GetAllocator()) HGreaterThanOrEqual(phi, const_128); in CreateBasicLoopDataFlow() 76 loop_header->AddPhi(phi); in CreateBasicLoopDataFlow() 84 HInstruction* bounds_check = new (GetAllocator()) HBoundsCheck(phi, array_length, dex_pc); in CreateBasicLoopDataFlow() 90 HInstruction* induction_inc = new (GetAllocator()) HAdd(DataType::Type::kInt32, phi, const_1); in CreateBasicLoopDataFlow() 101 phi->AddInput(const_0); in CreateBasicLoopDataFlow() 102 phi->AddInput(induction_inc); in CreateBasicLoopDataFlow() 107 ArenaVector<HInstruction*> current_locals({phi, const_128, parameters_[0]}, in CreateBasicLoopDataFlow()
|
D | nodes.cc | 376 HPhi* phi = it.Current()->AsPhi(); in FixPhisAfterPredecessorsReodering() local 377 HInstruction* first_instr = phi->InputAt(first); in FixPhisAfterPredecessorsReodering() 378 HInstruction* second_instr = phi->InputAt(second); in FixPhisAfterPredecessorsReodering() 379 phi->ReplaceInput(first_instr, second); in FixPhisAfterPredecessorsReodering() 380 phi->ReplaceInput(second_instr, first); in FixPhisAfterPredecessorsReodering() 1005 void HBasicBlock::AddPhi(HPhi* phi) { in AddPhi() argument 1006 Add(&phis_, this, phi); in AddPhi() 1036 void HBasicBlock::InsertPhiAfter(HPhi* phi, HPhi* cursor) { in InsertPhiAfter() argument 1037 DCHECK_EQ(phi->GetId(), -1); in InsertPhiAfter() 1040 phi->SetBlock(this); in InsertPhiAfter() [all …]
|
D | register_allocator_linear_scan.h | 89 void AllocateSpillSlotForCatchPhi(HPhi* phi);
|
D | graph_checker.h | 55 void VisitPhi(HPhi* phi) override;
|
D | ssa_liveness_analysis.cc | 191 HInstruction* phi = phi_it.Current(); in ComputeLiveRanges() local 192 HInstruction* input = phi->InputAt(phi_input_index); in ComputeLiveRanges() 193 input->GetLiveInterval()->AddPhiUse(phi, phi_input_index, block); in ComputeLiveRanges()
|
D | register_allocation_resolver.cc | 187 HInstruction* phi = inst_it.Current(); in Resolve() local 191 HInstruction* input = phi->InputAt(i); in Resolve() 194 Location destination = phi->GetLiveInterval()->ToLocation(); in Resolve() 195 InsertParallelMoveAtExitOf(predecessor, phi, source, destination); in Resolve()
|
/art/test/429-ssa-builder/ |
D | info.txt | 2 compiler, that used to crash when dealing with phi floating-point
|
/art/test/481-regression-phi-cond/ |
D | Android.bp | 3 name: "art-run-test-481-regression-phi-cond",
|
/art/test/499-bce-phi-array-length/ |
D | Android.bp | 3 name: "art-run-test-499-bce-phi-array-length",
|
/art/test/472-type-propagation/ |
D | info.txt | 2 If a phi requests its inputs to be of a certain type, the inputs need
|
/art/test/510-checker-try-catch/smali/ |
D | SsaBuilder.smali | 128 # Tests that phi elimination does not remove catch phis where the value does 129 # not dominate the phi. 151 # The constant in entry block will dominate the vreg 0 catch phi. 154 # Insert addition so that the value of vreg 1 does not dominate the phi. 170 # Tests that phi elimination loops until no more phis can be removed.
|
/art/test/563-checker-fakestring/smali/ |
D | TestCase.smali | 239 # Test deoptimization after String initialization of a phi. 375 # Regression test for a new string flowing into a catch phi. 397 # Initially, we create a catch phi with the potential uninitalized string, which used to 398 # trip the compiler. However, using that catch phi is an error caught by the verifier, so 399 # having the phi is benign. 407 # Same test as above, but with a catch phi being used by the string constructor. 426 # Same test as above, but with a catch phi being used by the string constructor and
|
/art/test/594-checker-irreducible-linorder/smali/ |
D | IrreducibleLoop.smali | 99 # This constant has a use in a phi in :back_edge2 and a back edge use in 101 # a lower liveness than the phi use.
|
/art/test/520-equivalent-phi/smali/ |
D | Equivalent.smali | 30 # we would consider the phi equivalent reference of v0, as dead,
|
/art/test/537-checker-debuggable/smali/ |
D | TestCase.smali | 19 # The phi in this method has no actual uses but one environment use. It will
|
/art/test/557-checker-ref-equivalent/smali/ |
D | TestCase.smali | 37 # We used to have a reference and an integer phi equivalents here, which
|
/art/test/552-checker-primitive-typeprop/smali/ |
D | TypePropagation.smali | 57 # p2 = void (loop phi) => p2 = merge(int,int) = int 129 # requests float equivalent of p4 phi in loop1 => conflict
|
/art/test/530-checker-regression-reftyp-final/smali/ |
D | TestCase.smali | 18 # Inliner used to assign exact type to the artificial multiple-return phi if the
|