On Nov 18, 2014, at 16:21 , Olivier Hainque <[email protected]> wrote: > On Nov 18, 2014, at 03:29 , Jason Merrill <[email protected]> wrote: >> What happens when the outer loop hits a register that we've already seen as >> part of a span?
> I have a candidate improvement to prevent processing the same regno > multiple times. > > Will followup as soon as I have some test results. Slightly delayed by transient local events which deferred the production of test results of relevance. The attached patches combined bootstrap and regtest fine on x86_64-linux. We also have nominal test results with our 4.9 based series of compilers in-house, including for the e500 family of targets. OK to commit ? Thanks for your feedback, Olivier Fix for unwinder aborts on e500: 2014-11-24 Olivier Hainque <[email protected]> * dwarf2cfi.c (init_one_dwarf_reg_size): New helper, processing one particular reg for expand_builtin_init_dwarf_reg_sizes. Take care not to process the same register multiple times. (expand_builtin_init_dwarf_reg_sizes): Rework to use helper and account for dwarf register spans. [see attached file: init-dw-reg-span.diff] Honor DWARF_REG_TO_UNWIND_COLUMN in dwarf_reg_size_table init: 2014-11-24 Olivier Hainque <[email protected]> libgcc/ * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Move default def to ... gcc/ * defaults.h: ... here. * dwarf2cfi.c (init_one_dwarf_reg_size): Honor DWARF_REG_TO_UNWIND_COLUMN.
init-dw-reg-column.diff
Description: Binary data
init-dw-reg-span.diff
Description: Binary data
