1 |
|
|
void TestH(int *res, int *c, int *d, int *p, int n) { |
2 |
|
|
|
3 |
|
|
|
4 |
|
|
#pragma clang loop vectorize(assume_safety) |
5 |
|
|
for (i = 0; i < 1600; i++) { |
|
|
loop-vectorize |
vectorized loop (vectorization width: 4, interleaved count: 2) |
TestH |
6 |
|
|
res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; |
7 |
|
|
|
8 |
|
|
|
9 |
|
|
for (i = 0; i < 16; i++) { |
|
|
loop-unroll |
completely unrolled loop with 16 iterations |
TestH |
10 |
|
|
res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; |
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
|
|
inline |
foo can be inlined into TestH with cost=30 (threshold=412) |
TestH |
|
|
inline |
foo inlined into TestH |
TestH |
14 |
|
|
|
15 |
|
|
|
|
|
inline |
bar will not be inlined into TestH because its definition is unavailable |
TestH |
|
|
inline |
foo can be inlined into TestH with cost=30 (threshold=412) |
TestH |
|
|
inline |
foo inlined into TestH |
TestH |
|
|
inline |
foo can be inlined into TestH with cost=30 (threshold=412) |
TestH |
|
|
inline |
foo inlined into TestH |
TestH |
16 |
|
|
|
17 |
|
|
|