re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / tailrecursion-4.c
1 /* { dg-do compile } */
2 /* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr-details" } */
3 int
4 t(int a)
5 {
6 int r;
7 if (a&1)
8 r = t(a-1);
9 else if (a)
10 r = t(a-2);
11 else
12 return 0;
13 if (r)
14 r=r;
15 return r;
16 }
17 /* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 2 "tailr1"} } */
18 /* { dg-final { cleanup-tree-dump "tailr\[1-2\]" } } */