One of the main reasons that implementing CTFE is difficult, is that inlining happens so early. It sometimes happens that CTFE gets run on a function BEFORE it is inlined, and then the same function gets run again AFTER inlining. Then the same function has a different number of variables, and all kinds of evil transformations. This makes it very difficult to pre-anaylze CTFE functions, before running them. (I've done experiments which show that a minimal "compile" which merely allocates variable numbers, can significantly increase CTFE speed).
Is there any reason why all the inlining couldn't be done after the semantic3 pass has completed, instead of happening within it? _______________________________________________ dmd-internals mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/dmd-internals
