Line | Hotness | Optimization | Source | Inline Context
--- | --- | --- | --- | ---

1

    void TestH(int *res, int *c, int *d, int *p, int n) {

2

      int i;

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

      foo();

inline

foo can be inlined into TestH with cost=30 (threshold=412)

TestH

inline

foo inlined into TestH

TestH

14

15

      foo(); bar(); foo();

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