On Saturday, 19 July 2014 at 19:49:24 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 19 July 2014 at 08:34:39 UTC, Kagamin wrote:
Can't it simply generate code as is? Seems wasteful to spend
compilation time on this.
Not if you want fast code, consider a template with:
if (a.length+M < b.length+N) {}
then you alias b = a in the template instantiation:
if(a.length+M < a.length+N){}
you want this reduced to:
if (M<N){
}
which can be resolved at compile time.
Yes, but that is the optimizer's job. The front-end doesn't need
to spend time on it, if the back-end then anyway does the same
optimization again.