This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[lto]: Changes to make way for serializing cgraph.
- From: Kenneth Zadeck <zadeck at naturalbridge dot com>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>, Nathan Froyd <froydnj at codesourcery dot com>
- Date: Mon, 14 Jan 2008 08:59:14 -0500
- Subject: [lto]: Changes to make way for serializing cgraph.
The file lto/lto-read.c was renamed lto-function-in.c to be symmetric
with lto-function-out.c.
The low level io functions were stripped out of both lto-function-in.c
and lto-function-out.c and put into lto-section-in.c and
lto-section-out.c. These functions were renamed with lto_ prefixes and
made public. These changes were necessary so that the same low level io
functions can be used to serialize the cgraph and the summaries for the
ipa optimizations. More functions may be moved as necessary but this
looks like a good start.
The was one bug uncovered as part of these changes: We were improperly
deserializing the list of asm operands for lists longer than one.
2008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
* lto-read.c: Renamed to lto-function-in.c.
(input_1_unsigned): Moved to lto-section-in.c and renamed
lto_input_1_unsigned.
(input_uleb128): Moved to lto-section-in.c and renamed
lto_input_uleb128.
(input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
lto_input_widest_uint_uleb128.
(input_sleb128): Moved to lto-section-in.c and renamed
lto_input_sleb128.
(input_integer): Moved to lto-section-in.c and renamed
lto_input_integer.
(debug_in_fun): Moved to lto-section-in.c and renamed
lto_debug_in_fun.
(input_block): Moved to lto-section-in.h and renamed
lto_input_block.
(input_expr_operand): Fixed to allow lists with more than one
element.
* lto-section-in.h: New file.
* lto-section-in.c: New file with changes from above.
* Make-lang.in (lto-read.o): Renamed lto-function-in.c.
(lto-section-in.o): New rule.
2008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
* lto-function-out (lto_debug_context, output_stream,
LTO_SET_DEBUGGING_STREAM): Moved to lto_section_out.h.
(debug_out_fun): Renamed lto_debug_out_fun and moved to
lto_section_out.c.
(write_stream): Renamed lto_write_stream and moved to
lto_section_out.c.
(output_1_stream): Renamed lto_output_1_stream and moved to
lto_section_out.c.
(output_uleb128_stream): Renamed lto_output_uleb128 and moved to
lto_section_out.c.
(output_widest_uint_uleb128_stream): Renamed
lto_output_widest_uint_uleb128_stream and moved to
lto_section_out.c.
(output_sleb128_stream): Renamed lto_output_sleb128_stream and
moved to lto_section_out.c.
(output_string, output_decl_index, output_record_start,
output_constructor, output_expr_operand, output_local_vars,
output_local_vars_index, output_ssa_names, output_bb, produce_asm,
output_function, output_constructor_or_init): Renamed all calls as
above.
(output_integer): Guts moved to lto_output_integer_stream.
(output_expr_operand, output_local_var, output_cfg, output_phi,
output_bb, output_function):
Added stmt_num parameter.
* lto-tags.h (lto_debug_context): Added.
* lto-section-out.c: New file that contains functions moved and
renamed from lto-function-out.
* lto-section-out.h: New file that contains declarations in
lto-section-out.c.
* Makefile.in (lto-section-out.o): New rule.