This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Deadly optimization bug (all gcc versions!)
- To: Bernd Schmidt <bernds@cygnus.co.uk>
- Subject: Re: Deadly optimization bug (all gcc versions!)
- From: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- Date: Mon, 30 Aug 1999 10:18:04 +0200
- Cc: Joern Rennecke <amylaar@cygnus.co.uk>,dje@watson.ibm.com,veksler@il.ibm.com,egcs@egcs.cygnus.com,kenner@vlsi1.ultra.nyu.edu
- References: <99081823080500.00740@ns1102.munich.netsurf.de>
At 16:14 24.08.99 , Bernd Schmidt wrote:
>+ /* We can't do anything if the value is set in between the insns we are
>+ processing. */
>+ if (INSN_CUID (reg_last_set[regno]) <= INSN_CUID (subst_insn))
>+ return 0;
>+
Just for my understanding, reg_last_set[regno] will not point past
subst_insn here? What I'm thinking about is, what happens if we have 3 SETs
like:
SET1
start_of_subst_tree
...
SET2
...
subst_insn
...
SET3
Will reg_last_set[] point to SET2 or SET3? If it points to SET3, your patch
doesn't cover all possibilities, or?
Franz.