Hello,

On Mon, Jan 12 2026, Kugan Vivekanandarajah wrote:
> Hi Martin,
> This patch seems to have broken one of the AutoFDO applications we
> have. I will see if I can create a standalone test.  But, ….

This is most likely PR 123543 which I have just fixed.

[...]

>> @@ -1326,17 +1359,28 @@ intersect_argaggs_with (vec<ipa_argagg_value> &elts,
>> }
>> 
>> /* Mark bot aggregate and scalar lattices as containing an unknown variable,
>> -   return true is any of them has not been marked as such so far.  */
>> +   return true is any of them has not been marked as such so far.  If if
>> +   MAKE_SIMPLE_RECIPIENTS is true, set the lattices that can only hold one
>> +   value to being recipients only, otherwise also set them to bottom.  */
>> 
>> static inline bool
>> -set_all_contains_variable (class ipcp_param_lattices *plats)
>> +set_all_contains_variable (class ipcp_param_lattices *plats,
>> +                          bool make_simple_recipients = false)
>> {
>>   bool ret;
>>   ret = plats->itself.set_contains_variable ();
>>   ret |= plats->ctxlat.set_contains_variable ();
>>   ret |= set_agg_lats_contain_variable (plats);
>> -  ret |= plats->bits_lattice.set_to_bottom ();
>> -  ret |= plats->m_value_range.set_to_bottom ();
>> +  if (make_simple_recipients)
>> +    {
>> +      ret |= plats->bits_lattice.set_recipient_only ();
>> +      ret |= plats->m_value_range.set_recipient_only ();
>> +    }
>> +  else
>> +    {
>> +      ret |= plats->bits_lattice.set_to_bottom ();
>> +      ret |= plats->m_value_range.set_to_bottom ();
>> +    }
>>   return ret;
>> }
>
>
> Here, we seem to be treating m_recipient_only and bits_lattice
> separately.  In this case, shouldn’t we set bits_lattice and
> m_value_range too for the case make_simple_recipients is true?

No, bottom is stronger than the new flag.  The problem was a pasto when
testing the flag.

Sorry for the breakage,

Martin

Reply via email to