> 
> 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?

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.

Thanks for comments!
Honza

Reply via email to