This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix var-tracking ICE (PR debug/46387)
On Fri, Nov 12, 2010 at 12:15 PM, Alexander Monakov <amonakov@ispras.ru> wrote:
>
>
> On Fri, 12 Nov 2010, Jakub Jelinek wrote:
>
>> I must say I don't understand why the patch sets it to NULL_RTX instead of
>> copying there VEC_index (rtx, reg_base_value, src_regno), by making both
>> have the same value they are handled like they might alias each other,
>> but still not considered to alias unrelated bases.
>
> If dest_regno already has a reg_base_value, it may have a SET somewhere else
> in the function. ?In selective scheduler, we are creating a new SET, and if we
> just copy reg_base_value from src_regno, we would be changing alias
> information for the existing SET of the same register. ?It would be wrong: the
> existing SET may alias some bases that the new would not. ?Therefore, we have
> to drop it to NULL.
Yep, you'd need to unify the base values, thus, loop over all reg_base_values
and change each occurance of either to the other. That would work
I think. Don't you need something similar for the cfa_base_reg?
Richard.