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: Unreviewed fix for bootstrap failure


> 2. Are you sure this is a good idea?  What happens if a label is deleted
>    that's referred to from a REG_EQUIV note, and the note is later
>    substituted for the register (say, by reload)?

As I understand the current situation, the only notes that can contain
label references are REG_EQUAL notes.  These cannot be used for
substitution, only cse.  Thus, this isn't a problem.

I agree that if there was a more general usage of notes with symbol
references, then they would have to be included in the label usage
counts.

The patch doesn't change the current semantics.  For example, label
usage counts are not updated when a register note is deleted.  Situations
when the labels in an instruction are replaced are relatively rare.
Otherwise, the patch which added these notes would have created a lot
more problems.  Thus, it seemed the most expediate fix was to the
replacement.  The other alternative was to delete REG_EQUAL notes
containing symbol references from instructions that needed label
replacement.  However, it seemed we would lose some optimization
possibilites if that was done.

I will look at the documentation.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)


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