On Saturday, 20 May 2017 at 11:47:32 UTC, John Colvin wrote:
What's surprising about it? Thinking very simplistically (I don't know how it actually works), if inlining happened first then surely the later optimisation stages wouldn't have a problem detecting the necessary loop invariants and hoisting them out.
Inlining is usually one of the first passes scheduled. So that should not be an issue, However loop-invariant code motion is not straight-forward.