hoistedA call was lifted out of the loop
Reported by --explain after a verdict.
mettle explain hoisted
The callee is @pure and its arguments do not change across iterations, so the result cannot change either. It is computed once before the loop.
This is what @pure buys. Without it the compiler must assume the call could do anything, and must repeat it.
Related
- vectorizedThe loop became a SIMD kernel
- vectorized-innerThe inner loop of a nest became a kernel
- outer-of-nestThe outer loop of a nest, reported for context
- eliminatedThe loop was removed
- inlinedThe call was inlined
- unrolledThe loop was unrolled
- if-convertedA branch became branchless arithmetic
- prefetchedA prefetch was inserted