This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Handle non-SSA arguments in ipa-inline-analysis better


On Sun, Sep 25, 2011 at 12:25 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>>
>> You don't care for a NULL get_base_address return in the other
>> place you added it. ?I think you should instead bail out on a
>> NULL return from said.
>>
>> Note that get_base_address will not strip things down to an
>> SSA name pointer but will return a MEM[ptr, offset] for that.
>> But I suppose unmodified_parm / ipa_get_parm_decl_index
>> already cares for that (dereference of argument)?
>
> I am not (yet) tracking values passed by reference. ?We do not have jump
> functions for these, so there is limited use for it until Martin adds them.
>
> So basically I need to track the SSA names, the cases where scalar variable is
> not in SSA because its address is taken. (i.e. parm_decl alone) and the
> accesses into aggregates that are parameters. I.e. param.field or param[0].
>
> Except for first case where I already have SSA name, I should end
> up with get_base_address returning the actual PARM_DECL, right?

Yes.

> The reason why I am not checking for NULL return is that the code first
> verifies that it understand all the parameters and then it starts building the
> predicates (to avoid adding contions that won't be used at the end).
> So we know get_base_address will return non-NULL.

So why check in the 2nd case?

> Thanks for comments!
> Honza
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]