1 2011-05-30 Diego Novillo <dnovillo@google.com>
3 Merge from trunk rev 174363.
5 * lto-streamer.h (enum LTO_tags): Remove LTO_LAST_TAG.
6 Do not force the value on LTO_NUM_TAGS.
8 * lto-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call
9 output_record_start with LTO_null instead of output_zero.
10 (lto_output_ts_binfo_tree_pointers): Likewise.
11 (lto_output_tree): Likewise.
12 (output_eh_try_list): Likewise.
13 (output_eh_region): Likewise.
14 (output_eh_lp): Likewise.
15 (output_eh_regions): Likewise.
16 (output_bb): Likewise.
17 (output_function): Likewise.
18 (output_unreferenced_globals): Likewise.
19 * lto-streamer.h (lto_output_int_in_range): Fix shift sign
20 when splitting values into byte-sized ranges.
22 2011-05-06 Diego Novillo <dnovillo@google.com>
24 * lto-streamer-out.c (lto_output_tree): If the streamer
25 has unique INTEGER_CST nodes and a match is found in the
26 streamer cache, do not call lto_output_integer_cst.
27 * lto-streamer.h (struct lto_streamer_hooks): Add field
28 has_unique_integer_csts_p.
30 2011-05-04 Diego Novillo <dnovillo@google.com>
32 * Makefile.in (cgraphunit.o): Add dependency on LTO_STREAMER_H.
33 * cgraphunit.c: Include lto-streamer.h
34 (cgraph_finalize_compilation_unit): Call gimple_streamer_hooks_init
36 * lto-streamer-out.c (lto_output): Move call to
37 gimple_streamer_hooks_init to cgraph_finalize_compilation_unit.
38 * lto-streamer.c (lto_get_common_nodes): Remove if0 hack.
39 (lto_streamer_cache_create): Call streamer_hooks.get_common_nodes
40 instead of lto_get_common_nodes.
41 (gimple_streamer_hooks_init): Set h->get_common_nodes to
43 * lto-streamer.h (struct lto_streamer_hooks): Add field
46 2011-04-26 Diego Novillo <dnovillo@google.com>
48 * lto-streamer.h (enum LTO_tags): Change LTO_bb0 to begin
51 2011-04-26 Diego Novillo <dnovillo@google.com>
53 * tree.c (tree_node_structure_enum): Make extern.
54 (mark_ts_structures_for): Factor out of
55 initialize_tree_contains_struct.
56 (initialize_tree_contains_struct): Call it.
57 * tree.h (tree_node_structure_for_code): Declare.
58 (mark_ts_structures_for): Declare.
60 2011-04-20 Diego Novillo <dnovillo@google.com>
62 Merge from trunk rev 172663.
64 2011-04-19 Diego Novillo <dnovillo@google.com>
66 Merge from trunk rev 172662.
68 2011-04-14 Diego Novillo <dnovillo@google.com>
70 * lto-streamer-out.c (pack_ts_type_value_fields): Pack all bits
72 * lto-streamer.h (bitpack_create): Assert that the value to
73 pack does not overflow NBITS.
74 * lto-streamer-in.c (unpack_ts_type_value_fields): Unpack
75 BITS_PER_BITPACK_WORD bits for TYPE_ALIAS_SET.
77 2011-04-14 Diego Novillo <dnovillo@google.com>
79 * lto-streamer.h (bitpack_create): Only use the lower NBITS
82 2011-04-14 Diego Novillo <dnovillo@google.com>
84 * lto-streamer-in.c (unpack_ts_base_value_fields): Handle
86 * lto-streamer-out.c (pack_ts_base_value_fields): Likewise.
88 2011-04-04 Diego Novillo <dnovillo@google.com>
90 * lto-streamer-in.c (lto_input_tree_pointers): Remove checks
91 for TS_SSA_NAME, TS_STATEMENT_LIST, TS_OMP_CLAUSE and
93 (lto_read_tree): Check for
94 streamer_hooks.register_decls_in_symtab_p before registering
95 symbols in LTO symtabs.
96 (gimple_streamer_reader_init): Move file_name_hash_table
97 initialization to lto_reader_init.
98 (lto_materialize_tree): Call streamer_hooks.alloc_tree if it exists.
99 * lto-streamer-out.c (lto_output_tree_header): Remove empty
101 (lto_output_tree_header): Assert that the tag to be written is valid.
102 Call streamer_hooks.output_tree_header if it exists.
103 * lto-streamer.c (gimple_streamer_hooks_init): Set
104 register_decls_in_symtab_p to true.
105 * lto-streamer.h (struct lto_streamer_hooks): Add field
106 register_decls_in_symtab_p.
107 (struct lto_file_decl_data): Add field sdata.
108 (struct output_block): Add field sdata.
109 (struct lto_streamer_hooks): Add fields
110 alloc_tree and output_tree_header.
111 (enum LTO_tags): Add an LTO_LAST_TAG marker, force
112 LTO_NUM_TAGS have a value bigger than MAX_TREE_CODES and
113 LAST_AND_UNUSED_GIMPLE_CODE.
114 (lto_tag_is_tree_code_p): Return true for anything less than
117 2011-03-30 Diego Novillo <dnovillo@google.com>
119 * lto-streamer-in.c (lto_input_chain): Make extern.
120 * lto-streamer-out.c (lto_output_tree_ref): Call
121 streamer_hook->indexable_with_decls_p, if it exists. If it
122 returns true, emit a reference to EXPR in the VAR_DECL index.
123 (lto_output_chain): Make extern.
124 (lto_output_tree_pointers): Move checks for invalid gimple trees ...
125 * lto-streamer.c (lto_is_streamable): ... here.
126 * lto-streamer.h (lto_streamer_hooks): Add
127 indexable_with_decls_p.
128 (lto_output_chain): Declare.
129 (lto_input_chain): Declare.
131 2011-03-25 Diego Novillo <dnovillo@google.com>
133 * lto-streamer-in.c (unpack_value_fields): Remove checks for
134 TS_SSA_NAME, TS_STATEMENT_LIST and TS_OMP_CLAUSE.
135 Call streamer_hooks.unpack_value_fields if defined.
136 * lto-streamer-out.c (pack_value_fields): Remove checks for
137 TS_SSA_NAME, TS_STATEMENT_LIST and TS_OMP_CLAUSE.
138 Call streamer_hooks.pack_value_fields if defined.
139 (lto_output_tree_header): Call streamer_hooks.is_streamable
141 * lto-streamer.c (gimple_streamer_hooks_init): Assign hooks
142 for name and is_streamable.
143 (lto_is_streamable): Move from ...
144 * lto-streamer.h: ... here.
145 (lto_streamer_hooks): Add field name, pack_value_fields,
146 unpack_value_fields and is_streamable.
147 (lto_stream_as_builtin_p):
149 2011-03-25 Diego Novillo <dnovillo@google.com>
151 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
152 (lto_input_ts_decl_common_tree_pointers):
153 * a/gcc/lto-streamer-out.c (lto_output_tree_ref):
154 (lto_output_ts_decl_minimal_tree_pointers):
155 (lto_output_ts_decl_common_tree_pointers):
156 * a/gcc/lto-streamer.h (typedef):
159 2011-03-25 Diego Novillo <dnovillo@google.com>
161 * lto-streamer-in.c (lto_reader_init): Rename from
162 lto_init_reader. Update all users.
163 If streamer_hooks.reader_init exists, call it.
164 Move gimple-specific initialization ...
165 (gimple_streamer_init_reader): ... to this new function.
166 (lto_input_ts_decl_common_tree_pointers): Document unhandled fields.
167 Do not handle DECL_INITIAL.
168 (lto_input_ts_decl_non_common_tree_pointers): Document
170 Do not handle DECL_SAVED_TREE.
171 (lto_read_tree): If streamer_hooks.read_tree is defined, call
173 (gimple_streamer_read_tree): New. Handle DECL_INITIAL.
174 (gimple_streamer_reader_init): Rename from
175 gimple_streamer_init_reader. Update all users.
176 * lto-streamer-out.c (lto_writer_init): Make extern.
177 (lto_output): Call gimple_streamer_hooks_init.
178 (lto_output_ts_decl_common_tree_pointers): Document unhandled fields.
179 Do not handle DECL_INITIAL.
180 (lto_output_ts_decl_non_common_tree_pointers): Document
182 Do not handle DECL_SAVED_TREE.
183 (lto_write_tree): If streamer_hooks.write_tree is defined,
185 (gimple_streamer_write_tree): New. Handle DECL_INITIAL and
187 * lto-streamer.c (gimple_streamer_hooks_init): New.
188 (streamer_hooks): New.
189 (streamer_hooks_init): New.
190 * lto-streamer.h (lto_streamer_hooks): Declare.
191 (streamer_hooks): Declare
192 (streamer_hooks_init): Declare
193 (gimple_streamer_hooks_init): Declare.
194 (gimple_streamer_init_reader): Declare.
195 (lto_writer_init): Declare.
196 (struct output_block): Forward declare.
197 (struct lto_input_block): Likewise.
198 (struct data_in): Likewise.
200 2011-03-24 Diego Novillo <dnovillo@google.com>
202 Merge from trunk rev 171388.
204 2011-03-23 Diego Novillo <dnovillo@google.com>
206 * lto-streamer-in.c (input_string_internal): Add clarifying
208 * lto-streamer-out.c (lto_output_string_with_length): Rename from
209 output_string_with_length.
210 Output 0 to indicate a non-NULL string. Update all callers to
212 (lto_output_string): Rename from output_string. Make extern.
215 2011-03-23 Diego Novillo <dnovillo@google.com>
217 * lto-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
218 Always read DECL_SAVED_TREE.
219 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
220 Igonore varpool nodes.
221 (lto_output_ts_decl_non_common_tree_pointers): Output NULL
224 2011-03-17 Diego Novillo <dnovillo@google.com>
226 Merge from trunk rev 171104.
228 2011-03-15 Diego Novillo <dnovillo@google.com>
230 Merge from google/integration rev 170999 (4.6 branch
231 point at rev 170934).
233 2011-03-09 Diego Novillo <dnovillo@google.com>
235 * lto-opts.c (input_data_block): Rename and move ...
236 * lto-streamer-in.c (lto_input_data_block): ... here.
237 * lto-streamer-in.c (lto_input_string): Rename from
238 input_string. Make extern. Update all users.
239 * lto-streamer-out.c (lto_output_string_with_length): Rename
240 from output_string_with_length. Make extern. Update all
242 (lto_output_string): Rename from output_string. Make extern.
244 (lto_output_decl_state_streams): Make extern.
245 (lto_output_decl_state_refs): Make extern.
246 * lto-streamer.c (lto_get_common_nodes): #if0 assertions not
247 valid inside the front end.
248 * lto-streamer.h (lto_input_string): Declare.
249 (lto_input_data_block): Declare.
250 (lto_output_string): Declare.
251 (lto_output_string_with_length): Declare.
252 (lto_output_decl_state_streams): Declare.
253 (lto_output_decl_state_refs): Declare.
255 2011-03-04 Lawrence Crowl <crowl@google.com>
258 Add TDF_VISDEF to flags for pretty printing "visible definitions".
259 This enables more C-like output.
261 * tree-pretty-print.c (dump_generic_node):
262 Turn off visible definitions for bases of arrays and pointers.
263 Print struct definitions under visible definitions.
265 * (print_declaration):
266 Filter artificial nodes under visible definitions.
267 Make "static" mean what the language means, not the linker.
268 Create a separate case for typedefs distinct from variables.
269 Move printing of "typedef" to that case.
271 * (print_struct_decl):
272 Change field print algorithm.
273 Filter out struct tags that are artificial, i.e. start with ".".
275 2011-02-15 Lawrence Crowl <crowl@google.com>
280 Add rule for strstrmap.o.
281 Add strstrmap.o to OBJS-common.
282 Add dependence of c-family/c-opts.o on strstrmap.h.
284 2011-02-07 Diego Novillo <dnovillo@google.com>
286 Merge from google/integration.
288 2011-01-24 Lawrence Crowl <crowl@google.com>
292 * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
293 * (timevar_cond_start): New for starting a timer only when it is not
295 * (timevar_cond_stop): New for stopping a timer when it was not already
298 * timevar.c (timevar_stop): Enable start/stop timers to start again.
299 * (timevar_cond_start): New as above.
300 * (timevar_cond_stop): New as above.
301 * (timevar_print): Reduce time output to fit in an 80-column window.
302 Factor out units to column headings.
303 Conditionally compile column headings as well as column data.
305 * timevar.def: Add start/stop timers for compiler phases,
306 TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_C_WRAPUP_CHECK,
307 TV_PHASE_CP_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO
308 (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE, and
310 Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
311 Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
312 TV_PARSE_INMETH, TV_INSTANTIATE_TEMPLATE.
313 Change push/pop timers TV_GC and TV_NAME_LOOKUP into start/stop timers.
314 Add start/stop timer TV_RESOLVE_OVERLOAD.
315 Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
316 Mark the strings for TV_GC, TV_NAME_LOOKUP, and
317 TV_RESOLVE_OVERLOAD with a "|" to indicate that they are
320 * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
321 Start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
322 * (do_compile): Start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
324 * c-decl.c (c_write_global_declarations): Add start/stop of
325 TV_PHASE_C_WRAPUP_CHECK, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
327 * ggc-zone.c (ggc_collect): Change TV_GC to start/stop.
328 * ggc-page.c (ggc_collect): Change TV_GC to start/stop.
330 * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC.
331 * (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
332 * (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
334 2011-01-21 Diego Novillo <dnovillo@google.com>
336 Mainline merge r169107.
338 * DATESTAMP: Update merge revision.
340 2011-01-05 Diego Novillo <dnovillo@google.com>
342 Mainline merge r168483.
344 * DATESTAMP: Update merge revision.
346 2010-12-17 Diego Novillo <dnovillo@google.com>
348 Fix broken bootstrap.
350 * BASE-VER: Move trunk revision suffix...
351 * DATESTAMP: ... here.
353 2010-12-17 Diego Novillo <dnovillo@google.com>
355 Mainline merge r167963.
357 * BASE-VER: Update revision stamp.
359 2010-11-02 Lawrence Crowl <crowl@google.com>
360 Diego Novillo <dnovillo@google.com>
362 * tree-pretty-print.c (dump_generic_node): Protect
363 against NULL TREE_TYPE.
364 * tree.c (make_node_stat): Call
365 lang_hooks.pph_catch_tree, if defined.
366 * input.h (LOCATION_COLUMN): Define.
367 * timevar.def (TV_PTH_DEPENDENCY): Define.
368 (TV_PTH_MANAGE): Define.
369 (TV_PTH_MD5): Define.
370 (TV_PTH_LOAD): Define.
371 (TV_PTH_SAVE): Define.
372 (TV_PTH_SKIP_TOKENS): Define.
373 (TV_PTH_INIT): Define.
374 (TV_PPH_CACHE_IN): Define.
375 (TV_PPH_CACHE_OUT): Define.
376 (TV_PPH_MANAGE): Define.
377 * langhooks.h: Add fields pph_catch_tree and pph_uncatch_tree.
378 * tree-inline.c (copy_tree_r): Tolerate STATEMENT_LISTs
379 when DATA is not NULL.
380 * langhooks-def.h (LANG_HOOKS_PPH_UNCATCH_TREE): Define.
381 (LANG_HOOKS_PPH_CATCH_TREE): Define.
382 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_PPH_UNCATCH_TREE
383 and LANG_HOOKS_PPH_CATCH_TREE.