cp/ChangeLog.pph
[official-gcc.git] / gcc / ChangeLog.pph
blobf7a73b71cf65e7125619ad8ab5e98127b931b362
1 2011-05-06  Diego Novillo  <dnovillo@google.com>
3         * lto-streamer-out.c (lto_output_tree): If the streamer
4         has unique INTEGER_CST nodes and a match is found in the
5         streamer cache, do not call lto_output_integer_cst.
6         * lto-streamer.h (struct lto_streamer_hooks): Add field
7         has_unique_integer_csts_p.
9 2011-05-04  Diego Novillo  <dnovillo@google.com>
11         * Makefile.in (cgraphunit.o): Add dependency on LTO_STREAMER_H.
12         * cgraphunit.c: Include lto-streamer.h
13         (cgraph_finalize_compilation_unit): Call gimple_streamer_hooks_init
14         if LTO is enabled.
15         * lto-streamer-out.c (lto_output): Move call to
16         gimple_streamer_hooks_init to cgraph_finalize_compilation_unit.
17         * lto-streamer.c (lto_get_common_nodes): Remove if0 hack.
18         (lto_streamer_cache_create): Call streamer_hooks.get_common_nodes
19         instead of lto_get_common_nodes.
20         (gimple_streamer_hooks_init): Set h->get_common_nodes to
21         lto_get_common_nodes.
22         * lto-streamer.h (struct lto_streamer_hooks): Add field
23         get_common_nodes.
25 2011-04-26  Diego Novillo  <dnovillo@google.com>
27         * lto-streamer.h (enum LTO_tags): Change LTO_bb0 to begin
28         after MAX_TREE_CODES.
30 2011-04-26  Diego Novillo  <dnovillo@google.com>
32         * tree.c (tree_node_structure_enum): Make extern.
33         (mark_ts_structures_for): Factor out of
34         initialize_tree_contains_struct.
35         (initialize_tree_contains_struct): Call it.
36         * tree.h (tree_node_structure_for_code): Declare.
37         (mark_ts_structures_for): Declare.
39 2011-04-20  Diego Novillo  <dnovillo@google.com>
41         Merge from trunk rev 172663.
43 2011-04-19  Diego Novillo  <dnovillo@google.com>
45         Merge from trunk rev 172662.
47 2011-04-14  Diego Novillo  <dnovillo@google.com>
49         * lto-streamer-out.c (pack_ts_type_value_fields): Pack all bits
50         of -1 value.
51         * lto-streamer.h (bitpack_create): Assert that the value to
52         pack does not overflow NBITS.
53         * lto-streamer-in.c (unpack_ts_type_value_fields): Unpack
54         BITS_PER_BITPACK_WORD bits for TYPE_ALIAS_SET.
56 2011-04-14  Diego Novillo  <dnovillo@google.com>
58         * lto-streamer.h (bitpack_create): Only use the lower NBITS
59         from VAL.
61 2011-04-14  Diego Novillo  <dnovillo@google.com>
63         * lto-streamer-in.c (unpack_ts_base_value_fields): Handle
64         TYPE_ADDR_SPACE.
65         * lto-streamer-out.c (pack_ts_base_value_fields): Likewise.
67 2011-04-04  Diego Novillo  <dnovillo@google.com>
69         * lto-streamer-in.c (lto_input_tree_pointers): Remove checks
70         for TS_SSA_NAME, TS_STATEMENT_LIST, TS_OMP_CLAUSE and
71         TS_OPTIMIZATION.
72         (lto_read_tree): Check for
73         streamer_hooks.register_decls_in_symtab_p before registering
74         symbols in LTO symtabs.
75         (gimple_streamer_reader_init): Move file_name_hash_table
76         initialization to lto_reader_init.
77         (lto_materialize_tree): Call streamer_hooks.alloc_tree if it exists.
78         * lto-streamer-out.c (lto_output_tree_header): Remove empty
79         line.
80         (lto_output_tree_header): Assert that the tag to be written is valid.
81         Call streamer_hooks.output_tree_header if it exists.
82         * lto-streamer.c (gimple_streamer_hooks_init): Set
83         register_decls_in_symtab_p to true.
84         * lto-streamer.h (struct lto_streamer_hooks): Add field
85         register_decls_in_symtab_p.
86         (struct lto_file_decl_data): Add field sdata.
87         (struct output_block): Add field sdata.
88         (struct lto_streamer_hooks): Add fields
89         alloc_tree and output_tree_header.
90         (enum LTO_tags): Add an LTO_LAST_TAG marker, force
91         LTO_NUM_TAGS have a value bigger than MAX_TREE_CODES and
92         LAST_AND_UNUSED_GIMPLE_CODE.
93         (lto_tag_is_tree_code_p): Return true for anything less than
94         MAX_TREE_CODES.
96 2011-03-30  Diego Novillo  <dnovillo@google.com>
98         * lto-streamer-in.c (lto_input_chain): Make extern.
99         * lto-streamer-out.c (lto_output_tree_ref): Call
100         streamer_hook->indexable_with_decls_p, if it exists.  If it
101         returns true, emit a reference to EXPR in the VAR_DECL index.
102         (lto_output_chain): Make extern.
103         (lto_output_tree_pointers): Move checks for invalid gimple trees ...
104         * lto-streamer.c (lto_is_streamable): ... here.
105         * lto-streamer.h (lto_streamer_hooks): Add
106         indexable_with_decls_p.
107         (lto_output_chain): Declare.
108         (lto_input_chain): Declare.
110 2011-03-25  Diego Novillo  <dnovillo@google.com>
112         * lto-streamer-in.c (unpack_value_fields): Remove checks for
113         TS_SSA_NAME, TS_STATEMENT_LIST and TS_OMP_CLAUSE.
114         Call streamer_hooks.unpack_value_fields if defined.
115         * lto-streamer-out.c (pack_value_fields): Remove checks for
116         TS_SSA_NAME, TS_STATEMENT_LIST and TS_OMP_CLAUSE.
117         Call streamer_hooks.pack_value_fields if defined.
118         (lto_output_tree_header): Call streamer_hooks.is_streamable
119         if defined.
120         * lto-streamer.c (gimple_streamer_hooks_init): Assign hooks
121         for name and is_streamable.
122         (lto_is_streamable): Move from ...
123         * lto-streamer.h: ... here.
124         (lto_streamer_hooks): Add field name, pack_value_fields,
125         unpack_value_fields and is_streamable.
126         (lto_stream_as_builtin_p):
128 2011-03-25  Diego Novillo  <dnovillo@google.com>
130         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
131         (lto_input_ts_decl_common_tree_pointers):
132         * a/gcc/lto-streamer-out.c (lto_output_tree_ref):
133         (lto_output_ts_decl_minimal_tree_pointers):
134         (lto_output_ts_decl_common_tree_pointers):
135         * a/gcc/lto-streamer.h (typedef):
136         (extern):
138 2011-03-25  Diego Novillo  <dnovillo@google.com>
140         * lto-streamer-in.c (lto_reader_init): Rename from
141         lto_init_reader.  Update all users.
142         If streamer_hooks.reader_init exists, call it.
143         Move gimple-specific initialization ...
144         (gimple_streamer_init_reader): ... to this new function.
145         (lto_input_ts_decl_common_tree_pointers): Document unhandled fields.
146         Do not handle DECL_INITIAL.
147         (lto_input_ts_decl_non_common_tree_pointers): Document
148         unhandled fields.
149         Do not handle DECL_SAVED_TREE.
150         (lto_read_tree): If streamer_hooks.read_tree is defined, call
151         it.
152         (gimple_streamer_read_tree): New.  Handle DECL_INITIAL.
153         (gimple_streamer_reader_init): Rename from
154         gimple_streamer_init_reader.  Update all users.
155         * lto-streamer-out.c (lto_writer_init): Make extern.
156         (lto_output): Call gimple_streamer_hooks_init.
157         (lto_output_ts_decl_common_tree_pointers): Document unhandled fields.
158         Do not handle DECL_INITIAL.
159         (lto_output_ts_decl_non_common_tree_pointers): Document
160         unhandled fields.
161         Do not handle DECL_SAVED_TREE.
162         (lto_write_tree): If streamer_hooks.write_tree is defined,
163         call it.
164         (gimple_streamer_write_tree): New.  Handle DECL_INITIAL and
165         DECL_SAVED_TREE.
166         * lto-streamer.c (gimple_streamer_hooks_init): New.
167         (streamer_hooks): New.
168         (streamer_hooks_init): New.
169         * lto-streamer.h (lto_streamer_hooks): Declare.
170         (streamer_hooks): Declare
171         (streamer_hooks_init): Declare
172         (gimple_streamer_hooks_init): Declare.
173         (gimple_streamer_init_reader): Declare.
174         (lto_writer_init): Declare.
175         (struct output_block): Forward declare.
176         (struct lto_input_block): Likewise.
177         (struct data_in): Likewise.
179 2011-03-24  Diego Novillo  <dnovillo@google.com>
181         Merge from trunk rev 171388.
183 2011-03-23  Diego Novillo  <dnovillo@google.com>
185         * lto-streamer-in.c (input_string_internal): Add clarifying
186         comments.
187         * lto-streamer-out.c (lto_output_string_with_length): Rename from
188         output_string_with_length.
189         Output 0 to indicate a non-NULL string.  Update all callers to
190         not emit 0.
191         (lto_output_string): Rename from output_string.  Make extern.
192         Update all users.
194 2011-03-23  Diego Novillo  <dnovillo@google.com>
196         * lto-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
197         Always read DECL_SAVED_TREE.
198         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
199         Igonore varpool nodes.
200         (lto_output_ts_decl_non_common_tree_pointers): Output NULL
201         DECL_SAVED_TREE.
203 2011-03-17  Diego Novillo  <dnovillo@google.com>
205         Merge from trunk rev 171104.
207 2011-03-15  Diego Novillo  <dnovillo@google.com>
209         Merge from google/integration rev 170999 (4.6 branch
210         point at rev 170934).
212 2011-03-09  Diego Novillo  <dnovillo@google.com>
214         * lto-opts.c (input_data_block): Rename and move ...
215         * lto-streamer-in.c (lto_input_data_block): ... here.
216         * lto-streamer-in.c (lto_input_string): Rename from
217         input_string.  Make extern.  Update all users.
218         * lto-streamer-out.c (lto_output_string_with_length): Rename
219         from output_string_with_length.  Make extern.  Update all
220         users.
221         (lto_output_string): Rename from output_string.  Make extern.
222         Update all users.
223         (lto_output_decl_state_streams): Make extern.
224         (lto_output_decl_state_refs): Make extern.
225         * lto-streamer.c (lto_get_common_nodes): #if0 assertions not
226         valid inside the front end.
227         * lto-streamer.h (lto_input_string): Declare.
228         (lto_input_data_block): Declare.
229         (lto_output_string): Declare.
230         (lto_output_string_with_length): Declare.
231         (lto_output_decl_state_streams): Declare.
232         (lto_output_decl_state_refs): Declare.
234 2011-03-04  Lawrence Crowl <crowl@google.com>
236         * tree-pass.h:
237         Add TDF_VISDEF to flags for pretty printing "visible definitions".
238         This enables more C-like output.
240         * tree-pretty-print.c (dump_generic_node):
241         Turn off visible definitions for bases of arrays and pointers.
242         Print struct definitions under visible definitions.
244         * (print_declaration):
245         Filter artificial nodes under visible definitions.
246         Make "static" mean what the language means, not the linker.
247         Create a separate case for typedefs distinct from variables.
248         Move printing of "typedef" to that case.
250         * (print_struct_decl):
251         Change field print algorithm.
252         Filter out struct tags that are artificial, i.e. start with ".".
254 2011-02-15  Lawrence Crowl <crowl@google.com>
256         * strstrmap.h: Add.
257         * strstrmap.c: Add.
258         * Makefile.in:
259         Add rule for strstrmap.o.
260         Add strstrmap.o to OBJS-common.
261         Add dependence of c-family/c-opts.o on strstrmap.h.
263 2011-02-07  Diego Novillo  <dnovillo@google.com>
265         Merge from google/integration.
267 2011-01-24  Lawrence Crowl <crowl@google.com>
269         Merge timevar patch.
271         * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
272         * (timevar_cond_start): New for starting a timer only when it is not
273         already running.
274         * (timevar_cond_stop): New for stopping a timer when it was not already
275         running.
277         * timevar.c (timevar_stop): Enable start/stop timers to start again.
278         * (timevar_cond_start): New as above.
279         * (timevar_cond_stop): New as above.
280         * (timevar_print): Reduce time output to fit in an 80-column window.
281         Factor out units to column headings.
282         Conditionally compile column headings as well as column data.
284         * timevar.def: Add start/stop timers for compiler phases,
285         TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_C_WRAPUP_CHECK,
286         TV_PHASE_CP_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO
287         (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE, and
288         TV_PHASE_FINALIZE.
289         Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
290         Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
291         TV_PARSE_INMETH, TV_INSTANTIATE_TEMPLATE.
292         Change push/pop timers TV_GC and TV_NAME_LOOKUP into start/stop timers.
293         Add start/stop timer TV_RESOLVE_OVERLOAD.
294         Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
295         Mark the strings for TV_GC, TV_NAME_LOOKUP, and
296         TV_RESOLVE_OVERLOAD with a "|" to indicate that they are
297         start/stop timers.
299         * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
300         Start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
301         * (do_compile): Start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
303         * c-decl.c (c_write_global_declarations): Add start/stop of
304         TV_PHASE_C_WRAPUP_CHECK, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
306         * ggc-zone.c (ggc_collect): Change TV_GC to start/stop.
307         * ggc-page.c (ggc_collect): Change TV_GC to start/stop.
309         * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC.
310         * (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
311         * (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
313 2011-01-21  Diego Novillo  <dnovillo@google.com>
315         Mainline merge r169107.
317         * DATESTAMP: Update merge revision.
319 2011-01-05  Diego Novillo  <dnovillo@google.com>
321         Mainline merge r168483.
323         * DATESTAMP: Update merge revision.
325 2010-12-17  Diego Novillo  <dnovillo@google.com>
327         Fix broken bootstrap.
329         * BASE-VER: Move trunk revision suffix...
330         * DATESTAMP: ... here.
332 2010-12-17  Diego Novillo  <dnovillo@google.com>
334         Mainline merge r167963.
336         * BASE-VER: Update revision stamp.
338 2010-11-02  Lawrence Crowl  <crowl@google.com>
339             Diego Novillo  <dnovillo@google.com>
341         * tree-pretty-print.c (dump_generic_node): Protect
342         against NULL TREE_TYPE.
343         * tree.c (make_node_stat): Call
344         lang_hooks.pph_catch_tree, if defined.
345         * input.h (LOCATION_COLUMN): Define.
346         * timevar.def (TV_PTH_DEPENDENCY): Define.
347         (TV_PTH_MANAGE): Define.
348         (TV_PTH_MD5): Define.
349         (TV_PTH_LOAD): Define.
350         (TV_PTH_SAVE): Define.
351         (TV_PTH_SKIP_TOKENS): Define.
352         (TV_PTH_INIT): Define.
353         (TV_PPH_CACHE_IN): Define.
354         (TV_PPH_CACHE_OUT): Define.
355         (TV_PPH_MANAGE): Define.
356         * langhooks.h: Add fields pph_catch_tree and pph_uncatch_tree.
357         * tree-inline.c (copy_tree_r): Tolerate STATEMENT_LISTs
358         when DATA is not NULL.
359         * langhooks-def.h (LANG_HOOKS_PPH_UNCATCH_TREE): Define.
360         (LANG_HOOKS_PPH_CATCH_TREE): Define.
361         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_PPH_UNCATCH_TREE
362         and LANG_HOOKS_PPH_CATCH_TREE.