[fpc-devel] Patch for rtl/inc/rtti.inc
Florian Klaempfl
florian at freepascal.org
Sun Sep 14 16:48:43 CEST 2008
Daniël Mantione schrieb:
>
>
> Op Sun, 14 Sep 2008, schreef Florian Klaempfl:
>
>> Daniël Mantione schrieb:
>>>
>>>
>>> Op Sun, 14 Sep 2008, schreef Jonas Maebe:
>>>
>>>>
>>>> On 14 Sep 2008, at 14:49, Markus Beth wrote:
>>>>
>>>>> this patch rewrites code of ArrayRTTI and fpc_Copy to allow the
>>>>> compiler to generate faster code (at least on i386).
>>>>> The change in ArrayRTTI yields a performance gain of ~4% for our
>>>>> real world application on a 3 GHz Intel Xeon.
>>>>> The change in fpc_Copy is completely untestet because I don't know
>>>>> when this compilerproc is called. Maybe someone who knows can hack
>>>>> a quick benchmark...
>>>>
>>>> I don't think it's a good idea to start manually adding loop
>>>> induction variables to many routines in the rtl. It makes the code
>>>> less maintainable, and at one point the compilation process itself
>>>> will/should do that by itself.
>>>
>>> This patch should get applied. It's debatable wether additions are
>>> hard to maintain than multiplications and it may take years before
>>> the compiler can do that optimization. That doesn't mean we should
>>> optimize anything manually, but fpc_copy is definately speed critical
>>> code for things like widestrings.
>>
>> Shall I implement automatic simple loop induction variable tonight :)?
>
> No, do it in a proper and maintainable way :)
I think this could be done already. DFA generates the necessary
definition information. Expressions being candidates must be search anyways.
More information about the fpc-devel
mailing list