On Fri, Nov 22, 2013 at 12:19 PM, Zdenek Dvorak
<rakd...@iuuk.mff.cuni.cz> wrote:
> Hi,
>
>> > If a pointer typed use is plainly value passed to a func call, it is
>> > not an address use, right? But as you said, x86 lea may help here.
>>
>> But that's what you are matching ... (well, for builtins you know
>> will expand that to a memory reference).
>>
>> What I dislike in the patch is the special-casing of some builtins
>> via a target hook.  I'd rather say treat all internal functions and
>> all target builtins that way.  Or simply all addresses.
>
> unless the architecture has lea-type instruction to compute the address,
> computing say b+4*i incurs some cost, while if mem[b+4*i] is accessed, the
> computation is for free.  Thus, it does not make sense to treat the address
> computations the same way as memory references (or to treat all functions
> the same way as builtins which translate to memory references),

I understand that, but I think the patch tries to improve code generation
not by changing the set of IVs used (thus adjust cost considerations)
but by changing the way it rewrites certain address uses.  And we already
do compute the correct costs for address uses (we just don't perform
exactly the correct verifications for whether a &TMR is supported by
the target?).

Richard.

> Zdenek

Reply via email to