]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/lto/ChangeLog
changelog: Fix extra space after tab.
[thirdparty/gcc.git] / gcc / lto / ChangeLog
CommitLineData
f36bba01
GA
12022-10-29 Thomas Schwinge <thomas@codesourcery.com>
2
3 * lang.opt: Better separate 'LTO' vs. 'LTODump'.
4
3055829a
GA
52022-10-28 Joseph Myers <joseph@codesourcery.com>
6
7 * lto-common.cc (compare_tree_sccs_1): Compare
8 TYPE_NO_NAMED_ARGS_STDARG_P.
9
102022-10-28 Martin Liska <mliska@suse.cz>
11
12 * lto-dump.cc (dump_list): Remove trailing return.
13 (dump_symbol): Likewise.
14 (dump_body): Filter name based on mangled name.
15 (dump_tool_help): Use GIMPLE wording.
16 (lto_main): Update wording.
17
96069d84
GA
182022-10-27 Martin Liska <mliska@suse.cz>
19
20 PR lto/107418
21 * lto-dump.cc (lto_main): Do not load LTO stream for aliases.
22
d0fc05e8
GA
232022-09-15 Richard Biener <rguenther@suse.de>
24
25 * lto-lang.cc (lto_build_c_type_nodes): Do not initialize
26 void_list_node.
27
3b2e3fa3
GA
282022-08-22 Martin Liska <mliska@suse.cz>
29
30 PR lto/106700
31 * lto.cc (wait_for_child): Ask if we are connected to jobserver.
32 (stream_out_partitions): Likewise.
33
e1298640
GA
342022-08-10 Martin Liska <mliska@suse.cz>
35
36 PR lto/106328
37 * lto.cc (wait_for_child): Decrement nruns once a process
38 finishes.
39 (stream_out_partitions): Use job server if active.
40 (do_whole_program_analysis): Likewise.
41
0fe604a2
GA
422022-07-08 Martin Liska <mliska@suse.cz>
43
44 * lto-dump.cc (lto_main): Exit in the function
45 as we don't want any LTO bytecode processing.
46
9d3dd218
GA
472022-06-27 David Malcolm <dmalcolm@redhat.com>
48
49 * lto-dump.cc: Add "final" and "override" to various vfunc
50 implementations, removing redundant "virtual" as appropriate.
51
702bd11f
GA
522022-05-16 Martin Liska <mliska@suse.cz>
53
54 * lto-common.cc (lto_resolution_read): Use ARRAY_SIZE.
55 * lto-lang.cc (lto_init): Likewise.
56
d1ca63a1
GA
572022-03-23 Tobias Burnus <tobias@codesourcery.com>
58
59 PR middle-end/104285
60 * lto-partition.cc (maybe_rewrite_identifier): Use get_identifier
61 for the returned string to be usable as hash key.
62 (validize_symbol_for_target): Hence, use return value directly.
63 (privatize_symbol_name_1): Track maybe_rewrite_identifier renames.
64 * lto.cc (offload_handle_link_vars): Move function up before ...
65 (do_whole_program_analysis): Call it after static renamings.
66 (lto_main): Move call after static renamings.
67
3c1cbde1
GA
682022-02-04 Richard Biener <rguenther@suse.de>
69
70 PR middle-end/90348
71 PR middle-end/104092
72 * lto-common.cc (compare_tree_sccs_1): Compare CLOBBER_KIND.
73
88944e13
GA
742022-02-02 Martin Liska <mliska@suse.cz>
75
76 PR lto/104333
77 * lto-common.cc (read_cgraph_and_symbols): Move resolution
78 checking for number of files later and report a reasonable
79 error message.
80 * lto-object.cc (lto_obj_file_open): Make error fatal.
81
fc829782
GA
822022-01-17 Martin Liska <mliska@suse.cz>
83
84 * config-lang.in: Rename .c names to .cc.
85 * lang-specs.h: Likewise.
86 * lto-common.cc (gimple_register_canonical_type_1): Likewise.
87 * lto-common.h: Likewise.
88 * lto-dump.cc (lto_main): Likewise.
89 * lto-lang.cc (handle_fnspec_attribute): Likewise.
90 (lto_getdecls): Likewise.
91 (lto_init): Likewise.
92 * lto.cc (lto_main): Likewise.
93 * lto.h: Likewise.
94
952022-01-17 Martin Liska <mliska@suse.cz>
96
97 * common.c: Moved to...
98 * common.cc: ...here.
99 * lto-common.c: Moved to...
100 * lto-common.cc: ...here.
101 * lto-dump.c: Moved to...
102 * lto-dump.cc: ...here.
103 * lto-lang.c: Moved to...
104 * lto-lang.cc: ...here.
105 * lto-object.c: Moved to...
106 * lto-object.cc: ...here.
107 * lto-partition.c: Moved to...
108 * lto-partition.cc: ...here.
109 * lto-symtab.c: Moved to...
110 * lto-symtab.cc: ...here.
111 * lto.c: Moved to...
112 * lto.cc: ...here.
113
483092d3
GA
1142021-11-18 Jan Hubicka <hubicka@ucw.cz>
115
116 * lto-partition.c (promote_symbol): Clear semantic_interposition flag.
117
9defce62
GA
1182021-11-06 Jan Hubicka <hubicka@ucw.cz>
119
120 PR ipa/103070
121 PR ipa/103058
122 * lto-partition.c (must_not_rename): Update comment.
123 (promote_symbol): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
124
c2bd5d8a
GA
1252021-10-22 Eric Gallager <egallager@gcc.gnu.org>
126
127 PR other/102663
128 * Make-lang.in: Add dummy lto.install-dvi target.
129
cf966403
GA
1302021-09-27 Martin Liska <mliska@suse.cz>
131
132 * lto-lang.c (lto_init_options_struct): Set also
3d3b561f 133 x_flag_default_complex_method.
cf966403 134
7b739540
GA
1352021-09-03 Jakub Jelinek <jakub@redhat.com>
136
137 PR target/102024
138 * lto-common.c (compare_tree_sccs_1): Also compare
139 DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD values.
140
9f7c2bad
GA
1412021-09-02 liuhongt <hongtao.liu@intel.com>
142
143 * lto-lang.c (lto_type_for_mode): Return float16_type_node
144 when mode == TYPE_MODE (float16_type_node).
145
ee682192
GA
1462021-05-31 Martin Liska <mliska@suse.cz>
147
148 * lto-common.c (compare_tree_sccs_1): Compare
149 FUNCTION_DECL_DECL_TYPE.
150
637569df
GA
1512021-05-24 Wang Liushuai <wangliushuai@bytedance.com>
152
153 * lto-dump.c (get_size): Fix the NPD error about the thunk symbol.
154
ee351f7f
GA
1552021-04-15 Jan Hubicka <hubicka@ucw.cz>
156
157 PR lto/98599
158 * lto.c (lto_wpa_write_files): Fix handling of clones.
159
019a9220
GA
1602021-04-08 Martin Sebor <msebor@redhat.com>
161
162 PR middle-end/99883
163 * lto-lang.c (lto_post_options): Correct spelling.
164
2c83c3fb
GA
1652021-02-28 Jakub Jelinek <jakub@redhat.com>
166
167 PR c/99304
168 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Fix comment
169 typos - refernced -> referenced and
170 devirtualizaiton -> devirtualization.
171
eefe499f
GA
1722020-12-16 Martin Liska <mliska@suse.cz>
173
174 * lang.opt: Remove usage of Report.
175
82e5048e
GA
1762020-11-20 Jakub Jelinek <jakub@redhat.com>
177
178 PR other/97911
179 * Make-lang.in (lto1.serial, lto2.serial): Change from goals to
180 variables.
181 (.PHONY): Drop lto1.serial, lto2.serial, lto1.prev and lto2.prev.
182 ($(LTO_EXE)): Depend on $(lto1.serial) rather than lto1.serial.
183 ($(LTO_DUMP_EXE)): Depend on $(lto2.serial) rather than lto2.serial.
184
25bb75f8
GA
1852020-11-18 Jerry Clcanny <a837940593@gmail.com>
186
187 * lto-symtab.c (lto_symtab_merge_symbols): Fix typos in comment.
188
1892020-11-18 Jakub Jelinek <jakub@redhat.com>
190
191 * Make-lang.in (lto, lto1.serial, lto2.serial): New goals.
192 (.PHONY): Add lto lto1.serial lto1.prev lto2.serial lto2.prev.
193 (lto.all.cross, lto.start.encap): Remove dependencies.
194 ($(LTO_EXE)): Depend on lto1.prev. Call LINK_PROGRESS.
195 ($(LTO_DUMP_EXE)): Depend on lto2.prev. Call LINK_PROGRESS.
196
4dabb037
GA
1972020-11-17 Jan Hubicka <jh@suse.cz>
198
199 PR bootstrap/97857
200 * lto-common.c (gimple_register_canonical_type_1): Only
201 register types with TYPE_CXX_ODR_P flag; sanity check that no
202 conflict happens at ltrans time.
203
44cab2d8
GA
2042020-11-06 Nathan Sidwell <nathan@acm.org>
205
206 * lto-symtab.c (lto_symtab_merge_decls_1): Rename
207 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
208
e93aae4a
GA
2092020-10-28 Jakub Jelinek <jakub@redhat.com>
210
211 PR lto/96680
212 * lto-common.c (lto_fixup_prevailing_decls): Don't use
213 LTO_NO_PREVAIL on TREE_LIST's TREE_PURPOSE.
214 * lto-partition.c (lto_balanced_map): Treat declare_variant_alt
215 nodes like definitions.
216
efe71fcc
GA
2172020-10-23 Jan Hubicka <hubicka@ucw.cz>
218
219 * lto-partition.c (add_symbol_to_partition_1): Update for new thunk
220 api.
221
8b394f01
GA
2222020-08-27 Martin Liska <mliska@suse.cz>
223
224 * lto-common.c (lto_file_finalize): Set exact argument of a vector
225 growth function to true.
226
9a5b7438
GA
2272020-06-03 Jan Hubicka <hubicka@ucw.cz>
228
229 * lto-common.c (compare_tree_sccs_1): Do not compare TYPE_VALUES.
230
bcb63eb2
JH
2312020-05-22 Jan Hubicka <hubicka@ucw.cz>
232
233 * lto-common.c (lto_read_decls): Do not skip stray refs.
234
03d90a20
JH
2352020-05-20 Jan Hubicka <hubicka@ucw.cz>
236
237 * lto-common.c (compare_tree_sccs_1): Sanity check that we never
238 read TRANSLATION_UNIT_DECL.
239 (process_dref): Break out from ...
240 (unify_scc): ... here.
241 (process_new_tree): Break out from ...
242 (lto_read_decls): ... here; handle streaming of singleton trees.
243 (print_lto_report_1): Update statistics.
244
eb72dc66
RB
2452020-05-07 Richard Biener <rguenther@suse.de>
246
247 PR middle-end/94703
248 * lto-common.c (compare_tree_sccs_1): Compare
249 DECL_NOT_GIMPLE_REG_P.
250
575ac27f
JJ
2512020-04-29 Jakub Jelinek <jakub@redhat.com>
252
253 PR target/94707
254 * lto-common.c (compare_tree_sccs_1): Handle DECL_FIELD_ABI_IGNORED.
255
b835645c
ML
2562020-04-17 Martin Liska <mliska@suse.cz>
257
258 PR lto/94612
259 * lto-common.c: Initialize file_data->lto_section_header
260 before lto_mode_identity_table call. It is needed because
261 it decompresses a LTO section.
262
70df40ca
ML
2632020-04-08 Martin Liska <mliska@suse.cz>
264
265 PR c++/94314
266 * lto-common.c (compare_tree_sccs_1): Compare also
267 DECL_IS_REPLACEABLE_OPERATOR.
268
158cccea
JJ
2692020-03-25 Jakub Jelinek <jakub@redhat.com>
270
271 PR c++/94223
272 * lto-lang.c (lto_set_decl_assembler_name): Use a static ulong
273 counter instead of DECL_UID.
274
c2211a60
TB
2752020-03-24 Tobias Burnus <tobias@codesourcery.com>
276
277 PR libgomp/81689
278 * lto.c (offload_handle_link_vars): Propagate TREE_PUBLIC state.
279
ce641308
TB
2802020-01-29 Tobias Burnus <tobias@codesourcery.com>
281
282 * lto.c (offload_handle_link_vars): Reduce chance of
283 naming clashes of generated linkptr variable.
284
b809f0b6
TB
2852020-01-29 Tobias Burnus <tobias@codesourcery.com>
286
287 PR middle-end/94233
288 * lto.c (offload_handle_link_vars): Cleanup; call
289 build_decl to ensure alignment is set.
290
27736735
ML
2912020-02-05 Martin Liska <mliska@suse.cz>
292
293 PR lto/93489
294 * lto-dump.c (dump_list_functions): Do not
295 load body for aliases.
296 (dump_body): Likewise here.
297
f48c6014
ML
2982020-01-16 Martin Liska <mliska@suse.cz>
299
300 * lto-partition.c (lto_balanced_map): Remember
301 best_noreorder_pos and then restore to it
302 when we revert.
303
3629ff8a
ML
3042020-01-08 Martin Liska <mliska@suse.cz>
305
306 * lto-partition.c (add_symbol_to_partition_1): Use ::dump_name or
307 ::dump_asm_name instead of (::name or ::asm_name).
308 (lto_balanced_map): Likewise.
309 (promote_symbol): Likewise.
310 (rename_statics): Likewise.
311 * lto.c (lto_wpa_write_files): Likewise.
312
d597b944
ML
3132020-01-08 Martin Liska <mliska@suse.cz>
314
315 * lto-partition.c (lto_balanced_map): Use symtab_node::dump_name.
316
8d9254fc
JJ
3172020-01-01 Jakub Jelinek <jakub@redhat.com>
318
319 Update copyright years.
320
40ebe1fc
JH
3212019-12-19 Jan Hubicka <hubicka@ucw.cz>
322 Xi Ruoyao <xry111@mengyan1223.wang>
323
324 * lto-common.c (read_cgraph_and_symbols): Work around binutils
325 PR25424
326
6d8fd122 3272019-12-07 Jan Hubicka <hubicka@ucw.cz>
5b8d9367 328
59c7b29e
JH
329 * lto-partition.c (lto_balanced_map): Fix printing of tp_first_run.
330
3312019-12-10 Jan Hubicka <hubicka@ucw.cz>
332
6d8fd122
JH
333 * lto-partition.c (node_cmp): Turn into simple order comparsions.
334 (varpool_node_cmp): Remove.
335 (add_sorted_nodes): Use node_cmp.
336 (lto_balanced_map): Use tp_first_run_node_cmp.
337
59c7b29e
JH
3382019-11-25 Joseph Myers <joseph@codesourcery.com>
339
5b8d9367
JM
340 PR c/91985
341 * lto-lang.c (lto_type_for_mode): Handle decimal floating-point
342 types being NULL_TREE.
343
9fd052e7
JH
3442019-11-22 Jan Hubicka <jh@suse.cz>
345
346 * lto.c (lto_wpa_write_files): Call memory_block_pool::trim.
347
e61d0e4e
ML
3482019-11-14 Martin Liska <mliska@suse.cz>
349
350 * Make-lang.in: Remove wrong dependency
351 of LTO_DUMP_EXE on LTO_EXE.
352
0c29cac4
ML
3532019-11-12 Martin Liska <mliska@suse.cz>
354
355 * lto-common.c: Do not include params.h.
356 * lto-partition.c: Likewise.
357 * lto.c: Likewise.
358
028d4092
ML
3592019-11-12 Martin Liska <mliska@suse.cz>
360
361 * lto-partition.c (lto_balanced_map): Replace old parameter syntax
362 with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET
363 macro.
364 * lto.c (do_whole_program_analysis): Likewise.
365
fe1d1a8b
ML
3662019-11-11 Martin Liska <mliska@suse.cz>
367
368 * Make-lang.in: Relax dependency of lto-dump.o to
369 LTO_OBJS which will allow faster linking (mainly with LTO).
370
c38ee9a2
JH
3712019-11-07 Jan Hubicka <hubicka@ucw.cz>
372
373 * lto.c (do_whole_program_analysis): Call lto_free_file_name_hash.
374
c9ef0409
JH
3752019-11-02 Jan Hubicka <hubicka@ucw.cz>
376
377 * lto-common.c (read_cgraph_and_symbols): Improve -Q reporting.
378 * lto.c (lto_wpa_write_files): Likewise.
379
6773658a
JJ
3802019-10-31 Jakub Jelinek <jakub@redhat.com>
381
382 PR middle-end/92231
383 * lto-lang.c (handle_const_attribute): Don't call fndecl_built_in_p
384 on *node that is not FUNCTION_DECL.
385
3c56d8d8
ML
3862019-10-30 Martin Liska <mliska@suse.cz>
387
388 PR lto/91393
389 PR lto/88220
390 * lto-common.c (lto_file_finalize): Use lto_get_summary_section_data.
391 (get_section_data): Add order argument.
392
3518424d
ML
3932019-10-29 Martin Liska <mliska@suse.cz>
394
395 * lto.c (do_whole_program_analysis): Pass
396 title as dump_memory_report argument.
397
c5281d50
ML
3982019-10-29 Martin Liska <mliska@suse.cz>
399
400 * lto.c (do_whole_program_analysis): Remove argument.
401
f658ad30
JH
4022019-10-24 Jan Hubicka <hubicka@ucw.cz>
403
404 * lto-partition.c (add_symbol_to_partition_1): Update.
405 (undo_parittion): Update.
406
ebad2eee
JH
4072019-10-23 Jan Hubicka <hubicka@ucw.cz>
408
409 * lto-common.c (lto_file_finalize): Add order attribute.
410 (lto_create_files_from_ids): Pass order.
411 (lto_file_read): UPdate call of lto_create_files_from_ids.
412
7cc47709
JH
4132019-10-12 Jan Hubicka <hubicka@ucw.cz>
414
415 * lto-common.c (read_cgraph_and_symbols): Grow ggc memory use after
416 summary streaming.
417
f8cf94cd
JH
4182019-10-12 Jan Hubicka <hubicka@ucw.cz>
419
420 * lto.c (lto_wpa_write_files): Do not update bodies of clones.
421
e5207f1a
JH
4222019-10-11 Jan Hubicka <hubicka@ucw.cz>
423
424 * lto.c (lto_wpa_write_files): Call ggc_trim.
425
1fcf52a6
JH
4262019-10-11 Jan Hubicka <hubicka@ucw.cz>
427
428 * lto.c (lto_wpa_write_files): Prepare all bodies for streaming.
429
9142736e
RB
4302019-10-10 Richard Biener <rguenther@suse.de>
431
432 * lto-common.c (unify_scc): Do not merge anonymous NAMESPACE_DECLs.
433
0fa00483
JM
4342019-10-04 Joseph Myers <joseph@codesourcery.com>
435
436 * lto-lang.c (flag_isoc2x): New variable.
437
a3d09469
RB
4382019-09-18 Richard Biener <rguenther@suse.de>
439
440 PR lto/91763
441 * lto.c (lto_materialize_function): Initialize EH by looking
442 at the function personality and flag_exceptions setting.
443
df375b03
JJ
4442019-08-23 Jakub Jelinek <jakub@redhat.com>
445
446 PR middle-end/91283
447 * lto-lang.c (lto_post_options): Set flag_excess_precision instead of
448 flag_excess_precision_cmdline. Remove comment.
449
4d732405
RS
4502019-08-13 Richard Sandiford <richard.sandiford@arm.com>
451
452 PR middle-end/91421
453 * lto-common.c (compare_tree_sccs_1): Use DECL_UNCHECKED_FUNCTION_CODE
454 instead of DECL_FUNCTION_CODE.
455 * lto-symtab.c (lto_symtab_merge_p): Likewise.
456
6e42c90c
BE
4572019-08-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
458
459 * Make-lang.in (lto.install-common): Remove unnecessary slash
460 between $(DESTDIR) and $(bindir).
461
cb50701e
ML
4622019-07-25 Martin Liska <mliska@suse.cz>
463
464 * lto-common.c (compare_tree_sccs_1): Use new macros
465 (e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
466
34e64622
GB
4672019-07-22 Giuliano Belinassi <giuliano.belinassi@usp.br>
468
469 * lang.opt (flag_dump_callgraph): New flag.
470 * lto-dump.c (dump_symtab_graphviz): New function.
471 (dump_tool_help): New option.
472 (lto_main): Handle graphviz dumping.
473
b01659aa
JH
4742019-07-18 Jan Hubicka <hubicka@ucw.cz>
475
476 * lto-common.c (gimple_register_canonical_type_1): Do not look for
477 non-ODR conflicts of types in anonymous namespaces.
478 (unify_scc): Do not merge anonymous namespace types.
479
99b1c316
MS
4802019-07-09 Martin Sebor <msebor@redhat.com>
481
482 PR c++/61339
483 * lto-common.c (lto_splay_tree_new): : Change class-key of PODs
484 to struct and others to class.
485 (mentions_vars_p): Same.
486 (register_resolution): Same.
487 (lto_register_var_decl_in_symtab): Same.
488 (lto_register_function_decl_in_symtab): Same.
489 (cmp_tree): Same.
490 (lto_read_decls): Same.
491
6c1dae73
MS
4922019-07-09 Martin Sebor <msebor@redhat.com>
493
494 PR c++/61339
495 * lto-dump.c: Change class-key from class to struct and vice versa
496 to match convention and avoid -Wclass-is-pod and -Wstruct-no-pod.
497
70980ea2
ML
4982019-07-04 Martin Liska <mliska@suse.cz>
499
500 PR lto/91078
501 * lto-common.c (lto_file_finalize): Use memcpy to set
502 file_data->lto_section_header.
503
88614dfa
ML
5042019-07-03 Martin Liska <mliska@suse.cz>
505
506 * lto-common.c: Read LTO section and verify header.
507
606a9a8c
JH
5082019-06-27 Jan Hubicka <jh@suse.cz>
509
510 * lto-common.c (lto_register_canonical_types_for_odr_types):
511 Copy CXX_ODR_P from the main variant.
512
85693eef
JH
5132019-06-27 Jan Hubicka <jh@suse.cz>
514
515 * lto-common.c: tree-pretty-print.h
516 (type_streaming_finished): New static var.
517 (gimple_register_canonical_type_1): Return updated hash; handle ODR
518 types.
519 (iterative_hash_canonical_type): Update use of
520 gimple_register_canonical_type_1.
521
c2f7a665
ML
5222019-06-27 Martin Liska <mliska@suse.cz>
523
524 * lto-dump.c (struct symbol_entry): Add default dtor.
525 (struct variable_entry): Likewise.
526 (struct function_entry): Likewise.
527 (dump_list_functions): Release memory.
528 (dump_list_variables): Likewise.
529
ab20d992
JJ
5302019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
531
532 * lto-lang.c (lto_build_c_type_nodes): Accept "__intN__"
533 format of "__intN" types for SIZE_TYPE.
534
f4af4019
JH
5352019-06-24 Jan Hubicka <jh@suse.cz>
536
537 * lto-common.c (compare_tree_sccs_1): Compare CXX_ODR_P;
538 compare STRING_FLAG only for arrays and integers.
539
0ecf545c
MS
5402019-06-05 Martin Sebor <msebor@redhat.com>
541
542 * lto-common.c (lto_file_finalize): Adjust quoting and hyphenation.
543
a9c697b8
MS
5442019-05-16 Martin Sebor <msebor@redhat.com>
545
ab20d992
JJ
546 * lto-dump.c (lto_main): Same.
547 * lto.c (stream_out): Same.
a9c697b8 548
38613b9b
ML
5492019-05-10 Martin Liska <mliska@suse.cz>
550
551 * Make-lang.in: Use program_transform_name for lto-dump.
552 * config-lang.in: Do not mark lto-dump compiler as we don't
553 want to have it installed at
554 lib/gcc/x86_64-pc-linux-gnu/10.0.0/lto-dump.
555
03de2955
RO
5562019-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
557
558 * lto-common.c (lto_file_read): Print section->start as int64_t,
559 section->len as uint64_t.
560 * lto-dump.c (symbol_entry::dump): Print sz as uint64_t.
561
ee7a003f
ML
5622019-05-06 Martin Liska <mliska@suse.cz>
563
564 * lto-common.c: Update coding style.
565 * lto.c (materialize_cgraph): Likewise.
566
66d62d9f
HK
5672019-05-06 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
568 Martin Liska <mliska@suse.cz>
569
570 * Make-lang.in: Add lto_dump-related definition.
571 * config-lang.in: Likewise.
572 * lang.opt: Add new language LTODump and options related
573 to LTO dump tool.
574 * lto-common.c (lto_read_decls): Support type statistics dump.
575 (lto_file_read): Likewise for object files.
576 * lto-dump.c: New file.
577 * lto-lang.c (lto_option_lang_mask): Move from ..
578 * lto.c (lto_option_lang_mask): .. here.
579 * lto.h (lto_option_lang_mask): New declaration.
580
a79420f9
ML
5812019-05-06 Martin Liska <mliska@suse.cz>
582 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
583
584 * Make-lang.in: Add lto-common.o.
585 * config-lang.in: Likewise for gtfiles.
586 * lto-common.c: New file.
587 * lto-common.h: New file.
588 * lto-lang.c: Include lto-common.h.
589 * lto.c: Move most of the functionality
590 into lto-common.c file.
591
0c7f51e4
JH
5922019-04-12 Jan Hubicka <hubicka@ucw.cz>
593
594 * lto.c (do_stream_out): rename to ...
595 (stream_out): ... this one; move original code to ...
596 (stream_out_partitions_1, stream_out_partitions): ... these new
597 functions.
598 (lto_wpa_write_files): Honnor lto_parallelism
599
303389b1
ML
6002019-03-26 Martin Liska <mliska@suse.cz>
601
602 * lto-symtab.c (lto_symtab_merge_decls_2): Fix option name
139fc820 603 wrapping.
303389b1 604
a3f9f006
ML
6052019-03-11 Martin Liska <mliska@suse.cz>
606
607 * lto-lang.c (lto_post_options): Wrap an option name
608 in a string format message and fix GNU coding style.
609 * lto-symtab.c (lto_symtab_merge_decls_2): Likewise.
610
04e5c73d
JJ
6112019-03-09 Jakub Jelinek <jakub@redhat.com>
612
613 PR target/79645
614 * lang.opt: Terminate description text with a dot.
615
80f52b40
JM
6162019-02-28 Jason Merrill <jason@redhat.com>
617
618 PR c++/88049 - ICE with undefined destructor and anon namespace.
619 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Return early
620 for a type in an anonymous namespace.
621
67914693
SL
6222019-01-09 Sandra Loosemore <sandra@codesourcery.com>
623
624 PR other/16615
625
626 * lto-partition.c: Mechanically replace "can not" with "cannot".
627 * lto-symtab.c: Likewise.
628 * lto.c: Likewise.
629
a5544970
JJ
6302019-01-01 Jakub Jelinek <jakub@redhat.com>
631
632 Update copyright years.
633
d840d7a2
JH
6342018-12-24 Jan Hubicka <hubicka@ucw.cz>
635
636 * lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations
637 for method whose basetype was already reported.
638
ed1b53a0
MP
6392018-11-30 Michael Ploujnikov <michael.ploujnikov@oracle.com>
640
641 Minimize clone counter memory usage in LTO.
642 * lto-partition.c (privatize_symbol_name_1): Keep track of
643 non-unique symbol counters in the lto_clone_numbers hash
644 map.
645 (lto_promote_cross_file_statics): Allocate and free the
646 lto_clone_numbers hash map.
647 (lto_promote_statics_nonwpa): Free the lto_clone_numbers hash
648 map.
649
ad42aa96
JH
6502018-11-28 Jan Hubicka <jh@suse.cz>
651
652 * lto.c (lto_read_decls): Fix handling of INTEGER_CST.
653
d7dce787
JH
6542018-11-22 Jan Hubicka <jh@suse.cz>
655
656 * lto.c (cmp_type_location): Remove.
657 (lto_read_decls): Do not allocate odr_types.
658
f615cb16
ML
6592018-11-19 Martin Liska <mliska@suse.cz>
660
661 PR lto/88077
662 * lto-symtab.c (lto_symtab_merge): Transform the
663 condition before r256989.
664
12eac232
ML
6652018-11-16 Martin Liska <mliska@suse.cz>
666
667 PR lto/88004
668 * lto-symtab.c (lto_symtab_merge_symbols_1): Do not call
669 lto_symtab_symbol_p as it does checking of transparent alias.
670 These needs to be also merged in the function.
671
7958186b
MP
6722018-10-30 Michael Ploujnikov <michael.ploujnikov@oracle.com>
673
674 * lto-partition.c (privatize_symbol_name_1): Use
3d3b561f 675 clone_function_name_numbered.
7958186b 676
abb967da
JH
6772018-10-26 Jan Hubicka <jh@suse.cz>
678
ab20d992 679 * lto-symtab.c (lto_symtab_merge_decls_2): Fix extra space.
abb967da 680
033eb567
DM
6812018-10-17 David Malcolm <dmalcolm@redhat.com>
682
683 * Make-lang.in (selftest-lto): New.
684
9ed6dbee
ML
6852018-08-29 Martin Liska <mliska@suse.cz>
686
687 PR bootstrap/87130
688 * lto.c (read_cgraph_and_symbols): Fix thinko, revert
689 to behavior before r263887.
690
3d78e008
ML
6912018-08-27 Martin Liska <mliska@suse.cz>
692
693 * lto-lang.c (handle_const_attribute): Use new function
92a285c1
ML
694 fndecl_built_in_p and remove check for FUNCTION_DECL if
695 possible.
3d78e008
ML
696 * lto-symtab.c (lto_symtab_merge_p): Likewise.
697 (lto_symtab_merge_decls_1): Likewise.
698 (lto_symtab_merge_symbols): Likewise.
699 * lto.c (lto_maybe_register_decl): Likewise.
700 (read_cgraph_and_symbols): Likewise.
701
efd9eb29
TV
7022018-08-21 Tom de Vries <tdevries@suse.de>
703
ab20d992 704 * lto.c (lto_main): Call debuginfo_early_start and
efd9eb29
TV
705 debuginfo_early_stop.
706
00abf86c
MS
7072018-07-20 Martin Sebor <msebor@redhat.com>
708
709 PR middle-end/82063
710 * lto-lang.c (lto_handle_option): Change function argument
711 to HOST_WIDE_INT.
712
efe0e6cd
RB
7132018-07-20 Richard Biener <rguenther@suse.de>
714
715 PR debug/86585
716 * lto.c (unify_scc): Before we throw away an SCC see if we
717 can amend prevailing single-entry SCC with debug refs.
718
814f3331
JH
7192018-07-13 Jan Hubicka <hubicka@ucw.cz>
720
721 * lto.c (do_stream_out): Add PART parameter; open dump file.
722 (stream_out): Add PART parameter; pass it to do_stream_out.
723 (lto_wpa_write_files): Update call of stream_out.
724
c518c102
ML
7252018-07-04 Martin Liska <mliska@suse.cz>
726
727 PR middle-end/66240
728 PR target/45996
729 PR c/84100
730 * lto.c (compare_tree_sccs_1): Use cl_optimization_option_eq
731 instead of memcmp.
732
b54006ae
ML
7332018-06-20 Martin Liska <mliska@suse.cz>
734
735 * lto-symtab.c (lto_symtab_merge_p): Remove not valid
92a285c1 736 FIXME comment.
b54006ae 737
56f62793
ML
7382018-06-19 Martin Liska <mliska@suse.cz>
739
740 * lto-partition.c (add_symbol_to_partition_1): Use symbol_summary::get instead
92a285c1 741 of get_create.
56f62793
ML
742 (undo_partition): Likewise.
743 (lto_balanced_map): Likewise.
744
1724941e
ML
7452018-06-19 Martin Liska <mliska@suse.cz>
746
747 * config-lang.in: Remove stagestuff.
748
29a50dfb
JH
7492018-06-08 Jan Hubicka <hubicka@ucw.cz>
750
751 * lto-lang.c (lto_link_dump_id, decl_merge_dump_id, partition_dump_id):
752 New global vars.
753 (lto_register_dumps): New hook.
754 (LANG_HOOKS_REGISTER_DUMPS): New.
755 * lto-partition.c: Dump into dump_file instead of symtab->dump_file.
756 * lto-symtab.c: Include lto.h; dump into dump_file instead of
757 symtab->dump_file.
758 (lto_symtab_merge_decls): Initialize dump file.
759 * lto.c (read_cgraph_and_symbols): Initialize dump file.
760 (do_whole_program_analysis): Likewise.
761
74644756
ML
7622018-06-08 Martin Liska <mliska@suse.cz>
763
764 * lto-partition.c (lto_balanced_map): Use cgraph_node::uid
765 instead of summary_uid.
766
99353fcf
ML
7672018-06-08 Martin Liska <mliska@suse.cz>
768
769 * lto-partition.c (add_symbol_to_partition_1): Use get_create instead
770 of get.
771 (undo_partition): Likewise.
772 (lto_balanced_map): Likewise.
773
31db0fe0
ML
7742018-06-08 Martin Liska <mliska@suse.cz>
775
776 * lto-partition.c (add_references_to_partition): Remove support
777 for MPX (macros, related functions, fields in cgraph_node, ...).
778 (add_symbol_to_partition_1): Likewise.
779 (privatize_symbol_name): Likewise.
780 * lto-symtab.c (lto_cgraph_replace_node): Likewise.
781
f115c9b5
RB
7822018-06-05 Richard Biener <rguenther@suse.de>
783
784 * lto.c (cmp_type_location): Expand locations only once.
785
5b42d196
JH
7862018-05-30 Jan Hubicka <hubicka@ucw.cz>
787
788 * lang.opt (lto_linker_output): Add nolto-rel.
789 * lto-lang.c (lto_post_options): Handle LTO_LINKER_OUTPUT_REL
790 and LTO_LINKER_OUTPUT_NOLTOREL.
791 (lto_init): Generate lto when doing incremental link.
792 * lto.c (lto_precess_name): Add lto1-inclink.
793
ab168044
JH
7942018-05-18 Jan Hubicka <jh@suse.cz>
795
796 PR lto/85583
797 * lto-partition.c (account_reference_p): Do not account
798 references from aliases; do not account refernces from
799 external initializers.
800
b6e33d73
JH
8012018-04-30 Jan Hubicka <jh@suse.cz>
802
803 * lto.c (cmp_partitions_size): Remove.
804 (lto_wpa_write_files): Also output priorities; do not sort partitions.
805 (cmp_partition_order): Move to ...
806 * lto-partition.c (cmp_partition_order): ...
807 (lto_1_to_1_map): Sort partitions.
808
e693ebce
JH
8092018-04-20 Jan Hubicka <jh@suse.cz>
810
811 * lto-partition.c (lto_balanced_map): Fix sanity check.
812
ddb0b824
JH
8132018-04-19 Jan Hubicka <jh@suse.cz>
814
815 * lto-partition.c: Include sreal.h
816 (add_symbol_to_partition_1): Use size instead of self_size
817 for size estimate.
818 (account_reference_p): New.
819 (lto_balanced_map): Use 64bit arithmetics for size calculatoins; cleanup;
820 fix accounting errors in boundary size; add debug output; combine cost
821 as cost/size instead of cost/internal; reduce the partitioning error to
822 +- 1/8 of the parttion size.
823
1781a04f
ML
8242018-04-19 Martin Liska <mliska@suse.cz>
825
826 * lto-symtab.c (lto_symtab_resolve_symbols): Do not bail out
827 for multiple PREVAILING_DEF_IRONLY for common symbols.
828
6867cd69
ML
8292018-04-18 Martin Liska <mliska@suse.cz>
830
831 * lto.c (lto_read_decls): Fix GNU coding style and typos.
832
af597536
ML
8332018-04-18 Martin Liska <mliska@suse.cz>
834
835 PR ipa/83983
836 PR ipa/85391
837 * lto.c (cmp_type_location): New function.
838 (lto_read_decls): First collect all types, then
839 sort them according by location before register_odr_type
840 is called.
841
7d6051b1
JH
8422018-04-18 Jan Hubicka <jh@suse.cz>
843 Martin Liska <mliska@suse.cz>
844
845 PR lto/85391
846 * lto.c (lto_read_decls): Do not test TYPE_CANONICAL before registering odr
847 types.
848
23d87577
ML
8492018-04-11 Martin Liska <mliska@suse.cz>
850
851 * lto-symtab.c (lto_symtab_merge_p): Use attribute_value_equal
852 function.
853
c16833dc
ML
8542018-04-10 Martin Liska <mliska@suse.cz>
855
856 PR lto/85248
857 * lto-symtab.c (lto_symtab_merge_p): Do not check for
858 TREE_VALUES of error attributes.
859
8d96e546
ML
8602018-04-10 Richard Biener <rguenther@suse.de>
861 Martin Liska <mliska@suse.cz>
862
863 PR lto/85248
864 * lto-symtab.c (lto_symtab_merge_p): Handle noreturn attribute.
865
97bb4812
JH
8662018-02-08 Jan Hubicka <hubicka@ucw.cz>
867
868 * lto-partition.c (lto_balanced_map): Watch overflow.
869
39aa9b23
JH
8702018-02-08 Jan Hubicka <hubicka@ucw.cz>
871
872 PR ipa/81360
873 * lto.c (unify_scc): Register prevailing trees, not trees to be freed.
874 (read_cgraph_and_symbols): Use
875 symtab_node::output_to_lto_symbol_table_p.
876
26a823f0
JH
8772018-01-30 Jan Hubicka <hubicka@ucw.cz>
878
879 * lto.c (register_resolution): Remove forgotten sanity check.
880
43fbc2e9
JH
8812018-01-30 Jan Hubicka <hubicka@ucw.cz>
882
883 PR lto/81004
884 * lto.c: Include builtins.h
885 (register_resolution): Merge resolutions in case trees was
886 merged across units.
887 (lto_maybe_register_decl): Break out from ...
888 (lto_read_decls): ... here.
889 (unify_scc): Also register decls here.
890 (read_cgraph_and_symbols): Sanity check that all resolutions was
891 read.
892
ee034d31
EB
8932018-02-02 Eric Botcazou <ebotcazou@adacore.com>
894
895 PR lto/83954
896 * lto-symtab.c (warn_type_compatibility_p): Do not recurse into the
897 component type of array types with non-aliased component.
898
44c945e6
JH
8992018-01-30 Jan Hubicka <hubicka@ucw.cz>
900
901 PR lto/83954
902 * lto-symtab.c (warn_type_compatibility_p): Silence false positive
903 for type match warning on arrays of pointers.
904
cde9b2f8
ML
9052018-01-23 Martin Liska <mliska@suse.cz>
906
907 PR lto/81440
908 * lto-symtab.c (lto_symtab_merge): Handle and do not warn about
909 trailing arrays at the end of a struct.
910
5c0caeb3
RS
9112018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
912 Alan Hayward <alan.hayward@arm.com>
913 David Sherwood <david.sherwood@arm.com>
914
915 * lto-lang.c (lto_type_for_mode): Handle MODE_VECTOR_BOOL.
916
928686b1
RS
9172018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
918 Alan Hayward <alan.hayward@arm.com>
919 David Sherwood <david.sherwood@arm.com>
920
921 * lto-lang.c (lto_type_for_mode): Check valid_vector_subparts_p.
922 * lto.c (hash_canonical_type): Handle polynomial TYPE_VECTOR_SUBPARTS.
923
85ec4feb
JJ
9242018-01-03 Jakub Jelinek <jakub@redhat.com>
925
926 Update copyright years.
927
4849deb1
JJ
9282017-12-15 Jakub Jelinek <jakub@redhat.com>
929
930 * lto-lang.c (lto_attribute_table, lto_format_attribute_table): Swap
931 affects_type_identity and handler fields, adjust comments.
932
734914b6
RS
9332017-12-07 Richard Sandiford <richard.sandiford@arm.com>
934
935 * lto.c (compare_tree_sccs_1): Compare the new VECTOR_CST flags.
936
5d9ae53d
MS
9372017-12-07 Martin Sebor <msebor@redhat.com>
938
939 PR c/81544
940 * lto-lang.c (lto_attribute_table): Initialize new member of struct
941 attribute_spec.
942
5de73c05
JJ
9432017-11-30 Jakub Jelinek <jakub@redhat.com>
944
945 * lto.c (create_subid_section_table): Use ; instead of ;;.
946
974aedcc
MP
9472017-11-22 Marek Polacek <polacek@redhat.com>
948
949 PR c++/60336
950 PR middle-end/67239
951 PR target/68355
952 * lto.c (compare_tree_sccs_1): Compare TYPE_EMPTY_P and DECL_PADDING_P.
953
1bad9c18
JH
9542017-11-10 Jan Hubicka <hubicka@ucw.cz>
955
956 * lto-partition.c (lto_balanced_map): Use frequency accessor.
957
65991ea3
JH
9582017-10-13 Jan Hubicka <hubicka@ucw.cz>
959
960 * lto-lang.c (lto_post_options): Clean shlib flag when not doing PIC.
961
4e7d0260
NS
9622017-10-11 Nathan Sidwell <nathan@acm.org>
963
964 * lto.c (mentions_vars_p_decl_with_vis): Use
965 DECL_ASSEMBLER_NAME_RAW.
966 (lto_fixup_prevailing_decls): Likewise.
967
8e6cdc90
RS
9682017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
969
970 * lto.c (compare_tree_sccs_1): Use wi::to_wide when
971 operating on trees as wide_ints.
972
357b7604
RS
9732017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
974 Alan Hayward <alan.hayward@arm.com>
975 David Sherwood <david.sherwood@arm.com>
976
977 * lto-lang.c (lto_type_for_mode): Use as_a <scalar_int_mode>.
978
1ea85365
RB
9792017-08-21 Richard Biener <rguenther@suse.de>
980
92a285c1
ML
981 * lto.c (unify_scc): Truncate DIE reference queue for dropped SCCs.
982 (lto_read_decls): Process TRANSLATION_UNIT_DECLs. Remove
983 TYPE_DECL debug processing, register DIE references from
984 prevailing SCCs with the debug machinery.
985 (lto_section_with_id): Handle LTO debug sections.
1ea85365 986
8e093270
NS
9872017-08-16 Nathan Sidwell <nathan@acm.org>
988
989 * lto.c (mentions_vars_p_type): Use TYPE_LANG_SLOT_1.
990 (compare_tree_sccs_1): No need to compare TYPE_BINFO directly.
991 (lto_fixup_prevailing_decls): Use TYPE_LANG_SLOT_1.
992
eac3ab4a
TV
9932017-08-08 Tom de Vries <tom@codesourcery.com>
994
995 * lto.c: Include attribs.h.
996
314e6352
ML
9972017-08-08 Martin Liska <mliska@suse.cz>
998
999 * lto-lang.c: Include header files.
1000 * lto-symtab.c: Likewise.
1001
63e434ca
RB
10022017-08-03 Richard Biener <rguenther@suse.de>
1003
1004 * lto-symtab.h (lto_symtab_prevail_decl): Do not use
1005 DECL_ABSTRACT_ORIGIN as flag we can end up using that. Instead
1006 use DECL_LANG_FLAG_0.
1007 (lto_symtab_prevail_decl): Likewise.
1008
417ca011
TD
10092017-07-07 Torsten Duwe <duwe@suse.de>
1010
1011 * lto-lang.c (lto_attribute_table): Add entry for
1012 "patchable_function_entry".
1013
20deef65
NS
10142017-07-19 Nathan Sidwell <nathan@acm.org>
1015
1016 * lto.c (mentions_vars_p_type): Use TYPE_{MIN,MAX}_VALUE_RAW.
1017 (compare_tree_sccs_1, lto_fixup_prevailing_decls): Likewise.
1018
0eaf0bfe
JH
10192017-07-06 Jan Hubicka <hubicka@ucw.cz>
1020
1021 * lto-partition.c (lto_balanced_map): Do not check
1022 flag_toplevel_reorder.
2db9b7cd 1023
0eaf0bfe 10242017-06-23 Marc Glisse <marc.glisse@inria.fr>
2db9b7cd
MG
1025 * lto-lang.c (lto_init): Use builtin_structptr_types.
1026
d1eed638
JH
10272017-06-15 Jan Hubicka <hubicka@ucw.cz>
1028 Thomas Preud'homme <thomas.preudhomme@arm.com>
1029
1030 PR lto/69866
1031 * lto-symtab.c (lto_symtab_merge_symbols): Drop useless definitions
1032 that resolved externally.
1033
d2db2e6b
JH
10342017-05-23 Jan Hubicka <hubicka@ucw.cz>
1035
1036 * lto.c (do_whole_program_analysis): Replace inline_free_summary
1037 by ipa_free_fn_summary.
1038
464d0118
ML
10392017-05-23 Martin Liska <mliska@suse.cz>
1040
1041 * lto-symtab.c (lto_cgraph_replace_node): Use
1042 symtab_node::dump_{asm_,}name functions.
1043 * lto.c (read_cgraph_and_symbols): Likewise.
1044 (do_whole_program_analysis): Likewise.
1045
6c52831d
ML
10462017-05-23 Martin Liska <mliska@suse.cz>
1047
1048 * lto.c (read_cgraph_and_symbols): Use the renamed function.
1049 (do_whole_program_analysis): Use the renamed function.
1050
27d020cf
JH
10512017-05-22 Jan Hubicka <hubicka@ucw.cz>
1052
1053 * lto.c: Replace ipa-inline.h by ipa-fnsummary.h
1054 * lto-partition.c: Replace ipa-inline.h by ipa-fnsummary.h
1055
815d9cc6
XR
10562017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
1057
92a285c1 1058 PR c++/80038
815d9cc6
XR
1059 * lto-lang.c (lto_init): Set in_lto_p earlier.
1060
350792ff 10612017-04-12 Richard Biener <rguenther@suse.de>
ab20d992 1062 Bernd Edlinger <bernd.edlinger@hotmail.de>
350792ff
RB
1063
1064 PR middle-end/79671
1065 * lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE.
1066
4a44a5f3
ML
10672017-02-14 Martin Liska <mliska@suse.cz>
1068
1069 * lto.c (do_stream_out): Free LTO file filename string.
1070
8a3a6ab4
DM
10712017-01-19 David Malcolm <dmalcolm@redhat.com>
1072
1073 * lto-lang.c (builtin_type_for_size): Convert call to
1074 lto_type_for_size to one through the langhook.
1075 (lto_type_for_size): Move to langhooks.c and rename to
1076 lhd_type_for_size.
1077 (LANG_HOOKS_TYPE_FOR_SIZE): Don't redefine.
1078
4c4b4703
JJ
10792017-01-11 Jakub Jelinek <jakub@redhat.com>
1080
1081 PR middle-end/50199
1082 * lto-lang.c (lto_post_options): Force flag_merge_constants = 1
1083 if it was 0.
1084
bd2c6270
JJ
10852017-01-09 Jakub Jelinek <jakub@redhat.com>
1086
1087 PR translation/79019
1088 PR translation/79020
1089 * lto-symtab.c (lto_symtab_merge_symbols): Fix comment typo.
1090
24d3f325
NS
10912017-01-06 Nathan Sidwell <nathan@acm.org>
1092
5406184c
NS
1093 * lto-partition.c (promote_symbol): Write to dump file sooner,
1094 include alias promoting too.
1095
24d3f325
NS
1096 * lto-partition.c (lto_balanced_map): Reformat/respell comment.
1097 (may_need_named_section_p): Likewise.
1098 (rename_statics): Likewise.
1099 (lto_promote_cross_file_statics): Likewise.
1100
cbe34bb5
JJ
11012017-01-01 Jakub Jelinek <jakub@redhat.com>
1102
1103 Update copyright years.
1104
6c8bf066
GJL
11052016-11-30 Georg-Johann Lay <avr@gjlay.de>
1106
1107 PR lto/78562
1108 * lto-symtab.c (lto_symtab_merge_decls_2): Don't diagnose type
1109 mismatch if the two types are built-in.
1110
7fa6a965
PK
11112016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1112
1113 * lto-lang.c (lto_init): Remove initialization of ptrdiff_type_node.
1114
efb71232
RB
11152016-11-23 Richard Biener <rguenther@suse.de>
1116
1117 PR lto/78472
1118 * lto.c (hash_canonical_type): Ignore zero-sized fields.
1119
48330c93
BE
11202016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1121
1122 PR c++/71973
1123 * lto-lang.c (lto_init): Assert const_tm_ptr_type_node is sane.
1124
899ca90e 11252016-11-18 Richard Sandiford <richard.sandiford@arm.com>
48330c93
BE
1126 Alan Hayward <alan.hayward@arm.com>
1127 David Sherwood <david.sherwood@arm.com>
899ca90e
RS
1128
1129 * lto.c (offload_handle_link_vars): Use SET_DECL_MODE.
1130
65179585
RB
11312016-10-31 Richard Biener <rguenther@suse.de>
1132
1133 PR lto/78129
1134 * lto.c (do_whole_program_analysis): Bail out after errors
1135 from WPA analysis.
1136
8bc5448f
KV
11372016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
1138
1139 * lto-partition.c: Include tree-vrp.h.
1140 * lto.c: Likewise.
1141
68317985
RB
11422016-09-20 Richard Biener <rguenther@suse.de>
1143
1144 * lto.c (lto_main): Call early_finish with "<artificial>" as
1145 filename.
1146
321e76fb
RB
11472016-09-19 Richard Biener <rguenther@suse.de>
1148
1149 * lto.c (lto_main): Invoke early_finish debug hook.
1150
ea6e17d5
RB
11512016-07-25 Richard Biener <rguenther@suse.de>
1152
1153 * lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
1154 (unify_scc): Likewise.
1155 (lto_read_decls): Likewise.
1156
e9ac1f86
JJ
11572016-06-28 Jakub Jelinek <jakub@redhat.com>
1158
1159 * Make-lang.in: Don't cat ../stage_current if it does not exist.
1160
277d7ee0
AK
11612016-06-23 Andi Kleen <ak@linux.intel.com>
1162
1163 * Make-lang.in: Add support for autofdo (disabled for now)
1164
4d926e34
MS
11652016-06-10 Martin Sebor <msebor@redhat.com>
1166
1167 PR c/71392
ab20d992 1168 * lto-lang.c (handle_nonnull_attribute): Accept the nonnull
4d926e34
MS
1169 attribute in type-generic builtins.
1170
479f99c9
JH
11712016-05-16 Jan Hubicka <hubicka@ucw.cz>
1172
1173 * lto-partition.c (add_symbol_to_partition_1): Likewise.
1174
1a0bf5e1
JH
11752016-05-03 Jan Hubicka <hubicka@ucw.cz>
1176
1177 * lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed.
1178
a2e76867
PK
11792016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1180
1181 * lto-partition.h (lto_balanced_map): New parameter.
1182 * lto-partition.c (lto_balanced_map): New parameter
1183 max_partition_size.
1184 Check if partition size is greater than max_partition_size.
1185 * lto.c (do_whole_program_analysis): Adjust calls to
1186 lto_balanced_map() to pass 2nd argument.
1187
ea913779
L
11882016-03-17 H.J. Lu <hongjiu.lu@intel.com>
1189
1190 PR lto/70258
1191 * lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
1192 PIE.
1193
56aae4b7
JJ
11942016-03-08 Jakub Jelinek <jakub@redhat.com>
1195
1196 * lto-symtab.h (lto_symtab_prevail_decl): Fix spelling
1197 - becuase -> because.
1198
ed5d948d
TV
11992016-02-15 Tom de Vries <tom@codesourcery.com>
1200
1201 PR lto/69655
1202 * lto.c (read_cgraph_and_symbols): Call input_offload_tables with
1203 argument.
1204
4ecbadc7
ML
12052016-01-27 Martin Liska <mliska@suse.cz>
1206
1207 * lto-partition.c (add_symbol_to_partition_1): Remove usage
1208 of hsa_summaries.
1209
e49d321f
JH
12102016-01-19 Jan Hubicka <hubicka@ucw.cz>
1211
1212 PR lto/69136
1213 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
1214 decls have no assemblernames.
1215
b2b40051 12162016-01-19 Martin Liska <mliska@suse.cz>
92a285c1 1217 Martin Jambor <mjambor@suse.cz>
b2b40051
MJ
1218
1219 * lto-partition.c: Include "hsa.h"
1220 (add_symbol_to_partition_1): Put hsa implementations into the
1221 same partition as host implementations.
1222
5803bd01
JH
12232016-01-12 Jan Hubicka <hubicka@ucw.cz>
1224
1225 PR lto/69003
1226 * lto-partition.c (rename_statics): Fix pasto.
1227
13092f61
RB
12282016-01-18 Richard Biener <rguenther@suse.de>
1229
1230 PR lto/69337
1231 * lto-symtab.c (lto_symtab_merge): Return early for mismatched
1232 function vs. variable.
1233
3c4e91c9
RB
12342016-01-12 Richard Biener <rguenther@suse.de>
1235
1236 PR lto/69077
1237 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
1238 merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
1239
818ab71a
JJ
12402016-01-04 Jakub Jelinek <jakub@redhat.com>
1241
1242 Update copyright years.
1243
3fddb2ef
JH
12442015-12-10 Jan Hubicka <hubicka@ucw.cz>
1245
1246 PR lto/68878
1247 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
1248 * lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
1249 (lto_symtab_prevailing_decl): Use it.
1250
4a38b02b
IV
12512015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1252
1253 * lto.c: Include stringpool.h and fold-const.h.
1254 (offload_handle_link_vars): New static function.
1255 (lto_main): Call offload_handle_link_vars.
1256
ca834876
JH
12572015-12-10 Jan Hubicka <hubicka@ucw.cz>
1258
1259 * lto.c (lto_read_in_decl_state): Unpickle compressed bit.
1260
958a627f
JH
12612015-12-11 Jan Hubicka <hubicka@ucw.cz>
1262
1263 PR ipa/61886
1264 * lto-symtab.c (lto_symtab_merge_p): Avoid merging across different
1265 values of error and warning attributes.
1266
da20571a
JH
12672015-12-08 Jan Hubicka <hubicka@ucw.cz>
1268
1269 PR lto/68811
1270 * lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
1271 DECL.
1272 (LTO_NO_PREVAIL): Use gcc_checking_assert.
1273
378004b9
JH
12742015-12-08 Jan Hubicka <hubicka@ucw.cz>
1275
1276 PR lto/68811
1277 * lto-symtab.c (lto_symtab_merge_decls_2): Decl can never be prevailed
1278 by itself.
1279
6b9ac179
JH
12802015-12-08 Jan Hubicka <hubicka@ucw.cz>
1281
1282 PR ipa/61886
1283 * lto-symtab.c: Include lto-symtab.h.
1284 (lto_cgraph_replace_node): Do not merge profiles here.
1285 (lto_symtab_merge_p): New function.
1286 (lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
1287 (lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
1288 aliases.
1289 (lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
1290 (lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
1291 * lto.c: Include lto-symtab.h
1292 * lto-symtab.h: New.
1293
41c60c6c
JH
12942015-12-08 Jan Hubicka <hubicka@ucw.cz>
1295
1296 PR ipa/61886
1297 * lto-partition.c (add_symbol_to_partition_1): Transparent aliases
1298 are not part of the definition.
1299 (contained_in_symbol): Likewise.
1300 (promote_symbol): When promoting a symbol also promote all transparent
1301 aliases.
1302 (rename_statics): Weakref needs unique name, too.
1303
71e54687
JH
13042015-12-07 Jan Hubicka <hubicka@ucw.cz>
1305
1306 PR ipa/61886
1307 * lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
1308 rename_statics, rename_statics): Handle transparent aliases.
1309
88636b62
JH
13102015-12-04 Jan Hubicka <hubicka@ucw.cz>
1311
1312 * lto-symtab.c (lto_cgraph_replace_node): Update code computing
1313 merged_comdat.
1314
8c86248e
JH
13152015-12-01 Jan Hubicka <hubicka@ucw.cz>
1316
1317 * lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET.
1318
1ff9ed6f
JH
13192015-11-25 Jan Hubicka <jh@suse.cz>
1320
1321 * lto-lang.c (lto_post_options): Process flag_lto_linker_output.
1322 * lang.opt (lto_linker_output): New enum.
1323 (flinker_output): New flag.
1324
22bea0be
JH
13252015-11-24 Jan Hubicka <hubicka@ucw.cz>
1326
1327 * lto-symtab.c: Include alias.h
1328 (warn_type_compatibility_p): Replace types_compatible_p checks by
1329 TBAA and size checks; set bit 2 if locations are TBAA incompatible.
1330 (lto_symtab_merge): Compare DECL sizes.
1331 (lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
1332
aea50b45
JH
13332015-11-24 Jan Hubicka <hubicka@ucw.cz>
1334
1335 * lto.c (iterative_hash_canonical_type): Recruse for all types
1336 which pass !canonical_type_used_p.
1337 (gimple_register_canonical_type_1): Sanity check we do not compute
1338 canonical type of anything with !canonical_type_used_p.
1339 (gimple_register_canonical_type): Skip all types that are
1340 !canonical_type_used_p
1341
deb3dae6
JH
13422015-11-24 Jan Hubicka <hubicka@ucw.cz>
1343
1344 * lto.c (unify_scc): Use free_node.
1345
f85d2487
JH
13462015-11-21 Jan Hubicka <hubicka@ucw.cz>
1347
1348 * lto.c (iterative_hash_canonical_type): Always recurse for pointers.
1349 (gimple_register_canonical_type_1): Check that pointers do not get
1350 canonical types.
1351 (gimple_register_canonical_type): Do not register pointers.
1352
13532015-11-21 Jan Hubicka <hubicka@ucw.cz>
feb391fc
JH
1354
1355 * lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
1356 flag for types that are not ODR; fix loop walking parameters.
1357
69f293c9
AM
13582015-11-11 Andrew MacLeod <amacleod@redhat.com>
1359
1360 * lto-lang.c: Remove unused header files.
1361 * lto-object.c: Likewise.
1362 * lto-partition.c: Likewise.
1363 * lto-symtab.c: Likewise.
1364 * lto.c: Likewise.
1365
ee45a32d
EB
13662015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1367
1368 * lto.c (compare_tree_sccs_1): Deal with TYPE_REVERSE_STORAGE_ORDER.
1369
0aad0198
RS
13702015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1371
1372 * lto-lang.c: Don't undef DEF_BUILTIN.
1373
2adfab87
AM
13742015-10-29 Andrew MacLeod <amacleod@redhat.com>
1375
1376 * lto-lang.c: Reorder #include's and remove duplicates.
1377 * lto-object.c: Likewise.
1378 * lto-partition.c: Likewise.
1379 * lto-symtab.c: Likewise.
1380 * lto.c: Likewise.
1381
b2b29377
MM
13822015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
1383
1384 * lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
1385 conditionals.
1386 (lto_fixup_state): Likewise.
1387 (do_whole_program_analysis): Use
1388 symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
1389 conditionals.
1390
d9a6bd32
JJ
13912015-10-13 Jakub Jelinek <jakub@redhat.com>
1392
1393 * lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
1394 DEF_FUNCTION_TYPE_11): Define.
1395
9c4eeafc
JH
13962015-10-10 Jan Hubicka <hubicka@ucw.cz>
1397
1398 * lto.c (hash_canonical_type): Honor
1399 type_with_interoperable_signedness.
1400
3e32ee19
NS
14012015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1402
1403 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
1404 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1405
f196d062
RB
14062015-08-31 Richard Biener <rguenther@suse.de>
1407
1408 * lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
1409 * lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
1410 (lto_symtab_prevailing_decl): Do not replace a decl that didn't
1411 participate in merging with something else.
1412
45aee888
RB
14132015-08-31 Richard Biener <rguenther@suse.de>
1414
1415 * lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
1416 test, do not replace a non-builtin with a builtin.
1417 * lto.c (compare_tree_sccs_1): Do not merge things we stream
1418 as builtins vs. non-builtins.
1419
a79683d5
TS
14202015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1421
1422 * lto.h: Remove useless typedefs.
1423
48d859bb
AM
14242015-07-15 Andrew MacLeod <amacleod@redhat.com>
1425
1426 * lto.c: Remove redundant includes.
1427
026c3cfd
AH
14282015-07-12 Aldy Hernandez <aldyh@redhat.com>
1429
1430 * lto-lang.c: Fix double word typos.
1431
9fdcd34e
AM
14322015-07-10 Andrew MacLeod <amacleod@redhat.com>
1433
1434 * lto.c: Include cfghooks.h rather than predict.h.
1435
f51ade33
AM
14362015-07-09 Andrew MacLeod <amacleod@redhat.com>
1437
1438 * lto-lang.c: Adjust includes of target.h, alloc-pool.h and
1439 lto-streamer.h.
1440 * lto-object.c: Likewise.
1441 * lto-partition.c: Likewise.
1442 * lto-symtab.c: Likewise.
1443
1916bcb5
AM
14442015-07-09 Andrew MacLeod <amacleod@redhat.com>
1445
1446 * lto-lang.c: Adjust includes for flags.h changes.
1447
c7131fb2
AM
14482015-07-07 Andrew MacLeod <amacleod@redhat.com>
1449
1450 * lto-lang.c: Adjust includes.
1451 * lto-object.c: Likewise.
1452 * lto-partition.c: Likewise.
1453 * lto-symtab.c: Likewise.
1454 * lto.c: Likewise.
1455
f0889939
AM
14562015-06-25 Andrew MacLeod <amacleod@redhat.com>
1457
1458 * lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
1459 * lto-object.c: Likewise.
1460 * lto-partition.c: Likewise.
1461 * lto-symtab.c: Likewise.
1462 * lto-tree.h: Likewise.
1463 * lto.c: Likewise.
1464
8d67ee55
RS
14652015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1466
1467 * lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
1468 than typed_noop_remove. Remove redudant typedefs.
1469
abb226c9
AM
14702015-06-17 Andrew MacLeod <amacleod@redhat.com>
1471
1472 * lto-lang.c: Do not include input.h, line-map.h or is-a.h.
1473 * lto-object.c: Likewise.
1474 * lto-partition.c: Likewise.
1475 * lto-symtab.c: Likewise.
1476 * lto.c: Likewise.
1477
351d90f4
JH
14782015-06-14 Jan Hubicka <hubicka@ucw.cz>
1479
1480 PR ipa/66181
1481 * lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
1482
44c42705
DD
14832015-06-12 DJ Delorie <dj@redhat.com>
1484
1485 * lto-lang.c (lto_type_for_size): Include intN types.
1486 (lto_type_for_mode): Likewise.
1487
64578d98
JH
14882015-06-08 Jan Hubicka <hubicka@ucw.cz>
1489
1490 * lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
1491
13fdf2e2
AM
14922015-06-08 Andrew MacLeod <amacleod@redhat.com>
1493
1494 * lto-lang.c : Adjust include files.
1495 * lto-object.c : Likewise.
1496 * lto-partition.c : Likewise.
1497 * lto-partition.h : Likewise.
1498 * lto-symtab.c : Likewise.
1499 * lto.c : Likewise.
1500 * lto.h : Likewise.
1501
ccb5ad37
JH
15022015-06-06 Jan Hubicka <hubicka@ucw.cz>
1503
6542950e
JH
1504 PR lto/65378
1505 * lto-symtab.c (warn_type_compatibility_p): Fix call of
1506 odr_or_derived_type_p.
1507 (lto_symtab_merge_decls_2): Update call of warn_types_mismatch.
1508
15092015-06-08 Jan Hubicka <hubicka@ucw.cz>
1510
ccb5ad37
JH
1511 * lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
1512 pointers.
1513
d7438551
AH
15142015-06-05 Aldy Hernandez <aldyh@redhat.com>
1515
1516 * lto-lang.c (lto_write_globals): Remove.
1517 (LANG_HOOKS_WRITE_GLOBALS): Same.
1518
ecb9f223
AM
15192015-06-04 Andrew MacLeod <amacleod@redhat.com>
1520
1521 * lto-lang.c: Adjust includes for restructured coretypes.h.
1522 * lto-object.c: Likewise.
1523 * lto-partition.c: Likewise.
1524 * lto-symtab.c: Likewise.
1525 * lto.c: Likewise.
1526
9cb9b937
JH
15272015-06-04 Jan Hubicka <hubicka@ucw.cz>
1528
1529 * lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.
1530
93e2aa6d
JH
15312015-06-03 Jan Hubicka <hubicka@ucw.cz>
1532
1533 * lto.c (iterative_hash_canonical_type,
1534 gimple_register_canonical_type): only hash main variants of types
1535
faae53f8
ML
15362015-05-27 Martin Liska <mliska@suse.cz>
1537
1538 * lto-partition.c (new_partition): Reset number of symbols.
1539 (add_symbol_to_partition_1): Increment number of symbols.
1540 (undo_partition): Decrement number of symbols.
1541 (lto_balanced_map): Dump number of symbols and insns that
1542 belong to a partition.
1543 * lto-partition.h (struct ltrans_partition_def): Add symbol counter.
1544
b727ba74
JH
15452015-05-22 Jan Hubicka <hubicka@ucw.cz>
1546
1547 * lto.c (hash_canonical_type): Be sure we hash only types that
1548 need alias set.
1549 (gimple_register_canonical_type_1): Do not produce canonical
1550 types for types that do not need alias sets.
1551
1d1218fb
JH
15522015-05-22 Jan Hubicka <hubicka@ucw.cz>
1553
1554 * lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
1555
872d5034
JH
15562015-05-19 Jan Hubicka <hubicka@ucw.cz>
1557
1558 * lto.c (gimple_canonical_types_compatible_p): Move to tree.c
1559
259d29e3
JH
15602015-05-17 Jan Hubicka <hubicka@ucw.cz>
1561
1562 * lto-symtab.c (warn_type_compatibility_p): Break out from ...;
1563 compare ODR types (if available) and function types.
1564 (lto_symtab_merge): ... here; output ODR violation warnings
1565 and call warn_types_mismatch.
1566
b0845a1e
JH
15672015-04-29 Jan Hubicka <hubicka@ucw.cz>
1568
1569 * lto.c (lto_fixup_state): Call verify_type.
1570
67f58944
TS
15712015-04-18 Trevor Saunders <tsaunders@mozilla.com>
1572
b0845a1e 1573 * lto.c: Adjust for hash_table changes.
67f58944 1574
36ceb0e3
JH
15752015-03-27 Jan Hubicka <hubicka@ucw.cz>
1576
1577 * lto.c (lto_read_decls): Move code registering odr types out
1578 of TYPE_CANONICAL conditional and also register polymorphic types.
1579
afd1e7c6
JH
15802015-03-26 Jan Hubicka <hubicka@ucw.cz>
1581
1582 * lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
1583 DECL_ARTIFICAL symbols.
1584
eaeec5ec
JH
15852015-03-26 Jan Hubicka <hubicka@ucw.cz>
1586
1587 PR lto/65536
1588 * lto.c (unify_scc): Revert location cache when unification
1589 suceeded.
1590 (lto_read_decls): Accept location cache after sucess;
1591 apply location cache before calling debug hooks.
1592
1c4db829
JH
15932015-03-10 Jan Hubicka <hubicka@ucw.cz>
1594
1595 * lto.c (read_cgraph_and_symbols): Do not do merging
1596 at ltrans stage.
1597
db847fa8
JJ
15982015-02-26 Jakub Jelinek <jakub@redhat.com>
1599
1600 * lto.c (lto_mode_identity_table): New variable.
1601 (lto_read_decls): Add mode_table argument to the lto_input_block
1602 constructor.
1603 (lto_file_finalize): Initialize mode_table.
1604 (lto_init): Initialize lto_mode_identity_table.
1605
56a9f6bc
TS
16062015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1607
1608 PR libgomp/64625
1609 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1610 Remove macros.
1611 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1612
ebc8f0bb
JH
16132015-02-03 Jan Hubicka <hubicka@ucw.cz>
1614
1615 * lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.
1616
40fecdd6
JM
16172015-01-30 Joseph Myers <joseph@codesourcery.com>
1618
1619 * lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
1620 changed to pass input_location as first argument.
1621
040968a8
JH
16222014-12-11 Jan Hubicka <hubicka@ucw.cz>
1623
1624 * lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
1625
69fe4502
JH
16262014-12-11 Jan Hubicka <hubicka@ucw.cz>
1627
1628 * lto.c (compare_tree_sccs_1): Add comparsion of
1629 DECL_FUNCTION_SPECIFIC_TARGET
1630
41dbbb37
TS
16312015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1632 James Norris <jnorris@codesourcery.com>
1633
1634 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1635 New macros.
1636 * lto.c: Include "gomp-constants.h".
1637
837bac8c
IV
16382015-01-14 Ilya Verbin <ilya.verbin@intel.com>
1639
1640 * lto-partition.c (lto_promote_cross_file_statics): Remove argument
1641 from select_what_to_stream.
1642
1b34e6e2
BS
16432015-01-09 Bernd Schmidt <bernds@codesourcery.com>
1644 Jakub Jelinek <jakub@redhat.com>
1645
1646 PR middle-end/64412
1647 * lto.c (read_cgraph_and_symbols): Set lto_stream_offload_p
1648 if ACCEL_COMPILER.
1649
adfac8df
JJ
16502015-01-09 Michael Collison <michael.collison@linaro.org>
1651
1652 * lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1653 input.h, alias.h, symtab.h, options, fold-const.h,
1654 wide-int.h, and inchash.h due to flattening of tree.h.
1655 * lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1656 input.h, alias.h, symtab.h, fold-const.h,
1657 wide-int.h, and inchash.h due to flattening of tree.h.
1658 * lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1659 input.h, alias.h, symtab.h, options, fold-const.h,
1660 wide-int.h, and inchash.h due to flattening of tree.h.
1661 * lto-partition.c: Ditto.
1662 * lto-symtab.c: Ditto.
1663
5624e564
JJ
16642015-01-05 Jakub Jelinek <jakub@redhat.com>
1665
1666 Update copyright years.
1667
9a1e784a
ML
16682014-12-22 Martin Liska <mliska@suse.cz>
1669
1670 * lto-partition.c (add_symbol_to_partition_1): New inline_summaries
1671 is used.
1672 (undo_partition): Likewise.
1673 (lto_balanced_map): Likewise.
1674
dd912cb8
ML
16752014-12-22 Martin Liska <mliska@suse.cz>
1676
1677 * lto-partition.c: Include of symbol-summary.h is added.
1678 * lto-symtab.c: Likewise.
1679 * lto.c: Likewise.
1680
17e0fc92
JH
16812014-12-11 Jan Hubicka <hubicka@ucw.cz>
1682
1683 PR ipa/61324
1684 * lto.c (read_cgraph_and_symbols): Update call of
1685 remove_unreachable_nodes.
1686 (do_whole_program_analysis): Remove call of
1687 symtab->remove_unreachable_nodes
1688
58dddbd2
TS
16892014-12-08 Trevor Saunders <tsaunders@mozilla.com>
1690
1691 * lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
1692 htab with malloc instead of ggc.
1693
907dadbd
TS
16942014-11-20 Trevor Saunders <tsaunders@mozilla.com>
1695
1696 * lto.c: Replace htab with hash_table.
1697
9c71e9df
TS
16982014-11-20 Trevor Saunders <tsaunders@mozilla.com>
1699
1700 * lto.c (lto_read_in_decl_state): Adjust.
1701 (lto_fixup_state): Likewise.
1702
72a4a8b0
JH
17032014-11-17 Jan Hubicka <hubicka@ucw.cz>
1704
1705 * lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET.
1706
54e774c0
JH
17072014-11-14 Jan Hubicka <hubicka@ucw.cz>
1708
1709 * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
1710
1f6be682
IV
17112014-11-13 Ilya Verbin <ilya.verbin@intel.com>
1712 Bernd Schmidt <bernds@codesourcery.com>
1713 Andrey Turetskiy <andrey.turetskiy@intel.com>
1714 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1715
ab20d992 1716 * lto.c (read_cgraph_and_symbols): Call input_offload_tables.
ec6fe917
IV
1717
17182014-11-13 Ilya Verbin <ilya.verbin@intel.com>
1719 Ilya Tocar <ilya.tocar@intel.com>
1720 Andrey Turetskiy <andrey.turetskiy@intel.com>
1721 Bernd Schmidt <bernds@codesourcery.com>
1722
1f6be682
IV
1723 * lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
1724 LTO_SECTION_NAME_PREFIX.
1725 * lto-partition.c (lto_promote_cross_file_statics): Call
1726 select_what_to_stream.
1727 * lto.c (lto_section_with_id): Use section_name_prefix instead of
1728 LTO_SECTION_NAME_PREFIX.
1729 (read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
1730 being built as an offload compiler.
1731
ef4bddc2
RS
17322014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1733
1734 * lto-lang.c: Remove redundant enum from machine_mode.
1735
c582198b
AM
17362014-10-28 Andrew MacLeod <amacleod@redhat.com>
1737
1738 * lto.c: Adjust include files.
1739 * lto-lang.c: Ditto.
1740 * lto-object.c: Ditto.
1741 * lto-partition.c: Ditto.
1742 * lto-symtab.c: Ditto.
1743
60393bbc
AM
17442014-10-27 Andrew MacLeod <amacleod@redhat.com>
1745
1746 * lto-lang.c: Adjust include files.
1747 * lto-object.c: Ditto.
1748 * lto-partition.c: Ditto.
1749 * lto-symtab.c: Ditto.
1750 * lto.c: Ditto.
1751
957f47e6
DD
17522014-10-16 DJ Delorie <dj@redhat.com>
1753
1754 * lto-object.c (lto_obj_begin_section): In the event that pointer
1755 sizes aren't powers of two, choose a more suitable alignment
1756 than (unsigned)(-1).
1757
78a7c317
DD
17582014-10-14 DJ Delorie <dj@redhat.com>
1759
1760 * lto-lang.c (lto_build_c_type_nodes): Check intN types for
1761 size-type as well.
1762 (lto_init): Initialize all intN types, not just int128.
1763
70261a4f
ML
17642014-10-06 Martin Liska <mliska@suse.cz>
1765
1766 * lto.c (stream_out): ARG_UNUSED added for last argument.
1767
00de328a
AH
17682014-09-24 Aldy Hernandez <aldyh@redhat.com>
1769
1770 * lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
1771 DECL_ABSTRACT_P.
1772
7861b648
AK
17732014-09-23 Andi Kleen <ak@linux.intel.com>
1774
1775 * lto-partition.c (node_cmp): Update comment.
1776 (varpool_node_cmp): Use symtab_node for comparison.
1777 (add_sorted_nodes): New function.
1778 (lto_balanced_map): Change to keep ordered queue
1779 of ordered node. Handle no_reorder attribute.
1780
1ee85ee1
JH
17812014-09-11 Jan Hubicka <hubicka@ucw.cz>
1782
1783 * lto.c (lto_read_decls): Register ODR types.
1784
8605403e
JH
17852014-08-20 Jan Hubicka <hubicka@ucw.cz>
1786
1787 * lto.c (read_cgraph_and_symbols): Fix symtab_remove_unreachable_nodes
1788 call.
1789 (do_whole_program_analysis): Only sanity check that IPA passes cleans up.
1790
56b1f114
JH
17912014-08-14 Jan Hubicka <hubicka@ucw.cz>
1792
1793 * lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.
1794
833f94c0
RB
17952014-08-14 Richard Biener <rguenther@suse.de>
1796
1797 PR lto/62067
1798 * lto-lang.c (def_fn_type): Fix error handling wrt va_end.
1799
207c68cd
RB
18002014-08-08 Richard Biener <rguenther@suse.de>
1801
1802 * lto.c (lto_read_decls): Adjust for lto_input_block changes.
1803
7c581d61
BC
18042014-08-08 Bin Cheng <bin.cheng@arm.com>
1805
1806 PR lto/62032
1807 * lto-lang.c (lto_init): Switch mis-matched arguments.
1808
39c8aaa4
TS
18092014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1810
1811 * lto-partition.c, lto.c: Use hash_map instead of pointer_map.
1812
6e2830c3
TS
18132014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1814
1815 * lto-partition.c, lto-partition.h: Use hash_set instead of
1816 pointer_set.
1817
50de5793
AK
18182014-07-31 Andi Kleen <ak@linux.intel.com>
1819
1820 * lto.c (hash_canonical_type): Use inchash::hash
1821 and use inchash::add_expr.
1822 (iterative_hash_canonical_type): Dito.
1823
f6bcdb5e
RB
18242014-07-30 Richard Biener <rguenther@suse.de>
1825
1826 * lto-streamer.h (lto_write_data): New function.
1827 * langhooks.c (lhd_append_data): Do not free block.
1828 * lto-section-out.c (lto_write_data): New function writing
1829 raw data to the current section.
1830 (lto_write_stream): Adjust for langhook semantic change.
1831 (lto_destroy_simple_output_block): Write header directly.
1832 * lto-opts.c (lto_write_options): Write options directly.
1833 * lto-streamer-out.c (produce_asm): Write heaeder directly.
1834 (lto_output_toplevel_asms): Likewise.
1835 (copy_function_or_variable): Copy data directly.
1836 (write_global_references): Output index table directly.
1837 (lto_output_decl_state_refs): Likewise.
1838 (write_symbol): Write data directly.
1839 (produce_symtab): Adjust.
1840 (produce_asm_for_decls): Output header and refs directly.
1841
56fdfd3e
AK
18422014-07-25 Andi Kleen <ak@linux.intel.com>
1843
1844 * lto.c (hash_canonical_type): Call iterative_hstate_expr.
1845
0bd8bb04
AK
18462014-07-25 Andi Kleen <ak@linux.intel.com>
1847
1848 * lto.c (hash_canonical_type): Convert to inchash.
1849 (iterative_hash_canonical_type): Dito.
1850
6d8eb96b
AK
18512014-07-25 Andi Kleen <ak@linux.intel.com>
1852
1853 * lto.c: Include inchash.h
1854
ad115a3c
JH
18552014-07-14 Jan Hubicka <hubicka@ucw.cz>
1856
1857 * lto.c (mentions_vars_p_decl_non_common): Skip
1858 DECL_ARGUMENT_FLD.
1859 mentions_vars_p_function): Do DECL_ARGUMENTS.
1860 (lto_fixup_prevailing_decls): Update.
1861
917dd9bf
JH
18622014-07-12 Jan Hubicka <hubicka@ucw.cz>
1863
1864 * lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO
1865 timevar
1866 (materialize_cgraph): Do not push GIMPLE_IN timevar.
1867
0b83e688
JH
18682014-07-11 Jan Hubicka <hubicka@ucw.cz>
1869
ab20d992 1870 * lto-partition.c (add_references_to_partition): Use
0b83e688
JH
1871 varpool_ctor_useable_for_folding_p.
1872 * lto.c (lto_read_in_decl_state): Update sanity check.
1873
e55637b7
ML
18742014-07-01 Martin Liska <mliska@suse.cz>
1875
1876 IPA REF alias refactoring
1877 * lto-partition.c (add_symbol_to_partition_1): Usage of
1878 FOR_EACH_ALIAS added.
1879
010f4e27
JH
18802014-06-28 Jan Hubicka <hubicka@ucw.cz>
1881
1882 Revert:
1883 * lto.c (lto_copy_fields_not_streamed): New function.
1884 (compare_tree_sccs_1): Do not compare fields shared in between type
1885 and variant.
1886 (lto_read_decls): Fixup types first before inserting into hash.
1887
b82fe354
AP
18882014-06-28 Andrew Pinski <apinski@cavium.com>
1889
1890 * lto.c (lto_read_decls): Fix comment in comment.
1891
288eeff7
JH
18922014-06-28 Jan Hubicka <hubicka@ucw.cz>
1893
1894 * lto.c (lto_copy_fields_not_streamed): New function.
1895 (compare_tree_sccs_1): Do not compare fields shared in between type
1896 and variant.
1897 (lto_read_decls): Fixup types first before inserting into hash.
1898
e01fa630
ML
18992014-06-25 Martin Liska <mliska@suse.cz>
1900
ab20d992 1901 * lto-partition.c (add_references_to_partition): New IPA REF function
e01fa630
ML
1902 used.
1903 (add_symbol_to_partition_1): Likewise.
1904 (lto_balanced_map): Likewise.
ab20d992 1905 * lto-symtab.c (lto_cgraph_replace_node): Likewise.
e01fa630 1906
aaf8a23e
JH
19072014-06-24 Jan Hubicka <hubicka@ucw.cz>
1908
1909 * lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
1910 (mentions_vars_p_function): ... here.
1911 (compare_tree_sccs_1): Update VINDEX checks.
1912 (lto_fixup_prevailing_decls): Likewise.
1913
1eb68d2d
TS
19142014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1915
1916 * lto.c (canonical_type_hash_cache): Use hash_map instead of
1917 pointer_map.
1918
c203e8a7
TS
19192014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1920
1921 * lto.c: Adjust.
1922
714c800f
JH
19232014-06-20 Jan Hubicka <hubicka@ucw.cz>
1924
1925 * lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.
1926
569b1784
JH
19272014-06-20 Jan Hubicka <hubicka@ucw.cz>
1928
1929 * lto.c (compare_tree_sccs_1): Do not compare priorities.
1930
56363ffd
JH
19312014-06-15 Jan Hubicka <hubicka@ucw.cz>
1932
1933 * lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
1934
e257a17c
JH
19352014-06-10 Jan Hubicka <hubicka@ucw.cz>
1936
1937 * lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
1938 (do_whole_program_analysis): Use verify_symtab.
1939
24d047a3
JH
19402014-06-07 Jan Hubicka <hubicka@ucw.cz>
1941
1942 * lto.c (mentions_vars_p_decl_with_vis, compare_tree_sccs_1,
1943 lto_fixup_prevailing_decls): Skip section names.
1944
9b2b7279
AM
19452014-06-02 Andrew MacLeod <amacleod@redhat.com>
1946
1947 * lto-symtab.c: Include builtins.h.
1948
a9243bfc
RB
19492014-05-26 Richard Biener <rguenther@suse.de>
1950
1951 * lto.c (lto_parse_hex): Use int64_t.
1952 (lto_resolution_read): Likewise.
1953
fd1e9302
JH
19542014-05-23 Jan Hubicka <hubicka@ucw.cz>
1955
1956 * lto.c (read_cgraph_and_symbols): Grow ggc memory after streaming.
1957
aede2c10
JH
19582014-05-23 Jan Hubicka <hubicka@ucw.cz>
1959
1960 * lto-symtab.c (lto_symtab_merge_symbols): Update code setting
1961 symtab pointer.
1962 * lto.c (compare_tree_sccs_1): Do not compare comdat groups.
1963
f6a7cffc
TS
19642014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1965
1966 * lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1967 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1968 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1969
4000360e
BS
19702012-05-22 Bernd Schmidt <bernds@codesourcery.com>
1971
1972 * lto-object.c: Include "lto-section-names.h".
1973 (LTO_SEGMENT_NAME): Don't define.
1974 * lto.c: Include "lto-section-names.h".
1975
b9559136
JH
19762014-05-17 Jan Hubicka <hubicka@ucw.cz>
1977
1978 PR lto/61012
1979 * lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
1980 mixed with variables.
1981
766090c2
TS
19822014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1983
1984 * lto-tree.h: Don't use variable_size gty attribute.
1985 * lto.c (lto_read_in_decl_state): Adjust.
1986 (create_subid_section_table): Likewise.
1987 (lto_flatten_files): Likewise.
1988 (read_cgraph_and_symbols): Likewise.
1989
1d60af08
KZ
19902014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1991 Mike Stump <mikestump@comcast.net>
1992 Richard Sandiford <rdsandiford@googlemail.com>
1993
1994 * lto.c (compare_tree_sccs_1): Use wide-int interfaces.
1995 * lto-lang.c (get_nonnull_operand): Likewise.
1996
22869a37
RB
19972014-04-28 Richard Biener <rguenther@suse.de>
1998
1999 PR middle-end/60092
2000 * lto-lang.c: Define flag_isoc11.
2001
7de90a6c
DM
20022014-04-23 David Malcolm <dmalcolm@redhat.com>
2003
2004 * lto-partition.c (add_references_to_partition): Update for
2005 removal of implicit pointer from the is-a.h API.
2006 (add_symbol_to_partition_1): Likewise.
2007 (contained_in_symbol): Likewise.
2008 (undo_partition): Likewise.
2009 (lto_balanced_map): Likewise.
2010 (promote_symbol): Likewise.
2011 * lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
2012 (lto_symtab_merge_symbols): Likewise.
2013 * lto.c (lto_wpa_write_files): Likewise.
2014
783dab6b
RB
20152014-04-15 Richard Biener <rguenther@suse.de>
2016
2017 * lto.c: Include params.h.
2018 (do_whole_program_analysis): Switch on flag_lto_partition value,
2019 add support for LTO_PARTITION_ONE.
2020 * lto-partition.h (lto_balanced_map): Adjust.
2021 * lto-partition.c (lto_balanced_map): Get number of desired
2022 partitions as argument to support -flto-partition=one.
2023
cb90235d
JH
20242014-04-14 Jan Hubicka <hubicka@ucw.cz>
2025
ab20d992 2026 * lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
cb90235d
JH
2027 tp_first_run.
2028
bbe281da
JH
20292014-03-19 Jan Hubicka <hubicka@ucw.cz>
2030
2031 * lto.c: Include ipa-inline.h
2032 (do_whole_program_analysis): Free inline summary after partitioning.
2033
ce2f49b3
RB
20342014-03-19 Richard Biener <rguenther@suse.de>
2035
2036 PR middle-end/60553
ab20d992 2037 * lto-tree.h (lang_tree_node): For types use TYPE_NEXT_VARIANT
ce2f49b3
RB
2038 instead of TREE_CHAIN as chain_next.
2039
e41106fc
RB
20402014-03-19 Richard Biener <rguenther@suse.de>
2041
2042 * lto.c (lto_wpa_write_files): Move call to
2043 lto_promote_cross_file_statics ...
2044 (do_whole_program_analysis): ... here, into the partitioning
2045 block. Do not ggc_collect after lto_wpa_write_files but
2046 for a last time before it.
2047
15df2655
JJ
20482014-03-19 Jakub Jelinek <jakub@redhat.com>
2049
2050 PR lto/60571
2051 * lto.c (wait_for_child): Define WCONTINUED if not defined to 0.
2052 Fix formatting.
2053
415e2e6b
JJ
20542014-03-18 Jakub Jelinek <jakub@redhat.com>
2055
2056 PR sanitizer/60535
2057 * lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node
2058 and complex_{float,{,long_}double}_type_node.
2059
f42c637e
PM
20602014-03-08 Paulo Matos <paulo@matos-sorge.com>
2061
415e2e6b
JJ
2062 * lto-lang.c (lto_init): Pass flag_short_double to
2063 build_common_tree_nodes.
f42c637e 2064
6dab804d
JH
20652014-02-14 Jan Hubicka <hubicka@ucw.cz>
2066
2067 PR lto/60295
2068 * lto.c (stream_out): Avoid parallel streaming with
2069 -flto=jobserver until we are able to throttle it down
2070 resonably.
2071
39434bce
JH
20722014-02-14 Jan Hubicka <hubicka@ucw.cz>
2073
2074 * lto-partition.c (add_symbol_to_partition_1,
2075 undo_partition, lto_balanced_map): Aliases have no
2076 defined size.
2077 (lto_balanced_map): Do not follow refering variables
2078 if they can be optimized out.
2079
1966fd99
RB
20802014-02-14 Richard Biener <rguenther@suse.de>
2081
2082 PR lto/60179
2083 * lto.c (compare_tree_sccs_1): Do not compare
2084 DECL_FUNCTION_SPECIFIC_TARGET.
2085 (lto_read_decls): Re-build DECL_FUNCTION_SPECIFIC_TARGET.
2086
283416b3
RB
20872014-02-12 Richard Biener <rguenther@suse.de>
2088
2089 PR lto/60060
2090 * lto-lang.c (lto_write_globals): Do not call
2091 wrapup_global_declarations or emit_debug_global_declarations
2092 but emit debug info for non-function scope variables
2093 directly.
2094
b7e85694
JH
20952014-02-06 Jan Hubicka <hubicka@ucw.cz>
2096
2097 * lto.c (unify_scc): Free CONSTRUCTOR_ELTS.
2098
96451279
JH
20992014-02-06 Jan Hubicka <hubicka@ucw.cz>
2100
2101 PR ipa/59469
2102 * lto-partition.c (symbol_class): Move to cgraph.h
2103 (get_symbol_class): Move to symtab.c
2104 (add_references_to_partition, add_symbol_to_partition_1,
2105 lto_max_map, lto_1_to_1_map, lto_balanced_map,
2106 lto_promote_cross_file_statics): Update.
2107
f300e7b8
JH
21082014-02-05 Jan Hubicka <hubicka@ucw.cz>
2109
2110 * lto.c (lto_parallelism): New static var.
2111 (do_stream_out, wait_for_child, stream_out): New static functions.
2112 (lto_wpa_write_files): Add support for parallel streaming.
2113 (do_whole_program_analysis): Set parallelism.
2114 * lang.opt (fwpa): Add parameter.
2115 * lto-lang.c (lto_handle_option): Handle flag_wpa.
2116 (lto_init): Update use of flag_wpa.
2117 * lto-streamer.h (asm_nodes_output): Declare.
2118
f0f91770
RB
21192014-02-05 Richard Biener <rguenther@suse.de>
2120
2121 * lto.h (lto_global_var_decls): Remove.
2122 * lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
2123 (lto_write_globals): Do nothing in WPA stage, gather globals from
2124 the varpool here ...
2125 * lto.c (lto_main): ... not here.
2126 (materialize_cgraph): Do not call rest_of_decl_compilation
2127 on the empty lto_global_var_decls vector.
2128 (lto_global_var_decls): Remove.
2129
d665f8dd
JH
21302014-02-04 Jan Hubicka <hubicka@ucw.cz>
2131
ab20d992 2132 * lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
d665f8dd
JH
2133 needs duplicating, not generic COMDAT.
2134
c39276b8
RB
21352014-02-04 Richard Biener <rguenther@suse.de>
2136
2137 PR lto/59723
2138 * lto.c (mentions_vars_p): Handle NAMELIST_DECL.
2139 (lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.
2140
5f876ae7 21412014-02-04 Jan Hubicka <hubicka@ucw.cz>
3d3b561f 2142 Markus Trippelsdorf
5f876ae7
JH
2143
2144 PR ipa/59469
2145 * lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
2146 merge force_output and forced_by_abi flags.
2147
b72271b9
BI
21482014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2149
2150 * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
2151 flag_cilkplus.
2152
63124c48
RB
21532014-01-09 Richard Biener <rguenther@suse.de>
2154
2155 * lto.c (gimple_canonical_types_compatible_p): Fix comment.
2156
d05b9920
RB
21572014-01-09 Richard Biener <rguenther@suse.de>
2158
2159 PR lto/45586
2160 * lto.c (hash_canonical_type): Do not hash TREE_ADDRESSABLE,
2161 TYPE_ALIGN, TYPE_RESTRICT or TYPE_REF_CAN_ALIAS_ALL.
2162 (gimple_canonical_types_compatible_p): Do not compare them either.
2163
23a5b65a
RS
21642014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2165
2166 Update copyright years
2167
2c8326a5
OE
21682013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
2169
2170 * lto.c: Remove struct tags when referring to class varpool_node.
2171 * lto-partition.c: Likewise.
2172 * lto-symtab.c: Likewise.
2173
e06f9964
JJ
21742013-11-29 Jakub Jelinek <jakub@redhat.com>
2175 Richard Biener <rguenther@suse.de>
2176
2177 PR lto/59326
2178 * lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
2179
c193f58b
JJ
21802013-11-29 Jakub Jelinek <jakub@redhat.com>
2181
2182 PR lto/59326
2183 * lto.c (mentions_vars_p_omp_clause): New function.
2184 (mentions_vars_p): Call it for OMP_CLAUSE. Remove break;
2185 after return stmts.
2186
2fb9a547
AM
21872013-11-22 Andrew MacLeod <amacleod@redhat.com>
2188
2189 * lto.c: Add required include files from gimple.h.
ab20d992
JJ
2190 * lto-lang.c: Likewise.
2191 * lto-object.c: Likewise.
2192 * lto-partition.c: Likewise.
2193 * lto-symtab.c: Likewise.
2fb9a547 2194
fec39fa6
TS
21952013-11-18 Trevor Saunders <tsaunders@mozilla.com>
2196
2197 * lto-partition.c lto-symtab.c lto.c Adjust.
2198
d8a2d370
DN
21992013-11-14 Diego Novillo <dnovillo@google.com>
2200
2201 * lto-lang.c: Include stringpool.h.
2202 Include stor-layout.h.
2203 * lto-partition.c: Include gcc-symtab.h.
2204 * lto.c: Include stor-layout.h.
2205
5e20cdc9
DM
22062013-10-31 David Malcolm <dmalcolm@redhat.com>
2207
2208 Automated part of renaming of symtab_node_base to symtab_node.
2209
2210 Patch autogenerated by rename_symtab.py from
2211 https://github.com/davidmalcolm/gcc-refactoring-scripts
2212 revision 58bb219cc090b2f4516a9297d868c245495ee622
2213
2214 * lto-partition.c (add_symbol_to_partition): Rename
2215 symtab_node_base to symtab_node.
2216 (get_symbol_class): Likewise.
2217 (symbol_partitioned_p): Likewise.
2218 (add_references_to_partition): Likewise.
2219 (add_symbol_to_partition_1): Likewise.
2220 (contained_in_symbol): Likewise.
2221 (add_symbol_to_partition): Likewise.
2222 (lto_1_to_1_map): Likewise.
2223 (lto_max_map): Likewise.
2224 (lto_balanced_map): Likewise.
2225 (privatize_symbol_name): Likewise.
2226 (promote_symbol): Likewise.
2227 (may_need_named_section_p): Likewise.
2228 (rename_statics): Likewise.
2229 (lto_promote_statics_nonwpa): Likewise.
2230 * lto-symtab.c (lto_symtab_merge): Likewise.
2231 (lto_symtab_resolve_replaceable_p): Likewise.
2232 (lto_symtab_symbol_p): Likewise.
2233 (lto_symtab_resolve_can_prevail_p): Likewise.
2234 (lto_symtab_resolve_symbols): Likewise.
2235 (lto_symtab_merge_decls_2): Likewise.
2236 (lto_symtab_merge_decls_1): Likewise.
2237 (lto_symtab_merge_decls): Likewise.
2238 (lto_symtab_merge_symbols_1): Likewise.
2239 (lto_symtab_merge_symbols): Likewise.
2240 (lto_symtab_prevailing_decl): Likewise.
2241 * lto.c (lto_wpa_write_files): Likewise.
2242 (read_cgraph_and_symbols): Likewise.
2243 (do_whole_program_analysis): Likewise.
2244
378cd6b1
DM
22452013-10-30 David Malcolm <dmalcolm@redhat.com>
2246
2247 * lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
2248 declarations onto multiple lines to make things easier for
2249 rename_symtab.py.
2250 (lto_symtab_merge_decls_1): Likewise.
2251 (lto_symtab_merge_symbols_1): Likewise.
2252
939b37da
BI
22532013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2254
2255 * Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
2256 * lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
2257 Plus is enabled.
2258
67348ccc
DM
22592013-10-29 David Malcolm <dmalcolm@redhat.com>
2260
2261 Patch autogenerated by refactor_symtab.py from
2262 https://github.com/davidmalcolm/gcc-refactoring-scripts
2263 revision 58bb219cc090b2f4516a9297d868c245495ee622
2264
2265 * lto-partition.c (lto_promote_cross_file_statics): Update for
2266 conversion of symtab types to a true class hierarchy.
2267 (rename_statics): Likewise.
2268 (promote_symbol): Likewise.
2269 (privatize_symbol_name): Likewise.
2270 (lto_balanced_map): Likewise.
2271 (varpool_node_cmp): Likewise.
2272 (node_cmp): Likewise.
2273 (lto_1_to_1_map): Likewise.
2274 (undo_partition): Likewise.
2275 (add_symbol_to_partition): Likewise.
2276 (contained_in_symbol): Likewise.
2277 (add_symbol_to_partition_1): Likewise.
2278 (add_references_to_partition): Likewise.
2279 (symbol_partitioned_p): Likewise.
2280 (get_symbol_class): Likewise.
2281 (lto_max_map): Likewise.
2282 * lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
2283 (lto_symtab_merge_symbols): Likewise.
2284 (lto_symtab_merge_symbols_1): Likewise.
2285 (lto_symtab_merge_decls): Likewise.
2286 (lto_symtab_merge_decls_1): Likewise.
2287 (lto_symtab_merge_decls_2): Likewise.
2288 (lto_symtab_resolve_symbols): Likewise.
2289 (lto_symtab_resolve_can_prevail_p): Likewise.
2290 (lto_symtab_symbol_p): Likewise.
2291 (lto_symtab_resolve_replaceable_p): Likewise.
2292 (lto_symtab_merge): Likewise.
2293 (lto_varpool_replace_node): Likewise.
2294 (lto_cgraph_replace_node): Likewise.
2295 * lto.c (lto_main): Likewise.
2296 (do_whole_program_analysis): Likewise.
2297 (materialize_cgraph): Likewise.
2298 (read_cgraph_and_symbols): Likewise.
2299 (cmp_partitions_order): Likewise.
2300 (lto_materialize_function): Likewise.
2301 (has_analyzed_clone_p): Likewise.
2302
8e9055ae
AM
23032013-10-29 Andrew MacLeod <amacleod@redhat.com>
2304
ab20d992
JJ
2305 * lto-object.c: Add gimple.h to include list.
2306 * lto-partition.c: Likewise.
8e9055ae 2307
377d9792
AM
23082013-10-18 Andrew MacLeod <amacleod@redhat.com>
2309
2310 * lto.c: Remove tree-flow.h from include list.
2311
fffda8d7
RB
23122013-10-15 Richard Biener <rguenther@suse.de>
2313
2314 * lto.c (hash_canonical_type): Split out from ...
2315 (iterative_hash_canonical_type): ... here. Register types
2316 we recurse to.
2317 (gimple_canonical_type_hash): Adjust.
2318 (gimple_register_canonical_type_1): Split out from ...
2319 (gimple_register_canonical_type): ... here. Cache computed
2320 hash value.
2321 (lto_register_canonical_types): Split into two modes,
2322 clearing and computing TYPE_CANONICAL.
2323 (lto_read_decls): Adjust.
2324 (read_cgraph_and_symbols): Do two passes over global trees,
2325 first clearing then computing TYPE_CANONICAL.
2326
1394237e
RB
23272013-10-14 Richard Biener <rguenther@suse.de>
2328
2329 * lto.c (gimple_canonical_types): Move out-of GC space.
2330 (canonical_type_hash_cache): Make a pointer-map.
2331 (num_canonical_type_hash_entries, num_canonical_type_hash_queries):
2332 New counters.
2333 (iterative_hash_canonical_type): Adjust.
2334 (read_cgraph_and_symbols): Likewise.
2335 (print_lto_report_1): Likewise.
2336
0a387eca
RB
23372013-10-14 Richard Biener <rguenther@suse.de>
2338
2339 * lto.c (gimple_types, type_hash_cache, struct type_pair_d,
2340 type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
2341 gtc_next_dfs_num, compare_type_names_p, gtc_visit,
2342 gimple_types_compatible_p_1, gimple_types_compatible_p,
2343 visit, iterative_hash_name, struct type_hash_pair,
2344 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
2345 gimple_type_eq, gimple_register_type, num_not_merged_types,
2346 num_not_merged_types_in_same_scc, num_not_merged_types_trees,
2347 num_not_merged_types_in_same_scc_trees): Remove old merging code
2348 and statistics.
2349 (lto_read_decls): Do not run old merging code in parallel.
2350 (read_cgraph_and_symbols): Do not init/free old merging
2351 data structures.
2352 (print_lto_report_1): Do not report differences of old vs. new
2353 merging code.
2354
83fd5d11
RB
23552013-10-14 Richard Biener <rguenther@suse.de>
2356
2357 * lto-lang.c (lto_init): Do not re-init canonical types here.
2358 (lto_register_canonical_types): Move to ...
2359 * lto.c (lto_register_canonical_types): ... here.
2360 (gimple_canonical_types, canonical_type_hash_cache,
2361 iterative_hash_canonical_type, gimple_canonical_type_hash,
2362 gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
2363 gimple_register_canonical_type): Add canonical type merging machinery
2364 moved from gimple.c.
2365 (read_cgraph_and_symbols): Init and free canonical type tables
2366 here.
2367 (print_lto_report_1): Report canonical type table stats here.
2368
acf0174b
JJ
23692013-10-11 Jakub Jelinek <jakub@redhat.com>
2370
2371 * lto-lang.c (DEF_FUNCTION_TYPE_8): Define.
2372
7c6fedd2
TT
23732013-09-25 Tom Tromey <tromey@redhat.com>
2374
2375 * Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
2376 (lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
2377 (lto/lto-object.o): Remove.
2378
35f32ad4
RB
23792013-09-06 Richard Biener <rguenther@suse.de>
2380
2381 * lto-symtab.c: Move from gcc/
2382 * lto.h: Include vec.h.
2383 (lto_global_var_decls): Declare.
2384 * lto.c (lto_global_var_decls): Move definition here.
2385 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
2386 (lto-symtab.o): Add.
2387 * config-lang.in (gtfiles): Add lto.h.
2388
49322b12
JH
23892013-08-31 Jan Hubicka <jh@suse.cz>
2390
ab20d992 2391 * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
49322b12
JH
2392 DECL_FIELD_OFFSET can contain an reference to variable.
2393
31f1f73b
JH
23942013-08-31 Jan Hubicka <jh@suse.cz>
2395
2396 * lto.c (tree_with_vars): Turn into vector.
2397 (MAYBE_REMEMBER_WITH_VARS): Change to...
2398 (CHECK_VAR): ... this one.
2399 (CHECK_NO_VAR): New macro.
2400 (maybe_remember_with_vars_typed): Turn to ...
2401 (mentions_vars_p_typed): ... this one.
2402 (maybe_remember_with_vars_common): Turn to ...
2403 (mentions_vars_p_comon): ... this one.
2404 (maybe_remember_with_vars_decl_minimal): Turn to ...
2405 (mentions_vars_p_decl_minmal): ... this one.
2406 (maybe_remember_with_vars_decl_common): Turn to ...
2407 (mentions_vars_p_decl_common): ... this one.
2408 (maybe_remember_with_vars_decl_with_vis): Turn to ...
2409 (mentions_vars_p_decl_with_vis): ... this one.
2410 (maybe_remember_with_vars_decl_non_common): Turn to ...
2411 (mentions_vars_p_decl_non_common): ... this one.
2412 (maybe_remember_with_vars_function): Turn to ...
2413 (mentions_vars_p_function): ... this one.
2414 (maybe_remember_with_vars_field_decl): Turn to ...
2415 (mentions_vars_p_field_decl): ... this one.
2416 (maybe_remember_with_vars_type): Turn to ...
2417 (mentions_vars_p_type): ... this one.
2418 (maybe_remember_with_vars_binfo): Turn to ...
2419 (mentions_vars_p_binfo): ... this one.
2420 (maybe_remember_with_vars_constructor): Turn to ...
2421 (mentions_vars_p_constructor): ... this one.
2422 (maybe_remember_with_vars_expr): Turn to ...
2423 (mentions_vars_p_expr): ... this one.
2424 (maybe_remember_with_vars): Turn to ...
2425 (mentions_vars_p): ... this one.
2426 (lto_read_decls): Update.
2427 (LTO_SET_PREVAIL): Do not call function for internal decls.
2428 (lto_fixup_prevailing_decls): Update to match mentions_vars_p;
2429 check that something was updated.
2430 (lto_fixup_state): Do not care about internal decls.
2431 (lto_fixup_decls): Update.
2432 (read_cgraph_and_symbols): Update.
2433
256eefa9
JH
24342013-08-29 Jan Hubicka <jh@suse.cz>
2435
2436 * lto.c (read_cgraph_and_symbols): Free decl states.
2437
0170f33c
JH
24382013-08-29 Jan Hubicka <jh@suse.cz>
2439
2440 * lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
2441 DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
2442 TYPE_FINAL_P.
2443
c01c111b
JH
24442013-08-28 Jan Hubicka <jh@suse.cz>
2445
2446 * lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
2447 DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
2448 (unify_scc): Do checking assert.
2449
6a49f3c9
JH
24502013-08-06 Jan Hubicka <jh@suse.cz>
2451 Martin Liska <marxin.liska@gmail.com>
2452
ab20d992 2453 * lto-partition.c (lto_balanced_map): Always base order on
6a49f3c9
JH
2454 source file order.
2455
a2e2a668
JH
24562013-08-06 Jan Hubicka <jh@suse.cz>
2457
2458 * lto.c (lto_materialize_function): Do not read body anymore.
2459
815effe1
JH
24602013-08-02 Jan Hubicka <jh@suse.cz>
2461
2462 * lto.c (lto_materialize_function): Do not push struct function.
2463 * lto-partition.c (get_symbol_class): Handle abstracts correctly.
2464 (may_need_named_section_p): Even abstract origins may need
2465 named section.
2466
315f8c0e
DM
24672013-07-30 David Malcolm <dmalcolm@redhat.com>
2468
2469 * Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
2470 PASS_MANAGER_H.
2471
2472 * lto.c (do_whole_program_analysis): Update for move of
2473 all_regular_ipa_passes from a global to a field of class
2474 pass_manager.
2475
1aa95df7
OB
24762013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2477
2478 * lto-partition.c: Fix typos.
2479
c525ba9a
JH
24802013-06-20 Jan Hubicka <jh@suse.cz>
2481
2482 * lto-partition.c (lto_balanced_map): Fix -fno-toplevel-reorder
2483 partitioning of variables.
2484
7a89ad00
JH
24852013-06-20 Jan Hubicka <jh@suse.cz>
2486
2487 * lto.c (read_cgraph_and_symbols): Set cgraph state.
2488
6a6dac52
JH
24892013-06-19 Jan Hubicka <jh@suse.cz>
2490
2491 * lto-partition.c (add_references_to_partition): Use
2492 ctor_for_folding.
2493
ac0511f2
RB
24942013-06-18 Richard Biener <rguenther@suse.de>
2495
2496 * lto.c (lto_register_var_decl_in_symtab): Pass in cache index
2497 and use it.
2498 (lto_register_function_decl_in_symtab): Likewise.
2499 (cmp_tree): New function.
2500 (unify_scc): Instead of using the streamer cache map from entry
2501 to cache index match up the two maps we have by sorting them.
2502 Adjust calls to lto_register_var_decl_in_symtab and
2503 lto_register_function_decl_in_symtab.
2504
ee03e71d
RB
25052013-06-17 Richard Biener <rguenther@suse.de>
2506
2507 * Make-lang.in (lto.o): Add $(DATA_STREAMER_H) dependency.
2508 * lto.c: Include data-streamer.h.
2509 (lto_read_in_decl_state): Use streamer_tree_cache_get_tree.
2510 (gimple_type_leader_entry_s, gimple_type_leader,
2511 gimple_lookup_type_leader): Remove.
2512 (gtc_visit): Simplify.
2513 (gimple_types_compatible_p): Likewise.
2514 (gimple_register_type_1): Likewise. Merge into ...
2515 (gimple_register_type): ... this. Keep it as legacy for
2516 statistics purposes for now.
2517 (fixup_integer_cst): Remove.
2518 (LTO_FIXUP_TREE, lto_fixup_types, lto_ft_*): Simplify and
2519 rename to ...
2520 (MAYBE_REMEMBER_WITH_VARS, maybe_remember_with_vars,
2521 maybe_remember_with_vars_*): ... these.
2522 (uniquify_nodes): Remove.
2523 (lto_fixup_prevailing_type): New function.
2524 (struct tree_scc, struct tree_scc_hasher): New type and hasher.
2525 (tree_scc_hash, tree_scc_hash_obstack): New globals.
2526 (num_merged_types, num_prevailing_types, num_not_merged_types,
2527 num_not_merged_types_in_same_scc, total_scc_size, num_sccs_read,
2528 total_scc_size_merged, num_sccs_merged, num_scc_compares,
2529 num_scc_compare_collisions): New global counters.
2530 (compare_tree_sccs_1): New function.
2531 (compare_tree_sccs): Likewise.
2532 (unify_scc): Likewise.
2533 (lto_read_decls): Stream in tree SCCs and unify them on the
2534 way in. Finalize prevailing SCC tree members.
2535 (read_cgraph_and_symbols): Do not initialize or free gimple_type_leader.
2536 Allocate and free tree_scc_hash_obstack and tree_scc_hash, do not bother
2537 to ggc-collect during merging.
2538 (print_lto_report_1): Adjust for new merging code.
2539
ca0f62a8
JH
25402013-06-12 Jan Hubicka <jh@suse.cz>
2541
2542 * lto.c (read_cgraph_and_symbols): Set cgraph into streaming state.
2543
bbf9ad07
JH
25442013-06-12 Jan Hubicka <jh@suse.cz>
2545
2546 * lto.c (register_resolution): Take lto_file_data argument.
2547 (lto_register_var_decl_in_symtab,
2548 lto_register_function_decl_in_symtab): Update.
2549 (read_cgraph_and_symbols): Update resolution_map handling.
2550
ecdbd01a 25512013-06-11 Jan Hubicka <jh@suse.cz>
08346abd
JH
2552
2553 * lto-partition.c (get_symbol_class): Simplify weakref handling.
2554 (add_symbol_to_partition_1): Likewise.
2555 (contained_in_symbol): Likewise.
2556 (lto_balanced_map): Likewise.
2557 (rename_statics): Drop weakref.
2558
a367df53
RB
25592013-06-05 Richard Biener <rguenther@suse.de>
2560
2561 * lto.c (num_merged_types): New global variable.
2562 (uniquify_nodes): Increase num_merged_types when merging a type.
2563 (print_lto_report_1): Output the number of merged types.
2564
40a7fe1e
JH
25652013-06-01 Jan Hubicka <jh@suse.cz>
2566
2567 * lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
2568 lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
2569 (do_whole_program_analysis): Update dumping.
2570
e70670cf
JH
25712013-05-29 Jan Hubicka <jh@suse.cz>
2572
2573 * lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
2574 flags.
2575 * lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
2576
8ee05051
JH
25772013-05-15 Jan Hubicka <jh@suse.cz>
2578
2579 * lto-partition.c (privatize_symbol_name): Return true when
2580 privatizing happened.
2581 (rename_statics): Do not go into infinite loop when privatizing
2582 is not needed.
2583
427b248d
JM
25842013-05-16 Jason Merrill <jason@redhat.com>
2585
2586 * Make-lang.in ($(LTO_EXE)): Use link mutex.
2587
9de04252
MJ
25882013-05-15 Martin Jambor <mjambor@suse.cz>
2589
2590 * lto-partition.c (lto_balanced_map): Print symbol order instead
2591 of node uids.
2592
2d6e4603
JH
25932013-05-15 Jan Hubicka <jh@suse.cz>
2594
2595 PR lto/57038
2596 PR lto/47375
2597 * lto-partition.c (get_symbol_class): Fix weakrefs.
2598 (lto_balanced_map): Fix weakrefs.
2599 (privatize_symbol_name): Remove unnecesary label.
2600 (rename_statics): Handle weakrefs as statics.
2601
64cfa6c0
JH
26022013-05-09 Jan Hubicka <jh@suse.cz>
2603 Richard Biener <rguenther@suse.de>
2604
2605 * lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
2606 (lto_register_var_decl_in_symtab): Likewise.
2607 (lto_main): Promote statics.
2608 * lto-partition.c (privatize_symbol_name): New function.
2609 (promote_symbol): Use it.
2610 (may_need_named_section_p): New predicate.
2611 (rename_statics): New functions.
2612 (lto_promote_cross_file_statics): Simplify; do renaming.
2613 (lto_promote_statics_nonwpa): New function.
2614 * lto-partition.h (lto_promote_statics_nonwpa): New function.
2615
e45cde98
RB
26162013-02-08 Richard Biener <rguenther@suse.de>
2617
2618 PR lto/56231
2619 * lto-lang.c (lto_init): Do not enter a dummy file.
2620
6edc3e32
UB
26212013-02-07 Uros Bizjak <ubizjak@gmail.com>
2622
2623 PR bootstrap/56227
2624 * lto.c (lto_resolution_ready): Use %wx instead of
2625 HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
2626
ed73881e
RG
26272013-02-04 Richard Guenther <rguenther@suse.de>
2628
2629 PR lto/56168
2630 * lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
2631 or lto_fixup_decls at LTRANS time.
2632
a19b1432
JH
26332013-01-09 Jan Hubicka <jh@suse.cz>
2634
2635 PR lto/45375
2636 * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.
2637
49c01f87
L
26382012-12-10 H.J. Lu <hongjiu.lu@intel.com>
2639
2640 PR lto/55466
2641 * lto.c (lto_register_var_decl_in_symtab): Don't record static
2642 variables.
2643 (lto_main): Record the global variables if WPA isn't enabled.
2644
6e1aa848
DN
26452012-11-20 Diego Novillo <dnovillo@google.com>
2646 Jakub Jelinek <jakub@redhat.com>
2647
2648 * lto.c: Replace all vec<T, A>() initializers with vNULL.
2649
9771b263
DN
26502012-11-16 Diego Novillo <dnovillo@google.com>
2651
2652 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2653
2654 * lto-lang.c: Use new vec API in vec.h.
2655 * lto-partition.c: Likewise.
2656 * lto-partition.h: Likewise.
2657 * lto.c: Likewise.
2658
24551b9c
LC
26592012-10-31 Lawrence Crowl <crowl@google.com>
2660
2661 * lto.c (lto_wpa_write_files): Change symtab checking to a checked
2662 down-cast via dyn_cast.
2663 * lto-partition.c (add_symbol_to_partition_1): Likewise.
2664 (undo_partition): Likewise.
2665 (lto_balanced_map): Likewise.
2666 (get_symbol_class): Likewise and via is_a.
2667 (lto_balanced_map): Change symtab checking to is_a.
2668
aec06f6f
RB
26692012-10-12 Richard Biener <rguenther@suse.de>
2670
2671 PR lto/54898
2672 * lto.c (gimple_types_compatible_p_1): Also compare
2673 TYPE_MAIN_VARIANT.
2674 (iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.
2675
0b8c30f9
TB
26762012-10-09 Tobias Burnus <burnus@net-b.de>
2677
2678 * lto-lang.c (lto_register_builtin_type): Avoid useless
2679 decl creation.
2680 * lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.
2681
da3202a8
TB
26822012-10-08 Tobias Burnus <burnus@net-b.de>
2683
2684 * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
2685 Free lto_file struct after closing the file.
2686
2512a443
JH
26872012-10-08 Jan Hubicka <jh@suse.cz>
2688
ab20d992 2689 * lto.c (remember_with_vars): Also fixup INTEGER_CST.
2512a443
JH
2690 (fixup_integer_cst): New functoin.
2691 (lto_ft_type): Fixup BASETYPE of methods and offsets.
2692
e75f8f79
JH
26932012-10-07 Jan Hubicka <jh@suse.cz>
2694
2695 * lto.c (read_cgraph_and_symbols): Release type merging hash early;
2696 release input encoders.
2697 * lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
2698
46591697
JH
26992012-10-06 Jan Hubicka <jh@suse.cz>
2700
ab20d992 2701 PR lto/54790
46591697
JH
2702 * lto.c (resolution_map): New static var.
2703 (register_resolution): New function.
2704 (lto_register_var_decl_in_symtab): Use it.
2705 (read_cgraph_and_symbols): Copy resolutions into the symtab.
2706
af16bc76
MJ
27072012-09-20 Martin Jambor <mjambor@suse.cz>
2708
2709 * lto.c (lto_materialize_function): Call push_struct_function and
2710 pop_cfun.
2711
5368224f
DC
27122012-09-19 Dehao Chen <dehao@google.com>
2713
ab20d992 2714 * lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
5368224f 2715
b5493fb2
JH
27162012-09-19 Jan Hubicka <jh@suse.cz>
2717
2718 * lto.c (lto_materialize_function): Update confused comment.
2719 (read_cgraph_and_symbols): Do not free symtab.
2720
c3c445e1
JH
27212012-09-12 Jan Hubicka <jh@suse.cz>
2722
2723 * lto.c (do_whole_program_analysis): Care timevars, statistics and
2724 AUX pointer cleaning. Add max partitioning.
2725 * lto-partition.c (enum symbol_class): New.
2726 (get_symbol_class): New function.
2727 (symbol_partitioned_p): New function.
2728 (add_references_to_partition): Remove.
2729 (add_aliases_to_partition): Remove.
2730 (add_cgraph_node_to_partition_1): Remove.
2731 (add_cgraph_node_to_partition): Remove.
2732 (add_symbol_to_partition): New function.
2733 (add_symbol_to_partition_1): New function.
2734 (contained_in_symbol): New function.
2735 (partition_cgraph_node_p): Remove.
2736 (partition_varpool_node_p): Remove.
2737 (partition_symbol_p): Remove.
2738 (lto_1_to_1_map): Cleanup.
2739 (lto_max_map): New.
2740 (lto_balanced_map): Update.
2741 (lto_promote_cross_file_statics): Update.
2742 * lto-partition.h (lto_max_map): Declare.
2743 * timevar.def (TV_WHOPR_PARTITIONING): New timevar.
2744
b5c7cdfb
JH
27452012-09-11 Jan Hubicka <jh@suse.cz>
2746
2747 PR lto/54312
2748 * lto.c (uniquify_nodes): Remove quadratic loop checking if the
2749 type is variant leader.
2750
b29402f0
RG
27512012-09-11 Richard Guenther <rguenther@suse.de>
2752
2753 * lto.c (enum gtc_mode): Remove.
2754 (struct type_pair_d): Adjust.
2755 (lookup_type_pair): Likewise.
2756 (gimple_type_leader): Do not mark as deletable.
2757 (gimple_lookup_type_leader): Adjust.
2758 (gtc_visit): Likewise.
2759 (gimple_types_compatible_p_1): Likewise.
2760 (gimple_types_compatible_p): Likewise.
2761 (gimple_type_hash): Likewise.
2762 (gimple_register_type): Likewise.
2763 (read_cgraph_and_symbols): Manage lifetime of tables
2764 here.
2765
b8f4e58f
RG
27662012-09-11 Richard Guenther <rguenther@suse.de>
2767
2768 * lto.c (gimple_types, type_hash_cache, enum gtc_mode,
2769 struct type_pair_d, lookup_type_pair, struct sccs,
2770 next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
2771 gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
2772 gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
2773 visit, iterative_hash_name, struct type_hash_pair,
2774 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
2775 gimple_type_eq, gimple_register_type_1, gimple_register_type):
2776 Move here from gimple.c
2777 (read_cgraph_and_symbols): Free hash tables here.
2778 (print_lto_report_1): New function wrapping print_lto_report.
2779 (do_whole_program_analysis): Call it.
2780 (lto_main): Likewise.
2781
1cdbb3f9
JH
27822012-09-10 Jan Hubicka <jh@suse.cz>
2783
2784 * lto-partition.c (partition_symbol_p): Forward declare.
2785 (add_references_to_partition): Reimplement using partition_symbol_p.
2786 (add_aliases_to_partition): Break out from add_references_to_partition;
2787 reimplement using partition_symbol_p.
2788 (add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
2789 add sanity checks.
2790 (add_varpool_node_to_partition): Use add_aliases_to_partition.
2791 (partition_varpool_node_p): Do not special case aliases.
2792
b4661bfe
JH
27932012-08-12 Jan Hubicka <jh@suse.cz>
2794
2795 * lto.c (lto_wpa_write_files): Do not delete partition encoder;
2796 it is deleted after streaming.
2797 * lto-partition.c (partition_symbol_p): New function.
2798 (promote_var, promote_fn): Remove.
2799 (promote_symbol): New function.
2800 (lto_promote_cross_file_statics): First compute boundaries; rewrite
2801 to lookup the actual boundaries instead of computing them ad-hoc.
2802
7b99cca4
JH
28032012-08-12 Jan Hubicka <jh@suse.cz>
2804
2805 Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
2806 in partitioning.
2807 * lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
2808 by encoder.
2809 * lto-partition.c (new_partition): Update.
2810 * lto.c (cmp_partitions_order): Update.
2811 (lto_wpa_write_files): Update.
2812 (free_ltrans_partitions): Update.
2813 (add_references_to_partition): Update.
2814 (add_cgraph_node_to_partition_1): Update.
2815 (add_cgraph_node_to_partition): Update.
2816 (add_varpool_node_to_partition): Update.
2817 (undo_partition): Update.
2818 (lto_balanced_map): Update.
2819 (set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
2820 set_referenced_from_this_partition_p): Update.
2821 (lto_promote_cross_file_statics): Update.
2822
f27c1867
JH
28232012-08-12 Jan Hubicka <jh@suse.cz>
2824
2825 * lto-partition.c (set_referenced_from_other_partition_p,
2826 set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
2827 New functions.
2828 (lto_promote_cross_file_statics): Use them.
2829
ab96cc5b
JH
28302012-07-24 Jan Hubicka <jh@suse.cz>
2831
2832 * lto.c (read_cgraph_and_symbols): Use input_symtab.
2833
0229aee9
UB
28342012-07-24 Uros Bizjak <ubizjak@gmail.com>
2835
2836 * lto-tree.h (lang_decl): Add variable_size GTY option.
2837
7ee2468b
SB
28382012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2839
2840 * lto.c: Do not include timevar.h.
2841 * Make-lang.in: Fix dependencies.
2842
a910399d
LC
28432012-06-18 Lawrence Crowl <crowl@google.com>
2844
ab20d992 2845 * lto.c (do_whole_program_analysis): Rename use of TV_PHASE_CGRAPH to
a910399d
LC
2846 TV_PHASE_OPT_GEN. Use new timevar TV_PHASE_STREAM_OUT around the call
2847 to lto_wpa_write_files.
ab20d992 2848 (lto_main): Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Move
a910399d
LC
2849 start of TV_PHASE_OPT_GEN to include call to materialize_cgraph. Use
2850 TV_PHASE_SETUP for the call to lto_init. Use new timevar
2851 TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
2852 Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
2853 to be a front end, but is not one.
2854
877ab5e9
JH
28552012-05-18 Jan Hubicka <jh@suse.cz>
2856
2857 * lto.c (lto_materialize_constructors_and_inits): Remove.
2858 (read_cgraph_and_symbols): Remove handling of alias pairs.
2859
6649df51
JH
28602012-05-17 Jan Hubicka <jh@suse.cz>
2861
2862 * lto-partition.c (add_references_to_partition): Handle external vars.
2863 (partition_varpool_node_p): Likewise.
2864 (lto_promote_cross_file_statics): Do not promote externals.
2865
d1ede5f4
BS
28662012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2867
2868 * lto-lang.c (handle_fnspec_attribute): New static function.
2869 (lto_attribute_table): Add "fn spec".
2870 (DEF_ATTR_STRING): Define and undefine along with the other macros.
2871
0d6bf48c
JH
28722012-05-04 Jan Hubicka <jh@suse.cz>
2873
2874 * lto.c (do_whole_program_analysis): Set timevars correctly.
2875 (lto_main): Likewise.
d1ede5f4 2876
1d67dde8
RB
28772012-05-04 Richard Guenther <rguenther@suse.de>
2878
2879 * lang.opt (fwpa): Do not mark as Optimization.
2880 (fltrans): Likewise.
2881
65d630d4
JH
28822012-04-30 Jan Hubicka <jh@suse.cz>
2883
2884 * lto.c (lto_main): Use compile ().
1d67dde8
RB
2885 * lto-partition.c (partition_cgraph_node_p): Use
2886 symtab_used_from_object_file_p.
65d630d4
JH
2887 (partition_varpool_node_p): Likewise.
2888
ead84f73
JH
28892012-04-20 Jan Hubicka <jh@suse.cz>
2890
2891 * lto-partition.c (partition_cgraph_node_p): Use force_output.
2892
5932a4d4
JH
28932012-04-18 Jan Hubicka <jh@suse.cz>
2894
2895 * lto-partition.c (add_references_to_partition, lto_balanced_map):
2896 Update for new ipa-ref API.
2897
65c70e6b
JH
28982012-04-16 Jan Hubicka <jh@suse.cz>
2899
2900 * lto.c (read_cgraph_and_symbols): Use FOR_EACH
92a285c1 2901 walkers to walk cgraph and varpool.
65c70e6b
JH
2902 (materialize_cgraph): Likewise.
2903 * lto-partition.c (lto_1_to_1_map): Likewise.
2904 (lto_balanced_map): Likewise.
2905 (lto_promote_cross_file_statics): Likewise.
2906
960bfb69
JH
29072012-04-14 Jan Hubicka <jh@suse.cz>
2908
2909 * lto.c: Update field referenced for new cgraph/varpool layout.
2910 * lto-partition.c: Likewise.
2911
a66dc285
JH
29122012-04-11 Jan Hubicka <jh@suse.cz>
2913
2914 * lto.c: Update copyright; remove params.h, ipa-inline.h
2915 and ipa-utils.h inlines; inline lto-partition.h
2916 (ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
2917 add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
2918 add_references_to_partition, add_cgraph_node_to_partition_1,
2919 add_cgraph_node_to_partition, add_varpool_node_to_partition,
2920 undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
2921 lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
2922 promote_var, promote_fn, lto_promote_cross_file_statics): move to...
2923 * lto-partition.c: ... here; new file.
2924 * lto-partition.h: New file.
2925 * Make-lang.in (lto.o): Update dependencies.
2926 (lto-partition.o): New.
2927
f3b249e5
RG
29282012-04-05 Richard Guenther <rguenther@suse.de>
2929
2930 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Remove
2931 definition.
2932
21fa2faf
RG
29332012-03-12 Richard Guenther <rguenther@suse.de>
2934
2935 * lto-lang.c (builtin_type_for_size): Use lto_type_for_size.
2936
6bb485a3
RG
29372012-03-06 Richard Guenther <rguenther@suse.de>
2938
2939 PR lto/52097
2940 * lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.
2941
95510497
RG
29422012-02-28 Richard Guenther <rguenther@suse.de>
2943
2944 PR lto/52400
2945 * lto.c (lto_register_function_decl_in_symtab): Do not register
2946 a reverse renamed decl mapping.
2947
09228fef
JJ
29482012-01-06 Jakub Jelinek <jakub@redhat.com>
2949
2950 PR lto/51774
2951 * lto-lang.c (handle_returns_twice_attribute): New function.
2952 (lto_attribute_table): Add returns_twice attribute.
2953
b03eda0d
RG
29542011-12-21 Richard Guenther <rguenther@suse.de>
2955
2956 * lto.c (GIMPLE_REGISTER_TYPE): New define.
2957 (LTO_FIXUP_TREE): Use it.
2958 (uniquify_nodes): Mark new non-prevailing types and avoid
2959 calling gimple_register_type on others.
2960 (lto_read_decls): Add comment.
2961
4ad9a9de
EB
29622011-12-13 Eric Botcazou <ebotcazou@adacore.com>
2963
2964 * lto.h (lto_parse_hex): Delete.
2965 * lto.c (lto_read_decls): Use 'int' for offsets.
2966 (lto_parse_hex): Make static and return proper 64-bit host type.
2967 (lto_resolution_read): Use proper 64-bit host type.
2968
ea973bad
RG
29692011-12-13 Richard Guenther <rguenther@suse.de>
2970
2971 PR lto/48354
2972 * lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
2973 with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.
2974
c8218030
UB
29752011-12-01 Uros Bizjak <ubizjak@gmail.com>
2976
2977 * lto-lang.c (lto_attribute_table): Handle *tm regparm.
2978 (ignore_attribute): New.
2979
57ac2606
AH
29802011-11-21 Aldy Hernandez <aldyh@redhat.com>
2981
2982 * lto-lang.c (lto_attribute_table): Handle transaction_pure.
2983 (handle_transaction_pure_attribute): New.
2984
52a35ef7
RG
29852011-11-03 Richard Guenther <rguenther@suse.de>
2986
2987 PR lto/44965
2988 * lto-lang.c (lto_post_options): Do not read file options.
2989 * lto.c (lto_read_all_file_options): Remove.
2990 (lto_init): Call lto_set_in_hooks here.
2991
51973b1e
JH
29922011-10-09 Jan Hubicka <jh@suse.cz>
2993
2994 * lto.c (node_cmp, varpool_node_cmp): New functions.
2995 (lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
2996 (cmp_partitions): Rename to ...
2997 (cmp_partitions_size): ... this one.
2998 (cmp_partitions_order): New function.
2999 (lto_wpa_write_files): Sort partitions by order when
3000 -fno-toplevel-reorder is used.
3001
5958009b
AK
30022011-10-09 Andi Kleen <ak@linux.intel.com>
3003
3004 * lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
3005
e79983f4
MM
30062011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3007
3008 * lto-lang.c (def_builtin_1): Delete old interface with two
3009 parallel arrays to hold standard builtin declarations, and replace
3010 it with a function based interface that can support creating
3011 builtins on the fly in the future. Change all uses, and poison
3012 the old names. Make sure 0 is not a legitimate builtin index.
3013
ecdbd01a 30142011-10-02 Andi Kleen <ak@linux.intel.com>
c17d253c
AK
3015
3016 * lto-object.c (lto_obj_add_section_data): Add list.
3017 (lto_obj_add_section): Fill in list.
3018 (ltoobj_build_section_table): Pass through list.
3019 * lto.c (file_data_list): Declare.
3020 (create_subid_section_table): Pass arguments directly.
3021 Fill in list of file_datas.
3022 (lwstate): Delete.
3023 (lto_create_files_from_ids): Pass in direct arguments.
3024 Don't maintain list.
3025 (lto_file_read): Use explicit section and file data lists.
3026 (lto_read_all_file_options): Pass in section_list.
3027 * lto.h (lto_obj_build_section_table): Add list.
3028 (lto_section_slot): Add next.
3029 (lto_section_list): Declare.
3030
ed0d2da0
JH
30312011-10-02 Jan Hubicka <jh@suse.cz>
3032
3033 PR lto/47247
3034 * common.c (lto_resolution_str): Add new resolution.
3035 * common.h (lto_resolution_str): Likewise.
3036
ad7715f3
L
30372011-09-30 H.J. Lu <hongjiu.lu@intel.com>
3038 Andi Kleen <ak@linux.intel.com>
3039
3040 PR lto/50568
3041 * lto.c (lto_splay_tree_delete_id): New.
3042 (lto_splay_tree_compare_ids): Likewise.
3043 (lto_splay_tree_lookup): Likewise.
3044 (lto_splay_tree_id_equal_p): Likewise.
3045 (lto_splay_tree_insert): Likewise.
3046 (lto_splay_tree_new): Likewise.
3047 (lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
3048 Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
3049 (create_subid_section_table): Use lto_splay_tree_lookup and
3050 lto_splay_tree_insert.
3051 (lto_file_read): Use lto_splay_tree_new.
3052
ecdbd01a 30532011-09-26 Andi Kleen <ak@linux.intel.com>
dde8b360
AK
3054
3055 * lto.c (lto_resolution_read): Remove id dumping.
3056 (lto_section_with_id): Turn id HOST_WIDE_ID.
3057 (create_subid_section_table): Dito.
3058
892a371f
DS
30592011-08-28 Dodji Seketeli <dodji@redhat.com>
3060
3061 * lto-lang.c (lto_init): Likewise. Also, avoid calling
3062 linemap_add twice.
3063
f82d1a94
MJ
30642011-08-11 Martin Jambor <mjambor@suse.cz>
3065
3066 * lto.c (uniquify_nodes): Use main variant's BINFO too.
3067
f0efc7aa
DN
30682011-08-08 Diego Novillo <dnovillo@google.com>
3069
3070 * Make-lang.in (lto/lto.o): Add TREE_STREAMER_H.
3071 * lto.c: Include tree-streamer.h.
3072
1a072294
RG
30732011-07-06 Richard Guenther <rguenther@suse.de>
3074
3075 * lto-lang.c (lto_init):
3076 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3077
7496868d
JH
30782011-06-11 Jan Hubicka <jh@suse.cz>
3079
10f13f22 3080 PR lto/48246
7496868d
JH
3081 * lto.c (lto_1_to_1_map): Don't create empty partitions.
3082 (lto_balanced_map): Likewise.
3083
39e2db00
JH
30842011-06-11 Jan Hubicka <jh@suse.cz>
3085
3086 * lto.c (add_cgraph_node_to_partition_1): Break out from ...
3087 (add_cgraph_node_to_partition) ... here; walk aliases.
3088 (lto_1_to_1_map): Remove same body alias code.
3089 (promote_fn): Likewise.
3090 (lto_promote_cross_file_statics): Update comment.
3091
28628ea6
DN
30922011-06-07 Diego Novillo <dnovillo@google.com>
3093
3094 * lto.c (uniquify_nodes): Move code to register decls to
3095 the loop that computes canonical types.
3096
009db074
RG
30972011-06-07 Richard Guenther <rguenther@suse.de>
3098
3099 * lto-lang.c (lto_init): Do not set
3100 size_type_node or call set_sizetype.
3101
47c79d56
DN
31022011-06-04 Diego Novillo <dnovillo@google.com>
3103
3104 * lto.c (lto_init): New.
3105 (lto_main): Call it.
3106
d5828cc7
DN
31072011-06-03 Diego Novillo <dnovillo@google.com>
3108
3109 * lto.c (get_resolution): Move from lto-streamer-in.c.
3110 (lto_register_var_decl_in_symtab): Likewise.
3111 (lto_register_function_decl_in_symtab): Likewise.
3112 (uniquify_nodes): Call lto_register_var_decl and
3113 lto_register_function_decl_in_symtab after reading a new
3114 VAR_DECL or FUNCTION_DECL.
3115
6807da97
RG
31162011-06-01 Richard Guenther <rguenther@suse.de>
3117
3118 * lto-lang.c (lto_register_canonical_types): New function.
3119 (lto_init): Register common nodes with the canonical type machinery.
3120 Do not play tricks with char_type_node.
3121
d74be317
RG
31222011-05-26 Richard Guenther <rguenther@suse.de>
3123
3124 * lto.c (uniquify_nodes): Fix bug in one of the previous changes.
3125
d9f8303f
NF
31262011-05-25 Nathan Froyd <froydnj@codesourcery.com>
3127
3128 * lto.c (lto_ft_typed): New function.
3129 (lto_ft_common): Call it.
3130 (lto_ft_constructor): Likewise.
3131 (lto_ft_expr): Likewise.
3132 (lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
3133 TREE_CHAIN.
3134
fb291a1e
RG
31352011-05-20 Richard Guenther <rguenther@suse.de>
3136
3137 * lto.c (lto_ft_common): Remove pointer-to chain teardown.
3138 (lto_ft_type): Move main-variant and pointer-to chain building ...
3139 (uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
3140 in a separate final loop.
3141
31b3ca64
RG
31422011-05-19 Richard Guenther <rguenther@suse.de>
3143
3144 * lto.c (uniquify_nodes): First register all types before
3145 fixing up the tree SCC.
3146
35d828c5
JH
31472011-05-11 Jan Hubicka <jh@suse.cz>
3148
3149 PR lto/48952
3150 * lto.c (do_whole_program_analysis): Do not register cgraph hooks.
3151
51545682
NF
31522011-05-11 Nathan Froyd <froydnj@codesourcery.com>
3153
3154 * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
3155 location of binfo field.
3156 (lto_fixup_prevailing_decls): Likewise.
3157
8242dd04
NF
31582011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3159
3160 * lto-lang.c (def_fn_type): Don't call build_function_type, call
3161 build_function_type_array or build_varargs_function_type_array
3162 instead.
3163
c99c0026
EB
31642011-05-07 Eric Botcazou <ebotcazou@adacore.com>
3165
3166 * lto-lang.c (global_bindings_p): Return bool.
3167
c47d0034
JH
31682011-05-07 Jan Hubicka <jh@suse.cz>
3169
a9bcb3f0
EB
3170 * lto.c (lto_materialize_function): Use
3171 cgraph_function_with_gimple_body_p.
3172 (add_cgraph_node_to_partition): Do not re-add items to partition;
3173 handle thunks.
c47d0034
JH
3174 (add_varpool_node_to_partition): Do not re-add items to partition.
3175
bb3398ca
JH
31762011-05-03 Jan Hubicka <jh@suse.cz>
3177
3178 * lto.c (free_ltrans_partitions): Fix accidental commit.
3179
1cb1a99f
JH
31802011-05-03 Jan Hubicka <jh@suse.cz>
3181
3182 * lto.c (ltrans_partition_def): Remove GTY annotations.
3183 (ltrans_partitions): Move to heap.
3184 (new_partition): Update.
3185 (free_ltrans_partitions): New function.
3186 (lto_wpa_write_files): Use it.
3187
af8bca3c
MJ
31882011-04-29 Martin Jambor <mjambor@suse.cz>
3189
3190 * lto.c: Include ipa-utils.h.
3191 (lto_balanced_map): Update call to ipa_reverse_postorder.
3192 * Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
3193
b823cdfe
MM
31942011-04-29 Michael Matz <matz@suse.de>
3195
3196 * lto.c (toplevel): Include tree-flow.h.
3197 (lto_read_in_decl_state): Don't merge types here.
3198 (tree_with_vars): New static hash table.
3199 (remember_with_vars): New static functions.
3200 (LTO_FIXUP_TYPE): New macro.
3201 (lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
3202 lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
3203 lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
3204 lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
3205 (lto_read_decls): Uniquify while reading in trees.
3206 (lto_fixup_data_t, LTO_FIXUP_SUBTREE,
3207 LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
3208 lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
3209 lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
3210 lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
3211 lto_fixup_tree): Remove.
3212 (lto_fixup_state): Remove data argument. Use
3213 lto_symtab_prevailing_decl.
3214 (LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
3215 (lto_fixup_prevailing_decls): New function.
3216 (lto_fixup_state_aux): Argument aux is unused.
3217 (lto_fixup_decls): Don't allocate pointer sets, don't use
3218 lto_fixup_tree, use lto_fixup_prevailing_decls.
3219 (read_cgraph_and_symbols): Allocate and remove tree_with_vars.
3220 * Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
3221
b9843260
EB
32222011-04-16 Eric Botcazou <ebotcazou@adacore.com>
3223
3224 * lto.c (lto_balanced_map): Fix typos in head comment.
3225 (lto_promote_cross_file_statics): Fix long lines and remove redundant
3226 test.
3227
e7f23018
JH
32282011-04-16 Jan Hubicka <jh@suse.cz>
3229
3230 * lto.c (lto_balanced_map): Update.
3231
10a5dd5d
JH
32322011-04-14 Jan Hubicka <jh@suse.cz>
3233
3234 * lto.c: Include ipa-inline.h
b9843260
EB
3235 (add_cgraph_node_to_partition, undo_partition): Use inline_summary
3236 accessor.
10a5dd5d
JH
3237 (ipa_node_duplication_hook): Fix declaration.
3238 * Make-lang.in (lto.o): Update dependencies.
3239
81f653d6
NF
32402011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3241
3242 * lto-tree.h (union lang_tree_node): Check for TS_COMMON before
3243 calling TREE_CHAIN.
3244 * lto.c (lto_fixup_common): Likewise.
3245
dcf0c47e
NF
32462011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3247
3248 * lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3249 (handle_type_generic_attribute): Likewise.
3250
e89964e3
MM
32512011-04-03 Michael Matz <matz@suse.de>
3252
3253 * lto.c (lto_materialize_function): Don't read and then discard
3254 sections in WPA mode.
3255 (lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
3256
3257 * lto-lang.c (registered_builtin_fndecls): Remove.
3258 (lto_getdecls): Return NULL_TREE.
3259 (lto_builtin_function): Don't remember in registered_builtin_fndecls.
3260
d2b3fe18
RG
32612011-03-31 Richard Guenther <rguenther@suse.de>
3262
3263 PR lto/48246
3264 * lto.c (lto_wpa_write_files): Disable assert for non-empty
3265 partitions when checking is not enabled.
3266
ba78087b
KT
32672011-03-25 Kai Tietz <ktietz@redhat.com>
3268
3269 * lto.c (lto_resolution_read): Use filename_cmp instead
3270 of strcmp.
3271 (lto_read_section_data): Likewise.
3272
0edf1bb2
JL
32732011-03-25 Jeff Law <law@redhat.com>
3274
ab20d992 3275 * lto-lang.c (def_fn_type): Add missing va_end.
0edf1bb2 3276
62d784f7
KT
32772011-03-21 Kai Tietz <ktietz@redhat.com>
3278
3279 PR target/12171
3280 * lto-lang.c (lto_attribute_table): Adjust table.
3281
62dd9571
JJ
32822011-02-18 Jakub Jelinek <jakub@redhat.com>
3283
3284 PR bootstrap/47807
3285 * Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
3286 of lto-streamer.h.
3287
237d6259
RG
32882011-02-18 Richard Guenther <rguenther@suse.de>
3289
3290 PR lto/47798
3291 * lto-tree.h (lto_global_var_decls): Do not declare here.
3292 * lto-lang.c: Include lto-streamer.h.
3293 * Make-lang.in (lto-lang.o): Adjust dependencies.
3294
8ead2223
KT
32952011-02-10 Kai Tietz <kai.tietz@onevision.com>
3296
3297 PR lto/47241
3298 * lto.c (lto_read_section_data): Free
3299 fd_name in failure case.
3300 For mingw targets don't hash file-descriptor.
3301 (read_cgraph_and_symbols): Close current_lto_file
3302 in failure case.
3303
6e701822
JH
33042011-01-11 Jan Hubicka <jh@suse.cz>
3305
3306 PR lto/45721
3307 PR lto/45375
b9843260
EB
3308 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
3309 are not partitioned.
6e701822 3310
f4da8dce
NF
33112010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3312
3313 * lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
3314 Use prototype_p.
3315
6b7fb143
RG
33162010-12-06 Richard Guenther <rguenther@suse.de>
3317
3318 PR lto/46796
3319 * lto-lang.c (lto_init): Give names to basic types.
3320
c59ffc41
JM
33212010-11-30 Joseph Myers <joseph@codesourcery.com>
3322
3323 * lto-object.c: Don't include toplev.h.
3324 * Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
3325
7c475d11
JM
33262010-11-30 Joseph Myers <joseph@codesourcery.com>
3327
3328 * Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
3329 $(TOPLEV_H).
3330
71f3e391
JM
33312010-11-29 Joseph Myers <joseph@codesourcery.com>
3332
3333 * lto-endian.h: Delete.
3334 * lto-object.c: Don't include "libiberty.h".
3335 (O_BINARY): Don't define.
3336 * lto.c: Don't include "libiberty.h" or <sys/mman.h>.
3337 (O_BINARY): Don't define.
3338
9f1718b0
RG
33392010-11-23 Richard Guenther <rguenther@suse.de>
3340
3341 * lto.c (read_cgraph_and_symbols): Remove newline from diagnostic.
3342
39c4e298
RG
33432010-11-23 Richard Guenther <rguenther@suse.de>
3344
3345 PR lto/46605
3346 * lto.c (read_cgraph_and_symbols): Bail out after errors.
3347
b37421c6
JM
33482010-11-17 Joseph Myers <joseph@codesourcery.com>
3349
3350 * lto.c (lto_main): Take no arguments.
3351 * lto.h (lto_main): Update prototype.
3352
d82f74d3
ILT
33532010-11-16 Ian Lance Taylor <iant@google.com>
3354
3355 * lto-object.c (lto_obj_file_open): Call
3356 simple_object_attributes_merge rather than
3357 simple_object_attributes_compare.
3358
a4d8c676
JM
33592010-11-12 Joseph Myers <joseph@codesourcery.com>
3360
3361 * Make-lang.in (lto/lto.o): Use $(OPTS_H).
3362 * lto-lang.c (lto_handle_option): Take location_t parameter.
3363
d8a07487
JM
33642010-11-10 Joseph Myers <joseph@codesourcery.com>
3365
3366 * lto.c (lto_resolution_read): Start diagnostics with lowercase
3367 letters and remove trailing '.'.
3368 (lto_file_finalize): Start diagnostic with a lowercase letter.
3369
6b3456d1
ILT
33702010-11-02 Ian Lance Taylor <iant@google.com>
3371
3372 * lto-object.c: New file.
3373 * lto-elf.c: Remove file.
3374 * lto-macho.c: Remove file.
3375 * lto-macho.h: Remove file.
3376 * lto-coff.c: Remove file.
3377 * lto-coff.h: Remove file.
3378 * Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
3379 lto/lto-object.o.
3380 ($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
3381 (lto/lto-objfile.o): New target.
3382 (lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
3383 (lto/lto.o): Remove $(LIBIBERTY_H).
3384
030cd86c
JH
33852010-10-22 Jan Hubicka <jh@suse.cz>
3386
3387 * lto.c (add_cgraph_node_to_partition,
3388 add_varpool_node_to_partition): Add debug info.
3389 (lto_1_to_1_map, lto_balanced_map): Do not re-add already
3390 partitioned nodes.
3391 (do_whole_program_analysis): Set function flags before dumping.
3392
4490cae6
RG
33932010-10-22 Richard Guenther <rguenther@suse.de>
3394
3395 * lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
3396 the new gimple_register_canonical_type.
3397
703cdce3
L
33982010-10-20 H.J. Lu <hongjiu.lu@intel.com>
3399
3400 PR bootstrap/45954
3401 * config-lang.in (boot_language): Set to $enable_lto.
3402
1915c739
JJ
34032010-10-18 Jakub Jelinek <jakub@redhat.com>
3404
3405 PR lto/45638
3406 * Make-lang.in (check-lto): New dummy target.
3407
82971de5
EB
34082010-10-14 Eric Botcazou <ebotcazou@adacore.com>
3409
3410 * lto-elf.c (SHN_XINDEX): Define if not already defined.
3411
a75bfaa6
JM
34122010-10-08 Joseph Myers <joseph@codesourcery.com>
3413
3414 * lto-lang.c (lto_init_options): Change to
3415 lto_init_options_struct. Update parameters.
3416 (LANG_HOOKS_INIT_OPTIONS): Don't define.
3417 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
3418
937f7f69
JH
34192010-10-06 Jan Hubicka <jh@suse.cz>
3420
3421 * lto.c (lto_balanced_map): Fix accounting of program size.
3422
2169830c
JH
34232010-10-06 Jan Hubicka <jh@suse.cz>
3424
3425 * lto.c (lto_balanced_map): Do not produce empty partitions.
3426
ecdbd01a 34272010-10-06 Andi Kleen <ak@linux.intel.com>
6e9bd0f8
AK
3428
3429 * lto.c (lto_process_name): Add.
3430 (lto_main): Call lto_process_name.
3431
06ed016f
JH
34322010-10-06 Jan Hubicka <jh@suse.cz>
3433
3434 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
3435 COMDATs required by the linker.
3436
ae718d66
ILT
34372010-10-05 Ian Lance Taylor <iant@google.com>
3438
3439 * lto.c (lto_section_with_id): Make s a const pointer.
3440
852e4bd2
JH
34412010-10-05 Jan Hubicka <jh@suse.cz>
3442
ab20d992 3443 * lto.c: Include params.h.
852e4bd2
JH
3444 (add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
3445 refcounting in aux field.
3446 (undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
3447 New functions.
3448 (lto_1_to_1_map): Simplify.
3449 (lto_balanced_map): New function.
3450 (do_whole_program_analysis): Chose proper partitioning alg.
3451 * Make-lang.in (lto.o): Add dependency on params.h
3452
ecdbd01a 34532010-10-04 Andi Kleen <ak@linux.intel.com>
a90163e9
AK
3454
3455 * Make-lang.in (lto1): Add + to build rule.
3456
ecdbd01a 34572010-10-03 Andi Kleen <ak@linux.intel.com>
f1e92a43
AK
3458
3459 * lto.c (lto_file_finalize): Replace gcc_assert for missing section
3d3b561f 3460 with fatal_error.
f1e92a43 3461
0d6e14fd
JH
34622010-09-28 Jan Hubicka <jh@suse.cz>
3463
3464 * lto-lang.c (handle_leaf_attribute): New function.
3465 (lto_attribute_tables): Add leaf.
3466
fb462383
JZ
34672010-09-25 Jie Zhang <jie@codesourcery.com>
3468
3469 * lto.c (lto_read_all_file_options): Start a new line after
3470 printing out file names.
3471
051f8cc6
JH
34722010-09-24 Jan Hubicka <jh@suse.cz>
3473
3474 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
3475
64e0f5ff
JH
34762010-09-20 Jan Hubicka <jh@suse.cz>
3477
3478 PR tree-optimize/45605
3479 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
3480
a929ec3d
GP
34812010-09-18 Gerald Pfeifer <gerald@pfeifer.com>
3482
3483 * lto-elf.c (lto_obj_file_open): Also provide filename when
3484 elf_begin fails.
3485
4c588abf
JH
34862010-09-17 Jan Hubicka <jh@suse.cz>
3487
3488 * lto.c (lto_promote_cross_file_statics): Use const_value_known.
3489
c3224d6f
RG
34902010-09-17 Richard Guenther <rguenther@suse.de>
3491
3492 * lang.opt (flag_wpa): Also enable for the driver.
3493
52b3b3c7
JH
34942010-09-16 Jan Hubicka <jh@suse.cz>
3495
3496 * lto.c (lto_materialize_function): Do not tamper with STATIC and
ab20d992 3497 EXTERNAL flags.
52b3b3c7 3498
969c37b7
LB
34992010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3500
3501 * lto-tree.h (struct lang_type): Add variable_size GTY option.
3502
098a4f50
JH
35032010-09-08 Jan Hubicka <jh@suse.cz>
3504
3505 * lto.c (real_file_count, real_file_decl_data): New static vars.
3506 (read_cgraph_and_symbols): Use it.
3507
0f443ad0
RG
35082010-09-08 Richard Guenther <rguenther@suse.de>
3509
3510 * lto.c (read_cgraph_and_symbols): Collect again after each
3511 file.
3512
ee187353
JH
35132010-09-07 Jan Hubicka <jh@suse.cz>
3514
3515 * lto.c (promote_var, promote_fn): Set DECL_VISIBILITY_SPECIFIED.
3516
b3ec52d0
RG
35172010-09-03 Richard Guenther <rguenther@suse.de>
3518
3519 * lto-elf.c (validate_file): Always error if validation fails.
3520
f1395d4a
JH
35212010-08-20 Jan Hubicka <jh@suse.cz>
3522
3523 * lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
3524 (lto_wpa_write_files): Update comments.
3525
2429bce3
L
35262010-08-20 H.J. Lu <hongjiu.lu@intel.com>
3527
3528 PR bootstrap/45357
3529 * lto.c (lto_materialize_function): Replace has_analyzed_clone
3530 with has_analyzed_clone_p.
3531
e0f967db
JH
35322010-08-20 Jan Hubicka <jh@suse.cz>
3533
3534 * lto.c (has_analyzed_clone_p): New function
3535 (lto_materialize_function): Use callgraph to determine if
3536 body is needed.
3537 (materialize_cgraph): Remove DECL_IS_BUILTIN check.
3538
ac47786e
NF
35392010-08-20 Nathan Froyd <froydnj@codesourcery.com>
3540
3541 * lto.c: Use FOR_EACH_VEC_ELT.
3542
ecdbd01a 35432010-07-27 Andi Kleen <ak@linux.intel.com>
d720b869
AK
3544
3545 * Make-lang.in (lto.o): Add dependency to splay-tree.h
3546
5f20c657
JM
35472010-07-27 Joseph Myers <joseph@codesourcery.com>
3548
3549 * lto-lang.c (lto_handle_option): Update prototype and return
3550 value type. Remove duplicate assignment to result.
3551
7a9bf9a4
JM
35522010-07-27 Joseph Myers <joseph@codesourcery.com>
3553
3554 * lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
3555 New.
3556 (lto_init_options): Update prototype.
3557 (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
3558 Define.
3559
ecdbd01a 35602010-07-10 Andi Kleen <ak@linux.intel.com>
73ce4d1e
AK
3561
3562 PR lto/44992
92a285c1 3563 * lto.c: Include splay-tree.h
73ce4d1e
AK
3564 (lto_resolution_read): Change to walk file_ids tree and parse
3565 extra file_id in resolution file.
3566 (lto_section_with_id): Add.
3567 (create_subid_section_table): Add.
3568 (lwstate): Add.
3569 (lto_create_files_from_ids): Add.
3570 (lto_file_read): Change to handle sub file ids and create list
3571 of file_datas. Add output argument for count.
3572 (get_section_data): Pass file_data to lto_get_section_name.
3573 (lto_flatten_file): Add.
3574 (read_cgraph_and_symbols): Handle linked lists of file_datas.
3575
ecdbd01a 35762010-07-10 Andi Kleen <ak@linux.intel.com>
2994ee14
AK
3577
3578 * lto-coff.c (hash_name, eq_name): Move.
3579 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3580 * lto-elf.c: (hash_name, eq_name): Move.
3581 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3582 * lto-macho.c: (hash_name, eq_name): Move.
3583 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3584 * lto.c: (hash_name, eq_name): Move from lto-*.c
3585 (lto_obj_create_section_hash_table): Add.
3586 (free_with_string): Add.
3587
718f9c0f
MLI
35882010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3589
3590 * lto-coff.c: Include diagnostic-core.h in every file that
3591 includes toplev.h.
3592 * lto-elf.c: Likewise.
3593 * lto-lang.c: Likewise.
3594 * lto-macho.c: Likewise.
3595
1b137837
JJ
35962010-07-07 Jakub Jelinek <jakub@redhat.com>
3597
3598 * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
3599 (validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
3600 objects.
3601
92eb4438
JH
36022010-07-05 Jan Hubicka <jh@suse.cz>
3603
3604 * lto.c (add_cgraph_node_to_partition): Forward declare; walk also
3605 nodes from same comdat group as well as all comdat functions referenced
3606 here.
b9843260
EB
3607 (add_varpool_node_to_partition, add_references_to_partition): New
3608 function.
3609 (lto_1_1_map): Skip COMDAT fnctions/variables; use
3610 add_varpool_node_to_partition; clear aux flags when done.
3611 (lto_promote_cross_file_statics): Do not promote stuff that gets
3612 duplicated to each ltrans.
92eb4438 3613
a05541a9
JH
36142010-07-04 Jan Hubicka <jh@suse.cz>
3615
92a285c1 3616 * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
a05541a9 3617
4a2ac96f
RG
36182010-06-13 Richard Guenther <rguenther@suse.de>
3619
3620 * lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
3621
1d536046
KT
36222010-06-09 Kai Tietz <kai.tietz@onevision.com>
3623
ab20d992 3624 * lto.c (lto_resolution_read): Pre-initialize local variable r.
1d536046
KT
3625 * lto-coff.c (coff_write_object_file): Add braces to if.
3626
a9429e29
LB
36272010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3628
3629 * lto.c (lto_read_in_decl_state): Use typed GC allocation.
3630 (lto_file_read): Likewise.
3631 (new_partition): Likewise.
3632 (read_cgraph_and_symbols): Likewise.
3633
5498f011
JM
36342010-06-07 Joseph Myers <joseph@codesourcery.com>
3635
3636 * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
3637 (lto_handle_option): Don't set flag_signed_char here.
3638
d4c0c9f6
RG
36392010-06-04 Richard Guenther <rguenther@suse.de>
3640
3641 PR lto/41584
3642 * lto.c (lto_1_to_1_map): Use the proper file_data for
3643 varpool nodes.
3644
0a5fa5a1
JH
36452010-05-30 Jan Hubicka <jh@suse.cz>
3646
3647 * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
3648 partitioning decisions.
3649
9eec9488
JH
36502010-05-29 Jan Hubicka <jh@suse.cz>
3651
3652 * lto.c (bitmap vector): Remove.
3653 (lto_cgraph_node_sets, lto_varpool_node_sets): Remove.
3654 (ltrans_partition_def): New structure.
3655 (ltrans_partition): New type and VECtor.
3656 (new_partition): New function.
3657 (add_cgraph_node_to_partition): New function.
3658 (lto_1_to_1_map): Reorganize for partitions.
3659 (lto_add_inline_clones): Remove.
3660 (lto_add_all_inlinees): Remove.
3661 (lto_promote_cross_file_statics): Use partitions.
3662 (cmp_partitions): New function.
3663 (lto_wpa_write_files): Do not call lto_add_all_inlinees;
3664 use partitions; output files sorted by size.
3665
3e097227
SB
36662010-05-29 Steven Bosscher <steven@gcc.gnu.org>
3667
3668 * Make-lang.in: Replace vec.h dependency with VEC_H.
3669
7ca92787
JM
36702010-05-28 Joseph Myers <joseph@codesourcery.com>
3671
3672 * lto-coff.c (coff_errmsg): Remove.
3673 (lto_coff_begin_section_with_type, lto_obj_append_data): Use %m in
3674 errors instead of coff_errmsg (-1).
3675 * lto-macho.c (mach_o_errmsg): Remove.
3676 (lto_obj_begin_section, lto_obj_append_data): Use %m in errors
3677 instead of mach_o_errmsg (-1).
3678 * lto.c (read_cgraph_and_symbols): Use %m in errors instead of
3679 xstrerror (errno).
3680
b5611987
RG
36812010-05-28 Richard Guenther <rguenther@suse.de>
3682
3683 * lto.c (prefix_name_with_star): Removed.
3684 (strip_extension): Likewise.
3685 (get_filename_for_set): Likewise.
3686 (lto_write_ltrans_list): Fold into ...
3687 (lto_wpa_write_files): ... this. Name LTRANS units
3688 by suffixing the ltrans output list filename.
3689 (do_whole_program_analysis): Adjust.
3690
1da2ed5f
JM
36912010-05-27 Joseph Myers <joseph@codesourcery.com>
3692
3693 * lto.c: Include diagnostic-core.h instead of diagnostic.h.
3694 (read_cgraph_and_symbols, lto_main): Use seen_error.
3695 * Make-lang.in (lto/lto.o): Update dependencies.
3696
7951d88a
EB
36972010-05-27 Eric Botcazou <ebotcazou@adacore.com>
3698
3699 PR lto/44230
3700 * lto.h (lto_eh_personality): New prototype.
3701 * lto.c: Include debug.h.
3702 (first_personality_decl): New static variable.
3703 (lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
3704 first function for which it is non-null.
3705 (lto_eh_personality_decl): New static variable.
3706 (lto_eh_personality): New function.
3707 * lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
3708 * Make-lang.in (lto/lto.o): Add dependency on debug.h.
3709
e12da9c2
SB
37102010-05-26 Steven Bosscher <steven@gcc.gnu.org>
3711
3712 * lto-lang.c: Do not include expr.h.
3713
468194f4
RG
37142010-05-24 Richard Guenther <rguenther@suse.de>
3715
3716 * lto-elf.c (lto_obj_build_section_table): Work around
3717 FreeBSD libelf issue.
3718
bd9eb5da
RG
37192010-05-22 Richard Guenther <rguenther@suse.de>
3720
3721 * lto.c (read_cgraph_and_symbols): Do not collect.
3722
66576e1b
JH
37232010-05-20 Jan Hubicka <jh@suse.cz>
3724
3725 * lto.c (promote_var, promote_fn): New functions.
3726 (lto_promote_cross_file_statics): Compute correctly boundary including
3727 static initializers of readonly vars.
3728
36576655
JH
37292010-05-18 Jan Hubicka <jh@suse.cz>
3730
66576e1b 3731 * lto.c (lto_1_to_1_map): Partition non-inline clones.
36576655
JH
3732 (lto_promote_cross_file_statics): Deal with non-inline clones.
3733
28632d63
JH
37342010-05-18 Jan Hubicka <jh@suse.cz>
3735
3736 * lto.c (lto_materialize_function): Announce function when
3737 reading body; allocate_struct_function only when reading body;
3738 do not finalize local statics; ggc_collect after reading;
3739 do not mark reachable node.
3740 (materialize_cgraph): Do not announce function.
3741
33e42d56
JH
37422010-05-11 Jan Hubicka <jh@suse.cz>
3743
3744 * lto.c (materialize_cgraph): Revert my previous patch.
3745
f6430ea5
KT
37462010-05-11 Kai Tietz <kai.tietz@onevision.com>
3747
3748 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
3749 IMAGE_FILE_MACHINE_AMD64.
3750 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
3751
0a0b07b7
JH
37522010-05-11 Jan Hubicka <jh@suse.cz>
3753
3754 * lto.c (lto_fixup_decls): Remove global var decls freeing here.
3755 (materialize_cgraph): Add it here.
3756
9a809897
JH
37572010-05-11 Jan Hubicka <jh@suse.cz>
3758
3759 * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
3760 vector.
3761
37622010-05-11 Jan Hubicka <jh@suse.cz>
3763
3764 * lto.c (lto_1_to_1_map): Remove some no longer needed checks.
3765 (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
3766 use reachable_from_other_partition_p and
3767 referenced_from_other_partition_p test.
3768
94f64249
KT
37692010-05-11 Kai Tietz <kai.tietz@onevision.com>
3770
3771 * lto-coff.c (validate_file): Add x64-coff support.
3772 * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
3773 (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
3774 * lto-lang.c (lto_build_c_type_nodes): Add check for
3775 'long long unsigned int' for x64-windows.
3776 (lto_init): Likewise.
3777
c082f9f3
SB
37782010-05-07 Steven Bosscher <steven@gcc.gnu.org>
3779
3780 * lto.h (struct lto_file_struct): Document offset member.
3781 * lto-endian.h: New file.
3782 * lto-macho.h: New file.
3783 * lto-macho.c: New file.
3784 * Make-lang.in: Add rule for lto-macho.o.
3785
3f8257db 37862010-05-07 Richard Guenther <rguenther@suse.de>
5cd0e96b
RG
3787
3788 PR lto/43857
3789 PR lto/43371
3790 * lang.opt (fresolution): Change to ...
3791 (fresolution=): ... this.
3792 * lto-lang.c (lto_handle_option): Adjust.
3793
48cf395b
RB
37942010-05-07 Richard Guenther <rguenther@suse.de>
3795
3796 * lto.c (DUMPBASE_SUFFIX): Remove.
3797 (lto_execute_ltrans): Move functionality to lto-wrapper.c.
3798 Rename to ...
3799 (lto_write_ltrans_list): ... only output the list of ltrans files.
3800 (lto_maybe_unlink): Remove.
3801 (do_whole_program_analysis): Do not execute LTRANS phase
3802 from here.
3803
afa83c15
L
38042010-05-06 H.J. Lu <hongjiu.lu@intel.com>
3805
3806 * lto-lang.c (lto_handle_option): Add argument kind.
3807
369451ec
JH
38082010-05-05 Jan Hubicka <jh@suse.cz>
3809
48cf395b
RB
3810 * lto.c (lto_promote_cross_file_statics): Compute boundary based on
3811 refs.
369451ec 3812
2f41ecf5
JH
38132010-05-05 Jan Hubicka <jh@suse.cz>
3814
3815 * lto.c (lto_1_to_1_map): Partition only needed nodes.
3816
ace72c88
JH
38172010-04-30 Jan Hubicka <jh@suse.cz>
3818
b9843260
EB
3819 * lto.c (get_filename_for_set): Look for cgraph node and if none found,
3820 use default name.
ace72c88
JH
3821 (lto_wpa_write_files): Write any non-empty partition.
3822
05575e07
JH
38232010-04-30 Jan Hubicka <jh@suse.cz>
3824
3825 * lto.c: Do not attempt to make constant pool references global.
3826
49ba8180
JH
38272010-04-28 Jan Hubicka <jh@suse.cz>
3828
ab20d992 3829 * lto.c (lto_read_in_decl_state): Use GGC.
49ba8180
JH
3830 (lto_wpa_write_files): Announce what we are writting.
3831 (all_file_decl_data): New.
3832 (read_cgraph_and_symbols): Use GGC; correct timevars.
3833 (do_whole_program_analysis): Collect.
ab20d992 3834 * Make-lang.in (lto.o): Fix dependency.
49ba8180
JH
3835 * Makefile.in (GTFILES): Add lto-streamer.h.
3836 * varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
3837 (varpool_assemble_pending_decls): Use VAROUT.
3838 * lto-streamer.h (lto_tree_ref_table): Annotate.
3839 (lto_in_decl_state): Annotate.
3840 (lto_file_decl_data): Annotate.
3841
2942c502
JH
38422010-04-28 Jan Hubicka <jh@suse.cz>
3843
3844 * lto.c (lto_varpool_node_sets): New.
3845 (lto_1_to_1_map): Partition varpool too.
3846 (globalize_context_t, globalize_cross_file_statics,
3847 lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
3848 lto_scan_statics_in_remaining_global_vars): Remove.
3849 (lto_promote_cross_file_statics): Rewrite.
3850 (get_filename_for_set): Take vset argument.
3851 (lto_wpa_write_files): Pass around vsets.
3852
3bec79c5
DK
38532010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
3854
3855 PR lto/42776
3856 * Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
3857 hardcoding 'lto-elf.o'.
3858 ($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.
3859
3860 * lto-coff.h: New file.
3861 * lto-coff.c: Likewise.
3862
21aac880
RG
38632010-04-26 Richard Guenther <rguenther@suse.de>
3864
3865 * lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
3866
2cee0101
DK
38672010-04-26 Dave Korn <dave.korn.cygwin@gmail.com>
3868
3869 * lto.h (lto_elf_file_open): Rename prototype from this ...
3870 (lto_obj_file_open): ... to this.
3871 (lto_elf_file_close): Likewise ...
3872 (lto_obj_file_close): ... and likewise.
3873 (lto_elf_build_section_table): Likewise ...
3874 (lto_obj_build_section_table): ... and likewise.
3875 (lto_elf_begin_section): Likewise ...
3876 (lto_obj_begin_section): ... and likewise.
3877 (lto_elf_append_data): Likewise ...
3878 (lto_obj_append_data): ... and likewise.
3879 (lto_elf_end_section): Likewise ...
3880 (lto_obj_end_section): ... and likewise.
3881 * lto.c (lto_file_read): Update references to the above.
3882 (lto_wpa_write_files): Likewise.
3883 (lto_read_all_file_options): Likewise.
3884 (read_cgraph_and_symbols): Likewise.
3885 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
3886 (LANG_HOOKS_APPEND_DATA): Likewise.
3887 (LANG_HOOKS_END_SECTION): Likewise.
3888 * lto-elf.c (lto_elf_file_open): Rename from this ...
3889 (lto_obj_file_open): ... to this, updating any references.
3890 (lto_elf_file_close): Likewise ...
3891 (lto_obj_file_close): ... and likewise.
3892 (lto_elf_build_section_table): Likewise ...
3893 (lto_obj_build_section_table): ... and likewise.
3894 (lto_elf_begin_section): Likewise ...
3895 (lto_obj_begin_section): ... and likewise.
3896 (lto_elf_append_data): Likewise ...
3897 (lto_obj_append_data): ... and likewise.
3898 (lto_elf_end_section): Likewise ...
3899 (lto_obj_end_section): ... and likewise.
3900
bc58d7e1
JH
39012010-04-21 Jan Hubicka <jh@suse.cz>
3902
3903 * lto.c (lto_fixup_tree): Do not call wpa fixup.
3904 (materialize_cgraph): Likewise.
3905
e792884f
JH
39062010-04-21 Jan Hubicka <jh@suse.cz>
3907
3908 * lto.c (lto_wpa_write_files): Update.
3909 (read_cgraph_and_symbols): Be more verbose.
3910 (materialize_cgraph): Likewise.
3911 (do_whole_program_analysis): Likewise.
3912
c9945504
JH
39132010-04-21 Jan Hubicka <jh@suse.cz>
3914
3915 * lto.c (globalize_cross_file_statics): When function has address taken,
3916 it needs to be public.
3917
a837268b
JH
39182010-04-20 Jan Hubicka <jh@suse.cz>
3919
3920 * lto.c (lto_add_inline_clones): Do not track inlined_decls.
3921 (lto_add_all_inlinees): Likewise.
3922 (lto_wpa_write_files): Likewise.
3923
3b9e5d95
EB
39242010-04-18 Eric Botcazou <ebotcazou@adacore.com>
3925
3926 * lto-lang.c (lto_init): Remove second argument in call to
3927 build_common_tree_nodes.
3928
8ccb78f2
RO
39292010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3930
3931 * lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
3932 function.
3933
2f9b99e6
EB
39342010-03-09 Eric Botcazou <ebotcazou@adacore.com>
3935
3936 PR bootstrap/43276
3937 * lto-elf.c: Define EM_* constants if not already defined.
3938
bef7d288
EB
39392010-03-03 Eric Botcazou <ebotcazou@adacore.com>
3940
3941 * lto-elf.c (is_compatible_architecture): New static function.
3942 (DEFINE_VALIDATE_EHDR): Use it to validate the architecture.
3943
f68df07c
RG
39442010-02-11 Richard Guenther <rguenther@suse.de>
3945
3946 PR driver/43021
3947 * lto-elf.c (lto_elf_file_open): Handle file@offset case more
3948 appropriately.
3949
3cdea2b4
AH
39502010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
3951
3952 * lto.c (O_BINARY): Define.
3953 (lto_read_section_data): Open file in binary mode.
3954 * lto-elf.c (O_BINARY): Define.
ab20d992 3955 (lto_elf_file_open): Open file in binary mode.
3cdea2b4 3956
c59449fa
RG
39572010-01-08 Richard Guenther <rguenther@suse.de>
3958
3959 PR lto/42528
3960 * lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
3961 (lto_init): Do not init char_type_node in a standard way
3962 but according to flag_signed_char.
3963
d7fb0a6d
L
39642010-01-03 H.J. Lu <hongjiu.lu@intel.com>
3965
3966 PR lto/41564
3967 * lto.c (DUMPBASE_SUFFIX): New.
3968 (lto_execute_ltrans): Append a sequence number to -dumpbase
3969 for LTRANS.
3970
78ce4053
L
39712010-01-02 H.J. Lu <hongjiu.lu@intel.com>
3972
3973 PR lto/42580
3974 * lto-elf.c (lto_elf_file_open): Stop if the command line
3975 option file is missing.
3976
2a71eb48
RG
39772009-12-15 Richard Guenther <rguenther@suse.de>
3978
3979 * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
3980 (lto_post_options): Do not disable debuginfo.
3981
a818bca1
DG
39822009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
3983
3984 * Make-lang.in ($(LTO_EXE)): Use $(LINKER).
3985
e7d00517
RG
39862009-12-11 Richard Guenther <rguenther@suse.de>
3987
3988 PR lto/42037
3989 * lto.c (lto_resolution_read): Properly grow the vector.
3990
1ab53893
RG
39912009-12-11 Richard Guenther <rguenther@suse.de>
3992
3993 PR lto/41915
3994 * lto-lang.c (lto_init_options): Initialize flag_complex_method
3995 to the C99 default. Do not set flag_unit_at_a_time.
3996
0f900dfa
JJ
39972009-11-28 Jakub Jelinek <jakub@redhat.com>
3998
3999 * lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
4000 variable.
4001
92fa7608
RAE
40022009-11-19 Rafael Avila de Espindola <espindola@google.com>
4003
4004 PR bootstrap/42096
4005 * lto-elf.c (lto_elf_file_open): Use lto_parse_hex.
4006 * lto.c (lto_parse_hex): New.
4007 (lto_resolution_read): Use lto_parse_hex.
4008 * lto.h (lto_parse_hex): New.
4009
9870fe4f
RAE
40102009-11-17 Rafael Avila de Espindola <espindola@google.com>
4011
4012 * lto-elf.c (lto_file_init): Add offset argument.
4013 (lto_elf_file_open): Record the offset.
4014 * lto.c (lto_resolution_read): Change file_name into a lto_file
4015 argument. Check offsets.
4016 (lto_file_read): Update call to lto_resolution_read.
4017 * lto.h (lto_file_struct): Add the offset field.
4018
1b70729f
RAE
40192009-11-16 Rafael Avila de Espindola <espindola@google.com>
4020
4021 * lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.
4022
0e3776db
JH
40232009-11-14 Jan Hubicka <jh@suse.cz>
4024
4025 * lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
4026
06bd7f56
RAE
40272009-11-12 Rafael Avila de Espindola <espindola@google.com>
4028
4029 * lang.opt (fresolution): Renamed from resolution.
4030 * lto-lang.c (lto_handle_option): Handle new option name.
4031 * lto.c (lto_resolution_read): Add more checks. Discard rest of line.
4032
7e9dc421 40332009-11-04 Richard Guenther <rguenther@suse.de>
92a285c1 4034 Rafael Avila de Espindola <espindola@google.com>
7e9dc421
RG
4035
4036 * lto-elf.c (lto_elf_build_section_table): Add the base offset.
4037 (lto_elf_file_open): Handle offsets in arguments name@offest.
4038
b207f900
RG
40392009-10-30 Richard Guenther <rguenther@suse.de>
4040
4041 PR lto/41858
4042 * lto.c (lto_file_read): Do not set file_data->fd.
4043 (lto_read_section_data): Use a single-entry file-descriptor cache.
4044 Do not check the result of xmalloc.
4045 (free_section_data): Do not use file_data->fd.
4046 (lto_read_all_file_options): Likewise.
4047
2c928155
RG
40482009-10-22 Richard Guenther <rguenther@suse.de>
4049
4050 * lto.c (lto_fixup_jump_functions): Remove.
4051 (lto_fixup_decls): Do not fixup jump functions.
4052 (read_cgraph_and_symbols): Schedule cgraph merging after
4053 summary reading. Schedule type and decl fixup before
4054 summary reading.
4055
f9c91f8a
RB
40562009-10-22 Richard Guenther <rguenther@suse.de>
4057
4058 * lto.c (lto_fixup_data_t): Remove free_list member.
4059 (lto_fixup_tree): Do not insert into free_list.
4060 (free_decl): Remove.
4061 (lto_fixup_decls): Remove free-list handling.
4062
fb3f88cc
JH
40632009-10-22 Jan Hubicka <jh@suse.cz>
4064
4065 * lto.c (lto_fixup_jump_functions): New function.
4066 (lto_fixup_decls): Use it.
4067
35f1e9f4
RG
40682009-10-16 Richard Guenther <rguenther@suse.de>
4069
4070 PR lto/41715
4071 * lto.c (lto_fixup_tree): Revert last change.
4072
200c8750
RG
40732009-10-14 Richard Guenther <rguenther@suse.de>
4074
4075 * lto.c (lto_fixup_tree): In case the prevailing decl is not
4076 compatible with the one we replace wrap it around a
4077 VIEW_CONVERT_EXPR.
4078
b1b07c92
RG
40792009-10-09 Richard Guenther <rguenther@suse.de>
4080
4081 PR lto/41635
4082 PR lto/41636
4083 * lto.c (read_cgraph_and_symbols): Do not assert we can open
4084 a file.
4085 * lto-elf.c (init_shdr##BITS): Fix i18n problems.
4086 (init_ehdr##BITS): Likewise.
4087
3c2e7d45
JM
40882009-10-08 Joseph Myers <joseph@codesourcery.com>
4089
4090 * lto-elf.c (init_shdr##BITS, lto_elf_begin_section_with_type,
4091 init_ehdr##BITS, lto_elf_file_close): Remove trailing "." from
4092 diagnostics.
4093 * lto-lang.c (lto_post_options): Remove trailing "." from
4094 diagnostics.
4095
0d0bfe17
RG
40962009-10-08 Richard Guenther <rguenther@suse.de>
4097
4098 * lto.c (read_cgraph_and_symbols): Free the gimple type merging
4099 hash tables.
4100
4bedf19a
JM
41012009-10-07 Joseph Myers <joseph@codesourcery.com>
4102
4103 * lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
4104
b20996ff
JH
41052009-10-07 Jan Hubicka <jh@suse.cz>
4106
4107 * lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
4108 ltrans stage; explain why this is needed and should not.
4109
1a735925
RG
41102009-10-05 Richard Guenther <rguenther@suse.de>
4111
4112 PR lto/41552
4113 PR lto/41487
4114 * lto.c (lto_read_decls): Do not register deferred decls.
4115 (read_cgraph_and_symbols): Delay symbol and cgraph merging
4116 until after reading the IPA summaries.
4117
d7f09764
DN
41182009-10-02 Rafael Avila de Espindola <espindola@google.com>
4119
4120 * Make-lang.in (lto/lto-lang.o): Don't depend on lto/common.h.
4121 (lto-lang.c): Don't include lto/common.h.
4122
41232009-10-02 Rafael Avila de Espindola <espindola@google.com>
4124
4125 * Make-lang.in (LTO_OBJS): Remove lto/common.o.
4126 (lto/common.o): Remove.
4127 * common.c: Remove.
4128 * common.h (lto_kind_str): Remove.
4129 (lto_visibility_str): Remove.
4130 (lto_resolution_str): Make it static.
4131
41322009-10-01 Diego Novillo <dnovillo@google.com>
4133
4134 * lto.c (lto_read_decls): Add comment.
4135 Call internal_error instead of gcc_assert.
4136 (lto_resolution_read): Likewise.
4137 (lto_add_all_inlinees): Tidy.
4138 * Make-lang.in: Fix copyright boilerplate.
4139 (lto.pdf): New.
4140 (lto.install-pdf): New.
4141 * lto-tree.h: Fix copyright boilerplate.
4142 * lang-specs.h: Likewise.
4143 Remove ".lto" entry from compilers fragment.
4144 * lto-elf.c: Move inclusion of gelf.h after config.h.
4145 Tidy formatting everywhere.
4146 * lto.h: Fix copyright boilerplate.
4147 Tidy formatting everywhere.
4148 * common.c: Likewise.
4149 * config-lang.in: Likewise.
4150 * common.h: Likewise.
4151 * lto-lang.c: Likewise.
4152
41532009-10-01 Richard Guenther <rguenther@suse.de>
4154
4155 * lto.c (lto_read_section_data): Use plain lseek/read.
4156
41572009-10-01 Richard Guenther <rguenther@suse.de>
4158
4159 * lto.c (LTO_MMAP_IO): Define if we can mmap files and
4160 use sysconf to query the system page size.
4161 (lto_file_read): Implement fallback using stdio.
4162 (free_section_data): Likewise.
4163
41642009-09-29 Diego Novillo <dnovillo@google.com>
4165
4166 * lto-lang.c (lto_init): Really fix call to
4167 build_common_builtin_nodes.
4168
41692009-09-29 Diego Novillo <dnovillo@google.com>
4170
4171 * lto-lang.c (lto_init): Fix call to
4172 build_common_builtin_nodes.
4173
41742009-09-29 Richard Guenther <rguenther@suse.de>
4175
4176 PR lto/40754
4177 * lto-elf.c (init_shdr##BITS): Properly specify alignment
4178 in bytes.
4179 (first_data_block): New static variable.
4180 (lto_elf_append_data): Align the first data block in each
4181 section.
4182
41832009-09-28 Diego Novillo <dnovillo@google.com>
4184
4185 * lto-lang.c: Tidy. Remove stale FIXME lto markers.
4186 * lto.c (strip_extension): New.
4187 (get_filename_for_set): Call it. Do not call make_cwd_temp_file.
4188 (lto_execute_ltrans): Tidy.
4189 Do not pass -fwpa nor -fltrans-* to LTRANS.
4190 * opts.c: Tidy formatting and remove stale FIXME lto markers.
4191 * tree.c (need_assembler_name_p): Call
4192 lang_hooks.decls.may_need_assembler_name_p if set.
4193 * varasm.c (default_binds_local_p_1): Remove check for
4194 flag_ltrans.
4195 * varpool.c (decide_is_variable_needed): Do not test for
4196 in_lto_p.
4197
41982009-09-22 Richard Guenther <rguenther@suse.de>
4199
4200 PR lto/39276
4201 * lto.c (lto_execute_ltrans): Perform ltrans phase manually.
4202 * Make-lang.in: Remove ltrans-driver stuff.
4203 * config-lang.in: Likewise.
4204 * lang.opt (fltrans-driver): Remove.
4205 * lto-lang.c (lto_init_options): Remove code initializing
4206 ltrans_driver.
4207 * ltrans-driver: Remove.
4208
42092009-09-21 Diego Novillo <dnovillo@google.com>
4210
4211 * lto-lang.c (lto_define_builtins): Remove superfluous
4212 calls to targetm.init_builtins and build_common_builtin_nodes.
4213 (lto_init): Add targetm.arm_eabi_unwinder as parameter to
4214 build_common_builtin_nodes.
4215 * lto.c (lto_materialize_function): Do nothing if NODE is a
4216 clone.
4217
42182009-09-03 Diego Novillo <dnovillo@google.com>
4219
4220 * lto-elf.c (validate_file): Replace call to
4221 elf_getshstrndx with call to elf_getshdrstrndx.
4222
42232009-08-19 Richard Guenther <rguenther@suse.de>
4224
4225 * lto-lang.c (lto_init): Merge char_type_node with the
4226 appropriately signed variant.
4227
42282009-08-19 Richard Guenther <rguenther@suse.de>
4229
4230 PR lto/41071
4231 * lto.c (lto_fixup_common): Re-build the pointer-to chain part one.
4232 (lto_fixup_type): Re-build the pointer-to chain part two.
4233
42342009-08-19 Richard Guenther <rguenther@suse.de>
4235
4236 PR lto/41071
4237 * lto.c (lto_fixup_type): Re-build the type variant chain.
4238
42392009-08-19 Richard Guenther <rguenther@suse.de>
4240
4241 PR lto/41071
4242 * lto.c (lto_fixup_constructor): New function.
4243 (lto_fixup_tree): Replace all types. Properly fixup
4244 constructors and constants.
4245
42462009-08-14 Richard Guenther <rguenther@suse.de>
4247
4248 * lto.c (read_cgraph_and_symbols): Exchange TREE_CHAIN use
4249 for DECL_LANG_SPECIFIC.
4250
42512009-08-13 Richard Guenther <rguenther@suse.de>
4252
4253 PR lto/41032
4254 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define to NULL.
4255
42562009-07-30 Richard Guenther <rguenther@suse.de>
4257
4258 PR lto/40903
4259 * lto.c (read_cgraph_and_symbols): After fixing up decls choose
4260 the largest decl for output and free TREE_CHAIN for further
4261 use.
4262
42632009-07-24 Diego Novillo <dnovillo@google.com>
4264
4265 * Make-lang.in: Add empty lto.install-plugin target.
4266
42672009-07-13 Diego Novillo <dnovillo@google.com>
4268
4269 * lto.c (lto_fixup_tree): Handle IMPORTED_DECL.
4270
42712009-07-11 Richard Guenther <rguenther@suse.de>
4272
4273 * lto-lang.c (lto_write_globals): Wrapup global decls.
4274
42752009-07-10 Richard Guenther <rguenther@suse.de>
4276
4277 * lto-lang.c (lto_init): Allocate one more location to make
4278 BUILTINS_LOCATION correct.
4279
42802009-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4281
4282 * lto.c (free_section_data): Cast computed_offset to caddr_t.
4283
42842009-07-06 Diego Novillo <dnovillo@google.com>
4285
4286 * lto.c (lto_fixup_type): Fixup TYPE_SIZE and
4287 TYPE_SIZE_UNIT.
4288
42892009-07-06 Diego Novillo <dnovillo@google.com>
4290
4291 * lto.c (preload_common_nodes): Remove.
4292 (lto_read_in_decl_state): Call lto_streamer_cache_get.
4293 (lto_read_decls): Call lto_data_in_create and
4294 lto_data_in_delete.
4295 (free_decl): Do not call ggc_free.
4296 (lto_main): Call lto_init_reader.
4297 * lto-lang.c (lto_type_for_size): Handle intTI_type_node.
4298 (lto_init): Initialize main_identifier_node if needed.
4299 Make ptrdiff_type_node be integer_type_node.
4300
43012009-06-19 Diego Novillo <dnovillo@google.com>
4302
4303 * lto.c: Remove code guarded by #ifdef LTO_STREAM_DEBUGGING.
4304 Remove code guarded by #ifdef GLOBAL_STREAMER_TRACE.
4305 Remove code guarded by #ifdef LOCAL_TRACE.
4306
43072009-06-18 Diego Novillo <dnovillo@google.com>
4308
4309 * lto.c: Update license to GPLv3.
4310 * lto-elf.c: Likewise.
4311 * common.c: Likewise.
4312 * lto-lang.c: Likewise.
4313 * lto.h: Remove superfluous include files. Update all
4314 users.
4315
43162009-06-17 Diego Novillo <dnovillo@google.com>
4317
4318 * lto.c (read_cgraph_and_symbols): Call input_cgraph.
4319
43202009-06-02 Diego Novillo <dnovillo@google.com>
4321
4322 * lto.c (lto_1_to_1_map): Ignore nodes that have not been
4323 read in.
4324 (materialize_cgraph): Only materialize nodes that have a
4325 representation on file.
4326
43272009-06-01 Diego Novillo <dnovillo@google.com>
4328
4329 * lto-lang.c (lto_handle_option): Hanlde OPT_Wabi.
4330
43312009-05-31 Diego Novillo <dnovillo@google.com>
4332
4333 * lto-lang.c (lto_type_for_mode): Handle all the modes
4334 handled in c_common_type_for_mode.
4335
43362009-05-21 Diego Novillo <dnovillo@google.com>
4337
4338 * lto-elf.c: Always include <gelf.h>.
4339 * config-lang.in (target_libs): Remove.
4340 (build_by_default): Set to no.
4341
43422009-05-15 Diego Novillo <dnovillo@google.com>
4343
4344 * lto.c (lto_materialize_function): Assert that DECL is
4345 not a builtin.
4346 (materialize_cgraph): Don't try to materialize builtin
4347 functions.
4348 * lto-section-out.c (write_symbol_vec): Do not write
4349 builtin functions.
4350
43512009-05-13 Diego Novillo <dnovillo@google.com>
4352
4353 * lto-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define.
4354
43552009-05-07 Diego Novillo <dnovillo@google.com>
4356
4357 * lto.c (lto_resolution_read): Add type casts for C++ warnings.
4358 (LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE): Define.
4359 (lto_fixup_type): Call it for TYPE_POINTER_TO,
4360 TYPE_REFERENCE_TO, TYPE_CONTEXT and TYPE_CANONICAL.
4361 (lto_fixup_tree): Call gimple_register_type when *TP is a
4362 type.
4363 (lto_main): Call bitmap_obstack_initialize.
4364
43652009-04-22 Diego Novillo <dnovillo@google.com>
4366
4367 * lto.c (free_section_data): Tidy.
4368 (lto_1_to_1_map): Tidy.
4369 (lto_add_all_inlinees): Tidy.
4370 (prefix_name_with_star): New.
4371 (get_filename_for_set): New.
4372 (lto_wpa_write_files): Call cgraph_node_set_needs_ltrans_p
4373 to determine what cgraph node sets to write.
4374 Call get_filename_for_set to compute temporary file
4375 names.
4376 (lto_execute_ltrans): Do not execute LTRANS on files with
4377 names that start with '*'.
4378 Move logic to execute LTRANS together so that LTRANS is
4379 invoked only if there are any files to compile.
4380 (do_whole_program_analysis): Only remove output files
4381 that do not start with '*'.
4382
43832009-04-06 Diego Novillo <dnovillo@google.com>
4384
4385 * lto-lang.c (lto_post_options): Set flag_excess_precision_cmdline.
4386 * lto.c (read_cgraph_and_symbols): Set cgraph_function_flags_ready.
4387 (lto_add_all_inlinees): Tidy.
4388
43892009-03-26 Diego Novillo <dnovillo@google.com>
4390
4391 * lto.c: Include gimple.h.
4392 (lto_read_in_decl_state): Call gimple_register_type for
4393 every type in every stream.
4394 (lto_fixup_common): Call gimple_register_type if T has a
4395 type.
4396 (do_whole_program_analysis): Call print_lto_report.
4397 (lto_main): Call print_lto_report after cgraph_optimize.
4398 * Make-lang.in (lto.o): Add dependency on GIMPLE_H.
4399
44002009-03-24 Diego Novillo <dnovillo@google.com>
4401
4402 * Make-lang.in (lto-lang.o): Add dependency on TARGET_H and EXPR_H.
4403 (lto.o): Add dependency on GIMPLE_H.
4404
44052009-03-10 Simon Baldwin <simonb@google.com>
4406
4407 * lto.c (lto_read_all_file_options): Close any open file descriptor
4408 contained in file_data before freeing.
4409
44102009-02-24 Rafael Avila de Espindola <espindola@google.com>
4411
4412 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
4413 for a decl in the original bitmap, not a node.
4414 (lto_add_all_inlinees): Remove original nodes that are not needed.
4415 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
4416
44172009-02-24 Diego Novillo <dnovillo@google.com>
4418
4419 * lto.c (lto_materialize_function): Update
4420 lto_stats.num_function_bodies.
4421 (get_section_data): Initialize *LEN to 0.
4422 (lto_1_to_1_map): Update lto_stats.num_cgraph_partitions.
4423 (lto_wpa_write_files): Update lto_stats.num_cgraph_nodes.
4424 Update lto_stats.num_output_files.
4425 (read_cgraph_and_symbols): Update lto_stats.num_input_files.
4426 (materialize_cgraph): Update lto_stats.num_input_cgraph_nodes.
4427 (lto_main): Initialize lto_stats.
4428 If flag_lto_report is set, call print_lto_report.
4429
44302009-02-19 Diego Novillo <dnovillo@google.com>
4431
4432 Revert
4433
4434 2009-02-19 Rafael Avila de Espindola <espindola@google.com>
4435
4436 * lto.c (lto_add_inline_clones): Don't add the
4437 master clone. Check for a decl in the original
4438 bitmap, not a node.
4439 (lto_add_all_inlinees): Remove original nodes
4440 that are not needed.
4441 (lto_scan_statics_in_cgraph_node): Don't care if
4442 the node is the master.
4443 (lto_promote_cross_file_statics): Use a new
4444 context.seen_node_decls for each set
4445
44462009-02-19 Rafael Avila de Espindola <espindola@google.com>
4447
4448 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
4449 for a decl in the original bitmap, not a node.
4450 (lto_add_all_inlinees): Remove original nodes that are not needed.
4451 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
4452 (lto_promote_cross_file_statics): Use a new context.seen_node_decls
4453 for each set
4454
44552009-02-18 Diego Novillo <dnovillo@google.com>
4456
4457 * lto.c (lto_wpa_write_files): Use timers TV_WHOPR_WPA
4458 and TV_WHOPR_WPA_IO.
4459 (lto_execute_ltrans): Use timer TV_WHOPR_WPA_LTRANS_EXEC.
4460 (read_cgraph_and_symbols): Use timer TV_IPA_LTO_DECL_IO.
4461 (materialize_cgraph): Use timer TV_IPA_LTO_GIMPLE_IO.
4462 Use timer TV_WHOPR_WPA or TV_WHOPR_LTRANS or TV_LTO
4463 depending on command line flags.
4464 (do_whole_program_analysis): Use timer TV_WHOPR_WPA.
4465 (lto_main): Remove timer uses.
4466
44672009-02-18 Rafael Avila de Espindola <espindola@google.com>
4468
4469 * lto.c (lto_materialize_function): Don't set DECL_EXTERN to 0.
4470 (lto_wpa_write_files): Update calls to renamed functions.
4471
44722009-02-17 Diego Novillo <dnovillo@google.com>
4473
4474 PR 39203
4475 * lto-lang.c (lto_post_options): Disable -fwhole-program
4476 when running LTRANS.
4477
44782009-02-10 Diego Novillo <dnovillo@google.com>
4479
4480 * lto.c (read_cgraph_and_symbols): Fix comment.
4481
44822009-02-10 Diego Novillo <dnovillo@google.com>
4483
4484 * lto.c (read_cgraph_and_symbols): Read options from all
4485 IL files.
4486
44872009-02-10 Diego Novillo <dnovillo@google.com>
4488
4489 * lto.c (read_cgraph_and_symbols): Factor out of lto_main.
4490 (materialize_cgraph): Likewise.
4491 (do_whole_program_analysis): Likewise.
4492 (lto_main): Call read_cgraph_and_symbols,
4493 materialize_cgraph and do_whole_program_analysis.
4494
44952009-02-10 Simon Baldwin <simonb@google.com>
4496
4497 * lto.c: Include lto-opts.h.
4498 * (lto_main): Clear file options at loop start, read any saved
4499 options from the first file handled, and re-issue options.
4500 * Makefile.in (lto.o): Add dependency on lto-opts.h.
4501
45022009-02-02 Diego Novillo <dnovillo@google.com>
4503
4504 * lto.c (lto_main): Stop LTO_TIMER and use
4505 TV_WHOPR_WPA_LTRANS_EXEC when launching LTRANS.
4506
45072009-01-30 H.J. Lu <hongjiu.lu@intel.com>
4508
4509 PR lto/38995
4510 * lto-elf.c (init_shdr##BITS): Set the sh_addralign field
4511 to POINTER_SIZE.
4512
45132009-01-29 Ramana Radhakrishnan <ramana.r@gmail.com>
4514
ab20d992 4515 * Make-lang.in (LTO_EXE): Link with all
d7f09764
DN
4516 BACKENDLIBS and not only GMPLIBS
4517
45182009-01-28 H.J. Lu <hongjiu.lu@intel.com>
4519
4520 PR bootstrap/38992
4521 * lto-elf.c: Include gelf.h instead of libelf.h.
4522 (lto_elf_file_close): Replace elfx_update_shstrndx with
4523 gelf_getehdr, elf_getscn, gelf_getshdr, gelf_update_shdr and
4524 gelf_update_ehdr.
4525
45262009-01-28 H.J. Lu <hongjiu.lu@intel.com>
4527
4528 PR middle-end/38996
4529 * lto-elf.c (DEFINE_INIT_EHDR): Initialize e_version.
4530
45312009-01-26 Diego Novillo <dnovillo@google.com>
4532
4533 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Update.
4534
45352009-01-26 Diego Novillo <dnovillo@google.com>
4536
4537 * lto-lang.c (lto_types_compatible_p): Move to gimple.c
4538 and rename into gimple_types_compatible_p.
4539
45402009-01-12 Rafael Avila de Espindola <espindola@google.com>
4541
4542 * lto-lang.c (lang_hooks): Remove the const qualifier.
4543
45442009-01-06 Diego Novillo <dnovillo@google.com>
4545
4546 * ltrans-driver: Mark 'all' target as phony.
4547
45482008-12-31 Diego Novillo <dnovillo@google.com>
4549
4550 * ltrans-driver: Execute a NOP action for target 'all'.
4551
45522008-12-19 Diego Novillo <dnovillo@google.com>
4553
4554 * lto.c (lto_1_to_1_map): Tidy.
4555
45562008-12-19 Diego Novillo <dnovillo@google.com>
4557
4558 * lto-elf.c (lto_elf_file_open): When FILENAME cannot
4559 be opened, show its name.
4560 * ltrans-driver: If $verbose is set, do not use parallelism.
4561
45622008-12-17 Rafael Avila de Espindola <espindola@google.com>
4563
4564 * lto.c (lto_fixup_function): New.
4565 (lto_fixup_tree): Call lto_fixup_function.
4566
45672008-12-14 Doug Kwan <dougkwan@google.com>
4568
4569 * lto.c (lto_1_to_1_map): Create a cgraph node set for any global
4570 variables if there is no function.
4571
45722008-12-10 Simon Baldwin <simonb@google.com>
4573
4574 * ltrans-driver: Always run make in silent mode, to avoid make's
4575 trace on stdout interfering with lto-wrapper output.
4576
45772008-12-10 Doug Kwan <dougkwan@google.com>
4578
4579 * lto.c (lto_add_inline_clones): Do not force master clones of
4580 inlined functions already in SET to be static inline.
4581
45822008-12-04 Doug Kwan <dougkwan@google.com>
4583
4584 * lto.c (globalize_context_t): New type to store states in
4585 globalization of cross-file statics.
4586 (globalize_cross_file_statics): New.
4587 (lto_scan_statics_in_ref_table): Walk tree to look for reachable
4588 static decls that need to be fixed up.
4589 (lto_scan_statics_in_cgraph_node): Change call interface to use
4590 a globalize_context_t CONTEXT for all states used.
4591 (lto_scan_statics_in_remaining_global_vars): New.
4592 (lto_promote_cross_file_statics): Use new call interface of
4593 LTO_SCAN_STATICS_IN_CGRAPH_NODE. Handle remaining externally
4594 visible vars in the last set.
4595
45962008-12-03 Diego Novillo <dnovillo@google.com>
4597
4598 * lto.c (lto_fixup_tree): Do not emit an error when
4599 PREVAILING throw but T doesn't.
4600
46012008-12-02 Doug Kwan <dougkwan@google.com>
4602
4603 * lto.c (lto_scan_statics_in_ref_table): New function factored out
4604 from code in ...
4605 (lto_scan_statics_in_cgraph_node): Handle both file-scope static
4606 variables and functions.
4607 (lto_promote_cross_file_statics): Rename bitmaps to SEEN_DECLS
4608 and GLOBAL_DECLS from SEEN_VARS and GLOBAL_VARS.
4609
46102008-11-29 Diego Novillo <dnovillo@google.com>
4611
4612 * lto.c: Include timevar.h.
4613 (lto_materialize_function): Tidy. Add comments.
4614 (lto_wpa_write_files): Tidy.
4615 (lto_execute_ltrans): Tidy.
4616 (lto_main): Add local variable LTO_TIMER. Initialize it
4617 to one of TV_WHOPR_WPA, TV_WHOPR_LTRANS or TV_LTO.
4618 Start and stop the timer.
4619 Tidy comments.
4620 * Make-lang.in (lto.o): Add dependency on timevar.h.
4621 * ltrans-driver: React to -v and -save-temps.
4622 Use simple heuristic to determine how much parallelism to
4623 use when executing make.
4624
46252008-11-12 Doug Kwan <dougkwan@google.com>
4626
4627 * lto.c (lto_bitmap_obstack): Remove var.
4628 (lto_materialize_function): Do nothing instead of marking function
4629 body in file if flag_wpa is true.
4630 (lto_add_all_inlinees): Use bitmap functions in lto-utils.c.
4631 (lto_scan_statics_in_cgraph_node): New function.
4632 (lto_promote_cross_file_statics): Same.
4633 (lto_wpa_write_files): Call lto_promote_cross_file_statics.
4634 Use bitmap functions in lto-utils.c. Remove unsued label OUT.
4635 * Make-lang.in (lto/lto.o): Add lto-utils.h to dependency list.
4636
46372008-11-09 Diego Novillo <dnovillo@google.com>
4638
ab20d992 4639 * lto.c (lto_fixup_tree): Change error message locus
d7f09764
DN
4640 information to include location of mismatching
4641 declaration.
4642 Use TREE_NO_WARNING to avoid repeated messages.
4643 (lto_main): If lto_fixup_decls emitted any errors, exit.
ab20d992 4644 * lto-lang.c: Don't include libfuncs.h and except.h
d7f09764
DN
4645 (lto_init_options): Don't enable exceptions by default.
4646 (lto_eh_runtime_type): Move to lto-function-in.c
4647 (lto_init_eh): Likewise.
4648 (lto_init): Don't call lto_init_eh.
ab20d992 4649 * Make-lang.in (lto-lang.o): Remove dependency on
d7f09764
DN
4650 libfuncs.h and except.h.
4651
46522008-10-30 Diego Novillo <dnovillo@google.com>
4653
4654 * lto.c (lto_read_decls): Declare debug_main only if
4655 LTO_STREAM_DEBUGGING is enabled.
4656
46572008-10-30 Simon Baldwin <simonb@google.com>
4658
4659 * lto.c (lto_wpa_write_files): Create intermediate files with
4660 make_cwd_temp_file().
4661 (lto_maybe_unlink): New. Delete intermediate WPA files unless
4662 WPA_SAVE_LTRANS is set.
4663 (lto_main): Call lto_maybe_unlink() for intermediate WPA files.
4664 * ltrans-driver: Do not strip directory from output files.
4665
46662008-10-29 Doug Kwan <dougkwan@google.com>
4667
4668 * lto.c (free_decl): Call lto_symtab_clear_resolution when freeing
4669 DECL.
4670 * Make-lang.in (LTO_OBJS): Remove lto/lto-symtab.o
4671 (lto/lto-symtab.o): Remove rule.
4672 * lto-tree.h (struct lang_identifier): Remove LTO specific fields.
4673 (struct lang_decl): Remove RESOLUTION and add DUMMY in struct.
4674 (LANG_IDENTIFIER_CAST, LTO_IDENTIFIER_DECL, LTO_DECL_RESOLUTION):
4675 Remove macros.
4676 lto-symtab.c (File): Move up one level.
4677 lto-lang.c (cgraph.h): Remove include.
4678 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
4679 input_cgraph): Move to lto-cgraph.c in gcc directory above.
4680 (LANG_HOOKS_INPUT_CGRAPH): Remove use of macro.
4681
ab20d992 46822008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4683
4684 * lto-function-in.c (get_resolution): Return LDPR_PREEMPTED_IR for
4685 non prevailing weak symbols.
4686
ab20d992 46872008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4688
4689 * lto-lang.c (input_cgraph_1): Iterate over nodes, not cgraph_nodes.
4690
ab20d992 46912008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4692
4693 * lto-lang.c (input_node): Avoid casts from pointers to ints of
4694 different types.
4695
46962008-10-23 Simon Baldwin <simonb@google.com>
4697
4698 * lto-lang.c (input_node): Save the node reference, rather than the
4699 node pointer, in node->inlined_to.
4700 (input_cgraph_1): Convert node references into node pointers.
4701
47022008-10-22 Diego Novillo <dnovillo@google.com>
4703 Rafael Espindola <espindola@google.com>
4704
4705 * lto.c (lto_resolution_read): Tidy.
4706 * lto-symtab.c (lto_symtab_prevailing_decl): Do not
4707 abort if RET is NULL.
4708
47092008-10-22 Doug Kwan <dougkwan@google.com>
4710
4711 * lto.c (lto_fixup_tree): Check for NOTHROW conflict only if
4712 exceptions flag is given.
4713 * lto-lang.c: (lto_init_options) Set default exceptions flag.
4714 (lto_init_eh): Remove exceptions flag initialization.
ab20d992 4715 (lto_init): Only call lto_init_eh if exceptions flag is set.
d7f09764
DN
4716
47172008-10-21 Diego Novillo <dnovillo@google.com>
4718
4719 * lto.c: Tidy some formatting.
4720 * lto.h: Likewise.
4721
47222008-10-21 Simon Baldwin <simonb@google.com>
4723
4724 * lto-symtab.c: (lto_same_type_p): Types cannot be equal if one of
4725 them is NULL (but not the other).
4726
47272008-10-17 Diego Novillo <dnovillo@google.com>
4728
4729 * ltrans-driver: Divert output from make to a temporary file.
4730 Show it if the call to make failed.
4731
47322008-10-15 Diego Novillo <dnovillo@google.com>
4733
4734 * lto.c (lto_wpa_write_files): Reformat do-while loop.
4735 Do not print TEMP_FILENAME
4736 * ltrans-driver: Call make with -s.
4737
47382008-10-15 Diego Novillo <dnovillo@google.com>
4739
4740 * lto-symtab.c (lto_symtab_merge_decl): Do not force
4741 TREE_STATIC on global symbols.
4742
47432008-10-14 Ollie Wild <aaw@google.com>
4744
4745 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Remove.
4746 (LTRANS_DRIVER_EXE): Add.
4747 (lto.all.cross): Add LTRANS_DRIVER_EXE.
4748 (lto.all.encap): Add LTRANS_DRIVER_EXE.
4749 (lto.install.common): Remove ltrans-driver.
4750 (lto.mostlyclean): Add LTRANS_DRIVER_EXE.
4751 (LTRANS_DRIVER_EXE): New build rule.
4752 * config-lang.in (compilers): Add ltrans-driver.
4753
47542008-10-14 Diego Novillo <dnovillo@google.com>
4755
4756 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Disable transformation
4757 of program name.
4758
47592008-10-13 Ollie Wild <aaw@google.com>
4760
4761 * lang-spec.h (@lto): Replace lto1_options with cc1_options.
4762 * lto.c (lto_execute_ltrans): Add "-fno-wpa -fltrans -xlto" to CFLAGS.
4763 * ltrans-driver (LTRANS_FLAGS): Remove.
4764
47652008-10-08 Doug Kwan <dougkwan@google.com>
4766
4767 * lto.c (lto_fixup_tree): Remove ATTRIBUTE_UNUSED from DATA.
4768 Handle new tree codes RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
4769 and TREE_BINFO. Also move code handling FUNCTION_DECL and VAR_DECL
4770 from lto_fixup_state to here.
4771 (lto_fixup_state): Take an lto_fixup_data_t object DATA instead of
4772 just a free-list. Fix up types also. Move decl merging code to
4773 lto_fixup_tree.
4774 (lto_fixup_state_aux): Change AUX to point to an lto_fixup_data_t
4775 object.
4776 (lto_fixup_decls): Use another pointer set to avoid multiple
4777 walking of nodes except for DECLs to be replaced. Pass an
4778 lto_fixup_data_t object to tree-walker.
4779
ab20d992 47802008-10-08 Rafael Espindola <espindola@google.com>
d7f09764
DN
4781
4782 * lto-symtab.c (lto_symtab_set_resolution): New.
4783 (lto_symtab_merge_decl): Use lto_symtab_set_resolution and
4784 lto_symtab_get_resolution.
4785 (lto_symtab_prevailing_decl): Return decl for non public decls.
4786 (lto_symtab_get_resolution): New.
4787 * lto.c (lto_fixup_tree, lto_fixup_state): Remove unecessary checks.
4788
ab20d992 47892008-10-06 Rafael Espindola <espindola@google.com>
d7f09764
DN
4790
4791 * lto-lang.c: Include cgraph.h.
4792 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
4793 input_cgraph): Moved from lto-cgraph.c.
4794 (LANG_HOOKS_INPUT_CGRAPH): New.
4795
ab20d992 47962008-10-03 Rafael Espindola <espindola@google.com>
d7f09764
DN
4797
4798 * lto.c (lto_fixup_tree, lto_fixup_state): Fix the FIXME.
4799
ab20d992 48002008-10-03 Rafael Espindola <espindola@google.com>
d7f09764
DN
4801
4802 * lto-symtab.c (lto_symtab_overwrite_decl): Remove. Remove all calls.
4803 (lto_symtab_merge_decl): Update LTO_IDENTIFIER_DECL the reflect the
4804 prevailing definition. Don't mark TREE_NOTHROW differences.
4805 * lto.c (lto_fixup_tree): New.
4806 (lto_fixup_state): New.
4807 (lto_fixup_state_aux): New.
4808 (free_decl): New.
4809 (lto_fixup_decls): New.
4810 (lto_main): Call lto_fixup_decls.
4811
48122008-10-02 Ollie Wild <aaw@google.com>
4813
4814 * lang.opt (fltrans): Moved from common.opt. Remove RejectNegative
4815 and Init.
4816 (fwpa): Moved from common.opt. Remove RejectNegative and Init.
4817 * lto-lang.c (lto_post_options): Add validation and fixups for
4818 -fltrans and -fwpa.
4819
ab20d992 48202008-10-02 Rafael Espindola <espindola@google.com>
d7f09764
DN
4821
4822 * lto-symtab.c (lto_symtab_merge_var, lto_symtab_merge_fn,
4823 lto_symtab_merge_decl): Return void.
4824 (lto_symtab_prevailing_decl): New.
4825
ab20d992 48262008-09-30 Rafael Espindola <espindola@google.com>
d7f09764
DN
4827
4828 * lto-symtab.c (lto_symtab_compatible): Remove the check for already
4829 defined symbols.
4830 (lto_symtab_overwrite_decl): Copy LTO_DECL_RESOLUTION.
4831 (lto_symtab_merge_decl): Store symbol resolution in LTO_DECL_RESOLUTION.
4832 Check for already defined symbols.
4833 * lto-tree.h (lang_decl): Remove dummy and add resolution fields.
4834 (LTO_IDENTIFIER_RESOLUTION): Remove.
4835 (LTO_DECL_RESOLUTION): New.
4836
ab20d992 48372008-09-30 Rafael Espindola <espindola@google.com>
d7f09764
DN
4838
4839 * lto.c (lto_read_decls): Use new input_tree signature.
4840
48412008-09-26 Doug Kwan <dougkwan@google.com>
4842
4843 * lto.c (lto_main): Call lto_fixup_nothrow_decls to fix up function
4844 bodies affected by exception attribute merging of DECLs.
4845 * lto-symtab.c (lto_symtab_merge_decl): Handle exception attribute
ab20d992 4846 merging.
d7f09764
DN
4847
48482008-09-25 Rafael Espindola <espindola@google.com>
4849
4850 * Make-lang.in (PLUGIN_API_H, LTO_TREE_H): New.
4851 (lto/lto-lang.o, lto/lto.o, lto/lto-symtab.o) Use LTO_TREE_H.
4852 * lto-symtab.c (lto_symtab_compatible): New.
4853 (lto_symtab_overwrite_decl): New.
4854 (lto_symtab_merge_decl): Refactor to use the above functions
4855 and the resolution from lang_identifier.
4856 * lto-tree.h: Include plugin-api.h.
4857 (lang_identifier): Add resolution.
4858 (LTO_IDENTIFIER_RESOLUTION): New.
4859
48602008-09-25 Ollie Wild <aaw@google.com>
4861
4862 * lang.opt (fltrans-output-list=): New option.
4863 * lto.c (lto_execute_ltrans): Output file names to ltrans_output_list.
4864
ab20d992 48652008-09-25 Rafael Espindola <espindola@google.com>
d7f09764
DN
4866
4867 * lto.c (lto_resolution_read): Initialize ret;
4868
48692008-09-24 Ollie Wild <aaw@google.com>
4870
4871 * lto.c (sys/mman.h): Move include.
4872 (lto_wpa_write_files): Return a list of written files.
4873 (lto_execute_ltrans): New function.
4874 (lto_main): Call lto_execute_ltrans.
4875 (ltrans-driver): New file.
4876 * lto-lang.c (DEFAULT_LTRANS_DRIVER): New macro.
4877 (DEAULT_LTRANS_DRIVER_LEN): New macro.
4878 (lto_init_options): Initialize ltrans_driver.
4879 (lto_handle_option): Fix incorrect default output value.
4880 * lang.opt (fltrans-driver=): New option.
4881 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): New variable.
4882 (lto.install-common): Add lto/ltrans-driver.
4883
ab20d992 48842008-09-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4885
4886 * Make-lang.in (LTO_OBJS): Add lto/common.o.
4887 (lto/lto.o): Depend on lto/common.h.
4888 (lto/common.o): New.
4889 * lang.opt (resolution): New.
4890 * lto-lang.c (resolution_file_name): New.
4891 (lto_handle_option): Handle OPT_resolution.
4892 * lto-symtab.c (lto_symtab_merge_decl): Add a resolution argument.
4893 (lto_symtab_merge_var,lto_symtab_merge_fn): Add a resolution argument.
4894 pass it to lto_symtab_merge_decl.
4895 * lto.c: Include common.h.
4896 (lto_read_decls): Add resolutions and resolutions_size arguments.
4897 Initialize data_in.globals_resolution and
4898 data_in.globals_resolution_size.
4899 (index_and_symbol_resolution): New.
4900 (lto_resolution_read): New.
4901 (lto_file_read): Add argument resolution_file.
4902 Read resolution.
4903 * lto.h (resolution_file_name): New.
4904
ab20d992 49052008-09-23 Rafael Espindola <espindola@google.com>
d7f09764
DN
4906
4907 * common.c: Update description.
4908 * common.h: Update description.
4909
ab20d992 49102008-09-23 Rafael Espindola <espindola@google.com>
d7f09764
DN
4911
4912 * common.c: Moved from lto-plugin.
4913 * common.h: Moved from lto-plugin.
4914
49152008-09-22 Doug Kwan <dougkwan@google.com>
4916
4917 * lto.c (VEC(bitmap,heap)): Declare.
4918 (lto_materialize_function): Handle WAP mode specially.
4919 (lto_add_inline_clones): New.
4920 (lto_add_all_inlinees): Changle algorithm and to use bitmaps. Also
4921 return a bitmap of inlined decls.
4922 (lto_wpa_write_files): Handle all DECLs brought in by inlining.
4923 (lto_main): Call reset_inline_failed to reset inlining states.
4924 Check call-graph after WPA inlining.
4925 * lto-lang.c (lto_init): Do not clear flag_generate_lto
4926 unconditionally.
4927
49282008-09-19 Doug Kwan <dougkwan@google.com>
4929
4930 lto.c (lto_main): Remove unsued wrapper code.
4931 lang-specs.h (@lto): Use lto1_options instead of cc1_options.
4932
49332008-09-19 Rafael Espindola <espindola@google.com>
4934
4935 * lto-symtab.c: Include lto-tree-in.h.
4936 * lto-tree.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove.
4937 * lto.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove
4938 * Make-lang.in (lto/lto-symtab.o): Add lto-tree-in.h.
4939
49402008-09-17 Paolo Bonzini <bonzini@gnu.org>
4941 Rafael Avila de Espindola <espindola@google.com>
4942
4943 * lto-lang.c (COMPOUND_LITERAL_EXPR_DECL_STMT,
4944 COMPOUND_LITERAL_EXPR_DECL): Remove.
4945 (emit_local_var): Remove.
4946 (lto_expand_expr): Remove.
4947 (lto_staticp): Remove.
4948 (LANG_HOOKS_EXPAND_EXPR): Remove.
4949 (LANG_HOOKS_STATICP): Remove.
4950
49512008-09-11 Diego Novillo <dnovillo@google.com>
4952
4953 * lto-lang.c: Include except.h and libfuncs.h.
4954 (lto_init_eh): New.
4955 (lto_init): Call it.
4956 Set flag_generate_lto to 0.
4957 * Make-lang.in (lto-lang.o): Add dependency on except.h
4958 and libfuncs.h.
4959
49602008-09-09 Bill Maddox <maddox@google.com>
4961
4962 * lto-lang.c: Include header file expr.h.
4963 (COMPOUND_LITERAL_EXPR_DECL_STMT,
4964 COMPOUND_LITERAL_EXPR_DECL): Copied from c-common.h.
ab20d992 4965 (emit_local_var): Copied from c-semantics.c.
d7f09764
DN
4966 (lto_expand_expr, lto_staticp): Copied from c_expand_expr
4967 and c_staticp in c-common.c.
ab20d992 4968 (LANG_HOOKS_EXPAND_EXPR,LANG_HOOKS_STATICP): Redefined.
d7f09764
DN
4969
49702008-09-08 Diego Novillo <dnovillo@google.com>
4971
4972 * lto-lang.c (lto_global_bindings_p): Return 1 during
4973 IPA passes.
4974
49752008-09-07 Diego Novillo <dnovillo@google.com>
4976
4977 * lto.c: Tidy formatting.
4978
49792008-08-04 Bill Maddox <maddox@google.com>
4980
4981 * lto-symtab.c (lto_symtab_merge_decl): Add comment.
ab20d992 4982
d7f09764
DN
49832008-09-03 Doug Kwan <dougkwan@google.com>
4984
4985 lto.c (lto_add_all_inlinees): Reset FAILED_REASON of edges to
4986 CIF_OK instead of NULL.
4987
49882008-09-02 Diego Novillo <dnovillo@google.com>
4989 Simon Baldwin <simonb@google.com>
4990
4991 * lto-lang.c (lto_type_for_size): Rewrite. Adapt from
4992 c_common_type_for_size.
4993 (lto_type_for_mode): Remove ATTRIBUTE_UNUSED markers.
4994 (lto_init): Call linemap_add.
4995 (signed_and_unsigned_types): Remove.
4996
49972008-08-29 Diego Novillo <dnovillo@google.com>
4998
4999 * lto-lang.c (handle_noreturn_attribute): New local function.
5000 (handle_const_attribute): New local function.
5001 (handle_malloc_attribute): New local function.
5002 (handle_pure_attribute): New local function.
5003 (handle_novops_attribute): New local function.
5004 (handle_nonnull_attribute): New local function.
5005 (handle_nothrow_attribute): New local function.
5006 (handle_sentinel_attribute): New local function.
5007 (handle_type_generic_attribute): New local function.
5008 (handle_format_attribute): New local function.
5009 (handle_format_arg_attribute): New local function.
5010 (lto_attribute_table): Declare.
5011 (lto_format_attribute_table): Declare.
5012 (lto_init_attributes): New local function.
5013 (lto_define_builtins): Call it.
5014 Call targetm.init_builtins and build_common_builtin_nodes.
5015 (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Define.
5016 (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Define.
5017
50182008-08-28 Diego Novillo <dnovillo@google.com>
5019
5020 * Make-lang.in (lto-lang.o): Replace tree-gimple.h with
5021 $(GIMPLE_H).
5022 (lto-symtab.o): Add dependency on $(GIMPLE_H).
5023 * lto-lang.c: Include gimple.h instead of tree-gimple.h.
5024 * lto-symtab.c: Include gimple.h.
5025 * lto-tree.h (chain_next): Replace GENERIC_NEXT with
5026 TREE_CHAIN.
5027
50282008-08-27 Doug Kwan <dougkwan@google.com>
5029
5030 * lto.c (vec.h, bitmap.h, pointer-set.h, ipa-prop.h, ggc.h,
5031 gt-lto-lto.h): New includes.
5032 (lto_materialize_function): Do not read in function body in WPA mode.
5033 Format a line to fit in 80 columns.
5034 (lto_cgraph_node_sets): New garbage collected variable.
5035 (lto_1_to_1_map, lto_add_all_inlinees, lto_wpa_write_files):
5036 New functions.
5037 (lto_main): Initialize bitmap obstack. Add code to handle WPA mode.
ab20d992 5038 * Make-lang.in (LTO_H): Replace filename lto-section-in.h with
d7f09764
DN
5039 variable LTO_SECTION_IN_H.
5040 (lto/lto.o): Include gt-lto-lto-c.h ggc.h ,VEC_H, BITMAP_H,
5041 pointer-set.h and IPA_PROP_H. Also replace filename lto-section-in.h
5042 with variable LTO_SECTION_IN_H.
5043 * config-lang.in (gtfiles): Add lto/lto.c.
5044 * lto-symtab.c (lto_symtab_merge_decl): Set DECL_CONTEXT of
5045 merged DECL_RESULT correctly.
5046
50472008-08-26 Bill Maddox <maddox@google.com>
5048
5049 * lto-lang.c Include tree-gimple.h.
5050 (lto_mark_addressable): Call mark_addressable rather than
5051 asserting.
5052 (lto_post_options): Suppress debug info generation.
5053 * Make-lang.in: Add dependency of lto-lang.o on tree-gimple.h.
ab20d992 5054
3f8257db 50552008-08-25 Bill Maddox <maddox@google.com>
d7f09764
DN
5056
5057 * lto-symtab.c (lto_symtab_merge_decl): Remove a suspect
5058 assertion and leave an explanatory comment in its place.
ab20d992 5059
d7f09764
DN
50602008-08-21 Doug Kwan <dougkwan@google.com>
5061
5062 * lto.c (preload_common_nodes): Call lto_get_common_nodes to get a list
5063 of common nodes instead of computing locallly.
5064 (lto_read_in_decl_state): New.
5065 (lto_read_decls): Change code for udpate in struct lto_decl_header.
5066 Read global and per-function in-decl states.
5067 * Make-lang.in (LTO_H): Update dependency.
5068 (lto/lto.o): Same.
5069 (lto-symtab.c): Merge (revision 139039)
5070 * lto-symtab.c (lto_symtab_merge_decl): Merge DECL_RESULT.
5071
50722008-08-21 Rafael Espindola <espindola@google.com>
5073
5074 * config-lang.in (target_libs): New.
5075
50762008-08-20 Bill Maddox <maddox@google.com>
5077
5078 * lto.c (current_lto_file): Remove GTY marker from static
5079 variable. Remove include of file gt-lto-lto.h.
5080 * Make-lang.in: Remove dependency of lto/lto.o on
5081 gt-lto-lto.h.
5082 * lto-elf.c (lto_file_close): Removed.
5083 (lto_elf_file_open): Use XCNEW instead of GGC_CNEW to
5084 allocate lto_elf_file object.
5085 (lto_elf_file_close): Free lto_elf_file object after close.
5086 * lto.h (struct lto_file_struct): Remove GTY marker.
5087 * config-lang.in: Remove lto/lto.h and lto/lto.c from
5088 gtfiles.
ab20d992 5089
d7f09764
DN
50902008-08-20 Bill Maddox <maddox@google.com>
5091
5092 * lto.c (lto_read_decls): Provide dummy argument to input_tree
5093 to conform to its new signature.
5094 * lto-symtab.c (lto_symtab_merge_decl): Do not invoke ggc_free
5095 on discarded node here, now called in global_vector_fixup.
ab20d992 5096
d7f09764
DN
50972008-08-09 Bill Maddox <maddox@google.com>
5098
5099 * lto.c (preload_common_nodes): Verify that fileptr_type_node
5100 has not been set to a front-end-specific value.
ab20d992 5101
d7f09764 51022008-08-05 Doug Kwan <dougkwan@google.com>
ab20d992 5103
d7f09764
DN
5104 * Make-lang.in (lto-symtab.o): Add missing dependencies to fix
5105 build breakage.
5106
51072008-07-30 Bill Maddox <maddox@google.com>
5108
5109 * lto.c (lto_materialize_function): Call lto_original_decl_name.
5110 Remove obsolete comments.
5111 (lto_read_decls): Remove initialization of deleted field data_in.global.
5112 Tidy up comments.
5113 (lto_main): Remove redundant initialization of section_hash_table.
5114 * lto-elf.c: Removed obsolete comments.
5115 * lto.h: Tidy up comments.
5116 * lto-symtab.c (lto_least_common_multiple): New function.
5117 (lto_symtab_merge_decl): Merge variable alignments in some cases.
5118 Tidy up comments.
5119
51202008-07-25 Diego Novillo <dnovillo@google.com>
5121 Bill Maddox <maddox@google.com>
5122
5123 * lto.c: Re-order include files.
5124 Include lto-section-out.h.
5125 (preload_common_nodes): Add debugging output.
5126 Add new local INDEX_TABLE.
5127 Call preload_common_node.
5128 * Make-lang.in (lto.o): Add dependency on lto-section-out.h
5129
51302008-07-13 Bill Maddox <maddox@google.com>
5131
5132 * lto.c (lto_read_decls): Cast pointer to const char * to avoid
5133 unwanted scaling during pointer addition.
5134
51352008-07-11 Bill Maddox <maddox@google.com>
5136 Diego Novillo <dnovillo@google.com>
5137
5138 * lto.c (lto_read_decls): Fix C++ compatibility warnings.
5139 Make code const-correct.
5140 (lto_file_read): Fix C++ compatibility warnings.
ab20d992 5141 (lto_read_section_data): Fix C++ compatibility warnings.
d7f09764
DN
5142 (lto_get_section_data): Use CONST_CAST to avoid warning when
5143 const pointer passed to free.
5144 * lto-elf.c (lto_elf_build_section_table): Fix C++
5145 compatibility warnings.
ab20d992 5146 (lto_elf_append_data): Fix C++ compatibility warnings. Use CONST_CAST
d7f09764 5147 to avoid warning assigning const pointer to d_buf field of Elf_Data.
ab20d992 5148 (lto_get_current_out_file): Fix C++ compatibility warnings.
d7f09764
DN
5149
51502008-07-11 Diego Novillo <dnovillo@google.com>
5151
5152 * Make-lang.in (lto-warn): Define.
5153
51542008-07-03 Simon Baldwin <simonb@google.com>
5155
5156 * lto.c (lto_read_decls): Wrapped debug-only data items within #ifdef
5157 LTO_STREAM_DEBUGGING.
5158
51592008-06-27 Ollie Wild <aaw@google.com>
5160
5161 * lto-elf.c (lto-section-out.h): New include.
5162 (struct lto_elf_file): Remove bits member. Add scn, shstrtab_stream,
5163 and data members.
5164 (cached_file_attrs): New static variable.
5165 (lto_elf_get_shdr, lto_elf_free_shdr): Remove elf_file parameter.
5166 Use cached_file_attrs for checking bits.
5167 (lto_elf_build_section_table): Remove elf_file argument from
5168 lto_elf_get_shdr and lto_elf_free_shdr calls.
5169 (DEFINE_INIT_SHDR): New macro.
5170 (init_shdr32, init_shdr64): New functions defined via the
5171 DEFINE_INIT_SHDR macro.
5172 (lto_elf_begin_section_with_type): New function.
5173 (lto_elf_begin_section): New function.
5174 (lto_elf_append_data): New function.
5175 (lto_elf_end_section): New function.
5176 (DEFINE_VALIDATE_EHDR): New macro.
5177 (validate_ehdr32, validate_ehdr64): New functions defined via the
5178 DEFINE_VALIDATE_EHDR macro.
5179 (validate_file): New function.
5180 (DEFINE_INIT_EHDR): New macro.
5181 (init_ehdr32, init_ehdr64): New functions defined via the
5182 DEFINE_INIT_EHDR macro.
5183 (init_ehdr): New function.
5184 (lto_elf_file_open): Add support for writable files. Move some
5185 validation logic to validate_file.
5186 (lto_elf_file_close): Add support for writable files. Write file data
5187 and free data blocks.
5188 (current_out_file): New static variable.
5189 (lto_set_current_out_file): New function.
5190 (lto_get_current_out_file): New function.
5191 * lto.c (lto_main): Add writable argument to lto_elf_file_open calls.
5192 Add temporary initialization for testing ELF serialization.
5193 * lto.h (lto-section-out.h): New include.
5194 (struct lto_file_struct): Slight modification to comment.
5195 (lto_elf_file_open): Add writable parameter.
5196 (lto_elf_begin_section): New function declaration.
5197 (lto_elf_append_data): New function declaration.
5198 (lto_elf_end_section): New function declaration.
5199 (lto_set_current_out_file, lto_get_current_out_file): New function
5200 declarations.
5201 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Set as lto_elf_begin_section.
5202 (LANG_HOOKS_APPEND_DATA): Set as lto_elf_append_data.
5203 (LANG_HOOKS_END_SECTION): Set as lto_elf_end_section.
5204 * Make-lang.in (LTO_H): Add lto-section-out.h.
5205
52062008-06-12 Ollie Wild <aaw@google.com>
5207
5208 * lto.h (struct lto_file_vtable_struct): Remove.
5209 (struct lto_file_struct): Remove vtable member.
5210 * lto-elf.c (lto_file_init): Remove vtable argument.
5211 (lto_elf_map_optional_lto_section): Remove.
5212 (lto_elf_unmap_section): Remove.
5213 (lto_elf_file_vtable): Remove.
5214 (lto_elf_file_open): Remove lto_elf_file_vtable argument from
5215 lto_file_init call.
5216 (lto_elf_find_section_data): Remove.
5217
52182008-06-11 Ollie Wild <aaw@google.com>
5219
5220 * lto.c (lto_file_read): Add const qualifier to data variable.
5221
52222008-06-11 Diego Novillo <dnovillo@google.com>
5223
5224 Merge from lto-streamber sub-branch.
5225
5226 2008-06-04 Ollie Wild <aaw@google.com>
5227
5228 * lto.c: Remove inclusion of dwarf2.h and dwarf2out.h.
5229 * Make-lang.in (lto.o): Remove dependency on dwarf2.h.
5230
5231 2008-05-28 Bill Maddox <maddox@google.com>
5232
5233 Replace the DWARF reader in the LTO front-end.
5234
5235 * lto.c: Include lto-tree-in.h, lto-tags.h.
5236 (enum DWARF2_class, DW_cl_constant, struct
5237 DWARF2_form_data, struct lto_context,
5238 lto_fd_init, lto_info_fd_init,
5239 lto_abbrev_fd_init, lto_info_fd_close,
5240 lto_file_init, lto_file_close,
5241 lto_file_corrupt_error, lto_abi_mismatch_error,
5242 LTO_CHECK_INT_VAL, LTO_READ_TYPE,
5243 lto_read_uleb128, lto_read_sleb128,
5244 lto_read_initial_length, lto_abbrev_read_attrs,
5245 lto_abbrev_read, lto_abbrev_read_lookup,
5246 lto_read_section_offset,
5247 lto_read_comp_unit_header, find_cu_for_offset,
5248 lto_get_file_name,
5249 lto_resolve_reference,lto_read_form,
5250 attribute_value_as_int,
5251 make_signed_host_wide_int,
5252 attribute_value_as_constant, lto_cache_hash,
5253 lto_cache_eq, lto_cache_store_DIE,
5254 lto_cache_lookup_DIE, lto_find_integral_type,
5255 lto_find_integral_type_1,
5256 LTO_BEGIN_READ_ATTRS_UNCHECKED,
5257 LTO_BEGIN_READ_ATTRS, LTO_END_READ_ATTRS,
5258 lto_unsupported_attr_error, lto_get_identifier,
5259 lto_read_referenced_type_DIE,
5260 lto_read_compile_unit_DIE,
5261 lto_read_array_type_DIE,
5262 lto_read_structure_union_class_type_DIE,
5263 lto_read_enumerator_DIE,
5264 lto_read_enumeration_type_DIE,
5265 lto_read_only_for_child_DIEs,
5266 lto_read_only_for_child_DIEs,
5267 lto_read_member_DIE, lto_read_abbrev,
5268 lto_read_variable_formal_parameter_constant_DIE,
5269 lto_get_body): Removed.
5270 (preload_common_nodes): New function.
5271 (lto_read_decls): Convert for new global streamer.
5272 (lto_materialze_file_data,
5273 lto_read_subroutine_type_subprogram_die,
5274 lto_read_unspecified_parameters_DIE,
5275 lto_read_typedef_DIE,
5276 lto_read_pointer_reference_type_DIE,
5277 lto_read_subrange_type_DIE,
5278 lto_read_base_type_DIE,
5279 lto_read_const_volatile_restrict_type_DIE,
5280 lto_read_namespace_DIE,
5281 lto_read_unspecified_type_DIE, lto_read_DIE,
5282 lto_read_child_DIEs, lto_collect_child_DIEs):
5283 Removed.
5284 (lto_info_read, lto_set_cu_context): Removed.
5285 (lto_file_read): Convert for new global streamer.
5286 (lto_resolve_type_ref, lto_read_DIE_at_ptr,
5287 lto_resolve_var_ref, lto_resolve_fn_ref,
5288 lto_resolve_field_ref, lto_resolve_typedecl_ref,
5289 lto_resolve_namespacedecl_ref): Removed.
5290 (lto_file_init, lto_file_close): Moved to lto-elf.c.
5291 * lto-tree.h (lto_symtab_merge_var,
5292 lto_symtab_mergee_fun): Declare here.
5293 * lto-elf.c (lto_file_init, lto_file_close): Moved from lto.c.
5294 (lto_elf_file_open): Removed code to read DWARF debug sections.
5295 * lto.h (lto_context, DWARF2_attr, DWARF2_abbrev,
5296 DWARF2_CompUnit, lto_die_ptr,
5297 lto_die_cache_entry, lto_fd, lto_info_fd,
5298 lto_abbrev_fd): Removed.
5299 (lto_file): Removed debug_info and debug_abbrev fields.
5300 (lto_ref): Removed.
5301 (lto_file_init, lto_file_close,
5302 lto_resolve_type_ref, lto_resolve_var_ref,
5303 lto_resolve_fn_ref, lto_resolve_field_ref,
5304 lto_resolve_typedecl_ref,
5305 lto_resolve_namespacedecl_ref,
5306 lto_get_file_name): Removed declarations.
5307 (lto_symtab_merge_var, lto_symtab_merge_fn):
5308 Declarations moved to lto-tree.h.
5309 * lto-symtab.c (lto_compatible_attributes_p):
5310 Lobotomize this, as it barfs on "Hello, world!".
5311 * lto-section-out.c: Include lto-tree-out.h.
5312 (lto_hash_global_slot_node,
5313 lto_eq_global_slot_node, preload_common_nodes,
5314 write_global_stream, write_global_references):
5315 New functions.
5316 (produce_asm_for_decls): Convert for new global streamer.
5317 * lto-section-out.h (lto_hash_global_slot_node,
5318 lto_eq_global_slot_node): Declare.
5319
3f8257db 53202008-06-07 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 5321 Jan Hubicka <jh@suse.cz>
ab20d992 5322
d7f09764
DN
5323 * lto.c (sys/mman.h, tree-pass.h): New includes.
5324 (lto_materialize_constructors_and_inits,
5325 lto_materialize_function): Keeps length of section.
5326 (lto_materialize_cgraph): Removed.
5327 (lto_read_decls): Initialize fd field.
5328 (lto_file_read): Different return type and removed much code to
5329 lto_main.
5330 (page_mask): New variable.
5331 (lto_read_section_data, get_section_data, free_section_data): New
5332 functions.
5333 (lto_main): Now calls pass manager, sets the hooks so that the ipa
ab20d992
JJ
5334 passes can get the section data.
5335
3f8257db 53362008-05-27 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5337
5338 * lto.h (lto_read_decls): Made local.
ab20d992 5339 (lto_input_function_body, lto_input_constructors_and_inits,
d7f09764
DN
5340 lto_input_cgraph): Declarations moved to lto-section-in.h.
5341 * lto-section-in.c: Moved to .. .
5342 * lto-cgraph-in.c: Ditto.
5343 * lto-section-in.h: Ditto.
5344 * lto-function-in.c: Ditto.
5345 * lto-lang.c (lto_handle_option): Added ATTRIBUTE_UNUSED to parms.
5346 (lto_insert_block): Removed.
5347 (LANG_HOOKS_INSERT_BLOCK): Removed.
5348 * Make-lang.in (lto-cgraph-in.o, lto-function-in.o,
5349 lto-section-in.o): Rules moved to lto/Makefile.in.
ab20d992 5350
d7f09764
DN
5351
53522008-05-16 Ollie Wild <aaw@google.com>
5353
5354 * lto-lang.c (tree-inline.h): Include.
5355 (lto_post_options): New function.
5356 (LANG_HOOKS_POST_OPTIONS): Define.
5357 * lto-cgraph-in.c (overwrite_node): Set node->global.insns.
5358 * lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
5359
53602008-05-13 Diego Novillo <dnovillo@google.com>
5361
5362 * lto-function-in.c (input_ssa_names): Call
5363 make_ssa_name_fn instead of make_ssa_name.
5364
53652008-05-12 Diego Novillo <dnovillo@google.com>
5366
5367 * lto-cgraph-in.c (overwrite_node): Update references to
5368 inline summary fields.
5369 * lto-function-in.c (input_expr_operand): Do not handle
5370 STRUCT_FIELD_TAG.
5371
53722008-05-09 Ollie Wild <aaw@google.com>
5373
5374 * lang.opt: New file.
5375 * lto-lang.c (lto_init_options): New function.
5376 (lto_handle_option): New function.
5377 (lto_init): Move initialization of flag_unit_at_a_time to
5378 lto_init_options.
5379 (LANG_HOOKS_INIT_OPTIONS): Define.
5380 (LANG_HOOKS_HANDLE_OPTION): Define.
5381
53822008-04-29 Ollie Wild <aaw@google.com>
5383
5384 * lto.c (lto_read_namespace_DIE): New function.
5385 (lto_read_DIE): Add lto_read_namespace_DIE callback. Cache
5386 NAMESPACE_DECL DIE's.
5387 (lto_resolve_namespacedecl_ref): New function.
5388 * lto.h (lto_resolve_namespacedecl_ref): New function.
5389 * lto-section-in.c (lto_read_decls): Read namespace declarations.
5390 * lto-section-in.h (struct lto_file_decl_data): Add namespace_decls
5391 and num_namespace_decls.
5392 * lto-function-in.c (input_expr_operand): Add NAMESPACE_DECL case.
5393 * lto-lang.c (lto_init_ts): New function.
5394 (LANG_HOOKS_INIT_TS): Set as lto_init_ts.
5395
53962008-04-16 Ollie Wild <aaw@google.com>
5397
5398 * lto-function-in.c (input_type_ref): Updated function description.
5399
54002008-04-16 Ollie Wild <aaw@google.com>
5401
5402 * lto-function-in.c (input_type_ref_1): New function.
5403 (input_type_ref): Split into two functions.
5404 (input_function): Add support for type contexts.
5405
54062008-04-16 Ollie Wild <aaw@google.com>
5407
5408 * lto.c (lto_materialize_function): Use DECL_ASSEMBLER_NAME to compute
5409 section name
5410
54112008-04-16 Ollie Wild <aaw@google.com>
5412
5413 * lto.c (lto_read_compile_unit_DIE): Add DW_LANG_C_plus_plus to the
5414 list of supported languages.
5415
3f8257db 54162008-03-25 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5417
5418 Merge with mainline @133491.
5419
3f8257db 54202008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5421 Jan Hubicka <jh@suse.cz>
5422
5423 * lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
5424 fd->unmaterialized_fndecls.
5425 (lto_get_file_name, lto_materialize_cgraph): New function.
5426 (lto_materialize_constructors_and_inits,
5427 lto_materialize_function): Read info directly from elf file.
5428 (lto_file_read): Made local and initialize dictionary so that
5429 other lto sections can be read without reprocessing the elf file.
5430 (lto_main): Read all functions after all files have been processed
ab20d992 5431 for their types, globals and cgraph.
d7f09764
DN
5432 * Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
5433 dependencies.
5434 * lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
5435 (hash_name, eq_name, lto_elf_build_section_table): New functions.
5436 (lto_elf_read_symtab): Removed function.
5437 (lto_elf_file_open): Removed call to lto_elf_read_symtab.
5438 * lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
5439 (lto_file_read): Made local.
5440 (lto_get_file_name, lto_elf_build_section_table,
ab20d992 5441 lto_input_cgraph):
d7f09764
DN
5442 New function.
5443 * lto-section-in.c (lto_read_section_data, lto_get_section_data):
5444 New functions.
5445 (lto_read_decls): Get the file name.
5446 * lto-cgraph-in.c: New file.
5447 * lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
5448 (input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
5449 (input_labels): Fixed latent sizeof issue.
5450 (input_function): Build stmt array to set call sites into cgraph
5451 edges.
5452 (lto_read_body): Reset cfun->curr_properties.
5453 * lto_section_in.h (lto_section_slot): New structure.
5454 (section_hash_table.lto_file_decl_data): New field.
5455
3f8257db 54562008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5457
5458 * lto.c (lto_read_variable_formal_parameter_const): Remove code to
5459 reconstruct static initializers.
5460 (lto_get_body, lto_materialize_function): Add lto_section_type as
5461 a parameter.
5462 (lto_materialize_constructors_and_inits,
5463 lto_materialize_file_data): New function.
5464 (lto_materialize_function,
5465 lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
5466 unmap_section and map_fn_body to map_section.
5467 (lto_set_cu_context): Process functions and static inits
5468 differently.
5469 * Make-lang.in (LTO_H, lto/lto-function-in.o,
5470 lto/lto-section-in.o): Update dependencies.
ab20d992 5471 * lto-elf.c (lto_elf_map_optional_lto_section): Add
d7f09764
DN
5472 lto_section_type parameter.
5473 (lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
ab20d992 5474 * lto.h (lto_file_vtable_struct): Removed two of the fields and
d7f09764
DN
5475 renamed the other two so that there is only one map function and
5476 one unmap function and each takes a section type parameter.
5477 (lto_read_function_body): Renamed to lto_input_function_body and
5478 added file_data parameter.
5479 (lto_read_var_init): Removed.
5480 (lto_input_constructors_and_inits): New function.
5481 * lto-section-in.c (lto_read_decls): New function.
5482 * lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
5483 var_decls, type_decls, types to lto_file_decl_data.
5484 (input_type_ref, input_expr_operand, lto_read_body): Get
5485 field_decls, fn_decls, var_decls, type_decls, types from different
5486 structure.
5487 (input_globals, input_constructor, lto_read_var_init): Removed.
5488 (input_constructors_or_inits): New function.
5489 (lto_read_function_body, lto_input_constructors_and_inits):
5490 Renamed to lto_input_function_body and takes file_data parameter.
5491 * lto-section-in.h (lto_file_decl_data): New structure.
ab20d992 5492
3f8257db 54932008-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5494
5495 * lto-function-in.c (input_globals.c): Changed input type to
5496 lto_function_header.
5497 (input_bb): Removed code to deserialize the stmt number.
5498 (input_function): Renumber all stmts after they are input.
5499 (lto_read_body, lto_read_function_body, lto_read_var_init):
5500 Changed to used new header format and enum section_type.
ab20d992
JJ
5501 *lto-lang.c (success): Removed.
5502
d7f09764
DN
55032008-01-28 Nathan Froyd <froydnj@codesourcery.com>
5504
5505 * lto-elf.c (lto_elf_lookup_sym): Remove unused function.
5506 (lto_elf_free_sym): Likewise.
5507
5508 * lto-elf.c (lto_elf_read_var_init): Remove unused function.
5509 (lto_elf_build_init): Likewise.
5510
3f8257db 55112008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5512
5513 * lto-read.c: Renamed to lto-function-in.c.
5514 (input_1_unsigned): Moved to lto-section-in.c and renamed
5515 lto_input_1_unsigned.
5516 (input_uleb128): Moved to lto-section-in.c and renamed
5517 lto_input_uleb128.
5518 (input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
5519 lto_input_widest_uint_uleb128.
5520 (input_sleb128): Moved to lto-section-in.c and renamed
5521 lto_input_sleb128.
5522 (input_integer): Moved to lto-section-in.c and renamed
5523 lto_input_integer.
5524 (debug_in_fun): Moved to lto-section-in.c and renamed
5525 lto_debug_in_fun.
5526 (input_block): Moved to lto-section-in.h and renamed
5527 lto_input_block.
5528 (input_expr_operand): Fixed to allow lists with more than one
5529 element.
5530 * lto-section-in.h: New file.
5531 * lto-section-in.c: New file with changes from above.
5532 * Make-lang.in (lto-read.o): Renamed lto-function-in.c.
5533 (lto-section-in.o): New rule.
ab20d992 5534
d7f09764
DN
55352007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5536
5537 * lto-read.c (input_expr_operand): Mark static and external
5538 VAR_DECLs as needed.
5539
55402007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5541
5542 * lto-read.c (input_integer): Use the correct shift amount.
5543
55442007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5545
5546 * lto-lang.c (lto_pushdecl): Do nothing instead of aborting.
5547 (LANG_HOOKS_NAME): Define.
5548
55492007-12-27 Nathan Froyd <froydnj@codesourcery.com>
5550
5551 * lto.c (lto_find_integral_type): Define as a macro. Rename the
5552 original function to...
5553 (lto_find_integral_type_1): ...this. Consult UNSIGNEDP if we
5554 don't have a base type.
5555 (lto_read_enumeration_type_DIE): Examine the values of the
5556 enumeration to determine whether we can use an unsigned type for
5557 the base type of the enumeration.
5558
55592007-12-24 Nathan Froyd <froydnj@codesourcery.com>
5560
5561 * lto.c (lto_read_structure_union_class_type_DIE): Set TYPE_MODE
5562 and TYPE_ALIGN on UNION_TYPEs as soon as possible.
5563
55642007-12-22 Nathan Froyd <froydnj@codesourcery.com>
5565
5566 * lto-lang.c (lto_types_compatible_p): New function.
5567 (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
5568
55692007-12-22 Nathan Froyd <froydnj@codesourcery.com>
3f8257db 5570 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5571
5572 * lto-read.c (input_expr_operand): Fixed uninitialize var warning.
5573 (input_local_vars): Read in DECL_INITIAL and context for local
5574 statics that need to be put in unexpanded_vars_list.
5575
55762007-12-21 Nathan Froyd <froydnj@codesourcery.com>
5577
5578 * lto-read.c (input_real): Use a separate null-terminated buffer
5579 for calling real_from_string.
5580 (input_expr_operand): If we take the address of a FUNCTION_DECL,
5581 tell cgraph that it's needed.
5582
55832007-12-19 Doug Kwan <dougkwan@google.com>
5584
5585 * lto.c (lto_read_base_type_DIE): Handle complex integer types.
5586
55872007-12-18 Nathan Froyd <froydnj@codesourcery.com>
5588
5589 * lto.c (lto_read_DIE): Call lto_read_only_for_child_DIEs instead.
5590 (lto_file_read): Reset the members of 'context' every time we read
5591 a toplevel DIE, with special attention to last_param_type.
5592
55932007-12-18 Nathan Froyd <froydnj@codesourcery.com>
5594
5595 * lto.c (lto_read_subroutine_type_subprogram_DIE): Initialize
5596 'declaration'. Set the assembler name for non-public functions.
5597
3f8257db 55982007-12-17 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5599
5600 * lto_read.c (data_in.unexpanded_indexes): New array.
5601 (input_local_var): Added code to read in unexpanded_var_list
5602 indexes for variables. Only read in DECL_CHAIN field for
5603 parameters.
5604 (input_local_vars): Added code to rebuild unexpanded_var_list in
5605 order using unexpanded_indexes.
5606 (input_function): Added code to set DECL_CONTEXT for functions.
5607
56082007-12-13 Doug Kwan <dougkwan@google.com>
5609
5610 * lto.c (lto_read_pointer_reference_type_DIE): Handle optional name
5611 in pointer and reference types.
5612
56132007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5614
5615 * lto-read.c (input_expr_operand): Use DECL_RESULT when reading a
5616 RESULT_DECL.
5617
56182007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5619
5620 * lto.c (lto_read_array_type_DIE): Return the cached DIE if we've
5621 already read the DIE.
5622 (lto_get_body): New function, split out from...
5623 (lto_materialize_function): ...here. Call it.
5624 (lto_read_subroutine_type_subprogram_DIE): Call lto_get_body to
5625 determine DECL_EXTERNAL.
5626 * lto-symtab.c (lto_symtab_merge_decl): Merge the DECL_RESULTs of
5627 FUNCTION_DECLs when necessary. Use the type of the actual
5628 function definition if we are unable to easily merge types. Ignore
5629 spurious DECL_MODE mismatches on VAR_DECLs. Merge DECL_MODEs when
5630 necessary.
5631
56322007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5633
5634 * lto-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
5635
56362007-12-12 Bill Maddox <maddox@google.com>
5637
5638 Revert
5639 2007-12-07 Bill Maddox <maddox@google.com>
5640
5641 * lto.c (lto_str_fd_init): New function.
5642 (lto_str_fd_close): New function.
5643 (lto_file_init): Call lto_str_fd_init.
5644 (lto_file_close): Call lto_str_fd_close.
5645 (lto_str_read): New function. Read debug string table.
5646 (lto_str_lookup): New function. Get string for debug
5647 string table offset.
5648 (lto_read_form): Recognize DW_FORM_strp.
5649 (lto_file_read): Invoke lto_str_read.
5650
5651 * lto-elf.c (lto_elf_file_open): Read raw section data
5652 for the .debug_str section, if present.
5653
5654 * lto.h (struct lto_str_fd_struct): New struct.
5655 (struct lto_file_struct): Added new field DEBUG_STR
5656 to hold the file descriptor for the debug string table.
ab20d992 5657
d7f09764
DN
56582007-12-07 Bill Maddox <maddox@google.com>
5659
5660 * lto.c (lto_str_fd_init): New function.
5661 (lto_str_fd_close): New function.
5662 (lto_file_init): Call lto_str_fd_init.
5663 (lto_file_close): Call lto_str_fd_close.
5664 (lto_str_read): New function. Read debug string table.
5665 (lto_str_lookup): New function. Get string for debug
5666 string table offset.
5667 (lto_read_form): Recognize DW_FORM_strp.
5668 (lto_file_read): Invoke lto_str_read.
5669
5670 * lto-elf.c (lto_elf_file_open): Read raw section data
5671 for the .debug_str section, if present.
5672
5673 * lto.h (struct lto_str_fd_struct): New struct.
5674 (struct lto_file_struct): Added new field DEBUG_STR
5675 to hold the file descriptor for the debug string table.
5676
56772007-12-07 Nathan Froyd <froydnj@codesourcery.com>
5678
5679 * lto-read.c (input_cfg): Call init_empty_tree_cfg_for_function.
5680 Grow the basic_block_info and label_to_block_map vectors if
5681 necessary. Read in the block chain.
5682
56832007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5684
5685 * lto.c (lto_read_DIE): Set TYPE_ALIAS_SET where necessary.
5686
56872007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5688
5689 * lto.c (lto_read_form): Add DW_cl_address for DW_AT_const_value.
5690
56912007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5692
5693 * lto-read.c (input_expr_operand): Don't check for MTAGs.
5694 (lto_read_body): Don't declare PROP_alias.
5695
56962007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5697
5698 * lto-symtab.c (lto_symtab_merge_decl): Handle FUNCTION_DECLs without
5699 argument type information.
5700
57012007-12-03 Nathan Froyd <froydnj@codesourcery.com>
5702
5703 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
5704 TREE_THIS_VOLATILE if the associated type is a volatile type.
5705 (lto_materialize_function): Remove call to init_ssa_operands.
5706 * lto-read.c (input_expr_operand): Add SSA_NAME_VAR as a referenced
5707 variable when reading an SSA_NAME. Do the same when reading a
5708 RESULT_DECL, a RETURN_EXPR, or an MTAG.
5709 (input_cfg): Call init_ssa_operands.
5710 (input_ssa_names): Set the default def of an SSA_NAME if necessary.
5711 Move call to init_tree_ssa...
5712 (lto_read_body): ...here. Use push_cfun and pop_cfun. Call
5713 add_referenced_var on any variables referenced from the body of the
5714 function. Inform the rest of the compiler we are in SSA form and
5715 inform later passes about the current properties.
5716
57172007-11-30 Nathan Froyd <froydnj@codesourcery.com>
5718
5719 * lto.c (lto_materialize_function): Add FIXME.
5720
57212007-11-29 Nathan Froyd <froydnj@codesourcery.com>
5722
5723 * lto-lang.c (enum built_in_attribute): New enum.
5724 (flag_no_builtin, flag_no_nonansi_builtin, flag_isoc94, flag_isoc99,
5725 built_in_attributes): New variables.
5726 (def_builtin_1): New function.
5727 (lto_define_builtins): #define DEF_BUILTIN and include builtins.def.
5728
57292007-11-28 Nathan Froyd <froydnj@codesourcery.com>
5730
5731 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
5732 DECL_SOURCE_LOCATION for debugging purposes.
5733 (lto_read_member_DIE): Set DECL_SOURCE_LOCATION. If we have read a
5734 bitfield, use the type specified by the DIE for TREE_TYPE and defer
5735 laying out the decl until later.
5736 (lto_read_subroutine_type_subprogram_DIE): Compare the function's
5737 name with DECL_ASSEMBLER_NAME. Set DECL_SOURCE_LOCATION and
5738 TREE_ADDRESSABLE.
5739 * lto-read.c (input_expr_operand): Set TREE_ADDRESSABLE on the
5740 operand of an ADDR_EXPR.
5741 * lto-lang.c (enum lto_builtin_type): New enum.
5742 (builtin_type): New typedef.
5743 (builtin_types, string_type_node, const_string_type_node,
5744 wint_type_node, intmax_type_node, uintmax_type_node,
5745 signed_size_type_node): New variables.
5746 (def_fn_type, builtin_type_for_size, lto_define_builtins,
5747 lto_build_c_type_nodes): New functions.
5748 (lto_init): Initialize builtin types.
5749 (lto_set_decl_assembler_name): Let the target machine mangle the
5750 name if the decl is TREE_PUBLIC, otherwise uniquify it.
5751
57522007-11-21 Nathan Froyd <froydnj@codesourcery.com>
5753
5754 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Don't
5755 set TREE_ADDRESSABLE. Do set DECL_COMDAT. Set TREE_READONLY if
5756 the type is a constant type. Set the assembler name and inform
5757 the rest of the compiler about the new decl if the decl is not
5758 public.
5759 (lto_read_subroutine_type_subprogram_DIE): Don't check for equivalency
5760 of DECL_ASSEMBLER_NAME when determining if we have a builtin. Don't
5761 try to read in function bodies for functions that already have bodies.
5762 * lto-symtab.c (lto_same_type_p): Check for unbounded array
5763 equivalency.
5764 (lto_symtab_merge_decl): Don't merge decls that aren't TREE_PUBLIC.
5765 Check for whether we matched a builtin function type before calling
5766 lto_same_type_p on the generated type. Permit cases where the
5767 declaration of an array is unbounded, but the definition is bounded.
5768 Don't combine TREE_PUBLIC flags. Copy over DECL_SIZE and
5769 DECL_SIZE_UNIT if necessary.
5770
3f8257db 57712007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 5772
ab20d992 5773 * lto-read.c (input_expr_operand): Get types right
d7f09764
DN
5774 for COMPLEX_CST.
5775
3f8257db 57762007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5777
5778 * lto-read.c (make_new_block, input_cfg): Properly set
5779 n_basic_blocks.
ab20d992 5780
d7f09764
DN
57812007-11-16 Nathan Froyd <froydnj@codesourcery.com>
5782
5783 * lto.c (lto_read_array_type_DIE): Handle DIEs with DW_AT_GNU_vector
5784 set properly by building a VECTOR_TYPE instead of an ARRAY_TYPE.
5785
57862007-11-16 Nathan Froyd <froydnj@codesourcery.com>
5787
5788 * lto.c (lto_read_base_type_DIE): Use make_bitfield_integer_type to
5789 construct the integer type for bitfields.
5790
3f8257db 57912007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5792
5793 * lto-read.c (data_in.current_node_has_loc): Removed.
5794 (input_line_info): Returns true if node needs line set.
5795 (set_line_info): Always sets line if called.
5796 (clear_line_info): Removed reference to current_node_needs_loc.
5797 (input_expr_operand): Keeps track locally if current node needs a loc.
5798 (input_local_var): Added code to handle DECL_INITIAL for
5799 static local vars. Only set loc if necessary.
ab20d992 5800
d7f09764
DN
58012007-11-15 Nathan Froyd <froydnj@codesourcery.com>
5802
5803 * lto.c (lto_read_subroutine_type_subprogram_DIE): Fix thinko'd
5804 DECL_CONTEXT.
5805
58062007-11-15 Nathan Froyd <froydnj@codesourcery.com>
5807
5808 * lto.c: Include langhooks.h.
5809 (lto_find_integral_type): Rework logic to handle the case where
5810 got_byte_size is true, but the bitsize requested and that of the
5811 base_type doesn't match.
5812 (lto_read_variable_formal_parameter_constant_DIE): Only check for
5813 asm_name if we are creating a VAR_DECL.
5814 (lto_materialize_function): Set DECL_EXTERNAL if we can't find a
5815 definition.
5816 (lto_read_subroutine_type_subprogram_DIE): Check for a builtin
5817 function reference and use the builtin's decl if so. Set the
5818 DECL_CONTEXT of the RESULT_DECL for the function.
5819 * lto-lang.c (registered_builtin_fndecls): New variable.
5820 (lto_getdecls): Return it.
5821 (lto_builtin_function): Chain the new decl onto
5822 registered_builtin_fndecls.
5823
3f8257db 58242007-11-15 Kenneth Zadeck <zadeck@naturalbridge.com>
ab20d992 5825
d7f09764
DN
5826 * lto-read.c (process_tree_flags, lto_static_init_local):
5827 Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
5828 (input_line_info, clear_line_info): Fixed new line number code.
5829 (input_expr_operand): Added type to SWITCH_EXPR.
5830 (lto_read_body): Properly initialized data_in.
5831 Clear line info when leaving.
ab20d992 5832
d7f09764
DN
58332007-11-13 Diego Novillo <dnovillo@google.com>
5834
5835 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
5836 Initialize ARTIFICIAL.
5837 (lto_read_subroutine_type_subprogram_DIE): Initialize
5838 SAVED_SCOPE.
5839 * lto-read.c (set_line_info): Remove ; from calls to
5840 LINEMAP_POSITION_FOR_COLUMN.
5841
3f8257db 58422007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5843
5844 * lto-read.c (input_type_ref): Renamed from get_type_ref.
ab20d992 5845 (input_expr_operand, input_local_var): Renamed get_type_ref to
d7f09764 5846 input_type_ref.
ab20d992 5847 (input_expr_operand): Get the types correct for
d7f09764 5848 vector-cst. Get SSA_NAME_DEF_STMT correct for return_exprs.
ab20d992 5849
d7f09764
DN
58502007-11-13 Doug Kwan <dougkwan@google.com>
5851
5852 * lto-read.c (input_widest_uint_uleb128): New function.
5853 (input_tree_flags, process_tree_flags, input_line_info,
5854 input_expr_operand, input_local_var, input_phi, input_ssa_names):
5855 Change to use lto_flags_type and BITS_PER_LTO_FLAGS_TYPES instead of
5856 unsigned HOST_WIDE_INT and HOST_BITS_PER_WIDE_INT.
5857 (lto_static_init_local): Add code to assert that lto_flags_type is
5858 wide enough.
5859
58602007-11-13 Nathan Froyd <froydnj@codesourcery.com>
5861
5862 * lto.c (lto_read_array_type_DIE): Handle DW_AT_GNU_vector.
5863 (lto_read_subroutine_type_subprogram_DIE): Handle
5864 DW_AT_static_link and DW_AT_specification. Return the
5865 specification if present.
5866 (lto_read_base_type_DIE): Handle DW_ATE_complex_float.
ab20d992 5867
d7f09764
DN
58682007-11-13 Nathan Froyd <froydnj@codesourcery.com>
5869
5870 * lto-lang.c: Include target.h.
5871 (registered_builtin_types): New variable.
5872 (lto_type_for_mode): Increase number of modes handled.
5873 (lto_builtin_function): Fix argument list and return the decl.
5874 (lto_register_builtin_type): New function.
5875 (lto_init): Initialize target builtins and language-independent
5876 nodes.
5877 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define.
5878
3f8257db 58792007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5880
5881 * lto-read.c (input_expr_operand): Added code to properly handle
5882 index filed. Added new RANGE_EXPR case.
ab20d992 5883
3f8257db 58842007-11-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5885
5886 * lto-read.c (ADD_FUNC_FLAG): Deleted macro.
5887 (data_in): Added current_node_has_loc field.
5888 (input_line_info, set_line_info, clear_line_info): Added a support
5889 for USE_MAPPED_LOCATION and not adding line numbers to nodes that
5890 did not have on on the source side.
5891 (input_expr_operand): Make sure that GIMPLE_MODIFY_STMTS get line
5892 numbers too.
5893
58942007-11-09 Doug Kwan <dougkwan@google.com>
5895
5896 * lto-read.c (input_expr_operand): Change type of operand 2 of
5897 BIT_FIELD_REF expression to be bitsizetype instead of sizetype.
5898
58992007-11-09 Nathan Froyd <froydnj@codesourcery.com>
5900
5901 * lto.c: Include lto-tree.h. Effect small spaces->tabs cleanup.
5902 (lto_read_variable_formal_parameter_constant_DIE): Transfer bits
5903 from a DW_AT_specification or DW_AT_abstract_origin attribute to
5904 the new decl we are creating. Move informing the middle end about
5905 the new decl to...
5906 (lto_main): ...here. Inform the middle end about global variables
5907 after we have read in all the input files.
5908 * lto-symtab.c (lto_symtab_merge_decl): We really do need to merge
5909 variables with internal linkage, so delete the check for internal
5910 linkage. Combine TREE_PUBLIC flags.
5911
59122007-11-08 Nathan Froyd <froydnj@codesourcery.com>
5913
5914 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
5915 DW_AT_decl_line.
5916 * lto-symtab.c (lto_symtab_merge_decl): Handle redefinition of a
5917 builtin specially. Move check for attribute compatibility
5918 earlier.
5919
59202007-11-07 Nathan Froyd <froydnj@codesourcery.com>
5921
5922 * Make-lang.in (lto/lto.o): Depend on gt-lto-lto.h.
5923 * config-lang.in (gtfiles): Add lto.h and lto.c.
5924 * lto-elf.c: Include ggc.h.
5925 (lto_elf_file_open): Allocate elf_file from GC memory.
5926 * lto.c: Include tree-ssa-operands.h and gt-lto-lto.h
5927 (lto_info_fd_init): Allocate the die_cache and unmaterialized_fndecls
5928 in GC memory.
5929 (lto_info_fd_close): Free unmaterialized_fndecls from GC memory.
5930 (lto_file_close): Free file from GC memory.
5931 (lto_cache_store_DIE): Allocate the new entry in GC memory.
5932 (lto_read_member_DIE): Fix declaration.
5933 (lto_read_subroutine_type_subprogram_DIE): unmaterialized_fndecls lives
5934 in GC memory.
5935 (current_lto_file): New variable.
5936 (lto_main): Use it.
5937 (DWARF2_attr, DWARF2_abbrev, lto_die_ptr, DWARF2_CompUnit,
5938 lto_die_cache_entry): Move to...
5939 * lto.h: ...here and add GTY markers as appropriate. Delete forward
5940 declarations accordingly.
5941 (struct lto_file_struct): Declare.
5942 (lto_file_vtable): Use it instead of lto_file.
5943
ab20d992
JJ
59442007-11-06 Alon Dayan <alond@il.ibm.com>
5945 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 5946
3d3b561f
ML
5947 * lto-read.c (process_flags, lto_static_init_local):
5948 read flags of VAR_DECL and FUNCTION_DECL of size>1.
5949 change global array num_flags_for_code to flags_length_for_code.
5950 (set_line_info): Make decls work in USE_MAPPED_LOCATION mode.
ab20d992 5951
d7f09764
DN
59522007-11-05 Nathan Froyd <froydnj@codesourcery.com>
5953
5954 * lto.c (lto_read_structure_union_class_type_DIE): Use proper record
5955 layout functions to compute information about the newly constructed
5956 type.
5957
59582007-11-02 Nathan Froyd <froydnj@codesourcery.com>
5959
5960 * lto-read.c (input_expr_operand): Change the LTO_return_expr1
5961 case to use DECL_RESULT if necessary.
5962
3f8257db 59632007-11-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5964
5965 * lto-read.c (input_tree_list): Removed.
5966 (input_tree_flags): Added parameter to force flags no matter what
5967 tree code.
5968 (input_expr_operand): Added parameter to input_tree_flags.
5969 Added case for IDENTIFIER_NODE and TREE_LIST. Changed ASM to call
5970 input_expr_operand rather than input_tree_lists.
5971 (input_local_var): Use input_expr_operand to read attributes
5972 rather then input_tree_list.
5973 (input_phi, input_ssa_names): Added parameter to input_tree_flags.
5974
59752007-10-31 Nathan Froyd <froydnj@codesourcery.com>
5976
5977 * lto.c (lto_read_typedef_DIE): Fix comment typo.
5978 (lto_resolve_typedecl_ref): Fetch the referred-to type and build a fake
5979 TYPE_DECL for it.
5980 * lto-read.c (lto_read_body): Use correct sizes for calculating
5981 type_decls_offset and types_offset.
5982
59832007-10-30 Nathan Froyd <froydnj@codesourcery.com>
5984
5985 * lto-tree.h (union lang_tree_node): Change GTY description to chain
5986 with GENERIC_NEXT.
5987 * config-lang.in (gtfiles): Add lto-lang.c.
5988 * lto-lang.c: Include gt-lto-lto-lang.h.
5989 * Make-lang.in (lto/lto-lang.o): Add dependency on gt-lto-lto-lang.h
5990 (lto/lto-symtab.o): Depend on LTO_H instead of TREE_H.
5991 (lto/lto-read.o): Likewise.
5992
3f8257db 59932007-10-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5994
5995 * lto-read.c (data_in): Added type_decls and current_col fields.
5996 (string_slot): New type to hold canonized file name.
ab20d992 5997 (hash_string_slot_node, eq_string_slot_node, canon_file_name,
d7f09764
DN
5998 input_line_info, set_line_info, clear_line_info): New functions.
5999 (file_name_hash_table): New hash table.
ab20d992 6000 (input_local_var, input_labels, input_local_vars_index,
d7f09764
DN
6001 input_local_var, input_local_vars, input_ssa_names): Reorganized parameters.
6002 (input_uleb128): Changed type of byte var.
6003 (input_expr_operand): Large number of changes to get line numbers
6004 correct. Added TYPE_DECL case.
6005 (input_globals): Added code to get TYPE_DECLs processed.
6006 (input_local_var): Added code to process line numbers and
6007 TREE_CHAIN and DECL_CONTEXT.
6008 (input_function, input_constructor): Added call to
6009 clear_line_number.
6010 (lto_static_init_local): Added code to get line numbers correct.
6011 (lto_read_body): Added code to get TYPE_DECLS read and to change
6012 parameters to the calls above that had their parms reorganized.
6013
d7f09764
DN
60142007-10-29 Nathan Froyd <froydnj@codesourcery.com>
6015
6016 * lto.h (lto_resolve_typedecl_ref): Declare.
6017 * lto.c (lto_resolve_typedecl_ref): New function.
6018
60192007-10-29 Mark Mitchell <mark@codesourcery.com>
6020 Nathan Froyd <froydnj@codesourcery.com>
6021
6022 * lto.c (lto_read_subroutine_type_subprogram_DIE): Read the child
6023 DIEs even if we find an abstract origin for this DIE.
6024
60252007-10-29 Nathan Froyd <froydnj@codesourcery.com>
6026
6027 * lto.c (lto_read_subroutine_type_subprogram_DIE): Build the
6028 RESULT_DECL slightly earlier. Only remember the decl for later
6029 if we successfully merge declarations.
6030
3f8257db 60312007-10-24 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6032
6033 * lto-read.c (input_expr_operand): Give label_values the proper
6034 context and provide switch statements with a default type.
ab20d992 6035
d7f09764
DN
60362007-10-23 Nathan Froyd <froydnj@codesourcery.com>
6037
6038 * lto-read.c (lto_read_body): Move call to init_ssa_operands...
6039 * lto.c (lto_materialize_function): ...to here.
6040
60412007-10-22 Nathan Froyd <froydnj@codesourcery.com>
6042
6043 * lto.h (struct lto_info_fd): Add field unmaterialized_fndecls.
6044 * lto.c (lto_info_fd_init): Initialize it.
6045 (lto_info_fd_close): Free it.
6046 (lto_materialize_function): New function.
6047 (lto_read_subroutine_type_subprogram_DIE): Save the result decl on
6048 unmaterialized_fndecls.
6049 (lto_file_read): Read in all the function bodies after we have read
6050 all of the DWARF info.
6051 * lto-read.c (lto_read_body): Call init_ssa_operands if we are
6052 reading a function body.
6053
3f8257db 60542007-10-20 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6055
6056 * lto-read.c (input_tree_flags): Renamed from input_flags to be
6057 semetric with output_tree_flags. Added call to log flags.
6058 (process_tree_flags): Renamed from process_flags. Fixed a lot of
6059 type issues to make everything consistent with flags being
6060 unsigned HOST_WIDE_INTS.
6061 (input_expr_operand): Added call to
6062 recompute_tree_invariant_for_addr_expr.
6063 (input_local_var): Added debugging for tree_chains. Now calls
6064 input_tree_flags.
6065 (input_phi): Made flags unsigned HOST_WIDE_INT.
6066 (input_ssa_names): Now calls input_tree_flags.
6067 (lto_read_body): Now sets cfun.
6068 (lto_read_function_body): Now sets current_function_pointer.
ab20d992 6069
d7f09764
DN
60702007-10-19 Nathan Froyd <froydnj@codesourcery.com>
6071
6072 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Check
6073 definitively whether SPECIFICATION or ABSTRACT_ORIGIN exist before
6074 inspecting fields within.
6075 (lto_read_DIE_at_ptr): Delete check for null result; let callers
6076 handle this appropriately.
6077
60782007-10-19 Nathan Froyd <froydnj@codesourcery.com>
6079
6080 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Handle
6081 DW_AT_abstract_origin properly. Ensure that we're not dealing with
6082 both DW_AT_abstract_origin and DW_AT_specification.
6083 (lto_read_subroutine_type_subprogram_DIE): Handle
6084 DW_AT_abstract_origin.
6085 (lto_read_DIE): Use lto_read_only_for_child_DIEs for labels.
6086 (lto_read_DIE_at_ptr): Define as static to match declaration.
6087 Lookup the PTR in the cache before reading it from the file.
6088 (lto_resolve_var_ref): Adjust accordingly.
6089 (lto_resolve_fn_ref): Adjust accordingly. Tweak comment.
6090 (lto_resolve_field_ref): Adjust accordingly. Tweak comment.
6091
60922007-10-19 Nathan Froyd <froydnj@codesourcery.com>
6093
6094 * lto.c (lto_read_DIE_at_ptr): New function.
6095 (lto_resolve_var_ref): Use it.
6096 (lto_resolve_fn_ref): Use it.
6097 (lto_resolve_field_ref): Use it.
6098 (lto_read_variable_formal_parameter_constant_DIE): Follow
6099 DW_AT_specification and return the associated decl when appropriate.
6100
61012007-10-18 Nathan Froyd <froydnj@codesourcery.com>
6102
6103 * lto-lang.c (lto_type_for_mode): Move after lto_type_for_size.
6104 Implement for scalar integer modes.
6105 (lto_init): Initialize size_type_node.
6106
3f8257db 61072007-10-18 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6108
6109 * lto-read.c (input_expr_operand): Remove ssa name asserts.
6110 (input_local_var): Add chaining for params.
6111 (input_ssa_names): Add cfun parameter.
6112 (input_function): Remove unnecessary else.
6113
61142007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6115
6116 * lto.c (lto_read_only_for_child_DIEs): Mark die parameter as unused.
6117 (lto_resolve_var_ref): Use proper types.
6118 (lto_resolve_fn_ref): Likewise.
6119 (lto_resolve_field_ref): Likewise.
6120
61212007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6122
6123 * lto-read.c (input_expr_operand): Remove case.
6124
61252007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6126
6127 * lto.c (lto_read_only_for_child_DIEs): New function.
6128 (lto_read_DIE): Use it for lexical_block and inlined_subroutine DIEs.
6129 * lto-elf.c (lto_elf_map_lto_section): Remove.
6130 (lto_elf_file_vtable): Use lto_elf_map_optional_lto_section instead.
6131 * lto-read.c (input_expr_operand): Assert that we never read a NULL
6132 SSA_NAME. Add missing case for mechanical codes.
6133 (input_cfg): Use basic_block_info_for_function instead of
6134 basic_block_info.
6135
3f8257db 61362007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6137
6138 * lto-read.c (input_sleb128, input_integer): Use proper casts.
6139 (input_list): Renamed input_tree_list and modified to follow same
6140 protocol as lto-function-out.c:output_tree_list.
6141 (input_expr_operand): Make asm operands use input_tree_list.
6142 (input_local_var): Now uses input_tree_list.
6143 (lto_read_body): Change placement for setting context of debug_labels.
ab20d992 6144
3f8257db 61452007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6146
6147 * lto-read.c (input_real): Output debugging in proper order.
6148 (input_integer): Compute bit lengths properly.
6149 (input_list): Clean up declaration.
6150 (input_expr_operand): Change calls to input_real to match fix.
6151 Make reading of LTO_bit_field_ref1 match output.
6152 (input_local_var): Make reading of attributes match what is being
6153 written.
6154 (dump_debug_stream): Also print char in hex.
6155 (debug_out_fun): Fix signed unsigned mismatch.
ab20d992 6156
d7f09764
DN
61572007-10-10 Nathan Froyd <froydnj@codesourcery.com>
6158
6159 * lto.c (lto_read_form): Handle DW_AT_MIPS_linkage_name and
6160 DW_AT_GNU_vector specially, as they are not contiguous with the
6161 specified set of attribute names. Use class_mask to check for
6162 errors at the end of the function
6163 (lto_resolve_var_ref): Read the DIE if it is not cached.
6164 (lto_resolve_fn_ref): Likewise.
6165 (lto_resolve_field_ref): Likewise.
6166
61672007-10-05 Nathan Froyd <froydnj@codesourcery.com>
6168
6169 * lto.c: Include dwarf2out.h.
6170 (lto_cache_store_DIE): Assert that we never change the value.
6171 (LTO_BEGIN_READ_ATTRS): Print an informative error message.
6172 (lto_read_compile_unit_DIE): Handle DW_AT_entry_pc.
6173 (lto_read_array_type_DIE): Don't error on ndims == 0; build a
6174 sensible type instead.
6175 (lto_read_structure_union_class_type_DIE): Store the newly
6176 created type prior to reading the members of the structure to
6177 avoid infinite recursion. Avoid computing types and alignments
6178 for structures whose sizes are unknown.
6179 (lto_read_variable_formal_parameter_const): Handle DW_AT_artificial
6180 and set DECL_ARTIFICIAL accordingly. Ignore DW_AT_abstract_origin,
6181 DW_AT_const_value, and DW_AT_specification.
6182 (lto_read_subroutine_type_subprogram_DIE): Handle DW_AT_declaration.
6183 Return early if we have already constructed the function type.
6184 (lto_read_typedef_DIE): Check to see if the type has been cached
6185 already. Cache the type before reading any children.
6186 (lto_read_const_volatile_restrict_type_DIE): Handle DW_AT_name.
6187 (lto_read_DIE): Unset context->skip_non_parameters around reading
6188 the DIE.
6189 (lto_resolve_fn_ref): Delete trailing whitespace.
6190
3f8257db 61912007-09-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6192
6193 * lto-read.c (input_expr_operand): Added type for STRING_CST.
ab20d992 6194
d7f09764
DN
61952007-09-10 Nathan Froyd <froydnj@codesourcery.com>
6196
6197 * lto-read.c (lto_read): Set the type of the newly created CALL_EXPR.
6198
61992007-09-07 Nathan Froyd <froydnj@codesourcery.com>
6200
6201 * lto-lang.c (signed_and_unsigned_types): New variable.
6202 (lto_type_for_size): Consult signed_and_unsigned_types to find
6203 an approprite type, creating it if necessary.
6204 (lto_set_decl_assembler_name): Add actual method body.
6205
62062007-09-06 Jim Blandy <jimb@codesourcery.com>
6207
6208 * lto.c (lto_read_variable_formal_parameter_constant_DIE): If we
6209 can't find a var init for this variable, leave its DECL_INITIAL.
6210 * lto-elf.c (lto_elf_map_optional_lto_section): Renamed from
6211 lto_elf_map_fn_body.
6212 (lto_map_lto_section): New function.
6213 (lto_elf_file_vtable): Use lto_elf_map_lto_section for function
6214 bodies, and lto_elf_map_optional_lto_section for variable
6215 initializers.
6216 (lto_elf_find_section_data): Quietly return NULL if the section is
6217 missing.
6218 (lto_elf_file_open): Check for a NULL from lto_elf_find_section_data.
6219
6220 * lto-elf.c (lto_elf_find_section_data): Remove dead code.
6221
6222 * lto-read.c (lto_read_body): Doc fix.
6223
3f8257db 62242007-08-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6225
6226 * lto-read.c (fun_in): Renamed to data_in.
6227 (input_expr_operand, input_local_var, input_string_internal,
ab20d992 6228 input_string, input_real, input_list, get_label_decl,
d7f09764 6229 get_type_ref, input_expr_operand, input_globals, input_labels,
ab20d992 6230 input_local_vars_index, input_local_var, input_local_vars,
d7f09764
DN
6231 input_cfg, input_phi, input_ssa_names, input_bb, ): Renamed fun_in to data_in.
6232 (input_constructor): New function.
6233 (lto_read_function_body): Renamed to lto_read_body and generalized
6234 to handle both functions and constructors.
6235 (lto_read_function_body, lto_read_var_init): New function.
ab20d992 6236
3f8257db 62372007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6238
6239 * lto-read.c (input_expr_operand): Assert that there really is a
6240 FUNCTION_DECL.
6241 (input_globals): Removed checks on 0 section.
ab20d992 6242
3f8257db 62432007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6244
6245 * lto-read.c (fun_in): Added local_decls_index and
ab20d992 6246 local_decls_index_d.
d7f09764
DN
6247 (input_expr_operand): Changed inputting of PARM_DECLs and VAR_DECLs.
6248 (input_globals): Enabled code to handle FIELD_DECLs.
6249 (input_local_vars_index, input_local_vars): New function.
6250 (input_local_var): Changed to allow locals to be input randomly.
6251 (lto_read_function_body): Added code to input the
6252 local_decls_index and to free various structures.
ab20d992 6253
d7f09764
DN
62542007-08-17 Jim Blandy <jimb@codesourcery.com>
6255
6256 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Remove
6257 ATTRIBUTE_UNUSED from 'die' formal.
6258
6259 Use enum LTO_tags where appropriate, instead of 'unsigned int'.
6260 * lto-read.c (input_record_start): Fix return type, type of 'tag'.
6261 (input_list): Fix type of 'tag'.
6262 (input_expr_operand): Fix type of 'tag' argument. Update
6263 declaration. Fix type of 'ctag'. Add default case to switch,
6264 since the type of the switched value is now an enum.
6265 (input_local_vars): Fix type of 'tag'.
6266 (input_bb): Fix type of 'tag' argument.
6267 (input_function): Fix type of 'tag' argument.
6268
62692007-08-16 Jim Blandy <jimb@codesourcery.com>
6270
6271 * lto.c (lto_read_member_DIE): Record the tree we create in
6272 fd->die_cache. (Our 'die' argument is no longer unused.)
6273 (lto_resolve_field_ref): New function.
6274 * lto.h (lto_resolve_field_ref): New declaration.
6275
62762007-08-15 Jim Blandy <jimb@codesourcery.com>
6277
6278 * lto-read.c (lto_read_var_init): Mark arguments as unused.
6279
62802007-08-07 Jim Blandy <jimb@codesourcery.com>
6281
6282 * lto.c (lto_read_form): Complete attr_classes table.
6283 (DWARF2_form_data): Doc fix.
ab20d992 6284
d7f09764
DN
62852007-08-05 Mark Mitchell <mark@codesourcery.com>
6286
6287 * lto.h (lto_file_vtable): Remove read_var_init. Add map_var_init
6288 and unmap_var_init.
6289 (lto_read_var_init): Declare.
6290 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Use new
6291 interface for reading variable initializers.
6292 * lto-elf.c (lto_elf_read_var_init): Remove.
6293 (lto_elf_file_vtable): Update initializer.
6294 (lto_elf_read_var_init): Add comment about unused-ness.
6295 * lto-read.c (lto_read_var_init): New.
6296
6297 * lto.c (lto_read_form): Add entry for DW_AT_inline.
6298
3f8257db 62992007-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6300
6301 * lto-read.c (lto_read_function_body): Moved declaration of fn
6302 outside of ifdef.
ab20d992 6303
3f8257db 63042007-08-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6305
6306 * lto-read.c (input_uleb128, input_string_internal, input_real,
6307 input_integer, input_record_start, input_list, get_type_ref,
6308 input_flags, input_expr_operand, input_expr_operand,
6309 input_expr_operand, input_local_vars, input_cfg, input_phi,
6310 input_ssa_names, input_bb, input_function): Added semicolons.
6311
ab20d992 6312
3f8257db 63132007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6314
6315 * lto-read.c (input_globals): Remove debugging.
6316 (input_function): Set DECL_ARGUMENTS.
6317
3f8257db 63182007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6319
6320 * lto-read.c (input_expr_operand): Fixed code for COND_EXEC,
6321 RETURN_EXPR, MODIFY_EXPR and processing of flags.
6322 (input_phi): Made work with operands other than SSA_NAMES and
6323 fixed processing of flags.
6324 (input_ssa_names): Initialize SSA_NAME_DEF_STMT to empty stmt.
6325 (input_flags): New function.
6326 * lto-lang.c (lto_init): Changed state of in_lto_p.
ab20d992
JJ
6327
6328
d7f09764
DN
63292007-07-24 Mark Mitchell <mark@codesourcery.com>
6330
6331 * lto-tree.h (lto_varargs_cookie): Remove.
6332 * lto.c (lto_context): Add last_parm_type, varargs_p, skip_all,
6333 skip_non_parameters, skip_parameters.
6334 (lto_varargs_cookie): Remove.
6335 (lto_read_variable_formal_parameter_constant_DIE): Keep track of
6336 parameter types.
6337 (lto_read_abbrev): New function.
6338 (lto_read_subroutine_type_subprogram_DIE): Make two passes over
6339 child DIEs.
6340 (lto_read_unspecified_parameters_DIE): Set context->varargs_p.
6341 (lto_read_DIE): Use lto_read_abbrev. Honor skip_* flags.
6342 (lto_file_read): Initialize new context fields.
6343 * lto-lang.c (lto_type_for_mode): Return NULL_TREE.
6344 (lto_unsigned_type): Remove.
6345 (lto_signed_type): Likewise.
6346 (lto_signed_or_unsigned_type): Likewise.
6347 (lto_init): Do not create lto_varargs_cookie.
6348 (LANG_HOOKS_UNSIGNED_TYPE): Do not define.
6349 (LANG_HOOKS_SIGNED_TYPE): Likewise.
6350 (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Likewise.
6351
63522007-07-19 Jan Hubicka <jh@suse.cz>
6353
6354 * lto-read.c (lto_read_function_body): Produce empty scope block
6355 to avoid crash.
6356
63572007-07-18 Mark Mitchell <mark@codesourcery.com>
6358
6359 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Do not
6360 process local variables.
6361 (lto_read_subroutine_type_subprogram_DIE): Read child DIEs.
6362
3f8257db 63632007-07-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6364
6365 * lto-read.c (input_list, input_expr_operand): Added struct
6366 function parameter.
6367 (init_cfg, finalize_cfg): Removed function.
6368 (input_expr_operand): Added SSA_NAME and GIMPLE_MODIFY_STMT cases.
6369 (input_labels, input_local_vars): Now takes input_block parameter rather than
6370 synthsyzing it.
6371 (input_cfg, input_phi, input_ssa_names): New functions.
6372 (input_bb): Now passes in input_blocks. Does not construct cfg
6373 and processes the list of phi functions.
6374 (input_function): Now builds both the cfg and ssa_names table.
6375 (lto_read_function_body): Processes new header fields to construct
6376 streams for the ssa_names and cfg and their debugging.
ab20d992
JJ
6377 * lto-lang.c (lto_init): Set in_lto_p.
6378
6379
d7f09764
DN
63802007-06-28 Mark Mitchell <mark@codesourcery.com>
6381
6382 * lto.h (lto_file_vtable): Add read_var_init.
6383 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Read
6384 initializers.
6385 (lto_main): Remove bogus asserts.
6386 * lto-elf.c (tm.h): Include it.
6387 (libiberty.y): Likewise.
6388 (lto_elf_file): Add strtab and symtab. Rename
6389 string_table_section_index to sec_strtab.
6390 (lto_elf_file_vtable): Add lto_elf_read_var_init.
6391 (lto_elf_get_shdr): New function.
6392 (lto_elf_free_shdr): Likewise.
6393 (lto_elf_find_section_data): Use them.
6394 (lto_elf_read_symtab): New function.
6395 (lto_elf_lookup_sym): Likewise.
6396 (lto_elf_free_sym): Likewise.
6397 (lto_elf_file_open): Tidy. Call lto_elf_read_symtab.
6398 (lto_elf_built_init): New function.
6399 (lto_elf_read_var_init): Likewise.
6400 * Make-lang.in (lto/lto-elf.o): Depend on $(TM_H).
6401
3f8257db 64022007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6403
6404 * lto-read (make_new_block): Initialize the stmt_list.
6405 (lto_static_init_local): Add debugging for missing codes.
ab20d992 6406
d7f09764
DN
64072007-06-26 Mark Mitchell <mark@codesourcery.com>
6408
6409 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
ab20d992 6410 unprototyped functions.
d7f09764
DN
6411
64122007-06-23 Mark Mitchell <mark@codesourcery.com>
6413
6414 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
6415 Handle DW_AT_MIPS_linkage_name.
6416 (lto_read_subroutine_type_subprogram): Likewise. Correct
6417 compilation errors.
6418 (lto_main): Remove incorrect assertions.
6419 * lto-symbtab.c: Build function types out of TREE_LISTs.
6420
6421 * lto-elf.c (<libelf>): Check for HAVE_LIBELF_H.
ab20d992 6422
d7f09764 6423 * Make-lang.in (LTO_OBJS): Depend on attribs.o.
ab20d992 6424
3f8257db 64252007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 6426
ab20d992 6427 * lto-tree.h (lang_decl, lang_type, language_function): Added
d7f09764 6428 dummy since ggc does not like empty structs.
ab20d992
JJ
6429 * lto-elf.c (libelf.h): Changed to libelf/libelf.h.
6430 * lto-read.c (ADD_CLASS_FLAG, ADD_EXPR_FLAG): Changed
d7f09764
DN
6431 expr->common to expr->base.
6432 (make_new_block): Moved stmt_list to proper place.
6433
ab20d992 64342007-03-14 Robert Kennedy <jimbob@google.com>
d7f09764
DN
6435
6436 Eliminate use of lang_hooks.set_decl_assembler_name from LTO
6437 * lto.c (lto_read_subroutine_type_subprogram_DIE) Get DECL
6438 assembler name from DWARF.
6439 * lto-lang.c (lto_set_decl_assembler_name) New function.
6440
64412006-09-10 Mark Mitchell <mark@codesourcery.com>
6442
6443 * lto.h (lto_file_vtable): New structure.
6444 (lto_file): Add vtable pointer.
6445 (lto_file_init): Add vtable paramter.
6446 (lto_read_function_body): New function.
6447 (lto_symtab_merge_fn): New function.
6448 * lto.c (lto_file_init): Add vtable parameter.
6449 (lto_read_form): Fill in entries for DW_AT_prototyped,
6450 DW_AT_frame_base.
6451 (lto_read_subroutine_type_subprogram_DIE): New function.
6452 (lto_read_DIE): Fill in entries for DW_TAG_subroutine_type and
6453 DW_TAG_subprogram.
6454 * lto-elf.c (lto_elf_vile_vtable): New variable.
6455 (lto_elf_file_open): Pass it to lto_file_init.
6456 (lto_elf_map_fn_body): New function.
6457 (lto_elf_unmap_fn_body): Likewise.
6458 * lto-read.c: New file.
6459 * lto-symtab.c (lto_symtab_merge_fn): New function.
6460 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define to
6461 tree_rest_of_compilation.
6462 * Make-lang.in (LTO_OBJS): Add lto-read.o
6463 (lto-read.o): New target.
6464
64652006-09-03 Mark Mitchell <mark@codesourcery.com>
6466
6467 * lto.c (<inttypes.h>): Don't include it.
6468 (lto_context): Don't typedef it.
6469 (lto_resolve_reference): New function.
6470 (lto_read_form): Use it.
6471 (lto_resolve_type_ref): New function.
6472 (lto_resolve_var_ref): Likewise.
6473 (lto_resolve_fn_ref): Likewise.
6474 * lto.h (<inttypes.h>): Include it.
6475 (lto_context): New type.
6476 (lto_ref): New structure.
6477 (lto_resolve_type_ref): Declare.
6478 (lto_resolve_var_ref): Likewise.
6479 (lto_resolve_fn_ref): Likewise.
6480
64812006-08-18 Mark Mitchell <mark@codesourcery.com>
6482
6483 * lang-specs.h: New file.
6484
64852006-08-14 Mark Mitchell <mark@codesourcery.com>
6486
6487 * lto.c (lto_info_fd_init): Allocate the DIE cache.
6488 (lto_info_fd_close): Deallocate it.
6489 (lto_die_cache_entry): New structure.
6490 (lto_cache_hash): New function.
6491 (lto_cache_eq): Likewise.
6492 (lto_cache_store_DIE): Likewise.
6493 (lto_cache_lookup_DIE): Likewise.
6494 (lto_read_referenced_type_DIE): Use the cache.
6495 (lto_read_pointer_type_DIE): Robustify.
6496 (lto_read_DIE): Use the cache.
6497 * lto.h (hashtab.h): Include.
6498 (lto_info_fd): Add DIE cache.
6499 * Make-lang.in (LTO_H): New variable.
6500 (lto/lto-lang.o): Use LTO_H.
6501 (lto/lto-elf.o): Likewise.
6502 (lto/lto-symtab.o): Likewise.
6503
65042006-07-09 Mark Mitchell <mark@codesourcery.com>
6505
6506 * lto.c (lto_abi_mismatch_error): New function.
6507 (lto_abbrev_read): Initialize num_abbrevs.
6508 (lto_read_form): Specify allowed form classes for
6509 DW_AT_declaration. Adjust for change to lto_set_cu_context.
6510 (lto_read_variable_formal_parameter_constant_DIE): Handle
6511 DW_AT_declaration. Call lto_symtab_merge_var.
6512 (lto_read_pointer_type_DIE): New function.
6513 (lto_read_base_type_DIE): Use build_nonstandard_integer_type. Do
6514 not creat TYPE_DECLs for types that already have them.
6515 (lto_read_DIE): Add lto_read_pointer_type_DIE.
6516 (lto_set_cu_context): Make cu_start point to the header, not the
6517 first DIE.
6518 (lto_file_read): Adjust for change to lto_set_cu_context.
6519 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
6520 (lto/lto-symtab.o): New rule.
6521 * lto-tree.h (lang_identifier): Add decl field.
6522 (LANG_IDENTIFIER_CAST): New macro.
6523 (LTO_IDENTIFIER_DECL): Likewise.
6524 (lto_symtab_merge_var): Declare.
6525 * lto-symtab.c: New file.
6526
65272006-07-02 Daniel Berlin <dberlin@dberlin.org>
6528
6529 * lto.c (lto_context): Add current_cu and info_fd members.
6530 (DWARF2_CompUnit): New structure.
6531 (lto_read_DIE): Take lto_info_fd *.
6532 (lto_read_child_DIEs): Ditto.
6533 (lto_file_corrupt_error): Constify argument.
6534 (lto_set_cu_context): New function
6535 (lto_info_fd_init): Ditto.
6536 (lto_info_fd_close): Ditto.
6537 (lto_file_init): Use lto_info_fd_init.
6538 (lto_file_close): Use lto_info_fd_close.
6539 (lto_read_initial_length): Pass in pointer to header size.
6540 (lto_read_comp_unit_header): Correct cu_length to
6541 real length from beginning of header. Take lto_info_fd * as
6542 argument.
6543 (find_cu_for_offset): New function.
6544 (lto_read_form): Change first argument to lto_info_fd *.
6545 Add FORM_CONTEXT argument.
6546 Handle DW_FORM_ref_addr.
ab20d992 6547 (lto_read_tag_DIE): Change first argument to lto_info_fd *.
d7f09764
DN
6548 (LTO_BEGIN_READ_ATTRS_UNCHECKED): Save old context.
6549 Swap contexts if necessary for form.
6550 (LTO_BEGIN_READ_ATTRS): Cast fd to right type for
6551 lto_file_corrupt_error.
6552 (LTO_END_READ_ATTRS): Swap contexts back if it had changed.
6553 (lto_read_referenced_type_DIE): Change first argument to
6554 lto_info_fd *. Access lto_fd fields through base pointer.
6555 (lto_read_compile_unit_DIE): Change first argument to an
6556 lto_info_fd *.
6557 (lto_read_variable_formal_parameter_constant_DIE): Ditto.
6558 (lto_read_base_type_DIE): Ditto.
6559 (lto_read_child_DIEs): Ditto.
6560 (lto_read_DIE): Ditto. Change type of function pointer.
6561 (lto_info_read): New function.
6562 (lto_set_cu_context): Ditto.
6563 (lto_file_read): Use lto_info_read, walk resulting CU's
6564 (lto_main): Update for lto_info_fd change.
6565 * lto-elf.c (lto_elf_file_open): Cast lto_info_fd to lto_fd where
6566 necessary.
6567 * lto.h (DWARF2_CompUnit): New structure.
6568 (lto_info_fd): Ditto.
6569 (lto_file): Change debug_info to be an lto_info_fd.
ab20d992 6570
d7f09764
DN
65712006-06-25 Mark Mitchell <mark@codesourcery.com>
6572
6573 * lto.c (toplev.h): Include it.
6574 (dwarf2.h): Likewise.
6575 (tree.h): Likewise.
6576 (tm.h): Likewise.
6577 (cgraph.h): Likewise.
6578 (ggc.h): Likewise.
6579 (inttypes.h): Likewise.
6580 (DWARF2_attr): New type.
6581 (DWARF2_abbrev): Likewise.
6582 (DWARF2_class): Likewise.
6583 (DWARF2_form_data): Likewise.
6584 (lto_context): Likewise.
6585 (lto_fd_init): New function.
6586 (lto_abbrev_fd_init): Likewise.
6587 (lto_abbrev_fd_close): Likewise.
6588 (lto_file_init): Use them.
6589 (lto_file_close): New function.
6590 (lto_file_corrupt_error): Likewise.
6591 (LTO_CHECK_INT_VAL): New macro.
6592 (lto_check_size_t_val): New function.
6593 (lto_check_int_val): Likewise.
6594 (LTO_READ_TYPE): New macro.
6595 (lto_read_ubyte): New function.
6596 (lto_read_uhalf): Likewise.
6597 (lto_read_uword): Likewise.
6598 (lto_read_uleb128): Likewise.
6599 (lto_read_initial_length): Likewise.
6600 (lto_abbrev_read_attrs): Likewise.
6601 (lto_abbrev_read): Likewise.
6602 (lto_abbrev_lookup): Likewise.
6603 (lto_read_section_offset): Likewise.
6604 (lto_read_comp_unit_header): Likewise.
6605 (lto_read_form): Likewise.
6606 (LTO_BEGIN_READ_ATTRS_UNCHECKED): New macro.
6607 (LTO_BEGIN_READ_ATTRS): Likewise.
6608 (LTO_END_READ_ATTRS): Likewise.
6609 (lto_unsupported_attr_error): New function.
6610 (lto_get_identifier): Likewise.
6611 (lto_read_referenced_type_DIE): Likewise.
6612 (lto_read_compile_unit_DIE): Likewise.
6613 (lto_read_variable_formal_parameter_constant_DIE): Likewise.
6614 (lto_read_base_type_DIE): Likewise.
6615 (lto_read_DIE): Likewise.
6616 (lto_read_child_DIEs): Likewise.
6617 (lto_file_read): Read DIEs.
6618 (lto_main): Ask middle end to emit entities.
6619 * lto-tree.h (lang_identifier): Inherit from tree_identifier.
6620 * lto-elf.c (lto_elf_file_open): Adjust for interface changes.
6621 (lto_elf_file_close): Likewise.
6622 * lto.h (lto_file): Declare.
6623 (DWARF2_abbrev): Likewise.
6624 (lto_fd): New type.
6625 (lto_abbrev_fd): Likewise.
6626 (lto_file): Use new types.
6627 (lto_file_close): Declare.
6628 * lto-lang.c (lto_init): Always use unit-at-a-time mode.
ab20d992 6629
d7f09764
DN
66302006-06-18 Mark Mitchell <mark@codesourcery.com>
6631
6632 * lto.h: New file.
6633 * lto.c: New file.
6634 * lto-elf.c: New file.
6635 * lto-lang.c (flags.h): Include it.
6636 (lto.h): Likewise.
6637 (lto_init): New function.
6638 (lto_write_globals): Remove.
ab20d992 6639 (LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing.
d7f09764
DN
6640 (LANG_HOOKS_INIT): Define.
6641 (LANG_HOOKS_PARSE_FILE): Likewise.
6642 * Make-lang.in (LTO_OBJS): Add lto.o and lto-elf.o.
6643 (LTO_EXE): Link with libelf.
6644 (lto/lto-lang.o): Update dependencies.
6645 (lto/lto.o): New target.
6646 (lto/lto-elf.o): Likewise.
6647
66482006-06-12 Mark Mitchell <mark@codesourcery.com>
6649
6650 * config-lang.in: New file.
6651 * Make-lang.in: Likewise.
6652 * lto-tree.h: Likewise.
6653 * lto-lang.c: Likewise.
818ab71a 6654\f
877e3c2a 6655Copyright (C) 2006-2022 Free Software Foundation, Inc.
d7f09764 6656
818ab71a
JJ
6657Copying and distribution of this file, with or without modification,
6658are permitted in any medium without royalty provided the copyright
6659notice and this notice are preserved.