/art/compiler/optimizing/ |
H A D | induction_var_analysis.cc | 28 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 D | induction_var_analysis.h | 69 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 D | bounds_check_elimination.cc | 300 * 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 D | induction_var_range.cc | 131 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 D | intrinsics_arm64.cc | 1229 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 D | ssa_liveness_analysis.h | 361 // 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 D | intrinsics_arm.cc | 644 // 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 D | code_generator_arm64.cc | 3179 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 D | intrinsics_mips64.cc | 1394 Mips64Label loop; local 1448 __ Bind(&loop); 1455 __ Bgtzc(temp1, &loop); 1458 // If loop does not result in returning false, we return true.
|
H A D | code_generator_arm.cc | 5192 // 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 D | code_generator_x86.cc | 4287 // 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 D | code_generator_x86_64.cc | 5639 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 D | intrinsics_mips.cc | 632 // 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 D | intrinsics_x86_64.cc | 1337 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 D | Main.java | 39 for (SimpleLoopThread loop : simpleLoops) { 40 loop.start(); 48 for (SimpleLoopThread loop : simpleLoops) { 49 loop.stopNow();
|
/art/runtime/arch/mips/ |
H A D | quick_entrypoints_mips.S | 670 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...] |