[patches] Re: flow.c/dwarf2out.c and multiple entry points

Richard Henderson rth@redhat.com
Fri Feb 23 16:51:00 GMT 2001


On Sat, Feb 24, 2001 at 01:31:52AM +0100, Jan Hubicka wrote:
> Do you have any sugestion how to get this working easilly, at least
> as temporary solution?

Notice that ENTRY_BLOCK has multiple successors.  At entry point:

  1: Emit a DW_CFA_remember_state before doing anything else.

  1<x<N: Emit a DW_CFA_restore_state immediately followed by
  another DW_CFA_remember_state.

  N: Emit a DW_CFA_restore_state.

The (1<x<N) case is due to the remember/restore thing being a stack,
and the pushes and pops must match up.

Note that DW_CFA_restore_state only affects the register columns,
and you'll also need to reset the CFA data:

   dwarf2out_def_cfa (NULL, STACK_POINTER_REGNUM, INCOMING_FRAME_SP_OFFSET);


r~



More information about the Gcc-patches mailing list