[fpc-devel] (patch) An attempt to improve assignments/function result reuse

Michael Van Canneyt michael at freepascal.org
Fri Dec 7 18:04:05 CET 2007



On Fri, 7 Dec 2007, Jonas Maebe wrote:

> 
> On 04 Dec 2007, at 11:30, Sergei Gorelkin wrote:
> 
> >Currently, when assigning types that need helper routines (records, Windows
> >widestrings and variants), the compiler converts assignment into a helper
> >call immediately. If this is moved from typecheckpass to pass1, certain
> >assignments get the chance to be optimized away. See the patch attached.
> 
> Thanks, I've applied your patch. I'm also testing a patch for the function
> result handling (there was another issue: the fact that the fake "result"
> variable is actually implemented as an absolute variable referring to the
> actual function result, causing an extra absolute type conversion node to
> appear around it), which optimizes a lot more in general (in the compiler it
> removes a lot of unnecessary shortstring copy operations).

Does it have a measurable speed impact ?

Michael.



More information about the fpc-devel mailing list