On Sun, Sep 25, 2011 at 12:25 PM, Jan Hubicka <hubi...@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
>

Reply via email to