• Home
  • Raw
  • Download

Lines Matching refs:loop

196 static void CheckLoopBlocks(Loop* loop,  in CheckLoopBlocks()  argument
198 SCOPED_TRACE("Check loop " + std::to_string(loop->GetHeaderBlock()->id())); in CheckLoopBlocks()
199 for (uint32_t bb_id : loop->GetBlocks()) { in CheckLoopBlocks()
203 EXPECT_FALSE(loop->IsInsideLoop(loop->GetMergeBlock())); in CheckLoopBlocks()
362 Loop* loop = ld[23]; in TEST_F() local
363 CheckLoopBlocks(loop, &basic_block_in_loop); in TEST_F()
365 EXPECT_TRUE(loop->HasNestedLoops()); in TEST_F()
366 EXPECT_FALSE(loop->IsNested()); in TEST_F()
367 EXPECT_EQ(loop->GetDepth(), 1u); in TEST_F()
368 EXPECT_EQ(std::distance(loop->begin(), loop->end()), 1u); in TEST_F()
369 EXPECT_EQ(loop->GetPreHeaderBlock(), spvtest::GetBasicBlock(f, 22)); in TEST_F()
370 EXPECT_EQ(loop->GetHeaderBlock(), spvtest::GetBasicBlock(f, 23)); in TEST_F()
371 EXPECT_EQ(loop->GetLatchBlock(), spvtest::GetBasicBlock(f, 25)); in TEST_F()
372 EXPECT_EQ(loop->GetMergeBlock(), spvtest::GetBasicBlock(f, 24)); in TEST_F()
373 EXPECT_FALSE(loop->IsInsideLoop(loop->GetMergeBlock())); in TEST_F()
374 EXPECT_FALSE(loop->IsInsideLoop(loop->GetPreHeaderBlock())); in TEST_F()
380 Loop* loop = ld[30]; in TEST_F() local
381 CheckLoopBlocks(loop, &basic_block_in_loop); in TEST_F()
383 EXPECT_TRUE(loop->HasNestedLoops()); in TEST_F()
384 EXPECT_TRUE(loop->IsNested()); in TEST_F()
385 EXPECT_EQ(loop->GetDepth(), 2u); in TEST_F()
386 EXPECT_EQ(std::distance(loop->begin(), loop->end()), 2u); in TEST_F()
387 EXPECT_EQ(loop->GetPreHeaderBlock(), spvtest::GetBasicBlock(f, 29)); in TEST_F()
388 EXPECT_EQ(loop->GetHeaderBlock(), spvtest::GetBasicBlock(f, 30)); in TEST_F()
389 EXPECT_EQ(loop->GetLatchBlock(), spvtest::GetBasicBlock(f, 32)); in TEST_F()
390 EXPECT_EQ(loop->GetMergeBlock(), spvtest::GetBasicBlock(f, 31)); in TEST_F()
391 EXPECT_FALSE(loop->IsInsideLoop(loop->GetMergeBlock())); in TEST_F()
392 EXPECT_FALSE(loop->IsInsideLoop(loop->GetPreHeaderBlock())); in TEST_F()
397 Loop* loop = ld[41]; in TEST_F() local
398 CheckLoopBlocks(loop, &basic_block_in_loop); in TEST_F()
400 EXPECT_FALSE(loop->HasNestedLoops()); in TEST_F()
401 EXPECT_TRUE(loop->IsNested()); in TEST_F()
402 EXPECT_EQ(loop->GetDepth(), 3u); in TEST_F()
403 EXPECT_EQ(std::distance(loop->begin(), loop->end()), 0u); in TEST_F()
404 EXPECT_EQ(loop->GetPreHeaderBlock(), spvtest::GetBasicBlock(f, 40)); in TEST_F()
405 EXPECT_EQ(loop->GetHeaderBlock(), spvtest::GetBasicBlock(f, 41)); in TEST_F()
406 EXPECT_EQ(loop->GetLatchBlock(), spvtest::GetBasicBlock(f, 43)); in TEST_F()
407 EXPECT_EQ(loop->GetMergeBlock(), spvtest::GetBasicBlock(f, 42)); in TEST_F()
408 EXPECT_FALSE(loop->IsInsideLoop(loop->GetMergeBlock())); in TEST_F()
409 EXPECT_FALSE(loop->IsInsideLoop(loop->GetPreHeaderBlock())); in TEST_F()
414 Loop* loop = ld[50]; in TEST_F() local
415 CheckLoopBlocks(loop, &basic_block_in_loop); in TEST_F()
417 EXPECT_FALSE(loop->HasNestedLoops()); in TEST_F()
418 EXPECT_TRUE(loop->IsNested()); in TEST_F()
419 EXPECT_EQ(loop->GetDepth(), 3u); in TEST_F()
420 EXPECT_EQ(std::distance(loop->begin(), loop->end()), 0u); in TEST_F()
421 EXPECT_EQ(loop->GetPreHeaderBlock(), spvtest::GetBasicBlock(f, 39)); in TEST_F()
422 EXPECT_EQ(loop->GetHeaderBlock(), spvtest::GetBasicBlock(f, 50)); in TEST_F()
423 EXPECT_EQ(loop->GetLatchBlock(), spvtest::GetBasicBlock(f, 52)); in TEST_F()
424 EXPECT_EQ(loop->GetMergeBlock(), spvtest::GetBasicBlock(f, 51)); in TEST_F()
425 EXPECT_FALSE(loop->IsInsideLoop(loop->GetMergeBlock())); in TEST_F()
426 EXPECT_FALSE(loop->IsInsideLoop(loop->GetPreHeaderBlock())); in TEST_F()
432 if (Loop* loop = ld[&bb]) { in TEST_F() local
434 make_range(++TreeDFIterator<Loop>(loop), TreeDFIterator<Loop>())) { in TEST_F()
573 Loop& loop = *ld[22]; in TEST_F() local
574 EXPECT_TRUE(loop.HasNestedLoops()); in TEST_F()
575 EXPECT_FALSE(loop.IsNested()); in TEST_F()
576 EXPECT_EQ(loop.GetDepth(), 1u); in TEST_F()
577 EXPECT_EQ(loop.GetParent(), nullptr); in TEST_F()
581 Loop& loop = *ld[29]; in TEST_F() local
582 EXPECT_TRUE(loop.HasNestedLoops()); in TEST_F()
583 EXPECT_TRUE(loop.IsNested()); in TEST_F()
584 EXPECT_EQ(loop.GetDepth(), 2u); in TEST_F()
585 EXPECT_EQ(loop.GetParent(), ld[22]); in TEST_F()
589 Loop& loop = *ld[36]; in TEST_F() local
590 EXPECT_FALSE(loop.HasNestedLoops()); in TEST_F()
591 EXPECT_TRUE(loop.IsNested()); in TEST_F()
592 EXPECT_EQ(loop.GetDepth(), 3u); in TEST_F()
593 EXPECT_EQ(loop.GetParent(), ld[29]); in TEST_F()
597 Loop& loop = *ld[47]; in TEST_F() local
598 EXPECT_FALSE(loop.HasNestedLoops()); in TEST_F()
599 EXPECT_TRUE(loop.IsNested()); in TEST_F()
600 EXPECT_EQ(loop.GetDepth(), 2u); in TEST_F()
601 EXPECT_EQ(loop.GetParent(), ld[22]); in TEST_F()
716 Loop& loop = *ld[16]; in TEST_F() local
717 EXPECT_TRUE(loop.HasNestedLoops()); in TEST_F()
718 EXPECT_FALSE(loop.IsNested()); in TEST_F()
719 EXPECT_EQ(loop.GetDepth(), 1u); in TEST_F()
720 EXPECT_EQ(loop.GetParent(), nullptr); in TEST_F()
724 Loop& loop = *ld[33]; in TEST_F() local
725 EXPECT_EQ(loop.GetPreHeaderBlock(), nullptr); in TEST_F()
726 EXPECT_NE(loop.GetOrCreatePreHeaderBlock(), nullptr); in TEST_F()
728 EXPECT_EQ(ld[loop.GetPreHeaderBlock()], ld[16]); in TEST_F()
731 cfg->preds(loop.GetPreHeaderBlock()->id()); in TEST_F()
737 loop.GetPreHeaderBlock()->ForEachPhiInst([&pred_set](Instruction* phi) { in TEST_F()
745 cfg->preds(loop.GetHeaderBlock()->id()); in TEST_F()
748 EXPECT_TRUE(pred_set.count(loop.GetPreHeaderBlock()->id())); in TEST_F()
751 loop.GetHeaderBlock()->ForEachPhiInst([&pred_set](Instruction* phi) { in TEST_F()
760 Loop& loop = *ld[41]; in TEST_F() local
761 EXPECT_EQ(loop.GetPreHeaderBlock(), nullptr); in TEST_F()
762 EXPECT_NE(loop.GetOrCreatePreHeaderBlock(), nullptr); in TEST_F()
763 EXPECT_EQ(ld[loop.GetPreHeaderBlock()], nullptr); in TEST_F()
764 EXPECT_EQ(cfg->preds(loop.GetPreHeaderBlock()->id()).size(), 1u); in TEST_F()
765 EXPECT_EQ(cfg->preds(loop.GetPreHeaderBlock()->id())[0], 25u); in TEST_F()
767 loop.GetPreHeaderBlock()->ForEachPhiInst([](Instruction* phi) { in TEST_F()
773 cfg->preds(loop.GetHeaderBlock()->id()); in TEST_F()
776 EXPECT_TRUE(pred_set.count(loop.GetPreHeaderBlock()->id())); in TEST_F()
779 loop.GetHeaderBlock()->ForEachPhiInst([&pred_set](Instruction* phi) { in TEST_F()