]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C
loop-split improvements, part 3
[thirdparty/gcc.git] / gcc / testsuite / g++.dg / tree-ssa / loop-split-1.C
1 /* { dg-do compile } */
2 /* { dg-options "-O3 -fdump-tree-lsplit-details -std=c++11" } */
3 #include <vector>
4 #include <cmath>
5
6 constexpr unsigned s = 100000000;
7
8 int main()
9 {
10 std::vector<float> a, b, c;
11 a.reserve(s);
12 b.reserve(s);
13 c.reserve(s);
14
15 for(unsigned i = 0; i < s; ++i)
16 {
17 if(i == 0)
18 a[i] = b[i] * c[i];
19 else
20 a[i] = (b[i] + c[i]) * c[i-1] * std::log(i);
21 }
22 }
23 /* { dg-final { scan-tree-dump-times "loop split" 1 "lsplit" } } */