Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / gcc.dg / tree-ssa / flatten-1.c
blob2eb41e5b466546034ee6145430a43454af8d40ef
1 /* { dg-do compile } */
2 /* { dg-options -O2 } */
4 /* Basic tests for flatten attribute, check we end up
5 with only the flattened function bodies. */
7 static int foobar(int i);
8 static int bar(int i);
10 int __attribute__((flatten)) leaf0a(int i)
12 return bar(i);
14 int __attribute__((flatten)) leaf0b(int i)
16 return foobar(i);
18 int __attribute__((flatten)) leaf1(int i)
20 return bar(foobar(i));
22 int __attribute__((flatten)) leaf2(int i)
24 int j;
25 j = foobar(i);
26 return bar(j);
29 static int foobar(int i)
31 return i-1;
33 static int bar(int i)
35 return i + foobar(i);
39 static int gloobar(int i)
41 return i*5+1;
43 static int floobar(int i)
45 return gloobar(i);
47 int __attribute__((flatten)) leaf3(int i)
49 int j;
50 j = floobar(i);
51 j += floobar(i);
52 return j;
55 /* { dg-final { scan-assembler-not "bar\[: \t\n\]" } } */