[PATCH 00/12] Eliminate the text-based dwarf2out interface

Richard Henderson rth@redhat.com
Wed Jun 29 21:50:00 GMT 2011


In preparation for the changes required to support shrink-wrapping,
it makes things Much Easier if we no longer have to handle seeing
new unwind states being introduced during pass_final, while emitting
the actual assembly.  Thus we want to convert everything that used
the text-based interfaces to use the REG_CFA_* notes instead.

The following set has been tested on i386-linux, x86_64-linux,
ia64-linux, arm-elf, arm-eabi, and a cross-compile to vax-linux.


r~


Richard Henderson (12):
  dwarf2out: Convert regs_saved_in_regs to VEC.
  dwarf2out: Handle pc_rtx as return column in REG_CFA_OFFSET too.
  dwarf2out: Add REG_CFA_FLUSH_QUEUE.
  vax: Emit prologue as rtl.
  arm: Use REG_CFA_REGISTER instead of UNSPEC_STACK_ALIGN.
  ia64: Issue REG_CFA_REGISTER for ar.pfs at alloc insn.
  ia64: Remove ia64_dwarf2out_def_steady_cfa.
  ia64: Use pc_rtx to save the return address.
  ia64: Remove dead code in process_epilogue.
  ia64: Remove TARGET_DWARF_HANDLE_FRAME_UNSPEC hook.
  i386: Always use TARGET_DEEP_BRANCH_PREDICTION.
  dwarf2out: Remove unused text-based unwind entry points.

 gcc/config/arm/arm.c        |  114 ++++++++++++----------
 gcc/config/arm/arm.md       |    2 -
 gcc/config/i386/i386.c      |  105 +++----------------
 gcc/config/i386/i386.h      |    3 -
 gcc/config/ia64/ia64.c      |  108 ++++++---------------
 gcc/config/vax/vax-protos.h |    1 +
 gcc/config/vax/vax.c        |   86 ++++++++++++-----
 gcc/config/vax/vax.md       |   25 ++++-
 gcc/dwarf2out.c             |  233 ++++++++++++++++++++-----------------------
 gcc/final.c                 |    4 +-
 gcc/reg-notes.def           |   11 ++-
 gcc/tree.h                  |   27 -----
 12 files changed, 313 insertions(+), 406 deletions(-)

-- 
1.7.5.4



More information about the Gcc-patches mailing list