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