This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [committed][lto merge]: Various minor fixes
On Fri, Apr 17, 2009 at 11:59 PM, Diego Novillo <dnovillo@google.com> wrote:
> On Fri, Apr 17, 2009 at 17:55, Richard Guenther
> <richard.guenther@gmail.com> wrote:
>
>>> +void
>>> +find_referenced_vars_in (gimple stmt)
>>
>> Why export this function? ?Are there outside uses on the branch?
>
> Yes. ?I forgot to mention that, sorry. ?I'll commit the code to use it
> when I start moving in LTO-specific changes.
Ok.
>>> @@ -3003,6 +3003,7 @@ create_expression_by_pieces (basic_block
>>> ? ? ? ? ? ? ?add_to_value (VN_INFO (forcedname)->value_id, nameexpr);
>>> ? ? ? ? ? ? ?if (!in_fre)
>>> ? ? ? ? ? ? ? ?bitmap_value_replace_in_set (NEW_SETS (block), nameexpr);
>>> + ? ? ? ? ? ? gcc_assert (AVAIL_OUT (block));
>>
>> Uh. ?That is odd. ?We certainly do not test this in other places and AVAIL_OUT
>> is allocated for all blocks.
>>
>> Thus, can you instead revert it on the branch (and now trunk)?
>
> *shrug* ? It was useful when LTO was miscompiling types causing
> confusion here. ?I can remove the assertion if it irritates you.
It does because it doesn't make sense given
FOR_ALL_BB (bb)
{
EXP_GEN (bb) = bitmap_set_new ();
PHI_GEN (bb) = bitmap_set_new ();
TMP_GEN (bb) = bitmap_set_new ();
AVAIL_OUT (bb) = bitmap_set_new ();
}
IMHO asserts always should make sense.
Thanks,
Richard.