This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]