Lines Matching refs:fn
44 void check_dominance(const DominatorAnalysisBase& dom_tree, const Function* fn, in check_dominance() argument
48 EXPECT_TRUE(dom_tree.Dominates(spvtest::GetBasicBlock(fn, x), in check_dominance()
49 spvtest::GetBasicBlock(fn, y))); in check_dominance()
62 const Function* fn, uint32_t x, uint32_t y) { in check_no_dominance() argument
65 EXPECT_FALSE(dom_tree.Dominates(spvtest::GetBasicBlock(fn, x), in check_no_dominance()
66 spvtest::GetBasicBlock(fn, y))); in check_no_dominance()
68 EXPECT_FALSE(dom_tree.StrictlyDominates(spvtest::GetBasicBlock(fn, x), in check_no_dominance()
69 spvtest::GetBasicBlock(fn, y))); in check_no_dominance()
72 EXPECT_FALSE(dom_tree.Dominates(spvtest::GetBasicBlock(fn, y), in check_no_dominance()
73 spvtest::GetBasicBlock(fn, x))); in check_no_dominance()
75 EXPECT_FALSE(dom_tree.StrictlyDominates(spvtest::GetBasicBlock(fn, y), in check_no_dominance()
76 spvtest::GetBasicBlock(fn, x))); in check_no_dominance()
116 const Function* fn = spvtest::GetFunction(module, 1); in TEST_F() local
117 const BasicBlock* entry = spvtest::GetBasicBlock(fn, 10); in TEST_F()
118 EXPECT_EQ(entry, fn->entry().get()) in TEST_F()
125 dom_tree.InitializeTree(cfg, fn); in TEST_F()
135 check_dominance(dom_tree, fn, id, id); in TEST_F()
137 check_dominance(dom_tree, fn, 10, 11); in TEST_F()
138 check_dominance(dom_tree, fn, 10, 12); in TEST_F()
139 check_dominance(dom_tree, fn, 10, 13); in TEST_F()
140 check_dominance(dom_tree, fn, 10, 14); in TEST_F()
141 check_dominance(dom_tree, fn, 10, 15); in TEST_F()
143 check_dominance(dom_tree, fn, 11, 12); in TEST_F()
144 check_dominance(dom_tree, fn, 11, 13); in TEST_F()
145 check_dominance(dom_tree, fn, 11, 14); in TEST_F()
146 check_dominance(dom_tree, fn, 11, 15); in TEST_F()
148 check_dominance(dom_tree, fn, 14, 15); in TEST_F()
150 check_no_dominance(dom_tree, fn, 12, 13); in TEST_F()
151 check_no_dominance(dom_tree, fn, 12, 14); in TEST_F()
152 check_no_dominance(dom_tree, fn, 13, 14); in TEST_F()
174 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 11)), in TEST_F()
175 spvtest::GetBasicBlock(fn, 10)); in TEST_F()
176 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 12)), in TEST_F()
177 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
178 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 13)), in TEST_F()
179 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
180 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 14)), in TEST_F()
181 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
182 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 15)), in TEST_F()
183 spvtest::GetBasicBlock(fn, 14)); in TEST_F()
190 dom_tree.InitializeTree(cfg, fn); in TEST_F()
199 check_dominance(dom_tree, fn, id, id); in TEST_F()
201 check_dominance(dom_tree, fn, 14, 10); in TEST_F()
202 check_dominance(dom_tree, fn, 14, 11); in TEST_F()
203 check_dominance(dom_tree, fn, 14, 12); in TEST_F()
204 check_dominance(dom_tree, fn, 14, 13); in TEST_F()
206 check_dominance(dom_tree, fn, 15, 10); in TEST_F()
207 check_dominance(dom_tree, fn, 15, 11); in TEST_F()
208 check_dominance(dom_tree, fn, 15, 12); in TEST_F()
209 check_dominance(dom_tree, fn, 15, 13); in TEST_F()
210 check_dominance(dom_tree, fn, 15, 14); in TEST_F()
212 check_no_dominance(dom_tree, fn, 13, 12); in TEST_F()
213 check_no_dominance(dom_tree, fn, 12, 11); in TEST_F()
214 check_no_dominance(dom_tree, fn, 13, 11); in TEST_F()
234 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 11)), in TEST_F()
235 spvtest::GetBasicBlock(fn, 14)); in TEST_F()
236 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 12)), in TEST_F()
237 spvtest::GetBasicBlock(fn, 14)); in TEST_F()
238 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 13)), in TEST_F()
239 spvtest::GetBasicBlock(fn, 14)); in TEST_F()
240 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 14)), in TEST_F()
241 spvtest::GetBasicBlock(fn, 15)); in TEST_F()
243 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 15)), in TEST_F()
282 const Function* fn = spvtest::GetFunction(module, 1); in TEST_F() local
284 const BasicBlock* entry = spvtest::GetBasicBlock(fn, 8); in TEST_F()
285 EXPECT_EQ(entry, fn->entry().get()) in TEST_F()
292 dom_tree.InitializeTree(cfg, fn); in TEST_F()
302 check_dominance(dom_tree, fn, id, id); in TEST_F()
304 check_dominance(dom_tree, fn, 8, 9); in TEST_F()
305 check_dominance(dom_tree, fn, 8, 10); in TEST_F()
306 check_dominance(dom_tree, fn, 8, 11); in TEST_F()
307 check_dominance(dom_tree, fn, 8, 12); in TEST_F()
309 check_dominance(dom_tree, fn, 9, 10); in TEST_F()
310 check_dominance(dom_tree, fn, 9, 11); in TEST_F()
311 check_dominance(dom_tree, fn, 9, 12); in TEST_F()
313 check_dominance(dom_tree, fn, 11, 12); in TEST_F()
315 check_no_dominance(dom_tree, fn, 10, 11); in TEST_F()
320 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 9)), in TEST_F()
321 spvtest::GetBasicBlock(fn, 8)); in TEST_F()
322 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 10)), in TEST_F()
323 spvtest::GetBasicBlock(fn, 9)); in TEST_F()
324 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 11)), in TEST_F()
325 spvtest::GetBasicBlock(fn, 9)); in TEST_F()
326 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 12)), in TEST_F()
327 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
334 dom_tree.InitializeTree(cfg, fn); in TEST_F()
343 check_dominance(dom_tree, fn, id, id); in TEST_F()
345 check_dominance(dom_tree, fn, 12, 8); in TEST_F()
346 check_dominance(dom_tree, fn, 12, 10); in TEST_F()
347 check_dominance(dom_tree, fn, 12, 11); in TEST_F()
348 check_dominance(dom_tree, fn, 12, 12); in TEST_F()
350 check_dominance(dom_tree, fn, 11, 8); in TEST_F()
351 check_dominance(dom_tree, fn, 11, 9); in TEST_F()
352 check_dominance(dom_tree, fn, 11, 10); in TEST_F()
354 check_dominance(dom_tree, fn, 9, 8); in TEST_F()
357 spvtest::GetBasicBlock(fn, 9)); in TEST_F()
359 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 9)), in TEST_F()
360 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
361 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 10)), in TEST_F()
362 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
363 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 11)), in TEST_F()
364 spvtest::GetBasicBlock(fn, 12)); in TEST_F()
366 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 12)), in TEST_F()
403 const Function* fn = spvtest::GetFunction(module, 1); in TEST_F() local
405 const BasicBlock* entry = spvtest::GetBasicBlock(fn, 10); in TEST_F()
406 EXPECT_EQ(entry, fn->entry().get()) in TEST_F()
413 dom_tree.InitializeTree(cfg, fn); in TEST_F()
422 for (uint32_t id : {10, 11, 12}) check_dominance(dom_tree, fn, id, id); in TEST_F()
424 check_dominance(dom_tree, fn, 10, 11); in TEST_F()
425 check_dominance(dom_tree, fn, 10, 12); in TEST_F()
426 check_dominance(dom_tree, fn, 11, 12); in TEST_F()
431 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 11)), in TEST_F()
432 spvtest::GetBasicBlock(fn, 10)); in TEST_F()
433 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 12)), in TEST_F()
434 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
489 dom_tree.InitializeTree(cfg, fn); in TEST_F()
497 for (uint32_t id : {10, 11, 12}) check_dominance(dom_tree, fn, id, id); in TEST_F()
499 check_dominance(dom_tree, fn, 12, 10); in TEST_F()
500 check_dominance(dom_tree, fn, 12, 11); in TEST_F()
501 check_dominance(dom_tree, fn, 12, 12); in TEST_F()
504 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
506 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 11)), in TEST_F()
507 spvtest::GetBasicBlock(fn, 12)); in TEST_F()
511 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 12)), in TEST_F()
600 const Function* fn = spvtest::GetFunction(module, 1); in TEST_F() local
602 const BasicBlock* entry = spvtest::GetBasicBlock(fn, 10); in TEST_F()
603 EXPECT_EQ(entry, fn->entry().get()) in TEST_F()
610 dom_tree.InitializeTree(cfg, fn); in TEST_F()
620 check_dominance(dom_tree, fn, id, id); in TEST_F()
622 check_dominance(dom_tree, fn, 10, 11); in TEST_F()
623 check_dominance(dom_tree, fn, 10, 13); in TEST_F()
624 check_dominance(dom_tree, fn, 10, 12); in TEST_F()
625 check_dominance(dom_tree, fn, 10, 14); in TEST_F()
626 check_dominance(dom_tree, fn, 10, 15); in TEST_F()
628 check_dominance(dom_tree, fn, 11, 12); in TEST_F()
629 check_dominance(dom_tree, fn, 11, 13); in TEST_F()
630 check_dominance(dom_tree, fn, 11, 14); in TEST_F()
631 check_dominance(dom_tree, fn, 11, 15); in TEST_F()
633 check_dominance(dom_tree, fn, 12, 14); in TEST_F()
634 check_dominance(dom_tree, fn, 12, 15); in TEST_F()
636 check_dominance(dom_tree, fn, 14, 15); in TEST_F()
638 check_no_dominance(dom_tree, fn, 13, 12); in TEST_F()
639 check_no_dominance(dom_tree, fn, 13, 14); in TEST_F()
640 check_no_dominance(dom_tree, fn, 13, 15); in TEST_F()
645 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 11)), in TEST_F()
646 spvtest::GetBasicBlock(fn, 10)); in TEST_F()
647 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 12)), in TEST_F()
648 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
649 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 13)), in TEST_F()
650 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
651 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 14)), in TEST_F()
652 spvtest::GetBasicBlock(fn, 12)); in TEST_F()
653 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 15)), in TEST_F()
654 spvtest::GetBasicBlock(fn, 14)); in TEST_F()
661 dom_tree.InitializeTree(cfg, fn); in TEST_F()
665 check_dominance(dom_tree, fn, id, id); in TEST_F()
667 check_no_dominance(dom_tree, fn, 15, 10); in TEST_F()
668 check_no_dominance(dom_tree, fn, 15, 11); in TEST_F()
669 check_no_dominance(dom_tree, fn, 15, 12); in TEST_F()
670 check_no_dominance(dom_tree, fn, 15, 13); in TEST_F()
671 check_no_dominance(dom_tree, fn, 15, 14); in TEST_F()
673 check_dominance(dom_tree, fn, 14, 12); in TEST_F()
675 check_no_dominance(dom_tree, fn, 13, 10); in TEST_F()
676 check_no_dominance(dom_tree, fn, 13, 11); in TEST_F()
677 check_no_dominance(dom_tree, fn, 13, 12); in TEST_F()
678 check_no_dominance(dom_tree, fn, 13, 14); in TEST_F()
679 check_no_dominance(dom_tree, fn, 13, 15); in TEST_F()
681 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 10)), in TEST_F()
682 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
683 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 12)), in TEST_F()
684 spvtest::GetBasicBlock(fn, 14)); in TEST_F()
688 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 15)), in TEST_F()
690 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 13)), in TEST_F()
692 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 14)), in TEST_F()
694 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 11)), in TEST_F()
731 const Function* fn = spvtest::GetFunction(module, 1); in TEST_F() local
733 const BasicBlock* entry = spvtest::GetBasicBlock(fn, 10); in TEST_F()
734 EXPECT_EQ(entry, fn->entry().get()) in TEST_F()
740 dom_tree.InitializeTree(cfg, fn); in TEST_F()
749 for (uint32_t id : {10, 11, 12, 13}) check_dominance(dom_tree, fn, id, id); in TEST_F()
751 check_dominance(dom_tree, fn, 10, 11); in TEST_F()
752 check_dominance(dom_tree, fn, 10, 12); in TEST_F()
753 check_dominance(dom_tree, fn, 10, 13); in TEST_F()
755 check_dominance(dom_tree, fn, 11, 12); in TEST_F()
756 check_dominance(dom_tree, fn, 11, 13); in TEST_F()
758 check_no_dominance(dom_tree, fn, 13, 12); in TEST_F()
763 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 11)), in TEST_F()
764 spvtest::GetBasicBlock(fn, 10)); in TEST_F()
765 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 12)), in TEST_F()
766 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
767 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 13)), in TEST_F()
768 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
775 dom_tree.InitializeTree(cfg, fn); in TEST_F()
783 for (uint32_t id : {10, 11, 12}) check_dominance(dom_tree, fn, id, id); in TEST_F()
785 check_dominance(dom_tree, fn, 12, 11); in TEST_F()
786 check_dominance(dom_tree, fn, 12, 10); in TEST_F()
789 check_no_dominance(dom_tree, fn, 12, 13); in TEST_F()
790 check_no_dominance(dom_tree, fn, 11, 13); in TEST_F()
791 check_no_dominance(dom_tree, fn, 10, 13); in TEST_F()
795 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 12)), in TEST_F()
798 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 10)), in TEST_F()
799 spvtest::GetBasicBlock(fn, 11)); in TEST_F()
801 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 11)), in TEST_F()
802 spvtest::GetBasicBlock(fn, 12)); in TEST_F()
835 const Function* fn = spvtest::GetFunction(module, 1); in TEST_F() local
837 const BasicBlock* entry = spvtest::GetBasicBlock(fn, 8); in TEST_F()
838 EXPECT_EQ(entry, fn->entry().get()) in TEST_F()
845 dom_tree.InitializeTree(cfg, fn); in TEST_F()
854 for (uint32_t id : {8, 9}) check_dominance(dom_tree, fn, id, id); in TEST_F()
856 check_dominance(dom_tree, fn, 8, 9); in TEST_F()
858 check_no_dominance(dom_tree, fn, 10, 8); in TEST_F()
859 check_no_dominance(dom_tree, fn, 10, 9); in TEST_F()
864 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 9)), in TEST_F()
865 spvtest::GetBasicBlock(fn, 8)); in TEST_F()
866 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 10)), in TEST_F()
874 dom_tree.InitializeTree(cfg, fn); in TEST_F()
882 for (uint32_t id : {8, 9, 10}) check_dominance(dom_tree, fn, id, id); in TEST_F()
884 check_dominance(dom_tree, fn, 9, 8); in TEST_F()
885 check_dominance(dom_tree, fn, 9, 10); in TEST_F()
888 spvtest::GetBasicBlock(fn, 9)); in TEST_F()
891 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 9)), in TEST_F()
893 EXPECT_EQ(dom_tree.ImmediateDominator(spvtest::GetBasicBlock(fn, 10)), in TEST_F()
894 spvtest::GetBasicBlock(fn, 9)); in TEST_F()