Home
last modified time | relevance | path

Searched refs:loop (Results 1 – 25 of 91) sorted by relevance

1234

/art/test/530-checker-peel-unroll/smali/
DPeelUnroll.smali20 ## CHECK-DAG: <<Array:l\d+>> ParameterValue loop:none
21 ## CHECK-DAG: <<Const0:i\d+>> IntConstant 0 loop:none
22 ## CHECK-DAG: <<Const1:i\d+>> IntConstant 1 loop:none
23 ## CHECK-DAG: <<Const2:i\d+>> IntConstant 2 loop:none
24 ## CHECK-DAG: <<Const128:i\d+>> IntConstant 128 loop:none
25 ## CHECK-DAG: <<Limit:i\d+>> IntConstant 4094 loop:none
26 ## CHECK-DAG: <<PhiI:i\d+>> Phi [<<Const0>>,{{i\d+}}] loop:<<Loop:B\d+>> outer_…
27 ## CHECK-DAG: <<PhiS:i\d+>> Phi [<<Const128>>,{{i\d+}}] loop:<<Loop>> outer_…
28 ## CHECK-DAG: <<AddI:i\d+>> Add [<<PhiI>>,<<Const1>>] loop:<<Loop>> outer_…
29 ## CHECK-DAG: <<Check:z\d+>> GreaterThanOrEqual [<<PhiI>>,<<Limit>>] loop:<<Loop>> outer_…
[all …]
/art/test/656-checker-simd-opt/smali/
DSmali.smali19 ## CHECK-DAG: <<PAR3:i\d+>> ParameterValue loop:none
20 ## CHECK-DAG: <<CP1:i\d+>> IntConstant 1 loop:none
21 ## CHECK-DAG: <<Sub1:i\d+>> Sub [<<PAR3>>,<<CP1>>] loop:none
22 ## CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none
23 ## CHECK-DAG: <<Sub2:i\d+>> Sub [<<Phi>>,<<CP1>>] loop:<<Loop>> outer_loop:none
24 ## CHECK-DAG: <<Get1:i\d+>> ArrayGet [{{l\d+}},<<Sub2>>] loop:<<Loop>> outer_loop:none
25 ## CHECK-DAG: <<Get2:i\d+>> ArrayGet [{{l\d+}},<<Phi>>] loop:<<Loop>> outer_loop:none
26 ## CHECK-DAG: <<Add1:i\d+>> Add [<<Get1>>,<<Get2>>] loop:<<Loop>> outer_loop:none
27 ## CHECK-DAG: <<Add2:i\d+>> Add [<<Phi>>,<<CP1>>] loop:<<Loop>> outer_loop:none
28 ## CHECK-DAG: <<Get3:i\d+>> ArrayGet [{{l\d+}},<<Add2>>] loop:<<Loop>> outer_loop:none
[all …]
/art/test/485-checker-dce-loop-update/smali/
DTestCase.smali32 ## CHECK-DAG: <<PhiX:i\d+>> Phi [<<ArgX>>,<<Add5:i\d+>>,<<Add7:i\d+>>] loop:<<HeaderY:B\d+>>
33 ## CHECK-DAG: If [<<ArgY>>] loop:<<HeaderY>>
34 ## CHECK-DAG: If [<<Cst1>>] loop:<<HeaderY>>
35 ## CHECK-DAG: <<Add5>> Add [<<PhiX>>,<<Cst5>>] loop:<<HeaderY>>
36 ## CHECK-DAG: <<Add7>> Add [<<PhiX>>,<<Cst7>>] loop:<<HeaderY>>
37 ## CHECK-DAG: Return [<<PhiX>>] loop:none
43 ## CHECK-DAG: <<PhiX:i\d+>> Phi [<<ArgX>>,<<AddX:i\d+>>] loop:<<HeaderY:B\d+>>
44 ## CHECK-DAG: If [<<ArgY>>] loop:<<HeaderY>>
45 ## CHECK-DAG: <<AddX>> Add [<<PhiX>>,<<Cst7>>] loop:<<HeaderY>>
46 ## CHECK-DAG: Return [<<PhiX>>] loop:none
[all …]
/art/compiler/optimizing/
Dinduction_var_analysis.cc28 static void RotateEntryPhiFirst(HLoopInformation* loop, in RotateEntryPhiFirst() argument
32 const HInstructionList& phis = loop->GetHeader()->GetPhis(); in RotateEntryPhiFirst()
99 static bool IsGuardedBy(HLoopInformation* loop, in IsGuardedBy() argument
112 HBasicBlock* guard = loop->GetPreHeader(); in IsGuardedBy()
113 HBasicBlock* entry = loop->GetHeader(); in IsGuardedBy()
146 HInstruction* FindFirstLoopHeaderPhiUse(HLoopInformation* loop, HInstruction* instruction) { in FindFirstLoopHeaderPhiUse() argument
148 if (use.GetUser()->GetBlock() == loop->GetHeader() && in FindFirstLoopHeaderPhiUse()
160 bool FixOutsideUse(HLoopInformation* loop, in FixOutsideUse() argument
170 if (user->GetBlock()->GetLoopInformation() != loop) { in FixOutsideUse()
184 if (user->GetHolder()->GetBlock()->GetLoopInformation() != loop) { in FixOutsideUse()
[all …]
Dinduction_var_analysis.h155 void VisitLoop(HLoopInformation* loop);
156 void VisitNode(HLoopInformation* loop, HInstruction* instruction);
157 uint32_t VisitDescendant(HLoopInformation* loop, HInstruction* instruction);
158 void ClassifyTrivial(HLoopInformation* loop, HInstruction* instruction);
159 void ClassifyNonTrivial(HLoopInformation* loop);
163 InductionInfo* TransferPhi(HLoopInformation* loop,
174 InductionInfo* SolvePhiAllInputs(HLoopInformation* loop,
177 InductionInfo* SolveAddSub(HLoopInformation* loop,
184 InductionInfo* SolveOp(HLoopInformation* loop,
190 InductionInfo* SolveTest(HLoopInformation* loop,
[all …]
Dbounds_check_elimination.cc909 HLoopInformation* loop = bounds_check->GetBlock()->GetLoopInformation(); in VisitBoundsCheck() local
912 if (DynamicBCESeemsProfitable(loop, bounds_check->GetBlock()) && in VisitBoundsCheck()
915 CanHandleInfiniteLoop(loop, index, needs_finite_test) && in VisitBoundsCheck()
917 CanHandleLength(loop, array_length, needs_taken_test)) { in VisitBoundsCheck()
918 TransformLoopForDeoptimizationIfNeeded(loop, needs_taken_test); in VisitBoundsCheck()
919 TransformLoopForDynamicBCE(loop, bounds_check); in VisitBoundsCheck()
1247 HLoopInformation* loop = array_get->GetBlock()->GetLoopInformation(); in VisitArrayGet() local
1248 if (loop->IsDefinedOutOfTheLoop(array_get->InputAt(0)) && in VisitArrayGet()
1249 loop->IsDefinedOutOfTheLoop(array_get->InputAt(1))) { in VisitArrayGet()
1250 SideEffects loop_effects = side_effects_.GetLoopEffects(loop->GetHeader()); in VisitArrayGet()
[all …]
Dinduction_var_range.h138 void ReVisit(HLoopInformation* loop) { in ReVisit() argument
139 induction_analysis_->induction_.erase(loop); in ReVisit()
140 for (HInstructionIterator it(loop->GetHeader()->GetPhis()); !it.Done(); it.Advance()) { in ReVisit()
143 induction_analysis_->VisitLoop(loop); in ReVisit()
167 bool IsFinite(HLoopInformation* loop, /*out*/ int64_t* trip_count) const;
172 bool HasKnownTripCount(HLoopInformation* loop, /*out*/ int64_t* trip_count) const;
190 HInstruction* GenerateTripCount(HLoopInformation* loop, HGraph* graph, HBasicBlock* block);
206 bool CheckForFiniteAndConstantProps(HLoopInformation* loop,
221 /*out*/ HLoopInformation** loop,
Dlinear_order.cc63 HLoopInformation* loop = header->GetLoopInformation(); in IsLinearOrderWellFormed() local
64 size_t num_blocks = loop->GetBlocks().NumSetBits(); in IsLinearOrderWellFormed()
67 if (loop->Contains(*block)) { in IsLinearOrderWellFormed()
72 } else if (found_blocks == num_blocks && !loop->IsBackEdge(*block)) { in IsLinearOrderWellFormed()
/art/test/624-checker-stringops/smali/
DSmali.smali84 …G: <<New:l\d+>> NewInstance loop:none
85 …ng1:l\d+>> LoadString loop:<<Loop:B\d+>>
86 …<Null1:l\d+>> NullCheck [<<New>>] loop:<<Loop>>
87 …<Append1:l\d+>> InvokeVirtual [<<Null1>>,<<String1>>] intrinsic:StringBufferAppend loop:<<Loop>>
88 …<String2:l\d+>> LoadString loop:<<Loop>>
89 …<Append2:l\d+>> InvokeVirtual [<<Append1>>,<<String2>>] intrinsic:StringBufferAppend loop:<<Loop>>
90 …<String3:l\d+>> LoadString loop:<<Loop>>
91 …<Append3:l\d+>> InvokeVirtual [<<Append2>>,<<String3>>] intrinsic:StringBufferAppend loop:<<Loop>>
92 …G: <<Null4:l\d+>> NullCheck [<<New>>] loop:none
93 …G: InvokeVirtual [<<Null4>>] intrinsic:StringBufferLength loop:none
[all …]
/art/test/547-regression-trycatch-critic-edge/smali/
DTestCase.smali19 # the outer loop would have a smaller liveness position than the two back edges
20 # of the inner loop. This was caused by a bug which did not split the critical
21 # edge between TryBoundary and outer loop header (b/25493695).
29 move v2, p0 # v2 = outer loop counter
36 move v3, p1 # v3 = inner loop counter
39 if-eqz v3, :outer_loop # back edge of outer loop
44 goto :inner_loop # back edge of inner loop
52 goto :inner_loop # back edge of inner loop
/art/test/478-checker-inline-noreturn/
Dinfo.txt1 Tests inlining a function with a no-exit loop into a loop. LinearOrder
3 a loop without an exit.
/art/test/565-checker-irreducible-loop/smali/
DIrreducibleLoop.smali19 # Check that both the irreducible loop and the other loop entry
23 ## CHECK-DAG: ParallelMove {{.*84->.*}} loop:none
24 ## CHECK-DAG: ParallelMove {{.*84->.*}} loop:{{B\d+}} irreducible:true
35 # The then part: beginning of the irreducible loop.
43 # The other block branching to the irreducible loop.
57 ## CHECK-DAG: ParallelMove {{.*84->.*}} loop:none
58 ## CHECK-DAG: ParallelMove {{.*84->.*}} loop:{{B\d+}} irreducible:true
70 # The then part: beginning of the irreducible loop.
78 # The other block branching to the irreducible loop.
91 # Last use of v2 before the irreducible loop, that
/art/test/652-deopt-intrinsic/src/
DMain.java20 loop(); in main()
22 loop(); in main()
25 public static void loop() { in loop() method in Main
/art/test/596-checker-dead-phi/smali/
DIrreducibleLoop.smali19 # Test case where liveness analysis produces linear order where loop blocks are
20 # not adjacent. This revealed a bug in our SSA builder, where a dead loop phi would
23 # Check that the outer loop suspend check environment only has the parameter vreg.
25 ## CHECK-DAG: <<Phi:i\d+>> Phi reg:4 loop:{{B\d+}} irreducible:false
26 ## CHECK-DAG: SuspendCheck env:[[_,_,_,_,<<Phi>>]] loop:{{B\d+}} irreducible:false
28 # Check that the linear order has non-adjacent loop blocks.
53 # Add a marker on the irreducible loop entry.
64 # Add a marker on the outer loop back edge.
/art/test/530-checker-loops3/
Dinfo.txt1 Test on loop optimizations, in particular around loop-based dynamic bce.
/art/test/478-checker-inliner-nested-loop/
Dinfo.txt1 Tests inlining into a nested loop. SSAChecker should verify that
2 loop information was updated correctly.
/art/test/696-loop/
Dinfo.txt1 Regression test for the loop pass of the compiler, which used
2 to run loop unrolling without updating the induction variable analysis.
/art/test/485-checker-dce-loop-update/
Dinfo.txt1 Tests loop information update after DCE because block removal can disconnect loops, leaving other
2 live blocks outside the loop they had been a member of.
/art/test/090-loop-formation/
Dinfo.txt1 Test loop formation heuristics and code generation. Basically the problem to
3 in the loop region, and the JIT compiler won't choke on unresolved fields.
/art/test/800-smali/smali/
Db_17790197.smali10 :loop
13 goto :loop
/art/test/109-suspend-check/src/
DMain.java39 for (SimpleLoopThread loop : simpleLoops) { in main()
40 loop.start(); in main()
48 for (SimpleLoopThread loop : simpleLoops) { in main()
49 loop.stopNow(); in main()
/art/test/599-checker-irreducible-loop/smali/
DIrreducibleLoop.smali20 ## CHECK-DAG: LoadClass loop:none
21 ## CHECK-DAG: LoadClass loop:{{B\d+}} outer_loop:none
24 ## CHECK-DAG: LoadClass loop:none
25 ## CHECK-DAG: LoadClass loop:{{B\d+}} outer_loop:none
/art/test/559-checker-irreducible-loop/smali/
DIrreducibleLoop.smali21 # Test that we support a simple irreducible loop.
48 # SSA level, since we create redundant phis for irreducible loop headers, lse
128 # Check that a dex register only used in the loop header remains live thanks
129 # to the (redundant) Phi created at the loop header for it.
263 # Check that we don't LICM in a natural loop that contains an irreducible loop:
284 ## CHECK: LoadClass loop:<<OuterLoop:B\d+>> irreducible:false
310 # Check a loop within an irreducible loop
327 ## CHECK-DAG: Goto loop:<<OuterLoop:B\d+>> outer_loop:none irreducible:true
356 # Check than a loop before an irreducible loop is not part of the
357 # irreducible loop.
[all …]
/art/test/1339-dead-reference-safe/src/
DDeadReferenceUnsafeTest.java25 private static void $noinline$loop() { in $noinline$loop()
63 $noinline$loop(); in runTest()
/art/test/594-checker-irreducible-linorder/smali/
DIrreducibleLoop.smali18 # Test case where liveness analysis produces linear order where loop blocks are
22 ## CHECK-DAG: Add loop:none
23 ## CHECK-DAG: Mul loop:<<Loop:B\d+>>
24 ## CHECK-DAG: Not loop:<<Loop>>
72 ## CHECK-DAG: Mul loop:<<Loop:B\d+>>
73 ## CHECK-DAG: Not loop:<<Loop>>

1234