This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 00/12] Eliminate the text-based dwarf2out interface
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: richard dot earnshaw at arm dot com, sje at cup dot hp dot com, ubizjak at gmail dot com, matt at 3am-software dot com
- Date: Wed, 29 Jun 2011 14:49:00 -0700
- Subject: [PATCH 00/12] Eliminate the text-based dwarf2out interface
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