This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Unreviewed fix for bootstrap failure
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: geoffk at geoffk dot org (Geoff Keating)
- Cc: rth at redhat dot com, gcc-patches at gcc dot gnu dot org
- Date: Sun, 29 Jun 2003 00:34:05 -0400 (EDT)
- Subject: 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)