Lines Matching refs:bounds_check

823   void VisitBoundsCheck(HBoundsCheck* bounds_check) override {  in VisitBoundsCheck()  argument
824 HBasicBlock* block = bounds_check->GetBlock(); in VisitBoundsCheck()
825 HInstruction* index = bounds_check->InputAt(0); in VisitBoundsCheck()
826 HInstruction* array_length = bounds_check->InputAt(1); in VisitBoundsCheck()
841 ReplaceInstruction(bounds_check, index); in VisitBoundsCheck()
853 ReplaceInstruction(bounds_check, index); in VisitBoundsCheck()
861 if (InductionRangeFitsIn(&array_range, bounds_check, &try_dynamic_bce)) { in VisitBoundsCheck()
862 ReplaceInstruction(bounds_check, index); in VisitBoundsCheck()
873 ReplaceInstruction(bounds_check, index); in VisitBoundsCheck()
884 ReplaceInstruction(bounds_check, index); in VisitBoundsCheck()
909 HLoopInformation* loop = bounds_check->GetBlock()->GetLoopInformation(); in VisitBoundsCheck()
912 if (DynamicBCESeemsProfitable(loop, bounds_check->GetBlock()) && in VisitBoundsCheck()
914 bounds_check, index, &needs_finite_test, &needs_taken_test) && in VisitBoundsCheck()
919 TransformLoopForDynamicBCE(loop, bounds_check); in VisitBoundsCheck()
928 first_index_bounds_check_map_.Put(array_length->GetId(), bounds_check); in VisitBoundsCheck()
1368 HBoundsCheck* bounds_check = in AddCompareWithDeoptimization() local
1388 block->InsertInstructionBefore(lower, bounds_check); in AddCompareWithDeoptimization()
1389 block->InsertInstructionBefore(upper, bounds_check); in AddCompareWithDeoptimization()
1390 InsertDeoptInBlock(bounds_check, new (GetGraph()->GetAllocator()) HAbove(lower, upper)); in AddCompareWithDeoptimization()
1393 bounds_check, new (GetGraph()->GetAllocator()) HAboveOrEqual(upper, array_length)); in AddCompareWithDeoptimization()
1401 HBoundsCheck* bounds_check = entry.second; in AddComparesWithDeoptimization() local
1402 HInstruction* index = bounds_check->InputAt(0); in AddComparesWithDeoptimization()
1403 HInstruction* array_length = bounds_check->InputAt(1); in AddComparesWithDeoptimization()
1524 void TransformLoopForDynamicBCE(HLoopInformation* loop, HBoundsCheck* bounds_check) { in TransformLoopForDynamicBCE() argument
1525 HInstruction* index = bounds_check->InputAt(0); in TransformLoopForDynamicBCE()
1526 HInstruction* array_length = bounds_check->InputAt(1); in TransformLoopForDynamicBCE()
1528 DCHECK(loop->DominatesAllBackEdges(bounds_check->GetBlock())); in TransformLoopForDynamicBCE()
1579 HBasicBlock* block = GetPreHeader(loop, bounds_check); in TransformLoopForDynamicBCE()
1824 void InsertDeoptInBlock(HBoundsCheck* bounds_check, HInstruction* condition) { in InsertDeoptInBlock() argument
1825 HBasicBlock* block = bounds_check->GetBlock(); in InsertDeoptInBlock()
1826 block->InsertInstructionBefore(condition, bounds_check); in InsertDeoptInBlock()
1831 bounds_check->GetDexPc()); in InsertDeoptInBlock()
1832 block->InsertInstructionBefore(deoptimize, bounds_check); in InsertDeoptInBlock()
1833 deoptimize->CopyEnvironmentFrom(bounds_check->GetEnvironment()); in InsertDeoptInBlock()