bug in combine_stack_adjustments
Jeffrey A Law
law@cygnus.com
Fri Mar 17 14:29:00 GMT 2000
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
More information about the Gcc
mailing list