1 /* { dg-do compile } */ 2 /* { dg-options "-O3 -fdump-tree-fnsplit" } */ 3 int b; 4 int c; 5 int d; 6 void long_function (int); 7 void split_me(int a)8split_me(int a) 9 { 10 int t = 0; 11 if (d>4) 12 return; 13 do 14 { 15 long_function (t); 16 long_function (t); 17 long_function (t); 18 long_function (t); 19 long_function (t); 20 long_function (t); 21 make_me_irregular: 22 long_function (t); 23 long_function (t); 24 long_function (t); 25 long_function (t); 26 long_function (t); 27 t=b; 28 } 29 while (t); 30 if (c) 31 goto make_me_irregular; 32 } 33 34 int main()35main() 36 { 37 split_me (1); 38 split_me (2); 39 split_me (3); 40 split_me (4); 41 split_me (5); 42 } 43 /* { dg-final { scan-tree-dump-times "Splitting function" 1 "fnsplit"} } */ 44