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, 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.
> Would sel-sched work with my alias.c change (i.e. just the VEC_replace)?
No, we reuse registers for renaming, and per the above, we cannot simply
replace.
Thanks.
Alexander