> Hi,
> 
> in propagate_constants_accross_call we expect a thunk to have at least
> one parameter and thus an ipa-prop parameter descriptor.  However,
> when the callee comes from a CU that was compiled with -O0, there are
> no parameter descriptors and we fail an index checking assert.
> 
> This patch fixes it by bailing out early if there are no parameter
> descriptors because in that case there is nothing to do in that
> function anyway.  Bootstrap and testing in progress, OK for trunk if
> it passes?
> 
> Thanks,
> 
> Martin
> 
> 
> 2014-02-21  Martin Jambor  <mjam...@suse.cz>
> 
>       PR ipa/60266
>       * ipa-cp.c (propagate_constants_accross_call): Bail out early if
>       there are no parameter descriptors.

Actually I have similar patch in my tree for few days since I hit the problem
while building libreoffice.

OK.
Honza
> 
> diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
> index 7d8bc05..4c9ab12 100644
> --- a/gcc/ipa-cp.c
> +++ b/gcc/ipa-cp.c
> @@ -1428,6 +1428,8 @@ propagate_constants_accross_call (struct cgraph_edge 
> *cs)
>    args = IPA_EDGE_REF (cs);
>    args_count = ipa_get_cs_argument_count (args);
>    parms_count = ipa_get_param_count (callee_info);
> +  if (parms_count == 0)
> +    return false;
>  
>    /* If this call goes through a thunk we must not propagate to the first 
> (0th)
>       parameter.  However, we might need to uncover a thunk from below a 
> series

Reply via email to