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