]> gcc.gnu.org Git - gcc.git/blob - gcc/lto/ChangeLog
c++: can't eval PTRMEM_CST in incomplete class [PR107574]
[gcc.git] / gcc / lto / ChangeLog
1 2023-01-13 Richard Biener <rguenther@suse.de>
2
3 * lto-lang.cc (lto_type_for_mode): Sync with
4 c_common_type_for_mode.
5
6 2023-01-04 Jan Hubicka <hubicka@ucw.cz>
7
8 * lto-partition.cc (may_need_named_section_p): Clones with no body
9 need no remaning.
10
11 2022-12-29 Alexandre Oliva <oliva@adacore.com>
12
13 * lto-partition.cc (lto_1_to_1_map): Drop NULL partition
14 mapping.
15
16 2022-12-22 Richard Biener <rguenther@suse.de>
17
18 * lto-common.cc (compare_tree_sccs_1): Compare DECL_NOT_FLEXARRAY.
19
20 2022-12-21 Jan Hubicka <hubicka@ucw.cz>
21
22 * lto-common.cc (lto_resolution_read): With incremental linking
23 and whole program ignore turn LDPR_PREVAILING_DEF_IRONLY to
24 LDPR_PREVAILING_DEF_IRONLY_EXP
25 * lto-lang.cc (lto_post_options): Do not clear flag_whole_program
26 for incremental link
27
28 2022-11-25 Martin Liska <mliska@suse.cz>
29
30 PR lto/107829
31 * lto.cc (materialize_cgraph): Call timevar_push before
32 materialization starts.
33
34 2022-10-29 Thomas Schwinge <thomas@codesourcery.com>
35
36 * lang.opt: Better separate 'LTO' vs. 'LTODump'.
37
38 2022-10-28 Joseph Myers <joseph@codesourcery.com>
39
40 * lto-common.cc (compare_tree_sccs_1): Compare
41 TYPE_NO_NAMED_ARGS_STDARG_P.
42
43 2022-10-28 Martin Liska <mliska@suse.cz>
44
45 * lto-dump.cc (dump_list): Remove trailing return.
46 (dump_symbol): Likewise.
47 (dump_body): Filter name based on mangled name.
48 (dump_tool_help): Use GIMPLE wording.
49 (lto_main): Update wording.
50
51 2022-10-27 Martin Liska <mliska@suse.cz>
52
53 PR lto/107418
54 * lto-dump.cc (lto_main): Do not load LTO stream for aliases.
55
56 2022-09-15 Richard Biener <rguenther@suse.de>
57
58 * lto-lang.cc (lto_build_c_type_nodes): Do not initialize
59 void_list_node.
60
61 2022-08-22 Martin Liska <mliska@suse.cz>
62
63 PR lto/106700
64 * lto.cc (wait_for_child): Ask if we are connected to jobserver.
65 (stream_out_partitions): Likewise.
66
67 2022-08-10 Martin Liska <mliska@suse.cz>
68
69 PR lto/106328
70 * lto.cc (wait_for_child): Decrement nruns once a process
71 finishes.
72 (stream_out_partitions): Use job server if active.
73 (do_whole_program_analysis): Likewise.
74
75 2022-07-08 Martin Liska <mliska@suse.cz>
76
77 * lto-dump.cc (lto_main): Exit in the function
78 as we don't want any LTO bytecode processing.
79
80 2022-06-27 David Malcolm <dmalcolm@redhat.com>
81
82 * lto-dump.cc: Add "final" and "override" to various vfunc
83 implementations, removing redundant "virtual" as appropriate.
84
85 2022-05-16 Martin Liska <mliska@suse.cz>
86
87 * lto-common.cc (lto_resolution_read): Use ARRAY_SIZE.
88 * lto-lang.cc (lto_init): Likewise.
89
90 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
91
92 PR middle-end/104285
93 * lto-partition.cc (maybe_rewrite_identifier): Use get_identifier
94 for the returned string to be usable as hash key.
95 (validize_symbol_for_target): Hence, use return value directly.
96 (privatize_symbol_name_1): Track maybe_rewrite_identifier renames.
97 * lto.cc (offload_handle_link_vars): Move function up before ...
98 (do_whole_program_analysis): Call it after static renamings.
99 (lto_main): Move call after static renamings.
100
101 2022-02-04 Richard Biener <rguenther@suse.de>
102
103 PR middle-end/90348
104 PR middle-end/104092
105 * lto-common.cc (compare_tree_sccs_1): Compare CLOBBER_KIND.
106
107 2022-02-02 Martin Liska <mliska@suse.cz>
108
109 PR lto/104333
110 * lto-common.cc (read_cgraph_and_symbols): Move resolution
111 checking for number of files later and report a reasonable
112 error message.
113 * lto-object.cc (lto_obj_file_open): Make error fatal.
114
115 2022-01-17 Martin Liska <mliska@suse.cz>
116
117 * config-lang.in: Rename .c names to .cc.
118 * lang-specs.h: Likewise.
119 * lto-common.cc (gimple_register_canonical_type_1): Likewise.
120 * lto-common.h: Likewise.
121 * lto-dump.cc (lto_main): Likewise.
122 * lto-lang.cc (handle_fnspec_attribute): Likewise.
123 (lto_getdecls): Likewise.
124 (lto_init): Likewise.
125 * lto.cc (lto_main): Likewise.
126 * lto.h: Likewise.
127
128 2022-01-17 Martin Liska <mliska@suse.cz>
129
130 * common.c: Moved to...
131 * common.cc: ...here.
132 * lto-common.c: Moved to...
133 * lto-common.cc: ...here.
134 * lto-dump.c: Moved to...
135 * lto-dump.cc: ...here.
136 * lto-lang.c: Moved to...
137 * lto-lang.cc: ...here.
138 * lto-object.c: Moved to...
139 * lto-object.cc: ...here.
140 * lto-partition.c: Moved to...
141 * lto-partition.cc: ...here.
142 * lto-symtab.c: Moved to...
143 * lto-symtab.cc: ...here.
144 * lto.c: Moved to...
145 * lto.cc: ...here.
146
147 2021-11-18 Jan Hubicka <hubicka@ucw.cz>
148
149 * lto-partition.c (promote_symbol): Clear semantic_interposition flag.
150
151 2021-11-06 Jan Hubicka <hubicka@ucw.cz>
152
153 PR ipa/103070
154 PR ipa/103058
155 * lto-partition.c (must_not_rename): Update comment.
156 (promote_symbol): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
157
158 2021-10-22 Eric Gallager <egallager@gcc.gnu.org>
159
160 PR other/102663
161 * Make-lang.in: Add dummy lto.install-dvi target.
162
163 2021-09-27 Martin Liska <mliska@suse.cz>
164
165 * lto-lang.c (lto_init_options_struct): Set also
166 x_flag_default_complex_method.
167
168 2021-09-03 Jakub Jelinek <jakub@redhat.com>
169
170 PR target/102024
171 * lto-common.c (compare_tree_sccs_1): Also compare
172 DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD values.
173
174 2021-09-02 liuhongt <hongtao.liu@intel.com>
175
176 * lto-lang.c (lto_type_for_mode): Return float16_type_node
177 when mode == TYPE_MODE (float16_type_node).
178
179 2021-05-31 Martin Liska <mliska@suse.cz>
180
181 * lto-common.c (compare_tree_sccs_1): Compare
182 FUNCTION_DECL_DECL_TYPE.
183
184 2021-05-24 Wang Liushuai <wangliushuai@bytedance.com>
185
186 * lto-dump.c (get_size): Fix the NPD error about the thunk symbol.
187
188 2021-04-15 Jan Hubicka <hubicka@ucw.cz>
189
190 PR lto/98599
191 * lto.c (lto_wpa_write_files): Fix handling of clones.
192
193 2021-04-08 Martin Sebor <msebor@redhat.com>
194
195 PR middle-end/99883
196 * lto-lang.c (lto_post_options): Correct spelling.
197
198 2021-02-28 Jakub Jelinek <jakub@redhat.com>
199
200 PR c/99304
201 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Fix comment
202 typos - refernced -> referenced and
203 devirtualizaiton -> devirtualization.
204
205 2020-12-16 Martin Liska <mliska@suse.cz>
206
207 * lang.opt: Remove usage of Report.
208
209 2020-11-20 Jakub Jelinek <jakub@redhat.com>
210
211 PR other/97911
212 * Make-lang.in (lto1.serial, lto2.serial): Change from goals to
213 variables.
214 (.PHONY): Drop lto1.serial, lto2.serial, lto1.prev and lto2.prev.
215 ($(LTO_EXE)): Depend on $(lto1.serial) rather than lto1.serial.
216 ($(LTO_DUMP_EXE)): Depend on $(lto2.serial) rather than lto2.serial.
217
218 2020-11-18 Jerry Clcanny <a837940593@gmail.com>
219
220 * lto-symtab.c (lto_symtab_merge_symbols): Fix typos in comment.
221
222 2020-11-18 Jakub Jelinek <jakub@redhat.com>
223
224 * Make-lang.in (lto, lto1.serial, lto2.serial): New goals.
225 (.PHONY): Add lto lto1.serial lto1.prev lto2.serial lto2.prev.
226 (lto.all.cross, lto.start.encap): Remove dependencies.
227 ($(LTO_EXE)): Depend on lto1.prev. Call LINK_PROGRESS.
228 ($(LTO_DUMP_EXE)): Depend on lto2.prev. Call LINK_PROGRESS.
229
230 2020-11-17 Jan Hubicka <jh@suse.cz>
231
232 PR bootstrap/97857
233 * lto-common.c (gimple_register_canonical_type_1): Only
234 register types with TYPE_CXX_ODR_P flag; sanity check that no
235 conflict happens at ltrans time.
236
237 2020-11-06 Nathan Sidwell <nathan@acm.org>
238
239 * lto-symtab.c (lto_symtab_merge_decls_1): Rename
240 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
241
242 2020-10-28 Jakub Jelinek <jakub@redhat.com>
243
244 PR lto/96680
245 * lto-common.c (lto_fixup_prevailing_decls): Don't use
246 LTO_NO_PREVAIL on TREE_LIST's TREE_PURPOSE.
247 * lto-partition.c (lto_balanced_map): Treat declare_variant_alt
248 nodes like definitions.
249
250 2020-10-23 Jan Hubicka <hubicka@ucw.cz>
251
252 * lto-partition.c (add_symbol_to_partition_1): Update for new thunk
253 api.
254
255 2020-08-27 Martin Liska <mliska@suse.cz>
256
257 * lto-common.c (lto_file_finalize): Set exact argument of a vector
258 growth function to true.
259
260 2020-06-03 Jan Hubicka <hubicka@ucw.cz>
261
262 * lto-common.c (compare_tree_sccs_1): Do not compare TYPE_VALUES.
263
264 2020-05-22 Jan Hubicka <hubicka@ucw.cz>
265
266 * lto-common.c (lto_read_decls): Do not skip stray refs.
267
268 2020-05-20 Jan Hubicka <hubicka@ucw.cz>
269
270 * lto-common.c (compare_tree_sccs_1): Sanity check that we never
271 read TRANSLATION_UNIT_DECL.
272 (process_dref): Break out from ...
273 (unify_scc): ... here.
274 (process_new_tree): Break out from ...
275 (lto_read_decls): ... here; handle streaming of singleton trees.
276 (print_lto_report_1): Update statistics.
277
278 2020-05-07 Richard Biener <rguenther@suse.de>
279
280 PR middle-end/94703
281 * lto-common.c (compare_tree_sccs_1): Compare
282 DECL_NOT_GIMPLE_REG_P.
283
284 2020-04-29 Jakub Jelinek <jakub@redhat.com>
285
286 PR target/94707
287 * lto-common.c (compare_tree_sccs_1): Handle DECL_FIELD_ABI_IGNORED.
288
289 2020-04-17 Martin Liska <mliska@suse.cz>
290
291 PR lto/94612
292 * lto-common.c: Initialize file_data->lto_section_header
293 before lto_mode_identity_table call. It is needed because
294 it decompresses a LTO section.
295
296 2020-04-08 Martin Liska <mliska@suse.cz>
297
298 PR c++/94314
299 * lto-common.c (compare_tree_sccs_1): Compare also
300 DECL_IS_REPLACEABLE_OPERATOR.
301
302 2020-03-25 Jakub Jelinek <jakub@redhat.com>
303
304 PR c++/94223
305 * lto-lang.c (lto_set_decl_assembler_name): Use a static ulong
306 counter instead of DECL_UID.
307
308 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
309
310 PR libgomp/81689
311 * lto.c (offload_handle_link_vars): Propagate TREE_PUBLIC state.
312
313 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
314
315 * lto.c (offload_handle_link_vars): Reduce chance of
316 naming clashes of generated linkptr variable.
317
318 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
319
320 PR middle-end/94233
321 * lto.c (offload_handle_link_vars): Cleanup; call
322 build_decl to ensure alignment is set.
323
324 2020-02-05 Martin Liska <mliska@suse.cz>
325
326 PR lto/93489
327 * lto-dump.c (dump_list_functions): Do not
328 load body for aliases.
329 (dump_body): Likewise here.
330
331 2020-01-16 Martin Liska <mliska@suse.cz>
332
333 * lto-partition.c (lto_balanced_map): Remember
334 best_noreorder_pos and then restore to it
335 when we revert.
336
337 2020-01-08 Martin Liska <mliska@suse.cz>
338
339 * lto-partition.c (add_symbol_to_partition_1): Use ::dump_name or
340 ::dump_asm_name instead of (::name or ::asm_name).
341 (lto_balanced_map): Likewise.
342 (promote_symbol): Likewise.
343 (rename_statics): Likewise.
344 * lto.c (lto_wpa_write_files): Likewise.
345
346 2020-01-08 Martin Liska <mliska@suse.cz>
347
348 * lto-partition.c (lto_balanced_map): Use symtab_node::dump_name.
349
350 2020-01-01 Jakub Jelinek <jakub@redhat.com>
351
352 Update copyright years.
353
354 2019-12-19 Jan Hubicka <hubicka@ucw.cz>
355 Xi Ruoyao <xry111@mengyan1223.wang>
356
357 * lto-common.c (read_cgraph_and_symbols): Work around binutils
358 PR25424
359
360 2019-12-07 Jan Hubicka <hubicka@ucw.cz>
361
362 * lto-partition.c (lto_balanced_map): Fix printing of tp_first_run.
363
364 2019-12-10 Jan Hubicka <hubicka@ucw.cz>
365
366 * lto-partition.c (node_cmp): Turn into simple order comparsions.
367 (varpool_node_cmp): Remove.
368 (add_sorted_nodes): Use node_cmp.
369 (lto_balanced_map): Use tp_first_run_node_cmp.
370
371 2019-11-25 Joseph Myers <joseph@codesourcery.com>
372
373 PR c/91985
374 * lto-lang.c (lto_type_for_mode): Handle decimal floating-point
375 types being NULL_TREE.
376
377 2019-11-22 Jan Hubicka <jh@suse.cz>
378
379 * lto.c (lto_wpa_write_files): Call memory_block_pool::trim.
380
381 2019-11-14 Martin Liska <mliska@suse.cz>
382
383 * Make-lang.in: Remove wrong dependency
384 of LTO_DUMP_EXE on LTO_EXE.
385
386 2019-11-12 Martin Liska <mliska@suse.cz>
387
388 * lto-common.c: Do not include params.h.
389 * lto-partition.c: Likewise.
390 * lto.c: Likewise.
391
392 2019-11-12 Martin Liska <mliska@suse.cz>
393
394 * lto-partition.c (lto_balanced_map): Replace old parameter syntax
395 with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET
396 macro.
397 * lto.c (do_whole_program_analysis): Likewise.
398
399 2019-11-11 Martin Liska <mliska@suse.cz>
400
401 * Make-lang.in: Relax dependency of lto-dump.o to
402 LTO_OBJS which will allow faster linking (mainly with LTO).
403
404 2019-11-07 Jan Hubicka <hubicka@ucw.cz>
405
406 * lto.c (do_whole_program_analysis): Call lto_free_file_name_hash.
407
408 2019-11-02 Jan Hubicka <hubicka@ucw.cz>
409
410 * lto-common.c (read_cgraph_and_symbols): Improve -Q reporting.
411 * lto.c (lto_wpa_write_files): Likewise.
412
413 2019-10-31 Jakub Jelinek <jakub@redhat.com>
414
415 PR middle-end/92231
416 * lto-lang.c (handle_const_attribute): Don't call fndecl_built_in_p
417 on *node that is not FUNCTION_DECL.
418
419 2019-10-30 Martin Liska <mliska@suse.cz>
420
421 PR lto/91393
422 PR lto/88220
423 * lto-common.c (lto_file_finalize): Use lto_get_summary_section_data.
424 (get_section_data): Add order argument.
425
426 2019-10-29 Martin Liska <mliska@suse.cz>
427
428 * lto.c (do_whole_program_analysis): Pass
429 title as dump_memory_report argument.
430
431 2019-10-29 Martin Liska <mliska@suse.cz>
432
433 * lto.c (do_whole_program_analysis): Remove argument.
434
435 2019-10-24 Jan Hubicka <hubicka@ucw.cz>
436
437 * lto-partition.c (add_symbol_to_partition_1): Update.
438 (undo_parittion): Update.
439
440 2019-10-23 Jan Hubicka <hubicka@ucw.cz>
441
442 * lto-common.c (lto_file_finalize): Add order attribute.
443 (lto_create_files_from_ids): Pass order.
444 (lto_file_read): UPdate call of lto_create_files_from_ids.
445
446 2019-10-12 Jan Hubicka <hubicka@ucw.cz>
447
448 * lto-common.c (read_cgraph_and_symbols): Grow ggc memory use after
449 summary streaming.
450
451 2019-10-12 Jan Hubicka <hubicka@ucw.cz>
452
453 * lto.c (lto_wpa_write_files): Do not update bodies of clones.
454
455 2019-10-11 Jan Hubicka <hubicka@ucw.cz>
456
457 * lto.c (lto_wpa_write_files): Call ggc_trim.
458
459 2019-10-11 Jan Hubicka <hubicka@ucw.cz>
460
461 * lto.c (lto_wpa_write_files): Prepare all bodies for streaming.
462
463 2019-10-10 Richard Biener <rguenther@suse.de>
464
465 * lto-common.c (unify_scc): Do not merge anonymous NAMESPACE_DECLs.
466
467 2019-10-04 Joseph Myers <joseph@codesourcery.com>
468
469 * lto-lang.c (flag_isoc2x): New variable.
470
471 2019-09-18 Richard Biener <rguenther@suse.de>
472
473 PR lto/91763
474 * lto.c (lto_materialize_function): Initialize EH by looking
475 at the function personality and flag_exceptions setting.
476
477 2019-08-23 Jakub Jelinek <jakub@redhat.com>
478
479 PR middle-end/91283
480 * lto-lang.c (lto_post_options): Set flag_excess_precision instead of
481 flag_excess_precision_cmdline. Remove comment.
482
483 2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
484
485 PR middle-end/91421
486 * lto-common.c (compare_tree_sccs_1): Use DECL_UNCHECKED_FUNCTION_CODE
487 instead of DECL_FUNCTION_CODE.
488 * lto-symtab.c (lto_symtab_merge_p): Likewise.
489
490 2019-08-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
491
492 * Make-lang.in (lto.install-common): Remove unnecessary slash
493 between $(DESTDIR) and $(bindir).
494
495 2019-07-25 Martin Liska <mliska@suse.cz>
496
497 * lto-common.c (compare_tree_sccs_1): Use new macros
498 (e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
499
500 2019-07-22 Giuliano Belinassi <giuliano.belinassi@usp.br>
501
502 * lang.opt (flag_dump_callgraph): New flag.
503 * lto-dump.c (dump_symtab_graphviz): New function.
504 (dump_tool_help): New option.
505 (lto_main): Handle graphviz dumping.
506
507 2019-07-18 Jan Hubicka <hubicka@ucw.cz>
508
509 * lto-common.c (gimple_register_canonical_type_1): Do not look for
510 non-ODR conflicts of types in anonymous namespaces.
511 (unify_scc): Do not merge anonymous namespace types.
512
513 2019-07-09 Martin Sebor <msebor@redhat.com>
514
515 PR c++/61339
516 * lto-common.c (lto_splay_tree_new): : Change class-key of PODs
517 to struct and others to class.
518 (mentions_vars_p): Same.
519 (register_resolution): Same.
520 (lto_register_var_decl_in_symtab): Same.
521 (lto_register_function_decl_in_symtab): Same.
522 (cmp_tree): Same.
523 (lto_read_decls): Same.
524
525 2019-07-09 Martin Sebor <msebor@redhat.com>
526
527 PR c++/61339
528 * lto-dump.c: Change class-key from class to struct and vice versa
529 to match convention and avoid -Wclass-is-pod and -Wstruct-no-pod.
530
531 2019-07-04 Martin Liska <mliska@suse.cz>
532
533 PR lto/91078
534 * lto-common.c (lto_file_finalize): Use memcpy to set
535 file_data->lto_section_header.
536
537 2019-07-03 Martin Liska <mliska@suse.cz>
538
539 * lto-common.c: Read LTO section and verify header.
540
541 2019-06-27 Jan Hubicka <jh@suse.cz>
542
543 * lto-common.c (lto_register_canonical_types_for_odr_types):
544 Copy CXX_ODR_P from the main variant.
545
546 2019-06-27 Jan Hubicka <jh@suse.cz>
547
548 * lto-common.c: tree-pretty-print.h
549 (type_streaming_finished): New static var.
550 (gimple_register_canonical_type_1): Return updated hash; handle ODR
551 types.
552 (iterative_hash_canonical_type): Update use of
553 gimple_register_canonical_type_1.
554
555 2019-06-27 Martin Liska <mliska@suse.cz>
556
557 * lto-dump.c (struct symbol_entry): Add default dtor.
558 (struct variable_entry): Likewise.
559 (struct function_entry): Likewise.
560 (dump_list_functions): Release memory.
561 (dump_list_variables): Likewise.
562
563 2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
564
565 * lto-lang.c (lto_build_c_type_nodes): Accept "__intN__"
566 format of "__intN" types for SIZE_TYPE.
567
568 2019-06-24 Jan Hubicka <jh@suse.cz>
569
570 * lto-common.c (compare_tree_sccs_1): Compare CXX_ODR_P;
571 compare STRING_FLAG only for arrays and integers.
572
573 2019-06-05 Martin Sebor <msebor@redhat.com>
574
575 * lto-common.c (lto_file_finalize): Adjust quoting and hyphenation.
576
577 2019-05-16 Martin Sebor <msebor@redhat.com>
578
579 * lto-dump.c (lto_main): Same.
580 * lto.c (stream_out): Same.
581
582 2019-05-10 Martin Liska <mliska@suse.cz>
583
584 * Make-lang.in: Use program_transform_name for lto-dump.
585 * config-lang.in: Do not mark lto-dump compiler as we don't
586 want to have it installed at
587 lib/gcc/x86_64-pc-linux-gnu/10.0.0/lto-dump.
588
589 2019-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
590
591 * lto-common.c (lto_file_read): Print section->start as int64_t,
592 section->len as uint64_t.
593 * lto-dump.c (symbol_entry::dump): Print sz as uint64_t.
594
595 2019-05-06 Martin Liska <mliska@suse.cz>
596
597 * lto-common.c: Update coding style.
598 * lto.c (materialize_cgraph): Likewise.
599
600 2019-05-06 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
601 Martin Liska <mliska@suse.cz>
602
603 * Make-lang.in: Add lto_dump-related definition.
604 * config-lang.in: Likewise.
605 * lang.opt: Add new language LTODump and options related
606 to LTO dump tool.
607 * lto-common.c (lto_read_decls): Support type statistics dump.
608 (lto_file_read): Likewise for object files.
609 * lto-dump.c: New file.
610 * lto-lang.c (lto_option_lang_mask): Move from ..
611 * lto.c (lto_option_lang_mask): .. here.
612 * lto.h (lto_option_lang_mask): New declaration.
613
614 2019-05-06 Martin Liska <mliska@suse.cz>
615 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
616
617 * Make-lang.in: Add lto-common.o.
618 * config-lang.in: Likewise for gtfiles.
619 * lto-common.c: New file.
620 * lto-common.h: New file.
621 * lto-lang.c: Include lto-common.h.
622 * lto.c: Move most of the functionality
623 into lto-common.c file.
624
625 2019-04-12 Jan Hubicka <hubicka@ucw.cz>
626
627 * lto.c (do_stream_out): rename to ...
628 (stream_out): ... this one; move original code to ...
629 (stream_out_partitions_1, stream_out_partitions): ... these new
630 functions.
631 (lto_wpa_write_files): Honnor lto_parallelism
632
633 2019-03-26 Martin Liska <mliska@suse.cz>
634
635 * lto-symtab.c (lto_symtab_merge_decls_2): Fix option name
636 wrapping.
637
638 2019-03-11 Martin Liska <mliska@suse.cz>
639
640 * lto-lang.c (lto_post_options): Wrap an option name
641 in a string format message and fix GNU coding style.
642 * lto-symtab.c (lto_symtab_merge_decls_2): Likewise.
643
644 2019-03-09 Jakub Jelinek <jakub@redhat.com>
645
646 PR target/79645
647 * lang.opt: Terminate description text with a dot.
648
649 2019-02-28 Jason Merrill <jason@redhat.com>
650
651 PR c++/88049 - ICE with undefined destructor and anon namespace.
652 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Return early
653 for a type in an anonymous namespace.
654
655 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
656
657 PR other/16615
658
659 * lto-partition.c: Mechanically replace "can not" with "cannot".
660 * lto-symtab.c: Likewise.
661 * lto.c: Likewise.
662
663 2019-01-01 Jakub Jelinek <jakub@redhat.com>
664
665 Update copyright years.
666
667 2018-12-24 Jan Hubicka <hubicka@ucw.cz>
668
669 * lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations
670 for method whose basetype was already reported.
671
672 2018-11-30 Michael Ploujnikov <michael.ploujnikov@oracle.com>
673
674 Minimize clone counter memory usage in LTO.
675 * lto-partition.c (privatize_symbol_name_1): Keep track of
676 non-unique symbol counters in the lto_clone_numbers hash
677 map.
678 (lto_promote_cross_file_statics): Allocate and free the
679 lto_clone_numbers hash map.
680 (lto_promote_statics_nonwpa): Free the lto_clone_numbers hash
681 map.
682
683 2018-11-28 Jan Hubicka <jh@suse.cz>
684
685 * lto.c (lto_read_decls): Fix handling of INTEGER_CST.
686
687 2018-11-22 Jan Hubicka <jh@suse.cz>
688
689 * lto.c (cmp_type_location): Remove.
690 (lto_read_decls): Do not allocate odr_types.
691
692 2018-11-19 Martin Liska <mliska@suse.cz>
693
694 PR lto/88077
695 * lto-symtab.c (lto_symtab_merge): Transform the
696 condition before r256989.
697
698 2018-11-16 Martin Liska <mliska@suse.cz>
699
700 PR lto/88004
701 * lto-symtab.c (lto_symtab_merge_symbols_1): Do not call
702 lto_symtab_symbol_p as it does checking of transparent alias.
703 These needs to be also merged in the function.
704
705 2018-10-30 Michael Ploujnikov <michael.ploujnikov@oracle.com>
706
707 * lto-partition.c (privatize_symbol_name_1): Use
708 clone_function_name_numbered.
709
710 2018-10-26 Jan Hubicka <jh@suse.cz>
711
712 * lto-symtab.c (lto_symtab_merge_decls_2): Fix extra space.
713
714 2018-10-17 David Malcolm <dmalcolm@redhat.com>
715
716 * Make-lang.in (selftest-lto): New.
717
718 2018-08-29 Martin Liska <mliska@suse.cz>
719
720 PR bootstrap/87130
721 * lto.c (read_cgraph_and_symbols): Fix thinko, revert
722 to behavior before r263887.
723
724 2018-08-27 Martin Liska <mliska@suse.cz>
725
726 * lto-lang.c (handle_const_attribute): Use new function
727 fndecl_built_in_p and remove check for FUNCTION_DECL if
728 possible.
729 * lto-symtab.c (lto_symtab_merge_p): Likewise.
730 (lto_symtab_merge_decls_1): Likewise.
731 (lto_symtab_merge_symbols): Likewise.
732 * lto.c (lto_maybe_register_decl): Likewise.
733 (read_cgraph_and_symbols): Likewise.
734
735 2018-08-21 Tom de Vries <tdevries@suse.de>
736
737 * lto.c (lto_main): Call debuginfo_early_start and
738 debuginfo_early_stop.
739
740 2018-07-20 Martin Sebor <msebor@redhat.com>
741
742 PR middle-end/82063
743 * lto-lang.c (lto_handle_option): Change function argument
744 to HOST_WIDE_INT.
745
746 2018-07-20 Richard Biener <rguenther@suse.de>
747
748 PR debug/86585
749 * lto.c (unify_scc): Before we throw away an SCC see if we
750 can amend prevailing single-entry SCC with debug refs.
751
752 2018-07-13 Jan Hubicka <hubicka@ucw.cz>
753
754 * lto.c (do_stream_out): Add PART parameter; open dump file.
755 (stream_out): Add PART parameter; pass it to do_stream_out.
756 (lto_wpa_write_files): Update call of stream_out.
757
758 2018-07-04 Martin Liska <mliska@suse.cz>
759
760 PR middle-end/66240
761 PR target/45996
762 PR c/84100
763 * lto.c (compare_tree_sccs_1): Use cl_optimization_option_eq
764 instead of memcmp.
765
766 2018-06-20 Martin Liska <mliska@suse.cz>
767
768 * lto-symtab.c (lto_symtab_merge_p): Remove not valid
769 FIXME comment.
770
771 2018-06-19 Martin Liska <mliska@suse.cz>
772
773 * lto-partition.c (add_symbol_to_partition_1): Use symbol_summary::get instead
774 of get_create.
775 (undo_partition): Likewise.
776 (lto_balanced_map): Likewise.
777
778 2018-06-19 Martin Liska <mliska@suse.cz>
779
780 * config-lang.in: Remove stagestuff.
781
782 2018-06-08 Jan Hubicka <hubicka@ucw.cz>
783
784 * lto-lang.c (lto_link_dump_id, decl_merge_dump_id, partition_dump_id):
785 New global vars.
786 (lto_register_dumps): New hook.
787 (LANG_HOOKS_REGISTER_DUMPS): New.
788 * lto-partition.c: Dump into dump_file instead of symtab->dump_file.
789 * lto-symtab.c: Include lto.h; dump into dump_file instead of
790 symtab->dump_file.
791 (lto_symtab_merge_decls): Initialize dump file.
792 * lto.c (read_cgraph_and_symbols): Initialize dump file.
793 (do_whole_program_analysis): Likewise.
794
795 2018-06-08 Martin Liska <mliska@suse.cz>
796
797 * lto-partition.c (lto_balanced_map): Use cgraph_node::uid
798 instead of summary_uid.
799
800 2018-06-08 Martin Liska <mliska@suse.cz>
801
802 * lto-partition.c (add_symbol_to_partition_1): Use get_create instead
803 of get.
804 (undo_partition): Likewise.
805 (lto_balanced_map): Likewise.
806
807 2018-06-08 Martin Liska <mliska@suse.cz>
808
809 * lto-partition.c (add_references_to_partition): Remove support
810 for MPX (macros, related functions, fields in cgraph_node, ...).
811 (add_symbol_to_partition_1): Likewise.
812 (privatize_symbol_name): Likewise.
813 * lto-symtab.c (lto_cgraph_replace_node): Likewise.
814
815 2018-06-05 Richard Biener <rguenther@suse.de>
816
817 * lto.c (cmp_type_location): Expand locations only once.
818
819 2018-05-30 Jan Hubicka <hubicka@ucw.cz>
820
821 * lang.opt (lto_linker_output): Add nolto-rel.
822 * lto-lang.c (lto_post_options): Handle LTO_LINKER_OUTPUT_REL
823 and LTO_LINKER_OUTPUT_NOLTOREL.
824 (lto_init): Generate lto when doing incremental link.
825 * lto.c (lto_precess_name): Add lto1-inclink.
826
827 2018-05-18 Jan Hubicka <jh@suse.cz>
828
829 PR lto/85583
830 * lto-partition.c (account_reference_p): Do not account
831 references from aliases; do not account refernces from
832 external initializers.
833
834 2018-04-30 Jan Hubicka <jh@suse.cz>
835
836 * lto.c (cmp_partitions_size): Remove.
837 (lto_wpa_write_files): Also output priorities; do not sort partitions.
838 (cmp_partition_order): Move to ...
839 * lto-partition.c (cmp_partition_order): ...
840 (lto_1_to_1_map): Sort partitions.
841
842 2018-04-20 Jan Hubicka <jh@suse.cz>
843
844 * lto-partition.c (lto_balanced_map): Fix sanity check.
845
846 2018-04-19 Jan Hubicka <jh@suse.cz>
847
848 * lto-partition.c: Include sreal.h
849 (add_symbol_to_partition_1): Use size instead of self_size
850 for size estimate.
851 (account_reference_p): New.
852 (lto_balanced_map): Use 64bit arithmetics for size calculatoins; cleanup;
853 fix accounting errors in boundary size; add debug output; combine cost
854 as cost/size instead of cost/internal; reduce the partitioning error to
855 +- 1/8 of the parttion size.
856
857 2018-04-19 Martin Liska <mliska@suse.cz>
858
859 * lto-symtab.c (lto_symtab_resolve_symbols): Do not bail out
860 for multiple PREVAILING_DEF_IRONLY for common symbols.
861
862 2018-04-18 Martin Liska <mliska@suse.cz>
863
864 * lto.c (lto_read_decls): Fix GNU coding style and typos.
865
866 2018-04-18 Martin Liska <mliska@suse.cz>
867
868 PR ipa/83983
869 PR ipa/85391
870 * lto.c (cmp_type_location): New function.
871 (lto_read_decls): First collect all types, then
872 sort them according by location before register_odr_type
873 is called.
874
875 2018-04-18 Jan Hubicka <jh@suse.cz>
876 Martin Liska <mliska@suse.cz>
877
878 PR lto/85391
879 * lto.c (lto_read_decls): Do not test TYPE_CANONICAL before registering odr
880 types.
881
882 2018-04-11 Martin Liska <mliska@suse.cz>
883
884 * lto-symtab.c (lto_symtab_merge_p): Use attribute_value_equal
885 function.
886
887 2018-04-10 Martin Liska <mliska@suse.cz>
888
889 PR lto/85248
890 * lto-symtab.c (lto_symtab_merge_p): Do not check for
891 TREE_VALUES of error attributes.
892
893 2018-04-10 Richard Biener <rguenther@suse.de>
894 Martin Liska <mliska@suse.cz>
895
896 PR lto/85248
897 * lto-symtab.c (lto_symtab_merge_p): Handle noreturn attribute.
898
899 2018-02-08 Jan Hubicka <hubicka@ucw.cz>
900
901 * lto-partition.c (lto_balanced_map): Watch overflow.
902
903 2018-02-08 Jan Hubicka <hubicka@ucw.cz>
904
905 PR ipa/81360
906 * lto.c (unify_scc): Register prevailing trees, not trees to be freed.
907 (read_cgraph_and_symbols): Use
908 symtab_node::output_to_lto_symbol_table_p.
909
910 2018-01-30 Jan Hubicka <hubicka@ucw.cz>
911
912 * lto.c (register_resolution): Remove forgotten sanity check.
913
914 2018-01-30 Jan Hubicka <hubicka@ucw.cz>
915
916 PR lto/81004
917 * lto.c: Include builtins.h
918 (register_resolution): Merge resolutions in case trees was
919 merged across units.
920 (lto_maybe_register_decl): Break out from ...
921 (lto_read_decls): ... here.
922 (unify_scc): Also register decls here.
923 (read_cgraph_and_symbols): Sanity check that all resolutions was
924 read.
925
926 2018-02-02 Eric Botcazou <ebotcazou@adacore.com>
927
928 PR lto/83954
929 * lto-symtab.c (warn_type_compatibility_p): Do not recurse into the
930 component type of array types with non-aliased component.
931
932 2018-01-30 Jan Hubicka <hubicka@ucw.cz>
933
934 PR lto/83954
935 * lto-symtab.c (warn_type_compatibility_p): Silence false positive
936 for type match warning on arrays of pointers.
937
938 2018-01-23 Martin Liska <mliska@suse.cz>
939
940 PR lto/81440
941 * lto-symtab.c (lto_symtab_merge): Handle and do not warn about
942 trailing arrays at the end of a struct.
943
944 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
945 Alan Hayward <alan.hayward@arm.com>
946 David Sherwood <david.sherwood@arm.com>
947
948 * lto-lang.c (lto_type_for_mode): Handle MODE_VECTOR_BOOL.
949
950 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
951 Alan Hayward <alan.hayward@arm.com>
952 David Sherwood <david.sherwood@arm.com>
953
954 * lto-lang.c (lto_type_for_mode): Check valid_vector_subparts_p.
955 * lto.c (hash_canonical_type): Handle polynomial TYPE_VECTOR_SUBPARTS.
956
957 2018-01-03 Jakub Jelinek <jakub@redhat.com>
958
959 Update copyright years.
960
961 2017-12-15 Jakub Jelinek <jakub@redhat.com>
962
963 * lto-lang.c (lto_attribute_table, lto_format_attribute_table): Swap
964 affects_type_identity and handler fields, adjust comments.
965
966 2017-12-07 Richard Sandiford <richard.sandiford@arm.com>
967
968 * lto.c (compare_tree_sccs_1): Compare the new VECTOR_CST flags.
969
970 2017-12-07 Martin Sebor <msebor@redhat.com>
971
972 PR c/81544
973 * lto-lang.c (lto_attribute_table): Initialize new member of struct
974 attribute_spec.
975
976 2017-11-30 Jakub Jelinek <jakub@redhat.com>
977
978 * lto.c (create_subid_section_table): Use ; instead of ;;.
979
980 2017-11-22 Marek Polacek <polacek@redhat.com>
981
982 PR c++/60336
983 PR middle-end/67239
984 PR target/68355
985 * lto.c (compare_tree_sccs_1): Compare TYPE_EMPTY_P and DECL_PADDING_P.
986
987 2017-11-10 Jan Hubicka <hubicka@ucw.cz>
988
989 * lto-partition.c (lto_balanced_map): Use frequency accessor.
990
991 2017-10-13 Jan Hubicka <hubicka@ucw.cz>
992
993 * lto-lang.c (lto_post_options): Clean shlib flag when not doing PIC.
994
995 2017-10-11 Nathan Sidwell <nathan@acm.org>
996
997 * lto.c (mentions_vars_p_decl_with_vis): Use
998 DECL_ASSEMBLER_NAME_RAW.
999 (lto_fixup_prevailing_decls): Likewise.
1000
1001 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
1002
1003 * lto.c (compare_tree_sccs_1): Use wi::to_wide when
1004 operating on trees as wide_ints.
1005
1006 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1007 Alan Hayward <alan.hayward@arm.com>
1008 David Sherwood <david.sherwood@arm.com>
1009
1010 * lto-lang.c (lto_type_for_mode): Use as_a <scalar_int_mode>.
1011
1012 2017-08-21 Richard Biener <rguenther@suse.de>
1013
1014 * lto.c (unify_scc): Truncate DIE reference queue for dropped SCCs.
1015 (lto_read_decls): Process TRANSLATION_UNIT_DECLs. Remove
1016 TYPE_DECL debug processing, register DIE references from
1017 prevailing SCCs with the debug machinery.
1018 (lto_section_with_id): Handle LTO debug sections.
1019
1020 2017-08-16 Nathan Sidwell <nathan@acm.org>
1021
1022 * lto.c (mentions_vars_p_type): Use TYPE_LANG_SLOT_1.
1023 (compare_tree_sccs_1): No need to compare TYPE_BINFO directly.
1024 (lto_fixup_prevailing_decls): Use TYPE_LANG_SLOT_1.
1025
1026 2017-08-08 Tom de Vries <tom@codesourcery.com>
1027
1028 * lto.c: Include attribs.h.
1029
1030 2017-08-08 Martin Liska <mliska@suse.cz>
1031
1032 * lto-lang.c: Include header files.
1033 * lto-symtab.c: Likewise.
1034
1035 2017-08-03 Richard Biener <rguenther@suse.de>
1036
1037 * lto-symtab.h (lto_symtab_prevail_decl): Do not use
1038 DECL_ABSTRACT_ORIGIN as flag we can end up using that. Instead
1039 use DECL_LANG_FLAG_0.
1040 (lto_symtab_prevail_decl): Likewise.
1041
1042 2017-07-07 Torsten Duwe <duwe@suse.de>
1043
1044 * lto-lang.c (lto_attribute_table): Add entry for
1045 "patchable_function_entry".
1046
1047 2017-07-19 Nathan Sidwell <nathan@acm.org>
1048
1049 * lto.c (mentions_vars_p_type): Use TYPE_{MIN,MAX}_VALUE_RAW.
1050 (compare_tree_sccs_1, lto_fixup_prevailing_decls): Likewise.
1051
1052 2017-07-06 Jan Hubicka <hubicka@ucw.cz>
1053
1054 * lto-partition.c (lto_balanced_map): Do not check
1055 flag_toplevel_reorder.
1056
1057 2017-06-23 Marc Glisse <marc.glisse@inria.fr>
1058 * lto-lang.c (lto_init): Use builtin_structptr_types.
1059
1060 2017-06-15 Jan Hubicka <hubicka@ucw.cz>
1061 Thomas Preud'homme <thomas.preudhomme@arm.com>
1062
1063 PR lto/69866
1064 * lto-symtab.c (lto_symtab_merge_symbols): Drop useless definitions
1065 that resolved externally.
1066
1067 2017-05-23 Jan Hubicka <hubicka@ucw.cz>
1068
1069 * lto.c (do_whole_program_analysis): Replace inline_free_summary
1070 by ipa_free_fn_summary.
1071
1072 2017-05-23 Martin Liska <mliska@suse.cz>
1073
1074 * lto-symtab.c (lto_cgraph_replace_node): Use
1075 symtab_node::dump_{asm_,}name functions.
1076 * lto.c (read_cgraph_and_symbols): Likewise.
1077 (do_whole_program_analysis): Likewise.
1078
1079 2017-05-23 Martin Liska <mliska@suse.cz>
1080
1081 * lto.c (read_cgraph_and_symbols): Use the renamed function.
1082 (do_whole_program_analysis): Use the renamed function.
1083
1084 2017-05-22 Jan Hubicka <hubicka@ucw.cz>
1085
1086 * lto.c: Replace ipa-inline.h by ipa-fnsummary.h
1087 * lto-partition.c: Replace ipa-inline.h by ipa-fnsummary.h
1088
1089 2017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
1090
1091 PR c++/80038
1092 * lto-lang.c (lto_init): Set in_lto_p earlier.
1093
1094 2017-04-12 Richard Biener <rguenther@suse.de>
1095 Bernd Edlinger <bernd.edlinger@hotmail.de>
1096
1097 PR middle-end/79671
1098 * lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE.
1099
1100 2017-02-14 Martin Liska <mliska@suse.cz>
1101
1102 * lto.c (do_stream_out): Free LTO file filename string.
1103
1104 2017-01-19 David Malcolm <dmalcolm@redhat.com>
1105
1106 * lto-lang.c (builtin_type_for_size): Convert call to
1107 lto_type_for_size to one through the langhook.
1108 (lto_type_for_size): Move to langhooks.c and rename to
1109 lhd_type_for_size.
1110 (LANG_HOOKS_TYPE_FOR_SIZE): Don't redefine.
1111
1112 2017-01-11 Jakub Jelinek <jakub@redhat.com>
1113
1114 PR middle-end/50199
1115 * lto-lang.c (lto_post_options): Force flag_merge_constants = 1
1116 if it was 0.
1117
1118 2017-01-09 Jakub Jelinek <jakub@redhat.com>
1119
1120 PR translation/79019
1121 PR translation/79020
1122 * lto-symtab.c (lto_symtab_merge_symbols): Fix comment typo.
1123
1124 2017-01-06 Nathan Sidwell <nathan@acm.org>
1125
1126 * lto-partition.c (promote_symbol): Write to dump file sooner,
1127 include alias promoting too.
1128
1129 * lto-partition.c (lto_balanced_map): Reformat/respell comment.
1130 (may_need_named_section_p): Likewise.
1131 (rename_statics): Likewise.
1132 (lto_promote_cross_file_statics): Likewise.
1133
1134 2017-01-01 Jakub Jelinek <jakub@redhat.com>
1135
1136 Update copyright years.
1137
1138 2016-11-30 Georg-Johann Lay <avr@gjlay.de>
1139
1140 PR lto/78562
1141 * lto-symtab.c (lto_symtab_merge_decls_2): Don't diagnose type
1142 mismatch if the two types are built-in.
1143
1144 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1145
1146 * lto-lang.c (lto_init): Remove initialization of ptrdiff_type_node.
1147
1148 2016-11-23 Richard Biener <rguenther@suse.de>
1149
1150 PR lto/78472
1151 * lto.c (hash_canonical_type): Ignore zero-sized fields.
1152
1153 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1154
1155 PR c++/71973
1156 * lto-lang.c (lto_init): Assert const_tm_ptr_type_node is sane.
1157
1158 2016-11-18 Richard Sandiford <richard.sandiford@arm.com>
1159 Alan Hayward <alan.hayward@arm.com>
1160 David Sherwood <david.sherwood@arm.com>
1161
1162 * lto.c (offload_handle_link_vars): Use SET_DECL_MODE.
1163
1164 2016-10-31 Richard Biener <rguenther@suse.de>
1165
1166 PR lto/78129
1167 * lto.c (do_whole_program_analysis): Bail out after errors
1168 from WPA analysis.
1169
1170 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
1171
1172 * lto-partition.c: Include tree-vrp.h.
1173 * lto.c: Likewise.
1174
1175 2016-09-20 Richard Biener <rguenther@suse.de>
1176
1177 * lto.c (lto_main): Call early_finish with "<artificial>" as
1178 filename.
1179
1180 2016-09-19 Richard Biener <rguenther@suse.de>
1181
1182 * lto.c (lto_main): Invoke early_finish debug hook.
1183
1184 2016-07-25 Richard Biener <rguenther@suse.de>
1185
1186 * lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
1187 (unify_scc): Likewise.
1188 (lto_read_decls): Likewise.
1189
1190 2016-06-28 Jakub Jelinek <jakub@redhat.com>
1191
1192 * Make-lang.in: Don't cat ../stage_current if it does not exist.
1193
1194 2016-06-23 Andi Kleen <ak@linux.intel.com>
1195
1196 * Make-lang.in: Add support for autofdo (disabled for now)
1197
1198 2016-06-10 Martin Sebor <msebor@redhat.com>
1199
1200 PR c/71392
1201 * lto-lang.c (handle_nonnull_attribute): Accept the nonnull
1202 attribute in type-generic builtins.
1203
1204 2016-05-16 Jan Hubicka <hubicka@ucw.cz>
1205
1206 * lto-partition.c (add_symbol_to_partition_1): Likewise.
1207
1208 2016-05-03 Jan Hubicka <hubicka@ucw.cz>
1209
1210 * lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed.
1211
1212 2016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1213
1214 * lto-partition.h (lto_balanced_map): New parameter.
1215 * lto-partition.c (lto_balanced_map): New parameter
1216 max_partition_size.
1217 Check if partition size is greater than max_partition_size.
1218 * lto.c (do_whole_program_analysis): Adjust calls to
1219 lto_balanced_map() to pass 2nd argument.
1220
1221 2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
1222
1223 PR lto/70258
1224 * lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
1225 PIE.
1226
1227 2016-03-08 Jakub Jelinek <jakub@redhat.com>
1228
1229 * lto-symtab.h (lto_symtab_prevail_decl): Fix spelling
1230 - becuase -> because.
1231
1232 2016-02-15 Tom de Vries <tom@codesourcery.com>
1233
1234 PR lto/69655
1235 * lto.c (read_cgraph_and_symbols): Call input_offload_tables with
1236 argument.
1237
1238 2016-01-27 Martin Liska <mliska@suse.cz>
1239
1240 * lto-partition.c (add_symbol_to_partition_1): Remove usage
1241 of hsa_summaries.
1242
1243 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
1244
1245 PR lto/69136
1246 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
1247 decls have no assemblernames.
1248
1249 2016-01-19 Martin Liska <mliska@suse.cz>
1250 Martin Jambor <mjambor@suse.cz>
1251
1252 * lto-partition.c: Include "hsa.h"
1253 (add_symbol_to_partition_1): Put hsa implementations into the
1254 same partition as host implementations.
1255
1256 2016-01-12 Jan Hubicka <hubicka@ucw.cz>
1257
1258 PR lto/69003
1259 * lto-partition.c (rename_statics): Fix pasto.
1260
1261 2016-01-18 Richard Biener <rguenther@suse.de>
1262
1263 PR lto/69337
1264 * lto-symtab.c (lto_symtab_merge): Return early for mismatched
1265 function vs. variable.
1266
1267 2016-01-12 Richard Biener <rguenther@suse.de>
1268
1269 PR lto/69077
1270 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
1271 merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
1272
1273 2016-01-04 Jakub Jelinek <jakub@redhat.com>
1274
1275 Update copyright years.
1276
1277 2015-12-10 Jan Hubicka <hubicka@ucw.cz>
1278
1279 PR lto/68878
1280 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
1281 * lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
1282 (lto_symtab_prevailing_decl): Use it.
1283
1284 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1285
1286 * lto.c: Include stringpool.h and fold-const.h.
1287 (offload_handle_link_vars): New static function.
1288 (lto_main): Call offload_handle_link_vars.
1289
1290 2015-12-10 Jan Hubicka <hubicka@ucw.cz>
1291
1292 * lto.c (lto_read_in_decl_state): Unpickle compressed bit.
1293
1294 2015-12-11 Jan Hubicka <hubicka@ucw.cz>
1295
1296 PR ipa/61886
1297 * lto-symtab.c (lto_symtab_merge_p): Avoid merging across different
1298 values of error and warning attributes.
1299
1300 2015-12-08 Jan Hubicka <hubicka@ucw.cz>
1301
1302 PR lto/68811
1303 * lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
1304 DECL.
1305 (LTO_NO_PREVAIL): Use gcc_checking_assert.
1306
1307 2015-12-08 Jan Hubicka <hubicka@ucw.cz>
1308
1309 PR lto/68811
1310 * lto-symtab.c (lto_symtab_merge_decls_2): Decl can never be prevailed
1311 by itself.
1312
1313 2015-12-08 Jan Hubicka <hubicka@ucw.cz>
1314
1315 PR ipa/61886
1316 * lto-symtab.c: Include lto-symtab.h.
1317 (lto_cgraph_replace_node): Do not merge profiles here.
1318 (lto_symtab_merge_p): New function.
1319 (lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
1320 (lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
1321 aliases.
1322 (lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
1323 (lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
1324 * lto.c: Include lto-symtab.h
1325 * lto-symtab.h: New.
1326
1327 2015-12-08 Jan Hubicka <hubicka@ucw.cz>
1328
1329 PR ipa/61886
1330 * lto-partition.c (add_symbol_to_partition_1): Transparent aliases
1331 are not part of the definition.
1332 (contained_in_symbol): Likewise.
1333 (promote_symbol): When promoting a symbol also promote all transparent
1334 aliases.
1335 (rename_statics): Weakref needs unique name, too.
1336
1337 2015-12-07 Jan Hubicka <hubicka@ucw.cz>
1338
1339 PR ipa/61886
1340 * lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
1341 rename_statics, rename_statics): Handle transparent aliases.
1342
1343 2015-12-04 Jan Hubicka <hubicka@ucw.cz>
1344
1345 * lto-symtab.c (lto_cgraph_replace_node): Update code computing
1346 merged_comdat.
1347
1348 2015-12-01 Jan Hubicka <hubicka@ucw.cz>
1349
1350 * lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET.
1351
1352 2015-11-25 Jan Hubicka <jh@suse.cz>
1353
1354 * lto-lang.c (lto_post_options): Process flag_lto_linker_output.
1355 * lang.opt (lto_linker_output): New enum.
1356 (flinker_output): New flag.
1357
1358 2015-11-24 Jan Hubicka <hubicka@ucw.cz>
1359
1360 * lto-symtab.c: Include alias.h
1361 (warn_type_compatibility_p): Replace types_compatible_p checks by
1362 TBAA and size checks; set bit 2 if locations are TBAA incompatible.
1363 (lto_symtab_merge): Compare DECL sizes.
1364 (lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
1365
1366 2015-11-24 Jan Hubicka <hubicka@ucw.cz>
1367
1368 * lto.c (iterative_hash_canonical_type): Recruse for all types
1369 which pass !canonical_type_used_p.
1370 (gimple_register_canonical_type_1): Sanity check we do not compute
1371 canonical type of anything with !canonical_type_used_p.
1372 (gimple_register_canonical_type): Skip all types that are
1373 !canonical_type_used_p
1374
1375 2015-11-24 Jan Hubicka <hubicka@ucw.cz>
1376
1377 * lto.c (unify_scc): Use free_node.
1378
1379 2015-11-21 Jan Hubicka <hubicka@ucw.cz>
1380
1381 * lto.c (iterative_hash_canonical_type): Always recurse for pointers.
1382 (gimple_register_canonical_type_1): Check that pointers do not get
1383 canonical types.
1384 (gimple_register_canonical_type): Do not register pointers.
1385
1386 2015-11-21 Jan Hubicka <hubicka@ucw.cz>
1387
1388 * lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
1389 flag for types that are not ODR; fix loop walking parameters.
1390
1391 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
1392
1393 * lto-lang.c: Remove unused header files.
1394 * lto-object.c: Likewise.
1395 * lto-partition.c: Likewise.
1396 * lto-symtab.c: Likewise.
1397 * lto.c: Likewise.
1398
1399 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1400
1401 * lto.c (compare_tree_sccs_1): Deal with TYPE_REVERSE_STORAGE_ORDER.
1402
1403 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1404
1405 * lto-lang.c: Don't undef DEF_BUILTIN.
1406
1407 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
1408
1409 * lto-lang.c: Reorder #include's and remove duplicates.
1410 * lto-object.c: Likewise.
1411 * lto-partition.c: Likewise.
1412 * lto-symtab.c: Likewise.
1413 * lto.c: Likewise.
1414
1415 2015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
1416
1417 * lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
1418 conditionals.
1419 (lto_fixup_state): Likewise.
1420 (do_whole_program_analysis): Use
1421 symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
1422 conditionals.
1423
1424 2015-10-13 Jakub Jelinek <jakub@redhat.com>
1425
1426 * lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
1427 DEF_FUNCTION_TYPE_11): Define.
1428
1429 2015-10-10 Jan Hubicka <hubicka@ucw.cz>
1430
1431 * lto.c (hash_canonical_type): Honor
1432 type_with_interoperable_signedness.
1433
1434 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1435
1436 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
1437 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1438
1439 2015-08-31 Richard Biener <rguenther@suse.de>
1440
1441 * lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
1442 * lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
1443 (lto_symtab_prevailing_decl): Do not replace a decl that didn't
1444 participate in merging with something else.
1445
1446 2015-08-31 Richard Biener <rguenther@suse.de>
1447
1448 * lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
1449 test, do not replace a non-builtin with a builtin.
1450 * lto.c (compare_tree_sccs_1): Do not merge things we stream
1451 as builtins vs. non-builtins.
1452
1453 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1454
1455 * lto.h: Remove useless typedefs.
1456
1457 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
1458
1459 * lto.c: Remove redundant includes.
1460
1461 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
1462
1463 * lto-lang.c: Fix double word typos.
1464
1465 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
1466
1467 * lto.c: Include cfghooks.h rather than predict.h.
1468
1469 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
1470
1471 * lto-lang.c: Adjust includes of target.h, alloc-pool.h and
1472 lto-streamer.h.
1473 * lto-object.c: Likewise.
1474 * lto-partition.c: Likewise.
1475 * lto-symtab.c: Likewise.
1476
1477 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
1478
1479 * lto-lang.c: Adjust includes for flags.h changes.
1480
1481 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
1482
1483 * lto-lang.c: Adjust includes.
1484 * lto-object.c: Likewise.
1485 * lto-partition.c: Likewise.
1486 * lto-symtab.c: Likewise.
1487 * lto.c: Likewise.
1488
1489 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
1490
1491 * lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
1492 * lto-object.c: Likewise.
1493 * lto-partition.c: Likewise.
1494 * lto-symtab.c: Likewise.
1495 * lto-tree.h: Likewise.
1496 * lto.c: Likewise.
1497
1498 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1499
1500 * lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
1501 than typed_noop_remove. Remove redudant typedefs.
1502
1503 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
1504
1505 * lto-lang.c: Do not include input.h, line-map.h or is-a.h.
1506 * lto-object.c: Likewise.
1507 * lto-partition.c: Likewise.
1508 * lto-symtab.c: Likewise.
1509 * lto.c: Likewise.
1510
1511 2015-06-14 Jan Hubicka <hubicka@ucw.cz>
1512
1513 PR ipa/66181
1514 * lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
1515
1516 2015-06-12 DJ Delorie <dj@redhat.com>
1517
1518 * lto-lang.c (lto_type_for_size): Include intN types.
1519 (lto_type_for_mode): Likewise.
1520
1521 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
1522
1523 * lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
1524
1525 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
1526
1527 * lto-lang.c : Adjust include files.
1528 * lto-object.c : Likewise.
1529 * lto-partition.c : Likewise.
1530 * lto-partition.h : Likewise.
1531 * lto-symtab.c : Likewise.
1532 * lto.c : Likewise.
1533 * lto.h : Likewise.
1534
1535 2015-06-06 Jan Hubicka <hubicka@ucw.cz>
1536
1537 PR lto/65378
1538 * lto-symtab.c (warn_type_compatibility_p): Fix call of
1539 odr_or_derived_type_p.
1540 (lto_symtab_merge_decls_2): Update call of warn_types_mismatch.
1541
1542 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
1543
1544 * lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
1545 pointers.
1546
1547 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
1548
1549 * lto-lang.c (lto_write_globals): Remove.
1550 (LANG_HOOKS_WRITE_GLOBALS): Same.
1551
1552 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
1553
1554 * lto-lang.c: Adjust includes for restructured coretypes.h.
1555 * lto-object.c: Likewise.
1556 * lto-partition.c: Likewise.
1557 * lto-symtab.c: Likewise.
1558 * lto.c: Likewise.
1559
1560 2015-06-04 Jan Hubicka <hubicka@ucw.cz>
1561
1562 * lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.
1563
1564 2015-06-03 Jan Hubicka <hubicka@ucw.cz>
1565
1566 * lto.c (iterative_hash_canonical_type,
1567 gimple_register_canonical_type): only hash main variants of types
1568
1569 2015-05-27 Martin Liska <mliska@suse.cz>
1570
1571 * lto-partition.c (new_partition): Reset number of symbols.
1572 (add_symbol_to_partition_1): Increment number of symbols.
1573 (undo_partition): Decrement number of symbols.
1574 (lto_balanced_map): Dump number of symbols and insns that
1575 belong to a partition.
1576 * lto-partition.h (struct ltrans_partition_def): Add symbol counter.
1577
1578 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
1579
1580 * lto.c (hash_canonical_type): Be sure we hash only types that
1581 need alias set.
1582 (gimple_register_canonical_type_1): Do not produce canonical
1583 types for types that do not need alias sets.
1584
1585 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
1586
1587 * lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
1588
1589 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
1590
1591 * lto.c (gimple_canonical_types_compatible_p): Move to tree.c
1592
1593 2015-05-17 Jan Hubicka <hubicka@ucw.cz>
1594
1595 * lto-symtab.c (warn_type_compatibility_p): Break out from ...;
1596 compare ODR types (if available) and function types.
1597 (lto_symtab_merge): ... here; output ODR violation warnings
1598 and call warn_types_mismatch.
1599
1600 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
1601
1602 * lto.c (lto_fixup_state): Call verify_type.
1603
1604 2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
1605
1606 * lto.c: Adjust for hash_table changes.
1607
1608 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
1609
1610 * lto.c (lto_read_decls): Move code registering odr types out
1611 of TYPE_CANONICAL conditional and also register polymorphic types.
1612
1613 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
1614
1615 * lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
1616 DECL_ARTIFICAL symbols.
1617
1618 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
1619
1620 PR lto/65536
1621 * lto.c (unify_scc): Revert location cache when unification
1622 suceeded.
1623 (lto_read_decls): Accept location cache after sucess;
1624 apply location cache before calling debug hooks.
1625
1626 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
1627
1628 * lto.c (read_cgraph_and_symbols): Do not do merging
1629 at ltrans stage.
1630
1631 2015-02-26 Jakub Jelinek <jakub@redhat.com>
1632
1633 * lto.c (lto_mode_identity_table): New variable.
1634 (lto_read_decls): Add mode_table argument to the lto_input_block
1635 constructor.
1636 (lto_file_finalize): Initialize mode_table.
1637 (lto_init): Initialize lto_mode_identity_table.
1638
1639 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1640
1641 PR libgomp/64625
1642 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1643 Remove macros.
1644 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1645
1646 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
1647
1648 * lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.
1649
1650 2015-01-30 Joseph Myers <joseph@codesourcery.com>
1651
1652 * lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
1653 changed to pass input_location as first argument.
1654
1655 2014-12-11 Jan Hubicka <hubicka@ucw.cz>
1656
1657 * lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
1658
1659 2014-12-11 Jan Hubicka <hubicka@ucw.cz>
1660
1661 * lto.c (compare_tree_sccs_1): Add comparsion of
1662 DECL_FUNCTION_SPECIFIC_TARGET
1663
1664 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1665 James Norris <jnorris@codesourcery.com>
1666
1667 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1668 New macros.
1669 * lto.c: Include "gomp-constants.h".
1670
1671 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
1672
1673 * lto-partition.c (lto_promote_cross_file_statics): Remove argument
1674 from select_what_to_stream.
1675
1676 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
1677 Jakub Jelinek <jakub@redhat.com>
1678
1679 PR middle-end/64412
1680 * lto.c (read_cgraph_and_symbols): Set lto_stream_offload_p
1681 if ACCEL_COMPILER.
1682
1683 2015-01-09 Michael Collison <michael.collison@linaro.org>
1684
1685 * lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1686 input.h, alias.h, symtab.h, options, fold-const.h,
1687 wide-int.h, and inchash.h due to flattening of tree.h.
1688 * lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1689 input.h, alias.h, symtab.h, fold-const.h,
1690 wide-int.h, and inchash.h due to flattening of tree.h.
1691 * lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1692 input.h, alias.h, symtab.h, options, fold-const.h,
1693 wide-int.h, and inchash.h due to flattening of tree.h.
1694 * lto-partition.c: Ditto.
1695 * lto-symtab.c: Ditto.
1696
1697 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1698
1699 Update copyright years.
1700
1701 2014-12-22 Martin Liska <mliska@suse.cz>
1702
1703 * lto-partition.c (add_symbol_to_partition_1): New inline_summaries
1704 is used.
1705 (undo_partition): Likewise.
1706 (lto_balanced_map): Likewise.
1707
1708 2014-12-22 Martin Liska <mliska@suse.cz>
1709
1710 * lto-partition.c: Include of symbol-summary.h is added.
1711 * lto-symtab.c: Likewise.
1712 * lto.c: Likewise.
1713
1714 2014-12-11 Jan Hubicka <hubicka@ucw.cz>
1715
1716 PR ipa/61324
1717 * lto.c (read_cgraph_and_symbols): Update call of
1718 remove_unreachable_nodes.
1719 (do_whole_program_analysis): Remove call of
1720 symtab->remove_unreachable_nodes
1721
1722 2014-12-08 Trevor Saunders <tsaunders@mozilla.com>
1723
1724 * lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
1725 htab with malloc instead of ggc.
1726
1727 2014-11-20 Trevor Saunders <tsaunders@mozilla.com>
1728
1729 * lto.c: Replace htab with hash_table.
1730
1731 2014-11-20 Trevor Saunders <tsaunders@mozilla.com>
1732
1733 * lto.c (lto_read_in_decl_state): Adjust.
1734 (lto_fixup_state): Likewise.
1735
1736 2014-11-17 Jan Hubicka <hubicka@ucw.cz>
1737
1738 * lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET.
1739
1740 2014-11-14 Jan Hubicka <hubicka@ucw.cz>
1741
1742 * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
1743
1744 2014-11-13 Ilya Verbin <ilya.verbin@intel.com>
1745 Bernd Schmidt <bernds@codesourcery.com>
1746 Andrey Turetskiy <andrey.turetskiy@intel.com>
1747 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1748
1749 * lto.c (read_cgraph_and_symbols): Call input_offload_tables.
1750
1751 2014-11-13 Ilya Verbin <ilya.verbin@intel.com>
1752 Ilya Tocar <ilya.tocar@intel.com>
1753 Andrey Turetskiy <andrey.turetskiy@intel.com>
1754 Bernd Schmidt <bernds@codesourcery.com>
1755
1756 * lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
1757 LTO_SECTION_NAME_PREFIX.
1758 * lto-partition.c (lto_promote_cross_file_statics): Call
1759 select_what_to_stream.
1760 * lto.c (lto_section_with_id): Use section_name_prefix instead of
1761 LTO_SECTION_NAME_PREFIX.
1762 (read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
1763 being built as an offload compiler.
1764
1765 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1766
1767 * lto-lang.c: Remove redundant enum from machine_mode.
1768
1769 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
1770
1771 * lto.c: Adjust include files.
1772 * lto-lang.c: Ditto.
1773 * lto-object.c: Ditto.
1774 * lto-partition.c: Ditto.
1775 * lto-symtab.c: Ditto.
1776
1777 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
1778
1779 * lto-lang.c: Adjust include files.
1780 * lto-object.c: Ditto.
1781 * lto-partition.c: Ditto.
1782 * lto-symtab.c: Ditto.
1783 * lto.c: Ditto.
1784
1785 2014-10-16 DJ Delorie <dj@redhat.com>
1786
1787 * lto-object.c (lto_obj_begin_section): In the event that pointer
1788 sizes aren't powers of two, choose a more suitable alignment
1789 than (unsigned)(-1).
1790
1791 2014-10-14 DJ Delorie <dj@redhat.com>
1792
1793 * lto-lang.c (lto_build_c_type_nodes): Check intN types for
1794 size-type as well.
1795 (lto_init): Initialize all intN types, not just int128.
1796
1797 2014-10-06 Martin Liska <mliska@suse.cz>
1798
1799 * lto.c (stream_out): ARG_UNUSED added for last argument.
1800
1801 2014-09-24 Aldy Hernandez <aldyh@redhat.com>
1802
1803 * lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
1804 DECL_ABSTRACT_P.
1805
1806 2014-09-23 Andi Kleen <ak@linux.intel.com>
1807
1808 * lto-partition.c (node_cmp): Update comment.
1809 (varpool_node_cmp): Use symtab_node for comparison.
1810 (add_sorted_nodes): New function.
1811 (lto_balanced_map): Change to keep ordered queue
1812 of ordered node. Handle no_reorder attribute.
1813
1814 2014-09-11 Jan Hubicka <hubicka@ucw.cz>
1815
1816 * lto.c (lto_read_decls): Register ODR types.
1817
1818 2014-08-20 Jan Hubicka <hubicka@ucw.cz>
1819
1820 * lto.c (read_cgraph_and_symbols): Fix symtab_remove_unreachable_nodes
1821 call.
1822 (do_whole_program_analysis): Only sanity check that IPA passes cleans up.
1823
1824 2014-08-14 Jan Hubicka <hubicka@ucw.cz>
1825
1826 * lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.
1827
1828 2014-08-14 Richard Biener <rguenther@suse.de>
1829
1830 PR lto/62067
1831 * lto-lang.c (def_fn_type): Fix error handling wrt va_end.
1832
1833 2014-08-08 Richard Biener <rguenther@suse.de>
1834
1835 * lto.c (lto_read_decls): Adjust for lto_input_block changes.
1836
1837 2014-08-08 Bin Cheng <bin.cheng@arm.com>
1838
1839 PR lto/62032
1840 * lto-lang.c (lto_init): Switch mis-matched arguments.
1841
1842 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1843
1844 * lto-partition.c, lto.c: Use hash_map instead of pointer_map.
1845
1846 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1847
1848 * lto-partition.c, lto-partition.h: Use hash_set instead of
1849 pointer_set.
1850
1851 2014-07-31 Andi Kleen <ak@linux.intel.com>
1852
1853 * lto.c (hash_canonical_type): Use inchash::hash
1854 and use inchash::add_expr.
1855 (iterative_hash_canonical_type): Dito.
1856
1857 2014-07-30 Richard Biener <rguenther@suse.de>
1858
1859 * lto-streamer.h (lto_write_data): New function.
1860 * langhooks.c (lhd_append_data): Do not free block.
1861 * lto-section-out.c (lto_write_data): New function writing
1862 raw data to the current section.
1863 (lto_write_stream): Adjust for langhook semantic change.
1864 (lto_destroy_simple_output_block): Write header directly.
1865 * lto-opts.c (lto_write_options): Write options directly.
1866 * lto-streamer-out.c (produce_asm): Write heaeder directly.
1867 (lto_output_toplevel_asms): Likewise.
1868 (copy_function_or_variable): Copy data directly.
1869 (write_global_references): Output index table directly.
1870 (lto_output_decl_state_refs): Likewise.
1871 (write_symbol): Write data directly.
1872 (produce_symtab): Adjust.
1873 (produce_asm_for_decls): Output header and refs directly.
1874
1875 2014-07-25 Andi Kleen <ak@linux.intel.com>
1876
1877 * lto.c (hash_canonical_type): Call iterative_hstate_expr.
1878
1879 2014-07-25 Andi Kleen <ak@linux.intel.com>
1880
1881 * lto.c (hash_canonical_type): Convert to inchash.
1882 (iterative_hash_canonical_type): Dito.
1883
1884 2014-07-25 Andi Kleen <ak@linux.intel.com>
1885
1886 * lto.c: Include inchash.h
1887
1888 2014-07-14 Jan Hubicka <hubicka@ucw.cz>
1889
1890 * lto.c (mentions_vars_p_decl_non_common): Skip
1891 DECL_ARGUMENT_FLD.
1892 mentions_vars_p_function): Do DECL_ARGUMENTS.
1893 (lto_fixup_prevailing_decls): Update.
1894
1895 2014-07-12 Jan Hubicka <hubicka@ucw.cz>
1896
1897 * lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO
1898 timevar
1899 (materialize_cgraph): Do not push GIMPLE_IN timevar.
1900
1901 2014-07-11 Jan Hubicka <hubicka@ucw.cz>
1902
1903 * lto-partition.c (add_references_to_partition): Use
1904 varpool_ctor_useable_for_folding_p.
1905 * lto.c (lto_read_in_decl_state): Update sanity check.
1906
1907 2014-07-01 Martin Liska <mliska@suse.cz>
1908
1909 IPA REF alias refactoring
1910 * lto-partition.c (add_symbol_to_partition_1): Usage of
1911 FOR_EACH_ALIAS added.
1912
1913 2014-06-28 Jan Hubicka <hubicka@ucw.cz>
1914
1915 Revert:
1916 * lto.c (lto_copy_fields_not_streamed): New function.
1917 (compare_tree_sccs_1): Do not compare fields shared in between type
1918 and variant.
1919 (lto_read_decls): Fixup types first before inserting into hash.
1920
1921 2014-06-28 Andrew Pinski <apinski@cavium.com>
1922
1923 * lto.c (lto_read_decls): Fix comment in comment.
1924
1925 2014-06-28 Jan Hubicka <hubicka@ucw.cz>
1926
1927 * lto.c (lto_copy_fields_not_streamed): New function.
1928 (compare_tree_sccs_1): Do not compare fields shared in between type
1929 and variant.
1930 (lto_read_decls): Fixup types first before inserting into hash.
1931
1932 2014-06-25 Martin Liska <mliska@suse.cz>
1933
1934 * lto-partition.c (add_references_to_partition): New IPA REF function
1935 used.
1936 (add_symbol_to_partition_1): Likewise.
1937 (lto_balanced_map): Likewise.
1938 * lto-symtab.c (lto_cgraph_replace_node): Likewise.
1939
1940 2014-06-24 Jan Hubicka <hubicka@ucw.cz>
1941
1942 * lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
1943 (mentions_vars_p_function): ... here.
1944 (compare_tree_sccs_1): Update VINDEX checks.
1945 (lto_fixup_prevailing_decls): Likewise.
1946
1947 2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1948
1949 * lto.c (canonical_type_hash_cache): Use hash_map instead of
1950 pointer_map.
1951
1952 2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1953
1954 * lto.c: Adjust.
1955
1956 2014-06-20 Jan Hubicka <hubicka@ucw.cz>
1957
1958 * lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.
1959
1960 2014-06-20 Jan Hubicka <hubicka@ucw.cz>
1961
1962 * lto.c (compare_tree_sccs_1): Do not compare priorities.
1963
1964 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
1965
1966 * lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
1967
1968 2014-06-10 Jan Hubicka <hubicka@ucw.cz>
1969
1970 * lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
1971 (do_whole_program_analysis): Use verify_symtab.
1972
1973 2014-06-07 Jan Hubicka <hubicka@ucw.cz>
1974
1975 * lto.c (mentions_vars_p_decl_with_vis, compare_tree_sccs_1,
1976 lto_fixup_prevailing_decls): Skip section names.
1977
1978 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
1979
1980 * lto-symtab.c: Include builtins.h.
1981
1982 2014-05-26 Richard Biener <rguenther@suse.de>
1983
1984 * lto.c (lto_parse_hex): Use int64_t.
1985 (lto_resolution_read): Likewise.
1986
1987 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
1988
1989 * lto.c (read_cgraph_and_symbols): Grow ggc memory after streaming.
1990
1991 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
1992
1993 * lto-symtab.c (lto_symtab_merge_symbols): Update code setting
1994 symtab pointer.
1995 * lto.c (compare_tree_sccs_1): Do not compare comdat groups.
1996
1997 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1998
1999 * lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
2000 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
2001 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
2002
2003 2012-05-22 Bernd Schmidt <bernds@codesourcery.com>
2004
2005 * lto-object.c: Include "lto-section-names.h".
2006 (LTO_SEGMENT_NAME): Don't define.
2007 * lto.c: Include "lto-section-names.h".
2008
2009 2014-05-17 Jan Hubicka <hubicka@ucw.cz>
2010
2011 PR lto/61012
2012 * lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
2013 mixed with variables.
2014
2015 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2016
2017 * lto-tree.h: Don't use variable_size gty attribute.
2018 * lto.c (lto_read_in_decl_state): Adjust.
2019 (create_subid_section_table): Likewise.
2020 (lto_flatten_files): Likewise.
2021 (read_cgraph_and_symbols): Likewise.
2022
2023 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2024 Mike Stump <mikestump@comcast.net>
2025 Richard Sandiford <rdsandiford@googlemail.com>
2026
2027 * lto.c (compare_tree_sccs_1): Use wide-int interfaces.
2028 * lto-lang.c (get_nonnull_operand): Likewise.
2029
2030 2014-04-28 Richard Biener <rguenther@suse.de>
2031
2032 PR middle-end/60092
2033 * lto-lang.c: Define flag_isoc11.
2034
2035 2014-04-23 David Malcolm <dmalcolm@redhat.com>
2036
2037 * lto-partition.c (add_references_to_partition): Update for
2038 removal of implicit pointer from the is-a.h API.
2039 (add_symbol_to_partition_1): Likewise.
2040 (contained_in_symbol): Likewise.
2041 (undo_partition): Likewise.
2042 (lto_balanced_map): Likewise.
2043 (promote_symbol): Likewise.
2044 * lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
2045 (lto_symtab_merge_symbols): Likewise.
2046 * lto.c (lto_wpa_write_files): Likewise.
2047
2048 2014-04-15 Richard Biener <rguenther@suse.de>
2049
2050 * lto.c: Include params.h.
2051 (do_whole_program_analysis): Switch on flag_lto_partition value,
2052 add support for LTO_PARTITION_ONE.
2053 * lto-partition.h (lto_balanced_map): Adjust.
2054 * lto-partition.c (lto_balanced_map): Get number of desired
2055 partitions as argument to support -flto-partition=one.
2056
2057 2014-04-14 Jan Hubicka <hubicka@ucw.cz>
2058
2059 * lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
2060 tp_first_run.
2061
2062 2014-03-19 Jan Hubicka <hubicka@ucw.cz>
2063
2064 * lto.c: Include ipa-inline.h
2065 (do_whole_program_analysis): Free inline summary after partitioning.
2066
2067 2014-03-19 Richard Biener <rguenther@suse.de>
2068
2069 PR middle-end/60553
2070 * lto-tree.h (lang_tree_node): For types use TYPE_NEXT_VARIANT
2071 instead of TREE_CHAIN as chain_next.
2072
2073 2014-03-19 Richard Biener <rguenther@suse.de>
2074
2075 * lto.c (lto_wpa_write_files): Move call to
2076 lto_promote_cross_file_statics ...
2077 (do_whole_program_analysis): ... here, into the partitioning
2078 block. Do not ggc_collect after lto_wpa_write_files but
2079 for a last time before it.
2080
2081 2014-03-19 Jakub Jelinek <jakub@redhat.com>
2082
2083 PR lto/60571
2084 * lto.c (wait_for_child): Define WCONTINUED if not defined to 0.
2085 Fix formatting.
2086
2087 2014-03-18 Jakub Jelinek <jakub@redhat.com>
2088
2089 PR sanitizer/60535
2090 * lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node
2091 and complex_{float,{,long_}double}_type_node.
2092
2093 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
2094
2095 * lto-lang.c (lto_init): Pass flag_short_double to
2096 build_common_tree_nodes.
2097
2098 2014-02-14 Jan Hubicka <hubicka@ucw.cz>
2099
2100 PR lto/60295
2101 * lto.c (stream_out): Avoid parallel streaming with
2102 -flto=jobserver until we are able to throttle it down
2103 resonably.
2104
2105 2014-02-14 Jan Hubicka <hubicka@ucw.cz>
2106
2107 * lto-partition.c (add_symbol_to_partition_1,
2108 undo_partition, lto_balanced_map): Aliases have no
2109 defined size.
2110 (lto_balanced_map): Do not follow refering variables
2111 if they can be optimized out.
2112
2113 2014-02-14 Richard Biener <rguenther@suse.de>
2114
2115 PR lto/60179
2116 * lto.c (compare_tree_sccs_1): Do not compare
2117 DECL_FUNCTION_SPECIFIC_TARGET.
2118 (lto_read_decls): Re-build DECL_FUNCTION_SPECIFIC_TARGET.
2119
2120 2014-02-12 Richard Biener <rguenther@suse.de>
2121
2122 PR lto/60060
2123 * lto-lang.c (lto_write_globals): Do not call
2124 wrapup_global_declarations or emit_debug_global_declarations
2125 but emit debug info for non-function scope variables
2126 directly.
2127
2128 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
2129
2130 * lto.c (unify_scc): Free CONSTRUCTOR_ELTS.
2131
2132 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
2133
2134 PR ipa/59469
2135 * lto-partition.c (symbol_class): Move to cgraph.h
2136 (get_symbol_class): Move to symtab.c
2137 (add_references_to_partition, add_symbol_to_partition_1,
2138 lto_max_map, lto_1_to_1_map, lto_balanced_map,
2139 lto_promote_cross_file_statics): Update.
2140
2141 2014-02-05 Jan Hubicka <hubicka@ucw.cz>
2142
2143 * lto.c (lto_parallelism): New static var.
2144 (do_stream_out, wait_for_child, stream_out): New static functions.
2145 (lto_wpa_write_files): Add support for parallel streaming.
2146 (do_whole_program_analysis): Set parallelism.
2147 * lang.opt (fwpa): Add parameter.
2148 * lto-lang.c (lto_handle_option): Handle flag_wpa.
2149 (lto_init): Update use of flag_wpa.
2150 * lto-streamer.h (asm_nodes_output): Declare.
2151
2152 2014-02-05 Richard Biener <rguenther@suse.de>
2153
2154 * lto.h (lto_global_var_decls): Remove.
2155 * lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
2156 (lto_write_globals): Do nothing in WPA stage, gather globals from
2157 the varpool here ...
2158 * lto.c (lto_main): ... not here.
2159 (materialize_cgraph): Do not call rest_of_decl_compilation
2160 on the empty lto_global_var_decls vector.
2161 (lto_global_var_decls): Remove.
2162
2163 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
2164
2165 * lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
2166 needs duplicating, not generic COMDAT.
2167
2168 2014-02-04 Richard Biener <rguenther@suse.de>
2169
2170 PR lto/59723
2171 * lto.c (mentions_vars_p): Handle NAMELIST_DECL.
2172 (lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.
2173
2174 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
2175 Markus Trippelsdorf
2176
2177 PR ipa/59469
2178 * lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
2179 merge force_output and forced_by_abi flags.
2180
2181 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2182
2183 * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
2184 flag_cilkplus.
2185
2186 2014-01-09 Richard Biener <rguenther@suse.de>
2187
2188 * lto.c (gimple_canonical_types_compatible_p): Fix comment.
2189
2190 2014-01-09 Richard Biener <rguenther@suse.de>
2191
2192 PR lto/45586
2193 * lto.c (hash_canonical_type): Do not hash TREE_ADDRESSABLE,
2194 TYPE_ALIGN, TYPE_RESTRICT or TYPE_REF_CAN_ALIAS_ALL.
2195 (gimple_canonical_types_compatible_p): Do not compare them either.
2196
2197 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2198
2199 Update copyright years
2200
2201 2013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
2202
2203 * lto.c: Remove struct tags when referring to class varpool_node.
2204 * lto-partition.c: Likewise.
2205 * lto-symtab.c: Likewise.
2206
2207 2013-11-29 Jakub Jelinek <jakub@redhat.com>
2208 Richard Biener <rguenther@suse.de>
2209
2210 PR lto/59326
2211 * lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
2212
2213 2013-11-29 Jakub Jelinek <jakub@redhat.com>
2214
2215 PR lto/59326
2216 * lto.c (mentions_vars_p_omp_clause): New function.
2217 (mentions_vars_p): Call it for OMP_CLAUSE. Remove break;
2218 after return stmts.
2219
2220 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
2221
2222 * lto.c: Add required include files from gimple.h.
2223 * lto-lang.c: Likewise.
2224 * lto-object.c: Likewise.
2225 * lto-partition.c: Likewise.
2226 * lto-symtab.c: Likewise.
2227
2228 2013-11-18 Trevor Saunders <tsaunders@mozilla.com>
2229
2230 * lto-partition.c lto-symtab.c lto.c Adjust.
2231
2232 2013-11-14 Diego Novillo <dnovillo@google.com>
2233
2234 * lto-lang.c: Include stringpool.h.
2235 Include stor-layout.h.
2236 * lto-partition.c: Include gcc-symtab.h.
2237 * lto.c: Include stor-layout.h.
2238
2239 2013-10-31 David Malcolm <dmalcolm@redhat.com>
2240
2241 Automated part of renaming of symtab_node_base to symtab_node.
2242
2243 Patch autogenerated by rename_symtab.py from
2244 https://github.com/davidmalcolm/gcc-refactoring-scripts
2245 revision 58bb219cc090b2f4516a9297d868c245495ee622
2246
2247 * lto-partition.c (add_symbol_to_partition): Rename
2248 symtab_node_base to symtab_node.
2249 (get_symbol_class): Likewise.
2250 (symbol_partitioned_p): Likewise.
2251 (add_references_to_partition): Likewise.
2252 (add_symbol_to_partition_1): Likewise.
2253 (contained_in_symbol): Likewise.
2254 (add_symbol_to_partition): Likewise.
2255 (lto_1_to_1_map): Likewise.
2256 (lto_max_map): Likewise.
2257 (lto_balanced_map): Likewise.
2258 (privatize_symbol_name): Likewise.
2259 (promote_symbol): Likewise.
2260 (may_need_named_section_p): Likewise.
2261 (rename_statics): Likewise.
2262 (lto_promote_statics_nonwpa): Likewise.
2263 * lto-symtab.c (lto_symtab_merge): Likewise.
2264 (lto_symtab_resolve_replaceable_p): Likewise.
2265 (lto_symtab_symbol_p): Likewise.
2266 (lto_symtab_resolve_can_prevail_p): Likewise.
2267 (lto_symtab_resolve_symbols): Likewise.
2268 (lto_symtab_merge_decls_2): Likewise.
2269 (lto_symtab_merge_decls_1): Likewise.
2270 (lto_symtab_merge_decls): Likewise.
2271 (lto_symtab_merge_symbols_1): Likewise.
2272 (lto_symtab_merge_symbols): Likewise.
2273 (lto_symtab_prevailing_decl): Likewise.
2274 * lto.c (lto_wpa_write_files): Likewise.
2275 (read_cgraph_and_symbols): Likewise.
2276 (do_whole_program_analysis): Likewise.
2277
2278 2013-10-30 David Malcolm <dmalcolm@redhat.com>
2279
2280 * lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
2281 declarations onto multiple lines to make things easier for
2282 rename_symtab.py.
2283 (lto_symtab_merge_decls_1): Likewise.
2284 (lto_symtab_merge_symbols_1): Likewise.
2285
2286 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2287
2288 * Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
2289 * lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
2290 Plus is enabled.
2291
2292 2013-10-29 David Malcolm <dmalcolm@redhat.com>
2293
2294 Patch autogenerated by refactor_symtab.py from
2295 https://github.com/davidmalcolm/gcc-refactoring-scripts
2296 revision 58bb219cc090b2f4516a9297d868c245495ee622
2297
2298 * lto-partition.c (lto_promote_cross_file_statics): Update for
2299 conversion of symtab types to a true class hierarchy.
2300 (rename_statics): Likewise.
2301 (promote_symbol): Likewise.
2302 (privatize_symbol_name): Likewise.
2303 (lto_balanced_map): Likewise.
2304 (varpool_node_cmp): Likewise.
2305 (node_cmp): Likewise.
2306 (lto_1_to_1_map): Likewise.
2307 (undo_partition): Likewise.
2308 (add_symbol_to_partition): Likewise.
2309 (contained_in_symbol): Likewise.
2310 (add_symbol_to_partition_1): Likewise.
2311 (add_references_to_partition): Likewise.
2312 (symbol_partitioned_p): Likewise.
2313 (get_symbol_class): Likewise.
2314 (lto_max_map): Likewise.
2315 * lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
2316 (lto_symtab_merge_symbols): Likewise.
2317 (lto_symtab_merge_symbols_1): Likewise.
2318 (lto_symtab_merge_decls): Likewise.
2319 (lto_symtab_merge_decls_1): Likewise.
2320 (lto_symtab_merge_decls_2): Likewise.
2321 (lto_symtab_resolve_symbols): Likewise.
2322 (lto_symtab_resolve_can_prevail_p): Likewise.
2323 (lto_symtab_symbol_p): Likewise.
2324 (lto_symtab_resolve_replaceable_p): Likewise.
2325 (lto_symtab_merge): Likewise.
2326 (lto_varpool_replace_node): Likewise.
2327 (lto_cgraph_replace_node): Likewise.
2328 * lto.c (lto_main): Likewise.
2329 (do_whole_program_analysis): Likewise.
2330 (materialize_cgraph): Likewise.
2331 (read_cgraph_and_symbols): Likewise.
2332 (cmp_partitions_order): Likewise.
2333 (lto_materialize_function): Likewise.
2334 (has_analyzed_clone_p): Likewise.
2335
2336 2013-10-29 Andrew MacLeod <amacleod@redhat.com>
2337
2338 * lto-object.c: Add gimple.h to include list.
2339 * lto-partition.c: Likewise.
2340
2341 2013-10-18 Andrew MacLeod <amacleod@redhat.com>
2342
2343 * lto.c: Remove tree-flow.h from include list.
2344
2345 2013-10-15 Richard Biener <rguenther@suse.de>
2346
2347 * lto.c (hash_canonical_type): Split out from ...
2348 (iterative_hash_canonical_type): ... here. Register types
2349 we recurse to.
2350 (gimple_canonical_type_hash): Adjust.
2351 (gimple_register_canonical_type_1): Split out from ...
2352 (gimple_register_canonical_type): ... here. Cache computed
2353 hash value.
2354 (lto_register_canonical_types): Split into two modes,
2355 clearing and computing TYPE_CANONICAL.
2356 (lto_read_decls): Adjust.
2357 (read_cgraph_and_symbols): Do two passes over global trees,
2358 first clearing then computing TYPE_CANONICAL.
2359
2360 2013-10-14 Richard Biener <rguenther@suse.de>
2361
2362 * lto.c (gimple_canonical_types): Move out-of GC space.
2363 (canonical_type_hash_cache): Make a pointer-map.
2364 (num_canonical_type_hash_entries, num_canonical_type_hash_queries):
2365 New counters.
2366 (iterative_hash_canonical_type): Adjust.
2367 (read_cgraph_and_symbols): Likewise.
2368 (print_lto_report_1): Likewise.
2369
2370 2013-10-14 Richard Biener <rguenther@suse.de>
2371
2372 * lto.c (gimple_types, type_hash_cache, struct type_pair_d,
2373 type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
2374 gtc_next_dfs_num, compare_type_names_p, gtc_visit,
2375 gimple_types_compatible_p_1, gimple_types_compatible_p,
2376 visit, iterative_hash_name, struct type_hash_pair,
2377 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
2378 gimple_type_eq, gimple_register_type, num_not_merged_types,
2379 num_not_merged_types_in_same_scc, num_not_merged_types_trees,
2380 num_not_merged_types_in_same_scc_trees): Remove old merging code
2381 and statistics.
2382 (lto_read_decls): Do not run old merging code in parallel.
2383 (read_cgraph_and_symbols): Do not init/free old merging
2384 data structures.
2385 (print_lto_report_1): Do not report differences of old vs. new
2386 merging code.
2387
2388 2013-10-14 Richard Biener <rguenther@suse.de>
2389
2390 * lto-lang.c (lto_init): Do not re-init canonical types here.
2391 (lto_register_canonical_types): Move to ...
2392 * lto.c (lto_register_canonical_types): ... here.
2393 (gimple_canonical_types, canonical_type_hash_cache,
2394 iterative_hash_canonical_type, gimple_canonical_type_hash,
2395 gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
2396 gimple_register_canonical_type): Add canonical type merging machinery
2397 moved from gimple.c.
2398 (read_cgraph_and_symbols): Init and free canonical type tables
2399 here.
2400 (print_lto_report_1): Report canonical type table stats here.
2401
2402 2013-10-11 Jakub Jelinek <jakub@redhat.com>
2403
2404 * lto-lang.c (DEF_FUNCTION_TYPE_8): Define.
2405
2406 2013-09-25 Tom Tromey <tromey@redhat.com>
2407
2408 * Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
2409 (lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
2410 (lto/lto-object.o): Remove.
2411
2412 2013-09-06 Richard Biener <rguenther@suse.de>
2413
2414 * lto-symtab.c: Move from gcc/
2415 * lto.h: Include vec.h.
2416 (lto_global_var_decls): Declare.
2417 * lto.c (lto_global_var_decls): Move definition here.
2418 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
2419 (lto-symtab.o): Add.
2420 * config-lang.in (gtfiles): Add lto.h.
2421
2422 2013-08-31 Jan Hubicka <jh@suse.cz>
2423
2424 * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
2425 DECL_FIELD_OFFSET can contain an reference to variable.
2426
2427 2013-08-31 Jan Hubicka <jh@suse.cz>
2428
2429 * lto.c (tree_with_vars): Turn into vector.
2430 (MAYBE_REMEMBER_WITH_VARS): Change to...
2431 (CHECK_VAR): ... this one.
2432 (CHECK_NO_VAR): New macro.
2433 (maybe_remember_with_vars_typed): Turn to ...
2434 (mentions_vars_p_typed): ... this one.
2435 (maybe_remember_with_vars_common): Turn to ...
2436 (mentions_vars_p_comon): ... this one.
2437 (maybe_remember_with_vars_decl_minimal): Turn to ...
2438 (mentions_vars_p_decl_minmal): ... this one.
2439 (maybe_remember_with_vars_decl_common): Turn to ...
2440 (mentions_vars_p_decl_common): ... this one.
2441 (maybe_remember_with_vars_decl_with_vis): Turn to ...
2442 (mentions_vars_p_decl_with_vis): ... this one.
2443 (maybe_remember_with_vars_decl_non_common): Turn to ...
2444 (mentions_vars_p_decl_non_common): ... this one.
2445 (maybe_remember_with_vars_function): Turn to ...
2446 (mentions_vars_p_function): ... this one.
2447 (maybe_remember_with_vars_field_decl): Turn to ...
2448 (mentions_vars_p_field_decl): ... this one.
2449 (maybe_remember_with_vars_type): Turn to ...
2450 (mentions_vars_p_type): ... this one.
2451 (maybe_remember_with_vars_binfo): Turn to ...
2452 (mentions_vars_p_binfo): ... this one.
2453 (maybe_remember_with_vars_constructor): Turn to ...
2454 (mentions_vars_p_constructor): ... this one.
2455 (maybe_remember_with_vars_expr): Turn to ...
2456 (mentions_vars_p_expr): ... this one.
2457 (maybe_remember_with_vars): Turn to ...
2458 (mentions_vars_p): ... this one.
2459 (lto_read_decls): Update.
2460 (LTO_SET_PREVAIL): Do not call function for internal decls.
2461 (lto_fixup_prevailing_decls): Update to match mentions_vars_p;
2462 check that something was updated.
2463 (lto_fixup_state): Do not care about internal decls.
2464 (lto_fixup_decls): Update.
2465 (read_cgraph_and_symbols): Update.
2466
2467 2013-08-29 Jan Hubicka <jh@suse.cz>
2468
2469 * lto.c (read_cgraph_and_symbols): Free decl states.
2470
2471 2013-08-29 Jan Hubicka <jh@suse.cz>
2472
2473 * lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
2474 DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
2475 TYPE_FINAL_P.
2476
2477 2013-08-28 Jan Hubicka <jh@suse.cz>
2478
2479 * lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
2480 DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
2481 (unify_scc): Do checking assert.
2482
2483 2013-08-06 Jan Hubicka <jh@suse.cz>
2484 Martin Liska <marxin.liska@gmail.com>
2485
2486 * lto-partition.c (lto_balanced_map): Always base order on
2487 source file order.
2488
2489 2013-08-06 Jan Hubicka <jh@suse.cz>
2490
2491 * lto.c (lto_materialize_function): Do not read body anymore.
2492
2493 2013-08-02 Jan Hubicka <jh@suse.cz>
2494
2495 * lto.c (lto_materialize_function): Do not push struct function.
2496 * lto-partition.c (get_symbol_class): Handle abstracts correctly.
2497 (may_need_named_section_p): Even abstract origins may need
2498 named section.
2499
2500 2013-07-30 David Malcolm <dmalcolm@redhat.com>
2501
2502 * Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
2503 PASS_MANAGER_H.
2504
2505 * lto.c (do_whole_program_analysis): Update for move of
2506 all_regular_ipa_passes from a global to a field of class
2507 pass_manager.
2508
2509 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2510
2511 * lto-partition.c: Fix typos.
2512
2513 2013-06-20 Jan Hubicka <jh@suse.cz>
2514
2515 * lto-partition.c (lto_balanced_map): Fix -fno-toplevel-reorder
2516 partitioning of variables.
2517
2518 2013-06-20 Jan Hubicka <jh@suse.cz>
2519
2520 * lto.c (read_cgraph_and_symbols): Set cgraph state.
2521
2522 2013-06-19 Jan Hubicka <jh@suse.cz>
2523
2524 * lto-partition.c (add_references_to_partition): Use
2525 ctor_for_folding.
2526
2527 2013-06-18 Richard Biener <rguenther@suse.de>
2528
2529 * lto.c (lto_register_var_decl_in_symtab): Pass in cache index
2530 and use it.
2531 (lto_register_function_decl_in_symtab): Likewise.
2532 (cmp_tree): New function.
2533 (unify_scc): Instead of using the streamer cache map from entry
2534 to cache index match up the two maps we have by sorting them.
2535 Adjust calls to lto_register_var_decl_in_symtab and
2536 lto_register_function_decl_in_symtab.
2537
2538 2013-06-17 Richard Biener <rguenther@suse.de>
2539
2540 * Make-lang.in (lto.o): Add $(DATA_STREAMER_H) dependency.
2541 * lto.c: Include data-streamer.h.
2542 (lto_read_in_decl_state): Use streamer_tree_cache_get_tree.
2543 (gimple_type_leader_entry_s, gimple_type_leader,
2544 gimple_lookup_type_leader): Remove.
2545 (gtc_visit): Simplify.
2546 (gimple_types_compatible_p): Likewise.
2547 (gimple_register_type_1): Likewise. Merge into ...
2548 (gimple_register_type): ... this. Keep it as legacy for
2549 statistics purposes for now.
2550 (fixup_integer_cst): Remove.
2551 (LTO_FIXUP_TREE, lto_fixup_types, lto_ft_*): Simplify and
2552 rename to ...
2553 (MAYBE_REMEMBER_WITH_VARS, maybe_remember_with_vars,
2554 maybe_remember_with_vars_*): ... these.
2555 (uniquify_nodes): Remove.
2556 (lto_fixup_prevailing_type): New function.
2557 (struct tree_scc, struct tree_scc_hasher): New type and hasher.
2558 (tree_scc_hash, tree_scc_hash_obstack): New globals.
2559 (num_merged_types, num_prevailing_types, num_not_merged_types,
2560 num_not_merged_types_in_same_scc, total_scc_size, num_sccs_read,
2561 total_scc_size_merged, num_sccs_merged, num_scc_compares,
2562 num_scc_compare_collisions): New global counters.
2563 (compare_tree_sccs_1): New function.
2564 (compare_tree_sccs): Likewise.
2565 (unify_scc): Likewise.
2566 (lto_read_decls): Stream in tree SCCs and unify them on the
2567 way in. Finalize prevailing SCC tree members.
2568 (read_cgraph_and_symbols): Do not initialize or free gimple_type_leader.
2569 Allocate and free tree_scc_hash_obstack and tree_scc_hash, do not bother
2570 to ggc-collect during merging.
2571 (print_lto_report_1): Adjust for new merging code.
2572
2573 2013-06-12 Jan Hubicka <jh@suse.cz>
2574
2575 * lto.c (read_cgraph_and_symbols): Set cgraph into streaming state.
2576
2577 2013-06-12 Jan Hubicka <jh@suse.cz>
2578
2579 * lto.c (register_resolution): Take lto_file_data argument.
2580 (lto_register_var_decl_in_symtab,
2581 lto_register_function_decl_in_symtab): Update.
2582 (read_cgraph_and_symbols): Update resolution_map handling.
2583
2584 2013-06-11 Jan Hubicka <jh@suse.cz>
2585
2586 * lto-partition.c (get_symbol_class): Simplify weakref handling.
2587 (add_symbol_to_partition_1): Likewise.
2588 (contained_in_symbol): Likewise.
2589 (lto_balanced_map): Likewise.
2590 (rename_statics): Drop weakref.
2591
2592 2013-06-05 Richard Biener <rguenther@suse.de>
2593
2594 * lto.c (num_merged_types): New global variable.
2595 (uniquify_nodes): Increase num_merged_types when merging a type.
2596 (print_lto_report_1): Output the number of merged types.
2597
2598 2013-06-01 Jan Hubicka <jh@suse.cz>
2599
2600 * lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
2601 lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
2602 (do_whole_program_analysis): Update dumping.
2603
2604 2013-05-29 Jan Hubicka <jh@suse.cz>
2605
2606 * lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
2607 flags.
2608 * lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
2609
2610 2013-05-15 Jan Hubicka <jh@suse.cz>
2611
2612 * lto-partition.c (privatize_symbol_name): Return true when
2613 privatizing happened.
2614 (rename_statics): Do not go into infinite loop when privatizing
2615 is not needed.
2616
2617 2013-05-16 Jason Merrill <jason@redhat.com>
2618
2619 * Make-lang.in ($(LTO_EXE)): Use link mutex.
2620
2621 2013-05-15 Martin Jambor <mjambor@suse.cz>
2622
2623 * lto-partition.c (lto_balanced_map): Print symbol order instead
2624 of node uids.
2625
2626 2013-05-15 Jan Hubicka <jh@suse.cz>
2627
2628 PR lto/57038
2629 PR lto/47375
2630 * lto-partition.c (get_symbol_class): Fix weakrefs.
2631 (lto_balanced_map): Fix weakrefs.
2632 (privatize_symbol_name): Remove unnecesary label.
2633 (rename_statics): Handle weakrefs as statics.
2634
2635 2013-05-09 Jan Hubicka <jh@suse.cz>
2636 Richard Biener <rguenther@suse.de>
2637
2638 * lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
2639 (lto_register_var_decl_in_symtab): Likewise.
2640 (lto_main): Promote statics.
2641 * lto-partition.c (privatize_symbol_name): New function.
2642 (promote_symbol): Use it.
2643 (may_need_named_section_p): New predicate.
2644 (rename_statics): New functions.
2645 (lto_promote_cross_file_statics): Simplify; do renaming.
2646 (lto_promote_statics_nonwpa): New function.
2647 * lto-partition.h (lto_promote_statics_nonwpa): New function.
2648
2649 2013-02-08 Richard Biener <rguenther@suse.de>
2650
2651 PR lto/56231
2652 * lto-lang.c (lto_init): Do not enter a dummy file.
2653
2654 2013-02-07 Uros Bizjak <ubizjak@gmail.com>
2655
2656 PR bootstrap/56227
2657 * lto.c (lto_resolution_ready): Use %wx instead of
2658 HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
2659
2660 2013-02-04 Richard Guenther <rguenther@suse.de>
2661
2662 PR lto/56168
2663 * lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
2664 or lto_fixup_decls at LTRANS time.
2665
2666 2013-01-09 Jan Hubicka <jh@suse.cz>
2667
2668 PR lto/45375
2669 * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.
2670
2671 2012-12-10 H.J. Lu <hongjiu.lu@intel.com>
2672
2673 PR lto/55466
2674 * lto.c (lto_register_var_decl_in_symtab): Don't record static
2675 variables.
2676 (lto_main): Record the global variables if WPA isn't enabled.
2677
2678 2012-11-20 Diego Novillo <dnovillo@google.com>
2679 Jakub Jelinek <jakub@redhat.com>
2680
2681 * lto.c: Replace all vec<T, A>() initializers with vNULL.
2682
2683 2012-11-16 Diego Novillo <dnovillo@google.com>
2684
2685 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2686
2687 * lto-lang.c: Use new vec API in vec.h.
2688 * lto-partition.c: Likewise.
2689 * lto-partition.h: Likewise.
2690 * lto.c: Likewise.
2691
2692 2012-10-31 Lawrence Crowl <crowl@google.com>
2693
2694 * lto.c (lto_wpa_write_files): Change symtab checking to a checked
2695 down-cast via dyn_cast.
2696 * lto-partition.c (add_symbol_to_partition_1): Likewise.
2697 (undo_partition): Likewise.
2698 (lto_balanced_map): Likewise.
2699 (get_symbol_class): Likewise and via is_a.
2700 (lto_balanced_map): Change symtab checking to is_a.
2701
2702 2012-10-12 Richard Biener <rguenther@suse.de>
2703
2704 PR lto/54898
2705 * lto.c (gimple_types_compatible_p_1): Also compare
2706 TYPE_MAIN_VARIANT.
2707 (iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.
2708
2709 2012-10-09 Tobias Burnus <burnus@net-b.de>
2710
2711 * lto-lang.c (lto_register_builtin_type): Avoid useless
2712 decl creation.
2713 * lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.
2714
2715 2012-10-08 Tobias Burnus <burnus@net-b.de>
2716
2717 * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
2718 Free lto_file struct after closing the file.
2719
2720 2012-10-08 Jan Hubicka <jh@suse.cz>
2721
2722 * lto.c (remember_with_vars): Also fixup INTEGER_CST.
2723 (fixup_integer_cst): New functoin.
2724 (lto_ft_type): Fixup BASETYPE of methods and offsets.
2725
2726 2012-10-07 Jan Hubicka <jh@suse.cz>
2727
2728 * lto.c (read_cgraph_and_symbols): Release type merging hash early;
2729 release input encoders.
2730 * lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
2731
2732 2012-10-06 Jan Hubicka <jh@suse.cz>
2733
2734 PR lto/54790
2735 * lto.c (resolution_map): New static var.
2736 (register_resolution): New function.
2737 (lto_register_var_decl_in_symtab): Use it.
2738 (read_cgraph_and_symbols): Copy resolutions into the symtab.
2739
2740 2012-09-20 Martin Jambor <mjambor@suse.cz>
2741
2742 * lto.c (lto_materialize_function): Call push_struct_function and
2743 pop_cfun.
2744
2745 2012-09-19 Dehao Chen <dehao@google.com>
2746
2747 * lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
2748
2749 2012-09-19 Jan Hubicka <jh@suse.cz>
2750
2751 * lto.c (lto_materialize_function): Update confused comment.
2752 (read_cgraph_and_symbols): Do not free symtab.
2753
2754 2012-09-12 Jan Hubicka <jh@suse.cz>
2755
2756 * lto.c (do_whole_program_analysis): Care timevars, statistics and
2757 AUX pointer cleaning. Add max partitioning.
2758 * lto-partition.c (enum symbol_class): New.
2759 (get_symbol_class): New function.
2760 (symbol_partitioned_p): New function.
2761 (add_references_to_partition): Remove.
2762 (add_aliases_to_partition): Remove.
2763 (add_cgraph_node_to_partition_1): Remove.
2764 (add_cgraph_node_to_partition): Remove.
2765 (add_symbol_to_partition): New function.
2766 (add_symbol_to_partition_1): New function.
2767 (contained_in_symbol): New function.
2768 (partition_cgraph_node_p): Remove.
2769 (partition_varpool_node_p): Remove.
2770 (partition_symbol_p): Remove.
2771 (lto_1_to_1_map): Cleanup.
2772 (lto_max_map): New.
2773 (lto_balanced_map): Update.
2774 (lto_promote_cross_file_statics): Update.
2775 * lto-partition.h (lto_max_map): Declare.
2776 * timevar.def (TV_WHOPR_PARTITIONING): New timevar.
2777
2778 2012-09-11 Jan Hubicka <jh@suse.cz>
2779
2780 PR lto/54312
2781 * lto.c (uniquify_nodes): Remove quadratic loop checking if the
2782 type is variant leader.
2783
2784 2012-09-11 Richard Guenther <rguenther@suse.de>
2785
2786 * lto.c (enum gtc_mode): Remove.
2787 (struct type_pair_d): Adjust.
2788 (lookup_type_pair): Likewise.
2789 (gimple_type_leader): Do not mark as deletable.
2790 (gimple_lookup_type_leader): Adjust.
2791 (gtc_visit): Likewise.
2792 (gimple_types_compatible_p_1): Likewise.
2793 (gimple_types_compatible_p): Likewise.
2794 (gimple_type_hash): Likewise.
2795 (gimple_register_type): Likewise.
2796 (read_cgraph_and_symbols): Manage lifetime of tables
2797 here.
2798
2799 2012-09-11 Richard Guenther <rguenther@suse.de>
2800
2801 * lto.c (gimple_types, type_hash_cache, enum gtc_mode,
2802 struct type_pair_d, lookup_type_pair, struct sccs,
2803 next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
2804 gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
2805 gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
2806 visit, iterative_hash_name, struct type_hash_pair,
2807 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
2808 gimple_type_eq, gimple_register_type_1, gimple_register_type):
2809 Move here from gimple.c
2810 (read_cgraph_and_symbols): Free hash tables here.
2811 (print_lto_report_1): New function wrapping print_lto_report.
2812 (do_whole_program_analysis): Call it.
2813 (lto_main): Likewise.
2814
2815 2012-09-10 Jan Hubicka <jh@suse.cz>
2816
2817 * lto-partition.c (partition_symbol_p): Forward declare.
2818 (add_references_to_partition): Reimplement using partition_symbol_p.
2819 (add_aliases_to_partition): Break out from add_references_to_partition;
2820 reimplement using partition_symbol_p.
2821 (add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
2822 add sanity checks.
2823 (add_varpool_node_to_partition): Use add_aliases_to_partition.
2824 (partition_varpool_node_p): Do not special case aliases.
2825
2826 2012-08-12 Jan Hubicka <jh@suse.cz>
2827
2828 * lto.c (lto_wpa_write_files): Do not delete partition encoder;
2829 it is deleted after streaming.
2830 * lto-partition.c (partition_symbol_p): New function.
2831 (promote_var, promote_fn): Remove.
2832 (promote_symbol): New function.
2833 (lto_promote_cross_file_statics): First compute boundaries; rewrite
2834 to lookup the actual boundaries instead of computing them ad-hoc.
2835
2836 2012-08-12 Jan Hubicka <jh@suse.cz>
2837
2838 Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
2839 in partitioning.
2840 * lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
2841 by encoder.
2842 * lto-partition.c (new_partition): Update.
2843 * lto.c (cmp_partitions_order): Update.
2844 (lto_wpa_write_files): Update.
2845 (free_ltrans_partitions): Update.
2846 (add_references_to_partition): Update.
2847 (add_cgraph_node_to_partition_1): Update.
2848 (add_cgraph_node_to_partition): Update.
2849 (add_varpool_node_to_partition): Update.
2850 (undo_partition): Update.
2851 (lto_balanced_map): Update.
2852 (set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
2853 set_referenced_from_this_partition_p): Update.
2854 (lto_promote_cross_file_statics): Update.
2855
2856 2012-08-12 Jan Hubicka <jh@suse.cz>
2857
2858 * lto-partition.c (set_referenced_from_other_partition_p,
2859 set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
2860 New functions.
2861 (lto_promote_cross_file_statics): Use them.
2862
2863 2012-07-24 Jan Hubicka <jh@suse.cz>
2864
2865 * lto.c (read_cgraph_and_symbols): Use input_symtab.
2866
2867 2012-07-24 Uros Bizjak <ubizjak@gmail.com>
2868
2869 * lto-tree.h (lang_decl): Add variable_size GTY option.
2870
2871 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2872
2873 * lto.c: Do not include timevar.h.
2874 * Make-lang.in: Fix dependencies.
2875
2876 2012-06-18 Lawrence Crowl <crowl@google.com>
2877
2878 * lto.c (do_whole_program_analysis): Rename use of TV_PHASE_CGRAPH to
2879 TV_PHASE_OPT_GEN. Use new timevar TV_PHASE_STREAM_OUT around the call
2880 to lto_wpa_write_files.
2881 (lto_main): Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Move
2882 start of TV_PHASE_OPT_GEN to include call to materialize_cgraph. Use
2883 TV_PHASE_SETUP for the call to lto_init. Use new timevar
2884 TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
2885 Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
2886 to be a front end, but is not one.
2887
2888 2012-05-18 Jan Hubicka <jh@suse.cz>
2889
2890 * lto.c (lto_materialize_constructors_and_inits): Remove.
2891 (read_cgraph_and_symbols): Remove handling of alias pairs.
2892
2893 2012-05-17 Jan Hubicka <jh@suse.cz>
2894
2895 * lto-partition.c (add_references_to_partition): Handle external vars.
2896 (partition_varpool_node_p): Likewise.
2897 (lto_promote_cross_file_statics): Do not promote externals.
2898
2899 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2900
2901 * lto-lang.c (handle_fnspec_attribute): New static function.
2902 (lto_attribute_table): Add "fn spec".
2903 (DEF_ATTR_STRING): Define and undefine along with the other macros.
2904
2905 2012-05-04 Jan Hubicka <jh@suse.cz>
2906
2907 * lto.c (do_whole_program_analysis): Set timevars correctly.
2908 (lto_main): Likewise.
2909
2910 2012-05-04 Richard Guenther <rguenther@suse.de>
2911
2912 * lang.opt (fwpa): Do not mark as Optimization.
2913 (fltrans): Likewise.
2914
2915 2012-04-30 Jan Hubicka <jh@suse.cz>
2916
2917 * lto.c (lto_main): Use compile ().
2918 * lto-partition.c (partition_cgraph_node_p): Use
2919 symtab_used_from_object_file_p.
2920 (partition_varpool_node_p): Likewise.
2921
2922 2012-04-20 Jan Hubicka <jh@suse.cz>
2923
2924 * lto-partition.c (partition_cgraph_node_p): Use force_output.
2925
2926 2012-04-18 Jan Hubicka <jh@suse.cz>
2927
2928 * lto-partition.c (add_references_to_partition, lto_balanced_map):
2929 Update for new ipa-ref API.
2930
2931 2012-04-16 Jan Hubicka <jh@suse.cz>
2932
2933 * lto.c (read_cgraph_and_symbols): Use FOR_EACH
2934 walkers to walk cgraph and varpool.
2935 (materialize_cgraph): Likewise.
2936 * lto-partition.c (lto_1_to_1_map): Likewise.
2937 (lto_balanced_map): Likewise.
2938 (lto_promote_cross_file_statics): Likewise.
2939
2940 2012-04-14 Jan Hubicka <jh@suse.cz>
2941
2942 * lto.c: Update field referenced for new cgraph/varpool layout.
2943 * lto-partition.c: Likewise.
2944
2945 2012-04-11 Jan Hubicka <jh@suse.cz>
2946
2947 * lto.c: Update copyright; remove params.h, ipa-inline.h
2948 and ipa-utils.h inlines; inline lto-partition.h
2949 (ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
2950 add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
2951 add_references_to_partition, add_cgraph_node_to_partition_1,
2952 add_cgraph_node_to_partition, add_varpool_node_to_partition,
2953 undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
2954 lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
2955 promote_var, promote_fn, lto_promote_cross_file_statics): move to...
2956 * lto-partition.c: ... here; new file.
2957 * lto-partition.h: New file.
2958 * Make-lang.in (lto.o): Update dependencies.
2959 (lto-partition.o): New.
2960
2961 2012-04-05 Richard Guenther <rguenther@suse.de>
2962
2963 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Remove
2964 definition.
2965
2966 2012-03-12 Richard Guenther <rguenther@suse.de>
2967
2968 * lto-lang.c (builtin_type_for_size): Use lto_type_for_size.
2969
2970 2012-03-06 Richard Guenther <rguenther@suse.de>
2971
2972 PR lto/52097
2973 * lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.
2974
2975 2012-02-28 Richard Guenther <rguenther@suse.de>
2976
2977 PR lto/52400
2978 * lto.c (lto_register_function_decl_in_symtab): Do not register
2979 a reverse renamed decl mapping.
2980
2981 2012-01-06 Jakub Jelinek <jakub@redhat.com>
2982
2983 PR lto/51774
2984 * lto-lang.c (handle_returns_twice_attribute): New function.
2985 (lto_attribute_table): Add returns_twice attribute.
2986
2987 2011-12-21 Richard Guenther <rguenther@suse.de>
2988
2989 * lto.c (GIMPLE_REGISTER_TYPE): New define.
2990 (LTO_FIXUP_TREE): Use it.
2991 (uniquify_nodes): Mark new non-prevailing types and avoid
2992 calling gimple_register_type on others.
2993 (lto_read_decls): Add comment.
2994
2995 2011-12-13 Eric Botcazou <ebotcazou@adacore.com>
2996
2997 * lto.h (lto_parse_hex): Delete.
2998 * lto.c (lto_read_decls): Use 'int' for offsets.
2999 (lto_parse_hex): Make static and return proper 64-bit host type.
3000 (lto_resolution_read): Use proper 64-bit host type.
3001
3002 2011-12-13 Richard Guenther <rguenther@suse.de>
3003
3004 PR lto/48354
3005 * lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
3006 with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.
3007
3008 2011-12-01 Uros Bizjak <ubizjak@gmail.com>
3009
3010 * lto-lang.c (lto_attribute_table): Handle *tm regparm.
3011 (ignore_attribute): New.
3012
3013 2011-11-21 Aldy Hernandez <aldyh@redhat.com>
3014
3015 * lto-lang.c (lto_attribute_table): Handle transaction_pure.
3016 (handle_transaction_pure_attribute): New.
3017
3018 2011-11-03 Richard Guenther <rguenther@suse.de>
3019
3020 PR lto/44965
3021 * lto-lang.c (lto_post_options): Do not read file options.
3022 * lto.c (lto_read_all_file_options): Remove.
3023 (lto_init): Call lto_set_in_hooks here.
3024
3025 2011-10-09 Jan Hubicka <jh@suse.cz>
3026
3027 * lto.c (node_cmp, varpool_node_cmp): New functions.
3028 (lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
3029 (cmp_partitions): Rename to ...
3030 (cmp_partitions_size): ... this one.
3031 (cmp_partitions_order): New function.
3032 (lto_wpa_write_files): Sort partitions by order when
3033 -fno-toplevel-reorder is used.
3034
3035 2011-10-09 Andi Kleen <ak@linux.intel.com>
3036
3037 * lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
3038
3039 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3040
3041 * lto-lang.c (def_builtin_1): Delete old interface with two
3042 parallel arrays to hold standard builtin declarations, and replace
3043 it with a function based interface that can support creating
3044 builtins on the fly in the future. Change all uses, and poison
3045 the old names. Make sure 0 is not a legitimate builtin index.
3046
3047 2011-10-02 Andi Kleen <ak@linux.intel.com>
3048
3049 * lto-object.c (lto_obj_add_section_data): Add list.
3050 (lto_obj_add_section): Fill in list.
3051 (ltoobj_build_section_table): Pass through list.
3052 * lto.c (file_data_list): Declare.
3053 (create_subid_section_table): Pass arguments directly.
3054 Fill in list of file_datas.
3055 (lwstate): Delete.
3056 (lto_create_files_from_ids): Pass in direct arguments.
3057 Don't maintain list.
3058 (lto_file_read): Use explicit section and file data lists.
3059 (lto_read_all_file_options): Pass in section_list.
3060 * lto.h (lto_obj_build_section_table): Add list.
3061 (lto_section_slot): Add next.
3062 (lto_section_list): Declare.
3063
3064 2011-10-02 Jan Hubicka <jh@suse.cz>
3065
3066 PR lto/47247
3067 * common.c (lto_resolution_str): Add new resolution.
3068 * common.h (lto_resolution_str): Likewise.
3069
3070 2011-09-30 H.J. Lu <hongjiu.lu@intel.com>
3071 Andi Kleen <ak@linux.intel.com>
3072
3073 PR lto/50568
3074 * lto.c (lto_splay_tree_delete_id): New.
3075 (lto_splay_tree_compare_ids): Likewise.
3076 (lto_splay_tree_lookup): Likewise.
3077 (lto_splay_tree_id_equal_p): Likewise.
3078 (lto_splay_tree_insert): Likewise.
3079 (lto_splay_tree_new): Likewise.
3080 (lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
3081 Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
3082 (create_subid_section_table): Use lto_splay_tree_lookup and
3083 lto_splay_tree_insert.
3084 (lto_file_read): Use lto_splay_tree_new.
3085
3086 2011-09-26 Andi Kleen <ak@linux.intel.com>
3087
3088 * lto.c (lto_resolution_read): Remove id dumping.
3089 (lto_section_with_id): Turn id HOST_WIDE_ID.
3090 (create_subid_section_table): Dito.
3091
3092 2011-08-28 Dodji Seketeli <dodji@redhat.com>
3093
3094 * lto-lang.c (lto_init): Likewise. Also, avoid calling
3095 linemap_add twice.
3096
3097 2011-08-11 Martin Jambor <mjambor@suse.cz>
3098
3099 * lto.c (uniquify_nodes): Use main variant's BINFO too.
3100
3101 2011-08-08 Diego Novillo <dnovillo@google.com>
3102
3103 * Make-lang.in (lto/lto.o): Add TREE_STREAMER_H.
3104 * lto.c: Include tree-streamer.h.
3105
3106 2011-07-06 Richard Guenther <rguenther@suse.de>
3107
3108 * lto-lang.c (lto_init):
3109 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3110
3111 2011-06-11 Jan Hubicka <jh@suse.cz>
3112
3113 PR lto/48246
3114 * lto.c (lto_1_to_1_map): Don't create empty partitions.
3115 (lto_balanced_map): Likewise.
3116
3117 2011-06-11 Jan Hubicka <jh@suse.cz>
3118
3119 * lto.c (add_cgraph_node_to_partition_1): Break out from ...
3120 (add_cgraph_node_to_partition) ... here; walk aliases.
3121 (lto_1_to_1_map): Remove same body alias code.
3122 (promote_fn): Likewise.
3123 (lto_promote_cross_file_statics): Update comment.
3124
3125 2011-06-07 Diego Novillo <dnovillo@google.com>
3126
3127 * lto.c (uniquify_nodes): Move code to register decls to
3128 the loop that computes canonical types.
3129
3130 2011-06-07 Richard Guenther <rguenther@suse.de>
3131
3132 * lto-lang.c (lto_init): Do not set
3133 size_type_node or call set_sizetype.
3134
3135 2011-06-04 Diego Novillo <dnovillo@google.com>
3136
3137 * lto.c (lto_init): New.
3138 (lto_main): Call it.
3139
3140 2011-06-03 Diego Novillo <dnovillo@google.com>
3141
3142 * lto.c (get_resolution): Move from lto-streamer-in.c.
3143 (lto_register_var_decl_in_symtab): Likewise.
3144 (lto_register_function_decl_in_symtab): Likewise.
3145 (uniquify_nodes): Call lto_register_var_decl and
3146 lto_register_function_decl_in_symtab after reading a new
3147 VAR_DECL or FUNCTION_DECL.
3148
3149 2011-06-01 Richard Guenther <rguenther@suse.de>
3150
3151 * lto-lang.c (lto_register_canonical_types): New function.
3152 (lto_init): Register common nodes with the canonical type machinery.
3153 Do not play tricks with char_type_node.
3154
3155 2011-05-26 Richard Guenther <rguenther@suse.de>
3156
3157 * lto.c (uniquify_nodes): Fix bug in one of the previous changes.
3158
3159 2011-05-25 Nathan Froyd <froydnj@codesourcery.com>
3160
3161 * lto.c (lto_ft_typed): New function.
3162 (lto_ft_common): Call it.
3163 (lto_ft_constructor): Likewise.
3164 (lto_ft_expr): Likewise.
3165 (lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
3166 TREE_CHAIN.
3167
3168 2011-05-20 Richard Guenther <rguenther@suse.de>
3169
3170 * lto.c (lto_ft_common): Remove pointer-to chain teardown.
3171 (lto_ft_type): Move main-variant and pointer-to chain building ...
3172 (uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
3173 in a separate final loop.
3174
3175 2011-05-19 Richard Guenther <rguenther@suse.de>
3176
3177 * lto.c (uniquify_nodes): First register all types before
3178 fixing up the tree SCC.
3179
3180 2011-05-11 Jan Hubicka <jh@suse.cz>
3181
3182 PR lto/48952
3183 * lto.c (do_whole_program_analysis): Do not register cgraph hooks.
3184
3185 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
3186
3187 * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
3188 location of binfo field.
3189 (lto_fixup_prevailing_decls): Likewise.
3190
3191 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3192
3193 * lto-lang.c (def_fn_type): Don't call build_function_type, call
3194 build_function_type_array or build_varargs_function_type_array
3195 instead.
3196
3197 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
3198
3199 * lto-lang.c (global_bindings_p): Return bool.
3200
3201 2011-05-07 Jan Hubicka <jh@suse.cz>
3202
3203 * lto.c (lto_materialize_function): Use
3204 cgraph_function_with_gimple_body_p.
3205 (add_cgraph_node_to_partition): Do not re-add items to partition;
3206 handle thunks.
3207 (add_varpool_node_to_partition): Do not re-add items to partition.
3208
3209 2011-05-03 Jan Hubicka <jh@suse.cz>
3210
3211 * lto.c (free_ltrans_partitions): Fix accidental commit.
3212
3213 2011-05-03 Jan Hubicka <jh@suse.cz>
3214
3215 * lto.c (ltrans_partition_def): Remove GTY annotations.
3216 (ltrans_partitions): Move to heap.
3217 (new_partition): Update.
3218 (free_ltrans_partitions): New function.
3219 (lto_wpa_write_files): Use it.
3220
3221 2011-04-29 Martin Jambor <mjambor@suse.cz>
3222
3223 * lto.c: Include ipa-utils.h.
3224 (lto_balanced_map): Update call to ipa_reverse_postorder.
3225 * Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
3226
3227 2011-04-29 Michael Matz <matz@suse.de>
3228
3229 * lto.c (toplevel): Include tree-flow.h.
3230 (lto_read_in_decl_state): Don't merge types here.
3231 (tree_with_vars): New static hash table.
3232 (remember_with_vars): New static functions.
3233 (LTO_FIXUP_TYPE): New macro.
3234 (lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
3235 lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
3236 lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
3237 lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
3238 (lto_read_decls): Uniquify while reading in trees.
3239 (lto_fixup_data_t, LTO_FIXUP_SUBTREE,
3240 LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
3241 lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
3242 lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
3243 lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
3244 lto_fixup_tree): Remove.
3245 (lto_fixup_state): Remove data argument. Use
3246 lto_symtab_prevailing_decl.
3247 (LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
3248 (lto_fixup_prevailing_decls): New function.
3249 (lto_fixup_state_aux): Argument aux is unused.
3250 (lto_fixup_decls): Don't allocate pointer sets, don't use
3251 lto_fixup_tree, use lto_fixup_prevailing_decls.
3252 (read_cgraph_and_symbols): Allocate and remove tree_with_vars.
3253 * Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
3254
3255 2011-04-16 Eric Botcazou <ebotcazou@adacore.com>
3256
3257 * lto.c (lto_balanced_map): Fix typos in head comment.
3258 (lto_promote_cross_file_statics): Fix long lines and remove redundant
3259 test.
3260
3261 2011-04-16 Jan Hubicka <jh@suse.cz>
3262
3263 * lto.c (lto_balanced_map): Update.
3264
3265 2011-04-14 Jan Hubicka <jh@suse.cz>
3266
3267 * lto.c: Include ipa-inline.h
3268 (add_cgraph_node_to_partition, undo_partition): Use inline_summary
3269 accessor.
3270 (ipa_node_duplication_hook): Fix declaration.
3271 * Make-lang.in (lto.o): Update dependencies.
3272
3273 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3274
3275 * lto-tree.h (union lang_tree_node): Check for TS_COMMON before
3276 calling TREE_CHAIN.
3277 * lto.c (lto_fixup_common): Likewise.
3278
3279 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3280
3281 * lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3282 (handle_type_generic_attribute): Likewise.
3283
3284 2011-04-03 Michael Matz <matz@suse.de>
3285
3286 * lto.c (lto_materialize_function): Don't read and then discard
3287 sections in WPA mode.
3288 (lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
3289
3290 * lto-lang.c (registered_builtin_fndecls): Remove.
3291 (lto_getdecls): Return NULL_TREE.
3292 (lto_builtin_function): Don't remember in registered_builtin_fndecls.
3293
3294 2011-03-31 Richard Guenther <rguenther@suse.de>
3295
3296 PR lto/48246
3297 * lto.c (lto_wpa_write_files): Disable assert for non-empty
3298 partitions when checking is not enabled.
3299
3300 2011-03-25 Kai Tietz <ktietz@redhat.com>
3301
3302 * lto.c (lto_resolution_read): Use filename_cmp instead
3303 of strcmp.
3304 (lto_read_section_data): Likewise.
3305
3306 2011-03-25 Jeff Law <law@redhat.com>
3307
3308 * lto-lang.c (def_fn_type): Add missing va_end.
3309
3310 2011-03-21 Kai Tietz <ktietz@redhat.com>
3311
3312 PR target/12171
3313 * lto-lang.c (lto_attribute_table): Adjust table.
3314
3315 2011-02-18 Jakub Jelinek <jakub@redhat.com>
3316
3317 PR bootstrap/47807
3318 * Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
3319 of lto-streamer.h.
3320
3321 2011-02-18 Richard Guenther <rguenther@suse.de>
3322
3323 PR lto/47798
3324 * lto-tree.h (lto_global_var_decls): Do not declare here.
3325 * lto-lang.c: Include lto-streamer.h.
3326 * Make-lang.in (lto-lang.o): Adjust dependencies.
3327
3328 2011-02-10 Kai Tietz <kai.tietz@onevision.com>
3329
3330 PR lto/47241
3331 * lto.c (lto_read_section_data): Free
3332 fd_name in failure case.
3333 For mingw targets don't hash file-descriptor.
3334 (read_cgraph_and_symbols): Close current_lto_file
3335 in failure case.
3336
3337 2011-01-11 Jan Hubicka <jh@suse.cz>
3338
3339 PR lto/45721
3340 PR lto/45375
3341 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
3342 are not partitioned.
3343
3344 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3345
3346 * lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
3347 Use prototype_p.
3348
3349 2010-12-06 Richard Guenther <rguenther@suse.de>
3350
3351 PR lto/46796
3352 * lto-lang.c (lto_init): Give names to basic types.
3353
3354 2010-11-30 Joseph Myers <joseph@codesourcery.com>
3355
3356 * lto-object.c: Don't include toplev.h.
3357 * Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
3358
3359 2010-11-30 Joseph Myers <joseph@codesourcery.com>
3360
3361 * Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
3362 $(TOPLEV_H).
3363
3364 2010-11-29 Joseph Myers <joseph@codesourcery.com>
3365
3366 * lto-endian.h: Delete.
3367 * lto-object.c: Don't include "libiberty.h".
3368 (O_BINARY): Don't define.
3369 * lto.c: Don't include "libiberty.h" or <sys/mman.h>.
3370 (O_BINARY): Don't define.
3371
3372 2010-11-23 Richard Guenther <rguenther@suse.de>
3373
3374 * lto.c (read_cgraph_and_symbols): Remove newline from diagnostic.
3375
3376 2010-11-23 Richard Guenther <rguenther@suse.de>
3377
3378 PR lto/46605
3379 * lto.c (read_cgraph_and_symbols): Bail out after errors.
3380
3381 2010-11-17 Joseph Myers <joseph@codesourcery.com>
3382
3383 * lto.c (lto_main): Take no arguments.
3384 * lto.h (lto_main): Update prototype.
3385
3386 2010-11-16 Ian Lance Taylor <iant@google.com>
3387
3388 * lto-object.c (lto_obj_file_open): Call
3389 simple_object_attributes_merge rather than
3390 simple_object_attributes_compare.
3391
3392 2010-11-12 Joseph Myers <joseph@codesourcery.com>
3393
3394 * Make-lang.in (lto/lto.o): Use $(OPTS_H).
3395 * lto-lang.c (lto_handle_option): Take location_t parameter.
3396
3397 2010-11-10 Joseph Myers <joseph@codesourcery.com>
3398
3399 * lto.c (lto_resolution_read): Start diagnostics with lowercase
3400 letters and remove trailing '.'.
3401 (lto_file_finalize): Start diagnostic with a lowercase letter.
3402
3403 2010-11-02 Ian Lance Taylor <iant@google.com>
3404
3405 * lto-object.c: New file.
3406 * lto-elf.c: Remove file.
3407 * lto-macho.c: Remove file.
3408 * lto-macho.h: Remove file.
3409 * lto-coff.c: Remove file.
3410 * lto-coff.h: Remove file.
3411 * Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
3412 lto/lto-object.o.
3413 ($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
3414 (lto/lto-objfile.o): New target.
3415 (lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
3416 (lto/lto.o): Remove $(LIBIBERTY_H).
3417
3418 2010-10-22 Jan Hubicka <jh@suse.cz>
3419
3420 * lto.c (add_cgraph_node_to_partition,
3421 add_varpool_node_to_partition): Add debug info.
3422 (lto_1_to_1_map, lto_balanced_map): Do not re-add already
3423 partitioned nodes.
3424 (do_whole_program_analysis): Set function flags before dumping.
3425
3426 2010-10-22 Richard Guenther <rguenther@suse.de>
3427
3428 * lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
3429 the new gimple_register_canonical_type.
3430
3431 2010-10-20 H.J. Lu <hongjiu.lu@intel.com>
3432
3433 PR bootstrap/45954
3434 * config-lang.in (boot_language): Set to $enable_lto.
3435
3436 2010-10-18 Jakub Jelinek <jakub@redhat.com>
3437
3438 PR lto/45638
3439 * Make-lang.in (check-lto): New dummy target.
3440
3441 2010-10-14 Eric Botcazou <ebotcazou@adacore.com>
3442
3443 * lto-elf.c (SHN_XINDEX): Define if not already defined.
3444
3445 2010-10-08 Joseph Myers <joseph@codesourcery.com>
3446
3447 * lto-lang.c (lto_init_options): Change to
3448 lto_init_options_struct. Update parameters.
3449 (LANG_HOOKS_INIT_OPTIONS): Don't define.
3450 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
3451
3452 2010-10-06 Jan Hubicka <jh@suse.cz>
3453
3454 * lto.c (lto_balanced_map): Fix accounting of program size.
3455
3456 2010-10-06 Jan Hubicka <jh@suse.cz>
3457
3458 * lto.c (lto_balanced_map): Do not produce empty partitions.
3459
3460 2010-10-06 Andi Kleen <ak@linux.intel.com>
3461
3462 * lto.c (lto_process_name): Add.
3463 (lto_main): Call lto_process_name.
3464
3465 2010-10-06 Jan Hubicka <jh@suse.cz>
3466
3467 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
3468 COMDATs required by the linker.
3469
3470 2010-10-05 Ian Lance Taylor <iant@google.com>
3471
3472 * lto.c (lto_section_with_id): Make s a const pointer.
3473
3474 2010-10-05 Jan Hubicka <jh@suse.cz>
3475
3476 * lto.c: Include params.h.
3477 (add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
3478 refcounting in aux field.
3479 (undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
3480 New functions.
3481 (lto_1_to_1_map): Simplify.
3482 (lto_balanced_map): New function.
3483 (do_whole_program_analysis): Chose proper partitioning alg.
3484 * Make-lang.in (lto.o): Add dependency on params.h
3485
3486 2010-10-04 Andi Kleen <ak@linux.intel.com>
3487
3488 * Make-lang.in (lto1): Add + to build rule.
3489
3490 2010-10-03 Andi Kleen <ak@linux.intel.com>
3491
3492 * lto.c (lto_file_finalize): Replace gcc_assert for missing section
3493 with fatal_error.
3494
3495 2010-09-28 Jan Hubicka <jh@suse.cz>
3496
3497 * lto-lang.c (handle_leaf_attribute): New function.
3498 (lto_attribute_tables): Add leaf.
3499
3500 2010-09-25 Jie Zhang <jie@codesourcery.com>
3501
3502 * lto.c (lto_read_all_file_options): Start a new line after
3503 printing out file names.
3504
3505 2010-09-24 Jan Hubicka <jh@suse.cz>
3506
3507 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
3508
3509 2010-09-20 Jan Hubicka <jh@suse.cz>
3510
3511 PR tree-optimize/45605
3512 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
3513
3514 2010-09-18 Gerald Pfeifer <gerald@pfeifer.com>
3515
3516 * lto-elf.c (lto_obj_file_open): Also provide filename when
3517 elf_begin fails.
3518
3519 2010-09-17 Jan Hubicka <jh@suse.cz>
3520
3521 * lto.c (lto_promote_cross_file_statics): Use const_value_known.
3522
3523 2010-09-17 Richard Guenther <rguenther@suse.de>
3524
3525 * lang.opt (flag_wpa): Also enable for the driver.
3526
3527 2010-09-16 Jan Hubicka <jh@suse.cz>
3528
3529 * lto.c (lto_materialize_function): Do not tamper with STATIC and
3530 EXTERNAL flags.
3531
3532 2010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3533
3534 * lto-tree.h (struct lang_type): Add variable_size GTY option.
3535
3536 2010-09-08 Jan Hubicka <jh@suse.cz>
3537
3538 * lto.c (real_file_count, real_file_decl_data): New static vars.
3539 (read_cgraph_and_symbols): Use it.
3540
3541 2010-09-08 Richard Guenther <rguenther@suse.de>
3542
3543 * lto.c (read_cgraph_and_symbols): Collect again after each
3544 file.
3545
3546 2010-09-07 Jan Hubicka <jh@suse.cz>
3547
3548 * lto.c (promote_var, promote_fn): Set DECL_VISIBILITY_SPECIFIED.
3549
3550 2010-09-03 Richard Guenther <rguenther@suse.de>
3551
3552 * lto-elf.c (validate_file): Always error if validation fails.
3553
3554 2010-08-20 Jan Hubicka <jh@suse.cz>
3555
3556 * lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
3557 (lto_wpa_write_files): Update comments.
3558
3559 2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
3560
3561 PR bootstrap/45357
3562 * lto.c (lto_materialize_function): Replace has_analyzed_clone
3563 with has_analyzed_clone_p.
3564
3565 2010-08-20 Jan Hubicka <jh@suse.cz>
3566
3567 * lto.c (has_analyzed_clone_p): New function
3568 (lto_materialize_function): Use callgraph to determine if
3569 body is needed.
3570 (materialize_cgraph): Remove DECL_IS_BUILTIN check.
3571
3572 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
3573
3574 * lto.c: Use FOR_EACH_VEC_ELT.
3575
3576 2010-07-27 Andi Kleen <ak@linux.intel.com>
3577
3578 * Make-lang.in (lto.o): Add dependency to splay-tree.h
3579
3580 2010-07-27 Joseph Myers <joseph@codesourcery.com>
3581
3582 * lto-lang.c (lto_handle_option): Update prototype and return
3583 value type. Remove duplicate assignment to result.
3584
3585 2010-07-27 Joseph Myers <joseph@codesourcery.com>
3586
3587 * lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
3588 New.
3589 (lto_init_options): Update prototype.
3590 (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
3591 Define.
3592
3593 2010-07-10 Andi Kleen <ak@linux.intel.com>
3594
3595 PR lto/44992
3596 * lto.c: Include splay-tree.h
3597 (lto_resolution_read): Change to walk file_ids tree and parse
3598 extra file_id in resolution file.
3599 (lto_section_with_id): Add.
3600 (create_subid_section_table): Add.
3601 (lwstate): Add.
3602 (lto_create_files_from_ids): Add.
3603 (lto_file_read): Change to handle sub file ids and create list
3604 of file_datas. Add output argument for count.
3605 (get_section_data): Pass file_data to lto_get_section_name.
3606 (lto_flatten_file): Add.
3607 (read_cgraph_and_symbols): Handle linked lists of file_datas.
3608
3609 2010-07-10 Andi Kleen <ak@linux.intel.com>
3610
3611 * lto-coff.c (hash_name, eq_name): Move.
3612 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3613 * lto-elf.c: (hash_name, eq_name): Move.
3614 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3615 * lto-macho.c: (hash_name, eq_name): Move.
3616 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3617 * lto.c: (hash_name, eq_name): Move from lto-*.c
3618 (lto_obj_create_section_hash_table): Add.
3619 (free_with_string): Add.
3620
3621 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3622
3623 * lto-coff.c: Include diagnostic-core.h in every file that
3624 includes toplev.h.
3625 * lto-elf.c: Likewise.
3626 * lto-lang.c: Likewise.
3627 * lto-macho.c: Likewise.
3628
3629 2010-07-07 Jakub Jelinek <jakub@redhat.com>
3630
3631 * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
3632 (validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
3633 objects.
3634
3635 2010-07-05 Jan Hubicka <jh@suse.cz>
3636
3637 * lto.c (add_cgraph_node_to_partition): Forward declare; walk also
3638 nodes from same comdat group as well as all comdat functions referenced
3639 here.
3640 (add_varpool_node_to_partition, add_references_to_partition): New
3641 function.
3642 (lto_1_1_map): Skip COMDAT fnctions/variables; use
3643 add_varpool_node_to_partition; clear aux flags when done.
3644 (lto_promote_cross_file_statics): Do not promote stuff that gets
3645 duplicated to each ltrans.
3646
3647 2010-07-04 Jan Hubicka <jh@suse.cz>
3648
3649 * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
3650
3651 2010-06-13 Richard Guenther <rguenther@suse.de>
3652
3653 * lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
3654
3655 2010-06-09 Kai Tietz <kai.tietz@onevision.com>
3656
3657 * lto.c (lto_resolution_read): Pre-initialize local variable r.
3658 * lto-coff.c (coff_write_object_file): Add braces to if.
3659
3660 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3661
3662 * lto.c (lto_read_in_decl_state): Use typed GC allocation.
3663 (lto_file_read): Likewise.
3664 (new_partition): Likewise.
3665 (read_cgraph_and_symbols): Likewise.
3666
3667 2010-06-07 Joseph Myers <joseph@codesourcery.com>
3668
3669 * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
3670 (lto_handle_option): Don't set flag_signed_char here.
3671
3672 2010-06-04 Richard Guenther <rguenther@suse.de>
3673
3674 PR lto/41584
3675 * lto.c (lto_1_to_1_map): Use the proper file_data for
3676 varpool nodes.
3677
3678 2010-05-30 Jan Hubicka <jh@suse.cz>
3679
3680 * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
3681 partitioning decisions.
3682
3683 2010-05-29 Jan Hubicka <jh@suse.cz>
3684
3685 * lto.c (bitmap vector): Remove.
3686 (lto_cgraph_node_sets, lto_varpool_node_sets): Remove.
3687 (ltrans_partition_def): New structure.
3688 (ltrans_partition): New type and VECtor.
3689 (new_partition): New function.
3690 (add_cgraph_node_to_partition): New function.
3691 (lto_1_to_1_map): Reorganize for partitions.
3692 (lto_add_inline_clones): Remove.
3693 (lto_add_all_inlinees): Remove.
3694 (lto_promote_cross_file_statics): Use partitions.
3695 (cmp_partitions): New function.
3696 (lto_wpa_write_files): Do not call lto_add_all_inlinees;
3697 use partitions; output files sorted by size.
3698
3699 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
3700
3701 * Make-lang.in: Replace vec.h dependency with VEC_H.
3702
3703 2010-05-28 Joseph Myers <joseph@codesourcery.com>
3704
3705 * lto-coff.c (coff_errmsg): Remove.
3706 (lto_coff_begin_section_with_type, lto_obj_append_data): Use %m in
3707 errors instead of coff_errmsg (-1).
3708 * lto-macho.c (mach_o_errmsg): Remove.
3709 (lto_obj_begin_section, lto_obj_append_data): Use %m in errors
3710 instead of mach_o_errmsg (-1).
3711 * lto.c (read_cgraph_and_symbols): Use %m in errors instead of
3712 xstrerror (errno).
3713
3714 2010-05-28 Richard Guenther <rguenther@suse.de>
3715
3716 * lto.c (prefix_name_with_star): Removed.
3717 (strip_extension): Likewise.
3718 (get_filename_for_set): Likewise.
3719 (lto_write_ltrans_list): Fold into ...
3720 (lto_wpa_write_files): ... this. Name LTRANS units
3721 by suffixing the ltrans output list filename.
3722 (do_whole_program_analysis): Adjust.
3723
3724 2010-05-27 Joseph Myers <joseph@codesourcery.com>
3725
3726 * lto.c: Include diagnostic-core.h instead of diagnostic.h.
3727 (read_cgraph_and_symbols, lto_main): Use seen_error.
3728 * Make-lang.in (lto/lto.o): Update dependencies.
3729
3730 2010-05-27 Eric Botcazou <ebotcazou@adacore.com>
3731
3732 PR lto/44230
3733 * lto.h (lto_eh_personality): New prototype.
3734 * lto.c: Include debug.h.
3735 (first_personality_decl): New static variable.
3736 (lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
3737 first function for which it is non-null.
3738 (lto_eh_personality_decl): New static variable.
3739 (lto_eh_personality): New function.
3740 * lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
3741 * Make-lang.in (lto/lto.o): Add dependency on debug.h.
3742
3743 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
3744
3745 * lto-lang.c: Do not include expr.h.
3746
3747 2010-05-24 Richard Guenther <rguenther@suse.de>
3748
3749 * lto-elf.c (lto_obj_build_section_table): Work around
3750 FreeBSD libelf issue.
3751
3752 2010-05-22 Richard Guenther <rguenther@suse.de>
3753
3754 * lto.c (read_cgraph_and_symbols): Do not collect.
3755
3756 2010-05-20 Jan Hubicka <jh@suse.cz>
3757
3758 * lto.c (promote_var, promote_fn): New functions.
3759 (lto_promote_cross_file_statics): Compute correctly boundary including
3760 static initializers of readonly vars.
3761
3762 2010-05-18 Jan Hubicka <jh@suse.cz>
3763
3764 * lto.c (lto_1_to_1_map): Partition non-inline clones.
3765 (lto_promote_cross_file_statics): Deal with non-inline clones.
3766
3767 2010-05-18 Jan Hubicka <jh@suse.cz>
3768
3769 * lto.c (lto_materialize_function): Announce function when
3770 reading body; allocate_struct_function only when reading body;
3771 do not finalize local statics; ggc_collect after reading;
3772 do not mark reachable node.
3773 (materialize_cgraph): Do not announce function.
3774
3775 2010-05-11 Jan Hubicka <jh@suse.cz>
3776
3777 * lto.c (materialize_cgraph): Revert my previous patch.
3778
3779 2010-05-11 Kai Tietz <kai.tietz@onevision.com>
3780
3781 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
3782 IMAGE_FILE_MACHINE_AMD64.
3783 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
3784
3785 2010-05-11 Jan Hubicka <jh@suse.cz>
3786
3787 * lto.c (lto_fixup_decls): Remove global var decls freeing here.
3788 (materialize_cgraph): Add it here.
3789
3790 2010-05-11 Jan Hubicka <jh@suse.cz>
3791
3792 * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
3793 vector.
3794
3795 2010-05-11 Jan Hubicka <jh@suse.cz>
3796
3797 * lto.c (lto_1_to_1_map): Remove some no longer needed checks.
3798 (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
3799 use reachable_from_other_partition_p and
3800 referenced_from_other_partition_p test.
3801
3802 2010-05-11 Kai Tietz <kai.tietz@onevision.com>
3803
3804 * lto-coff.c (validate_file): Add x64-coff support.
3805 * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
3806 (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
3807 * lto-lang.c (lto_build_c_type_nodes): Add check for
3808 'long long unsigned int' for x64-windows.
3809 (lto_init): Likewise.
3810
3811 2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
3812
3813 * lto.h (struct lto_file_struct): Document offset member.
3814 * lto-endian.h: New file.
3815 * lto-macho.h: New file.
3816 * lto-macho.c: New file.
3817 * Make-lang.in: Add rule for lto-macho.o.
3818
3819 2010-05-07 Richard Guenther <rguenther@suse.de>
3820
3821 PR lto/43857
3822 PR lto/43371
3823 * lang.opt (fresolution): Change to ...
3824 (fresolution=): ... this.
3825 * lto-lang.c (lto_handle_option): Adjust.
3826
3827 2010-05-07 Richard Guenther <rguenther@suse.de>
3828
3829 * lto.c (DUMPBASE_SUFFIX): Remove.
3830 (lto_execute_ltrans): Move functionality to lto-wrapper.c.
3831 Rename to ...
3832 (lto_write_ltrans_list): ... only output the list of ltrans files.
3833 (lto_maybe_unlink): Remove.
3834 (do_whole_program_analysis): Do not execute LTRANS phase
3835 from here.
3836
3837 2010-05-06 H.J. Lu <hongjiu.lu@intel.com>
3838
3839 * lto-lang.c (lto_handle_option): Add argument kind.
3840
3841 2010-05-05 Jan Hubicka <jh@suse.cz>
3842
3843 * lto.c (lto_promote_cross_file_statics): Compute boundary based on
3844 refs.
3845
3846 2010-05-05 Jan Hubicka <jh@suse.cz>
3847
3848 * lto.c (lto_1_to_1_map): Partition only needed nodes.
3849
3850 2010-04-30 Jan Hubicka <jh@suse.cz>
3851
3852 * lto.c (get_filename_for_set): Look for cgraph node and if none found,
3853 use default name.
3854 (lto_wpa_write_files): Write any non-empty partition.
3855
3856 2010-04-30 Jan Hubicka <jh@suse.cz>
3857
3858 * lto.c: Do not attempt to make constant pool references global.
3859
3860 2010-04-28 Jan Hubicka <jh@suse.cz>
3861
3862 * lto.c (lto_read_in_decl_state): Use GGC.
3863 (lto_wpa_write_files): Announce what we are writting.
3864 (all_file_decl_data): New.
3865 (read_cgraph_and_symbols): Use GGC; correct timevars.
3866 (do_whole_program_analysis): Collect.
3867 * Make-lang.in (lto.o): Fix dependency.
3868 * Makefile.in (GTFILES): Add lto-streamer.h.
3869 * varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
3870 (varpool_assemble_pending_decls): Use VAROUT.
3871 * lto-streamer.h (lto_tree_ref_table): Annotate.
3872 (lto_in_decl_state): Annotate.
3873 (lto_file_decl_data): Annotate.
3874
3875 2010-04-28 Jan Hubicka <jh@suse.cz>
3876
3877 * lto.c (lto_varpool_node_sets): New.
3878 (lto_1_to_1_map): Partition varpool too.
3879 (globalize_context_t, globalize_cross_file_statics,
3880 lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
3881 lto_scan_statics_in_remaining_global_vars): Remove.
3882 (lto_promote_cross_file_statics): Rewrite.
3883 (get_filename_for_set): Take vset argument.
3884 (lto_wpa_write_files): Pass around vsets.
3885
3886 2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
3887
3888 PR lto/42776
3889 * Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
3890 hardcoding 'lto-elf.o'.
3891 ($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.
3892
3893 * lto-coff.h: New file.
3894 * lto-coff.c: Likewise.
3895
3896 2010-04-26 Richard Guenther <rguenther@suse.de>
3897
3898 * lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
3899
3900 2010-04-26 Dave Korn <dave.korn.cygwin@gmail.com>
3901
3902 * lto.h (lto_elf_file_open): Rename prototype from this ...
3903 (lto_obj_file_open): ... to this.
3904 (lto_elf_file_close): Likewise ...
3905 (lto_obj_file_close): ... and likewise.
3906 (lto_elf_build_section_table): Likewise ...
3907 (lto_obj_build_section_table): ... and likewise.
3908 (lto_elf_begin_section): Likewise ...
3909 (lto_obj_begin_section): ... and likewise.
3910 (lto_elf_append_data): Likewise ...
3911 (lto_obj_append_data): ... and likewise.
3912 (lto_elf_end_section): Likewise ...
3913 (lto_obj_end_section): ... and likewise.
3914 * lto.c (lto_file_read): Update references to the above.
3915 (lto_wpa_write_files): Likewise.
3916 (lto_read_all_file_options): Likewise.
3917 (read_cgraph_and_symbols): Likewise.
3918 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
3919 (LANG_HOOKS_APPEND_DATA): Likewise.
3920 (LANG_HOOKS_END_SECTION): Likewise.
3921 * lto-elf.c (lto_elf_file_open): Rename from this ...
3922 (lto_obj_file_open): ... to this, updating any references.
3923 (lto_elf_file_close): Likewise ...
3924 (lto_obj_file_close): ... and likewise.
3925 (lto_elf_build_section_table): Likewise ...
3926 (lto_obj_build_section_table): ... and likewise.
3927 (lto_elf_begin_section): Likewise ...
3928 (lto_obj_begin_section): ... and likewise.
3929 (lto_elf_append_data): Likewise ...
3930 (lto_obj_append_data): ... and likewise.
3931 (lto_elf_end_section): Likewise ...
3932 (lto_obj_end_section): ... and likewise.
3933
3934 2010-04-21 Jan Hubicka <jh@suse.cz>
3935
3936 * lto.c (lto_fixup_tree): Do not call wpa fixup.
3937 (materialize_cgraph): Likewise.
3938
3939 2010-04-21 Jan Hubicka <jh@suse.cz>
3940
3941 * lto.c (lto_wpa_write_files): Update.
3942 (read_cgraph_and_symbols): Be more verbose.
3943 (materialize_cgraph): Likewise.
3944 (do_whole_program_analysis): Likewise.
3945
3946 2010-04-21 Jan Hubicka <jh@suse.cz>
3947
3948 * lto.c (globalize_cross_file_statics): When function has address taken,
3949 it needs to be public.
3950
3951 2010-04-20 Jan Hubicka <jh@suse.cz>
3952
3953 * lto.c (lto_add_inline_clones): Do not track inlined_decls.
3954 (lto_add_all_inlinees): Likewise.
3955 (lto_wpa_write_files): Likewise.
3956
3957 2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
3958
3959 * lto-lang.c (lto_init): Remove second argument in call to
3960 build_common_tree_nodes.
3961
3962 2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3963
3964 * lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
3965 function.
3966
3967 2010-03-09 Eric Botcazou <ebotcazou@adacore.com>
3968
3969 PR bootstrap/43276
3970 * lto-elf.c: Define EM_* constants if not already defined.
3971
3972 2010-03-03 Eric Botcazou <ebotcazou@adacore.com>
3973
3974 * lto-elf.c (is_compatible_architecture): New static function.
3975 (DEFINE_VALIDATE_EHDR): Use it to validate the architecture.
3976
3977 2010-02-11 Richard Guenther <rguenther@suse.de>
3978
3979 PR driver/43021
3980 * lto-elf.c (lto_elf_file_open): Handle file@offset case more
3981 appropriately.
3982
3983 2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
3984
3985 * lto.c (O_BINARY): Define.
3986 (lto_read_section_data): Open file in binary mode.
3987 * lto-elf.c (O_BINARY): Define.
3988 (lto_elf_file_open): Open file in binary mode.
3989
3990 2010-01-08 Richard Guenther <rguenther@suse.de>
3991
3992 PR lto/42528
3993 * lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
3994 (lto_init): Do not init char_type_node in a standard way
3995 but according to flag_signed_char.
3996
3997 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
3998
3999 PR lto/41564
4000 * lto.c (DUMPBASE_SUFFIX): New.
4001 (lto_execute_ltrans): Append a sequence number to -dumpbase
4002 for LTRANS.
4003
4004 2010-01-02 H.J. Lu <hongjiu.lu@intel.com>
4005
4006 PR lto/42580
4007 * lto-elf.c (lto_elf_file_open): Stop if the command line
4008 option file is missing.
4009
4010 2009-12-15 Richard Guenther <rguenther@suse.de>
4011
4012 * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
4013 (lto_post_options): Do not disable debuginfo.
4014
4015 2009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
4016
4017 * Make-lang.in ($(LTO_EXE)): Use $(LINKER).
4018
4019 2009-12-11 Richard Guenther <rguenther@suse.de>
4020
4021 PR lto/42037
4022 * lto.c (lto_resolution_read): Properly grow the vector.
4023
4024 2009-12-11 Richard Guenther <rguenther@suse.de>
4025
4026 PR lto/41915
4027 * lto-lang.c (lto_init_options): Initialize flag_complex_method
4028 to the C99 default. Do not set flag_unit_at_a_time.
4029
4030 2009-11-28 Jakub Jelinek <jakub@redhat.com>
4031
4032 * lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
4033 variable.
4034
4035 2009-11-19 Rafael Avila de Espindola <espindola@google.com>
4036
4037 PR bootstrap/42096
4038 * lto-elf.c (lto_elf_file_open): Use lto_parse_hex.
4039 * lto.c (lto_parse_hex): New.
4040 (lto_resolution_read): Use lto_parse_hex.
4041 * lto.h (lto_parse_hex): New.
4042
4043 2009-11-17 Rafael Avila de Espindola <espindola@google.com>
4044
4045 * lto-elf.c (lto_file_init): Add offset argument.
4046 (lto_elf_file_open): Record the offset.
4047 * lto.c (lto_resolution_read): Change file_name into a lto_file
4048 argument. Check offsets.
4049 (lto_file_read): Update call to lto_resolution_read.
4050 * lto.h (lto_file_struct): Add the offset field.
4051
4052 2009-11-16 Rafael Avila de Espindola <espindola@google.com>
4053
4054 * lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.
4055
4056 2009-11-14 Jan Hubicka <jh@suse.cz>
4057
4058 * lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
4059
4060 2009-11-12 Rafael Avila de Espindola <espindola@google.com>
4061
4062 * lang.opt (fresolution): Renamed from resolution.
4063 * lto-lang.c (lto_handle_option): Handle new option name.
4064 * lto.c (lto_resolution_read): Add more checks. Discard rest of line.
4065
4066 2009-11-04 Richard Guenther <rguenther@suse.de>
4067 Rafael Avila de Espindola <espindola@google.com>
4068
4069 * lto-elf.c (lto_elf_build_section_table): Add the base offset.
4070 (lto_elf_file_open): Handle offsets in arguments name@offest.
4071
4072 2009-10-30 Richard Guenther <rguenther@suse.de>
4073
4074 PR lto/41858
4075 * lto.c (lto_file_read): Do not set file_data->fd.
4076 (lto_read_section_data): Use a single-entry file-descriptor cache.
4077 Do not check the result of xmalloc.
4078 (free_section_data): Do not use file_data->fd.
4079 (lto_read_all_file_options): Likewise.
4080
4081 2009-10-22 Richard Guenther <rguenther@suse.de>
4082
4083 * lto.c (lto_fixup_jump_functions): Remove.
4084 (lto_fixup_decls): Do not fixup jump functions.
4085 (read_cgraph_and_symbols): Schedule cgraph merging after
4086 summary reading. Schedule type and decl fixup before
4087 summary reading.
4088
4089 2009-10-22 Richard Guenther <rguenther@suse.de>
4090
4091 * lto.c (lto_fixup_data_t): Remove free_list member.
4092 (lto_fixup_tree): Do not insert into free_list.
4093 (free_decl): Remove.
4094 (lto_fixup_decls): Remove free-list handling.
4095
4096 2009-10-22 Jan Hubicka <jh@suse.cz>
4097
4098 * lto.c (lto_fixup_jump_functions): New function.
4099 (lto_fixup_decls): Use it.
4100
4101 2009-10-16 Richard Guenther <rguenther@suse.de>
4102
4103 PR lto/41715
4104 * lto.c (lto_fixup_tree): Revert last change.
4105
4106 2009-10-14 Richard Guenther <rguenther@suse.de>
4107
4108 * lto.c (lto_fixup_tree): In case the prevailing decl is not
4109 compatible with the one we replace wrap it around a
4110 VIEW_CONVERT_EXPR.
4111
4112 2009-10-09 Richard Guenther <rguenther@suse.de>
4113
4114 PR lto/41635
4115 PR lto/41636
4116 * lto.c (read_cgraph_and_symbols): Do not assert we can open
4117 a file.
4118 * lto-elf.c (init_shdr##BITS): Fix i18n problems.
4119 (init_ehdr##BITS): Likewise.
4120
4121 2009-10-08 Joseph Myers <joseph@codesourcery.com>
4122
4123 * lto-elf.c (init_shdr##BITS, lto_elf_begin_section_with_type,
4124 init_ehdr##BITS, lto_elf_file_close): Remove trailing "." from
4125 diagnostics.
4126 * lto-lang.c (lto_post_options): Remove trailing "." from
4127 diagnostics.
4128
4129 2009-10-08 Richard Guenther <rguenther@suse.de>
4130
4131 * lto.c (read_cgraph_and_symbols): Free the gimple type merging
4132 hash tables.
4133
4134 2009-10-07 Joseph Myers <joseph@codesourcery.com>
4135
4136 * lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
4137
4138 2009-10-07 Jan Hubicka <jh@suse.cz>
4139
4140 * lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
4141 ltrans stage; explain why this is needed and should not.
4142
4143 2009-10-05 Richard Guenther <rguenther@suse.de>
4144
4145 PR lto/41552
4146 PR lto/41487
4147 * lto.c (lto_read_decls): Do not register deferred decls.
4148 (read_cgraph_and_symbols): Delay symbol and cgraph merging
4149 until after reading the IPA summaries.
4150
4151 2009-10-02 Rafael Avila de Espindola <espindola@google.com>
4152
4153 * Make-lang.in (lto/lto-lang.o): Don't depend on lto/common.h.
4154 (lto-lang.c): Don't include lto/common.h.
4155
4156 2009-10-02 Rafael Avila de Espindola <espindola@google.com>
4157
4158 * Make-lang.in (LTO_OBJS): Remove lto/common.o.
4159 (lto/common.o): Remove.
4160 * common.c: Remove.
4161 * common.h (lto_kind_str): Remove.
4162 (lto_visibility_str): Remove.
4163 (lto_resolution_str): Make it static.
4164
4165 2009-10-01 Diego Novillo <dnovillo@google.com>
4166
4167 * lto.c (lto_read_decls): Add comment.
4168 Call internal_error instead of gcc_assert.
4169 (lto_resolution_read): Likewise.
4170 (lto_add_all_inlinees): Tidy.
4171 * Make-lang.in: Fix copyright boilerplate.
4172 (lto.pdf): New.
4173 (lto.install-pdf): New.
4174 * lto-tree.h: Fix copyright boilerplate.
4175 * lang-specs.h: Likewise.
4176 Remove ".lto" entry from compilers fragment.
4177 * lto-elf.c: Move inclusion of gelf.h after config.h.
4178 Tidy formatting everywhere.
4179 * lto.h: Fix copyright boilerplate.
4180 Tidy formatting everywhere.
4181 * common.c: Likewise.
4182 * config-lang.in: Likewise.
4183 * common.h: Likewise.
4184 * lto-lang.c: Likewise.
4185
4186 2009-10-01 Richard Guenther <rguenther@suse.de>
4187
4188 * lto.c (lto_read_section_data): Use plain lseek/read.
4189
4190 2009-10-01 Richard Guenther <rguenther@suse.de>
4191
4192 * lto.c (LTO_MMAP_IO): Define if we can mmap files and
4193 use sysconf to query the system page size.
4194 (lto_file_read): Implement fallback using stdio.
4195 (free_section_data): Likewise.
4196
4197 2009-09-29 Diego Novillo <dnovillo@google.com>
4198
4199 * lto-lang.c (lto_init): Really fix call to
4200 build_common_builtin_nodes.
4201
4202 2009-09-29 Diego Novillo <dnovillo@google.com>
4203
4204 * lto-lang.c (lto_init): Fix call to
4205 build_common_builtin_nodes.
4206
4207 2009-09-29 Richard Guenther <rguenther@suse.de>
4208
4209 PR lto/40754
4210 * lto-elf.c (init_shdr##BITS): Properly specify alignment
4211 in bytes.
4212 (first_data_block): New static variable.
4213 (lto_elf_append_data): Align the first data block in each
4214 section.
4215
4216 2009-09-28 Diego Novillo <dnovillo@google.com>
4217
4218 * lto-lang.c: Tidy. Remove stale FIXME lto markers.
4219 * lto.c (strip_extension): New.
4220 (get_filename_for_set): Call it. Do not call make_cwd_temp_file.
4221 (lto_execute_ltrans): Tidy.
4222 Do not pass -fwpa nor -fltrans-* to LTRANS.
4223 * opts.c: Tidy formatting and remove stale FIXME lto markers.
4224 * tree.c (need_assembler_name_p): Call
4225 lang_hooks.decls.may_need_assembler_name_p if set.
4226 * varasm.c (default_binds_local_p_1): Remove check for
4227 flag_ltrans.
4228 * varpool.c (decide_is_variable_needed): Do not test for
4229 in_lto_p.
4230
4231 2009-09-22 Richard Guenther <rguenther@suse.de>
4232
4233 PR lto/39276
4234 * lto.c (lto_execute_ltrans): Perform ltrans phase manually.
4235 * Make-lang.in: Remove ltrans-driver stuff.
4236 * config-lang.in: Likewise.
4237 * lang.opt (fltrans-driver): Remove.
4238 * lto-lang.c (lto_init_options): Remove code initializing
4239 ltrans_driver.
4240 * ltrans-driver: Remove.
4241
4242 2009-09-21 Diego Novillo <dnovillo@google.com>
4243
4244 * lto-lang.c (lto_define_builtins): Remove superfluous
4245 calls to targetm.init_builtins and build_common_builtin_nodes.
4246 (lto_init): Add targetm.arm_eabi_unwinder as parameter to
4247 build_common_builtin_nodes.
4248 * lto.c (lto_materialize_function): Do nothing if NODE is a
4249 clone.
4250
4251 2009-09-03 Diego Novillo <dnovillo@google.com>
4252
4253 * lto-elf.c (validate_file): Replace call to
4254 elf_getshstrndx with call to elf_getshdrstrndx.
4255
4256 2009-08-19 Richard Guenther <rguenther@suse.de>
4257
4258 * lto-lang.c (lto_init): Merge char_type_node with the
4259 appropriately signed variant.
4260
4261 2009-08-19 Richard Guenther <rguenther@suse.de>
4262
4263 PR lto/41071
4264 * lto.c (lto_fixup_common): Re-build the pointer-to chain part one.
4265 (lto_fixup_type): Re-build the pointer-to chain part two.
4266
4267 2009-08-19 Richard Guenther <rguenther@suse.de>
4268
4269 PR lto/41071
4270 * lto.c (lto_fixup_type): Re-build the type variant chain.
4271
4272 2009-08-19 Richard Guenther <rguenther@suse.de>
4273
4274 PR lto/41071
4275 * lto.c (lto_fixup_constructor): New function.
4276 (lto_fixup_tree): Replace all types. Properly fixup
4277 constructors and constants.
4278
4279 2009-08-14 Richard Guenther <rguenther@suse.de>
4280
4281 * lto.c (read_cgraph_and_symbols): Exchange TREE_CHAIN use
4282 for DECL_LANG_SPECIFIC.
4283
4284 2009-08-13 Richard Guenther <rguenther@suse.de>
4285
4286 PR lto/41032
4287 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define to NULL.
4288
4289 2009-07-30 Richard Guenther <rguenther@suse.de>
4290
4291 PR lto/40903
4292 * lto.c (read_cgraph_and_symbols): After fixing up decls choose
4293 the largest decl for output and free TREE_CHAIN for further
4294 use.
4295
4296 2009-07-24 Diego Novillo <dnovillo@google.com>
4297
4298 * Make-lang.in: Add empty lto.install-plugin target.
4299
4300 2009-07-13 Diego Novillo <dnovillo@google.com>
4301
4302 * lto.c (lto_fixup_tree): Handle IMPORTED_DECL.
4303
4304 2009-07-11 Richard Guenther <rguenther@suse.de>
4305
4306 * lto-lang.c (lto_write_globals): Wrapup global decls.
4307
4308 2009-07-10 Richard Guenther <rguenther@suse.de>
4309
4310 * lto-lang.c (lto_init): Allocate one more location to make
4311 BUILTINS_LOCATION correct.
4312
4313 2009-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4314
4315 * lto.c (free_section_data): Cast computed_offset to caddr_t.
4316
4317 2009-07-06 Diego Novillo <dnovillo@google.com>
4318
4319 * lto.c (lto_fixup_type): Fixup TYPE_SIZE and
4320 TYPE_SIZE_UNIT.
4321
4322 2009-07-06 Diego Novillo <dnovillo@google.com>
4323
4324 * lto.c (preload_common_nodes): Remove.
4325 (lto_read_in_decl_state): Call lto_streamer_cache_get.
4326 (lto_read_decls): Call lto_data_in_create and
4327 lto_data_in_delete.
4328 (free_decl): Do not call ggc_free.
4329 (lto_main): Call lto_init_reader.
4330 * lto-lang.c (lto_type_for_size): Handle intTI_type_node.
4331 (lto_init): Initialize main_identifier_node if needed.
4332 Make ptrdiff_type_node be integer_type_node.
4333
4334 2009-06-19 Diego Novillo <dnovillo@google.com>
4335
4336 * lto.c: Remove code guarded by #ifdef LTO_STREAM_DEBUGGING.
4337 Remove code guarded by #ifdef GLOBAL_STREAMER_TRACE.
4338 Remove code guarded by #ifdef LOCAL_TRACE.
4339
4340 2009-06-18 Diego Novillo <dnovillo@google.com>
4341
4342 * lto.c: Update license to GPLv3.
4343 * lto-elf.c: Likewise.
4344 * common.c: Likewise.
4345 * lto-lang.c: Likewise.
4346 * lto.h: Remove superfluous include files. Update all
4347 users.
4348
4349 2009-06-17 Diego Novillo <dnovillo@google.com>
4350
4351 * lto.c (read_cgraph_and_symbols): Call input_cgraph.
4352
4353 2009-06-02 Diego Novillo <dnovillo@google.com>
4354
4355 * lto.c (lto_1_to_1_map): Ignore nodes that have not been
4356 read in.
4357 (materialize_cgraph): Only materialize nodes that have a
4358 representation on file.
4359
4360 2009-06-01 Diego Novillo <dnovillo@google.com>
4361
4362 * lto-lang.c (lto_handle_option): Hanlde OPT_Wabi.
4363
4364 2009-05-31 Diego Novillo <dnovillo@google.com>
4365
4366 * lto-lang.c (lto_type_for_mode): Handle all the modes
4367 handled in c_common_type_for_mode.
4368
4369 2009-05-21 Diego Novillo <dnovillo@google.com>
4370
4371 * lto-elf.c: Always include <gelf.h>.
4372 * config-lang.in (target_libs): Remove.
4373 (build_by_default): Set to no.
4374
4375 2009-05-15 Diego Novillo <dnovillo@google.com>
4376
4377 * lto.c (lto_materialize_function): Assert that DECL is
4378 not a builtin.
4379 (materialize_cgraph): Don't try to materialize builtin
4380 functions.
4381 * lto-section-out.c (write_symbol_vec): Do not write
4382 builtin functions.
4383
4384 2009-05-13 Diego Novillo <dnovillo@google.com>
4385
4386 * lto-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define.
4387
4388 2009-05-07 Diego Novillo <dnovillo@google.com>
4389
4390 * lto.c (lto_resolution_read): Add type casts for C++ warnings.
4391 (LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE): Define.
4392 (lto_fixup_type): Call it for TYPE_POINTER_TO,
4393 TYPE_REFERENCE_TO, TYPE_CONTEXT and TYPE_CANONICAL.
4394 (lto_fixup_tree): Call gimple_register_type when *TP is a
4395 type.
4396 (lto_main): Call bitmap_obstack_initialize.
4397
4398 2009-04-22 Diego Novillo <dnovillo@google.com>
4399
4400 * lto.c (free_section_data): Tidy.
4401 (lto_1_to_1_map): Tidy.
4402 (lto_add_all_inlinees): Tidy.
4403 (prefix_name_with_star): New.
4404 (get_filename_for_set): New.
4405 (lto_wpa_write_files): Call cgraph_node_set_needs_ltrans_p
4406 to determine what cgraph node sets to write.
4407 Call get_filename_for_set to compute temporary file
4408 names.
4409 (lto_execute_ltrans): Do not execute LTRANS on files with
4410 names that start with '*'.
4411 Move logic to execute LTRANS together so that LTRANS is
4412 invoked only if there are any files to compile.
4413 (do_whole_program_analysis): Only remove output files
4414 that do not start with '*'.
4415
4416 2009-04-06 Diego Novillo <dnovillo@google.com>
4417
4418 * lto-lang.c (lto_post_options): Set flag_excess_precision_cmdline.
4419 * lto.c (read_cgraph_and_symbols): Set cgraph_function_flags_ready.
4420 (lto_add_all_inlinees): Tidy.
4421
4422 2009-03-26 Diego Novillo <dnovillo@google.com>
4423
4424 * lto.c: Include gimple.h.
4425 (lto_read_in_decl_state): Call gimple_register_type for
4426 every type in every stream.
4427 (lto_fixup_common): Call gimple_register_type if T has a
4428 type.
4429 (do_whole_program_analysis): Call print_lto_report.
4430 (lto_main): Call print_lto_report after cgraph_optimize.
4431 * Make-lang.in (lto.o): Add dependency on GIMPLE_H.
4432
4433 2009-03-24 Diego Novillo <dnovillo@google.com>
4434
4435 * Make-lang.in (lto-lang.o): Add dependency on TARGET_H and EXPR_H.
4436 (lto.o): Add dependency on GIMPLE_H.
4437
4438 2009-03-10 Simon Baldwin <simonb@google.com>
4439
4440 * lto.c (lto_read_all_file_options): Close any open file descriptor
4441 contained in file_data before freeing.
4442
4443 2009-02-24 Rafael Avila de Espindola <espindola@google.com>
4444
4445 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
4446 for a decl in the original bitmap, not a node.
4447 (lto_add_all_inlinees): Remove original nodes that are not needed.
4448 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
4449
4450 2009-02-24 Diego Novillo <dnovillo@google.com>
4451
4452 * lto.c (lto_materialize_function): Update
4453 lto_stats.num_function_bodies.
4454 (get_section_data): Initialize *LEN to 0.
4455 (lto_1_to_1_map): Update lto_stats.num_cgraph_partitions.
4456 (lto_wpa_write_files): Update lto_stats.num_cgraph_nodes.
4457 Update lto_stats.num_output_files.
4458 (read_cgraph_and_symbols): Update lto_stats.num_input_files.
4459 (materialize_cgraph): Update lto_stats.num_input_cgraph_nodes.
4460 (lto_main): Initialize lto_stats.
4461 If flag_lto_report is set, call print_lto_report.
4462
4463 2009-02-19 Diego Novillo <dnovillo@google.com>
4464
4465 Revert
4466
4467 2009-02-19 Rafael Avila de Espindola <espindola@google.com>
4468
4469 * lto.c (lto_add_inline_clones): Don't add the
4470 master clone. Check for a decl in the original
4471 bitmap, not a node.
4472 (lto_add_all_inlinees): Remove original nodes
4473 that are not needed.
4474 (lto_scan_statics_in_cgraph_node): Don't care if
4475 the node is the master.
4476 (lto_promote_cross_file_statics): Use a new
4477 context.seen_node_decls for each set
4478
4479 2009-02-19 Rafael Avila de Espindola <espindola@google.com>
4480
4481 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
4482 for a decl in the original bitmap, not a node.
4483 (lto_add_all_inlinees): Remove original nodes that are not needed.
4484 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
4485 (lto_promote_cross_file_statics): Use a new context.seen_node_decls
4486 for each set
4487
4488 2009-02-18 Diego Novillo <dnovillo@google.com>
4489
4490 * lto.c (lto_wpa_write_files): Use timers TV_WHOPR_WPA
4491 and TV_WHOPR_WPA_IO.
4492 (lto_execute_ltrans): Use timer TV_WHOPR_WPA_LTRANS_EXEC.
4493 (read_cgraph_and_symbols): Use timer TV_IPA_LTO_DECL_IO.
4494 (materialize_cgraph): Use timer TV_IPA_LTO_GIMPLE_IO.
4495 Use timer TV_WHOPR_WPA or TV_WHOPR_LTRANS or TV_LTO
4496 depending on command line flags.
4497 (do_whole_program_analysis): Use timer TV_WHOPR_WPA.
4498 (lto_main): Remove timer uses.
4499
4500 2009-02-18 Rafael Avila de Espindola <espindola@google.com>
4501
4502 * lto.c (lto_materialize_function): Don't set DECL_EXTERN to 0.
4503 (lto_wpa_write_files): Update calls to renamed functions.
4504
4505 2009-02-17 Diego Novillo <dnovillo@google.com>
4506
4507 PR 39203
4508 * lto-lang.c (lto_post_options): Disable -fwhole-program
4509 when running LTRANS.
4510
4511 2009-02-10 Diego Novillo <dnovillo@google.com>
4512
4513 * lto.c (read_cgraph_and_symbols): Fix comment.
4514
4515 2009-02-10 Diego Novillo <dnovillo@google.com>
4516
4517 * lto.c (read_cgraph_and_symbols): Read options from all
4518 IL files.
4519
4520 2009-02-10 Diego Novillo <dnovillo@google.com>
4521
4522 * lto.c (read_cgraph_and_symbols): Factor out of lto_main.
4523 (materialize_cgraph): Likewise.
4524 (do_whole_program_analysis): Likewise.
4525 (lto_main): Call read_cgraph_and_symbols,
4526 materialize_cgraph and do_whole_program_analysis.
4527
4528 2009-02-10 Simon Baldwin <simonb@google.com>
4529
4530 * lto.c: Include lto-opts.h.
4531 * (lto_main): Clear file options at loop start, read any saved
4532 options from the first file handled, and re-issue options.
4533 * Makefile.in (lto.o): Add dependency on lto-opts.h.
4534
4535 2009-02-02 Diego Novillo <dnovillo@google.com>
4536
4537 * lto.c (lto_main): Stop LTO_TIMER and use
4538 TV_WHOPR_WPA_LTRANS_EXEC when launching LTRANS.
4539
4540 2009-01-30 H.J. Lu <hongjiu.lu@intel.com>
4541
4542 PR lto/38995
4543 * lto-elf.c (init_shdr##BITS): Set the sh_addralign field
4544 to POINTER_SIZE.
4545
4546 2009-01-29 Ramana Radhakrishnan <ramana.r@gmail.com>
4547
4548 * Make-lang.in (LTO_EXE): Link with all
4549 BACKENDLIBS and not only GMPLIBS
4550
4551 2009-01-28 H.J. Lu <hongjiu.lu@intel.com>
4552
4553 PR bootstrap/38992
4554 * lto-elf.c: Include gelf.h instead of libelf.h.
4555 (lto_elf_file_close): Replace elfx_update_shstrndx with
4556 gelf_getehdr, elf_getscn, gelf_getshdr, gelf_update_shdr and
4557 gelf_update_ehdr.
4558
4559 2009-01-28 H.J. Lu <hongjiu.lu@intel.com>
4560
4561 PR middle-end/38996
4562 * lto-elf.c (DEFINE_INIT_EHDR): Initialize e_version.
4563
4564 2009-01-26 Diego Novillo <dnovillo@google.com>
4565
4566 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Update.
4567
4568 2009-01-26 Diego Novillo <dnovillo@google.com>
4569
4570 * lto-lang.c (lto_types_compatible_p): Move to gimple.c
4571 and rename into gimple_types_compatible_p.
4572
4573 2009-01-12 Rafael Avila de Espindola <espindola@google.com>
4574
4575 * lto-lang.c (lang_hooks): Remove the const qualifier.
4576
4577 2009-01-06 Diego Novillo <dnovillo@google.com>
4578
4579 * ltrans-driver: Mark 'all' target as phony.
4580
4581 2008-12-31 Diego Novillo <dnovillo@google.com>
4582
4583 * ltrans-driver: Execute a NOP action for target 'all'.
4584
4585 2008-12-19 Diego Novillo <dnovillo@google.com>
4586
4587 * lto.c (lto_1_to_1_map): Tidy.
4588
4589 2008-12-19 Diego Novillo <dnovillo@google.com>
4590
4591 * lto-elf.c (lto_elf_file_open): When FILENAME cannot
4592 be opened, show its name.
4593 * ltrans-driver: If $verbose is set, do not use parallelism.
4594
4595 2008-12-17 Rafael Avila de Espindola <espindola@google.com>
4596
4597 * lto.c (lto_fixup_function): New.
4598 (lto_fixup_tree): Call lto_fixup_function.
4599
4600 2008-12-14 Doug Kwan <dougkwan@google.com>
4601
4602 * lto.c (lto_1_to_1_map): Create a cgraph node set for any global
4603 variables if there is no function.
4604
4605 2008-12-10 Simon Baldwin <simonb@google.com>
4606
4607 * ltrans-driver: Always run make in silent mode, to avoid make's
4608 trace on stdout interfering with lto-wrapper output.
4609
4610 2008-12-10 Doug Kwan <dougkwan@google.com>
4611
4612 * lto.c (lto_add_inline_clones): Do not force master clones of
4613 inlined functions already in SET to be static inline.
4614
4615 2008-12-04 Doug Kwan <dougkwan@google.com>
4616
4617 * lto.c (globalize_context_t): New type to store states in
4618 globalization of cross-file statics.
4619 (globalize_cross_file_statics): New.
4620 (lto_scan_statics_in_ref_table): Walk tree to look for reachable
4621 static decls that need to be fixed up.
4622 (lto_scan_statics_in_cgraph_node): Change call interface to use
4623 a globalize_context_t CONTEXT for all states used.
4624 (lto_scan_statics_in_remaining_global_vars): New.
4625 (lto_promote_cross_file_statics): Use new call interface of
4626 LTO_SCAN_STATICS_IN_CGRAPH_NODE. Handle remaining externally
4627 visible vars in the last set.
4628
4629 2008-12-03 Diego Novillo <dnovillo@google.com>
4630
4631 * lto.c (lto_fixup_tree): Do not emit an error when
4632 PREVAILING throw but T doesn't.
4633
4634 2008-12-02 Doug Kwan <dougkwan@google.com>
4635
4636 * lto.c (lto_scan_statics_in_ref_table): New function factored out
4637 from code in ...
4638 (lto_scan_statics_in_cgraph_node): Handle both file-scope static
4639 variables and functions.
4640 (lto_promote_cross_file_statics): Rename bitmaps to SEEN_DECLS
4641 and GLOBAL_DECLS from SEEN_VARS and GLOBAL_VARS.
4642
4643 2008-11-29 Diego Novillo <dnovillo@google.com>
4644
4645 * lto.c: Include timevar.h.
4646 (lto_materialize_function): Tidy. Add comments.
4647 (lto_wpa_write_files): Tidy.
4648 (lto_execute_ltrans): Tidy.
4649 (lto_main): Add local variable LTO_TIMER. Initialize it
4650 to one of TV_WHOPR_WPA, TV_WHOPR_LTRANS or TV_LTO.
4651 Start and stop the timer.
4652 Tidy comments.
4653 * Make-lang.in (lto.o): Add dependency on timevar.h.
4654 * ltrans-driver: React to -v and -save-temps.
4655 Use simple heuristic to determine how much parallelism to
4656 use when executing make.
4657
4658 2008-11-12 Doug Kwan <dougkwan@google.com>
4659
4660 * lto.c (lto_bitmap_obstack): Remove var.
4661 (lto_materialize_function): Do nothing instead of marking function
4662 body in file if flag_wpa is true.
4663 (lto_add_all_inlinees): Use bitmap functions in lto-utils.c.
4664 (lto_scan_statics_in_cgraph_node): New function.
4665 (lto_promote_cross_file_statics): Same.
4666 (lto_wpa_write_files): Call lto_promote_cross_file_statics.
4667 Use bitmap functions in lto-utils.c. Remove unsued label OUT.
4668 * Make-lang.in (lto/lto.o): Add lto-utils.h to dependency list.
4669
4670 2008-11-09 Diego Novillo <dnovillo@google.com>
4671
4672 * lto.c (lto_fixup_tree): Change error message locus
4673 information to include location of mismatching
4674 declaration.
4675 Use TREE_NO_WARNING to avoid repeated messages.
4676 (lto_main): If lto_fixup_decls emitted any errors, exit.
4677 * lto-lang.c: Don't include libfuncs.h and except.h
4678 (lto_init_options): Don't enable exceptions by default.
4679 (lto_eh_runtime_type): Move to lto-function-in.c
4680 (lto_init_eh): Likewise.
4681 (lto_init): Don't call lto_init_eh.
4682 * Make-lang.in (lto-lang.o): Remove dependency on
4683 libfuncs.h and except.h.
4684
4685 2008-10-30 Diego Novillo <dnovillo@google.com>
4686
4687 * lto.c (lto_read_decls): Declare debug_main only if
4688 LTO_STREAM_DEBUGGING is enabled.
4689
4690 2008-10-30 Simon Baldwin <simonb@google.com>
4691
4692 * lto.c (lto_wpa_write_files): Create intermediate files with
4693 make_cwd_temp_file().
4694 (lto_maybe_unlink): New. Delete intermediate WPA files unless
4695 WPA_SAVE_LTRANS is set.
4696 (lto_main): Call lto_maybe_unlink() for intermediate WPA files.
4697 * ltrans-driver: Do not strip directory from output files.
4698
4699 2008-10-29 Doug Kwan <dougkwan@google.com>
4700
4701 * lto.c (free_decl): Call lto_symtab_clear_resolution when freeing
4702 DECL.
4703 * Make-lang.in (LTO_OBJS): Remove lto/lto-symtab.o
4704 (lto/lto-symtab.o): Remove rule.
4705 * lto-tree.h (struct lang_identifier): Remove LTO specific fields.
4706 (struct lang_decl): Remove RESOLUTION and add DUMMY in struct.
4707 (LANG_IDENTIFIER_CAST, LTO_IDENTIFIER_DECL, LTO_DECL_RESOLUTION):
4708 Remove macros.
4709 lto-symtab.c (File): Move up one level.
4710 lto-lang.c (cgraph.h): Remove include.
4711 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
4712 input_cgraph): Move to lto-cgraph.c in gcc directory above.
4713 (LANG_HOOKS_INPUT_CGRAPH): Remove use of macro.
4714
4715 2008-10-24 Rafael Espindola <espindola@google.com>
4716
4717 * lto-function-in.c (get_resolution): Return LDPR_PREEMPTED_IR for
4718 non prevailing weak symbols.
4719
4720 2008-10-24 Rafael Espindola <espindola@google.com>
4721
4722 * lto-lang.c (input_cgraph_1): Iterate over nodes, not cgraph_nodes.
4723
4724 2008-10-24 Rafael Espindola <espindola@google.com>
4725
4726 * lto-lang.c (input_node): Avoid casts from pointers to ints of
4727 different types.
4728
4729 2008-10-23 Simon Baldwin <simonb@google.com>
4730
4731 * lto-lang.c (input_node): Save the node reference, rather than the
4732 node pointer, in node->inlined_to.
4733 (input_cgraph_1): Convert node references into node pointers.
4734
4735 2008-10-22 Diego Novillo <dnovillo@google.com>
4736 Rafael Espindola <espindola@google.com>
4737
4738 * lto.c (lto_resolution_read): Tidy.
4739 * lto-symtab.c (lto_symtab_prevailing_decl): Do not
4740 abort if RET is NULL.
4741
4742 2008-10-22 Doug Kwan <dougkwan@google.com>
4743
4744 * lto.c (lto_fixup_tree): Check for NOTHROW conflict only if
4745 exceptions flag is given.
4746 * lto-lang.c: (lto_init_options) Set default exceptions flag.
4747 (lto_init_eh): Remove exceptions flag initialization.
4748 (lto_init): Only call lto_init_eh if exceptions flag is set.
4749
4750 2008-10-21 Diego Novillo <dnovillo@google.com>
4751
4752 * lto.c: Tidy some formatting.
4753 * lto.h: Likewise.
4754
4755 2008-10-21 Simon Baldwin <simonb@google.com>
4756
4757 * lto-symtab.c: (lto_same_type_p): Types cannot be equal if one of
4758 them is NULL (but not the other).
4759
4760 2008-10-17 Diego Novillo <dnovillo@google.com>
4761
4762 * ltrans-driver: Divert output from make to a temporary file.
4763 Show it if the call to make failed.
4764
4765 2008-10-15 Diego Novillo <dnovillo@google.com>
4766
4767 * lto.c (lto_wpa_write_files): Reformat do-while loop.
4768 Do not print TEMP_FILENAME
4769 * ltrans-driver: Call make with -s.
4770
4771 2008-10-15 Diego Novillo <dnovillo@google.com>
4772
4773 * lto-symtab.c (lto_symtab_merge_decl): Do not force
4774 TREE_STATIC on global symbols.
4775
4776 2008-10-14 Ollie Wild <aaw@google.com>
4777
4778 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Remove.
4779 (LTRANS_DRIVER_EXE): Add.
4780 (lto.all.cross): Add LTRANS_DRIVER_EXE.
4781 (lto.all.encap): Add LTRANS_DRIVER_EXE.
4782 (lto.install.common): Remove ltrans-driver.
4783 (lto.mostlyclean): Add LTRANS_DRIVER_EXE.
4784 (LTRANS_DRIVER_EXE): New build rule.
4785 * config-lang.in (compilers): Add ltrans-driver.
4786
4787 2008-10-14 Diego Novillo <dnovillo@google.com>
4788
4789 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Disable transformation
4790 of program name.
4791
4792 2008-10-13 Ollie Wild <aaw@google.com>
4793
4794 * lang-spec.h (@lto): Replace lto1_options with cc1_options.
4795 * lto.c (lto_execute_ltrans): Add "-fno-wpa -fltrans -xlto" to CFLAGS.
4796 * ltrans-driver (LTRANS_FLAGS): Remove.
4797
4798 2008-10-08 Doug Kwan <dougkwan@google.com>
4799
4800 * lto.c (lto_fixup_tree): Remove ATTRIBUTE_UNUSED from DATA.
4801 Handle new tree codes RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
4802 and TREE_BINFO. Also move code handling FUNCTION_DECL and VAR_DECL
4803 from lto_fixup_state to here.
4804 (lto_fixup_state): Take an lto_fixup_data_t object DATA instead of
4805 just a free-list. Fix up types also. Move decl merging code to
4806 lto_fixup_tree.
4807 (lto_fixup_state_aux): Change AUX to point to an lto_fixup_data_t
4808 object.
4809 (lto_fixup_decls): Use another pointer set to avoid multiple
4810 walking of nodes except for DECLs to be replaced. Pass an
4811 lto_fixup_data_t object to tree-walker.
4812
4813 2008-10-08 Rafael Espindola <espindola@google.com>
4814
4815 * lto-symtab.c (lto_symtab_set_resolution): New.
4816 (lto_symtab_merge_decl): Use lto_symtab_set_resolution and
4817 lto_symtab_get_resolution.
4818 (lto_symtab_prevailing_decl): Return decl for non public decls.
4819 (lto_symtab_get_resolution): New.
4820 * lto.c (lto_fixup_tree, lto_fixup_state): Remove unecessary checks.
4821
4822 2008-10-06 Rafael Espindola <espindola@google.com>
4823
4824 * lto-lang.c: Include cgraph.h.
4825 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
4826 input_cgraph): Moved from lto-cgraph.c.
4827 (LANG_HOOKS_INPUT_CGRAPH): New.
4828
4829 2008-10-03 Rafael Espindola <espindola@google.com>
4830
4831 * lto.c (lto_fixup_tree, lto_fixup_state): Fix the FIXME.
4832
4833 2008-10-03 Rafael Espindola <espindola@google.com>
4834
4835 * lto-symtab.c (lto_symtab_overwrite_decl): Remove. Remove all calls.
4836 (lto_symtab_merge_decl): Update LTO_IDENTIFIER_DECL the reflect the
4837 prevailing definition. Don't mark TREE_NOTHROW differences.
4838 * lto.c (lto_fixup_tree): New.
4839 (lto_fixup_state): New.
4840 (lto_fixup_state_aux): New.
4841 (free_decl): New.
4842 (lto_fixup_decls): New.
4843 (lto_main): Call lto_fixup_decls.
4844
4845 2008-10-02 Ollie Wild <aaw@google.com>
4846
4847 * lang.opt (fltrans): Moved from common.opt. Remove RejectNegative
4848 and Init.
4849 (fwpa): Moved from common.opt. Remove RejectNegative and Init.
4850 * lto-lang.c (lto_post_options): Add validation and fixups for
4851 -fltrans and -fwpa.
4852
4853 2008-10-02 Rafael Espindola <espindola@google.com>
4854
4855 * lto-symtab.c (lto_symtab_merge_var, lto_symtab_merge_fn,
4856 lto_symtab_merge_decl): Return void.
4857 (lto_symtab_prevailing_decl): New.
4858
4859 2008-09-30 Rafael Espindola <espindola@google.com>
4860
4861 * lto-symtab.c (lto_symtab_compatible): Remove the check for already
4862 defined symbols.
4863 (lto_symtab_overwrite_decl): Copy LTO_DECL_RESOLUTION.
4864 (lto_symtab_merge_decl): Store symbol resolution in LTO_DECL_RESOLUTION.
4865 Check for already defined symbols.
4866 * lto-tree.h (lang_decl): Remove dummy and add resolution fields.
4867 (LTO_IDENTIFIER_RESOLUTION): Remove.
4868 (LTO_DECL_RESOLUTION): New.
4869
4870 2008-09-30 Rafael Espindola <espindola@google.com>
4871
4872 * lto.c (lto_read_decls): Use new input_tree signature.
4873
4874 2008-09-26 Doug Kwan <dougkwan@google.com>
4875
4876 * lto.c (lto_main): Call lto_fixup_nothrow_decls to fix up function
4877 bodies affected by exception attribute merging of DECLs.
4878 * lto-symtab.c (lto_symtab_merge_decl): Handle exception attribute
4879 merging.
4880
4881 2008-09-25 Rafael Espindola <espindola@google.com>
4882
4883 * Make-lang.in (PLUGIN_API_H, LTO_TREE_H): New.
4884 (lto/lto-lang.o, lto/lto.o, lto/lto-symtab.o) Use LTO_TREE_H.
4885 * lto-symtab.c (lto_symtab_compatible): New.
4886 (lto_symtab_overwrite_decl): New.
4887 (lto_symtab_merge_decl): Refactor to use the above functions
4888 and the resolution from lang_identifier.
4889 * lto-tree.h: Include plugin-api.h.
4890 (lang_identifier): Add resolution.
4891 (LTO_IDENTIFIER_RESOLUTION): New.
4892
4893 2008-09-25 Ollie Wild <aaw@google.com>
4894
4895 * lang.opt (fltrans-output-list=): New option.
4896 * lto.c (lto_execute_ltrans): Output file names to ltrans_output_list.
4897
4898 2008-09-25 Rafael Espindola <espindola@google.com>
4899
4900 * lto.c (lto_resolution_read): Initialize ret;
4901
4902 2008-09-24 Ollie Wild <aaw@google.com>
4903
4904 * lto.c (sys/mman.h): Move include.
4905 (lto_wpa_write_files): Return a list of written files.
4906 (lto_execute_ltrans): New function.
4907 (lto_main): Call lto_execute_ltrans.
4908 (ltrans-driver): New file.
4909 * lto-lang.c (DEFAULT_LTRANS_DRIVER): New macro.
4910 (DEAULT_LTRANS_DRIVER_LEN): New macro.
4911 (lto_init_options): Initialize ltrans_driver.
4912 (lto_handle_option): Fix incorrect default output value.
4913 * lang.opt (fltrans-driver=): New option.
4914 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): New variable.
4915 (lto.install-common): Add lto/ltrans-driver.
4916
4917 2008-09-24 Rafael Espindola <espindola@google.com>
4918
4919 * Make-lang.in (LTO_OBJS): Add lto/common.o.
4920 (lto/lto.o): Depend on lto/common.h.
4921 (lto/common.o): New.
4922 * lang.opt (resolution): New.
4923 * lto-lang.c (resolution_file_name): New.
4924 (lto_handle_option): Handle OPT_resolution.
4925 * lto-symtab.c (lto_symtab_merge_decl): Add a resolution argument.
4926 (lto_symtab_merge_var,lto_symtab_merge_fn): Add a resolution argument.
4927 pass it to lto_symtab_merge_decl.
4928 * lto.c: Include common.h.
4929 (lto_read_decls): Add resolutions and resolutions_size arguments.
4930 Initialize data_in.globals_resolution and
4931 data_in.globals_resolution_size.
4932 (index_and_symbol_resolution): New.
4933 (lto_resolution_read): New.
4934 (lto_file_read): Add argument resolution_file.
4935 Read resolution.
4936 * lto.h (resolution_file_name): New.
4937
4938 2008-09-23 Rafael Espindola <espindola@google.com>
4939
4940 * common.c: Update description.
4941 * common.h: Update description.
4942
4943 2008-09-23 Rafael Espindola <espindola@google.com>
4944
4945 * common.c: Moved from lto-plugin.
4946 * common.h: Moved from lto-plugin.
4947
4948 2008-09-22 Doug Kwan <dougkwan@google.com>
4949
4950 * lto.c (VEC(bitmap,heap)): Declare.
4951 (lto_materialize_function): Handle WAP mode specially.
4952 (lto_add_inline_clones): New.
4953 (lto_add_all_inlinees): Changle algorithm and to use bitmaps. Also
4954 return a bitmap of inlined decls.
4955 (lto_wpa_write_files): Handle all DECLs brought in by inlining.
4956 (lto_main): Call reset_inline_failed to reset inlining states.
4957 Check call-graph after WPA inlining.
4958 * lto-lang.c (lto_init): Do not clear flag_generate_lto
4959 unconditionally.
4960
4961 2008-09-19 Doug Kwan <dougkwan@google.com>
4962
4963 lto.c (lto_main): Remove unsued wrapper code.
4964 lang-specs.h (@lto): Use lto1_options instead of cc1_options.
4965
4966 2008-09-19 Rafael Espindola <espindola@google.com>
4967
4968 * lto-symtab.c: Include lto-tree-in.h.
4969 * lto-tree.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove.
4970 * lto.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove
4971 * Make-lang.in (lto/lto-symtab.o): Add lto-tree-in.h.
4972
4973 2008-09-17 Paolo Bonzini <bonzini@gnu.org>
4974 Rafael Avila de Espindola <espindola@google.com>
4975
4976 * lto-lang.c (COMPOUND_LITERAL_EXPR_DECL_STMT,
4977 COMPOUND_LITERAL_EXPR_DECL): Remove.
4978 (emit_local_var): Remove.
4979 (lto_expand_expr): Remove.
4980 (lto_staticp): Remove.
4981 (LANG_HOOKS_EXPAND_EXPR): Remove.
4982 (LANG_HOOKS_STATICP): Remove.
4983
4984 2008-09-11 Diego Novillo <dnovillo@google.com>
4985
4986 * lto-lang.c: Include except.h and libfuncs.h.
4987 (lto_init_eh): New.
4988 (lto_init): Call it.
4989 Set flag_generate_lto to 0.
4990 * Make-lang.in (lto-lang.o): Add dependency on except.h
4991 and libfuncs.h.
4992
4993 2008-09-09 Bill Maddox <maddox@google.com>
4994
4995 * lto-lang.c: Include header file expr.h.
4996 (COMPOUND_LITERAL_EXPR_DECL_STMT,
4997 COMPOUND_LITERAL_EXPR_DECL): Copied from c-common.h.
4998 (emit_local_var): Copied from c-semantics.c.
4999 (lto_expand_expr, lto_staticp): Copied from c_expand_expr
5000 and c_staticp in c-common.c.
5001 (LANG_HOOKS_EXPAND_EXPR,LANG_HOOKS_STATICP): Redefined.
5002
5003 2008-09-08 Diego Novillo <dnovillo@google.com>
5004
5005 * lto-lang.c (lto_global_bindings_p): Return 1 during
5006 IPA passes.
5007
5008 2008-09-07 Diego Novillo <dnovillo@google.com>
5009
5010 * lto.c: Tidy formatting.
5011
5012 2008-08-04 Bill Maddox <maddox@google.com>
5013
5014 * lto-symtab.c (lto_symtab_merge_decl): Add comment.
5015
5016 2008-09-03 Doug Kwan <dougkwan@google.com>
5017
5018 lto.c (lto_add_all_inlinees): Reset FAILED_REASON of edges to
5019 CIF_OK instead of NULL.
5020
5021 2008-09-02 Diego Novillo <dnovillo@google.com>
5022 Simon Baldwin <simonb@google.com>
5023
5024 * lto-lang.c (lto_type_for_size): Rewrite. Adapt from
5025 c_common_type_for_size.
5026 (lto_type_for_mode): Remove ATTRIBUTE_UNUSED markers.
5027 (lto_init): Call linemap_add.
5028 (signed_and_unsigned_types): Remove.
5029
5030 2008-08-29 Diego Novillo <dnovillo@google.com>
5031
5032 * lto-lang.c (handle_noreturn_attribute): New local function.
5033 (handle_const_attribute): New local function.
5034 (handle_malloc_attribute): New local function.
5035 (handle_pure_attribute): New local function.
5036 (handle_novops_attribute): New local function.
5037 (handle_nonnull_attribute): New local function.
5038 (handle_nothrow_attribute): New local function.
5039 (handle_sentinel_attribute): New local function.
5040 (handle_type_generic_attribute): New local function.
5041 (handle_format_attribute): New local function.
5042 (handle_format_arg_attribute): New local function.
5043 (lto_attribute_table): Declare.
5044 (lto_format_attribute_table): Declare.
5045 (lto_init_attributes): New local function.
5046 (lto_define_builtins): Call it.
5047 Call targetm.init_builtins and build_common_builtin_nodes.
5048 (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Define.
5049 (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Define.
5050
5051 2008-08-28 Diego Novillo <dnovillo@google.com>
5052
5053 * Make-lang.in (lto-lang.o): Replace tree-gimple.h with
5054 $(GIMPLE_H).
5055 (lto-symtab.o): Add dependency on $(GIMPLE_H).
5056 * lto-lang.c: Include gimple.h instead of tree-gimple.h.
5057 * lto-symtab.c: Include gimple.h.
5058 * lto-tree.h (chain_next): Replace GENERIC_NEXT with
5059 TREE_CHAIN.
5060
5061 2008-08-27 Doug Kwan <dougkwan@google.com>
5062
5063 * lto.c (vec.h, bitmap.h, pointer-set.h, ipa-prop.h, ggc.h,
5064 gt-lto-lto.h): New includes.
5065 (lto_materialize_function): Do not read in function body in WPA mode.
5066 Format a line to fit in 80 columns.
5067 (lto_cgraph_node_sets): New garbage collected variable.
5068 (lto_1_to_1_map, lto_add_all_inlinees, lto_wpa_write_files):
5069 New functions.
5070 (lto_main): Initialize bitmap obstack. Add code to handle WPA mode.
5071 * Make-lang.in (LTO_H): Replace filename lto-section-in.h with
5072 variable LTO_SECTION_IN_H.
5073 (lto/lto.o): Include gt-lto-lto-c.h ggc.h ,VEC_H, BITMAP_H,
5074 pointer-set.h and IPA_PROP_H. Also replace filename lto-section-in.h
5075 with variable LTO_SECTION_IN_H.
5076 * config-lang.in (gtfiles): Add lto/lto.c.
5077 * lto-symtab.c (lto_symtab_merge_decl): Set DECL_CONTEXT of
5078 merged DECL_RESULT correctly.
5079
5080 2008-08-26 Bill Maddox <maddox@google.com>
5081
5082 * lto-lang.c Include tree-gimple.h.
5083 (lto_mark_addressable): Call mark_addressable rather than
5084 asserting.
5085 (lto_post_options): Suppress debug info generation.
5086 * Make-lang.in: Add dependency of lto-lang.o on tree-gimple.h.
5087
5088 2008-08-25 Bill Maddox <maddox@google.com>
5089
5090 * lto-symtab.c (lto_symtab_merge_decl): Remove a suspect
5091 assertion and leave an explanatory comment in its place.
5092
5093 2008-08-21 Doug Kwan <dougkwan@google.com>
5094
5095 * lto.c (preload_common_nodes): Call lto_get_common_nodes to get a list
5096 of common nodes instead of computing locallly.
5097 (lto_read_in_decl_state): New.
5098 (lto_read_decls): Change code for udpate in struct lto_decl_header.
5099 Read global and per-function in-decl states.
5100 * Make-lang.in (LTO_H): Update dependency.
5101 (lto/lto.o): Same.
5102 (lto-symtab.c): Merge (revision 139039)
5103 * lto-symtab.c (lto_symtab_merge_decl): Merge DECL_RESULT.
5104
5105 2008-08-21 Rafael Espindola <espindola@google.com>
5106
5107 * config-lang.in (target_libs): New.
5108
5109 2008-08-20 Bill Maddox <maddox@google.com>
5110
5111 * lto.c (current_lto_file): Remove GTY marker from static
5112 variable. Remove include of file gt-lto-lto.h.
5113 * Make-lang.in: Remove dependency of lto/lto.o on
5114 gt-lto-lto.h.
5115 * lto-elf.c (lto_file_close): Removed.
5116 (lto_elf_file_open): Use XCNEW instead of GGC_CNEW to
5117 allocate lto_elf_file object.
5118 (lto_elf_file_close): Free lto_elf_file object after close.
5119 * lto.h (struct lto_file_struct): Remove GTY marker.
5120 * config-lang.in: Remove lto/lto.h and lto/lto.c from
5121 gtfiles.
5122
5123 2008-08-20 Bill Maddox <maddox@google.com>
5124
5125 * lto.c (lto_read_decls): Provide dummy argument to input_tree
5126 to conform to its new signature.
5127 * lto-symtab.c (lto_symtab_merge_decl): Do not invoke ggc_free
5128 on discarded node here, now called in global_vector_fixup.
5129
5130 2008-08-09 Bill Maddox <maddox@google.com>
5131
5132 * lto.c (preload_common_nodes): Verify that fileptr_type_node
5133 has not been set to a front-end-specific value.
5134
5135 2008-08-05 Doug Kwan <dougkwan@google.com>
5136
5137 * Make-lang.in (lto-symtab.o): Add missing dependencies to fix
5138 build breakage.
5139
5140 2008-07-30 Bill Maddox <maddox@google.com>
5141
5142 * lto.c (lto_materialize_function): Call lto_original_decl_name.
5143 Remove obsolete comments.
5144 (lto_read_decls): Remove initialization of deleted field data_in.global.
5145 Tidy up comments.
5146 (lto_main): Remove redundant initialization of section_hash_table.
5147 * lto-elf.c: Removed obsolete comments.
5148 * lto.h: Tidy up comments.
5149 * lto-symtab.c (lto_least_common_multiple): New function.
5150 (lto_symtab_merge_decl): Merge variable alignments in some cases.
5151 Tidy up comments.
5152
5153 2008-07-25 Diego Novillo <dnovillo@google.com>
5154 Bill Maddox <maddox@google.com>
5155
5156 * lto.c: Re-order include files.
5157 Include lto-section-out.h.
5158 (preload_common_nodes): Add debugging output.
5159 Add new local INDEX_TABLE.
5160 Call preload_common_node.
5161 * Make-lang.in (lto.o): Add dependency on lto-section-out.h
5162
5163 2008-07-13 Bill Maddox <maddox@google.com>
5164
5165 * lto.c (lto_read_decls): Cast pointer to const char * to avoid
5166 unwanted scaling during pointer addition.
5167
5168 2008-07-11 Bill Maddox <maddox@google.com>
5169 Diego Novillo <dnovillo@google.com>
5170
5171 * lto.c (lto_read_decls): Fix C++ compatibility warnings.
5172 Make code const-correct.
5173 (lto_file_read): Fix C++ compatibility warnings.
5174 (lto_read_section_data): Fix C++ compatibility warnings.
5175 (lto_get_section_data): Use CONST_CAST to avoid warning when
5176 const pointer passed to free.
5177 * lto-elf.c (lto_elf_build_section_table): Fix C++
5178 compatibility warnings.
5179 (lto_elf_append_data): Fix C++ compatibility warnings. Use CONST_CAST
5180 to avoid warning assigning const pointer to d_buf field of Elf_Data.
5181 (lto_get_current_out_file): Fix C++ compatibility warnings.
5182
5183 2008-07-11 Diego Novillo <dnovillo@google.com>
5184
5185 * Make-lang.in (lto-warn): Define.
5186
5187 2008-07-03 Simon Baldwin <simonb@google.com>
5188
5189 * lto.c (lto_read_decls): Wrapped debug-only data items within #ifdef
5190 LTO_STREAM_DEBUGGING.
5191
5192 2008-06-27 Ollie Wild <aaw@google.com>
5193
5194 * lto-elf.c (lto-section-out.h): New include.
5195 (struct lto_elf_file): Remove bits member. Add scn, shstrtab_stream,
5196 and data members.
5197 (cached_file_attrs): New static variable.
5198 (lto_elf_get_shdr, lto_elf_free_shdr): Remove elf_file parameter.
5199 Use cached_file_attrs for checking bits.
5200 (lto_elf_build_section_table): Remove elf_file argument from
5201 lto_elf_get_shdr and lto_elf_free_shdr calls.
5202 (DEFINE_INIT_SHDR): New macro.
5203 (init_shdr32, init_shdr64): New functions defined via the
5204 DEFINE_INIT_SHDR macro.
5205 (lto_elf_begin_section_with_type): New function.
5206 (lto_elf_begin_section): New function.
5207 (lto_elf_append_data): New function.
5208 (lto_elf_end_section): New function.
5209 (DEFINE_VALIDATE_EHDR): New macro.
5210 (validate_ehdr32, validate_ehdr64): New functions defined via the
5211 DEFINE_VALIDATE_EHDR macro.
5212 (validate_file): New function.
5213 (DEFINE_INIT_EHDR): New macro.
5214 (init_ehdr32, init_ehdr64): New functions defined via the
5215 DEFINE_INIT_EHDR macro.
5216 (init_ehdr): New function.
5217 (lto_elf_file_open): Add support for writable files. Move some
5218 validation logic to validate_file.
5219 (lto_elf_file_close): Add support for writable files. Write file data
5220 and free data blocks.
5221 (current_out_file): New static variable.
5222 (lto_set_current_out_file): New function.
5223 (lto_get_current_out_file): New function.
5224 * lto.c (lto_main): Add writable argument to lto_elf_file_open calls.
5225 Add temporary initialization for testing ELF serialization.
5226 * lto.h (lto-section-out.h): New include.
5227 (struct lto_file_struct): Slight modification to comment.
5228 (lto_elf_file_open): Add writable parameter.
5229 (lto_elf_begin_section): New function declaration.
5230 (lto_elf_append_data): New function declaration.
5231 (lto_elf_end_section): New function declaration.
5232 (lto_set_current_out_file, lto_get_current_out_file): New function
5233 declarations.
5234 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Set as lto_elf_begin_section.
5235 (LANG_HOOKS_APPEND_DATA): Set as lto_elf_append_data.
5236 (LANG_HOOKS_END_SECTION): Set as lto_elf_end_section.
5237 * Make-lang.in (LTO_H): Add lto-section-out.h.
5238
5239 2008-06-12 Ollie Wild <aaw@google.com>
5240
5241 * lto.h (struct lto_file_vtable_struct): Remove.
5242 (struct lto_file_struct): Remove vtable member.
5243 * lto-elf.c (lto_file_init): Remove vtable argument.
5244 (lto_elf_map_optional_lto_section): Remove.
5245 (lto_elf_unmap_section): Remove.
5246 (lto_elf_file_vtable): Remove.
5247 (lto_elf_file_open): Remove lto_elf_file_vtable argument from
5248 lto_file_init call.
5249 (lto_elf_find_section_data): Remove.
5250
5251 2008-06-11 Ollie Wild <aaw@google.com>
5252
5253 * lto.c (lto_file_read): Add const qualifier to data variable.
5254
5255 2008-06-11 Diego Novillo <dnovillo@google.com>
5256
5257 Merge from lto-streamber sub-branch.
5258
5259 2008-06-04 Ollie Wild <aaw@google.com>
5260
5261 * lto.c: Remove inclusion of dwarf2.h and dwarf2out.h.
5262 * Make-lang.in (lto.o): Remove dependency on dwarf2.h.
5263
5264 2008-05-28 Bill Maddox <maddox@google.com>
5265
5266 Replace the DWARF reader in the LTO front-end.
5267
5268 * lto.c: Include lto-tree-in.h, lto-tags.h.
5269 (enum DWARF2_class, DW_cl_constant, struct
5270 DWARF2_form_data, struct lto_context,
5271 lto_fd_init, lto_info_fd_init,
5272 lto_abbrev_fd_init, lto_info_fd_close,
5273 lto_file_init, lto_file_close,
5274 lto_file_corrupt_error, lto_abi_mismatch_error,
5275 LTO_CHECK_INT_VAL, LTO_READ_TYPE,
5276 lto_read_uleb128, lto_read_sleb128,
5277 lto_read_initial_length, lto_abbrev_read_attrs,
5278 lto_abbrev_read, lto_abbrev_read_lookup,
5279 lto_read_section_offset,
5280 lto_read_comp_unit_header, find_cu_for_offset,
5281 lto_get_file_name,
5282 lto_resolve_reference,lto_read_form,
5283 attribute_value_as_int,
5284 make_signed_host_wide_int,
5285 attribute_value_as_constant, lto_cache_hash,
5286 lto_cache_eq, lto_cache_store_DIE,
5287 lto_cache_lookup_DIE, lto_find_integral_type,
5288 lto_find_integral_type_1,
5289 LTO_BEGIN_READ_ATTRS_UNCHECKED,
5290 LTO_BEGIN_READ_ATTRS, LTO_END_READ_ATTRS,
5291 lto_unsupported_attr_error, lto_get_identifier,
5292 lto_read_referenced_type_DIE,
5293 lto_read_compile_unit_DIE,
5294 lto_read_array_type_DIE,
5295 lto_read_structure_union_class_type_DIE,
5296 lto_read_enumerator_DIE,
5297 lto_read_enumeration_type_DIE,
5298 lto_read_only_for_child_DIEs,
5299 lto_read_only_for_child_DIEs,
5300 lto_read_member_DIE, lto_read_abbrev,
5301 lto_read_variable_formal_parameter_constant_DIE,
5302 lto_get_body): Removed.
5303 (preload_common_nodes): New function.
5304 (lto_read_decls): Convert for new global streamer.
5305 (lto_materialze_file_data,
5306 lto_read_subroutine_type_subprogram_die,
5307 lto_read_unspecified_parameters_DIE,
5308 lto_read_typedef_DIE,
5309 lto_read_pointer_reference_type_DIE,
5310 lto_read_subrange_type_DIE,
5311 lto_read_base_type_DIE,
5312 lto_read_const_volatile_restrict_type_DIE,
5313 lto_read_namespace_DIE,
5314 lto_read_unspecified_type_DIE, lto_read_DIE,
5315 lto_read_child_DIEs, lto_collect_child_DIEs):
5316 Removed.
5317 (lto_info_read, lto_set_cu_context): Removed.
5318 (lto_file_read): Convert for new global streamer.
5319 (lto_resolve_type_ref, lto_read_DIE_at_ptr,
5320 lto_resolve_var_ref, lto_resolve_fn_ref,
5321 lto_resolve_field_ref, lto_resolve_typedecl_ref,
5322 lto_resolve_namespacedecl_ref): Removed.
5323 (lto_file_init, lto_file_close): Moved to lto-elf.c.
5324 * lto-tree.h (lto_symtab_merge_var,
5325 lto_symtab_mergee_fun): Declare here.
5326 * lto-elf.c (lto_file_init, lto_file_close): Moved from lto.c.
5327 (lto_elf_file_open): Removed code to read DWARF debug sections.
5328 * lto.h (lto_context, DWARF2_attr, DWARF2_abbrev,
5329 DWARF2_CompUnit, lto_die_ptr,
5330 lto_die_cache_entry, lto_fd, lto_info_fd,
5331 lto_abbrev_fd): Removed.
5332 (lto_file): Removed debug_info and debug_abbrev fields.
5333 (lto_ref): Removed.
5334 (lto_file_init, lto_file_close,
5335 lto_resolve_type_ref, lto_resolve_var_ref,
5336 lto_resolve_fn_ref, lto_resolve_field_ref,
5337 lto_resolve_typedecl_ref,
5338 lto_resolve_namespacedecl_ref,
5339 lto_get_file_name): Removed declarations.
5340 (lto_symtab_merge_var, lto_symtab_merge_fn):
5341 Declarations moved to lto-tree.h.
5342 * lto-symtab.c (lto_compatible_attributes_p):
5343 Lobotomize this, as it barfs on "Hello, world!".
5344 * lto-section-out.c: Include lto-tree-out.h.
5345 (lto_hash_global_slot_node,
5346 lto_eq_global_slot_node, preload_common_nodes,
5347 write_global_stream, write_global_references):
5348 New functions.
5349 (produce_asm_for_decls): Convert for new global streamer.
5350 * lto-section-out.h (lto_hash_global_slot_node,
5351 lto_eq_global_slot_node): Declare.
5352
5353 2008-06-07 Kenneth Zadeck <zadeck@naturalbridge.com>
5354 Jan Hubicka <jh@suse.cz>
5355
5356 * lto.c (sys/mman.h, tree-pass.h): New includes.
5357 (lto_materialize_constructors_and_inits,
5358 lto_materialize_function): Keeps length of section.
5359 (lto_materialize_cgraph): Removed.
5360 (lto_read_decls): Initialize fd field.
5361 (lto_file_read): Different return type and removed much code to
5362 lto_main.
5363 (page_mask): New variable.
5364 (lto_read_section_data, get_section_data, free_section_data): New
5365 functions.
5366 (lto_main): Now calls pass manager, sets the hooks so that the ipa
5367 passes can get the section data.
5368
5369 2008-05-27 Kenneth Zadeck <zadeck@naturalbridge.com>
5370
5371 * lto.h (lto_read_decls): Made local.
5372 (lto_input_function_body, lto_input_constructors_and_inits,
5373 lto_input_cgraph): Declarations moved to lto-section-in.h.
5374 * lto-section-in.c: Moved to .. .
5375 * lto-cgraph-in.c: Ditto.
5376 * lto-section-in.h: Ditto.
5377 * lto-function-in.c: Ditto.
5378 * lto-lang.c (lto_handle_option): Added ATTRIBUTE_UNUSED to parms.
5379 (lto_insert_block): Removed.
5380 (LANG_HOOKS_INSERT_BLOCK): Removed.
5381 * Make-lang.in (lto-cgraph-in.o, lto-function-in.o,
5382 lto-section-in.o): Rules moved to lto/Makefile.in.
5383
5384
5385 2008-05-16 Ollie Wild <aaw@google.com>
5386
5387 * lto-lang.c (tree-inline.h): Include.
5388 (lto_post_options): New function.
5389 (LANG_HOOKS_POST_OPTIONS): Define.
5390 * lto-cgraph-in.c (overwrite_node): Set node->global.insns.
5391 * lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
5392
5393 2008-05-13 Diego Novillo <dnovillo@google.com>
5394
5395 * lto-function-in.c (input_ssa_names): Call
5396 make_ssa_name_fn instead of make_ssa_name.
5397
5398 2008-05-12 Diego Novillo <dnovillo@google.com>
5399
5400 * lto-cgraph-in.c (overwrite_node): Update references to
5401 inline summary fields.
5402 * lto-function-in.c (input_expr_operand): Do not handle
5403 STRUCT_FIELD_TAG.
5404
5405 2008-05-09 Ollie Wild <aaw@google.com>
5406
5407 * lang.opt: New file.
5408 * lto-lang.c (lto_init_options): New function.
5409 (lto_handle_option): New function.
5410 (lto_init): Move initialization of flag_unit_at_a_time to
5411 lto_init_options.
5412 (LANG_HOOKS_INIT_OPTIONS): Define.
5413 (LANG_HOOKS_HANDLE_OPTION): Define.
5414
5415 2008-04-29 Ollie Wild <aaw@google.com>
5416
5417 * lto.c (lto_read_namespace_DIE): New function.
5418 (lto_read_DIE): Add lto_read_namespace_DIE callback. Cache
5419 NAMESPACE_DECL DIE's.
5420 (lto_resolve_namespacedecl_ref): New function.
5421 * lto.h (lto_resolve_namespacedecl_ref): New function.
5422 * lto-section-in.c (lto_read_decls): Read namespace declarations.
5423 * lto-section-in.h (struct lto_file_decl_data): Add namespace_decls
5424 and num_namespace_decls.
5425 * lto-function-in.c (input_expr_operand): Add NAMESPACE_DECL case.
5426 * lto-lang.c (lto_init_ts): New function.
5427 (LANG_HOOKS_INIT_TS): Set as lto_init_ts.
5428
5429 2008-04-16 Ollie Wild <aaw@google.com>
5430
5431 * lto-function-in.c (input_type_ref): Updated function description.
5432
5433 2008-04-16 Ollie Wild <aaw@google.com>
5434
5435 * lto-function-in.c (input_type_ref_1): New function.
5436 (input_type_ref): Split into two functions.
5437 (input_function): Add support for type contexts.
5438
5439 2008-04-16 Ollie Wild <aaw@google.com>
5440
5441 * lto.c (lto_materialize_function): Use DECL_ASSEMBLER_NAME to compute
5442 section name
5443
5444 2008-04-16 Ollie Wild <aaw@google.com>
5445
5446 * lto.c (lto_read_compile_unit_DIE): Add DW_LANG_C_plus_plus to the
5447 list of supported languages.
5448
5449 2008-03-25 Kenneth Zadeck <zadeck@naturalbridge.com>
5450
5451 Merge with mainline @133491.
5452
5453 2008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
5454 Jan Hubicka <jh@suse.cz>
5455
5456 * lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
5457 fd->unmaterialized_fndecls.
5458 (lto_get_file_name, lto_materialize_cgraph): New function.
5459 (lto_materialize_constructors_and_inits,
5460 lto_materialize_function): Read info directly from elf file.
5461 (lto_file_read): Made local and initialize dictionary so that
5462 other lto sections can be read without reprocessing the elf file.
5463 (lto_main): Read all functions after all files have been processed
5464 for their types, globals and cgraph.
5465 * Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
5466 dependencies.
5467 * lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
5468 (hash_name, eq_name, lto_elf_build_section_table): New functions.
5469 (lto_elf_read_symtab): Removed function.
5470 (lto_elf_file_open): Removed call to lto_elf_read_symtab.
5471 * lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
5472 (lto_file_read): Made local.
5473 (lto_get_file_name, lto_elf_build_section_table,
5474 lto_input_cgraph):
5475 New function.
5476 * lto-section-in.c (lto_read_section_data, lto_get_section_data):
5477 New functions.
5478 (lto_read_decls): Get the file name.
5479 * lto-cgraph-in.c: New file.
5480 * lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
5481 (input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
5482 (input_labels): Fixed latent sizeof issue.
5483 (input_function): Build stmt array to set call sites into cgraph
5484 edges.
5485 (lto_read_body): Reset cfun->curr_properties.
5486 * lto_section_in.h (lto_section_slot): New structure.
5487 (section_hash_table.lto_file_decl_data): New field.
5488
5489 2008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
5490
5491 * lto.c (lto_read_variable_formal_parameter_const): Remove code to
5492 reconstruct static initializers.
5493 (lto_get_body, lto_materialize_function): Add lto_section_type as
5494 a parameter.
5495 (lto_materialize_constructors_and_inits,
5496 lto_materialize_file_data): New function.
5497 (lto_materialize_function,
5498 lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
5499 unmap_section and map_fn_body to map_section.
5500 (lto_set_cu_context): Process functions and static inits
5501 differently.
5502 * Make-lang.in (LTO_H, lto/lto-function-in.o,
5503 lto/lto-section-in.o): Update dependencies.
5504 * lto-elf.c (lto_elf_map_optional_lto_section): Add
5505 lto_section_type parameter.
5506 (lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
5507 * lto.h (lto_file_vtable_struct): Removed two of the fields and
5508 renamed the other two so that there is only one map function and
5509 one unmap function and each takes a section type parameter.
5510 (lto_read_function_body): Renamed to lto_input_function_body and
5511 added file_data parameter.
5512 (lto_read_var_init): Removed.
5513 (lto_input_constructors_and_inits): New function.
5514 * lto-section-in.c (lto_read_decls): New function.
5515 * lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
5516 var_decls, type_decls, types to lto_file_decl_data.
5517 (input_type_ref, input_expr_operand, lto_read_body): Get
5518 field_decls, fn_decls, var_decls, type_decls, types from different
5519 structure.
5520 (input_globals, input_constructor, lto_read_var_init): Removed.
5521 (input_constructors_or_inits): New function.
5522 (lto_read_function_body, lto_input_constructors_and_inits):
5523 Renamed to lto_input_function_body and takes file_data parameter.
5524 * lto-section-in.h (lto_file_decl_data): New structure.
5525
5526 2008-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
5527
5528 * lto-function-in.c (input_globals.c): Changed input type to
5529 lto_function_header.
5530 (input_bb): Removed code to deserialize the stmt number.
5531 (input_function): Renumber all stmts after they are input.
5532 (lto_read_body, lto_read_function_body, lto_read_var_init):
5533 Changed to used new header format and enum section_type.
5534 *lto-lang.c (success): Removed.
5535
5536 2008-01-28 Nathan Froyd <froydnj@codesourcery.com>
5537
5538 * lto-elf.c (lto_elf_lookup_sym): Remove unused function.
5539 (lto_elf_free_sym): Likewise.
5540
5541 * lto-elf.c (lto_elf_read_var_init): Remove unused function.
5542 (lto_elf_build_init): Likewise.
5543
5544 2008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
5545
5546 * lto-read.c: Renamed to lto-function-in.c.
5547 (input_1_unsigned): Moved to lto-section-in.c and renamed
5548 lto_input_1_unsigned.
5549 (input_uleb128): Moved to lto-section-in.c and renamed
5550 lto_input_uleb128.
5551 (input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
5552 lto_input_widest_uint_uleb128.
5553 (input_sleb128): Moved to lto-section-in.c and renamed
5554 lto_input_sleb128.
5555 (input_integer): Moved to lto-section-in.c and renamed
5556 lto_input_integer.
5557 (debug_in_fun): Moved to lto-section-in.c and renamed
5558 lto_debug_in_fun.
5559 (input_block): Moved to lto-section-in.h and renamed
5560 lto_input_block.
5561 (input_expr_operand): Fixed to allow lists with more than one
5562 element.
5563 * lto-section-in.h: New file.
5564 * lto-section-in.c: New file with changes from above.
5565 * Make-lang.in (lto-read.o): Renamed lto-function-in.c.
5566 (lto-section-in.o): New rule.
5567
5568 2007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5569
5570 * lto-read.c (input_expr_operand): Mark static and external
5571 VAR_DECLs as needed.
5572
5573 2007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5574
5575 * lto-read.c (input_integer): Use the correct shift amount.
5576
5577 2007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5578
5579 * lto-lang.c (lto_pushdecl): Do nothing instead of aborting.
5580 (LANG_HOOKS_NAME): Define.
5581
5582 2007-12-27 Nathan Froyd <froydnj@codesourcery.com>
5583
5584 * lto.c (lto_find_integral_type): Define as a macro. Rename the
5585 original function to...
5586 (lto_find_integral_type_1): ...this. Consult UNSIGNEDP if we
5587 don't have a base type.
5588 (lto_read_enumeration_type_DIE): Examine the values of the
5589 enumeration to determine whether we can use an unsigned type for
5590 the base type of the enumeration.
5591
5592 2007-12-24 Nathan Froyd <froydnj@codesourcery.com>
5593
5594 * lto.c (lto_read_structure_union_class_type_DIE): Set TYPE_MODE
5595 and TYPE_ALIGN on UNION_TYPEs as soon as possible.
5596
5597 2007-12-22 Nathan Froyd <froydnj@codesourcery.com>
5598
5599 * lto-lang.c (lto_types_compatible_p): New function.
5600 (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
5601
5602 2007-12-22 Nathan Froyd <froydnj@codesourcery.com>
5603 Kenneth Zadeck <zadeck@naturalbridge.com>
5604
5605 * lto-read.c (input_expr_operand): Fixed uninitialize var warning.
5606 (input_local_vars): Read in DECL_INITIAL and context for local
5607 statics that need to be put in unexpanded_vars_list.
5608
5609 2007-12-21 Nathan Froyd <froydnj@codesourcery.com>
5610
5611 * lto-read.c (input_real): Use a separate null-terminated buffer
5612 for calling real_from_string.
5613 (input_expr_operand): If we take the address of a FUNCTION_DECL,
5614 tell cgraph that it's needed.
5615
5616 2007-12-19 Doug Kwan <dougkwan@google.com>
5617
5618 * lto.c (lto_read_base_type_DIE): Handle complex integer types.
5619
5620 2007-12-18 Nathan Froyd <froydnj@codesourcery.com>
5621
5622 * lto.c (lto_read_DIE): Call lto_read_only_for_child_DIEs instead.
5623 (lto_file_read): Reset the members of 'context' every time we read
5624 a toplevel DIE, with special attention to last_param_type.
5625
5626 2007-12-18 Nathan Froyd <froydnj@codesourcery.com>
5627
5628 * lto.c (lto_read_subroutine_type_subprogram_DIE): Initialize
5629 'declaration'. Set the assembler name for non-public functions.
5630
5631 2007-12-17 Kenneth Zadeck <zadeck@naturalbridge.com>
5632
5633 * lto_read.c (data_in.unexpanded_indexes): New array.
5634 (input_local_var): Added code to read in unexpanded_var_list
5635 indexes for variables. Only read in DECL_CHAIN field for
5636 parameters.
5637 (input_local_vars): Added code to rebuild unexpanded_var_list in
5638 order using unexpanded_indexes.
5639 (input_function): Added code to set DECL_CONTEXT for functions.
5640
5641 2007-12-13 Doug Kwan <dougkwan@google.com>
5642
5643 * lto.c (lto_read_pointer_reference_type_DIE): Handle optional name
5644 in pointer and reference types.
5645
5646 2007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5647
5648 * lto-read.c (input_expr_operand): Use DECL_RESULT when reading a
5649 RESULT_DECL.
5650
5651 2007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5652
5653 * lto.c (lto_read_array_type_DIE): Return the cached DIE if we've
5654 already read the DIE.
5655 (lto_get_body): New function, split out from...
5656 (lto_materialize_function): ...here. Call it.
5657 (lto_read_subroutine_type_subprogram_DIE): Call lto_get_body to
5658 determine DECL_EXTERNAL.
5659 * lto-symtab.c (lto_symtab_merge_decl): Merge the DECL_RESULTs of
5660 FUNCTION_DECLs when necessary. Use the type of the actual
5661 function definition if we are unable to easily merge types. Ignore
5662 spurious DECL_MODE mismatches on VAR_DECLs. Merge DECL_MODEs when
5663 necessary.
5664
5665 2007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5666
5667 * lto-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
5668
5669 2007-12-12 Bill Maddox <maddox@google.com>
5670
5671 Revert
5672 2007-12-07 Bill Maddox <maddox@google.com>
5673
5674 * lto.c (lto_str_fd_init): New function.
5675 (lto_str_fd_close): New function.
5676 (lto_file_init): Call lto_str_fd_init.
5677 (lto_file_close): Call lto_str_fd_close.
5678 (lto_str_read): New function. Read debug string table.
5679 (lto_str_lookup): New function. Get string for debug
5680 string table offset.
5681 (lto_read_form): Recognize DW_FORM_strp.
5682 (lto_file_read): Invoke lto_str_read.
5683
5684 * lto-elf.c (lto_elf_file_open): Read raw section data
5685 for the .debug_str section, if present.
5686
5687 * lto.h (struct lto_str_fd_struct): New struct.
5688 (struct lto_file_struct): Added new field DEBUG_STR
5689 to hold the file descriptor for the debug string table.
5690
5691 2007-12-07 Bill Maddox <maddox@google.com>
5692
5693 * lto.c (lto_str_fd_init): New function.
5694 (lto_str_fd_close): New function.
5695 (lto_file_init): Call lto_str_fd_init.
5696 (lto_file_close): Call lto_str_fd_close.
5697 (lto_str_read): New function. Read debug string table.
5698 (lto_str_lookup): New function. Get string for debug
5699 string table offset.
5700 (lto_read_form): Recognize DW_FORM_strp.
5701 (lto_file_read): Invoke lto_str_read.
5702
5703 * lto-elf.c (lto_elf_file_open): Read raw section data
5704 for the .debug_str section, if present.
5705
5706 * lto.h (struct lto_str_fd_struct): New struct.
5707 (struct lto_file_struct): Added new field DEBUG_STR
5708 to hold the file descriptor for the debug string table.
5709
5710 2007-12-07 Nathan Froyd <froydnj@codesourcery.com>
5711
5712 * lto-read.c (input_cfg): Call init_empty_tree_cfg_for_function.
5713 Grow the basic_block_info and label_to_block_map vectors if
5714 necessary. Read in the block chain.
5715
5716 2007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5717
5718 * lto.c (lto_read_DIE): Set TYPE_ALIAS_SET where necessary.
5719
5720 2007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5721
5722 * lto.c (lto_read_form): Add DW_cl_address for DW_AT_const_value.
5723
5724 2007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5725
5726 * lto-read.c (input_expr_operand): Don't check for MTAGs.
5727 (lto_read_body): Don't declare PROP_alias.
5728
5729 2007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5730
5731 * lto-symtab.c (lto_symtab_merge_decl): Handle FUNCTION_DECLs without
5732 argument type information.
5733
5734 2007-12-03 Nathan Froyd <froydnj@codesourcery.com>
5735
5736 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
5737 TREE_THIS_VOLATILE if the associated type is a volatile type.
5738 (lto_materialize_function): Remove call to init_ssa_operands.
5739 * lto-read.c (input_expr_operand): Add SSA_NAME_VAR as a referenced
5740 variable when reading an SSA_NAME. Do the same when reading a
5741 RESULT_DECL, a RETURN_EXPR, or an MTAG.
5742 (input_cfg): Call init_ssa_operands.
5743 (input_ssa_names): Set the default def of an SSA_NAME if necessary.
5744 Move call to init_tree_ssa...
5745 (lto_read_body): ...here. Use push_cfun and pop_cfun. Call
5746 add_referenced_var on any variables referenced from the body of the
5747 function. Inform the rest of the compiler we are in SSA form and
5748 inform later passes about the current properties.
5749
5750 2007-11-30 Nathan Froyd <froydnj@codesourcery.com>
5751
5752 * lto.c (lto_materialize_function): Add FIXME.
5753
5754 2007-11-29 Nathan Froyd <froydnj@codesourcery.com>
5755
5756 * lto-lang.c (enum built_in_attribute): New enum.
5757 (flag_no_builtin, flag_no_nonansi_builtin, flag_isoc94, flag_isoc99,
5758 built_in_attributes): New variables.
5759 (def_builtin_1): New function.
5760 (lto_define_builtins): #define DEF_BUILTIN and include builtins.def.
5761
5762 2007-11-28 Nathan Froyd <froydnj@codesourcery.com>
5763
5764 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
5765 DECL_SOURCE_LOCATION for debugging purposes.
5766 (lto_read_member_DIE): Set DECL_SOURCE_LOCATION. If we have read a
5767 bitfield, use the type specified by the DIE for TREE_TYPE and defer
5768 laying out the decl until later.
5769 (lto_read_subroutine_type_subprogram_DIE): Compare the function's
5770 name with DECL_ASSEMBLER_NAME. Set DECL_SOURCE_LOCATION and
5771 TREE_ADDRESSABLE.
5772 * lto-read.c (input_expr_operand): Set TREE_ADDRESSABLE on the
5773 operand of an ADDR_EXPR.
5774 * lto-lang.c (enum lto_builtin_type): New enum.
5775 (builtin_type): New typedef.
5776 (builtin_types, string_type_node, const_string_type_node,
5777 wint_type_node, intmax_type_node, uintmax_type_node,
5778 signed_size_type_node): New variables.
5779 (def_fn_type, builtin_type_for_size, lto_define_builtins,
5780 lto_build_c_type_nodes): New functions.
5781 (lto_init): Initialize builtin types.
5782 (lto_set_decl_assembler_name): Let the target machine mangle the
5783 name if the decl is TREE_PUBLIC, otherwise uniquify it.
5784
5785 2007-11-21 Nathan Froyd <froydnj@codesourcery.com>
5786
5787 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Don't
5788 set TREE_ADDRESSABLE. Do set DECL_COMDAT. Set TREE_READONLY if
5789 the type is a constant type. Set the assembler name and inform
5790 the rest of the compiler about the new decl if the decl is not
5791 public.
5792 (lto_read_subroutine_type_subprogram_DIE): Don't check for equivalency
5793 of DECL_ASSEMBLER_NAME when determining if we have a builtin. Don't
5794 try to read in function bodies for functions that already have bodies.
5795 * lto-symtab.c (lto_same_type_p): Check for unbounded array
5796 equivalency.
5797 (lto_symtab_merge_decl): Don't merge decls that aren't TREE_PUBLIC.
5798 Check for whether we matched a builtin function type before calling
5799 lto_same_type_p on the generated type. Permit cases where the
5800 declaration of an array is unbounded, but the definition is bounded.
5801 Don't combine TREE_PUBLIC flags. Copy over DECL_SIZE and
5802 DECL_SIZE_UNIT if necessary.
5803
5804 2007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
5805
5806 * lto-read.c (input_expr_operand): Get types right
5807 for COMPLEX_CST.
5808
5809 2007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
5810
5811 * lto-read.c (make_new_block, input_cfg): Properly set
5812 n_basic_blocks.
5813
5814 2007-11-16 Nathan Froyd <froydnj@codesourcery.com>
5815
5816 * lto.c (lto_read_array_type_DIE): Handle DIEs with DW_AT_GNU_vector
5817 set properly by building a VECTOR_TYPE instead of an ARRAY_TYPE.
5818
5819 2007-11-16 Nathan Froyd <froydnj@codesourcery.com>
5820
5821 * lto.c (lto_read_base_type_DIE): Use make_bitfield_integer_type to
5822 construct the integer type for bitfields.
5823
5824 2007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
5825
5826 * lto-read.c (data_in.current_node_has_loc): Removed.
5827 (input_line_info): Returns true if node needs line set.
5828 (set_line_info): Always sets line if called.
5829 (clear_line_info): Removed reference to current_node_needs_loc.
5830 (input_expr_operand): Keeps track locally if current node needs a loc.
5831 (input_local_var): Added code to handle DECL_INITIAL for
5832 static local vars. Only set loc if necessary.
5833
5834 2007-11-15 Nathan Froyd <froydnj@codesourcery.com>
5835
5836 * lto.c (lto_read_subroutine_type_subprogram_DIE): Fix thinko'd
5837 DECL_CONTEXT.
5838
5839 2007-11-15 Nathan Froyd <froydnj@codesourcery.com>
5840
5841 * lto.c: Include langhooks.h.
5842 (lto_find_integral_type): Rework logic to handle the case where
5843 got_byte_size is true, but the bitsize requested and that of the
5844 base_type doesn't match.
5845 (lto_read_variable_formal_parameter_constant_DIE): Only check for
5846 asm_name if we are creating a VAR_DECL.
5847 (lto_materialize_function): Set DECL_EXTERNAL if we can't find a
5848 definition.
5849 (lto_read_subroutine_type_subprogram_DIE): Check for a builtin
5850 function reference and use the builtin's decl if so. Set the
5851 DECL_CONTEXT of the RESULT_DECL for the function.
5852 * lto-lang.c (registered_builtin_fndecls): New variable.
5853 (lto_getdecls): Return it.
5854 (lto_builtin_function): Chain the new decl onto
5855 registered_builtin_fndecls.
5856
5857 2007-11-15 Kenneth Zadeck <zadeck@naturalbridge.com>
5858
5859 * lto-read.c (process_tree_flags, lto_static_init_local):
5860 Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
5861 (input_line_info, clear_line_info): Fixed new line number code.
5862 (input_expr_operand): Added type to SWITCH_EXPR.
5863 (lto_read_body): Properly initialized data_in.
5864 Clear line info when leaving.
5865
5866 2007-11-13 Diego Novillo <dnovillo@google.com>
5867
5868 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
5869 Initialize ARTIFICIAL.
5870 (lto_read_subroutine_type_subprogram_DIE): Initialize
5871 SAVED_SCOPE.
5872 * lto-read.c (set_line_info): Remove ; from calls to
5873 LINEMAP_POSITION_FOR_COLUMN.
5874
5875 2007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
5876
5877 * lto-read.c (input_type_ref): Renamed from get_type_ref.
5878 (input_expr_operand, input_local_var): Renamed get_type_ref to
5879 input_type_ref.
5880 (input_expr_operand): Get the types correct for
5881 vector-cst. Get SSA_NAME_DEF_STMT correct for return_exprs.
5882
5883 2007-11-13 Doug Kwan <dougkwan@google.com>
5884
5885 * lto-read.c (input_widest_uint_uleb128): New function.
5886 (input_tree_flags, process_tree_flags, input_line_info,
5887 input_expr_operand, input_local_var, input_phi, input_ssa_names):
5888 Change to use lto_flags_type and BITS_PER_LTO_FLAGS_TYPES instead of
5889 unsigned HOST_WIDE_INT and HOST_BITS_PER_WIDE_INT.
5890 (lto_static_init_local): Add code to assert that lto_flags_type is
5891 wide enough.
5892
5893 2007-11-13 Nathan Froyd <froydnj@codesourcery.com>
5894
5895 * lto.c (lto_read_array_type_DIE): Handle DW_AT_GNU_vector.
5896 (lto_read_subroutine_type_subprogram_DIE): Handle
5897 DW_AT_static_link and DW_AT_specification. Return the
5898 specification if present.
5899 (lto_read_base_type_DIE): Handle DW_ATE_complex_float.
5900
5901 2007-11-13 Nathan Froyd <froydnj@codesourcery.com>
5902
5903 * lto-lang.c: Include target.h.
5904 (registered_builtin_types): New variable.
5905 (lto_type_for_mode): Increase number of modes handled.
5906 (lto_builtin_function): Fix argument list and return the decl.
5907 (lto_register_builtin_type): New function.
5908 (lto_init): Initialize target builtins and language-independent
5909 nodes.
5910 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define.
5911
5912 2007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
5913
5914 * lto-read.c (input_expr_operand): Added code to properly handle
5915 index filed. Added new RANGE_EXPR case.
5916
5917 2007-11-11 Kenneth Zadeck <zadeck@naturalbridge.com>
5918
5919 * lto-read.c (ADD_FUNC_FLAG): Deleted macro.
5920 (data_in): Added current_node_has_loc field.
5921 (input_line_info, set_line_info, clear_line_info): Added a support
5922 for USE_MAPPED_LOCATION and not adding line numbers to nodes that
5923 did not have on on the source side.
5924 (input_expr_operand): Make sure that GIMPLE_MODIFY_STMTS get line
5925 numbers too.
5926
5927 2007-11-09 Doug Kwan <dougkwan@google.com>
5928
5929 * lto-read.c (input_expr_operand): Change type of operand 2 of
5930 BIT_FIELD_REF expression to be bitsizetype instead of sizetype.
5931
5932 2007-11-09 Nathan Froyd <froydnj@codesourcery.com>
5933
5934 * lto.c: Include lto-tree.h. Effect small spaces->tabs cleanup.
5935 (lto_read_variable_formal_parameter_constant_DIE): Transfer bits
5936 from a DW_AT_specification or DW_AT_abstract_origin attribute to
5937 the new decl we are creating. Move informing the middle end about
5938 the new decl to...
5939 (lto_main): ...here. Inform the middle end about global variables
5940 after we have read in all the input files.
5941 * lto-symtab.c (lto_symtab_merge_decl): We really do need to merge
5942 variables with internal linkage, so delete the check for internal
5943 linkage. Combine TREE_PUBLIC flags.
5944
5945 2007-11-08 Nathan Froyd <froydnj@codesourcery.com>
5946
5947 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
5948 DW_AT_decl_line.
5949 * lto-symtab.c (lto_symtab_merge_decl): Handle redefinition of a
5950 builtin specially. Move check for attribute compatibility
5951 earlier.
5952
5953 2007-11-07 Nathan Froyd <froydnj@codesourcery.com>
5954
5955 * Make-lang.in (lto/lto.o): Depend on gt-lto-lto.h.
5956 * config-lang.in (gtfiles): Add lto.h and lto.c.
5957 * lto-elf.c: Include ggc.h.
5958 (lto_elf_file_open): Allocate elf_file from GC memory.
5959 * lto.c: Include tree-ssa-operands.h and gt-lto-lto.h
5960 (lto_info_fd_init): Allocate the die_cache and unmaterialized_fndecls
5961 in GC memory.
5962 (lto_info_fd_close): Free unmaterialized_fndecls from GC memory.
5963 (lto_file_close): Free file from GC memory.
5964 (lto_cache_store_DIE): Allocate the new entry in GC memory.
5965 (lto_read_member_DIE): Fix declaration.
5966 (lto_read_subroutine_type_subprogram_DIE): unmaterialized_fndecls lives
5967 in GC memory.
5968 (current_lto_file): New variable.
5969 (lto_main): Use it.
5970 (DWARF2_attr, DWARF2_abbrev, lto_die_ptr, DWARF2_CompUnit,
5971 lto_die_cache_entry): Move to...
5972 * lto.h: ...here and add GTY markers as appropriate. Delete forward
5973 declarations accordingly.
5974 (struct lto_file_struct): Declare.
5975 (lto_file_vtable): Use it instead of lto_file.
5976
5977 2007-11-06 Alon Dayan <alond@il.ibm.com>
5978 Kenneth Zadeck <zadeck@naturalbridge.com>
5979
5980 * lto-read.c (process_flags, lto_static_init_local):
5981 read flags of VAR_DECL and FUNCTION_DECL of size>1.
5982 change global array num_flags_for_code to flags_length_for_code.
5983 (set_line_info): Make decls work in USE_MAPPED_LOCATION mode.
5984
5985 2007-11-05 Nathan Froyd <froydnj@codesourcery.com>
5986
5987 * lto.c (lto_read_structure_union_class_type_DIE): Use proper record
5988 layout functions to compute information about the newly constructed
5989 type.
5990
5991 2007-11-02 Nathan Froyd <froydnj@codesourcery.com>
5992
5993 * lto-read.c (input_expr_operand): Change the LTO_return_expr1
5994 case to use DECL_RESULT if necessary.
5995
5996 2007-11-01 Kenneth Zadeck <zadeck@naturalbridge.com>
5997
5998 * lto-read.c (input_tree_list): Removed.
5999 (input_tree_flags): Added parameter to force flags no matter what
6000 tree code.
6001 (input_expr_operand): Added parameter to input_tree_flags.
6002 Added case for IDENTIFIER_NODE and TREE_LIST. Changed ASM to call
6003 input_expr_operand rather than input_tree_lists.
6004 (input_local_var): Use input_expr_operand to read attributes
6005 rather then input_tree_list.
6006 (input_phi, input_ssa_names): Added parameter to input_tree_flags.
6007
6008 2007-10-31 Nathan Froyd <froydnj@codesourcery.com>
6009
6010 * lto.c (lto_read_typedef_DIE): Fix comment typo.
6011 (lto_resolve_typedecl_ref): Fetch the referred-to type and build a fake
6012 TYPE_DECL for it.
6013 * lto-read.c (lto_read_body): Use correct sizes for calculating
6014 type_decls_offset and types_offset.
6015
6016 2007-10-30 Nathan Froyd <froydnj@codesourcery.com>
6017
6018 * lto-tree.h (union lang_tree_node): Change GTY description to chain
6019 with GENERIC_NEXT.
6020 * config-lang.in (gtfiles): Add lto-lang.c.
6021 * lto-lang.c: Include gt-lto-lto-lang.h.
6022 * Make-lang.in (lto/lto-lang.o): Add dependency on gt-lto-lto-lang.h
6023 (lto/lto-symtab.o): Depend on LTO_H instead of TREE_H.
6024 (lto/lto-read.o): Likewise.
6025
6026 2007-10-29 Kenneth Zadeck <zadeck@naturalbridge.com>
6027
6028 * lto-read.c (data_in): Added type_decls and current_col fields.
6029 (string_slot): New type to hold canonized file name.
6030 (hash_string_slot_node, eq_string_slot_node, canon_file_name,
6031 input_line_info, set_line_info, clear_line_info): New functions.
6032 (file_name_hash_table): New hash table.
6033 (input_local_var, input_labels, input_local_vars_index,
6034 input_local_var, input_local_vars, input_ssa_names): Reorganized parameters.
6035 (input_uleb128): Changed type of byte var.
6036 (input_expr_operand): Large number of changes to get line numbers
6037 correct. Added TYPE_DECL case.
6038 (input_globals): Added code to get TYPE_DECLs processed.
6039 (input_local_var): Added code to process line numbers and
6040 TREE_CHAIN and DECL_CONTEXT.
6041 (input_function, input_constructor): Added call to
6042 clear_line_number.
6043 (lto_static_init_local): Added code to get line numbers correct.
6044 (lto_read_body): Added code to get TYPE_DECLS read and to change
6045 parameters to the calls above that had their parms reorganized.
6046
6047 2007-10-29 Nathan Froyd <froydnj@codesourcery.com>
6048
6049 * lto.h (lto_resolve_typedecl_ref): Declare.
6050 * lto.c (lto_resolve_typedecl_ref): New function.
6051
6052 2007-10-29 Mark Mitchell <mark@codesourcery.com>
6053 Nathan Froyd <froydnj@codesourcery.com>
6054
6055 * lto.c (lto_read_subroutine_type_subprogram_DIE): Read the child
6056 DIEs even if we find an abstract origin for this DIE.
6057
6058 2007-10-29 Nathan Froyd <froydnj@codesourcery.com>
6059
6060 * lto.c (lto_read_subroutine_type_subprogram_DIE): Build the
6061 RESULT_DECL slightly earlier. Only remember the decl for later
6062 if we successfully merge declarations.
6063
6064 2007-10-24 Kenneth Zadeck <zadeck@naturalbridge.com>
6065
6066 * lto-read.c (input_expr_operand): Give label_values the proper
6067 context and provide switch statements with a default type.
6068
6069 2007-10-23 Nathan Froyd <froydnj@codesourcery.com>
6070
6071 * lto-read.c (lto_read_body): Move call to init_ssa_operands...
6072 * lto.c (lto_materialize_function): ...to here.
6073
6074 2007-10-22 Nathan Froyd <froydnj@codesourcery.com>
6075
6076 * lto.h (struct lto_info_fd): Add field unmaterialized_fndecls.
6077 * lto.c (lto_info_fd_init): Initialize it.
6078 (lto_info_fd_close): Free it.
6079 (lto_materialize_function): New function.
6080 (lto_read_subroutine_type_subprogram_DIE): Save the result decl on
6081 unmaterialized_fndecls.
6082 (lto_file_read): Read in all the function bodies after we have read
6083 all of the DWARF info.
6084 * lto-read.c (lto_read_body): Call init_ssa_operands if we are
6085 reading a function body.
6086
6087 2007-10-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6088
6089 * lto-read.c (input_tree_flags): Renamed from input_flags to be
6090 semetric with output_tree_flags. Added call to log flags.
6091 (process_tree_flags): Renamed from process_flags. Fixed a lot of
6092 type issues to make everything consistent with flags being
6093 unsigned HOST_WIDE_INTS.
6094 (input_expr_operand): Added call to
6095 recompute_tree_invariant_for_addr_expr.
6096 (input_local_var): Added debugging for tree_chains. Now calls
6097 input_tree_flags.
6098 (input_phi): Made flags unsigned HOST_WIDE_INT.
6099 (input_ssa_names): Now calls input_tree_flags.
6100 (lto_read_body): Now sets cfun.
6101 (lto_read_function_body): Now sets current_function_pointer.
6102
6103 2007-10-19 Nathan Froyd <froydnj@codesourcery.com>
6104
6105 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Check
6106 definitively whether SPECIFICATION or ABSTRACT_ORIGIN exist before
6107 inspecting fields within.
6108 (lto_read_DIE_at_ptr): Delete check for null result; let callers
6109 handle this appropriately.
6110
6111 2007-10-19 Nathan Froyd <froydnj@codesourcery.com>
6112
6113 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Handle
6114 DW_AT_abstract_origin properly. Ensure that we're not dealing with
6115 both DW_AT_abstract_origin and DW_AT_specification.
6116 (lto_read_subroutine_type_subprogram_DIE): Handle
6117 DW_AT_abstract_origin.
6118 (lto_read_DIE): Use lto_read_only_for_child_DIEs for labels.
6119 (lto_read_DIE_at_ptr): Define as static to match declaration.
6120 Lookup the PTR in the cache before reading it from the file.
6121 (lto_resolve_var_ref): Adjust accordingly.
6122 (lto_resolve_fn_ref): Adjust accordingly. Tweak comment.
6123 (lto_resolve_field_ref): Adjust accordingly. Tweak comment.
6124
6125 2007-10-19 Nathan Froyd <froydnj@codesourcery.com>
6126
6127 * lto.c (lto_read_DIE_at_ptr): New function.
6128 (lto_resolve_var_ref): Use it.
6129 (lto_resolve_fn_ref): Use it.
6130 (lto_resolve_field_ref): Use it.
6131 (lto_read_variable_formal_parameter_constant_DIE): Follow
6132 DW_AT_specification and return the associated decl when appropriate.
6133
6134 2007-10-18 Nathan Froyd <froydnj@codesourcery.com>
6135
6136 * lto-lang.c (lto_type_for_mode): Move after lto_type_for_size.
6137 Implement for scalar integer modes.
6138 (lto_init): Initialize size_type_node.
6139
6140 2007-10-18 Kenneth Zadeck <zadeck@naturalbridge.com>
6141
6142 * lto-read.c (input_expr_operand): Remove ssa name asserts.
6143 (input_local_var): Add chaining for params.
6144 (input_ssa_names): Add cfun parameter.
6145 (input_function): Remove unnecessary else.
6146
6147 2007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6148
6149 * lto.c (lto_read_only_for_child_DIEs): Mark die parameter as unused.
6150 (lto_resolve_var_ref): Use proper types.
6151 (lto_resolve_fn_ref): Likewise.
6152 (lto_resolve_field_ref): Likewise.
6153
6154 2007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6155
6156 * lto-read.c (input_expr_operand): Remove case.
6157
6158 2007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6159
6160 * lto.c (lto_read_only_for_child_DIEs): New function.
6161 (lto_read_DIE): Use it for lexical_block and inlined_subroutine DIEs.
6162 * lto-elf.c (lto_elf_map_lto_section): Remove.
6163 (lto_elf_file_vtable): Use lto_elf_map_optional_lto_section instead.
6164 * lto-read.c (input_expr_operand): Assert that we never read a NULL
6165 SSA_NAME. Add missing case for mechanical codes.
6166 (input_cfg): Use basic_block_info_for_function instead of
6167 basic_block_info.
6168
6169 2007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
6170
6171 * lto-read.c (input_sleb128, input_integer): Use proper casts.
6172 (input_list): Renamed input_tree_list and modified to follow same
6173 protocol as lto-function-out.c:output_tree_list.
6174 (input_expr_operand): Make asm operands use input_tree_list.
6175 (input_local_var): Now uses input_tree_list.
6176 (lto_read_body): Change placement for setting context of debug_labels.
6177
6178 2007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
6179
6180 * lto-read.c (input_real): Output debugging in proper order.
6181 (input_integer): Compute bit lengths properly.
6182 (input_list): Clean up declaration.
6183 (input_expr_operand): Change calls to input_real to match fix.
6184 Make reading of LTO_bit_field_ref1 match output.
6185 (input_local_var): Make reading of attributes match what is being
6186 written.
6187 (dump_debug_stream): Also print char in hex.
6188 (debug_out_fun): Fix signed unsigned mismatch.
6189
6190 2007-10-10 Nathan Froyd <froydnj@codesourcery.com>
6191
6192 * lto.c (lto_read_form): Handle DW_AT_MIPS_linkage_name and
6193 DW_AT_GNU_vector specially, as they are not contiguous with the
6194 specified set of attribute names. Use class_mask to check for
6195 errors at the end of the function
6196 (lto_resolve_var_ref): Read the DIE if it is not cached.
6197 (lto_resolve_fn_ref): Likewise.
6198 (lto_resolve_field_ref): Likewise.
6199
6200 2007-10-05 Nathan Froyd <froydnj@codesourcery.com>
6201
6202 * lto.c: Include dwarf2out.h.
6203 (lto_cache_store_DIE): Assert that we never change the value.
6204 (LTO_BEGIN_READ_ATTRS): Print an informative error message.
6205 (lto_read_compile_unit_DIE): Handle DW_AT_entry_pc.
6206 (lto_read_array_type_DIE): Don't error on ndims == 0; build a
6207 sensible type instead.
6208 (lto_read_structure_union_class_type_DIE): Store the newly
6209 created type prior to reading the members of the structure to
6210 avoid infinite recursion. Avoid computing types and alignments
6211 for structures whose sizes are unknown.
6212 (lto_read_variable_formal_parameter_const): Handle DW_AT_artificial
6213 and set DECL_ARTIFICIAL accordingly. Ignore DW_AT_abstract_origin,
6214 DW_AT_const_value, and DW_AT_specification.
6215 (lto_read_subroutine_type_subprogram_DIE): Handle DW_AT_declaration.
6216 Return early if we have already constructed the function type.
6217 (lto_read_typedef_DIE): Check to see if the type has been cached
6218 already. Cache the type before reading any children.
6219 (lto_read_const_volatile_restrict_type_DIE): Handle DW_AT_name.
6220 (lto_read_DIE): Unset context->skip_non_parameters around reading
6221 the DIE.
6222 (lto_resolve_fn_ref): Delete trailing whitespace.
6223
6224 2007-09-11 Kenneth Zadeck <zadeck@naturalbridge.com>
6225
6226 * lto-read.c (input_expr_operand): Added type for STRING_CST.
6227
6228 2007-09-10 Nathan Froyd <froydnj@codesourcery.com>
6229
6230 * lto-read.c (lto_read): Set the type of the newly created CALL_EXPR.
6231
6232 2007-09-07 Nathan Froyd <froydnj@codesourcery.com>
6233
6234 * lto-lang.c (signed_and_unsigned_types): New variable.
6235 (lto_type_for_size): Consult signed_and_unsigned_types to find
6236 an approprite type, creating it if necessary.
6237 (lto_set_decl_assembler_name): Add actual method body.
6238
6239 2007-09-06 Jim Blandy <jimb@codesourcery.com>
6240
6241 * lto.c (lto_read_variable_formal_parameter_constant_DIE): If we
6242 can't find a var init for this variable, leave its DECL_INITIAL.
6243 * lto-elf.c (lto_elf_map_optional_lto_section): Renamed from
6244 lto_elf_map_fn_body.
6245 (lto_map_lto_section): New function.
6246 (lto_elf_file_vtable): Use lto_elf_map_lto_section for function
6247 bodies, and lto_elf_map_optional_lto_section for variable
6248 initializers.
6249 (lto_elf_find_section_data): Quietly return NULL if the section is
6250 missing.
6251 (lto_elf_file_open): Check for a NULL from lto_elf_find_section_data.
6252
6253 * lto-elf.c (lto_elf_find_section_data): Remove dead code.
6254
6255 * lto-read.c (lto_read_body): Doc fix.
6256
6257 2007-08-29 Kenneth Zadeck <zadeck@naturalbridge.com>
6258
6259 * lto-read.c (fun_in): Renamed to data_in.
6260 (input_expr_operand, input_local_var, input_string_internal,
6261 input_string, input_real, input_list, get_label_decl,
6262 get_type_ref, input_expr_operand, input_globals, input_labels,
6263 input_local_vars_index, input_local_var, input_local_vars,
6264 input_cfg, input_phi, input_ssa_names, input_bb, ): Renamed fun_in to data_in.
6265 (input_constructor): New function.
6266 (lto_read_function_body): Renamed to lto_read_body and generalized
6267 to handle both functions and constructors.
6268 (lto_read_function_body, lto_read_var_init): New function.
6269
6270 2007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
6271
6272 * lto-read.c (input_expr_operand): Assert that there really is a
6273 FUNCTION_DECL.
6274 (input_globals): Removed checks on 0 section.
6275
6276 2007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
6277
6278 * lto-read.c (fun_in): Added local_decls_index and
6279 local_decls_index_d.
6280 (input_expr_operand): Changed inputting of PARM_DECLs and VAR_DECLs.
6281 (input_globals): Enabled code to handle FIELD_DECLs.
6282 (input_local_vars_index, input_local_vars): New function.
6283 (input_local_var): Changed to allow locals to be input randomly.
6284 (lto_read_function_body): Added code to input the
6285 local_decls_index and to free various structures.
6286
6287 2007-08-17 Jim Blandy <jimb@codesourcery.com>
6288
6289 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Remove
6290 ATTRIBUTE_UNUSED from 'die' formal.
6291
6292 Use enum LTO_tags where appropriate, instead of 'unsigned int'.
6293 * lto-read.c (input_record_start): Fix return type, type of 'tag'.
6294 (input_list): Fix type of 'tag'.
6295 (input_expr_operand): Fix type of 'tag' argument. Update
6296 declaration. Fix type of 'ctag'. Add default case to switch,
6297 since the type of the switched value is now an enum.
6298 (input_local_vars): Fix type of 'tag'.
6299 (input_bb): Fix type of 'tag' argument.
6300 (input_function): Fix type of 'tag' argument.
6301
6302 2007-08-16 Jim Blandy <jimb@codesourcery.com>
6303
6304 * lto.c (lto_read_member_DIE): Record the tree we create in
6305 fd->die_cache. (Our 'die' argument is no longer unused.)
6306 (lto_resolve_field_ref): New function.
6307 * lto.h (lto_resolve_field_ref): New declaration.
6308
6309 2007-08-15 Jim Blandy <jimb@codesourcery.com>
6310
6311 * lto-read.c (lto_read_var_init): Mark arguments as unused.
6312
6313 2007-08-07 Jim Blandy <jimb@codesourcery.com>
6314
6315 * lto.c (lto_read_form): Complete attr_classes table.
6316 (DWARF2_form_data): Doc fix.
6317
6318 2007-08-05 Mark Mitchell <mark@codesourcery.com>
6319
6320 * lto.h (lto_file_vtable): Remove read_var_init. Add map_var_init
6321 and unmap_var_init.
6322 (lto_read_var_init): Declare.
6323 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Use new
6324 interface for reading variable initializers.
6325 * lto-elf.c (lto_elf_read_var_init): Remove.
6326 (lto_elf_file_vtable): Update initializer.
6327 (lto_elf_read_var_init): Add comment about unused-ness.
6328 * lto-read.c (lto_read_var_init): New.
6329
6330 * lto.c (lto_read_form): Add entry for DW_AT_inline.
6331
6332 2007-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
6333
6334 * lto-read.c (lto_read_function_body): Moved declaration of fn
6335 outside of ifdef.
6336
6337 2007-08-01 Kenneth Zadeck <zadeck@naturalbridge.com>
6338
6339 * lto-read.c (input_uleb128, input_string_internal, input_real,
6340 input_integer, input_record_start, input_list, get_type_ref,
6341 input_flags, input_expr_operand, input_expr_operand,
6342 input_expr_operand, input_local_vars, input_cfg, input_phi,
6343 input_ssa_names, input_bb, input_function): Added semicolons.
6344
6345
6346 2007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
6347
6348 * lto-read.c (input_globals): Remove debugging.
6349 (input_function): Set DECL_ARGUMENTS.
6350
6351 2007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
6352
6353 * lto-read.c (input_expr_operand): Fixed code for COND_EXEC,
6354 RETURN_EXPR, MODIFY_EXPR and processing of flags.
6355 (input_phi): Made work with operands other than SSA_NAMES and
6356 fixed processing of flags.
6357 (input_ssa_names): Initialize SSA_NAME_DEF_STMT to empty stmt.
6358 (input_flags): New function.
6359 * lto-lang.c (lto_init): Changed state of in_lto_p.
6360
6361
6362 2007-07-24 Mark Mitchell <mark@codesourcery.com>
6363
6364 * lto-tree.h (lto_varargs_cookie): Remove.
6365 * lto.c (lto_context): Add last_parm_type, varargs_p, skip_all,
6366 skip_non_parameters, skip_parameters.
6367 (lto_varargs_cookie): Remove.
6368 (lto_read_variable_formal_parameter_constant_DIE): Keep track of
6369 parameter types.
6370 (lto_read_abbrev): New function.
6371 (lto_read_subroutine_type_subprogram_DIE): Make two passes over
6372 child DIEs.
6373 (lto_read_unspecified_parameters_DIE): Set context->varargs_p.
6374 (lto_read_DIE): Use lto_read_abbrev. Honor skip_* flags.
6375 (lto_file_read): Initialize new context fields.
6376 * lto-lang.c (lto_type_for_mode): Return NULL_TREE.
6377 (lto_unsigned_type): Remove.
6378 (lto_signed_type): Likewise.
6379 (lto_signed_or_unsigned_type): Likewise.
6380 (lto_init): Do not create lto_varargs_cookie.
6381 (LANG_HOOKS_UNSIGNED_TYPE): Do not define.
6382 (LANG_HOOKS_SIGNED_TYPE): Likewise.
6383 (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Likewise.
6384
6385 2007-07-19 Jan Hubicka <jh@suse.cz>
6386
6387 * lto-read.c (lto_read_function_body): Produce empty scope block
6388 to avoid crash.
6389
6390 2007-07-18 Mark Mitchell <mark@codesourcery.com>
6391
6392 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Do not
6393 process local variables.
6394 (lto_read_subroutine_type_subprogram_DIE): Read child DIEs.
6395
6396 2007-07-13 Kenneth Zadeck <zadeck@naturalbridge.com>
6397
6398 * lto-read.c (input_list, input_expr_operand): Added struct
6399 function parameter.
6400 (init_cfg, finalize_cfg): Removed function.
6401 (input_expr_operand): Added SSA_NAME and GIMPLE_MODIFY_STMT cases.
6402 (input_labels, input_local_vars): Now takes input_block parameter rather than
6403 synthsyzing it.
6404 (input_cfg, input_phi, input_ssa_names): New functions.
6405 (input_bb): Now passes in input_blocks. Does not construct cfg
6406 and processes the list of phi functions.
6407 (input_function): Now builds both the cfg and ssa_names table.
6408 (lto_read_function_body): Processes new header fields to construct
6409 streams for the ssa_names and cfg and their debugging.
6410 * lto-lang.c (lto_init): Set in_lto_p.
6411
6412
6413 2007-06-28 Mark Mitchell <mark@codesourcery.com>
6414
6415 * lto.h (lto_file_vtable): Add read_var_init.
6416 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Read
6417 initializers.
6418 (lto_main): Remove bogus asserts.
6419 * lto-elf.c (tm.h): Include it.
6420 (libiberty.y): Likewise.
6421 (lto_elf_file): Add strtab and symtab. Rename
6422 string_table_section_index to sec_strtab.
6423 (lto_elf_file_vtable): Add lto_elf_read_var_init.
6424 (lto_elf_get_shdr): New function.
6425 (lto_elf_free_shdr): Likewise.
6426 (lto_elf_find_section_data): Use them.
6427 (lto_elf_read_symtab): New function.
6428 (lto_elf_lookup_sym): Likewise.
6429 (lto_elf_free_sym): Likewise.
6430 (lto_elf_file_open): Tidy. Call lto_elf_read_symtab.
6431 (lto_elf_built_init): New function.
6432 (lto_elf_read_var_init): Likewise.
6433 * Make-lang.in (lto/lto-elf.o): Depend on $(TM_H).
6434
6435 2007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
6436
6437 * lto-read (make_new_block): Initialize the stmt_list.
6438 (lto_static_init_local): Add debugging for missing codes.
6439
6440 2007-06-26 Mark Mitchell <mark@codesourcery.com>
6441
6442 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
6443 unprototyped functions.
6444
6445 2007-06-23 Mark Mitchell <mark@codesourcery.com>
6446
6447 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
6448 Handle DW_AT_MIPS_linkage_name.
6449 (lto_read_subroutine_type_subprogram): Likewise. Correct
6450 compilation errors.
6451 (lto_main): Remove incorrect assertions.
6452 * lto-symbtab.c: Build function types out of TREE_LISTs.
6453
6454 * lto-elf.c (<libelf>): Check for HAVE_LIBELF_H.
6455
6456 * Make-lang.in (LTO_OBJS): Depend on attribs.o.
6457
6458 2007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
6459
6460 * lto-tree.h (lang_decl, lang_type, language_function): Added
6461 dummy since ggc does not like empty structs.
6462 * lto-elf.c (libelf.h): Changed to libelf/libelf.h.
6463 * lto-read.c (ADD_CLASS_FLAG, ADD_EXPR_FLAG): Changed
6464 expr->common to expr->base.
6465 (make_new_block): Moved stmt_list to proper place.
6466
6467 2007-03-14 Robert Kennedy <jimbob@google.com>
6468
6469 Eliminate use of lang_hooks.set_decl_assembler_name from LTO
6470 * lto.c (lto_read_subroutine_type_subprogram_DIE) Get DECL
6471 assembler name from DWARF.
6472 * lto-lang.c (lto_set_decl_assembler_name) New function.
6473
6474 2006-09-10 Mark Mitchell <mark@codesourcery.com>
6475
6476 * lto.h (lto_file_vtable): New structure.
6477 (lto_file): Add vtable pointer.
6478 (lto_file_init): Add vtable paramter.
6479 (lto_read_function_body): New function.
6480 (lto_symtab_merge_fn): New function.
6481 * lto.c (lto_file_init): Add vtable parameter.
6482 (lto_read_form): Fill in entries for DW_AT_prototyped,
6483 DW_AT_frame_base.
6484 (lto_read_subroutine_type_subprogram_DIE): New function.
6485 (lto_read_DIE): Fill in entries for DW_TAG_subroutine_type and
6486 DW_TAG_subprogram.
6487 * lto-elf.c (lto_elf_vile_vtable): New variable.
6488 (lto_elf_file_open): Pass it to lto_file_init.
6489 (lto_elf_map_fn_body): New function.
6490 (lto_elf_unmap_fn_body): Likewise.
6491 * lto-read.c: New file.
6492 * lto-symtab.c (lto_symtab_merge_fn): New function.
6493 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define to
6494 tree_rest_of_compilation.
6495 * Make-lang.in (LTO_OBJS): Add lto-read.o
6496 (lto-read.o): New target.
6497
6498 2006-09-03 Mark Mitchell <mark@codesourcery.com>
6499
6500 * lto.c (<inttypes.h>): Don't include it.
6501 (lto_context): Don't typedef it.
6502 (lto_resolve_reference): New function.
6503 (lto_read_form): Use it.
6504 (lto_resolve_type_ref): New function.
6505 (lto_resolve_var_ref): Likewise.
6506 (lto_resolve_fn_ref): Likewise.
6507 * lto.h (<inttypes.h>): Include it.
6508 (lto_context): New type.
6509 (lto_ref): New structure.
6510 (lto_resolve_type_ref): Declare.
6511 (lto_resolve_var_ref): Likewise.
6512 (lto_resolve_fn_ref): Likewise.
6513
6514 2006-08-18 Mark Mitchell <mark@codesourcery.com>
6515
6516 * lang-specs.h: New file.
6517
6518 2006-08-14 Mark Mitchell <mark@codesourcery.com>
6519
6520 * lto.c (lto_info_fd_init): Allocate the DIE cache.
6521 (lto_info_fd_close): Deallocate it.
6522 (lto_die_cache_entry): New structure.
6523 (lto_cache_hash): New function.
6524 (lto_cache_eq): Likewise.
6525 (lto_cache_store_DIE): Likewise.
6526 (lto_cache_lookup_DIE): Likewise.
6527 (lto_read_referenced_type_DIE): Use the cache.
6528 (lto_read_pointer_type_DIE): Robustify.
6529 (lto_read_DIE): Use the cache.
6530 * lto.h (hashtab.h): Include.
6531 (lto_info_fd): Add DIE cache.
6532 * Make-lang.in (LTO_H): New variable.
6533 (lto/lto-lang.o): Use LTO_H.
6534 (lto/lto-elf.o): Likewise.
6535 (lto/lto-symtab.o): Likewise.
6536
6537 2006-07-09 Mark Mitchell <mark@codesourcery.com>
6538
6539 * lto.c (lto_abi_mismatch_error): New function.
6540 (lto_abbrev_read): Initialize num_abbrevs.
6541 (lto_read_form): Specify allowed form classes for
6542 DW_AT_declaration. Adjust for change to lto_set_cu_context.
6543 (lto_read_variable_formal_parameter_constant_DIE): Handle
6544 DW_AT_declaration. Call lto_symtab_merge_var.
6545 (lto_read_pointer_type_DIE): New function.
6546 (lto_read_base_type_DIE): Use build_nonstandard_integer_type. Do
6547 not creat TYPE_DECLs for types that already have them.
6548 (lto_read_DIE): Add lto_read_pointer_type_DIE.
6549 (lto_set_cu_context): Make cu_start point to the header, not the
6550 first DIE.
6551 (lto_file_read): Adjust for change to lto_set_cu_context.
6552 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
6553 (lto/lto-symtab.o): New rule.
6554 * lto-tree.h (lang_identifier): Add decl field.
6555 (LANG_IDENTIFIER_CAST): New macro.
6556 (LTO_IDENTIFIER_DECL): Likewise.
6557 (lto_symtab_merge_var): Declare.
6558 * lto-symtab.c: New file.
6559
6560 2006-07-02 Daniel Berlin <dberlin@dberlin.org>
6561
6562 * lto.c (lto_context): Add current_cu and info_fd members.
6563 (DWARF2_CompUnit): New structure.
6564 (lto_read_DIE): Take lto_info_fd *.
6565 (lto_read_child_DIEs): Ditto.
6566 (lto_file_corrupt_error): Constify argument.
6567 (lto_set_cu_context): New function
6568 (lto_info_fd_init): Ditto.
6569 (lto_info_fd_close): Ditto.
6570 (lto_file_init): Use lto_info_fd_init.
6571 (lto_file_close): Use lto_info_fd_close.
6572 (lto_read_initial_length): Pass in pointer to header size.
6573 (lto_read_comp_unit_header): Correct cu_length to
6574 real length from beginning of header. Take lto_info_fd * as
6575 argument.
6576 (find_cu_for_offset): New function.
6577 (lto_read_form): Change first argument to lto_info_fd *.
6578 Add FORM_CONTEXT argument.
6579 Handle DW_FORM_ref_addr.
6580 (lto_read_tag_DIE): Change first argument to lto_info_fd *.
6581 (LTO_BEGIN_READ_ATTRS_UNCHECKED): Save old context.
6582 Swap contexts if necessary for form.
6583 (LTO_BEGIN_READ_ATTRS): Cast fd to right type for
6584 lto_file_corrupt_error.
6585 (LTO_END_READ_ATTRS): Swap contexts back if it had changed.
6586 (lto_read_referenced_type_DIE): Change first argument to
6587 lto_info_fd *. Access lto_fd fields through base pointer.
6588 (lto_read_compile_unit_DIE): Change first argument to an
6589 lto_info_fd *.
6590 (lto_read_variable_formal_parameter_constant_DIE): Ditto.
6591 (lto_read_base_type_DIE): Ditto.
6592 (lto_read_child_DIEs): Ditto.
6593 (lto_read_DIE): Ditto. Change type of function pointer.
6594 (lto_info_read): New function.
6595 (lto_set_cu_context): Ditto.
6596 (lto_file_read): Use lto_info_read, walk resulting CU's
6597 (lto_main): Update for lto_info_fd change.
6598 * lto-elf.c (lto_elf_file_open): Cast lto_info_fd to lto_fd where
6599 necessary.
6600 * lto.h (DWARF2_CompUnit): New structure.
6601 (lto_info_fd): Ditto.
6602 (lto_file): Change debug_info to be an lto_info_fd.
6603
6604 2006-06-25 Mark Mitchell <mark@codesourcery.com>
6605
6606 * lto.c (toplev.h): Include it.
6607 (dwarf2.h): Likewise.
6608 (tree.h): Likewise.
6609 (tm.h): Likewise.
6610 (cgraph.h): Likewise.
6611 (ggc.h): Likewise.
6612 (inttypes.h): Likewise.
6613 (DWARF2_attr): New type.
6614 (DWARF2_abbrev): Likewise.
6615 (DWARF2_class): Likewise.
6616 (DWARF2_form_data): Likewise.
6617 (lto_context): Likewise.
6618 (lto_fd_init): New function.
6619 (lto_abbrev_fd_init): Likewise.
6620 (lto_abbrev_fd_close): Likewise.
6621 (lto_file_init): Use them.
6622 (lto_file_close): New function.
6623 (lto_file_corrupt_error): Likewise.
6624 (LTO_CHECK_INT_VAL): New macro.
6625 (lto_check_size_t_val): New function.
6626 (lto_check_int_val): Likewise.
6627 (LTO_READ_TYPE): New macro.
6628 (lto_read_ubyte): New function.
6629 (lto_read_uhalf): Likewise.
6630 (lto_read_uword): Likewise.
6631 (lto_read_uleb128): Likewise.
6632 (lto_read_initial_length): Likewise.
6633 (lto_abbrev_read_attrs): Likewise.
6634 (lto_abbrev_read): Likewise.
6635 (lto_abbrev_lookup): Likewise.
6636 (lto_read_section_offset): Likewise.
6637 (lto_read_comp_unit_header): Likewise.
6638 (lto_read_form): Likewise.
6639 (LTO_BEGIN_READ_ATTRS_UNCHECKED): New macro.
6640 (LTO_BEGIN_READ_ATTRS): Likewise.
6641 (LTO_END_READ_ATTRS): Likewise.
6642 (lto_unsupported_attr_error): New function.
6643 (lto_get_identifier): Likewise.
6644 (lto_read_referenced_type_DIE): Likewise.
6645 (lto_read_compile_unit_DIE): Likewise.
6646 (lto_read_variable_formal_parameter_constant_DIE): Likewise.
6647 (lto_read_base_type_DIE): Likewise.
6648 (lto_read_DIE): Likewise.
6649 (lto_read_child_DIEs): Likewise.
6650 (lto_file_read): Read DIEs.
6651 (lto_main): Ask middle end to emit entities.
6652 * lto-tree.h (lang_identifier): Inherit from tree_identifier.
6653 * lto-elf.c (lto_elf_file_open): Adjust for interface changes.
6654 (lto_elf_file_close): Likewise.
6655 * lto.h (lto_file): Declare.
6656 (DWARF2_abbrev): Likewise.
6657 (lto_fd): New type.
6658 (lto_abbrev_fd): Likewise.
6659 (lto_file): Use new types.
6660 (lto_file_close): Declare.
6661 * lto-lang.c (lto_init): Always use unit-at-a-time mode.
6662
6663 2006-06-18 Mark Mitchell <mark@codesourcery.com>
6664
6665 * lto.h: New file.
6666 * lto.c: New file.
6667 * lto-elf.c: New file.
6668 * lto-lang.c (flags.h): Include it.
6669 (lto.h): Likewise.
6670 (lto_init): New function.
6671 (lto_write_globals): Remove.
6672 (LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing.
6673 (LANG_HOOKS_INIT): Define.
6674 (LANG_HOOKS_PARSE_FILE): Likewise.
6675 * Make-lang.in (LTO_OBJS): Add lto.o and lto-elf.o.
6676 (LTO_EXE): Link with libelf.
6677 (lto/lto-lang.o): Update dependencies.
6678 (lto/lto.o): New target.
6679 (lto/lto-elf.o): Likewise.
6680
6681 2006-06-12 Mark Mitchell <mark@codesourcery.com>
6682
6683 * config-lang.in: New file.
6684 * Make-lang.in: Likewise.
6685 * lto-tree.h: Likewise.
6686 * lto-lang.c: Likewise.
6687 \f
6688 Copyright (C) 2006-2023 Free Software Foundation, Inc.
6689
6690 Copying and distribution of this file, with or without modification,
6691 are permitted in any medium without royalty provided the copyright
6692 notice and this notice are preserved.
This page took 0.342532 seconds and 6 git commands to generate.