------- Comment #3 from jakub at gcc dot gnu dot org  2010-02-09 13:41 -------
This is because the [sp] = ax insn has different INSN_PRIORITY between -g and
-g0.  That difference is because different kind of dependency is added when
analyzing the following call:
(call (mem:QI (symbol_ref:SI
("_ZN4Glib12SignalProxy2Iv7ustringS1_E7connectEN4sigc4slotIvNS3_3nilES5_S5_S5_EE")
[flags 0x41] <function_decl 0x7ffff17bf700 connect>) [0 S1 A8])
    (const_int 12 [0xc]))
Without -g the (mem (value)) in question has 2 different locs:
p *mem->u.fld[0].rt_rtx->u.fld[0].rt_cselib->locs
{next = 0x1a57510, loc = 0x7ffff1822460, setting_insn = 0x7ffff13c1360}
debug_rtx (mem->u.fld[0].rt_rtx->u.fld[0].rt_cselib->locs->loc)
(reg/f:SI 7 sp)
debug_rtx (mem->u.fld[0].rt_rtx->u.fld[0].rt_cselib->locs->next->loc)
(plus:SI (value:SI 274:4212 @0x1a4ffb8/0x1a57790)
    (const_int -4 [0xfffffffffffffffc]))
while with -g there is just one loc - sp.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42977

Reply via email to