http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51552
--- Comment #2 from Jie Zhang <jiez at gcc dot gnu.org> 2011-12-21 04:35:19 UTC --- (gdb) p insn $23 = (rtx) 0x7ffff701b180 (gdb) pr (parallel [ (unspec [ (const_int -4 [0xfffffffffffffffc]) ] 5) (set/f (mem:SI (plus:SI (reg/f:SI 14 SP) (const_int -4 [0xfffffffffffffffc])) [0 S4 A32]) (reg:SI 7 R7)) (set/f (reg/f:SI 14 SP) (plus:SI (reg/f:SI 14 SP) (const_int -4 [0xfffffffffffffffc]))) Before that commit, dwarf2out_frame_debug_expr (insn) will set any_cfis_emitted in dwarf2out_frame_debug, which will cause dwarf2out_flush_queued_reg_saves to emit the CFI. But after that commit, dwarf2out_frame_debug_expr (insn) will not set any_cfis_emitted.