This finally brings us to something that can support shrink-wrapping. As mentioned in the description of the last patch, this is 95% of what Bernd had in his last 007-dw2cfg patch, except for the remember/ restore_state stuff. And hopefully with better comments.
This is the first version of this that has actually made it into stage3 bootstrap on x86_64, so it isn't well tested yet. This just happens to coincide with the end of my work day, and it's been a while since I've shared state, so I thought I'd post for overnight review. The complete tree is available at git://repo.or.cz/gcc/rth.git rth/cfi-pass r~ Richard Henderson (9): dwarf2cfi: Introduce a dw_cfi_row state. dwarf2cfi: Rename cfi_insn to add_cfi_insn. dwarf2cfi: Populate CUR_ROW->REG_SAVE. dwarf2cfi: Implement change_cfi_row. dwarf2cfi: Remove dw_cfi_row_ref typedef. dwarf2cfi: Convert queued_reg_save to a VEC. dwarf2cfi: Allocate reg_saved_in_data in the heap. dwarf2cfi: Introduce dw_trace_info. dwarf2cfi: Generate and connect traces. gcc/dwarf2cfi.c | 1672 ++++++++++++++++++++++++++++++------------------------- gcc/dwarf2out.c | 159 ++++-- gcc/dwarf2out.h | 5 +- 3 files changed, 1030 insertions(+), 806 deletions(-) -- 1.7.6