February 11, 2010 [Issue 3793] New: Functions with static arrays as arguments are not inlined | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=3793 Summary: Functions with static arrays as arguments are not inlined Product: D Version: 2.041 Platform: All OS/Version: All Status: NEW Severity: minor Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: eriatarka84@gmail.com --- Comment #0 from Clemens <eriatarka84@gmail.com> 2010-02-11 07:34:57 PST --- Was just browsing through some front end code and found this bit of code in canInline() in inline.c: /* If any parameters are Tsarray's (which are passed by reference) * or out parameters (also passed by reference), don't do inlining. */ if (parameters) { for (int i = 0; i < parameters->dim; i++) { VarDeclaration *v = (VarDeclaration *)parameters->data[i]; if (v->isOut() || v->isRef() || v->type->toBasetype()->ty == Tsarray) goto Lno; } } The comment, as far as I can see, is obsolete since static arrays are now value types? Perhaps this restriction can be lifted now? Especially for functions on small vectors, I would expect inlining to be very beneficial. Just putting this here to have it not overlooked. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
June 09, 2010 [Issue 3793] Functions with static arrays as arguments are not inlined | ||||
---|---|---|---|---|
| ||||
Posted in reply to Clemens | http://d.puremagic.com/issues/show_bug.cgi?id=3793 Clemens <eriatarka84@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Clemens <eriatarka84@gmail.com> 2010-06-09 02:12:59 PDT --- Seems to have been fixed in Changeset [497]. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation