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