This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: recursive rtl bug
- To: bernds at balti dot cygnus dot co dot uk
- Subject: Re: recursive rtl bug
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Sat, 18 Dec 99 20:47:47 EST
- Cc: gcc-patches at gcc dot gnu dot org
I agree that we certainly get shared rtl between i1, i2 and i3 when
substituting parts of the earlier insns into i3, and that gets sorted out
correctly by the calls to copy_rtx_if_shared. However, does this mean
that it's valid for the simplification routines to make shared rtl within
a single insn?
As far as I know, yes.
If you know of any other places in combine
where something like this happens, could you point some of them out? At
the moment I'm not sure whether we really have a problem or not.
Except for the double substitution case you mention, which I proposed a
fix for, I don't think we have a problem. As to other places which share,
I haven't thought about it much, but there's absolutely no code to *prevent*
sharing, so I'd guess it would occur all over the place. You may caught
all of them in that path, but you also may not have.