This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: bug in combine_stack_adjustments
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: bug in combine_stack_adjustments
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Fri, 17 Mar 2000 15:22:59 -0700
- cc: gcc at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <20000317141754.B11290@cygnus.com>you write:
> On Fri, Mar 17, 2000 at 02:42:15PM -0700, Jeffrey A Law wrote:
> > Compile on the x86 with -O2:
>
> You're talking i586-linux, right?
i686-pc-linux-gnu
>
> > (call_insn 31 30 33 (parallel[
> > (call (mem:QI (symbol_ref:SI ("ereal_negate")) 0)
> > (const_int 16 [0x10]))
> > (set (reg:SI 7 esp)
> > (plus:SI (reg:SI 7 esp)
> > (const_int 0 [0x0])))
> > ] ) 452 {*call_pop_pic} (nil)
> > (nil)
> > (nil))
>
> In which case we've got multiple bugs, since we shouldn't
> be using call_pop at all.
Why shouldn't we be using call-pop? The (const_int 0) was originally something
other non-zero value (4 or something) and got changed to zero as part of the
combine_stack_adjustments code.
> And this shouldn't have matched single_set, so I shouldn't
> have been looking at it at all... I wonder what went wrong...
It's only got one set.....
jeff