------- 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