On Friday, 14 March 2014 at 08:03:04 UTC, John Colvin wrote:
As much as I like the idea:
Something always tells me this is the compilers job... What
clever reasoning are you applying that the compiler's inliner
can't? It seems like a different situation to say SIMD code,
where correctly structuring loops can require a lot of
gymnastics that the compiler can't or won't (floating point
conformance) do. The inlining decision seems easily automatable
in comparison.
I understand that unoptimised builds for debugging are a
problem, but a sensible compiler let's you hand pick your
optimisation passes.
In short: why are compilers not good enough at this that the
programmer needs to be involved?
I think it's possible for a programmer to make a better decision
about what to do than a compiler. Clearly the compiler isn't
smart enough to make the right decisions for Manu now, so I think
it would be acceptable to at least insert functionality to give
him that control now until the compiler can. There is the
question of whether or not it's possible for a compiler to make
the right decisions in the right places, but I'm not experienced
enough to address that.