Searched refs:loop (Results 1 - 16 of 16) sorted by relevance

/art/compiler/optimizing/
H A Dinduction_var_analysis.cc28 static void RotateEntryPhiFirst(HLoopInformation* loop, argument
32 const HInstructionList& phis = loop->GetHeader()->GetPhis();
102 // range analysis on outer loop while visiting inner loops.
113 void HInductionVarAnalysis::VisitLoop(HLoopInformation* loop) { argument
114 // Find strongly connected components (SSCs) in the SSA graph of this loop using Tarjan's
120 for (HBlocksInLoopIterator it_loop(*loop); !it_loop.Done(); it_loop.Advance()) {
123 if (loop_block->GetLoopInformation() != loop) {
130 VisitNode(loop, instruction);
136 VisitNode(loop, instruction);
144 // Determine the loop'
148 VisitNode(HLoopInformation* loop, HInstruction* instruction) argument
192 VisitDescendant(HLoopInformation* loop, HInstruction* instruction) argument
210 ClassifyTrivial(HLoopInformation* loop, HInstruction* instruction) argument
244 ClassifyNonTrivial(HLoopInformation* loop) argument
340 TransferPhi(HLoopInformation* loop, HInstruction* phi, size_t input_index) argument
483 SolvePhiAllInputs( HLoopInformation* loop, HInstruction* entry_phi, HInstruction* phi) argument
512 SolveAddSub(HLoopInformation* loop, HInstruction* entry_phi, HInstruction* instruction, HInstruction* x, HInstruction* y, InductionOp op, bool is_first_call) argument
571 VisitControl(HLoopInformation* loop) argument
599 VisitCondition(HLoopInformation* loop, InductionInfo* a, InductionInfo* b, Primitive::Type type, IfCondition cmp) argument
649 VisitTripCount(HLoopInformation* loop, InductionInfo* lower_expr, InductionInfo* upper_expr, InductionInfo* stride_expr, int64_t stride_value, Primitive::Type type, IfCondition cmp) argument
801 AssignInfo(HLoopInformation* loop, HInstruction* instruction, InductionInfo* info) argument
814 LookupInfo(HLoopInformation* loop, HInstruction* instruction) argument
[all...]
H A Dinduction_var_analysis.h69 kTripCountInLoop, // valid in full loop; loop is finite
70 kTripCountInBody, // valid in body only; loop is finite
71 kTripCountInLoopUnsafe, // valid in full loop; loop may be infinite
72 kTripCountInBodyUnsafe, // valid in body only; loop may be infinite
148 void VisitLoop(HLoopInformation* loop);
149 void VisitNode(HLoopInformation* loop, HInstruction* instruction);
150 uint32_t VisitDescendant(HLoopInformation* loop, HInstruction* instruction);
151 void ClassifyTrivial(HLoopInformation* loop, HInstructio
[all...]
H A Dbounds_check_elimination.cc300 * of an existing value range, NewArray or a loop phi corresponding to an
501 const int32_t increment_; // Increment for each loop iteration.
519 // Added blocks for loop body entry test.
575 // Clear the loop data structures.
627 // Make sure the comparison is in the loop header so each increment is
647 // Comparison needs to be in loop header to make sure it's done after each
723 // if it's not defined in the loop header.
877 // Try loop-based dynamic elimination.
998 // such as the inner loop 'for (int j=0; j<array.length-i; j++)' where i
999 // is the index for outer loop
1152 HLoopInformation* loop = array_get->GetBlock()->GetLoopInformation(); variable
1325 HLoopInformation* loop = instruction->GetBlock()->GetLoopInformation(); local
1362 DynamicBCESeemsProfitable(HLoopInformation* loop, HBasicBlock* block) argument
1395 IsEarlyExitLoop(HLoopInformation* loop) argument
1421 CanHandleLength(HLoopInformation* loop, HInstruction* length, bool needs_taken_test) argument
1437 CanHandleNullCheck(HLoopInformation* loop, HInstruction* check, bool needs_taken_test) argument
1464 CanHandleInfiniteLoop( HLoopInformation* loop, HBoundsCheck* check, HInstruction* index, bool needs_infinite_test) argument
1501 GetPreHeader(HLoopInformation* loop, HInstruction* instruction) argument
1520 InsertDeoptInLoop(HLoopInformation* loop, HBasicBlock* block, HInstruction* condition) argument
1543 HoistToPreHeaderOrDeoptBlock(HLoopInformation* loop, HInstruction* instruction) argument
1585 TransformLoopForDeoptimizationIfNeeded(HLoopInformation* loop, bool needs_taken_test) argument
[all...]
H A Dinduction_var_range.cc131 HLoopInformation* loop = context->GetBlock()->GetLoopInformation(); // closest enveloping loop local
132 if (loop == nullptr) {
133 return false; // no loop
135 HInductionVarAnalysis::InductionInfo* info = induction_analysis_->LookupInfo(loop, instruction);
151 // Set up loop information.
152 HBasicBlock* header = loop->GetHeader();
155 induction_analysis_->LookupInfo(loop, header->GetLastInstruction());
374 // Special case for finding minimum: minimum of trip-count in loop-body is 1.
587 HLoopInformation* loop local
614 HLoopInformation* loop = context->GetBlock()->GetLoopInformation(); // closest enveloping loop local
[all...]
H A Dintrinsics_arm64.cc1229 vixl::Label loop; local
1264 // Store offset of string value in preparation for comparison loop
1278 __ Bind(&loop);
1285 __ B(&loop, gt);
1288 // If loop does not result in returning false, we return true.
1699 vixl::Label loop, done; local
1700 __ Bind(&loop);
1705 __ B(&loop);
1927 vixl::Label loop, done; local
1928 __ Bind(&loop);
2191 vixl::Label loop, done; local
[all...]
H A Dssa_liveness_analysis.h361 // Find the range that covers the positions after the loop.
370 // Uses are only in the loop.
375 // There are uses after the loop.
378 // The use after the loop is after a lifetime hole.
978 HLoopInformation* loop = header->GetLoopInformation(); local
979 size_t num_blocks = loop->GetBlocks().NumSetBits();
984 if (loop->Contains(*current)) {
989 } else if (found_blocks == num_blocks && !loop->IsBackEdge(*current)) {
1008 // i.e. loop blocks may not be adjacent and a back edge may not be last,
1027 // This interval is defined in the loop
[all...]
H A Dintrinsics_arm.cc644 // Potentially need temps for ldrexd-strexd loop.
1045 Label loop; local
1091 __ Bind(&loop);
1098 __ b(&loop, GT);
1101 // If loop does not result in returning false, we return true.
1583 Label loop, done; local
1586 __ Bind(&loop);
1590 __ b(&loop, NE);
1985 Label loop, done; local
1986 __ Bind(&loop);
[all...]
H A Dcode_generator_arm64.cc3179 vixl::Label loop, success; local
3180 __ Bind(&loop);
3186 __ B(ne, &loop);
3196 vixl::Label loop, success; local
3197 __ Bind(&loop);
3202 __ Cbnz(out, &loop);
3374 vixl::Label loop, compare_classes; local
3375 __ Bind(&loop);
3395 __ B(ne, &loop);
3401 vixl::Label loop; local
[all...]
H A Dintrinsics_mips64.cc1394 Mips64Label loop; local
1448 __ Bind(&loop);
1455 __ Bgtzc(temp1, &loop);
1458 // If loop does not result in returning false, we return true.
H A Dcode_generator_arm.cc5192 // We disable pc-relative load when there is an irreducible loop, as the optimization
5415 Label loop; local
5416 __ Bind(&loop);
5422 __ b(&loop, NE);
5432 Label loop, success; local
5433 __ Bind(&loop);
5438 __ CompareAndBranchIfNonZero(out, &loop);
5610 Label loop, compare_classes; local
5611 __ Bind(&loop);
5631 __ b(&loop, N
5637 Label loop; local
[all...]
H A Dcode_generator_x86.cc4287 // We disable pc-relative load when there is an irreducible loop, as the optimization
5987 // We disable pc-relative load when there is an irreducible loop, as the optimization
6211 NearLabel loop; local
6212 __ Bind(&loop);
6224 __ j(kNotEqual, &loop);
6234 NearLabel loop, success; local
6235 __ Bind(&loop);
6246 __ j(kNotEqual, &loop);
6432 NearLabel loop, compare_classes; local
6433 __ Bind(&loop);
6465 NearLabel loop; local
[all...]
H A Dcode_generator_x86_64.cc5639 NearLabel loop, success; local
5640 __ Bind(&loop);
5652 __ j(kNotEqual, &loop);
5662 NearLabel loop, success; local
5663 __ Bind(&loop);
5674 __ j(kNotEqual, &loop);
5873 NearLabel loop, compare_classes; local
5874 __ Bind(&loop);
5900 __ j(kNotEqual, &loop);
5918 NearLabel loop; local
[all...]
H A Dintrinsics_mips.cc632 // A(n unrolled) loop-based algorithm required 25 instructions.
638 // instructions compared to a loop-based algorithm which required 47
1984 MipsLabel loop; local
2038 __ Bind(&loop);
2045 __ Bgtz(temp1, &loop);
2048 // If loop does not result in returning false, we return true.
H A Dintrinsics_x86_64.cc1337 NearLabel loop, done; local
1340 __ Bind(&loop);
1346 __ j(kNotEqual, &loop);
1464 // If loop does not result in returning false, we return true.
/art/test/109-suspend-check/src/
H A DMain.java39 for (SimpleLoopThread loop : simpleLoops) {
40 loop.start();
48 for (SimpleLoopThread loop : simpleLoops) {
49 loop.stopNow();
/art/runtime/arch/mips/
H A Dquick_entrypoints_mips.S670 loop: label
687 LOAD_WORD_TO_REG a2, t0, t3, loop # a2 = current argument, gpr_index++
688 1: bne $t5, $t3, loop # else if (gpr_index == 3)
690 LOAD_WORD_TO_REG a3, t0, t3, loop # a3 = current argument, gpr_index++
697 LOAD_LONG_TO_REG a2, a3, t0, t3, loop # a2_a3 = curr_arg, gpr_index = 4
698 2: b loop # else
706 LOAD_DOUBLE_TO_REG f12, f13, t0, t4, t9, loop # f12_f13 = curr_arg, fp_index++
707 3: bne $t5, $t4, loop # else if (fp_index == 1)
709 LOAD_DOUBLE_TO_REG f14, f15, t0, t4, t9, loop # f14_f15 = curr_arg, fp_index++
715 LOAD_FLOAT_TO_REG f12, t0, t4, loop # f1
[all...]

Completed in 297 milliseconds