dwarf2out.c (dw_val_class_offset): New.
authorRichard Henderson <rth@redhat.com>
Sun, 29 Jul 2001 02:10:42 +0000 (19:10 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 29 Jul 2001 02:10:42 +0000 (19:10 -0700)
commita20612aa8b221eff034088038287f16449bb9e09
treee6828ba8212c1bd787e1ea3b54680bdef5677a3b
parent594280a3964b64125bc6259ee2fda308dfc01d36
dwarf2out.c (dw_val_class_offset): New.

* dwarf2out.c (dw_val_class_offset): New.
(struct dw_ranges_struct, dw_ranges_ref): New.
(ranges_table, ranges_table_allocated): New.
(ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
(add_AT_offset, add_ranges, output_ranges): New.
(print_die, output_die): Handle dw_val_class_offset.
(attr_checksum, size_of_die, value_format): Likewise.
(gen_lexical_block_die): Handle non-contiguous blocks.
(gen_block_die): Likewise.
(dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
if needed.  Dump the ranges table.
* final.c (final_start_function): Remove unnecessary notes and
rebuild the block tree before numbering the blocks.
* function.c (reorder_blocks_0): Walk the existing block tree
to unmark all blocks.
(reorder_blocks_1): Create block fragments when duplicate block
notes are seen.
(reorder_fix_fragments): New.
(reorder_blocks): Call it.
* tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.

From-SVN: r44444
gcc/ChangeLog
gcc/dwarf2out.c
gcc/final.c
gcc/function.c
gcc/tree.h