Lines Matching refs:Loop
9 #include "src/compiler/loop-peeling.h"
28 Node* loop;
74 LoopTree::Loop* loop = loop_tree->outer_loops()[0];
75 EXPECT_TRUE(LoopPeeler::CanPeel(loop_tree, loop));
76 return Peel(loop_tree, loop);
79 PeeledIteration* Peel(LoopTree* loop_tree, LoopTree::Loop* loop) {
80 EXPECT_TRUE(LoopPeeler::CanPeel(loop_tree, loop));
82 LoopPeeler::Peel(graph(), common(), loop_tree, loop, zone());
108 Node* loop = graph()->NewNode(common()->Loop(2), control, control);
109 Node* branch = graph()->NewNode(common()->Branch(), cond, loop);
112 loop->ReplaceInput(1, if_true);
113 return {loop, branch, if_true, exit};
116 void Chain(While* a, Node* control) { a->loop->ReplaceInput(0, control); }
118 b->loop->ReplaceInput(1, a->exit);
119 a->loop->ReplaceInput(0, b->if_true);
123 b, w->loop);
138 common()->Phi(MachineRepresentation::kTagged, 2), base, base, w->loop);
161 EXPECT_THAT(w.loop, IsLoop(if_true1, w.if_true));
181 EXPECT_THAT(w.loop, IsLoop(if_true1, w.if_true));
216 EXPECT_THAT(bri, IsBranch(p0, ExpectPeeled(inner.loop, peeled)));
220 EXPECT_THAT(outer.loop, IsLoop(if_falsei, inner.exit));
242 LoopTree::Loop* loop = loop_tree->ContainingLoop(inner.loop);
243 EXPECT_NE(nullptr, loop);
244 EXPECT_EQ(1u, loop->depth());
246 PeeledIteration* peeled = Peel(loop_tree, loop);
248 ExpectNotPeeled(outer.loop, peeled);
257 EXPECT_THAT(bri, IsBranch(p0, ExpectPeeled(inner.loop, peeled)));
261 EXPECT_THAT(outer.loop, IsLoop(start(), IsMerge(inner.exit, if_falsei)));
279 LoopTree::Loop* loop = loop_tree->ContainingLoop(inner.loop);
280 EXPECT_NE(nullptr, loop);
281 EXPECT_EQ(1u, loop->depth());
283 PeeledIteration* peeled = Peel(loop_tree, loop);
285 ExpectNotPeeled(outer.loop, peeled);
294 EXPECT_THAT(bri, IsBranch(p0, ExpectPeeled(inner.loop, peeled)));
298 EXPECT_THAT(outer.loop, IsLoop(start(), IsMerge(inner.exit, if_falsei)));
306 back, outer.loop));
314 Node* loop = graph()->NewNode(common()->Loop(3), start(), start(), start());
315 Branch b1 = NewBranch(p0, loop);
318 loop->ReplaceInput(1, b2.if_true);
319 loop->ReplaceInput(2, b2.if_false);
341 EXPECT_THAT(loop, IsLoop(IsMerge(b2t, b2f), b2.if_true, b2.if_false));
348 Node* loop = graph()->NewNode(common()->Loop(3), start(), start(), start());
349 Branch b1 = NewBranch(p0, loop);
353 Int32Constant(2), loop);
355 loop->ReplaceInput(1, b2.if_true);
356 loop->ReplaceInput(2, b2.if_false);
378 EXPECT_THAT(loop, IsLoop(IsMerge(b2t, b2f), b2.if_true, b2.if_false));
384 IsInt32Constant(1), IsInt32Constant(2), loop));
396 Node* loop = graph()->NewNode(common()->Loop(3), start(), start(), start());
397 Branch b1 = NewBranch(p0, loop);
401 Int32Constant(2), loop);
408 loop->ReplaceInput(1, b2.if_true);
409 loop->ReplaceInput(2, b2.if_false);
432 EXPECT_THAT(loop, IsLoop(AllOf(CaptureEq(&entry), IsMerge(b2t, b2f)),
444 IsInt32Add(phi, IsInt32Constant(2)), loop));
456 Node* loop = graph()->NewNode(common()->Loop(2), start(), start());
457 Branch b1 = NewBranch(p0, loop);
460 loop->ReplaceInput(1, b2.if_true);
466 LoopTree::Loop* loop = loop_tree->outer_loops()[0];
467 EXPECT_FALSE(LoopPeeler::CanPeel(loop_tree, loop));
478 Node* loop = graph()->NewNode(common()->Loop(2), start(), start());
479 Branch b1 = NewBranch(p0, loop);
486 loop->ReplaceInput(1, if_success);
492 LoopTree::Loop* loop = loop_tree->outer_loops()[0];
493 EXPECT_FALSE(LoopPeeler::CanPeel(loop_tree, loop));