1 /* PR tree-optimization/71520 */ 2 /* { dg-do compile } */ 3 /* { dg-options "-O2 -fdump-tree-optimized" } */ 4 5 void bar (int); 6 7 void foo(int x)8foo (int x) 9 { 10 switch (x) 11 { 12 case 1: 13 case 12: 14 case 28: 15 case 174: 16 bar (1); 17 bar (2); 18 break; 19 case 3: 20 case 7: 21 case 78: 22 case 96: 23 case 121: 24 default: 25 bar (3); 26 bar (4); 27 bar (5); 28 bar (6); 29 break; 30 case 8: 31 case 13: 32 case 27: 33 case 19: 34 case 118: 35 bar (3); 36 bar (4); 37 bar (5); 38 bar (6); 39 break; 40 case 4: 41 bar (7); 42 break; 43 } 44 } 45 46 void baz(int x)47baz (int x) 48 { 49 switch (x) 50 { 51 case 1: 52 case 12: 53 case 28: 54 case 174: 55 bar (8); 56 bar (9); 57 break; 58 case 3: 59 case 7: 60 case 78: 61 case 96: 62 case 121: 63 default: 64 lab1: 65 lab2: 66 bar (10); 67 bar (11); 68 bar (12); 69 bar (13); 70 break; 71 case 8: 72 case 13: 73 case 27: 74 case 19: 75 case 118: 76 lab3: 77 lab4: 78 bar (10); 79 bar (11); 80 bar (12); 81 bar (13); 82 break; 83 case 4: 84 bar (14); 85 break; 86 } 87 } 88 89 /* { dg-final { scan-tree-dump-times "bar \\\(3\\\);" 1 "optimized" } } */ 90 /* { dg-final { scan-tree-dump-times "bar \\\(10\\\);" 1 "optimized" } } */ 91