]> gcc.gnu.org Git - gcc.git/blame - gcc/lto/ChangeLog
c++: can't eval PTRMEM_CST in incomplete class [PR107574]
[gcc.git] / gcc / lto / ChangeLog
CommitLineData
5013c3bb
GA
12023-01-13 Richard Biener <rguenther@suse.de>
2
3 * lto-lang.cc (lto_type_for_mode): Sync with
4 c_common_type_for_mode.
5
faccda27
GA
62023-01-04 Jan Hubicka <hubicka@ucw.cz>
7
8 * lto-partition.cc (may_need_named_section_p): Clones with no body
9 need no remaning.
10
bbab9c83
GA
112022-12-29 Alexandre Oliva <oliva@adacore.com>
12
13 * lto-partition.cc (lto_1_to_1_map): Drop NULL partition
14 mapping.
15
40b8ac12
GA
162022-12-22 Richard Biener <rguenther@suse.de>
17
18 * lto-common.cc (compare_tree_sccs_1): Compare DECL_NOT_FLEXARRAY.
19
de282a20
GA
202022-12-21 Jan Hubicka <hubicka@ucw.cz>
21
22 * lto-common.cc (lto_resolution_read): With incremental linking
23 and whole program ignore turn LDPR_PREVAILING_DEF_IRONLY to
24 LDPR_PREVAILING_DEF_IRONLY_EXP
25 * lto-lang.cc (lto_post_options): Do not clear flag_whole_program
26 for incremental link
27
9a1b4f1d
GA
282022-11-25 Martin Liska <mliska@suse.cz>
29
30 PR lto/107829
31 * lto.cc (materialize_cgraph): Call timevar_push before
32 materialization starts.
33
f36bba01
GA
342022-10-29 Thomas Schwinge <thomas@codesourcery.com>
35
36 * lang.opt: Better separate 'LTO' vs. 'LTODump'.
37
3055829a
GA
382022-10-28 Joseph Myers <joseph@codesourcery.com>
39
40 * lto-common.cc (compare_tree_sccs_1): Compare
41 TYPE_NO_NAMED_ARGS_STDARG_P.
42
432022-10-28 Martin Liska <mliska@suse.cz>
44
45 * lto-dump.cc (dump_list): Remove trailing return.
46 (dump_symbol): Likewise.
47 (dump_body): Filter name based on mangled name.
48 (dump_tool_help): Use GIMPLE wording.
49 (lto_main): Update wording.
50
96069d84
GA
512022-10-27 Martin Liska <mliska@suse.cz>
52
53 PR lto/107418
54 * lto-dump.cc (lto_main): Do not load LTO stream for aliases.
55
d0fc05e8
GA
562022-09-15 Richard Biener <rguenther@suse.de>
57
58 * lto-lang.cc (lto_build_c_type_nodes): Do not initialize
59 void_list_node.
60
3b2e3fa3
GA
612022-08-22 Martin Liska <mliska@suse.cz>
62
63 PR lto/106700
64 * lto.cc (wait_for_child): Ask if we are connected to jobserver.
65 (stream_out_partitions): Likewise.
66
e1298640
GA
672022-08-10 Martin Liska <mliska@suse.cz>
68
69 PR lto/106328
70 * lto.cc (wait_for_child): Decrement nruns once a process
71 finishes.
72 (stream_out_partitions): Use job server if active.
73 (do_whole_program_analysis): Likewise.
74
0fe604a2
GA
752022-07-08 Martin Liska <mliska@suse.cz>
76
77 * lto-dump.cc (lto_main): Exit in the function
78 as we don't want any LTO bytecode processing.
79
9d3dd218
GA
802022-06-27 David Malcolm <dmalcolm@redhat.com>
81
82 * lto-dump.cc: Add "final" and "override" to various vfunc
83 implementations, removing redundant "virtual" as appropriate.
84
702bd11f
GA
852022-05-16 Martin Liska <mliska@suse.cz>
86
87 * lto-common.cc (lto_resolution_read): Use ARRAY_SIZE.
88 * lto-lang.cc (lto_init): Likewise.
89
d1ca63a1
GA
902022-03-23 Tobias Burnus <tobias@codesourcery.com>
91
92 PR middle-end/104285
93 * lto-partition.cc (maybe_rewrite_identifier): Use get_identifier
94 for the returned string to be usable as hash key.
95 (validize_symbol_for_target): Hence, use return value directly.
96 (privatize_symbol_name_1): Track maybe_rewrite_identifier renames.
97 * lto.cc (offload_handle_link_vars): Move function up before ...
98 (do_whole_program_analysis): Call it after static renamings.
99 (lto_main): Move call after static renamings.
100
3c1cbde1
GA
1012022-02-04 Richard Biener <rguenther@suse.de>
102
103 PR middle-end/90348
104 PR middle-end/104092
105 * lto-common.cc (compare_tree_sccs_1): Compare CLOBBER_KIND.
106
88944e13
GA
1072022-02-02 Martin Liska <mliska@suse.cz>
108
109 PR lto/104333
110 * lto-common.cc (read_cgraph_and_symbols): Move resolution
111 checking for number of files later and report a reasonable
112 error message.
113 * lto-object.cc (lto_obj_file_open): Make error fatal.
114
fc829782
GA
1152022-01-17 Martin Liska <mliska@suse.cz>
116
117 * config-lang.in: Rename .c names to .cc.
118 * lang-specs.h: Likewise.
119 * lto-common.cc (gimple_register_canonical_type_1): Likewise.
120 * lto-common.h: Likewise.
121 * lto-dump.cc (lto_main): Likewise.
122 * lto-lang.cc (handle_fnspec_attribute): Likewise.
123 (lto_getdecls): Likewise.
124 (lto_init): Likewise.
125 * lto.cc (lto_main): Likewise.
126 * lto.h: Likewise.
127
1282022-01-17 Martin Liska <mliska@suse.cz>
129
130 * common.c: Moved to...
131 * common.cc: ...here.
132 * lto-common.c: Moved to...
133 * lto-common.cc: ...here.
134 * lto-dump.c: Moved to...
135 * lto-dump.cc: ...here.
136 * lto-lang.c: Moved to...
137 * lto-lang.cc: ...here.
138 * lto-object.c: Moved to...
139 * lto-object.cc: ...here.
140 * lto-partition.c: Moved to...
141 * lto-partition.cc: ...here.
142 * lto-symtab.c: Moved to...
143 * lto-symtab.cc: ...here.
144 * lto.c: Moved to...
145 * lto.cc: ...here.
146
483092d3
GA
1472021-11-18 Jan Hubicka <hubicka@ucw.cz>
148
149 * lto-partition.c (promote_symbol): Clear semantic_interposition flag.
150
9defce62
GA
1512021-11-06 Jan Hubicka <hubicka@ucw.cz>
152
153 PR ipa/103070
154 PR ipa/103058
155 * lto-partition.c (must_not_rename): Update comment.
156 (promote_symbol): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
157
c2bd5d8a
GA
1582021-10-22 Eric Gallager <egallager@gcc.gnu.org>
159
160 PR other/102663
161 * Make-lang.in: Add dummy lto.install-dvi target.
162
cf966403
GA
1632021-09-27 Martin Liska <mliska@suse.cz>
164
165 * lto-lang.c (lto_init_options_struct): Set also
3d3b561f 166 x_flag_default_complex_method.
cf966403 167
7b739540
GA
1682021-09-03 Jakub Jelinek <jakub@redhat.com>
169
170 PR target/102024
171 * lto-common.c (compare_tree_sccs_1): Also compare
172 DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD values.
173
9f7c2bad
GA
1742021-09-02 liuhongt <hongtao.liu@intel.com>
175
176 * lto-lang.c (lto_type_for_mode): Return float16_type_node
177 when mode == TYPE_MODE (float16_type_node).
178
ee682192
GA
1792021-05-31 Martin Liska <mliska@suse.cz>
180
181 * lto-common.c (compare_tree_sccs_1): Compare
182 FUNCTION_DECL_DECL_TYPE.
183
637569df
GA
1842021-05-24 Wang Liushuai <wangliushuai@bytedance.com>
185
186 * lto-dump.c (get_size): Fix the NPD error about the thunk symbol.
187
ee351f7f
GA
1882021-04-15 Jan Hubicka <hubicka@ucw.cz>
189
190 PR lto/98599
191 * lto.c (lto_wpa_write_files): Fix handling of clones.
192
019a9220
GA
1932021-04-08 Martin Sebor <msebor@redhat.com>
194
195 PR middle-end/99883
196 * lto-lang.c (lto_post_options): Correct spelling.
197
2c83c3fb
GA
1982021-02-28 Jakub Jelinek <jakub@redhat.com>
199
200 PR c/99304
201 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Fix comment
202 typos - refernced -> referenced and
203 devirtualizaiton -> devirtualization.
204
eefe499f
GA
2052020-12-16 Martin Liska <mliska@suse.cz>
206
207 * lang.opt: Remove usage of Report.
208
82e5048e
GA
2092020-11-20 Jakub Jelinek <jakub@redhat.com>
210
211 PR other/97911
212 * Make-lang.in (lto1.serial, lto2.serial): Change from goals to
213 variables.
214 (.PHONY): Drop lto1.serial, lto2.serial, lto1.prev and lto2.prev.
215 ($(LTO_EXE)): Depend on $(lto1.serial) rather than lto1.serial.
216 ($(LTO_DUMP_EXE)): Depend on $(lto2.serial) rather than lto2.serial.
217
25bb75f8
GA
2182020-11-18 Jerry Clcanny <a837940593@gmail.com>
219
220 * lto-symtab.c (lto_symtab_merge_symbols): Fix typos in comment.
221
2222020-11-18 Jakub Jelinek <jakub@redhat.com>
223
224 * Make-lang.in (lto, lto1.serial, lto2.serial): New goals.
225 (.PHONY): Add lto lto1.serial lto1.prev lto2.serial lto2.prev.
226 (lto.all.cross, lto.start.encap): Remove dependencies.
227 ($(LTO_EXE)): Depend on lto1.prev. Call LINK_PROGRESS.
228 ($(LTO_DUMP_EXE)): Depend on lto2.prev. Call LINK_PROGRESS.
229
4dabb037
GA
2302020-11-17 Jan Hubicka <jh@suse.cz>
231
232 PR bootstrap/97857
233 * lto-common.c (gimple_register_canonical_type_1): Only
234 register types with TYPE_CXX_ODR_P flag; sanity check that no
235 conflict happens at ltrans time.
236
44cab2d8
GA
2372020-11-06 Nathan Sidwell <nathan@acm.org>
238
239 * lto-symtab.c (lto_symtab_merge_decls_1): Rename
240 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
241
e93aae4a
GA
2422020-10-28 Jakub Jelinek <jakub@redhat.com>
243
244 PR lto/96680
245 * lto-common.c (lto_fixup_prevailing_decls): Don't use
246 LTO_NO_PREVAIL on TREE_LIST's TREE_PURPOSE.
247 * lto-partition.c (lto_balanced_map): Treat declare_variant_alt
248 nodes like definitions.
249
efe71fcc
GA
2502020-10-23 Jan Hubicka <hubicka@ucw.cz>
251
252 * lto-partition.c (add_symbol_to_partition_1): Update for new thunk
253 api.
254
8b394f01
GA
2552020-08-27 Martin Liska <mliska@suse.cz>
256
257 * lto-common.c (lto_file_finalize): Set exact argument of a vector
258 growth function to true.
259
9a5b7438
GA
2602020-06-03 Jan Hubicka <hubicka@ucw.cz>
261
262 * lto-common.c (compare_tree_sccs_1): Do not compare TYPE_VALUES.
263
bcb63eb2
JH
2642020-05-22 Jan Hubicka <hubicka@ucw.cz>
265
266 * lto-common.c (lto_read_decls): Do not skip stray refs.
267
03d90a20
JH
2682020-05-20 Jan Hubicka <hubicka@ucw.cz>
269
270 * lto-common.c (compare_tree_sccs_1): Sanity check that we never
271 read TRANSLATION_UNIT_DECL.
272 (process_dref): Break out from ...
273 (unify_scc): ... here.
274 (process_new_tree): Break out from ...
275 (lto_read_decls): ... here; handle streaming of singleton trees.
276 (print_lto_report_1): Update statistics.
277
eb72dc66
RB
2782020-05-07 Richard Biener <rguenther@suse.de>
279
280 PR middle-end/94703
281 * lto-common.c (compare_tree_sccs_1): Compare
282 DECL_NOT_GIMPLE_REG_P.
283
575ac27f
JJ
2842020-04-29 Jakub Jelinek <jakub@redhat.com>
285
286 PR target/94707
287 * lto-common.c (compare_tree_sccs_1): Handle DECL_FIELD_ABI_IGNORED.
288
b835645c
ML
2892020-04-17 Martin Liska <mliska@suse.cz>
290
291 PR lto/94612
292 * lto-common.c: Initialize file_data->lto_section_header
293 before lto_mode_identity_table call. It is needed because
294 it decompresses a LTO section.
295
70df40ca
ML
2962020-04-08 Martin Liska <mliska@suse.cz>
297
298 PR c++/94314
299 * lto-common.c (compare_tree_sccs_1): Compare also
300 DECL_IS_REPLACEABLE_OPERATOR.
301
158cccea
JJ
3022020-03-25 Jakub Jelinek <jakub@redhat.com>
303
304 PR c++/94223
305 * lto-lang.c (lto_set_decl_assembler_name): Use a static ulong
306 counter instead of DECL_UID.
307
c2211a60
TB
3082020-03-24 Tobias Burnus <tobias@codesourcery.com>
309
310 PR libgomp/81689
311 * lto.c (offload_handle_link_vars): Propagate TREE_PUBLIC state.
312
ce641308
TB
3132020-01-29 Tobias Burnus <tobias@codesourcery.com>
314
315 * lto.c (offload_handle_link_vars): Reduce chance of
316 naming clashes of generated linkptr variable.
317
b809f0b6
TB
3182020-01-29 Tobias Burnus <tobias@codesourcery.com>
319
320 PR middle-end/94233
321 * lto.c (offload_handle_link_vars): Cleanup; call
322 build_decl to ensure alignment is set.
323
27736735
ML
3242020-02-05 Martin Liska <mliska@suse.cz>
325
326 PR lto/93489
327 * lto-dump.c (dump_list_functions): Do not
328 load body for aliases.
329 (dump_body): Likewise here.
330
f48c6014
ML
3312020-01-16 Martin Liska <mliska@suse.cz>
332
333 * lto-partition.c (lto_balanced_map): Remember
334 best_noreorder_pos and then restore to it
335 when we revert.
336
3629ff8a
ML
3372020-01-08 Martin Liska <mliska@suse.cz>
338
339 * lto-partition.c (add_symbol_to_partition_1): Use ::dump_name or
340 ::dump_asm_name instead of (::name or ::asm_name).
341 (lto_balanced_map): Likewise.
342 (promote_symbol): Likewise.
343 (rename_statics): Likewise.
344 * lto.c (lto_wpa_write_files): Likewise.
345
d597b944
ML
3462020-01-08 Martin Liska <mliska@suse.cz>
347
348 * lto-partition.c (lto_balanced_map): Use symtab_node::dump_name.
349
8d9254fc
JJ
3502020-01-01 Jakub Jelinek <jakub@redhat.com>
351
352 Update copyright years.
353
40ebe1fc
JH
3542019-12-19 Jan Hubicka <hubicka@ucw.cz>
355 Xi Ruoyao <xry111@mengyan1223.wang>
356
357 * lto-common.c (read_cgraph_and_symbols): Work around binutils
358 PR25424
359
6d8fd122 3602019-12-07 Jan Hubicka <hubicka@ucw.cz>
5b8d9367 361
59c7b29e
JH
362 * lto-partition.c (lto_balanced_map): Fix printing of tp_first_run.
363
3642019-12-10 Jan Hubicka <hubicka@ucw.cz>
365
6d8fd122
JH
366 * lto-partition.c (node_cmp): Turn into simple order comparsions.
367 (varpool_node_cmp): Remove.
368 (add_sorted_nodes): Use node_cmp.
369 (lto_balanced_map): Use tp_first_run_node_cmp.
370
59c7b29e
JH
3712019-11-25 Joseph Myers <joseph@codesourcery.com>
372
5b8d9367
JM
373 PR c/91985
374 * lto-lang.c (lto_type_for_mode): Handle decimal floating-point
375 types being NULL_TREE.
376
9fd052e7
JH
3772019-11-22 Jan Hubicka <jh@suse.cz>
378
379 * lto.c (lto_wpa_write_files): Call memory_block_pool::trim.
380
e61d0e4e
ML
3812019-11-14 Martin Liska <mliska@suse.cz>
382
383 * Make-lang.in: Remove wrong dependency
384 of LTO_DUMP_EXE on LTO_EXE.
385
0c29cac4
ML
3862019-11-12 Martin Liska <mliska@suse.cz>
387
388 * lto-common.c: Do not include params.h.
389 * lto-partition.c: Likewise.
390 * lto.c: Likewise.
391
028d4092
ML
3922019-11-12 Martin Liska <mliska@suse.cz>
393
394 * lto-partition.c (lto_balanced_map): Replace old parameter syntax
395 with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET
396 macro.
397 * lto.c (do_whole_program_analysis): Likewise.
398
fe1d1a8b
ML
3992019-11-11 Martin Liska <mliska@suse.cz>
400
401 * Make-lang.in: Relax dependency of lto-dump.o to
402 LTO_OBJS which will allow faster linking (mainly with LTO).
403
c38ee9a2
JH
4042019-11-07 Jan Hubicka <hubicka@ucw.cz>
405
406 * lto.c (do_whole_program_analysis): Call lto_free_file_name_hash.
407
c9ef0409
JH
4082019-11-02 Jan Hubicka <hubicka@ucw.cz>
409
410 * lto-common.c (read_cgraph_and_symbols): Improve -Q reporting.
411 * lto.c (lto_wpa_write_files): Likewise.
412
6773658a
JJ
4132019-10-31 Jakub Jelinek <jakub@redhat.com>
414
415 PR middle-end/92231
416 * lto-lang.c (handle_const_attribute): Don't call fndecl_built_in_p
417 on *node that is not FUNCTION_DECL.
418
3c56d8d8
ML
4192019-10-30 Martin Liska <mliska@suse.cz>
420
421 PR lto/91393
422 PR lto/88220
423 * lto-common.c (lto_file_finalize): Use lto_get_summary_section_data.
424 (get_section_data): Add order argument.
425
3518424d
ML
4262019-10-29 Martin Liska <mliska@suse.cz>
427
428 * lto.c (do_whole_program_analysis): Pass
429 title as dump_memory_report argument.
430
c5281d50
ML
4312019-10-29 Martin Liska <mliska@suse.cz>
432
433 * lto.c (do_whole_program_analysis): Remove argument.
434
f658ad30
JH
4352019-10-24 Jan Hubicka <hubicka@ucw.cz>
436
437 * lto-partition.c (add_symbol_to_partition_1): Update.
438 (undo_parittion): Update.
439
ebad2eee
JH
4402019-10-23 Jan Hubicka <hubicka@ucw.cz>
441
442 * lto-common.c (lto_file_finalize): Add order attribute.
443 (lto_create_files_from_ids): Pass order.
444 (lto_file_read): UPdate call of lto_create_files_from_ids.
445
7cc47709
JH
4462019-10-12 Jan Hubicka <hubicka@ucw.cz>
447
448 * lto-common.c (read_cgraph_and_symbols): Grow ggc memory use after
449 summary streaming.
450
f8cf94cd
JH
4512019-10-12 Jan Hubicka <hubicka@ucw.cz>
452
453 * lto.c (lto_wpa_write_files): Do not update bodies of clones.
454
e5207f1a
JH
4552019-10-11 Jan Hubicka <hubicka@ucw.cz>
456
457 * lto.c (lto_wpa_write_files): Call ggc_trim.
458
1fcf52a6
JH
4592019-10-11 Jan Hubicka <hubicka@ucw.cz>
460
461 * lto.c (lto_wpa_write_files): Prepare all bodies for streaming.
462
9142736e
RB
4632019-10-10 Richard Biener <rguenther@suse.de>
464
465 * lto-common.c (unify_scc): Do not merge anonymous NAMESPACE_DECLs.
466
0fa00483
JM
4672019-10-04 Joseph Myers <joseph@codesourcery.com>
468
469 * lto-lang.c (flag_isoc2x): New variable.
470
a3d09469
RB
4712019-09-18 Richard Biener <rguenther@suse.de>
472
473 PR lto/91763
474 * lto.c (lto_materialize_function): Initialize EH by looking
475 at the function personality and flag_exceptions setting.
476
df375b03
JJ
4772019-08-23 Jakub Jelinek <jakub@redhat.com>
478
479 PR middle-end/91283
480 * lto-lang.c (lto_post_options): Set flag_excess_precision instead of
481 flag_excess_precision_cmdline. Remove comment.
482
4d732405
RS
4832019-08-13 Richard Sandiford <richard.sandiford@arm.com>
484
485 PR middle-end/91421
486 * lto-common.c (compare_tree_sccs_1): Use DECL_UNCHECKED_FUNCTION_CODE
487 instead of DECL_FUNCTION_CODE.
488 * lto-symtab.c (lto_symtab_merge_p): Likewise.
489
6e42c90c
BE
4902019-08-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
491
492 * Make-lang.in (lto.install-common): Remove unnecessary slash
493 between $(DESTDIR) and $(bindir).
494
cb50701e
ML
4952019-07-25 Martin Liska <mliska@suse.cz>
496
497 * lto-common.c (compare_tree_sccs_1): Use new macros
498 (e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
499
34e64622
GB
5002019-07-22 Giuliano Belinassi <giuliano.belinassi@usp.br>
501
502 * lang.opt (flag_dump_callgraph): New flag.
503 * lto-dump.c (dump_symtab_graphviz): New function.
504 (dump_tool_help): New option.
505 (lto_main): Handle graphviz dumping.
506
b01659aa
JH
5072019-07-18 Jan Hubicka <hubicka@ucw.cz>
508
509 * lto-common.c (gimple_register_canonical_type_1): Do not look for
510 non-ODR conflicts of types in anonymous namespaces.
511 (unify_scc): Do not merge anonymous namespace types.
512
99b1c316
MS
5132019-07-09 Martin Sebor <msebor@redhat.com>
514
515 PR c++/61339
516 * lto-common.c (lto_splay_tree_new): : Change class-key of PODs
517 to struct and others to class.
518 (mentions_vars_p): Same.
519 (register_resolution): Same.
520 (lto_register_var_decl_in_symtab): Same.
521 (lto_register_function_decl_in_symtab): Same.
522 (cmp_tree): Same.
523 (lto_read_decls): Same.
524
6c1dae73
MS
5252019-07-09 Martin Sebor <msebor@redhat.com>
526
527 PR c++/61339
528 * lto-dump.c: Change class-key from class to struct and vice versa
529 to match convention and avoid -Wclass-is-pod and -Wstruct-no-pod.
530
70980ea2
ML
5312019-07-04 Martin Liska <mliska@suse.cz>
532
533 PR lto/91078
534 * lto-common.c (lto_file_finalize): Use memcpy to set
535 file_data->lto_section_header.
536
88614dfa
ML
5372019-07-03 Martin Liska <mliska@suse.cz>
538
539 * lto-common.c: Read LTO section and verify header.
540
606a9a8c
JH
5412019-06-27 Jan Hubicka <jh@suse.cz>
542
543 * lto-common.c (lto_register_canonical_types_for_odr_types):
544 Copy CXX_ODR_P from the main variant.
545
85693eef
JH
5462019-06-27 Jan Hubicka <jh@suse.cz>
547
548 * lto-common.c: tree-pretty-print.h
549 (type_streaming_finished): New static var.
550 (gimple_register_canonical_type_1): Return updated hash; handle ODR
551 types.
552 (iterative_hash_canonical_type): Update use of
553 gimple_register_canonical_type_1.
554
c2f7a665
ML
5552019-06-27 Martin Liska <mliska@suse.cz>
556
557 * lto-dump.c (struct symbol_entry): Add default dtor.
558 (struct variable_entry): Likewise.
559 (struct function_entry): Likewise.
560 (dump_list_functions): Release memory.
561 (dump_list_variables): Likewise.
562
ab20d992
JJ
5632019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
564
565 * lto-lang.c (lto_build_c_type_nodes): Accept "__intN__"
566 format of "__intN" types for SIZE_TYPE.
567
f4af4019
JH
5682019-06-24 Jan Hubicka <jh@suse.cz>
569
570 * lto-common.c (compare_tree_sccs_1): Compare CXX_ODR_P;
571 compare STRING_FLAG only for arrays and integers.
572
0ecf545c
MS
5732019-06-05 Martin Sebor <msebor@redhat.com>
574
575 * lto-common.c (lto_file_finalize): Adjust quoting and hyphenation.
576
a9c697b8
MS
5772019-05-16 Martin Sebor <msebor@redhat.com>
578
ab20d992
JJ
579 * lto-dump.c (lto_main): Same.
580 * lto.c (stream_out): Same.
a9c697b8 581
38613b9b
ML
5822019-05-10 Martin Liska <mliska@suse.cz>
583
584 * Make-lang.in: Use program_transform_name for lto-dump.
585 * config-lang.in: Do not mark lto-dump compiler as we don't
586 want to have it installed at
587 lib/gcc/x86_64-pc-linux-gnu/10.0.0/lto-dump.
588
03de2955
RO
5892019-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
590
591 * lto-common.c (lto_file_read): Print section->start as int64_t,
592 section->len as uint64_t.
593 * lto-dump.c (symbol_entry::dump): Print sz as uint64_t.
594
ee7a003f
ML
5952019-05-06 Martin Liska <mliska@suse.cz>
596
597 * lto-common.c: Update coding style.
598 * lto.c (materialize_cgraph): Likewise.
599
66d62d9f
HK
6002019-05-06 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
601 Martin Liska <mliska@suse.cz>
602
603 * Make-lang.in: Add lto_dump-related definition.
604 * config-lang.in: Likewise.
605 * lang.opt: Add new language LTODump and options related
606 to LTO dump tool.
607 * lto-common.c (lto_read_decls): Support type statistics dump.
608 (lto_file_read): Likewise for object files.
609 * lto-dump.c: New file.
610 * lto-lang.c (lto_option_lang_mask): Move from ..
611 * lto.c (lto_option_lang_mask): .. here.
612 * lto.h (lto_option_lang_mask): New declaration.
613
a79420f9
ML
6142019-05-06 Martin Liska <mliska@suse.cz>
615 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
616
617 * Make-lang.in: Add lto-common.o.
618 * config-lang.in: Likewise for gtfiles.
619 * lto-common.c: New file.
620 * lto-common.h: New file.
621 * lto-lang.c: Include lto-common.h.
622 * lto.c: Move most of the functionality
623 into lto-common.c file.
624
0c7f51e4
JH
6252019-04-12 Jan Hubicka <hubicka@ucw.cz>
626
627 * lto.c (do_stream_out): rename to ...
628 (stream_out): ... this one; move original code to ...
629 (stream_out_partitions_1, stream_out_partitions): ... these new
630 functions.
631 (lto_wpa_write_files): Honnor lto_parallelism
632
303389b1
ML
6332019-03-26 Martin Liska <mliska@suse.cz>
634
635 * lto-symtab.c (lto_symtab_merge_decls_2): Fix option name
139fc820 636 wrapping.
303389b1 637
a3f9f006
ML
6382019-03-11 Martin Liska <mliska@suse.cz>
639
640 * lto-lang.c (lto_post_options): Wrap an option name
641 in a string format message and fix GNU coding style.
642 * lto-symtab.c (lto_symtab_merge_decls_2): Likewise.
643
04e5c73d
JJ
6442019-03-09 Jakub Jelinek <jakub@redhat.com>
645
646 PR target/79645
647 * lang.opt: Terminate description text with a dot.
648
80f52b40
JM
6492019-02-28 Jason Merrill <jason@redhat.com>
650
651 PR c++/88049 - ICE with undefined destructor and anon namespace.
652 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Return early
653 for a type in an anonymous namespace.
654
67914693
SL
6552019-01-09 Sandra Loosemore <sandra@codesourcery.com>
656
657 PR other/16615
658
659 * lto-partition.c: Mechanically replace "can not" with "cannot".
660 * lto-symtab.c: Likewise.
661 * lto.c: Likewise.
662
a5544970
JJ
6632019-01-01 Jakub Jelinek <jakub@redhat.com>
664
665 Update copyright years.
666
d840d7a2
JH
6672018-12-24 Jan Hubicka <hubicka@ucw.cz>
668
669 * lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations
670 for method whose basetype was already reported.
671
ed1b53a0
MP
6722018-11-30 Michael Ploujnikov <michael.ploujnikov@oracle.com>
673
674 Minimize clone counter memory usage in LTO.
675 * lto-partition.c (privatize_symbol_name_1): Keep track of
676 non-unique symbol counters in the lto_clone_numbers hash
677 map.
678 (lto_promote_cross_file_statics): Allocate and free the
679 lto_clone_numbers hash map.
680 (lto_promote_statics_nonwpa): Free the lto_clone_numbers hash
681 map.
682
ad42aa96
JH
6832018-11-28 Jan Hubicka <jh@suse.cz>
684
685 * lto.c (lto_read_decls): Fix handling of INTEGER_CST.
686
d7dce787
JH
6872018-11-22 Jan Hubicka <jh@suse.cz>
688
689 * lto.c (cmp_type_location): Remove.
690 (lto_read_decls): Do not allocate odr_types.
691
f615cb16
ML
6922018-11-19 Martin Liska <mliska@suse.cz>
693
694 PR lto/88077
695 * lto-symtab.c (lto_symtab_merge): Transform the
696 condition before r256989.
697
12eac232
ML
6982018-11-16 Martin Liska <mliska@suse.cz>
699
700 PR lto/88004
701 * lto-symtab.c (lto_symtab_merge_symbols_1): Do not call
702 lto_symtab_symbol_p as it does checking of transparent alias.
703 These needs to be also merged in the function.
704
7958186b
MP
7052018-10-30 Michael Ploujnikov <michael.ploujnikov@oracle.com>
706
707 * lto-partition.c (privatize_symbol_name_1): Use
3d3b561f 708 clone_function_name_numbered.
7958186b 709
abb967da
JH
7102018-10-26 Jan Hubicka <jh@suse.cz>
711
ab20d992 712 * lto-symtab.c (lto_symtab_merge_decls_2): Fix extra space.
abb967da 713
033eb567
DM
7142018-10-17 David Malcolm <dmalcolm@redhat.com>
715
716 * Make-lang.in (selftest-lto): New.
717
9ed6dbee
ML
7182018-08-29 Martin Liska <mliska@suse.cz>
719
720 PR bootstrap/87130
721 * lto.c (read_cgraph_and_symbols): Fix thinko, revert
722 to behavior before r263887.
723
3d78e008
ML
7242018-08-27 Martin Liska <mliska@suse.cz>
725
726 * lto-lang.c (handle_const_attribute): Use new function
92a285c1
ML
727 fndecl_built_in_p and remove check for FUNCTION_DECL if
728 possible.
3d78e008
ML
729 * lto-symtab.c (lto_symtab_merge_p): Likewise.
730 (lto_symtab_merge_decls_1): Likewise.
731 (lto_symtab_merge_symbols): Likewise.
732 * lto.c (lto_maybe_register_decl): Likewise.
733 (read_cgraph_and_symbols): Likewise.
734
efd9eb29
TV
7352018-08-21 Tom de Vries <tdevries@suse.de>
736
ab20d992 737 * lto.c (lto_main): Call debuginfo_early_start and
efd9eb29
TV
738 debuginfo_early_stop.
739
00abf86c
MS
7402018-07-20 Martin Sebor <msebor@redhat.com>
741
742 PR middle-end/82063
743 * lto-lang.c (lto_handle_option): Change function argument
744 to HOST_WIDE_INT.
745
efe0e6cd
RB
7462018-07-20 Richard Biener <rguenther@suse.de>
747
748 PR debug/86585
749 * lto.c (unify_scc): Before we throw away an SCC see if we
750 can amend prevailing single-entry SCC with debug refs.
751
814f3331
JH
7522018-07-13 Jan Hubicka <hubicka@ucw.cz>
753
754 * lto.c (do_stream_out): Add PART parameter; open dump file.
755 (stream_out): Add PART parameter; pass it to do_stream_out.
756 (lto_wpa_write_files): Update call of stream_out.
757
c518c102
ML
7582018-07-04 Martin Liska <mliska@suse.cz>
759
760 PR middle-end/66240
761 PR target/45996
762 PR c/84100
763 * lto.c (compare_tree_sccs_1): Use cl_optimization_option_eq
764 instead of memcmp.
765
b54006ae
ML
7662018-06-20 Martin Liska <mliska@suse.cz>
767
768 * lto-symtab.c (lto_symtab_merge_p): Remove not valid
92a285c1 769 FIXME comment.
b54006ae 770
56f62793
ML
7712018-06-19 Martin Liska <mliska@suse.cz>
772
773 * lto-partition.c (add_symbol_to_partition_1): Use symbol_summary::get instead
92a285c1 774 of get_create.
56f62793
ML
775 (undo_partition): Likewise.
776 (lto_balanced_map): Likewise.
777
1724941e
ML
7782018-06-19 Martin Liska <mliska@suse.cz>
779
780 * config-lang.in: Remove stagestuff.
781
29a50dfb
JH
7822018-06-08 Jan Hubicka <hubicka@ucw.cz>
783
784 * lto-lang.c (lto_link_dump_id, decl_merge_dump_id, partition_dump_id):
785 New global vars.
786 (lto_register_dumps): New hook.
787 (LANG_HOOKS_REGISTER_DUMPS): New.
788 * lto-partition.c: Dump into dump_file instead of symtab->dump_file.
789 * lto-symtab.c: Include lto.h; dump into dump_file instead of
790 symtab->dump_file.
791 (lto_symtab_merge_decls): Initialize dump file.
792 * lto.c (read_cgraph_and_symbols): Initialize dump file.
793 (do_whole_program_analysis): Likewise.
794
74644756
ML
7952018-06-08 Martin Liska <mliska@suse.cz>
796
797 * lto-partition.c (lto_balanced_map): Use cgraph_node::uid
798 instead of summary_uid.
799
99353fcf
ML
8002018-06-08 Martin Liska <mliska@suse.cz>
801
802 * lto-partition.c (add_symbol_to_partition_1): Use get_create instead
803 of get.
804 (undo_partition): Likewise.
805 (lto_balanced_map): Likewise.
806
31db0fe0
ML
8072018-06-08 Martin Liska <mliska@suse.cz>
808
809 * lto-partition.c (add_references_to_partition): Remove support
810 for MPX (macros, related functions, fields in cgraph_node, ...).
811 (add_symbol_to_partition_1): Likewise.
812 (privatize_symbol_name): Likewise.
813 * lto-symtab.c (lto_cgraph_replace_node): Likewise.
814
f115c9b5
RB
8152018-06-05 Richard Biener <rguenther@suse.de>
816
817 * lto.c (cmp_type_location): Expand locations only once.
818
5b42d196
JH
8192018-05-30 Jan Hubicka <hubicka@ucw.cz>
820
821 * lang.opt (lto_linker_output): Add nolto-rel.
822 * lto-lang.c (lto_post_options): Handle LTO_LINKER_OUTPUT_REL
823 and LTO_LINKER_OUTPUT_NOLTOREL.
824 (lto_init): Generate lto when doing incremental link.
825 * lto.c (lto_precess_name): Add lto1-inclink.
826
ab168044
JH
8272018-05-18 Jan Hubicka <jh@suse.cz>
828
829 PR lto/85583
830 * lto-partition.c (account_reference_p): Do not account
831 references from aliases; do not account refernces from
832 external initializers.
833
b6e33d73
JH
8342018-04-30 Jan Hubicka <jh@suse.cz>
835
836 * lto.c (cmp_partitions_size): Remove.
837 (lto_wpa_write_files): Also output priorities; do not sort partitions.
838 (cmp_partition_order): Move to ...
839 * lto-partition.c (cmp_partition_order): ...
840 (lto_1_to_1_map): Sort partitions.
841
e693ebce
JH
8422018-04-20 Jan Hubicka <jh@suse.cz>
843
844 * lto-partition.c (lto_balanced_map): Fix sanity check.
845
ddb0b824
JH
8462018-04-19 Jan Hubicka <jh@suse.cz>
847
848 * lto-partition.c: Include sreal.h
849 (add_symbol_to_partition_1): Use size instead of self_size
850 for size estimate.
851 (account_reference_p): New.
852 (lto_balanced_map): Use 64bit arithmetics for size calculatoins; cleanup;
853 fix accounting errors in boundary size; add debug output; combine cost
854 as cost/size instead of cost/internal; reduce the partitioning error to
855 +- 1/8 of the parttion size.
856
1781a04f
ML
8572018-04-19 Martin Liska <mliska@suse.cz>
858
859 * lto-symtab.c (lto_symtab_resolve_symbols): Do not bail out
860 for multiple PREVAILING_DEF_IRONLY for common symbols.
861
6867cd69
ML
8622018-04-18 Martin Liska <mliska@suse.cz>
863
864 * lto.c (lto_read_decls): Fix GNU coding style and typos.
865
af597536
ML
8662018-04-18 Martin Liska <mliska@suse.cz>
867
868 PR ipa/83983
869 PR ipa/85391
870 * lto.c (cmp_type_location): New function.
871 (lto_read_decls): First collect all types, then
872 sort them according by location before register_odr_type
873 is called.
874
7d6051b1
JH
8752018-04-18 Jan Hubicka <jh@suse.cz>
876 Martin Liska <mliska@suse.cz>
877
878 PR lto/85391
879 * lto.c (lto_read_decls): Do not test TYPE_CANONICAL before registering odr
880 types.
881
23d87577
ML
8822018-04-11 Martin Liska <mliska@suse.cz>
883
884 * lto-symtab.c (lto_symtab_merge_p): Use attribute_value_equal
885 function.
886
c16833dc
ML
8872018-04-10 Martin Liska <mliska@suse.cz>
888
889 PR lto/85248
890 * lto-symtab.c (lto_symtab_merge_p): Do not check for
891 TREE_VALUES of error attributes.
892
8d96e546
ML
8932018-04-10 Richard Biener <rguenther@suse.de>
894 Martin Liska <mliska@suse.cz>
895
896 PR lto/85248
897 * lto-symtab.c (lto_symtab_merge_p): Handle noreturn attribute.
898
97bb4812
JH
8992018-02-08 Jan Hubicka <hubicka@ucw.cz>
900
901 * lto-partition.c (lto_balanced_map): Watch overflow.
902
39aa9b23
JH
9032018-02-08 Jan Hubicka <hubicka@ucw.cz>
904
905 PR ipa/81360
906 * lto.c (unify_scc): Register prevailing trees, not trees to be freed.
907 (read_cgraph_and_symbols): Use
908 symtab_node::output_to_lto_symbol_table_p.
909
26a823f0
JH
9102018-01-30 Jan Hubicka <hubicka@ucw.cz>
911
912 * lto.c (register_resolution): Remove forgotten sanity check.
913
43fbc2e9
JH
9142018-01-30 Jan Hubicka <hubicka@ucw.cz>
915
916 PR lto/81004
917 * lto.c: Include builtins.h
918 (register_resolution): Merge resolutions in case trees was
919 merged across units.
920 (lto_maybe_register_decl): Break out from ...
921 (lto_read_decls): ... here.
922 (unify_scc): Also register decls here.
923 (read_cgraph_and_symbols): Sanity check that all resolutions was
924 read.
925
ee034d31
EB
9262018-02-02 Eric Botcazou <ebotcazou@adacore.com>
927
928 PR lto/83954
929 * lto-symtab.c (warn_type_compatibility_p): Do not recurse into the
930 component type of array types with non-aliased component.
931
44c945e6
JH
9322018-01-30 Jan Hubicka <hubicka@ucw.cz>
933
934 PR lto/83954
935 * lto-symtab.c (warn_type_compatibility_p): Silence false positive
936 for type match warning on arrays of pointers.
937
cde9b2f8
ML
9382018-01-23 Martin Liska <mliska@suse.cz>
939
940 PR lto/81440
941 * lto-symtab.c (lto_symtab_merge): Handle and do not warn about
942 trailing arrays at the end of a struct.
943
5c0caeb3
RS
9442018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
945 Alan Hayward <alan.hayward@arm.com>
946 David Sherwood <david.sherwood@arm.com>
947
948 * lto-lang.c (lto_type_for_mode): Handle MODE_VECTOR_BOOL.
949
928686b1
RS
9502018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
951 Alan Hayward <alan.hayward@arm.com>
952 David Sherwood <david.sherwood@arm.com>
953
954 * lto-lang.c (lto_type_for_mode): Check valid_vector_subparts_p.
955 * lto.c (hash_canonical_type): Handle polynomial TYPE_VECTOR_SUBPARTS.
956
85ec4feb
JJ
9572018-01-03 Jakub Jelinek <jakub@redhat.com>
958
959 Update copyright years.
960
4849deb1
JJ
9612017-12-15 Jakub Jelinek <jakub@redhat.com>
962
963 * lto-lang.c (lto_attribute_table, lto_format_attribute_table): Swap
964 affects_type_identity and handler fields, adjust comments.
965
734914b6
RS
9662017-12-07 Richard Sandiford <richard.sandiford@arm.com>
967
968 * lto.c (compare_tree_sccs_1): Compare the new VECTOR_CST flags.
969
5d9ae53d
MS
9702017-12-07 Martin Sebor <msebor@redhat.com>
971
972 PR c/81544
973 * lto-lang.c (lto_attribute_table): Initialize new member of struct
974 attribute_spec.
975
5de73c05
JJ
9762017-11-30 Jakub Jelinek <jakub@redhat.com>
977
978 * lto.c (create_subid_section_table): Use ; instead of ;;.
979
974aedcc
MP
9802017-11-22 Marek Polacek <polacek@redhat.com>
981
982 PR c++/60336
983 PR middle-end/67239
984 PR target/68355
985 * lto.c (compare_tree_sccs_1): Compare TYPE_EMPTY_P and DECL_PADDING_P.
986
1bad9c18
JH
9872017-11-10 Jan Hubicka <hubicka@ucw.cz>
988
989 * lto-partition.c (lto_balanced_map): Use frequency accessor.
990
65991ea3
JH
9912017-10-13 Jan Hubicka <hubicka@ucw.cz>
992
993 * lto-lang.c (lto_post_options): Clean shlib flag when not doing PIC.
994
4e7d0260
NS
9952017-10-11 Nathan Sidwell <nathan@acm.org>
996
997 * lto.c (mentions_vars_p_decl_with_vis): Use
998 DECL_ASSEMBLER_NAME_RAW.
999 (lto_fixup_prevailing_decls): Likewise.
1000
8e6cdc90
RS
10012017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
1002
1003 * lto.c (compare_tree_sccs_1): Use wi::to_wide when
1004 operating on trees as wide_ints.
1005
357b7604
RS
10062017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1007 Alan Hayward <alan.hayward@arm.com>
1008 David Sherwood <david.sherwood@arm.com>
1009
1010 * lto-lang.c (lto_type_for_mode): Use as_a <scalar_int_mode>.
1011
1ea85365
RB
10122017-08-21 Richard Biener <rguenther@suse.de>
1013
92a285c1
ML
1014 * lto.c (unify_scc): Truncate DIE reference queue for dropped SCCs.
1015 (lto_read_decls): Process TRANSLATION_UNIT_DECLs. Remove
1016 TYPE_DECL debug processing, register DIE references from
1017 prevailing SCCs with the debug machinery.
1018 (lto_section_with_id): Handle LTO debug sections.
1ea85365 1019
8e093270
NS
10202017-08-16 Nathan Sidwell <nathan@acm.org>
1021
1022 * lto.c (mentions_vars_p_type): Use TYPE_LANG_SLOT_1.
1023 (compare_tree_sccs_1): No need to compare TYPE_BINFO directly.
1024 (lto_fixup_prevailing_decls): Use TYPE_LANG_SLOT_1.
1025
eac3ab4a
TV
10262017-08-08 Tom de Vries <tom@codesourcery.com>
1027
1028 * lto.c: Include attribs.h.
1029
314e6352
ML
10302017-08-08 Martin Liska <mliska@suse.cz>
1031
1032 * lto-lang.c: Include header files.
1033 * lto-symtab.c: Likewise.
1034
63e434ca
RB
10352017-08-03 Richard Biener <rguenther@suse.de>
1036
1037 * lto-symtab.h (lto_symtab_prevail_decl): Do not use
1038 DECL_ABSTRACT_ORIGIN as flag we can end up using that. Instead
1039 use DECL_LANG_FLAG_0.
1040 (lto_symtab_prevail_decl): Likewise.
1041
417ca011
TD
10422017-07-07 Torsten Duwe <duwe@suse.de>
1043
1044 * lto-lang.c (lto_attribute_table): Add entry for
1045 "patchable_function_entry".
1046
20deef65
NS
10472017-07-19 Nathan Sidwell <nathan@acm.org>
1048
1049 * lto.c (mentions_vars_p_type): Use TYPE_{MIN,MAX}_VALUE_RAW.
1050 (compare_tree_sccs_1, lto_fixup_prevailing_decls): Likewise.
1051
0eaf0bfe
JH
10522017-07-06 Jan Hubicka <hubicka@ucw.cz>
1053
1054 * lto-partition.c (lto_balanced_map): Do not check
1055 flag_toplevel_reorder.
2db9b7cd 1056
0eaf0bfe 10572017-06-23 Marc Glisse <marc.glisse@inria.fr>
2db9b7cd
MG
1058 * lto-lang.c (lto_init): Use builtin_structptr_types.
1059
d1eed638
JH
10602017-06-15 Jan Hubicka <hubicka@ucw.cz>
1061 Thomas Preud'homme <thomas.preudhomme@arm.com>
1062
1063 PR lto/69866
1064 * lto-symtab.c (lto_symtab_merge_symbols): Drop useless definitions
1065 that resolved externally.
1066
d2db2e6b
JH
10672017-05-23 Jan Hubicka <hubicka@ucw.cz>
1068
1069 * lto.c (do_whole_program_analysis): Replace inline_free_summary
1070 by ipa_free_fn_summary.
1071
464d0118
ML
10722017-05-23 Martin Liska <mliska@suse.cz>
1073
1074 * lto-symtab.c (lto_cgraph_replace_node): Use
1075 symtab_node::dump_{asm_,}name functions.
1076 * lto.c (read_cgraph_and_symbols): Likewise.
1077 (do_whole_program_analysis): Likewise.
1078
6c52831d
ML
10792017-05-23 Martin Liska <mliska@suse.cz>
1080
1081 * lto.c (read_cgraph_and_symbols): Use the renamed function.
1082 (do_whole_program_analysis): Use the renamed function.
1083
27d020cf
JH
10842017-05-22 Jan Hubicka <hubicka@ucw.cz>
1085
1086 * lto.c: Replace ipa-inline.h by ipa-fnsummary.h
1087 * lto-partition.c: Replace ipa-inline.h by ipa-fnsummary.h
1088
815d9cc6
XR
10892017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
1090
92a285c1 1091 PR c++/80038
815d9cc6
XR
1092 * lto-lang.c (lto_init): Set in_lto_p earlier.
1093
350792ff 10942017-04-12 Richard Biener <rguenther@suse.de>
ab20d992 1095 Bernd Edlinger <bernd.edlinger@hotmail.de>
350792ff
RB
1096
1097 PR middle-end/79671
1098 * lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE.
1099
4a44a5f3
ML
11002017-02-14 Martin Liska <mliska@suse.cz>
1101
1102 * lto.c (do_stream_out): Free LTO file filename string.
1103
8a3a6ab4
DM
11042017-01-19 David Malcolm <dmalcolm@redhat.com>
1105
1106 * lto-lang.c (builtin_type_for_size): Convert call to
1107 lto_type_for_size to one through the langhook.
1108 (lto_type_for_size): Move to langhooks.c and rename to
1109 lhd_type_for_size.
1110 (LANG_HOOKS_TYPE_FOR_SIZE): Don't redefine.
1111
4c4b4703
JJ
11122017-01-11 Jakub Jelinek <jakub@redhat.com>
1113
1114 PR middle-end/50199
1115 * lto-lang.c (lto_post_options): Force flag_merge_constants = 1
1116 if it was 0.
1117
bd2c6270
JJ
11182017-01-09 Jakub Jelinek <jakub@redhat.com>
1119
1120 PR translation/79019
1121 PR translation/79020
1122 * lto-symtab.c (lto_symtab_merge_symbols): Fix comment typo.
1123
24d3f325
NS
11242017-01-06 Nathan Sidwell <nathan@acm.org>
1125
5406184c
NS
1126 * lto-partition.c (promote_symbol): Write to dump file sooner,
1127 include alias promoting too.
1128
24d3f325
NS
1129 * lto-partition.c (lto_balanced_map): Reformat/respell comment.
1130 (may_need_named_section_p): Likewise.
1131 (rename_statics): Likewise.
1132 (lto_promote_cross_file_statics): Likewise.
1133
cbe34bb5
JJ
11342017-01-01 Jakub Jelinek <jakub@redhat.com>
1135
1136 Update copyright years.
1137
6c8bf066
GJL
11382016-11-30 Georg-Johann Lay <avr@gjlay.de>
1139
1140 PR lto/78562
1141 * lto-symtab.c (lto_symtab_merge_decls_2): Don't diagnose type
1142 mismatch if the two types are built-in.
1143
7fa6a965
PK
11442016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1145
1146 * lto-lang.c (lto_init): Remove initialization of ptrdiff_type_node.
1147
efb71232
RB
11482016-11-23 Richard Biener <rguenther@suse.de>
1149
1150 PR lto/78472
1151 * lto.c (hash_canonical_type): Ignore zero-sized fields.
1152
48330c93
BE
11532016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1154
1155 PR c++/71973
1156 * lto-lang.c (lto_init): Assert const_tm_ptr_type_node is sane.
1157
899ca90e 11582016-11-18 Richard Sandiford <richard.sandiford@arm.com>
48330c93
BE
1159 Alan Hayward <alan.hayward@arm.com>
1160 David Sherwood <david.sherwood@arm.com>
899ca90e
RS
1161
1162 * lto.c (offload_handle_link_vars): Use SET_DECL_MODE.
1163
65179585
RB
11642016-10-31 Richard Biener <rguenther@suse.de>
1165
1166 PR lto/78129
1167 * lto.c (do_whole_program_analysis): Bail out after errors
1168 from WPA analysis.
1169
8bc5448f
KV
11702016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
1171
1172 * lto-partition.c: Include tree-vrp.h.
1173 * lto.c: Likewise.
1174
68317985
RB
11752016-09-20 Richard Biener <rguenther@suse.de>
1176
1177 * lto.c (lto_main): Call early_finish with "<artificial>" as
1178 filename.
1179
321e76fb
RB
11802016-09-19 Richard Biener <rguenther@suse.de>
1181
1182 * lto.c (lto_main): Invoke early_finish debug hook.
1183
ea6e17d5
RB
11842016-07-25 Richard Biener <rguenther@suse.de>
1185
1186 * lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
1187 (unify_scc): Likewise.
1188 (lto_read_decls): Likewise.
1189
e9ac1f86
JJ
11902016-06-28 Jakub Jelinek <jakub@redhat.com>
1191
1192 * Make-lang.in: Don't cat ../stage_current if it does not exist.
1193
277d7ee0
AK
11942016-06-23 Andi Kleen <ak@linux.intel.com>
1195
1196 * Make-lang.in: Add support for autofdo (disabled for now)
1197
4d926e34
MS
11982016-06-10 Martin Sebor <msebor@redhat.com>
1199
1200 PR c/71392
ab20d992 1201 * lto-lang.c (handle_nonnull_attribute): Accept the nonnull
4d926e34
MS
1202 attribute in type-generic builtins.
1203
479f99c9
JH
12042016-05-16 Jan Hubicka <hubicka@ucw.cz>
1205
1206 * lto-partition.c (add_symbol_to_partition_1): Likewise.
1207
1a0bf5e1
JH
12082016-05-03 Jan Hubicka <hubicka@ucw.cz>
1209
1210 * lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed.
1211
a2e76867
PK
12122016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1213
1214 * lto-partition.h (lto_balanced_map): New parameter.
1215 * lto-partition.c (lto_balanced_map): New parameter
1216 max_partition_size.
1217 Check if partition size is greater than max_partition_size.
1218 * lto.c (do_whole_program_analysis): Adjust calls to
1219 lto_balanced_map() to pass 2nd argument.
1220
ea913779
L
12212016-03-17 H.J. Lu <hongjiu.lu@intel.com>
1222
1223 PR lto/70258
1224 * lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
1225 PIE.
1226
56aae4b7
JJ
12272016-03-08 Jakub Jelinek <jakub@redhat.com>
1228
1229 * lto-symtab.h (lto_symtab_prevail_decl): Fix spelling
1230 - becuase -> because.
1231
ed5d948d
TV
12322016-02-15 Tom de Vries <tom@codesourcery.com>
1233
1234 PR lto/69655
1235 * lto.c (read_cgraph_and_symbols): Call input_offload_tables with
1236 argument.
1237
4ecbadc7
ML
12382016-01-27 Martin Liska <mliska@suse.cz>
1239
1240 * lto-partition.c (add_symbol_to_partition_1): Remove usage
1241 of hsa_summaries.
1242
e49d321f
JH
12432016-01-19 Jan Hubicka <hubicka@ucw.cz>
1244
1245 PR lto/69136
1246 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
1247 decls have no assemblernames.
1248
b2b40051 12492016-01-19 Martin Liska <mliska@suse.cz>
92a285c1 1250 Martin Jambor <mjambor@suse.cz>
b2b40051
MJ
1251
1252 * lto-partition.c: Include "hsa.h"
1253 (add_symbol_to_partition_1): Put hsa implementations into the
1254 same partition as host implementations.
1255
5803bd01
JH
12562016-01-12 Jan Hubicka <hubicka@ucw.cz>
1257
1258 PR lto/69003
1259 * lto-partition.c (rename_statics): Fix pasto.
1260
13092f61
RB
12612016-01-18 Richard Biener <rguenther@suse.de>
1262
1263 PR lto/69337
1264 * lto-symtab.c (lto_symtab_merge): Return early for mismatched
1265 function vs. variable.
1266
3c4e91c9
RB
12672016-01-12 Richard Biener <rguenther@suse.de>
1268
1269 PR lto/69077
1270 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
1271 merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
1272
818ab71a
JJ
12732016-01-04 Jakub Jelinek <jakub@redhat.com>
1274
1275 Update copyright years.
1276
3fddb2ef
JH
12772015-12-10 Jan Hubicka <hubicka@ucw.cz>
1278
1279 PR lto/68878
1280 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
1281 * lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
1282 (lto_symtab_prevailing_decl): Use it.
1283
4a38b02b
IV
12842015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1285
1286 * lto.c: Include stringpool.h and fold-const.h.
1287 (offload_handle_link_vars): New static function.
1288 (lto_main): Call offload_handle_link_vars.
1289
ca834876
JH
12902015-12-10 Jan Hubicka <hubicka@ucw.cz>
1291
1292 * lto.c (lto_read_in_decl_state): Unpickle compressed bit.
1293
958a627f
JH
12942015-12-11 Jan Hubicka <hubicka@ucw.cz>
1295
1296 PR ipa/61886
1297 * lto-symtab.c (lto_symtab_merge_p): Avoid merging across different
1298 values of error and warning attributes.
1299
da20571a
JH
13002015-12-08 Jan Hubicka <hubicka@ucw.cz>
1301
1302 PR lto/68811
1303 * lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
1304 DECL.
1305 (LTO_NO_PREVAIL): Use gcc_checking_assert.
1306
378004b9
JH
13072015-12-08 Jan Hubicka <hubicka@ucw.cz>
1308
1309 PR lto/68811
1310 * lto-symtab.c (lto_symtab_merge_decls_2): Decl can never be prevailed
1311 by itself.
1312
6b9ac179
JH
13132015-12-08 Jan Hubicka <hubicka@ucw.cz>
1314
1315 PR ipa/61886
1316 * lto-symtab.c: Include lto-symtab.h.
1317 (lto_cgraph_replace_node): Do not merge profiles here.
1318 (lto_symtab_merge_p): New function.
1319 (lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
1320 (lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
1321 aliases.
1322 (lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
1323 (lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
1324 * lto.c: Include lto-symtab.h
1325 * lto-symtab.h: New.
1326
41c60c6c
JH
13272015-12-08 Jan Hubicka <hubicka@ucw.cz>
1328
1329 PR ipa/61886
1330 * lto-partition.c (add_symbol_to_partition_1): Transparent aliases
1331 are not part of the definition.
1332 (contained_in_symbol): Likewise.
1333 (promote_symbol): When promoting a symbol also promote all transparent
1334 aliases.
1335 (rename_statics): Weakref needs unique name, too.
1336
71e54687
JH
13372015-12-07 Jan Hubicka <hubicka@ucw.cz>
1338
1339 PR ipa/61886
1340 * lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
1341 rename_statics, rename_statics): Handle transparent aliases.
1342
88636b62
JH
13432015-12-04 Jan Hubicka <hubicka@ucw.cz>
1344
1345 * lto-symtab.c (lto_cgraph_replace_node): Update code computing
1346 merged_comdat.
1347
8c86248e
JH
13482015-12-01 Jan Hubicka <hubicka@ucw.cz>
1349
1350 * lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET.
1351
1ff9ed6f
JH
13522015-11-25 Jan Hubicka <jh@suse.cz>
1353
1354 * lto-lang.c (lto_post_options): Process flag_lto_linker_output.
1355 * lang.opt (lto_linker_output): New enum.
1356 (flinker_output): New flag.
1357
22bea0be
JH
13582015-11-24 Jan Hubicka <hubicka@ucw.cz>
1359
1360 * lto-symtab.c: Include alias.h
1361 (warn_type_compatibility_p): Replace types_compatible_p checks by
1362 TBAA and size checks; set bit 2 if locations are TBAA incompatible.
1363 (lto_symtab_merge): Compare DECL sizes.
1364 (lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
1365
aea50b45
JH
13662015-11-24 Jan Hubicka <hubicka@ucw.cz>
1367
1368 * lto.c (iterative_hash_canonical_type): Recruse for all types
1369 which pass !canonical_type_used_p.
1370 (gimple_register_canonical_type_1): Sanity check we do not compute
1371 canonical type of anything with !canonical_type_used_p.
1372 (gimple_register_canonical_type): Skip all types that are
1373 !canonical_type_used_p
1374
deb3dae6
JH
13752015-11-24 Jan Hubicka <hubicka@ucw.cz>
1376
1377 * lto.c (unify_scc): Use free_node.
1378
f85d2487
JH
13792015-11-21 Jan Hubicka <hubicka@ucw.cz>
1380
1381 * lto.c (iterative_hash_canonical_type): Always recurse for pointers.
1382 (gimple_register_canonical_type_1): Check that pointers do not get
1383 canonical types.
1384 (gimple_register_canonical_type): Do not register pointers.
1385
13862015-11-21 Jan Hubicka <hubicka@ucw.cz>
feb391fc
JH
1387
1388 * lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
1389 flag for types that are not ODR; fix loop walking parameters.
1390
69f293c9
AM
13912015-11-11 Andrew MacLeod <amacleod@redhat.com>
1392
1393 * lto-lang.c: Remove unused header files.
1394 * lto-object.c: Likewise.
1395 * lto-partition.c: Likewise.
1396 * lto-symtab.c: Likewise.
1397 * lto.c: Likewise.
1398
ee45a32d
EB
13992015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1400
1401 * lto.c (compare_tree_sccs_1): Deal with TYPE_REVERSE_STORAGE_ORDER.
1402
0aad0198
RS
14032015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1404
1405 * lto-lang.c: Don't undef DEF_BUILTIN.
1406
2adfab87
AM
14072015-10-29 Andrew MacLeod <amacleod@redhat.com>
1408
1409 * lto-lang.c: Reorder #include's and remove duplicates.
1410 * lto-object.c: Likewise.
1411 * lto-partition.c: Likewise.
1412 * lto-symtab.c: Likewise.
1413 * lto.c: Likewise.
1414
b2b29377
MM
14152015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
1416
1417 * lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
1418 conditionals.
1419 (lto_fixup_state): Likewise.
1420 (do_whole_program_analysis): Use
1421 symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
1422 conditionals.
1423
d9a6bd32
JJ
14242015-10-13 Jakub Jelinek <jakub@redhat.com>
1425
1426 * lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
1427 DEF_FUNCTION_TYPE_11): Define.
1428
9c4eeafc
JH
14292015-10-10 Jan Hubicka <hubicka@ucw.cz>
1430
1431 * lto.c (hash_canonical_type): Honor
1432 type_with_interoperable_signedness.
1433
3e32ee19
NS
14342015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1435
1436 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
1437 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1438
f196d062
RB
14392015-08-31 Richard Biener <rguenther@suse.de>
1440
1441 * lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
1442 * lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
1443 (lto_symtab_prevailing_decl): Do not replace a decl that didn't
1444 participate in merging with something else.
1445
45aee888
RB
14462015-08-31 Richard Biener <rguenther@suse.de>
1447
1448 * lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
1449 test, do not replace a non-builtin with a builtin.
1450 * lto.c (compare_tree_sccs_1): Do not merge things we stream
1451 as builtins vs. non-builtins.
1452
a79683d5
TS
14532015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1454
1455 * lto.h: Remove useless typedefs.
1456
48d859bb
AM
14572015-07-15 Andrew MacLeod <amacleod@redhat.com>
1458
1459 * lto.c: Remove redundant includes.
1460
026c3cfd
AH
14612015-07-12 Aldy Hernandez <aldyh@redhat.com>
1462
1463 * lto-lang.c: Fix double word typos.
1464
9fdcd34e
AM
14652015-07-10 Andrew MacLeod <amacleod@redhat.com>
1466
1467 * lto.c: Include cfghooks.h rather than predict.h.
1468
f51ade33
AM
14692015-07-09 Andrew MacLeod <amacleod@redhat.com>
1470
1471 * lto-lang.c: Adjust includes of target.h, alloc-pool.h and
1472 lto-streamer.h.
1473 * lto-object.c: Likewise.
1474 * lto-partition.c: Likewise.
1475 * lto-symtab.c: Likewise.
1476
1916bcb5
AM
14772015-07-09 Andrew MacLeod <amacleod@redhat.com>
1478
1479 * lto-lang.c: Adjust includes for flags.h changes.
1480
c7131fb2
AM
14812015-07-07 Andrew MacLeod <amacleod@redhat.com>
1482
1483 * lto-lang.c: Adjust includes.
1484 * lto-object.c: Likewise.
1485 * lto-partition.c: Likewise.
1486 * lto-symtab.c: Likewise.
1487 * lto.c: Likewise.
1488
f0889939
AM
14892015-06-25 Andrew MacLeod <amacleod@redhat.com>
1490
1491 * lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
1492 * lto-object.c: Likewise.
1493 * lto-partition.c: Likewise.
1494 * lto-symtab.c: Likewise.
1495 * lto-tree.h: Likewise.
1496 * lto.c: Likewise.
1497
8d67ee55
RS
14982015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1499
1500 * lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
1501 than typed_noop_remove. Remove redudant typedefs.
1502
abb226c9
AM
15032015-06-17 Andrew MacLeod <amacleod@redhat.com>
1504
1505 * lto-lang.c: Do not include input.h, line-map.h or is-a.h.
1506 * lto-object.c: Likewise.
1507 * lto-partition.c: Likewise.
1508 * lto-symtab.c: Likewise.
1509 * lto.c: Likewise.
1510
351d90f4
JH
15112015-06-14 Jan Hubicka <hubicka@ucw.cz>
1512
1513 PR ipa/66181
1514 * lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
1515
44c42705
DD
15162015-06-12 DJ Delorie <dj@redhat.com>
1517
1518 * lto-lang.c (lto_type_for_size): Include intN types.
1519 (lto_type_for_mode): Likewise.
1520
64578d98
JH
15212015-06-08 Jan Hubicka <hubicka@ucw.cz>
1522
1523 * lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
1524
13fdf2e2
AM
15252015-06-08 Andrew MacLeod <amacleod@redhat.com>
1526
1527 * lto-lang.c : Adjust include files.
1528 * lto-object.c : Likewise.
1529 * lto-partition.c : Likewise.
1530 * lto-partition.h : Likewise.
1531 * lto-symtab.c : Likewise.
1532 * lto.c : Likewise.
1533 * lto.h : Likewise.
1534
ccb5ad37
JH
15352015-06-06 Jan Hubicka <hubicka@ucw.cz>
1536
6542950e
JH
1537 PR lto/65378
1538 * lto-symtab.c (warn_type_compatibility_p): Fix call of
1539 odr_or_derived_type_p.
1540 (lto_symtab_merge_decls_2): Update call of warn_types_mismatch.
1541
15422015-06-08 Jan Hubicka <hubicka@ucw.cz>
1543
ccb5ad37
JH
1544 * lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
1545 pointers.
1546
d7438551
AH
15472015-06-05 Aldy Hernandez <aldyh@redhat.com>
1548
1549 * lto-lang.c (lto_write_globals): Remove.
1550 (LANG_HOOKS_WRITE_GLOBALS): Same.
1551
ecb9f223
AM
15522015-06-04 Andrew MacLeod <amacleod@redhat.com>
1553
1554 * lto-lang.c: Adjust includes for restructured coretypes.h.
1555 * lto-object.c: Likewise.
1556 * lto-partition.c: Likewise.
1557 * lto-symtab.c: Likewise.
1558 * lto.c: Likewise.
1559
9cb9b937
JH
15602015-06-04 Jan Hubicka <hubicka@ucw.cz>
1561
1562 * lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.
1563
93e2aa6d
JH
15642015-06-03 Jan Hubicka <hubicka@ucw.cz>
1565
1566 * lto.c (iterative_hash_canonical_type,
1567 gimple_register_canonical_type): only hash main variants of types
1568
faae53f8
ML
15692015-05-27 Martin Liska <mliska@suse.cz>
1570
1571 * lto-partition.c (new_partition): Reset number of symbols.
1572 (add_symbol_to_partition_1): Increment number of symbols.
1573 (undo_partition): Decrement number of symbols.
1574 (lto_balanced_map): Dump number of symbols and insns that
1575 belong to a partition.
1576 * lto-partition.h (struct ltrans_partition_def): Add symbol counter.
1577
b727ba74
JH
15782015-05-22 Jan Hubicka <hubicka@ucw.cz>
1579
1580 * lto.c (hash_canonical_type): Be sure we hash only types that
1581 need alias set.
1582 (gimple_register_canonical_type_1): Do not produce canonical
1583 types for types that do not need alias sets.
1584
1d1218fb
JH
15852015-05-22 Jan Hubicka <hubicka@ucw.cz>
1586
1587 * lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
1588
872d5034
JH
15892015-05-19 Jan Hubicka <hubicka@ucw.cz>
1590
1591 * lto.c (gimple_canonical_types_compatible_p): Move to tree.c
1592
259d29e3
JH
15932015-05-17 Jan Hubicka <hubicka@ucw.cz>
1594
1595 * lto-symtab.c (warn_type_compatibility_p): Break out from ...;
1596 compare ODR types (if available) and function types.
1597 (lto_symtab_merge): ... here; output ODR violation warnings
1598 and call warn_types_mismatch.
1599
b0845a1e
JH
16002015-04-29 Jan Hubicka <hubicka@ucw.cz>
1601
1602 * lto.c (lto_fixup_state): Call verify_type.
1603
67f58944
TS
16042015-04-18 Trevor Saunders <tsaunders@mozilla.com>
1605
b0845a1e 1606 * lto.c: Adjust for hash_table changes.
67f58944 1607
36ceb0e3
JH
16082015-03-27 Jan Hubicka <hubicka@ucw.cz>
1609
1610 * lto.c (lto_read_decls): Move code registering odr types out
1611 of TYPE_CANONICAL conditional and also register polymorphic types.
1612
afd1e7c6
JH
16132015-03-26 Jan Hubicka <hubicka@ucw.cz>
1614
1615 * lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
1616 DECL_ARTIFICAL symbols.
1617
eaeec5ec
JH
16182015-03-26 Jan Hubicka <hubicka@ucw.cz>
1619
1620 PR lto/65536
1621 * lto.c (unify_scc): Revert location cache when unification
1622 suceeded.
1623 (lto_read_decls): Accept location cache after sucess;
1624 apply location cache before calling debug hooks.
1625
1c4db829
JH
16262015-03-10 Jan Hubicka <hubicka@ucw.cz>
1627
1628 * lto.c (read_cgraph_and_symbols): Do not do merging
1629 at ltrans stage.
1630
db847fa8
JJ
16312015-02-26 Jakub Jelinek <jakub@redhat.com>
1632
1633 * lto.c (lto_mode_identity_table): New variable.
1634 (lto_read_decls): Add mode_table argument to the lto_input_block
1635 constructor.
1636 (lto_file_finalize): Initialize mode_table.
1637 (lto_init): Initialize lto_mode_identity_table.
1638
56a9f6bc
TS
16392015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1640
1641 PR libgomp/64625
1642 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1643 Remove macros.
1644 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1645
ebc8f0bb
JH
16462015-02-03 Jan Hubicka <hubicka@ucw.cz>
1647
1648 * lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.
1649
40fecdd6
JM
16502015-01-30 Joseph Myers <joseph@codesourcery.com>
1651
1652 * lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
1653 changed to pass input_location as first argument.
1654
040968a8
JH
16552014-12-11 Jan Hubicka <hubicka@ucw.cz>
1656
1657 * lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
1658
69fe4502
JH
16592014-12-11 Jan Hubicka <hubicka@ucw.cz>
1660
1661 * lto.c (compare_tree_sccs_1): Add comparsion of
1662 DECL_FUNCTION_SPECIFIC_TARGET
1663
41dbbb37
TS
16642015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1665 James Norris <jnorris@codesourcery.com>
1666
1667 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1668 New macros.
1669 * lto.c: Include "gomp-constants.h".
1670
837bac8c
IV
16712015-01-14 Ilya Verbin <ilya.verbin@intel.com>
1672
1673 * lto-partition.c (lto_promote_cross_file_statics): Remove argument
1674 from select_what_to_stream.
1675
1b34e6e2
BS
16762015-01-09 Bernd Schmidt <bernds@codesourcery.com>
1677 Jakub Jelinek <jakub@redhat.com>
1678
1679 PR middle-end/64412
1680 * lto.c (read_cgraph_and_symbols): Set lto_stream_offload_p
1681 if ACCEL_COMPILER.
1682
adfac8df
JJ
16832015-01-09 Michael Collison <michael.collison@linaro.org>
1684
1685 * lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1686 input.h, alias.h, symtab.h, options, fold-const.h,
1687 wide-int.h, and inchash.h due to flattening of tree.h.
1688 * lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1689 input.h, alias.h, symtab.h, fold-const.h,
1690 wide-int.h, and inchash.h due to flattening of tree.h.
1691 * lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1692 input.h, alias.h, symtab.h, options, fold-const.h,
1693 wide-int.h, and inchash.h due to flattening of tree.h.
1694 * lto-partition.c: Ditto.
1695 * lto-symtab.c: Ditto.
1696
5624e564
JJ
16972015-01-05 Jakub Jelinek <jakub@redhat.com>
1698
1699 Update copyright years.
1700
9a1e784a
ML
17012014-12-22 Martin Liska <mliska@suse.cz>
1702
1703 * lto-partition.c (add_symbol_to_partition_1): New inline_summaries
1704 is used.
1705 (undo_partition): Likewise.
1706 (lto_balanced_map): Likewise.
1707
dd912cb8
ML
17082014-12-22 Martin Liska <mliska@suse.cz>
1709
1710 * lto-partition.c: Include of symbol-summary.h is added.
1711 * lto-symtab.c: Likewise.
1712 * lto.c: Likewise.
1713
17e0fc92
JH
17142014-12-11 Jan Hubicka <hubicka@ucw.cz>
1715
1716 PR ipa/61324
1717 * lto.c (read_cgraph_and_symbols): Update call of
1718 remove_unreachable_nodes.
1719 (do_whole_program_analysis): Remove call of
1720 symtab->remove_unreachable_nodes
1721
58dddbd2
TS
17222014-12-08 Trevor Saunders <tsaunders@mozilla.com>
1723
1724 * lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
1725 htab with malloc instead of ggc.
1726
907dadbd
TS
17272014-11-20 Trevor Saunders <tsaunders@mozilla.com>
1728
1729 * lto.c: Replace htab with hash_table.
1730
9c71e9df
TS
17312014-11-20 Trevor Saunders <tsaunders@mozilla.com>
1732
1733 * lto.c (lto_read_in_decl_state): Adjust.
1734 (lto_fixup_state): Likewise.
1735
72a4a8b0
JH
17362014-11-17 Jan Hubicka <hubicka@ucw.cz>
1737
1738 * lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET.
1739
54e774c0
JH
17402014-11-14 Jan Hubicka <hubicka@ucw.cz>
1741
1742 * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
1743
1f6be682
IV
17442014-11-13 Ilya Verbin <ilya.verbin@intel.com>
1745 Bernd Schmidt <bernds@codesourcery.com>
1746 Andrey Turetskiy <andrey.turetskiy@intel.com>
1747 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1748
ab20d992 1749 * lto.c (read_cgraph_and_symbols): Call input_offload_tables.
ec6fe917
IV
1750
17512014-11-13 Ilya Verbin <ilya.verbin@intel.com>
1752 Ilya Tocar <ilya.tocar@intel.com>
1753 Andrey Turetskiy <andrey.turetskiy@intel.com>
1754 Bernd Schmidt <bernds@codesourcery.com>
1755
1f6be682
IV
1756 * lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
1757 LTO_SECTION_NAME_PREFIX.
1758 * lto-partition.c (lto_promote_cross_file_statics): Call
1759 select_what_to_stream.
1760 * lto.c (lto_section_with_id): Use section_name_prefix instead of
1761 LTO_SECTION_NAME_PREFIX.
1762 (read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
1763 being built as an offload compiler.
1764
ef4bddc2
RS
17652014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1766
1767 * lto-lang.c: Remove redundant enum from machine_mode.
1768
c582198b
AM
17692014-10-28 Andrew MacLeod <amacleod@redhat.com>
1770
1771 * lto.c: Adjust include files.
1772 * lto-lang.c: Ditto.
1773 * lto-object.c: Ditto.
1774 * lto-partition.c: Ditto.
1775 * lto-symtab.c: Ditto.
1776
60393bbc
AM
17772014-10-27 Andrew MacLeod <amacleod@redhat.com>
1778
1779 * lto-lang.c: Adjust include files.
1780 * lto-object.c: Ditto.
1781 * lto-partition.c: Ditto.
1782 * lto-symtab.c: Ditto.
1783 * lto.c: Ditto.
1784
957f47e6
DD
17852014-10-16 DJ Delorie <dj@redhat.com>
1786
1787 * lto-object.c (lto_obj_begin_section): In the event that pointer
1788 sizes aren't powers of two, choose a more suitable alignment
1789 than (unsigned)(-1).
1790
78a7c317
DD
17912014-10-14 DJ Delorie <dj@redhat.com>
1792
1793 * lto-lang.c (lto_build_c_type_nodes): Check intN types for
1794 size-type as well.
1795 (lto_init): Initialize all intN types, not just int128.
1796
70261a4f
ML
17972014-10-06 Martin Liska <mliska@suse.cz>
1798
1799 * lto.c (stream_out): ARG_UNUSED added for last argument.
1800
00de328a
AH
18012014-09-24 Aldy Hernandez <aldyh@redhat.com>
1802
1803 * lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
1804 DECL_ABSTRACT_P.
1805
7861b648
AK
18062014-09-23 Andi Kleen <ak@linux.intel.com>
1807
1808 * lto-partition.c (node_cmp): Update comment.
1809 (varpool_node_cmp): Use symtab_node for comparison.
1810 (add_sorted_nodes): New function.
1811 (lto_balanced_map): Change to keep ordered queue
1812 of ordered node. Handle no_reorder attribute.
1813
1ee85ee1
JH
18142014-09-11 Jan Hubicka <hubicka@ucw.cz>
1815
1816 * lto.c (lto_read_decls): Register ODR types.
1817
8605403e
JH
18182014-08-20 Jan Hubicka <hubicka@ucw.cz>
1819
1820 * lto.c (read_cgraph_and_symbols): Fix symtab_remove_unreachable_nodes
1821 call.
1822 (do_whole_program_analysis): Only sanity check that IPA passes cleans up.
1823
56b1f114
JH
18242014-08-14 Jan Hubicka <hubicka@ucw.cz>
1825
1826 * lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.
1827
833f94c0
RB
18282014-08-14 Richard Biener <rguenther@suse.de>
1829
1830 PR lto/62067
1831 * lto-lang.c (def_fn_type): Fix error handling wrt va_end.
1832
207c68cd
RB
18332014-08-08 Richard Biener <rguenther@suse.de>
1834
1835 * lto.c (lto_read_decls): Adjust for lto_input_block changes.
1836
7c581d61
BC
18372014-08-08 Bin Cheng <bin.cheng@arm.com>
1838
1839 PR lto/62032
1840 * lto-lang.c (lto_init): Switch mis-matched arguments.
1841
39c8aaa4
TS
18422014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1843
1844 * lto-partition.c, lto.c: Use hash_map instead of pointer_map.
1845
6e2830c3
TS
18462014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1847
1848 * lto-partition.c, lto-partition.h: Use hash_set instead of
1849 pointer_set.
1850
50de5793
AK
18512014-07-31 Andi Kleen <ak@linux.intel.com>
1852
1853 * lto.c (hash_canonical_type): Use inchash::hash
1854 and use inchash::add_expr.
1855 (iterative_hash_canonical_type): Dito.
1856
f6bcdb5e
RB
18572014-07-30 Richard Biener <rguenther@suse.de>
1858
1859 * lto-streamer.h (lto_write_data): New function.
1860 * langhooks.c (lhd_append_data): Do not free block.
1861 * lto-section-out.c (lto_write_data): New function writing
1862 raw data to the current section.
1863 (lto_write_stream): Adjust for langhook semantic change.
1864 (lto_destroy_simple_output_block): Write header directly.
1865 * lto-opts.c (lto_write_options): Write options directly.
1866 * lto-streamer-out.c (produce_asm): Write heaeder directly.
1867 (lto_output_toplevel_asms): Likewise.
1868 (copy_function_or_variable): Copy data directly.
1869 (write_global_references): Output index table directly.
1870 (lto_output_decl_state_refs): Likewise.
1871 (write_symbol): Write data directly.
1872 (produce_symtab): Adjust.
1873 (produce_asm_for_decls): Output header and refs directly.
1874
56fdfd3e
AK
18752014-07-25 Andi Kleen <ak@linux.intel.com>
1876
1877 * lto.c (hash_canonical_type): Call iterative_hstate_expr.
1878
0bd8bb04
AK
18792014-07-25 Andi Kleen <ak@linux.intel.com>
1880
1881 * lto.c (hash_canonical_type): Convert to inchash.
1882 (iterative_hash_canonical_type): Dito.
1883
6d8eb96b
AK
18842014-07-25 Andi Kleen <ak@linux.intel.com>
1885
1886 * lto.c: Include inchash.h
1887
ad115a3c
JH
18882014-07-14 Jan Hubicka <hubicka@ucw.cz>
1889
1890 * lto.c (mentions_vars_p_decl_non_common): Skip
1891 DECL_ARGUMENT_FLD.
1892 mentions_vars_p_function): Do DECL_ARGUMENTS.
1893 (lto_fixup_prevailing_decls): Update.
1894
917dd9bf
JH
18952014-07-12 Jan Hubicka <hubicka@ucw.cz>
1896
1897 * lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO
1898 timevar
1899 (materialize_cgraph): Do not push GIMPLE_IN timevar.
1900
0b83e688
JH
19012014-07-11 Jan Hubicka <hubicka@ucw.cz>
1902
ab20d992 1903 * lto-partition.c (add_references_to_partition): Use
0b83e688
JH
1904 varpool_ctor_useable_for_folding_p.
1905 * lto.c (lto_read_in_decl_state): Update sanity check.
1906
e55637b7
ML
19072014-07-01 Martin Liska <mliska@suse.cz>
1908
1909 IPA REF alias refactoring
1910 * lto-partition.c (add_symbol_to_partition_1): Usage of
1911 FOR_EACH_ALIAS added.
1912
010f4e27
JH
19132014-06-28 Jan Hubicka <hubicka@ucw.cz>
1914
1915 Revert:
1916 * lto.c (lto_copy_fields_not_streamed): New function.
1917 (compare_tree_sccs_1): Do not compare fields shared in between type
1918 and variant.
1919 (lto_read_decls): Fixup types first before inserting into hash.
1920
b82fe354
AP
19212014-06-28 Andrew Pinski <apinski@cavium.com>
1922
1923 * lto.c (lto_read_decls): Fix comment in comment.
1924
288eeff7
JH
19252014-06-28 Jan Hubicka <hubicka@ucw.cz>
1926
1927 * lto.c (lto_copy_fields_not_streamed): New function.
1928 (compare_tree_sccs_1): Do not compare fields shared in between type
1929 and variant.
1930 (lto_read_decls): Fixup types first before inserting into hash.
1931
e01fa630
ML
19322014-06-25 Martin Liska <mliska@suse.cz>
1933
ab20d992 1934 * lto-partition.c (add_references_to_partition): New IPA REF function
e01fa630
ML
1935 used.
1936 (add_symbol_to_partition_1): Likewise.
1937 (lto_balanced_map): Likewise.
ab20d992 1938 * lto-symtab.c (lto_cgraph_replace_node): Likewise.
e01fa630 1939
aaf8a23e
JH
19402014-06-24 Jan Hubicka <hubicka@ucw.cz>
1941
1942 * lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
1943 (mentions_vars_p_function): ... here.
1944 (compare_tree_sccs_1): Update VINDEX checks.
1945 (lto_fixup_prevailing_decls): Likewise.
1946
1eb68d2d
TS
19472014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1948
1949 * lto.c (canonical_type_hash_cache): Use hash_map instead of
1950 pointer_map.
1951
c203e8a7
TS
19522014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1953
1954 * lto.c: Adjust.
1955
714c800f
JH
19562014-06-20 Jan Hubicka <hubicka@ucw.cz>
1957
1958 * lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.
1959
569b1784
JH
19602014-06-20 Jan Hubicka <hubicka@ucw.cz>
1961
1962 * lto.c (compare_tree_sccs_1): Do not compare priorities.
1963
56363ffd
JH
19642014-06-15 Jan Hubicka <hubicka@ucw.cz>
1965
1966 * lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
1967
e257a17c
JH
19682014-06-10 Jan Hubicka <hubicka@ucw.cz>
1969
1970 * lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
1971 (do_whole_program_analysis): Use verify_symtab.
1972
24d047a3
JH
19732014-06-07 Jan Hubicka <hubicka@ucw.cz>
1974
1975 * lto.c (mentions_vars_p_decl_with_vis, compare_tree_sccs_1,
1976 lto_fixup_prevailing_decls): Skip section names.
1977
9b2b7279
AM
19782014-06-02 Andrew MacLeod <amacleod@redhat.com>
1979
1980 * lto-symtab.c: Include builtins.h.
1981
a9243bfc
RB
19822014-05-26 Richard Biener <rguenther@suse.de>
1983
1984 * lto.c (lto_parse_hex): Use int64_t.
1985 (lto_resolution_read): Likewise.
1986
fd1e9302
JH
19872014-05-23 Jan Hubicka <hubicka@ucw.cz>
1988
1989 * lto.c (read_cgraph_and_symbols): Grow ggc memory after streaming.
1990
aede2c10
JH
19912014-05-23 Jan Hubicka <hubicka@ucw.cz>
1992
1993 * lto-symtab.c (lto_symtab_merge_symbols): Update code setting
1994 symtab pointer.
1995 * lto.c (compare_tree_sccs_1): Do not compare comdat groups.
1996
f6a7cffc
TS
19972014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1998
1999 * lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
2000 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
2001 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
2002
4000360e
BS
20032012-05-22 Bernd Schmidt <bernds@codesourcery.com>
2004
2005 * lto-object.c: Include "lto-section-names.h".
2006 (LTO_SEGMENT_NAME): Don't define.
2007 * lto.c: Include "lto-section-names.h".
2008
b9559136
JH
20092014-05-17 Jan Hubicka <hubicka@ucw.cz>
2010
2011 PR lto/61012
2012 * lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
2013 mixed with variables.
2014
766090c2
TS
20152014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2016
2017 * lto-tree.h: Don't use variable_size gty attribute.
2018 * lto.c (lto_read_in_decl_state): Adjust.
2019 (create_subid_section_table): Likewise.
2020 (lto_flatten_files): Likewise.
2021 (read_cgraph_and_symbols): Likewise.
2022
1d60af08
KZ
20232014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2024 Mike Stump <mikestump@comcast.net>
2025 Richard Sandiford <rdsandiford@googlemail.com>
2026
2027 * lto.c (compare_tree_sccs_1): Use wide-int interfaces.
2028 * lto-lang.c (get_nonnull_operand): Likewise.
2029
22869a37
RB
20302014-04-28 Richard Biener <rguenther@suse.de>
2031
2032 PR middle-end/60092
2033 * lto-lang.c: Define flag_isoc11.
2034
7de90a6c
DM
20352014-04-23 David Malcolm <dmalcolm@redhat.com>
2036
2037 * lto-partition.c (add_references_to_partition): Update for
2038 removal of implicit pointer from the is-a.h API.
2039 (add_symbol_to_partition_1): Likewise.
2040 (contained_in_symbol): Likewise.
2041 (undo_partition): Likewise.
2042 (lto_balanced_map): Likewise.
2043 (promote_symbol): Likewise.
2044 * lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
2045 (lto_symtab_merge_symbols): Likewise.
2046 * lto.c (lto_wpa_write_files): Likewise.
2047
783dab6b
RB
20482014-04-15 Richard Biener <rguenther@suse.de>
2049
2050 * lto.c: Include params.h.
2051 (do_whole_program_analysis): Switch on flag_lto_partition value,
2052 add support for LTO_PARTITION_ONE.
2053 * lto-partition.h (lto_balanced_map): Adjust.
2054 * lto-partition.c (lto_balanced_map): Get number of desired
2055 partitions as argument to support -flto-partition=one.
2056
cb90235d
JH
20572014-04-14 Jan Hubicka <hubicka@ucw.cz>
2058
ab20d992 2059 * lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
cb90235d
JH
2060 tp_first_run.
2061
bbe281da
JH
20622014-03-19 Jan Hubicka <hubicka@ucw.cz>
2063
2064 * lto.c: Include ipa-inline.h
2065 (do_whole_program_analysis): Free inline summary after partitioning.
2066
ce2f49b3
RB
20672014-03-19 Richard Biener <rguenther@suse.de>
2068
2069 PR middle-end/60553
ab20d992 2070 * lto-tree.h (lang_tree_node): For types use TYPE_NEXT_VARIANT
ce2f49b3
RB
2071 instead of TREE_CHAIN as chain_next.
2072
e41106fc
RB
20732014-03-19 Richard Biener <rguenther@suse.de>
2074
2075 * lto.c (lto_wpa_write_files): Move call to
2076 lto_promote_cross_file_statics ...
2077 (do_whole_program_analysis): ... here, into the partitioning
2078 block. Do not ggc_collect after lto_wpa_write_files but
2079 for a last time before it.
2080
15df2655
JJ
20812014-03-19 Jakub Jelinek <jakub@redhat.com>
2082
2083 PR lto/60571
2084 * lto.c (wait_for_child): Define WCONTINUED if not defined to 0.
2085 Fix formatting.
2086
415e2e6b
JJ
20872014-03-18 Jakub Jelinek <jakub@redhat.com>
2088
2089 PR sanitizer/60535
2090 * lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node
2091 and complex_{float,{,long_}double}_type_node.
2092
f42c637e
PM
20932014-03-08 Paulo Matos <paulo@matos-sorge.com>
2094
415e2e6b
JJ
2095 * lto-lang.c (lto_init): Pass flag_short_double to
2096 build_common_tree_nodes.
f42c637e 2097
6dab804d
JH
20982014-02-14 Jan Hubicka <hubicka@ucw.cz>
2099
2100 PR lto/60295
2101 * lto.c (stream_out): Avoid parallel streaming with
2102 -flto=jobserver until we are able to throttle it down
2103 resonably.
2104
39434bce
JH
21052014-02-14 Jan Hubicka <hubicka@ucw.cz>
2106
2107 * lto-partition.c (add_symbol_to_partition_1,
2108 undo_partition, lto_balanced_map): Aliases have no
2109 defined size.
2110 (lto_balanced_map): Do not follow refering variables
2111 if they can be optimized out.
2112
1966fd99
RB
21132014-02-14 Richard Biener <rguenther@suse.de>
2114
2115 PR lto/60179
2116 * lto.c (compare_tree_sccs_1): Do not compare
2117 DECL_FUNCTION_SPECIFIC_TARGET.
2118 (lto_read_decls): Re-build DECL_FUNCTION_SPECIFIC_TARGET.
2119
283416b3
RB
21202014-02-12 Richard Biener <rguenther@suse.de>
2121
2122 PR lto/60060
2123 * lto-lang.c (lto_write_globals): Do not call
2124 wrapup_global_declarations or emit_debug_global_declarations
2125 but emit debug info for non-function scope variables
2126 directly.
2127
b7e85694
JH
21282014-02-06 Jan Hubicka <hubicka@ucw.cz>
2129
2130 * lto.c (unify_scc): Free CONSTRUCTOR_ELTS.
2131
96451279
JH
21322014-02-06 Jan Hubicka <hubicka@ucw.cz>
2133
2134 PR ipa/59469
2135 * lto-partition.c (symbol_class): Move to cgraph.h
2136 (get_symbol_class): Move to symtab.c
2137 (add_references_to_partition, add_symbol_to_partition_1,
2138 lto_max_map, lto_1_to_1_map, lto_balanced_map,
2139 lto_promote_cross_file_statics): Update.
2140
f300e7b8
JH
21412014-02-05 Jan Hubicka <hubicka@ucw.cz>
2142
2143 * lto.c (lto_parallelism): New static var.
2144 (do_stream_out, wait_for_child, stream_out): New static functions.
2145 (lto_wpa_write_files): Add support for parallel streaming.
2146 (do_whole_program_analysis): Set parallelism.
2147 * lang.opt (fwpa): Add parameter.
2148 * lto-lang.c (lto_handle_option): Handle flag_wpa.
2149 (lto_init): Update use of flag_wpa.
2150 * lto-streamer.h (asm_nodes_output): Declare.
2151
f0f91770
RB
21522014-02-05 Richard Biener <rguenther@suse.de>
2153
2154 * lto.h (lto_global_var_decls): Remove.
2155 * lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
2156 (lto_write_globals): Do nothing in WPA stage, gather globals from
2157 the varpool here ...
2158 * lto.c (lto_main): ... not here.
2159 (materialize_cgraph): Do not call rest_of_decl_compilation
2160 on the empty lto_global_var_decls vector.
2161 (lto_global_var_decls): Remove.
2162
d665f8dd
JH
21632014-02-04 Jan Hubicka <hubicka@ucw.cz>
2164
ab20d992 2165 * lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
d665f8dd
JH
2166 needs duplicating, not generic COMDAT.
2167
c39276b8
RB
21682014-02-04 Richard Biener <rguenther@suse.de>
2169
2170 PR lto/59723
2171 * lto.c (mentions_vars_p): Handle NAMELIST_DECL.
2172 (lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.
2173
5f876ae7 21742014-02-04 Jan Hubicka <hubicka@ucw.cz>
3d3b561f 2175 Markus Trippelsdorf
5f876ae7
JH
2176
2177 PR ipa/59469
2178 * lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
2179 merge force_output and forced_by_abi flags.
2180
b72271b9
BI
21812014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2182
2183 * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
2184 flag_cilkplus.
2185
63124c48
RB
21862014-01-09 Richard Biener <rguenther@suse.de>
2187
2188 * lto.c (gimple_canonical_types_compatible_p): Fix comment.
2189
d05b9920
RB
21902014-01-09 Richard Biener <rguenther@suse.de>
2191
2192 PR lto/45586
2193 * lto.c (hash_canonical_type): Do not hash TREE_ADDRESSABLE,
2194 TYPE_ALIGN, TYPE_RESTRICT or TYPE_REF_CAN_ALIAS_ALL.
2195 (gimple_canonical_types_compatible_p): Do not compare them either.
2196
23a5b65a
RS
21972014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2198
2199 Update copyright years
2200
2c8326a5
OE
22012013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
2202
2203 * lto.c: Remove struct tags when referring to class varpool_node.
2204 * lto-partition.c: Likewise.
2205 * lto-symtab.c: Likewise.
2206
e06f9964
JJ
22072013-11-29 Jakub Jelinek <jakub@redhat.com>
2208 Richard Biener <rguenther@suse.de>
2209
2210 PR lto/59326
2211 * lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
2212
c193f58b
JJ
22132013-11-29 Jakub Jelinek <jakub@redhat.com>
2214
2215 PR lto/59326
2216 * lto.c (mentions_vars_p_omp_clause): New function.
2217 (mentions_vars_p): Call it for OMP_CLAUSE. Remove break;
2218 after return stmts.
2219
2fb9a547
AM
22202013-11-22 Andrew MacLeod <amacleod@redhat.com>
2221
2222 * lto.c: Add required include files from gimple.h.
ab20d992
JJ
2223 * lto-lang.c: Likewise.
2224 * lto-object.c: Likewise.
2225 * lto-partition.c: Likewise.
2226 * lto-symtab.c: Likewise.
2fb9a547 2227
fec39fa6
TS
22282013-11-18 Trevor Saunders <tsaunders@mozilla.com>
2229
2230 * lto-partition.c lto-symtab.c lto.c Adjust.
2231
d8a2d370
DN
22322013-11-14 Diego Novillo <dnovillo@google.com>
2233
2234 * lto-lang.c: Include stringpool.h.
2235 Include stor-layout.h.
2236 * lto-partition.c: Include gcc-symtab.h.
2237 * lto.c: Include stor-layout.h.
2238
5e20cdc9
DM
22392013-10-31 David Malcolm <dmalcolm@redhat.com>
2240
2241 Automated part of renaming of symtab_node_base to symtab_node.
2242
2243 Patch autogenerated by rename_symtab.py from
2244 https://github.com/davidmalcolm/gcc-refactoring-scripts
2245 revision 58bb219cc090b2f4516a9297d868c245495ee622
2246
2247 * lto-partition.c (add_symbol_to_partition): Rename
2248 symtab_node_base to symtab_node.
2249 (get_symbol_class): Likewise.
2250 (symbol_partitioned_p): Likewise.
2251 (add_references_to_partition): Likewise.
2252 (add_symbol_to_partition_1): Likewise.
2253 (contained_in_symbol): Likewise.
2254 (add_symbol_to_partition): Likewise.
2255 (lto_1_to_1_map): Likewise.
2256 (lto_max_map): Likewise.
2257 (lto_balanced_map): Likewise.
2258 (privatize_symbol_name): Likewise.
2259 (promote_symbol): Likewise.
2260 (may_need_named_section_p): Likewise.
2261 (rename_statics): Likewise.
2262 (lto_promote_statics_nonwpa): Likewise.
2263 * lto-symtab.c (lto_symtab_merge): Likewise.
2264 (lto_symtab_resolve_replaceable_p): Likewise.
2265 (lto_symtab_symbol_p): Likewise.
2266 (lto_symtab_resolve_can_prevail_p): Likewise.
2267 (lto_symtab_resolve_symbols): Likewise.
2268 (lto_symtab_merge_decls_2): Likewise.
2269 (lto_symtab_merge_decls_1): Likewise.
2270 (lto_symtab_merge_decls): Likewise.
2271 (lto_symtab_merge_symbols_1): Likewise.
2272 (lto_symtab_merge_symbols): Likewise.
2273 (lto_symtab_prevailing_decl): Likewise.
2274 * lto.c (lto_wpa_write_files): Likewise.
2275 (read_cgraph_and_symbols): Likewise.
2276 (do_whole_program_analysis): Likewise.
2277
378cd6b1
DM
22782013-10-30 David Malcolm <dmalcolm@redhat.com>
2279
2280 * lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
2281 declarations onto multiple lines to make things easier for
2282 rename_symtab.py.
2283 (lto_symtab_merge_decls_1): Likewise.
2284 (lto_symtab_merge_symbols_1): Likewise.
2285
939b37da
BI
22862013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2287
2288 * Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
2289 * lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
2290 Plus is enabled.
2291
67348ccc
DM
22922013-10-29 David Malcolm <dmalcolm@redhat.com>
2293
2294 Patch autogenerated by refactor_symtab.py from
2295 https://github.com/davidmalcolm/gcc-refactoring-scripts
2296 revision 58bb219cc090b2f4516a9297d868c245495ee622
2297
2298 * lto-partition.c (lto_promote_cross_file_statics): Update for
2299 conversion of symtab types to a true class hierarchy.
2300 (rename_statics): Likewise.
2301 (promote_symbol): Likewise.
2302 (privatize_symbol_name): Likewise.
2303 (lto_balanced_map): Likewise.
2304 (varpool_node_cmp): Likewise.
2305 (node_cmp): Likewise.
2306 (lto_1_to_1_map): Likewise.
2307 (undo_partition): Likewise.
2308 (add_symbol_to_partition): Likewise.
2309 (contained_in_symbol): Likewise.
2310 (add_symbol_to_partition_1): Likewise.
2311 (add_references_to_partition): Likewise.
2312 (symbol_partitioned_p): Likewise.
2313 (get_symbol_class): Likewise.
2314 (lto_max_map): Likewise.
2315 * lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
2316 (lto_symtab_merge_symbols): Likewise.
2317 (lto_symtab_merge_symbols_1): Likewise.
2318 (lto_symtab_merge_decls): Likewise.
2319 (lto_symtab_merge_decls_1): Likewise.
2320 (lto_symtab_merge_decls_2): Likewise.
2321 (lto_symtab_resolve_symbols): Likewise.
2322 (lto_symtab_resolve_can_prevail_p): Likewise.
2323 (lto_symtab_symbol_p): Likewise.
2324 (lto_symtab_resolve_replaceable_p): Likewise.
2325 (lto_symtab_merge): Likewise.
2326 (lto_varpool_replace_node): Likewise.
2327 (lto_cgraph_replace_node): Likewise.
2328 * lto.c (lto_main): Likewise.
2329 (do_whole_program_analysis): Likewise.
2330 (materialize_cgraph): Likewise.
2331 (read_cgraph_and_symbols): Likewise.
2332 (cmp_partitions_order): Likewise.
2333 (lto_materialize_function): Likewise.
2334 (has_analyzed_clone_p): Likewise.
2335
8e9055ae
AM
23362013-10-29 Andrew MacLeod <amacleod@redhat.com>
2337
ab20d992
JJ
2338 * lto-object.c: Add gimple.h to include list.
2339 * lto-partition.c: Likewise.
8e9055ae 2340
377d9792
AM
23412013-10-18 Andrew MacLeod <amacleod@redhat.com>
2342
2343 * lto.c: Remove tree-flow.h from include list.
2344
fffda8d7
RB
23452013-10-15 Richard Biener <rguenther@suse.de>
2346
2347 * lto.c (hash_canonical_type): Split out from ...
2348 (iterative_hash_canonical_type): ... here. Register types
2349 we recurse to.
2350 (gimple_canonical_type_hash): Adjust.
2351 (gimple_register_canonical_type_1): Split out from ...
2352 (gimple_register_canonical_type): ... here. Cache computed
2353 hash value.
2354 (lto_register_canonical_types): Split into two modes,
2355 clearing and computing TYPE_CANONICAL.
2356 (lto_read_decls): Adjust.
2357 (read_cgraph_and_symbols): Do two passes over global trees,
2358 first clearing then computing TYPE_CANONICAL.
2359
1394237e
RB
23602013-10-14 Richard Biener <rguenther@suse.de>
2361
2362 * lto.c (gimple_canonical_types): Move out-of GC space.
2363 (canonical_type_hash_cache): Make a pointer-map.
2364 (num_canonical_type_hash_entries, num_canonical_type_hash_queries):
2365 New counters.
2366 (iterative_hash_canonical_type): Adjust.
2367 (read_cgraph_and_symbols): Likewise.
2368 (print_lto_report_1): Likewise.
2369
0a387eca
RB
23702013-10-14 Richard Biener <rguenther@suse.de>
2371
2372 * lto.c (gimple_types, type_hash_cache, struct type_pair_d,
2373 type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
2374 gtc_next_dfs_num, compare_type_names_p, gtc_visit,
2375 gimple_types_compatible_p_1, gimple_types_compatible_p,
2376 visit, iterative_hash_name, struct type_hash_pair,
2377 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
2378 gimple_type_eq, gimple_register_type, num_not_merged_types,
2379 num_not_merged_types_in_same_scc, num_not_merged_types_trees,
2380 num_not_merged_types_in_same_scc_trees): Remove old merging code
2381 and statistics.
2382 (lto_read_decls): Do not run old merging code in parallel.
2383 (read_cgraph_and_symbols): Do not init/free old merging
2384 data structures.
2385 (print_lto_report_1): Do not report differences of old vs. new
2386 merging code.
2387
83fd5d11
RB
23882013-10-14 Richard Biener <rguenther@suse.de>
2389
2390 * lto-lang.c (lto_init): Do not re-init canonical types here.
2391 (lto_register_canonical_types): Move to ...
2392 * lto.c (lto_register_canonical_types): ... here.
2393 (gimple_canonical_types, canonical_type_hash_cache,
2394 iterative_hash_canonical_type, gimple_canonical_type_hash,
2395 gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
2396 gimple_register_canonical_type): Add canonical type merging machinery
2397 moved from gimple.c.
2398 (read_cgraph_and_symbols): Init and free canonical type tables
2399 here.
2400 (print_lto_report_1): Report canonical type table stats here.
2401
acf0174b
JJ
24022013-10-11 Jakub Jelinek <jakub@redhat.com>
2403
2404 * lto-lang.c (DEF_FUNCTION_TYPE_8): Define.
2405
7c6fedd2
TT
24062013-09-25 Tom Tromey <tromey@redhat.com>
2407
2408 * Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
2409 (lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
2410 (lto/lto-object.o): Remove.
2411
35f32ad4
RB
24122013-09-06 Richard Biener <rguenther@suse.de>
2413
2414 * lto-symtab.c: Move from gcc/
2415 * lto.h: Include vec.h.
2416 (lto_global_var_decls): Declare.
2417 * lto.c (lto_global_var_decls): Move definition here.
2418 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
2419 (lto-symtab.o): Add.
2420 * config-lang.in (gtfiles): Add lto.h.
2421
49322b12
JH
24222013-08-31 Jan Hubicka <jh@suse.cz>
2423
ab20d992 2424 * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
49322b12
JH
2425 DECL_FIELD_OFFSET can contain an reference to variable.
2426
31f1f73b
JH
24272013-08-31 Jan Hubicka <jh@suse.cz>
2428
2429 * lto.c (tree_with_vars): Turn into vector.
2430 (MAYBE_REMEMBER_WITH_VARS): Change to...
2431 (CHECK_VAR): ... this one.
2432 (CHECK_NO_VAR): New macro.
2433 (maybe_remember_with_vars_typed): Turn to ...
2434 (mentions_vars_p_typed): ... this one.
2435 (maybe_remember_with_vars_common): Turn to ...
2436 (mentions_vars_p_comon): ... this one.
2437 (maybe_remember_with_vars_decl_minimal): Turn to ...
2438 (mentions_vars_p_decl_minmal): ... this one.
2439 (maybe_remember_with_vars_decl_common): Turn to ...
2440 (mentions_vars_p_decl_common): ... this one.
2441 (maybe_remember_with_vars_decl_with_vis): Turn to ...
2442 (mentions_vars_p_decl_with_vis): ... this one.
2443 (maybe_remember_with_vars_decl_non_common): Turn to ...
2444 (mentions_vars_p_decl_non_common): ... this one.
2445 (maybe_remember_with_vars_function): Turn to ...
2446 (mentions_vars_p_function): ... this one.
2447 (maybe_remember_with_vars_field_decl): Turn to ...
2448 (mentions_vars_p_field_decl): ... this one.
2449 (maybe_remember_with_vars_type): Turn to ...
2450 (mentions_vars_p_type): ... this one.
2451 (maybe_remember_with_vars_binfo): Turn to ...
2452 (mentions_vars_p_binfo): ... this one.
2453 (maybe_remember_with_vars_constructor): Turn to ...
2454 (mentions_vars_p_constructor): ... this one.
2455 (maybe_remember_with_vars_expr): Turn to ...
2456 (mentions_vars_p_expr): ... this one.
2457 (maybe_remember_with_vars): Turn to ...
2458 (mentions_vars_p): ... this one.
2459 (lto_read_decls): Update.
2460 (LTO_SET_PREVAIL): Do not call function for internal decls.
2461 (lto_fixup_prevailing_decls): Update to match mentions_vars_p;
2462 check that something was updated.
2463 (lto_fixup_state): Do not care about internal decls.
2464 (lto_fixup_decls): Update.
2465 (read_cgraph_and_symbols): Update.
2466
256eefa9
JH
24672013-08-29 Jan Hubicka <jh@suse.cz>
2468
2469 * lto.c (read_cgraph_and_symbols): Free decl states.
2470
0170f33c
JH
24712013-08-29 Jan Hubicka <jh@suse.cz>
2472
2473 * lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
2474 DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
2475 TYPE_FINAL_P.
2476
c01c111b
JH
24772013-08-28 Jan Hubicka <jh@suse.cz>
2478
2479 * lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
2480 DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
2481 (unify_scc): Do checking assert.
2482
6a49f3c9
JH
24832013-08-06 Jan Hubicka <jh@suse.cz>
2484 Martin Liska <marxin.liska@gmail.com>
2485
ab20d992 2486 * lto-partition.c (lto_balanced_map): Always base order on
6a49f3c9
JH
2487 source file order.
2488
a2e2a668
JH
24892013-08-06 Jan Hubicka <jh@suse.cz>
2490
2491 * lto.c (lto_materialize_function): Do not read body anymore.
2492
815effe1
JH
24932013-08-02 Jan Hubicka <jh@suse.cz>
2494
2495 * lto.c (lto_materialize_function): Do not push struct function.
2496 * lto-partition.c (get_symbol_class): Handle abstracts correctly.
2497 (may_need_named_section_p): Even abstract origins may need
2498 named section.
2499
315f8c0e
DM
25002013-07-30 David Malcolm <dmalcolm@redhat.com>
2501
2502 * Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
2503 PASS_MANAGER_H.
2504
2505 * lto.c (do_whole_program_analysis): Update for move of
2506 all_regular_ipa_passes from a global to a field of class
2507 pass_manager.
2508
1aa95df7
OB
25092013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2510
2511 * lto-partition.c: Fix typos.
2512
c525ba9a
JH
25132013-06-20 Jan Hubicka <jh@suse.cz>
2514
2515 * lto-partition.c (lto_balanced_map): Fix -fno-toplevel-reorder
2516 partitioning of variables.
2517
7a89ad00
JH
25182013-06-20 Jan Hubicka <jh@suse.cz>
2519
2520 * lto.c (read_cgraph_and_symbols): Set cgraph state.
2521
6a6dac52
JH
25222013-06-19 Jan Hubicka <jh@suse.cz>
2523
2524 * lto-partition.c (add_references_to_partition): Use
2525 ctor_for_folding.
2526
ac0511f2
RB
25272013-06-18 Richard Biener <rguenther@suse.de>
2528
2529 * lto.c (lto_register_var_decl_in_symtab): Pass in cache index
2530 and use it.
2531 (lto_register_function_decl_in_symtab): Likewise.
2532 (cmp_tree): New function.
2533 (unify_scc): Instead of using the streamer cache map from entry
2534 to cache index match up the two maps we have by sorting them.
2535 Adjust calls to lto_register_var_decl_in_symtab and
2536 lto_register_function_decl_in_symtab.
2537
ee03e71d
RB
25382013-06-17 Richard Biener <rguenther@suse.de>
2539
2540 * Make-lang.in (lto.o): Add $(DATA_STREAMER_H) dependency.
2541 * lto.c: Include data-streamer.h.
2542 (lto_read_in_decl_state): Use streamer_tree_cache_get_tree.
2543 (gimple_type_leader_entry_s, gimple_type_leader,
2544 gimple_lookup_type_leader): Remove.
2545 (gtc_visit): Simplify.
2546 (gimple_types_compatible_p): Likewise.
2547 (gimple_register_type_1): Likewise. Merge into ...
2548 (gimple_register_type): ... this. Keep it as legacy for
2549 statistics purposes for now.
2550 (fixup_integer_cst): Remove.
2551 (LTO_FIXUP_TREE, lto_fixup_types, lto_ft_*): Simplify and
2552 rename to ...
2553 (MAYBE_REMEMBER_WITH_VARS, maybe_remember_with_vars,
2554 maybe_remember_with_vars_*): ... these.
2555 (uniquify_nodes): Remove.
2556 (lto_fixup_prevailing_type): New function.
2557 (struct tree_scc, struct tree_scc_hasher): New type and hasher.
2558 (tree_scc_hash, tree_scc_hash_obstack): New globals.
2559 (num_merged_types, num_prevailing_types, num_not_merged_types,
2560 num_not_merged_types_in_same_scc, total_scc_size, num_sccs_read,
2561 total_scc_size_merged, num_sccs_merged, num_scc_compares,
2562 num_scc_compare_collisions): New global counters.
2563 (compare_tree_sccs_1): New function.
2564 (compare_tree_sccs): Likewise.
2565 (unify_scc): Likewise.
2566 (lto_read_decls): Stream in tree SCCs and unify them on the
2567 way in. Finalize prevailing SCC tree members.
2568 (read_cgraph_and_symbols): Do not initialize or free gimple_type_leader.
2569 Allocate and free tree_scc_hash_obstack and tree_scc_hash, do not bother
2570 to ggc-collect during merging.
2571 (print_lto_report_1): Adjust for new merging code.
2572
ca0f62a8
JH
25732013-06-12 Jan Hubicka <jh@suse.cz>
2574
2575 * lto.c (read_cgraph_and_symbols): Set cgraph into streaming state.
2576
bbf9ad07
JH
25772013-06-12 Jan Hubicka <jh@suse.cz>
2578
2579 * lto.c (register_resolution): Take lto_file_data argument.
2580 (lto_register_var_decl_in_symtab,
2581 lto_register_function_decl_in_symtab): Update.
2582 (read_cgraph_and_symbols): Update resolution_map handling.
2583
ecdbd01a 25842013-06-11 Jan Hubicka <jh@suse.cz>
08346abd
JH
2585
2586 * lto-partition.c (get_symbol_class): Simplify weakref handling.
2587 (add_symbol_to_partition_1): Likewise.
2588 (contained_in_symbol): Likewise.
2589 (lto_balanced_map): Likewise.
2590 (rename_statics): Drop weakref.
2591
a367df53
RB
25922013-06-05 Richard Biener <rguenther@suse.de>
2593
2594 * lto.c (num_merged_types): New global variable.
2595 (uniquify_nodes): Increase num_merged_types when merging a type.
2596 (print_lto_report_1): Output the number of merged types.
2597
40a7fe1e
JH
25982013-06-01 Jan Hubicka <jh@suse.cz>
2599
2600 * lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
2601 lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
2602 (do_whole_program_analysis): Update dumping.
2603
e70670cf
JH
26042013-05-29 Jan Hubicka <jh@suse.cz>
2605
2606 * lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
2607 flags.
2608 * lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
2609
8ee05051
JH
26102013-05-15 Jan Hubicka <jh@suse.cz>
2611
2612 * lto-partition.c (privatize_symbol_name): Return true when
2613 privatizing happened.
2614 (rename_statics): Do not go into infinite loop when privatizing
2615 is not needed.
2616
427b248d
JM
26172013-05-16 Jason Merrill <jason@redhat.com>
2618
2619 * Make-lang.in ($(LTO_EXE)): Use link mutex.
2620
9de04252
MJ
26212013-05-15 Martin Jambor <mjambor@suse.cz>
2622
2623 * lto-partition.c (lto_balanced_map): Print symbol order instead
2624 of node uids.
2625
2d6e4603
JH
26262013-05-15 Jan Hubicka <jh@suse.cz>
2627
2628 PR lto/57038
2629 PR lto/47375
2630 * lto-partition.c (get_symbol_class): Fix weakrefs.
2631 (lto_balanced_map): Fix weakrefs.
2632 (privatize_symbol_name): Remove unnecesary label.
2633 (rename_statics): Handle weakrefs as statics.
2634
64cfa6c0
JH
26352013-05-09 Jan Hubicka <jh@suse.cz>
2636 Richard Biener <rguenther@suse.de>
2637
2638 * lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
2639 (lto_register_var_decl_in_symtab): Likewise.
2640 (lto_main): Promote statics.
2641 * lto-partition.c (privatize_symbol_name): New function.
2642 (promote_symbol): Use it.
2643 (may_need_named_section_p): New predicate.
2644 (rename_statics): New functions.
2645 (lto_promote_cross_file_statics): Simplify; do renaming.
2646 (lto_promote_statics_nonwpa): New function.
2647 * lto-partition.h (lto_promote_statics_nonwpa): New function.
2648
e45cde98
RB
26492013-02-08 Richard Biener <rguenther@suse.de>
2650
2651 PR lto/56231
2652 * lto-lang.c (lto_init): Do not enter a dummy file.
2653
6edc3e32
UB
26542013-02-07 Uros Bizjak <ubizjak@gmail.com>
2655
2656 PR bootstrap/56227
2657 * lto.c (lto_resolution_ready): Use %wx instead of
2658 HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
2659
ed73881e
RG
26602013-02-04 Richard Guenther <rguenther@suse.de>
2661
2662 PR lto/56168
2663 * lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
2664 or lto_fixup_decls at LTRANS time.
2665
a19b1432
JH
26662013-01-09 Jan Hubicka <jh@suse.cz>
2667
2668 PR lto/45375
2669 * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.
2670
49c01f87
L
26712012-12-10 H.J. Lu <hongjiu.lu@intel.com>
2672
2673 PR lto/55466
2674 * lto.c (lto_register_var_decl_in_symtab): Don't record static
2675 variables.
2676 (lto_main): Record the global variables if WPA isn't enabled.
2677
6e1aa848
DN
26782012-11-20 Diego Novillo <dnovillo@google.com>
2679 Jakub Jelinek <jakub@redhat.com>
2680
2681 * lto.c: Replace all vec<T, A>() initializers with vNULL.
2682
9771b263
DN
26832012-11-16 Diego Novillo <dnovillo@google.com>
2684
2685 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2686
2687 * lto-lang.c: Use new vec API in vec.h.
2688 * lto-partition.c: Likewise.
2689 * lto-partition.h: Likewise.
2690 * lto.c: Likewise.
2691
24551b9c
LC
26922012-10-31 Lawrence Crowl <crowl@google.com>
2693
2694 * lto.c (lto_wpa_write_files): Change symtab checking to a checked
2695 down-cast via dyn_cast.
2696 * lto-partition.c (add_symbol_to_partition_1): Likewise.
2697 (undo_partition): Likewise.
2698 (lto_balanced_map): Likewise.
2699 (get_symbol_class): Likewise and via is_a.
2700 (lto_balanced_map): Change symtab checking to is_a.
2701
aec06f6f
RB
27022012-10-12 Richard Biener <rguenther@suse.de>
2703
2704 PR lto/54898
2705 * lto.c (gimple_types_compatible_p_1): Also compare
2706 TYPE_MAIN_VARIANT.
2707 (iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.
2708
0b8c30f9
TB
27092012-10-09 Tobias Burnus <burnus@net-b.de>
2710
2711 * lto-lang.c (lto_register_builtin_type): Avoid useless
2712 decl creation.
2713 * lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.
2714
da3202a8
TB
27152012-10-08 Tobias Burnus <burnus@net-b.de>
2716
2717 * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
2718 Free lto_file struct after closing the file.
2719
2512a443
JH
27202012-10-08 Jan Hubicka <jh@suse.cz>
2721
ab20d992 2722 * lto.c (remember_with_vars): Also fixup INTEGER_CST.
2512a443
JH
2723 (fixup_integer_cst): New functoin.
2724 (lto_ft_type): Fixup BASETYPE of methods and offsets.
2725
e75f8f79
JH
27262012-10-07 Jan Hubicka <jh@suse.cz>
2727
2728 * lto.c (read_cgraph_and_symbols): Release type merging hash early;
2729 release input encoders.
2730 * lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
2731
46591697
JH
27322012-10-06 Jan Hubicka <jh@suse.cz>
2733
ab20d992 2734 PR lto/54790
46591697
JH
2735 * lto.c (resolution_map): New static var.
2736 (register_resolution): New function.
2737 (lto_register_var_decl_in_symtab): Use it.
2738 (read_cgraph_and_symbols): Copy resolutions into the symtab.
2739
af16bc76
MJ
27402012-09-20 Martin Jambor <mjambor@suse.cz>
2741
2742 * lto.c (lto_materialize_function): Call push_struct_function and
2743 pop_cfun.
2744
5368224f
DC
27452012-09-19 Dehao Chen <dehao@google.com>
2746
ab20d992 2747 * lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
5368224f 2748
b5493fb2
JH
27492012-09-19 Jan Hubicka <jh@suse.cz>
2750
2751 * lto.c (lto_materialize_function): Update confused comment.
2752 (read_cgraph_and_symbols): Do not free symtab.
2753
c3c445e1
JH
27542012-09-12 Jan Hubicka <jh@suse.cz>
2755
2756 * lto.c (do_whole_program_analysis): Care timevars, statistics and
2757 AUX pointer cleaning. Add max partitioning.
2758 * lto-partition.c (enum symbol_class): New.
2759 (get_symbol_class): New function.
2760 (symbol_partitioned_p): New function.
2761 (add_references_to_partition): Remove.
2762 (add_aliases_to_partition): Remove.
2763 (add_cgraph_node_to_partition_1): Remove.
2764 (add_cgraph_node_to_partition): Remove.
2765 (add_symbol_to_partition): New function.
2766 (add_symbol_to_partition_1): New function.
2767 (contained_in_symbol): New function.
2768 (partition_cgraph_node_p): Remove.
2769 (partition_varpool_node_p): Remove.
2770 (partition_symbol_p): Remove.
2771 (lto_1_to_1_map): Cleanup.
2772 (lto_max_map): New.
2773 (lto_balanced_map): Update.
2774 (lto_promote_cross_file_statics): Update.
2775 * lto-partition.h (lto_max_map): Declare.
2776 * timevar.def (TV_WHOPR_PARTITIONING): New timevar.
2777
b5c7cdfb
JH
27782012-09-11 Jan Hubicka <jh@suse.cz>
2779
2780 PR lto/54312
2781 * lto.c (uniquify_nodes): Remove quadratic loop checking if the
2782 type is variant leader.
2783
b29402f0
RG
27842012-09-11 Richard Guenther <rguenther@suse.de>
2785
2786 * lto.c (enum gtc_mode): Remove.
2787 (struct type_pair_d): Adjust.
2788 (lookup_type_pair): Likewise.
2789 (gimple_type_leader): Do not mark as deletable.
2790 (gimple_lookup_type_leader): Adjust.
2791 (gtc_visit): Likewise.
2792 (gimple_types_compatible_p_1): Likewise.
2793 (gimple_types_compatible_p): Likewise.
2794 (gimple_type_hash): Likewise.
2795 (gimple_register_type): Likewise.
2796 (read_cgraph_and_symbols): Manage lifetime of tables
2797 here.
2798
b8f4e58f
RG
27992012-09-11 Richard Guenther <rguenther@suse.de>
2800
2801 * lto.c (gimple_types, type_hash_cache, enum gtc_mode,
2802 struct type_pair_d, lookup_type_pair, struct sccs,
2803 next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
2804 gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
2805 gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
2806 visit, iterative_hash_name, struct type_hash_pair,
2807 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
2808 gimple_type_eq, gimple_register_type_1, gimple_register_type):
2809 Move here from gimple.c
2810 (read_cgraph_and_symbols): Free hash tables here.
2811 (print_lto_report_1): New function wrapping print_lto_report.
2812 (do_whole_program_analysis): Call it.
2813 (lto_main): Likewise.
2814
1cdbb3f9
JH
28152012-09-10 Jan Hubicka <jh@suse.cz>
2816
2817 * lto-partition.c (partition_symbol_p): Forward declare.
2818 (add_references_to_partition): Reimplement using partition_symbol_p.
2819 (add_aliases_to_partition): Break out from add_references_to_partition;
2820 reimplement using partition_symbol_p.
2821 (add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
2822 add sanity checks.
2823 (add_varpool_node_to_partition): Use add_aliases_to_partition.
2824 (partition_varpool_node_p): Do not special case aliases.
2825
b4661bfe
JH
28262012-08-12 Jan Hubicka <jh@suse.cz>
2827
2828 * lto.c (lto_wpa_write_files): Do not delete partition encoder;
2829 it is deleted after streaming.
2830 * lto-partition.c (partition_symbol_p): New function.
2831 (promote_var, promote_fn): Remove.
2832 (promote_symbol): New function.
2833 (lto_promote_cross_file_statics): First compute boundaries; rewrite
2834 to lookup the actual boundaries instead of computing them ad-hoc.
2835
7b99cca4
JH
28362012-08-12 Jan Hubicka <jh@suse.cz>
2837
2838 Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
2839 in partitioning.
2840 * lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
2841 by encoder.
2842 * lto-partition.c (new_partition): Update.
2843 * lto.c (cmp_partitions_order): Update.
2844 (lto_wpa_write_files): Update.
2845 (free_ltrans_partitions): Update.
2846 (add_references_to_partition): Update.
2847 (add_cgraph_node_to_partition_1): Update.
2848 (add_cgraph_node_to_partition): Update.
2849 (add_varpool_node_to_partition): Update.
2850 (undo_partition): Update.
2851 (lto_balanced_map): Update.
2852 (set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
2853 set_referenced_from_this_partition_p): Update.
2854 (lto_promote_cross_file_statics): Update.
2855
f27c1867
JH
28562012-08-12 Jan Hubicka <jh@suse.cz>
2857
2858 * lto-partition.c (set_referenced_from_other_partition_p,
2859 set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
2860 New functions.
2861 (lto_promote_cross_file_statics): Use them.
2862
ab96cc5b
JH
28632012-07-24 Jan Hubicka <jh@suse.cz>
2864
2865 * lto.c (read_cgraph_and_symbols): Use input_symtab.
2866
0229aee9
UB
28672012-07-24 Uros Bizjak <ubizjak@gmail.com>
2868
2869 * lto-tree.h (lang_decl): Add variable_size GTY option.
2870
7ee2468b
SB
28712012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2872
2873 * lto.c: Do not include timevar.h.
2874 * Make-lang.in: Fix dependencies.
2875
a910399d
LC
28762012-06-18 Lawrence Crowl <crowl@google.com>
2877
ab20d992 2878 * lto.c (do_whole_program_analysis): Rename use of TV_PHASE_CGRAPH to
a910399d
LC
2879 TV_PHASE_OPT_GEN. Use new timevar TV_PHASE_STREAM_OUT around the call
2880 to lto_wpa_write_files.
ab20d992 2881 (lto_main): Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Move
a910399d
LC
2882 start of TV_PHASE_OPT_GEN to include call to materialize_cgraph. Use
2883 TV_PHASE_SETUP for the call to lto_init. Use new timevar
2884 TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
2885 Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
2886 to be a front end, but is not one.
2887
877ab5e9
JH
28882012-05-18 Jan Hubicka <jh@suse.cz>
2889
2890 * lto.c (lto_materialize_constructors_and_inits): Remove.
2891 (read_cgraph_and_symbols): Remove handling of alias pairs.
2892
6649df51
JH
28932012-05-17 Jan Hubicka <jh@suse.cz>
2894
2895 * lto-partition.c (add_references_to_partition): Handle external vars.
2896 (partition_varpool_node_p): Likewise.
2897 (lto_promote_cross_file_statics): Do not promote externals.
2898
d1ede5f4
BS
28992012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2900
2901 * lto-lang.c (handle_fnspec_attribute): New static function.
2902 (lto_attribute_table): Add "fn spec".
2903 (DEF_ATTR_STRING): Define and undefine along with the other macros.
2904
0d6bf48c
JH
29052012-05-04 Jan Hubicka <jh@suse.cz>
2906
2907 * lto.c (do_whole_program_analysis): Set timevars correctly.
2908 (lto_main): Likewise.
d1ede5f4 2909
1d67dde8
RB
29102012-05-04 Richard Guenther <rguenther@suse.de>
2911
2912 * lang.opt (fwpa): Do not mark as Optimization.
2913 (fltrans): Likewise.
2914
65d630d4
JH
29152012-04-30 Jan Hubicka <jh@suse.cz>
2916
2917 * lto.c (lto_main): Use compile ().
1d67dde8
RB
2918 * lto-partition.c (partition_cgraph_node_p): Use
2919 symtab_used_from_object_file_p.
65d630d4
JH
2920 (partition_varpool_node_p): Likewise.
2921
ead84f73
JH
29222012-04-20 Jan Hubicka <jh@suse.cz>
2923
2924 * lto-partition.c (partition_cgraph_node_p): Use force_output.
2925
5932a4d4
JH
29262012-04-18 Jan Hubicka <jh@suse.cz>
2927
2928 * lto-partition.c (add_references_to_partition, lto_balanced_map):
2929 Update for new ipa-ref API.
2930
65c70e6b
JH
29312012-04-16 Jan Hubicka <jh@suse.cz>
2932
2933 * lto.c (read_cgraph_and_symbols): Use FOR_EACH
92a285c1 2934 walkers to walk cgraph and varpool.
65c70e6b
JH
2935 (materialize_cgraph): Likewise.
2936 * lto-partition.c (lto_1_to_1_map): Likewise.
2937 (lto_balanced_map): Likewise.
2938 (lto_promote_cross_file_statics): Likewise.
2939
960bfb69
JH
29402012-04-14 Jan Hubicka <jh@suse.cz>
2941
2942 * lto.c: Update field referenced for new cgraph/varpool layout.
2943 * lto-partition.c: Likewise.
2944
a66dc285
JH
29452012-04-11 Jan Hubicka <jh@suse.cz>
2946
2947 * lto.c: Update copyright; remove params.h, ipa-inline.h
2948 and ipa-utils.h inlines; inline lto-partition.h
2949 (ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
2950 add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
2951 add_references_to_partition, add_cgraph_node_to_partition_1,
2952 add_cgraph_node_to_partition, add_varpool_node_to_partition,
2953 undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
2954 lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
2955 promote_var, promote_fn, lto_promote_cross_file_statics): move to...
2956 * lto-partition.c: ... here; new file.
2957 * lto-partition.h: New file.
2958 * Make-lang.in (lto.o): Update dependencies.
2959 (lto-partition.o): New.
2960
f3b249e5
RG
29612012-04-05 Richard Guenther <rguenther@suse.de>
2962
2963 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Remove
2964 definition.
2965
21fa2faf
RG
29662012-03-12 Richard Guenther <rguenther@suse.de>
2967
2968 * lto-lang.c (builtin_type_for_size): Use lto_type_for_size.
2969
6bb485a3
RG
29702012-03-06 Richard Guenther <rguenther@suse.de>
2971
2972 PR lto/52097
2973 * lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.
2974
95510497
RG
29752012-02-28 Richard Guenther <rguenther@suse.de>
2976
2977 PR lto/52400
2978 * lto.c (lto_register_function_decl_in_symtab): Do not register
2979 a reverse renamed decl mapping.
2980
09228fef
JJ
29812012-01-06 Jakub Jelinek <jakub@redhat.com>
2982
2983 PR lto/51774
2984 * lto-lang.c (handle_returns_twice_attribute): New function.
2985 (lto_attribute_table): Add returns_twice attribute.
2986
b03eda0d
RG
29872011-12-21 Richard Guenther <rguenther@suse.de>
2988
2989 * lto.c (GIMPLE_REGISTER_TYPE): New define.
2990 (LTO_FIXUP_TREE): Use it.
2991 (uniquify_nodes): Mark new non-prevailing types and avoid
2992 calling gimple_register_type on others.
2993 (lto_read_decls): Add comment.
2994
4ad9a9de
EB
29952011-12-13 Eric Botcazou <ebotcazou@adacore.com>
2996
2997 * lto.h (lto_parse_hex): Delete.
2998 * lto.c (lto_read_decls): Use 'int' for offsets.
2999 (lto_parse_hex): Make static and return proper 64-bit host type.
3000 (lto_resolution_read): Use proper 64-bit host type.
3001
ea973bad
RG
30022011-12-13 Richard Guenther <rguenther@suse.de>
3003
3004 PR lto/48354
3005 * lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
3006 with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.
3007
c8218030
UB
30082011-12-01 Uros Bizjak <ubizjak@gmail.com>
3009
3010 * lto-lang.c (lto_attribute_table): Handle *tm regparm.
3011 (ignore_attribute): New.
3012
57ac2606
AH
30132011-11-21 Aldy Hernandez <aldyh@redhat.com>
3014
3015 * lto-lang.c (lto_attribute_table): Handle transaction_pure.
3016 (handle_transaction_pure_attribute): New.
3017
52a35ef7
RG
30182011-11-03 Richard Guenther <rguenther@suse.de>
3019
3020 PR lto/44965
3021 * lto-lang.c (lto_post_options): Do not read file options.
3022 * lto.c (lto_read_all_file_options): Remove.
3023 (lto_init): Call lto_set_in_hooks here.
3024
51973b1e
JH
30252011-10-09 Jan Hubicka <jh@suse.cz>
3026
3027 * lto.c (node_cmp, varpool_node_cmp): New functions.
3028 (lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
3029 (cmp_partitions): Rename to ...
3030 (cmp_partitions_size): ... this one.
3031 (cmp_partitions_order): New function.
3032 (lto_wpa_write_files): Sort partitions by order when
3033 -fno-toplevel-reorder is used.
3034
5958009b
AK
30352011-10-09 Andi Kleen <ak@linux.intel.com>
3036
3037 * lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
3038
e79983f4
MM
30392011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3040
3041 * lto-lang.c (def_builtin_1): Delete old interface with two
3042 parallel arrays to hold standard builtin declarations, and replace
3043 it with a function based interface that can support creating
3044 builtins on the fly in the future. Change all uses, and poison
3045 the old names. Make sure 0 is not a legitimate builtin index.
3046
ecdbd01a 30472011-10-02 Andi Kleen <ak@linux.intel.com>
c17d253c
AK
3048
3049 * lto-object.c (lto_obj_add_section_data): Add list.
3050 (lto_obj_add_section): Fill in list.
3051 (ltoobj_build_section_table): Pass through list.
3052 * lto.c (file_data_list): Declare.
3053 (create_subid_section_table): Pass arguments directly.
3054 Fill in list of file_datas.
3055 (lwstate): Delete.
3056 (lto_create_files_from_ids): Pass in direct arguments.
3057 Don't maintain list.
3058 (lto_file_read): Use explicit section and file data lists.
3059 (lto_read_all_file_options): Pass in section_list.
3060 * lto.h (lto_obj_build_section_table): Add list.
3061 (lto_section_slot): Add next.
3062 (lto_section_list): Declare.
3063
ed0d2da0
JH
30642011-10-02 Jan Hubicka <jh@suse.cz>
3065
3066 PR lto/47247
3067 * common.c (lto_resolution_str): Add new resolution.
3068 * common.h (lto_resolution_str): Likewise.
3069
ad7715f3
L
30702011-09-30 H.J. Lu <hongjiu.lu@intel.com>
3071 Andi Kleen <ak@linux.intel.com>
3072
3073 PR lto/50568
3074 * lto.c (lto_splay_tree_delete_id): New.
3075 (lto_splay_tree_compare_ids): Likewise.
3076 (lto_splay_tree_lookup): Likewise.
3077 (lto_splay_tree_id_equal_p): Likewise.
3078 (lto_splay_tree_insert): Likewise.
3079 (lto_splay_tree_new): Likewise.
3080 (lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
3081 Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
3082 (create_subid_section_table): Use lto_splay_tree_lookup and
3083 lto_splay_tree_insert.
3084 (lto_file_read): Use lto_splay_tree_new.
3085
ecdbd01a 30862011-09-26 Andi Kleen <ak@linux.intel.com>
dde8b360
AK
3087
3088 * lto.c (lto_resolution_read): Remove id dumping.
3089 (lto_section_with_id): Turn id HOST_WIDE_ID.
3090 (create_subid_section_table): Dito.
3091
892a371f
DS
30922011-08-28 Dodji Seketeli <dodji@redhat.com>
3093
3094 * lto-lang.c (lto_init): Likewise. Also, avoid calling
3095 linemap_add twice.
3096
f82d1a94
MJ
30972011-08-11 Martin Jambor <mjambor@suse.cz>
3098
3099 * lto.c (uniquify_nodes): Use main variant's BINFO too.
3100
f0efc7aa
DN
31012011-08-08 Diego Novillo <dnovillo@google.com>
3102
3103 * Make-lang.in (lto/lto.o): Add TREE_STREAMER_H.
3104 * lto.c: Include tree-streamer.h.
3105
1a072294
RG
31062011-07-06 Richard Guenther <rguenther@suse.de>
3107
3108 * lto-lang.c (lto_init):
3109 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3110
7496868d
JH
31112011-06-11 Jan Hubicka <jh@suse.cz>
3112
10f13f22 3113 PR lto/48246
7496868d
JH
3114 * lto.c (lto_1_to_1_map): Don't create empty partitions.
3115 (lto_balanced_map): Likewise.
3116
39e2db00
JH
31172011-06-11 Jan Hubicka <jh@suse.cz>
3118
3119 * lto.c (add_cgraph_node_to_partition_1): Break out from ...
3120 (add_cgraph_node_to_partition) ... here; walk aliases.
3121 (lto_1_to_1_map): Remove same body alias code.
3122 (promote_fn): Likewise.
3123 (lto_promote_cross_file_statics): Update comment.
3124
28628ea6
DN
31252011-06-07 Diego Novillo <dnovillo@google.com>
3126
3127 * lto.c (uniquify_nodes): Move code to register decls to
3128 the loop that computes canonical types.
3129
009db074
RG
31302011-06-07 Richard Guenther <rguenther@suse.de>
3131
3132 * lto-lang.c (lto_init): Do not set
3133 size_type_node or call set_sizetype.
3134
47c79d56
DN
31352011-06-04 Diego Novillo <dnovillo@google.com>
3136
3137 * lto.c (lto_init): New.
3138 (lto_main): Call it.
3139
d5828cc7
DN
31402011-06-03 Diego Novillo <dnovillo@google.com>
3141
3142 * lto.c (get_resolution): Move from lto-streamer-in.c.
3143 (lto_register_var_decl_in_symtab): Likewise.
3144 (lto_register_function_decl_in_symtab): Likewise.
3145 (uniquify_nodes): Call lto_register_var_decl and
3146 lto_register_function_decl_in_symtab after reading a new
3147 VAR_DECL or FUNCTION_DECL.
3148
6807da97
RG
31492011-06-01 Richard Guenther <rguenther@suse.de>
3150
3151 * lto-lang.c (lto_register_canonical_types): New function.
3152 (lto_init): Register common nodes with the canonical type machinery.
3153 Do not play tricks with char_type_node.
3154
d74be317
RG
31552011-05-26 Richard Guenther <rguenther@suse.de>
3156
3157 * lto.c (uniquify_nodes): Fix bug in one of the previous changes.
3158
d9f8303f
NF
31592011-05-25 Nathan Froyd <froydnj@codesourcery.com>
3160
3161 * lto.c (lto_ft_typed): New function.
3162 (lto_ft_common): Call it.
3163 (lto_ft_constructor): Likewise.
3164 (lto_ft_expr): Likewise.
3165 (lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
3166 TREE_CHAIN.
3167
fb291a1e
RG
31682011-05-20 Richard Guenther <rguenther@suse.de>
3169
3170 * lto.c (lto_ft_common): Remove pointer-to chain teardown.
3171 (lto_ft_type): Move main-variant and pointer-to chain building ...
3172 (uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
3173 in a separate final loop.
3174
31b3ca64
RG
31752011-05-19 Richard Guenther <rguenther@suse.de>
3176
3177 * lto.c (uniquify_nodes): First register all types before
3178 fixing up the tree SCC.
3179
35d828c5
JH
31802011-05-11 Jan Hubicka <jh@suse.cz>
3181
3182 PR lto/48952
3183 * lto.c (do_whole_program_analysis): Do not register cgraph hooks.
3184
51545682
NF
31852011-05-11 Nathan Froyd <froydnj@codesourcery.com>
3186
3187 * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
3188 location of binfo field.
3189 (lto_fixup_prevailing_decls): Likewise.
3190
8242dd04
NF
31912011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3192
3193 * lto-lang.c (def_fn_type): Don't call build_function_type, call
3194 build_function_type_array or build_varargs_function_type_array
3195 instead.
3196
c99c0026
EB
31972011-05-07 Eric Botcazou <ebotcazou@adacore.com>
3198
3199 * lto-lang.c (global_bindings_p): Return bool.
3200
c47d0034
JH
32012011-05-07 Jan Hubicka <jh@suse.cz>
3202
a9bcb3f0
EB
3203 * lto.c (lto_materialize_function): Use
3204 cgraph_function_with_gimple_body_p.
3205 (add_cgraph_node_to_partition): Do not re-add items to partition;
3206 handle thunks.
c47d0034
JH
3207 (add_varpool_node_to_partition): Do not re-add items to partition.
3208
bb3398ca
JH
32092011-05-03 Jan Hubicka <jh@suse.cz>
3210
3211 * lto.c (free_ltrans_partitions): Fix accidental commit.
3212
1cb1a99f
JH
32132011-05-03 Jan Hubicka <jh@suse.cz>
3214
3215 * lto.c (ltrans_partition_def): Remove GTY annotations.
3216 (ltrans_partitions): Move to heap.
3217 (new_partition): Update.
3218 (free_ltrans_partitions): New function.
3219 (lto_wpa_write_files): Use it.
3220
af8bca3c
MJ
32212011-04-29 Martin Jambor <mjambor@suse.cz>
3222
3223 * lto.c: Include ipa-utils.h.
3224 (lto_balanced_map): Update call to ipa_reverse_postorder.
3225 * Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
3226
b823cdfe
MM
32272011-04-29 Michael Matz <matz@suse.de>
3228
3229 * lto.c (toplevel): Include tree-flow.h.
3230 (lto_read_in_decl_state): Don't merge types here.
3231 (tree_with_vars): New static hash table.
3232 (remember_with_vars): New static functions.
3233 (LTO_FIXUP_TYPE): New macro.
3234 (lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
3235 lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
3236 lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
3237 lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
3238 (lto_read_decls): Uniquify while reading in trees.
3239 (lto_fixup_data_t, LTO_FIXUP_SUBTREE,
3240 LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
3241 lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
3242 lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
3243 lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
3244 lto_fixup_tree): Remove.
3245 (lto_fixup_state): Remove data argument. Use
3246 lto_symtab_prevailing_decl.
3247 (LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
3248 (lto_fixup_prevailing_decls): New function.
3249 (lto_fixup_state_aux): Argument aux is unused.
3250 (lto_fixup_decls): Don't allocate pointer sets, don't use
3251 lto_fixup_tree, use lto_fixup_prevailing_decls.
3252 (read_cgraph_and_symbols): Allocate and remove tree_with_vars.
3253 * Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
3254
b9843260
EB
32552011-04-16 Eric Botcazou <ebotcazou@adacore.com>
3256
3257 * lto.c (lto_balanced_map): Fix typos in head comment.
3258 (lto_promote_cross_file_statics): Fix long lines and remove redundant
3259 test.
3260
e7f23018
JH
32612011-04-16 Jan Hubicka <jh@suse.cz>
3262
3263 * lto.c (lto_balanced_map): Update.
3264
10a5dd5d
JH
32652011-04-14 Jan Hubicka <jh@suse.cz>
3266
3267 * lto.c: Include ipa-inline.h
b9843260
EB
3268 (add_cgraph_node_to_partition, undo_partition): Use inline_summary
3269 accessor.
10a5dd5d
JH
3270 (ipa_node_duplication_hook): Fix declaration.
3271 * Make-lang.in (lto.o): Update dependencies.
3272
81f653d6
NF
32732011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3274
3275 * lto-tree.h (union lang_tree_node): Check for TS_COMMON before
3276 calling TREE_CHAIN.
3277 * lto.c (lto_fixup_common): Likewise.
3278
dcf0c47e
NF
32792011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3280
3281 * lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3282 (handle_type_generic_attribute): Likewise.
3283
e89964e3
MM
32842011-04-03 Michael Matz <matz@suse.de>
3285
3286 * lto.c (lto_materialize_function): Don't read and then discard
3287 sections in WPA mode.
3288 (lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
3289
3290 * lto-lang.c (registered_builtin_fndecls): Remove.
3291 (lto_getdecls): Return NULL_TREE.
3292 (lto_builtin_function): Don't remember in registered_builtin_fndecls.
3293
d2b3fe18
RG
32942011-03-31 Richard Guenther <rguenther@suse.de>
3295
3296 PR lto/48246
3297 * lto.c (lto_wpa_write_files): Disable assert for non-empty
3298 partitions when checking is not enabled.
3299
ba78087b
KT
33002011-03-25 Kai Tietz <ktietz@redhat.com>
3301
3302 * lto.c (lto_resolution_read): Use filename_cmp instead
3303 of strcmp.
3304 (lto_read_section_data): Likewise.
3305
0edf1bb2
JL
33062011-03-25 Jeff Law <law@redhat.com>
3307
ab20d992 3308 * lto-lang.c (def_fn_type): Add missing va_end.
0edf1bb2 3309
62d784f7
KT
33102011-03-21 Kai Tietz <ktietz@redhat.com>
3311
3312 PR target/12171
3313 * lto-lang.c (lto_attribute_table): Adjust table.
3314
62dd9571
JJ
33152011-02-18 Jakub Jelinek <jakub@redhat.com>
3316
3317 PR bootstrap/47807
3318 * Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
3319 of lto-streamer.h.
3320
237d6259
RG
33212011-02-18 Richard Guenther <rguenther@suse.de>
3322
3323 PR lto/47798
3324 * lto-tree.h (lto_global_var_decls): Do not declare here.
3325 * lto-lang.c: Include lto-streamer.h.
3326 * Make-lang.in (lto-lang.o): Adjust dependencies.
3327
8ead2223
KT
33282011-02-10 Kai Tietz <kai.tietz@onevision.com>
3329
3330 PR lto/47241
3331 * lto.c (lto_read_section_data): Free
3332 fd_name in failure case.
3333 For mingw targets don't hash file-descriptor.
3334 (read_cgraph_and_symbols): Close current_lto_file
3335 in failure case.
3336
6e701822
JH
33372011-01-11 Jan Hubicka <jh@suse.cz>
3338
3339 PR lto/45721
3340 PR lto/45375
b9843260
EB
3341 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
3342 are not partitioned.
6e701822 3343
f4da8dce
NF
33442010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3345
3346 * lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
3347 Use prototype_p.
3348
6b7fb143
RG
33492010-12-06 Richard Guenther <rguenther@suse.de>
3350
3351 PR lto/46796
3352 * lto-lang.c (lto_init): Give names to basic types.
3353
c59ffc41
JM
33542010-11-30 Joseph Myers <joseph@codesourcery.com>
3355
3356 * lto-object.c: Don't include toplev.h.
3357 * Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
3358
7c475d11
JM
33592010-11-30 Joseph Myers <joseph@codesourcery.com>
3360
3361 * Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
3362 $(TOPLEV_H).
3363
71f3e391
JM
33642010-11-29 Joseph Myers <joseph@codesourcery.com>
3365
3366 * lto-endian.h: Delete.
3367 * lto-object.c: Don't include "libiberty.h".
3368 (O_BINARY): Don't define.
3369 * lto.c: Don't include "libiberty.h" or <sys/mman.h>.
3370 (O_BINARY): Don't define.
3371
9f1718b0
RG
33722010-11-23 Richard Guenther <rguenther@suse.de>
3373
3374 * lto.c (read_cgraph_and_symbols): Remove newline from diagnostic.
3375
39c4e298
RG
33762010-11-23 Richard Guenther <rguenther@suse.de>
3377
3378 PR lto/46605
3379 * lto.c (read_cgraph_and_symbols): Bail out after errors.
3380
b37421c6
JM
33812010-11-17 Joseph Myers <joseph@codesourcery.com>
3382
3383 * lto.c (lto_main): Take no arguments.
3384 * lto.h (lto_main): Update prototype.
3385
d82f74d3
ILT
33862010-11-16 Ian Lance Taylor <iant@google.com>
3387
3388 * lto-object.c (lto_obj_file_open): Call
3389 simple_object_attributes_merge rather than
3390 simple_object_attributes_compare.
3391
a4d8c676
JM
33922010-11-12 Joseph Myers <joseph@codesourcery.com>
3393
3394 * Make-lang.in (lto/lto.o): Use $(OPTS_H).
3395 * lto-lang.c (lto_handle_option): Take location_t parameter.
3396
d8a07487
JM
33972010-11-10 Joseph Myers <joseph@codesourcery.com>
3398
3399 * lto.c (lto_resolution_read): Start diagnostics with lowercase
3400 letters and remove trailing '.'.
3401 (lto_file_finalize): Start diagnostic with a lowercase letter.
3402
6b3456d1
ILT
34032010-11-02 Ian Lance Taylor <iant@google.com>
3404
3405 * lto-object.c: New file.
3406 * lto-elf.c: Remove file.
3407 * lto-macho.c: Remove file.
3408 * lto-macho.h: Remove file.
3409 * lto-coff.c: Remove file.
3410 * lto-coff.h: Remove file.
3411 * Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
3412 lto/lto-object.o.
3413 ($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
3414 (lto/lto-objfile.o): New target.
3415 (lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
3416 (lto/lto.o): Remove $(LIBIBERTY_H).
3417
030cd86c
JH
34182010-10-22 Jan Hubicka <jh@suse.cz>
3419
3420 * lto.c (add_cgraph_node_to_partition,
3421 add_varpool_node_to_partition): Add debug info.
3422 (lto_1_to_1_map, lto_balanced_map): Do not re-add already
3423 partitioned nodes.
3424 (do_whole_program_analysis): Set function flags before dumping.
3425
4490cae6
RG
34262010-10-22 Richard Guenther <rguenther@suse.de>
3427
3428 * lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
3429 the new gimple_register_canonical_type.
3430
703cdce3
L
34312010-10-20 H.J. Lu <hongjiu.lu@intel.com>
3432
3433 PR bootstrap/45954
3434 * config-lang.in (boot_language): Set to $enable_lto.
3435
1915c739
JJ
34362010-10-18 Jakub Jelinek <jakub@redhat.com>
3437
3438 PR lto/45638
3439 * Make-lang.in (check-lto): New dummy target.
3440
82971de5
EB
34412010-10-14 Eric Botcazou <ebotcazou@adacore.com>
3442
3443 * lto-elf.c (SHN_XINDEX): Define if not already defined.
3444
a75bfaa6
JM
34452010-10-08 Joseph Myers <joseph@codesourcery.com>
3446
3447 * lto-lang.c (lto_init_options): Change to
3448 lto_init_options_struct. Update parameters.
3449 (LANG_HOOKS_INIT_OPTIONS): Don't define.
3450 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
3451
937f7f69
JH
34522010-10-06 Jan Hubicka <jh@suse.cz>
3453
3454 * lto.c (lto_balanced_map): Fix accounting of program size.
3455
2169830c
JH
34562010-10-06 Jan Hubicka <jh@suse.cz>
3457
3458 * lto.c (lto_balanced_map): Do not produce empty partitions.
3459
ecdbd01a 34602010-10-06 Andi Kleen <ak@linux.intel.com>
6e9bd0f8
AK
3461
3462 * lto.c (lto_process_name): Add.
3463 (lto_main): Call lto_process_name.
3464
06ed016f
JH
34652010-10-06 Jan Hubicka <jh@suse.cz>
3466
3467 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
3468 COMDATs required by the linker.
3469
ae718d66
ILT
34702010-10-05 Ian Lance Taylor <iant@google.com>
3471
3472 * lto.c (lto_section_with_id): Make s a const pointer.
3473
852e4bd2
JH
34742010-10-05 Jan Hubicka <jh@suse.cz>
3475
ab20d992 3476 * lto.c: Include params.h.
852e4bd2
JH
3477 (add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
3478 refcounting in aux field.
3479 (undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
3480 New functions.
3481 (lto_1_to_1_map): Simplify.
3482 (lto_balanced_map): New function.
3483 (do_whole_program_analysis): Chose proper partitioning alg.
3484 * Make-lang.in (lto.o): Add dependency on params.h
3485
ecdbd01a 34862010-10-04 Andi Kleen <ak@linux.intel.com>
a90163e9
AK
3487
3488 * Make-lang.in (lto1): Add + to build rule.
3489
ecdbd01a 34902010-10-03 Andi Kleen <ak@linux.intel.com>
f1e92a43
AK
3491
3492 * lto.c (lto_file_finalize): Replace gcc_assert for missing section
3d3b561f 3493 with fatal_error.
f1e92a43 3494
0d6e14fd
JH
34952010-09-28 Jan Hubicka <jh@suse.cz>
3496
3497 * lto-lang.c (handle_leaf_attribute): New function.
3498 (lto_attribute_tables): Add leaf.
3499
fb462383
JZ
35002010-09-25 Jie Zhang <jie@codesourcery.com>
3501
3502 * lto.c (lto_read_all_file_options): Start a new line after
3503 printing out file names.
3504
051f8cc6
JH
35052010-09-24 Jan Hubicka <jh@suse.cz>
3506
3507 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
3508
64e0f5ff
JH
35092010-09-20 Jan Hubicka <jh@suse.cz>
3510
3511 PR tree-optimize/45605
3512 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
3513
a929ec3d
GP
35142010-09-18 Gerald Pfeifer <gerald@pfeifer.com>
3515
3516 * lto-elf.c (lto_obj_file_open): Also provide filename when
3517 elf_begin fails.
3518
4c588abf
JH
35192010-09-17 Jan Hubicka <jh@suse.cz>
3520
3521 * lto.c (lto_promote_cross_file_statics): Use const_value_known.
3522
c3224d6f
RG
35232010-09-17 Richard Guenther <rguenther@suse.de>
3524
3525 * lang.opt (flag_wpa): Also enable for the driver.
3526
52b3b3c7
JH
35272010-09-16 Jan Hubicka <jh@suse.cz>
3528
3529 * lto.c (lto_materialize_function): Do not tamper with STATIC and
ab20d992 3530 EXTERNAL flags.
52b3b3c7 3531
969c37b7
LB
35322010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3533
3534 * lto-tree.h (struct lang_type): Add variable_size GTY option.
3535
098a4f50
JH
35362010-09-08 Jan Hubicka <jh@suse.cz>
3537
3538 * lto.c (real_file_count, real_file_decl_data): New static vars.
3539 (read_cgraph_and_symbols): Use it.
3540
0f443ad0
RG
35412010-09-08 Richard Guenther <rguenther@suse.de>
3542
3543 * lto.c (read_cgraph_and_symbols): Collect again after each
3544 file.
3545
ee187353
JH
35462010-09-07 Jan Hubicka <jh@suse.cz>
3547
3548 * lto.c (promote_var, promote_fn): Set DECL_VISIBILITY_SPECIFIED.
3549
b3ec52d0
RG
35502010-09-03 Richard Guenther <rguenther@suse.de>
3551
3552 * lto-elf.c (validate_file): Always error if validation fails.
3553
f1395d4a
JH
35542010-08-20 Jan Hubicka <jh@suse.cz>
3555
3556 * lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
3557 (lto_wpa_write_files): Update comments.
3558
2429bce3
L
35592010-08-20 H.J. Lu <hongjiu.lu@intel.com>
3560
3561 PR bootstrap/45357
3562 * lto.c (lto_materialize_function): Replace has_analyzed_clone
3563 with has_analyzed_clone_p.
3564
e0f967db
JH
35652010-08-20 Jan Hubicka <jh@suse.cz>
3566
3567 * lto.c (has_analyzed_clone_p): New function
3568 (lto_materialize_function): Use callgraph to determine if
3569 body is needed.
3570 (materialize_cgraph): Remove DECL_IS_BUILTIN check.
3571
ac47786e
NF
35722010-08-20 Nathan Froyd <froydnj@codesourcery.com>
3573
3574 * lto.c: Use FOR_EACH_VEC_ELT.
3575
ecdbd01a 35762010-07-27 Andi Kleen <ak@linux.intel.com>
d720b869
AK
3577
3578 * Make-lang.in (lto.o): Add dependency to splay-tree.h
3579
5f20c657
JM
35802010-07-27 Joseph Myers <joseph@codesourcery.com>
3581
3582 * lto-lang.c (lto_handle_option): Update prototype and return
3583 value type. Remove duplicate assignment to result.
3584
7a9bf9a4
JM
35852010-07-27 Joseph Myers <joseph@codesourcery.com>
3586
3587 * lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
3588 New.
3589 (lto_init_options): Update prototype.
3590 (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
3591 Define.
3592
ecdbd01a 35932010-07-10 Andi Kleen <ak@linux.intel.com>
73ce4d1e
AK
3594
3595 PR lto/44992
92a285c1 3596 * lto.c: Include splay-tree.h
73ce4d1e
AK
3597 (lto_resolution_read): Change to walk file_ids tree and parse
3598 extra file_id in resolution file.
3599 (lto_section_with_id): Add.
3600 (create_subid_section_table): Add.
3601 (lwstate): Add.
3602 (lto_create_files_from_ids): Add.
3603 (lto_file_read): Change to handle sub file ids and create list
3604 of file_datas. Add output argument for count.
3605 (get_section_data): Pass file_data to lto_get_section_name.
3606 (lto_flatten_file): Add.
3607 (read_cgraph_and_symbols): Handle linked lists of file_datas.
3608
ecdbd01a 36092010-07-10 Andi Kleen <ak@linux.intel.com>
2994ee14
AK
3610
3611 * lto-coff.c (hash_name, eq_name): Move.
3612 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3613 * lto-elf.c: (hash_name, eq_name): Move.
3614 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3615 * lto-macho.c: (hash_name, eq_name): Move.
3616 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3617 * lto.c: (hash_name, eq_name): Move from lto-*.c
3618 (lto_obj_create_section_hash_table): Add.
3619 (free_with_string): Add.
3620
718f9c0f
MLI
36212010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3622
3623 * lto-coff.c: Include diagnostic-core.h in every file that
3624 includes toplev.h.
3625 * lto-elf.c: Likewise.
3626 * lto-lang.c: Likewise.
3627 * lto-macho.c: Likewise.
3628
1b137837
JJ
36292010-07-07 Jakub Jelinek <jakub@redhat.com>
3630
3631 * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
3632 (validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
3633 objects.
3634
92eb4438
JH
36352010-07-05 Jan Hubicka <jh@suse.cz>
3636
3637 * lto.c (add_cgraph_node_to_partition): Forward declare; walk also
3638 nodes from same comdat group as well as all comdat functions referenced
3639 here.
b9843260
EB
3640 (add_varpool_node_to_partition, add_references_to_partition): New
3641 function.
3642 (lto_1_1_map): Skip COMDAT fnctions/variables; use
3643 add_varpool_node_to_partition; clear aux flags when done.
3644 (lto_promote_cross_file_statics): Do not promote stuff that gets
3645 duplicated to each ltrans.
92eb4438 3646
a05541a9
JH
36472010-07-04 Jan Hubicka <jh@suse.cz>
3648
92a285c1 3649 * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
a05541a9 3650
4a2ac96f
RG
36512010-06-13 Richard Guenther <rguenther@suse.de>
3652
3653 * lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
3654
1d536046
KT
36552010-06-09 Kai Tietz <kai.tietz@onevision.com>
3656
ab20d992 3657 * lto.c (lto_resolution_read): Pre-initialize local variable r.
1d536046
KT
3658 * lto-coff.c (coff_write_object_file): Add braces to if.
3659
a9429e29
LB
36602010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3661
3662 * lto.c (lto_read_in_decl_state): Use typed GC allocation.
3663 (lto_file_read): Likewise.
3664 (new_partition): Likewise.
3665 (read_cgraph_and_symbols): Likewise.
3666
5498f011
JM
36672010-06-07 Joseph Myers <joseph@codesourcery.com>
3668
3669 * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
3670 (lto_handle_option): Don't set flag_signed_char here.
3671
d4c0c9f6
RG
36722010-06-04 Richard Guenther <rguenther@suse.de>
3673
3674 PR lto/41584
3675 * lto.c (lto_1_to_1_map): Use the proper file_data for
3676 varpool nodes.
3677
0a5fa5a1
JH
36782010-05-30 Jan Hubicka <jh@suse.cz>
3679
3680 * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
3681 partitioning decisions.
3682
9eec9488
JH
36832010-05-29 Jan Hubicka <jh@suse.cz>
3684
3685 * lto.c (bitmap vector): Remove.
3686 (lto_cgraph_node_sets, lto_varpool_node_sets): Remove.
3687 (ltrans_partition_def): New structure.
3688 (ltrans_partition): New type and VECtor.
3689 (new_partition): New function.
3690 (add_cgraph_node_to_partition): New function.
3691 (lto_1_to_1_map): Reorganize for partitions.
3692 (lto_add_inline_clones): Remove.
3693 (lto_add_all_inlinees): Remove.
3694 (lto_promote_cross_file_statics): Use partitions.
3695 (cmp_partitions): New function.
3696 (lto_wpa_write_files): Do not call lto_add_all_inlinees;
3697 use partitions; output files sorted by size.
3698
3e097227
SB
36992010-05-29 Steven Bosscher <steven@gcc.gnu.org>
3700
3701 * Make-lang.in: Replace vec.h dependency with VEC_H.
3702
7ca92787
JM
37032010-05-28 Joseph Myers <joseph@codesourcery.com>
3704
3705 * lto-coff.c (coff_errmsg): Remove.
3706 (lto_coff_begin_section_with_type, lto_obj_append_data): Use %m in
3707 errors instead of coff_errmsg (-1).
3708 * lto-macho.c (mach_o_errmsg): Remove.
3709 (lto_obj_begin_section, lto_obj_append_data): Use %m in errors
3710 instead of mach_o_errmsg (-1).
3711 * lto.c (read_cgraph_and_symbols): Use %m in errors instead of
3712 xstrerror (errno).
3713
b5611987
RG
37142010-05-28 Richard Guenther <rguenther@suse.de>
3715
3716 * lto.c (prefix_name_with_star): Removed.
3717 (strip_extension): Likewise.
3718 (get_filename_for_set): Likewise.
3719 (lto_write_ltrans_list): Fold into ...
3720 (lto_wpa_write_files): ... this. Name LTRANS units
3721 by suffixing the ltrans output list filename.
3722 (do_whole_program_analysis): Adjust.
3723
1da2ed5f
JM
37242010-05-27 Joseph Myers <joseph@codesourcery.com>
3725
3726 * lto.c: Include diagnostic-core.h instead of diagnostic.h.
3727 (read_cgraph_and_symbols, lto_main): Use seen_error.
3728 * Make-lang.in (lto/lto.o): Update dependencies.
3729
7951d88a
EB
37302010-05-27 Eric Botcazou <ebotcazou@adacore.com>
3731
3732 PR lto/44230
3733 * lto.h (lto_eh_personality): New prototype.
3734 * lto.c: Include debug.h.
3735 (first_personality_decl): New static variable.
3736 (lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
3737 first function for which it is non-null.
3738 (lto_eh_personality_decl): New static variable.
3739 (lto_eh_personality): New function.
3740 * lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
3741 * Make-lang.in (lto/lto.o): Add dependency on debug.h.
3742
e12da9c2
SB
37432010-05-26 Steven Bosscher <steven@gcc.gnu.org>
3744
3745 * lto-lang.c: Do not include expr.h.
3746
468194f4
RG
37472010-05-24 Richard Guenther <rguenther@suse.de>
3748
3749 * lto-elf.c (lto_obj_build_section_table): Work around
3750 FreeBSD libelf issue.
3751
bd9eb5da
RG
37522010-05-22 Richard Guenther <rguenther@suse.de>
3753
3754 * lto.c (read_cgraph_and_symbols): Do not collect.
3755
66576e1b
JH
37562010-05-20 Jan Hubicka <jh@suse.cz>
3757
3758 * lto.c (promote_var, promote_fn): New functions.
3759 (lto_promote_cross_file_statics): Compute correctly boundary including
3760 static initializers of readonly vars.
3761
36576655
JH
37622010-05-18 Jan Hubicka <jh@suse.cz>
3763
66576e1b 3764 * lto.c (lto_1_to_1_map): Partition non-inline clones.
36576655
JH
3765 (lto_promote_cross_file_statics): Deal with non-inline clones.
3766
28632d63
JH
37672010-05-18 Jan Hubicka <jh@suse.cz>
3768
3769 * lto.c (lto_materialize_function): Announce function when
3770 reading body; allocate_struct_function only when reading body;
3771 do not finalize local statics; ggc_collect after reading;
3772 do not mark reachable node.
3773 (materialize_cgraph): Do not announce function.
3774
33e42d56
JH
37752010-05-11 Jan Hubicka <jh@suse.cz>
3776
3777 * lto.c (materialize_cgraph): Revert my previous patch.
3778
f6430ea5
KT
37792010-05-11 Kai Tietz <kai.tietz@onevision.com>
3780
3781 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
3782 IMAGE_FILE_MACHINE_AMD64.
3783 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
3784
0a0b07b7
JH
37852010-05-11 Jan Hubicka <jh@suse.cz>
3786
3787 * lto.c (lto_fixup_decls): Remove global var decls freeing here.
3788 (materialize_cgraph): Add it here.
3789
9a809897
JH
37902010-05-11 Jan Hubicka <jh@suse.cz>
3791
3792 * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
3793 vector.
3794
37952010-05-11 Jan Hubicka <jh@suse.cz>
3796
3797 * lto.c (lto_1_to_1_map): Remove some no longer needed checks.
3798 (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
3799 use reachable_from_other_partition_p and
3800 referenced_from_other_partition_p test.
3801
94f64249
KT
38022010-05-11 Kai Tietz <kai.tietz@onevision.com>
3803
3804 * lto-coff.c (validate_file): Add x64-coff support.
3805 * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
3806 (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
3807 * lto-lang.c (lto_build_c_type_nodes): Add check for
3808 'long long unsigned int' for x64-windows.
3809 (lto_init): Likewise.
3810
c082f9f3
SB
38112010-05-07 Steven Bosscher <steven@gcc.gnu.org>
3812
3813 * lto.h (struct lto_file_struct): Document offset member.
3814 * lto-endian.h: New file.
3815 * lto-macho.h: New file.
3816 * lto-macho.c: New file.
3817 * Make-lang.in: Add rule for lto-macho.o.
3818
3f8257db 38192010-05-07 Richard Guenther <rguenther@suse.de>
5cd0e96b
RG
3820
3821 PR lto/43857
3822 PR lto/43371
3823 * lang.opt (fresolution): Change to ...
3824 (fresolution=): ... this.
3825 * lto-lang.c (lto_handle_option): Adjust.
3826
48cf395b
RB
38272010-05-07 Richard Guenther <rguenther@suse.de>
3828
3829 * lto.c (DUMPBASE_SUFFIX): Remove.
3830 (lto_execute_ltrans): Move functionality to lto-wrapper.c.
3831 Rename to ...
3832 (lto_write_ltrans_list): ... only output the list of ltrans files.
3833 (lto_maybe_unlink): Remove.
3834 (do_whole_program_analysis): Do not execute LTRANS phase
3835 from here.
3836
afa83c15
L
38372010-05-06 H.J. Lu <hongjiu.lu@intel.com>
3838
3839 * lto-lang.c (lto_handle_option): Add argument kind.
3840
369451ec
JH
38412010-05-05 Jan Hubicka <jh@suse.cz>
3842
48cf395b
RB
3843 * lto.c (lto_promote_cross_file_statics): Compute boundary based on
3844 refs.
369451ec 3845
2f41ecf5
JH
38462010-05-05 Jan Hubicka <jh@suse.cz>
3847
3848 * lto.c (lto_1_to_1_map): Partition only needed nodes.
3849
ace72c88
JH
38502010-04-30 Jan Hubicka <jh@suse.cz>
3851
b9843260
EB
3852 * lto.c (get_filename_for_set): Look for cgraph node and if none found,
3853 use default name.
ace72c88
JH
3854 (lto_wpa_write_files): Write any non-empty partition.
3855
05575e07
JH
38562010-04-30 Jan Hubicka <jh@suse.cz>
3857
3858 * lto.c: Do not attempt to make constant pool references global.
3859
49ba8180
JH
38602010-04-28 Jan Hubicka <jh@suse.cz>
3861
ab20d992 3862 * lto.c (lto_read_in_decl_state): Use GGC.
49ba8180
JH
3863 (lto_wpa_write_files): Announce what we are writting.
3864 (all_file_decl_data): New.
3865 (read_cgraph_and_symbols): Use GGC; correct timevars.
3866 (do_whole_program_analysis): Collect.
ab20d992 3867 * Make-lang.in (lto.o): Fix dependency.
49ba8180
JH
3868 * Makefile.in (GTFILES): Add lto-streamer.h.
3869 * varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
3870 (varpool_assemble_pending_decls): Use VAROUT.
3871 * lto-streamer.h (lto_tree_ref_table): Annotate.
3872 (lto_in_decl_state): Annotate.
3873 (lto_file_decl_data): Annotate.
3874
2942c502
JH
38752010-04-28 Jan Hubicka <jh@suse.cz>
3876
3877 * lto.c (lto_varpool_node_sets): New.
3878 (lto_1_to_1_map): Partition varpool too.
3879 (globalize_context_t, globalize_cross_file_statics,
3880 lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
3881 lto_scan_statics_in_remaining_global_vars): Remove.
3882 (lto_promote_cross_file_statics): Rewrite.
3883 (get_filename_for_set): Take vset argument.
3884 (lto_wpa_write_files): Pass around vsets.
3885
3bec79c5
DK
38862010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
3887
3888 PR lto/42776
3889 * Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
3890 hardcoding 'lto-elf.o'.
3891 ($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.
3892
3893 * lto-coff.h: New file.
3894 * lto-coff.c: Likewise.
3895
21aac880
RG
38962010-04-26 Richard Guenther <rguenther@suse.de>
3897
3898 * lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
3899
2cee0101
DK
39002010-04-26 Dave Korn <dave.korn.cygwin@gmail.com>
3901
3902 * lto.h (lto_elf_file_open): Rename prototype from this ...
3903 (lto_obj_file_open): ... to this.
3904 (lto_elf_file_close): Likewise ...
3905 (lto_obj_file_close): ... and likewise.
3906 (lto_elf_build_section_table): Likewise ...
3907 (lto_obj_build_section_table): ... and likewise.
3908 (lto_elf_begin_section): Likewise ...
3909 (lto_obj_begin_section): ... and likewise.
3910 (lto_elf_append_data): Likewise ...
3911 (lto_obj_append_data): ... and likewise.
3912 (lto_elf_end_section): Likewise ...
3913 (lto_obj_end_section): ... and likewise.
3914 * lto.c (lto_file_read): Update references to the above.
3915 (lto_wpa_write_files): Likewise.
3916 (lto_read_all_file_options): Likewise.
3917 (read_cgraph_and_symbols): Likewise.
3918 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
3919 (LANG_HOOKS_APPEND_DATA): Likewise.
3920 (LANG_HOOKS_END_SECTION): Likewise.
3921 * lto-elf.c (lto_elf_file_open): Rename from this ...
3922 (lto_obj_file_open): ... to this, updating any references.
3923 (lto_elf_file_close): Likewise ...
3924 (lto_obj_file_close): ... and likewise.
3925 (lto_elf_build_section_table): Likewise ...
3926 (lto_obj_build_section_table): ... and likewise.
3927 (lto_elf_begin_section): Likewise ...
3928 (lto_obj_begin_section): ... and likewise.
3929 (lto_elf_append_data): Likewise ...
3930 (lto_obj_append_data): ... and likewise.
3931 (lto_elf_end_section): Likewise ...
3932 (lto_obj_end_section): ... and likewise.
3933
bc58d7e1
JH
39342010-04-21 Jan Hubicka <jh@suse.cz>
3935
3936 * lto.c (lto_fixup_tree): Do not call wpa fixup.
3937 (materialize_cgraph): Likewise.
3938
e792884f
JH
39392010-04-21 Jan Hubicka <jh@suse.cz>
3940
3941 * lto.c (lto_wpa_write_files): Update.
3942 (read_cgraph_and_symbols): Be more verbose.
3943 (materialize_cgraph): Likewise.
3944 (do_whole_program_analysis): Likewise.
3945
c9945504
JH
39462010-04-21 Jan Hubicka <jh@suse.cz>
3947
3948 * lto.c (globalize_cross_file_statics): When function has address taken,
3949 it needs to be public.
3950
a837268b
JH
39512010-04-20 Jan Hubicka <jh@suse.cz>
3952
3953 * lto.c (lto_add_inline_clones): Do not track inlined_decls.
3954 (lto_add_all_inlinees): Likewise.
3955 (lto_wpa_write_files): Likewise.
3956
3b9e5d95
EB
39572010-04-18 Eric Botcazou <ebotcazou@adacore.com>
3958
3959 * lto-lang.c (lto_init): Remove second argument in call to
3960 build_common_tree_nodes.
3961
8ccb78f2
RO
39622010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3963
3964 * lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
3965 function.
3966
2f9b99e6
EB
39672010-03-09 Eric Botcazou <ebotcazou@adacore.com>
3968
3969 PR bootstrap/43276
3970 * lto-elf.c: Define EM_* constants if not already defined.
3971
bef7d288
EB
39722010-03-03 Eric Botcazou <ebotcazou@adacore.com>
3973
3974 * lto-elf.c (is_compatible_architecture): New static function.
3975 (DEFINE_VALIDATE_EHDR): Use it to validate the architecture.
3976
f68df07c
RG
39772010-02-11 Richard Guenther <rguenther@suse.de>
3978
3979 PR driver/43021
3980 * lto-elf.c (lto_elf_file_open): Handle file@offset case more
3981 appropriately.
3982
3cdea2b4
AH
39832010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
3984
3985 * lto.c (O_BINARY): Define.
3986 (lto_read_section_data): Open file in binary mode.
3987 * lto-elf.c (O_BINARY): Define.
ab20d992 3988 (lto_elf_file_open): Open file in binary mode.
3cdea2b4 3989
c59449fa
RG
39902010-01-08 Richard Guenther <rguenther@suse.de>
3991
3992 PR lto/42528
3993 * lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
3994 (lto_init): Do not init char_type_node in a standard way
3995 but according to flag_signed_char.
3996
d7fb0a6d
L
39972010-01-03 H.J. Lu <hongjiu.lu@intel.com>
3998
3999 PR lto/41564
4000 * lto.c (DUMPBASE_SUFFIX): New.
4001 (lto_execute_ltrans): Append a sequence number to -dumpbase
4002 for LTRANS.
4003
78ce4053
L
40042010-01-02 H.J. Lu <hongjiu.lu@intel.com>
4005
4006 PR lto/42580
4007 * lto-elf.c (lto_elf_file_open): Stop if the command line
4008 option file is missing.
4009
2a71eb48
RG
40102009-12-15 Richard Guenther <rguenther@suse.de>
4011
4012 * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
4013 (lto_post_options): Do not disable debuginfo.
4014
a818bca1
DG
40152009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
4016
4017 * Make-lang.in ($(LTO_EXE)): Use $(LINKER).
4018
e7d00517
RG
40192009-12-11 Richard Guenther <rguenther@suse.de>
4020
4021 PR lto/42037
4022 * lto.c (lto_resolution_read): Properly grow the vector.
4023
1ab53893
RG
40242009-12-11 Richard Guenther <rguenther@suse.de>
4025
4026 PR lto/41915
4027 * lto-lang.c (lto_init_options): Initialize flag_complex_method
4028 to the C99 default. Do not set flag_unit_at_a_time.
4029
0f900dfa
JJ
40302009-11-28 Jakub Jelinek <jakub@redhat.com>
4031
4032 * lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
4033 variable.
4034
92fa7608
RAE
40352009-11-19 Rafael Avila de Espindola <espindola@google.com>
4036
4037 PR bootstrap/42096
4038 * lto-elf.c (lto_elf_file_open): Use lto_parse_hex.
4039 * lto.c (lto_parse_hex): New.
4040 (lto_resolution_read): Use lto_parse_hex.
4041 * lto.h (lto_parse_hex): New.
4042
9870fe4f
RAE
40432009-11-17 Rafael Avila de Espindola <espindola@google.com>
4044
4045 * lto-elf.c (lto_file_init): Add offset argument.
4046 (lto_elf_file_open): Record the offset.
4047 * lto.c (lto_resolution_read): Change file_name into a lto_file
4048 argument. Check offsets.
4049 (lto_file_read): Update call to lto_resolution_read.
4050 * lto.h (lto_file_struct): Add the offset field.
4051
1b70729f
RAE
40522009-11-16 Rafael Avila de Espindola <espindola@google.com>
4053
4054 * lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.
4055
0e3776db
JH
40562009-11-14 Jan Hubicka <jh@suse.cz>
4057
4058 * lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
4059
06bd7f56
RAE
40602009-11-12 Rafael Avila de Espindola <espindola@google.com>
4061
4062 * lang.opt (fresolution): Renamed from resolution.
4063 * lto-lang.c (lto_handle_option): Handle new option name.
4064 * lto.c (lto_resolution_read): Add more checks. Discard rest of line.
4065
7e9dc421 40662009-11-04 Richard Guenther <rguenther@suse.de>
92a285c1 4067 Rafael Avila de Espindola <espindola@google.com>
7e9dc421
RG
4068
4069 * lto-elf.c (lto_elf_build_section_table): Add the base offset.
4070 (lto_elf_file_open): Handle offsets in arguments name@offest.
4071
b207f900
RG
40722009-10-30 Richard Guenther <rguenther@suse.de>
4073
4074 PR lto/41858
4075 * lto.c (lto_file_read): Do not set file_data->fd.
4076 (lto_read_section_data): Use a single-entry file-descriptor cache.
4077 Do not check the result of xmalloc.
4078 (free_section_data): Do not use file_data->fd.
4079 (lto_read_all_file_options): Likewise.
4080
2c928155
RG
40812009-10-22 Richard Guenther <rguenther@suse.de>
4082
4083 * lto.c (lto_fixup_jump_functions): Remove.
4084 (lto_fixup_decls): Do not fixup jump functions.
4085 (read_cgraph_and_symbols): Schedule cgraph merging after
4086 summary reading. Schedule type and decl fixup before
4087 summary reading.
4088
f9c91f8a
RB
40892009-10-22 Richard Guenther <rguenther@suse.de>
4090
4091 * lto.c (lto_fixup_data_t): Remove free_list member.
4092 (lto_fixup_tree): Do not insert into free_list.
4093 (free_decl): Remove.
4094 (lto_fixup_decls): Remove free-list handling.
4095
fb3f88cc
JH
40962009-10-22 Jan Hubicka <jh@suse.cz>
4097
4098 * lto.c (lto_fixup_jump_functions): New function.
4099 (lto_fixup_decls): Use it.
4100
35f1e9f4
RG
41012009-10-16 Richard Guenther <rguenther@suse.de>
4102
4103 PR lto/41715
4104 * lto.c (lto_fixup_tree): Revert last change.
4105
200c8750
RG
41062009-10-14 Richard Guenther <rguenther@suse.de>
4107
4108 * lto.c (lto_fixup_tree): In case the prevailing decl is not
4109 compatible with the one we replace wrap it around a
4110 VIEW_CONVERT_EXPR.
4111
b1b07c92
RG
41122009-10-09 Richard Guenther <rguenther@suse.de>
4113
4114 PR lto/41635
4115 PR lto/41636
4116 * lto.c (read_cgraph_and_symbols): Do not assert we can open
4117 a file.
4118 * lto-elf.c (init_shdr##BITS): Fix i18n problems.
4119 (init_ehdr##BITS): Likewise.
4120
3c2e7d45
JM
41212009-10-08 Joseph Myers <joseph@codesourcery.com>
4122
4123 * lto-elf.c (init_shdr##BITS, lto_elf_begin_section_with_type,
4124 init_ehdr##BITS, lto_elf_file_close): Remove trailing "." from
4125 diagnostics.
4126 * lto-lang.c (lto_post_options): Remove trailing "." from
4127 diagnostics.
4128
0d0bfe17
RG
41292009-10-08 Richard Guenther <rguenther@suse.de>
4130
4131 * lto.c (read_cgraph_and_symbols): Free the gimple type merging
4132 hash tables.
4133
4bedf19a
JM
41342009-10-07 Joseph Myers <joseph@codesourcery.com>
4135
4136 * lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
4137
b20996ff
JH
41382009-10-07 Jan Hubicka <jh@suse.cz>
4139
4140 * lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
4141 ltrans stage; explain why this is needed and should not.
4142
1a735925
RG
41432009-10-05 Richard Guenther <rguenther@suse.de>
4144
4145 PR lto/41552
4146 PR lto/41487
4147 * lto.c (lto_read_decls): Do not register deferred decls.
4148 (read_cgraph_and_symbols): Delay symbol and cgraph merging
4149 until after reading the IPA summaries.
4150
d7f09764
DN
41512009-10-02 Rafael Avila de Espindola <espindola@google.com>
4152
4153 * Make-lang.in (lto/lto-lang.o): Don't depend on lto/common.h.
4154 (lto-lang.c): Don't include lto/common.h.
4155
41562009-10-02 Rafael Avila de Espindola <espindola@google.com>
4157
4158 * Make-lang.in (LTO_OBJS): Remove lto/common.o.
4159 (lto/common.o): Remove.
4160 * common.c: Remove.
4161 * common.h (lto_kind_str): Remove.
4162 (lto_visibility_str): Remove.
4163 (lto_resolution_str): Make it static.
4164
41652009-10-01 Diego Novillo <dnovillo@google.com>
4166
4167 * lto.c (lto_read_decls): Add comment.
4168 Call internal_error instead of gcc_assert.
4169 (lto_resolution_read): Likewise.
4170 (lto_add_all_inlinees): Tidy.
4171 * Make-lang.in: Fix copyright boilerplate.
4172 (lto.pdf): New.
4173 (lto.install-pdf): New.
4174 * lto-tree.h: Fix copyright boilerplate.
4175 * lang-specs.h: Likewise.
4176 Remove ".lto" entry from compilers fragment.
4177 * lto-elf.c: Move inclusion of gelf.h after config.h.
4178 Tidy formatting everywhere.
4179 * lto.h: Fix copyright boilerplate.
4180 Tidy formatting everywhere.
4181 * common.c: Likewise.
4182 * config-lang.in: Likewise.
4183 * common.h: Likewise.
4184 * lto-lang.c: Likewise.
4185
41862009-10-01 Richard Guenther <rguenther@suse.de>
4187
4188 * lto.c (lto_read_section_data): Use plain lseek/read.
4189
41902009-10-01 Richard Guenther <rguenther@suse.de>
4191
4192 * lto.c (LTO_MMAP_IO): Define if we can mmap files and
4193 use sysconf to query the system page size.
4194 (lto_file_read): Implement fallback using stdio.
4195 (free_section_data): Likewise.
4196
41972009-09-29 Diego Novillo <dnovillo@google.com>
4198
4199 * lto-lang.c (lto_init): Really fix call to
4200 build_common_builtin_nodes.
4201
42022009-09-29 Diego Novillo <dnovillo@google.com>
4203
4204 * lto-lang.c (lto_init): Fix call to
4205 build_common_builtin_nodes.
4206
42072009-09-29 Richard Guenther <rguenther@suse.de>
4208
4209 PR lto/40754
4210 * lto-elf.c (init_shdr##BITS): Properly specify alignment
4211 in bytes.
4212 (first_data_block): New static variable.
4213 (lto_elf_append_data): Align the first data block in each
4214 section.
4215
42162009-09-28 Diego Novillo <dnovillo@google.com>
4217
4218 * lto-lang.c: Tidy. Remove stale FIXME lto markers.
4219 * lto.c (strip_extension): New.
4220 (get_filename_for_set): Call it. Do not call make_cwd_temp_file.
4221 (lto_execute_ltrans): Tidy.
4222 Do not pass -fwpa nor -fltrans-* to LTRANS.
4223 * opts.c: Tidy formatting and remove stale FIXME lto markers.
4224 * tree.c (need_assembler_name_p): Call
4225 lang_hooks.decls.may_need_assembler_name_p if set.
4226 * varasm.c (default_binds_local_p_1): Remove check for
4227 flag_ltrans.
4228 * varpool.c (decide_is_variable_needed): Do not test for
4229 in_lto_p.
4230
42312009-09-22 Richard Guenther <rguenther@suse.de>
4232
4233 PR lto/39276
4234 * lto.c (lto_execute_ltrans): Perform ltrans phase manually.
4235 * Make-lang.in: Remove ltrans-driver stuff.
4236 * config-lang.in: Likewise.
4237 * lang.opt (fltrans-driver): Remove.
4238 * lto-lang.c (lto_init_options): Remove code initializing
4239 ltrans_driver.
4240 * ltrans-driver: Remove.
4241
42422009-09-21 Diego Novillo <dnovillo@google.com>
4243
4244 * lto-lang.c (lto_define_builtins): Remove superfluous
4245 calls to targetm.init_builtins and build_common_builtin_nodes.
4246 (lto_init): Add targetm.arm_eabi_unwinder as parameter to
4247 build_common_builtin_nodes.
4248 * lto.c (lto_materialize_function): Do nothing if NODE is a
4249 clone.
4250
42512009-09-03 Diego Novillo <dnovillo@google.com>
4252
4253 * lto-elf.c (validate_file): Replace call to
4254 elf_getshstrndx with call to elf_getshdrstrndx.
4255
42562009-08-19 Richard Guenther <rguenther@suse.de>
4257
4258 * lto-lang.c (lto_init): Merge char_type_node with the
4259 appropriately signed variant.
4260
42612009-08-19 Richard Guenther <rguenther@suse.de>
4262
4263 PR lto/41071
4264 * lto.c (lto_fixup_common): Re-build the pointer-to chain part one.
4265 (lto_fixup_type): Re-build the pointer-to chain part two.
4266
42672009-08-19 Richard Guenther <rguenther@suse.de>
4268
4269 PR lto/41071
4270 * lto.c (lto_fixup_type): Re-build the type variant chain.
4271
42722009-08-19 Richard Guenther <rguenther@suse.de>
4273
4274 PR lto/41071
4275 * lto.c (lto_fixup_constructor): New function.
4276 (lto_fixup_tree): Replace all types. Properly fixup
4277 constructors and constants.
4278
42792009-08-14 Richard Guenther <rguenther@suse.de>
4280
4281 * lto.c (read_cgraph_and_symbols): Exchange TREE_CHAIN use
4282 for DECL_LANG_SPECIFIC.
4283
42842009-08-13 Richard Guenther <rguenther@suse.de>
4285
4286 PR lto/41032
4287 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define to NULL.
4288
42892009-07-30 Richard Guenther <rguenther@suse.de>
4290
4291 PR lto/40903
4292 * lto.c (read_cgraph_and_symbols): After fixing up decls choose
4293 the largest decl for output and free TREE_CHAIN for further
4294 use.
4295
42962009-07-24 Diego Novillo <dnovillo@google.com>
4297
4298 * Make-lang.in: Add empty lto.install-plugin target.
4299
43002009-07-13 Diego Novillo <dnovillo@google.com>
4301
4302 * lto.c (lto_fixup_tree): Handle IMPORTED_DECL.
4303
43042009-07-11 Richard Guenther <rguenther@suse.de>
4305
4306 * lto-lang.c (lto_write_globals): Wrapup global decls.
4307
43082009-07-10 Richard Guenther <rguenther@suse.de>
4309
4310 * lto-lang.c (lto_init): Allocate one more location to make
4311 BUILTINS_LOCATION correct.
4312
43132009-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4314
4315 * lto.c (free_section_data): Cast computed_offset to caddr_t.
4316
43172009-07-06 Diego Novillo <dnovillo@google.com>
4318
4319 * lto.c (lto_fixup_type): Fixup TYPE_SIZE and
4320 TYPE_SIZE_UNIT.
4321
43222009-07-06 Diego Novillo <dnovillo@google.com>
4323
4324 * lto.c (preload_common_nodes): Remove.
4325 (lto_read_in_decl_state): Call lto_streamer_cache_get.
4326 (lto_read_decls): Call lto_data_in_create and
4327 lto_data_in_delete.
4328 (free_decl): Do not call ggc_free.
4329 (lto_main): Call lto_init_reader.
4330 * lto-lang.c (lto_type_for_size): Handle intTI_type_node.
4331 (lto_init): Initialize main_identifier_node if needed.
4332 Make ptrdiff_type_node be integer_type_node.
4333
43342009-06-19 Diego Novillo <dnovillo@google.com>
4335
4336 * lto.c: Remove code guarded by #ifdef LTO_STREAM_DEBUGGING.
4337 Remove code guarded by #ifdef GLOBAL_STREAMER_TRACE.
4338 Remove code guarded by #ifdef LOCAL_TRACE.
4339
43402009-06-18 Diego Novillo <dnovillo@google.com>
4341
4342 * lto.c: Update license to GPLv3.
4343 * lto-elf.c: Likewise.
4344 * common.c: Likewise.
4345 * lto-lang.c: Likewise.
4346 * lto.h: Remove superfluous include files. Update all
4347 users.
4348
43492009-06-17 Diego Novillo <dnovillo@google.com>
4350
4351 * lto.c (read_cgraph_and_symbols): Call input_cgraph.
4352
43532009-06-02 Diego Novillo <dnovillo@google.com>
4354
4355 * lto.c (lto_1_to_1_map): Ignore nodes that have not been
4356 read in.
4357 (materialize_cgraph): Only materialize nodes that have a
4358 representation on file.
4359
43602009-06-01 Diego Novillo <dnovillo@google.com>
4361
4362 * lto-lang.c (lto_handle_option): Hanlde OPT_Wabi.
4363
43642009-05-31 Diego Novillo <dnovillo@google.com>
4365
4366 * lto-lang.c (lto_type_for_mode): Handle all the modes
4367 handled in c_common_type_for_mode.
4368
43692009-05-21 Diego Novillo <dnovillo@google.com>
4370
4371 * lto-elf.c: Always include <gelf.h>.
4372 * config-lang.in (target_libs): Remove.
4373 (build_by_default): Set to no.
4374
43752009-05-15 Diego Novillo <dnovillo@google.com>
4376
4377 * lto.c (lto_materialize_function): Assert that DECL is
4378 not a builtin.
4379 (materialize_cgraph): Don't try to materialize builtin
4380 functions.
4381 * lto-section-out.c (write_symbol_vec): Do not write
4382 builtin functions.
4383
43842009-05-13 Diego Novillo <dnovillo@google.com>
4385
4386 * lto-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define.
4387
43882009-05-07 Diego Novillo <dnovillo@google.com>
4389
4390 * lto.c (lto_resolution_read): Add type casts for C++ warnings.
4391 (LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE): Define.
4392 (lto_fixup_type): Call it for TYPE_POINTER_TO,
4393 TYPE_REFERENCE_TO, TYPE_CONTEXT and TYPE_CANONICAL.
4394 (lto_fixup_tree): Call gimple_register_type when *TP is a
4395 type.
4396 (lto_main): Call bitmap_obstack_initialize.
4397
43982009-04-22 Diego Novillo <dnovillo@google.com>
4399
4400 * lto.c (free_section_data): Tidy.
4401 (lto_1_to_1_map): Tidy.
4402 (lto_add_all_inlinees): Tidy.
4403 (prefix_name_with_star): New.
4404 (get_filename_for_set): New.
4405 (lto_wpa_write_files): Call cgraph_node_set_needs_ltrans_p
4406 to determine what cgraph node sets to write.
4407 Call get_filename_for_set to compute temporary file
4408 names.
4409 (lto_execute_ltrans): Do not execute LTRANS on files with
4410 names that start with '*'.
4411 Move logic to execute LTRANS together so that LTRANS is
4412 invoked only if there are any files to compile.
4413 (do_whole_program_analysis): Only remove output files
4414 that do not start with '*'.
4415
44162009-04-06 Diego Novillo <dnovillo@google.com>
4417
4418 * lto-lang.c (lto_post_options): Set flag_excess_precision_cmdline.
4419 * lto.c (read_cgraph_and_symbols): Set cgraph_function_flags_ready.
4420 (lto_add_all_inlinees): Tidy.
4421
44222009-03-26 Diego Novillo <dnovillo@google.com>
4423
4424 * lto.c: Include gimple.h.
4425 (lto_read_in_decl_state): Call gimple_register_type for
4426 every type in every stream.
4427 (lto_fixup_common): Call gimple_register_type if T has a
4428 type.
4429 (do_whole_program_analysis): Call print_lto_report.
4430 (lto_main): Call print_lto_report after cgraph_optimize.
4431 * Make-lang.in (lto.o): Add dependency on GIMPLE_H.
4432
44332009-03-24 Diego Novillo <dnovillo@google.com>
4434
4435 * Make-lang.in (lto-lang.o): Add dependency on TARGET_H and EXPR_H.
4436 (lto.o): Add dependency on GIMPLE_H.
4437
44382009-03-10 Simon Baldwin <simonb@google.com>
4439
4440 * lto.c (lto_read_all_file_options): Close any open file descriptor
4441 contained in file_data before freeing.
4442
44432009-02-24 Rafael Avila de Espindola <espindola@google.com>
4444
4445 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
4446 for a decl in the original bitmap, not a node.
4447 (lto_add_all_inlinees): Remove original nodes that are not needed.
4448 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
4449
44502009-02-24 Diego Novillo <dnovillo@google.com>
4451
4452 * lto.c (lto_materialize_function): Update
4453 lto_stats.num_function_bodies.
4454 (get_section_data): Initialize *LEN to 0.
4455 (lto_1_to_1_map): Update lto_stats.num_cgraph_partitions.
4456 (lto_wpa_write_files): Update lto_stats.num_cgraph_nodes.
4457 Update lto_stats.num_output_files.
4458 (read_cgraph_and_symbols): Update lto_stats.num_input_files.
4459 (materialize_cgraph): Update lto_stats.num_input_cgraph_nodes.
4460 (lto_main): Initialize lto_stats.
4461 If flag_lto_report is set, call print_lto_report.
4462
44632009-02-19 Diego Novillo <dnovillo@google.com>
4464
4465 Revert
4466
4467 2009-02-19 Rafael Avila de Espindola <espindola@google.com>
4468
4469 * lto.c (lto_add_inline_clones): Don't add the
4470 master clone. Check for a decl in the original
4471 bitmap, not a node.
4472 (lto_add_all_inlinees): Remove original nodes
4473 that are not needed.
4474 (lto_scan_statics_in_cgraph_node): Don't care if
4475 the node is the master.
4476 (lto_promote_cross_file_statics): Use a new
4477 context.seen_node_decls for each set
4478
44792009-02-19 Rafael Avila de Espindola <espindola@google.com>
4480
4481 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
4482 for a decl in the original bitmap, not a node.
4483 (lto_add_all_inlinees): Remove original nodes that are not needed.
4484 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
4485 (lto_promote_cross_file_statics): Use a new context.seen_node_decls
4486 for each set
4487
44882009-02-18 Diego Novillo <dnovillo@google.com>
4489
4490 * lto.c (lto_wpa_write_files): Use timers TV_WHOPR_WPA
4491 and TV_WHOPR_WPA_IO.
4492 (lto_execute_ltrans): Use timer TV_WHOPR_WPA_LTRANS_EXEC.
4493 (read_cgraph_and_symbols): Use timer TV_IPA_LTO_DECL_IO.
4494 (materialize_cgraph): Use timer TV_IPA_LTO_GIMPLE_IO.
4495 Use timer TV_WHOPR_WPA or TV_WHOPR_LTRANS or TV_LTO
4496 depending on command line flags.
4497 (do_whole_program_analysis): Use timer TV_WHOPR_WPA.
4498 (lto_main): Remove timer uses.
4499
45002009-02-18 Rafael Avila de Espindola <espindola@google.com>
4501
4502 * lto.c (lto_materialize_function): Don't set DECL_EXTERN to 0.
4503 (lto_wpa_write_files): Update calls to renamed functions.
4504
45052009-02-17 Diego Novillo <dnovillo@google.com>
4506
4507 PR 39203
4508 * lto-lang.c (lto_post_options): Disable -fwhole-program
4509 when running LTRANS.
4510
45112009-02-10 Diego Novillo <dnovillo@google.com>
4512
4513 * lto.c (read_cgraph_and_symbols): Fix comment.
4514
45152009-02-10 Diego Novillo <dnovillo@google.com>
4516
4517 * lto.c (read_cgraph_and_symbols): Read options from all
4518 IL files.
4519
45202009-02-10 Diego Novillo <dnovillo@google.com>
4521
4522 * lto.c (read_cgraph_and_symbols): Factor out of lto_main.
4523 (materialize_cgraph): Likewise.
4524 (do_whole_program_analysis): Likewise.
4525 (lto_main): Call read_cgraph_and_symbols,
4526 materialize_cgraph and do_whole_program_analysis.
4527
45282009-02-10 Simon Baldwin <simonb@google.com>
4529
4530 * lto.c: Include lto-opts.h.
4531 * (lto_main): Clear file options at loop start, read any saved
4532 options from the first file handled, and re-issue options.
4533 * Makefile.in (lto.o): Add dependency on lto-opts.h.
4534
45352009-02-02 Diego Novillo <dnovillo@google.com>
4536
4537 * lto.c (lto_main): Stop LTO_TIMER and use
4538 TV_WHOPR_WPA_LTRANS_EXEC when launching LTRANS.
4539
45402009-01-30 H.J. Lu <hongjiu.lu@intel.com>
4541
4542 PR lto/38995
4543 * lto-elf.c (init_shdr##BITS): Set the sh_addralign field
4544 to POINTER_SIZE.
4545
45462009-01-29 Ramana Radhakrishnan <ramana.r@gmail.com>
4547
ab20d992 4548 * Make-lang.in (LTO_EXE): Link with all
d7f09764
DN
4549 BACKENDLIBS and not only GMPLIBS
4550
45512009-01-28 H.J. Lu <hongjiu.lu@intel.com>
4552
4553 PR bootstrap/38992
4554 * lto-elf.c: Include gelf.h instead of libelf.h.
4555 (lto_elf_file_close): Replace elfx_update_shstrndx with
4556 gelf_getehdr, elf_getscn, gelf_getshdr, gelf_update_shdr and
4557 gelf_update_ehdr.
4558
45592009-01-28 H.J. Lu <hongjiu.lu@intel.com>
4560
4561 PR middle-end/38996
4562 * lto-elf.c (DEFINE_INIT_EHDR): Initialize e_version.
4563
45642009-01-26 Diego Novillo <dnovillo@google.com>
4565
4566 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Update.
4567
45682009-01-26 Diego Novillo <dnovillo@google.com>
4569
4570 * lto-lang.c (lto_types_compatible_p): Move to gimple.c
4571 and rename into gimple_types_compatible_p.
4572
45732009-01-12 Rafael Avila de Espindola <espindola@google.com>
4574
4575 * lto-lang.c (lang_hooks): Remove the const qualifier.
4576
45772009-01-06 Diego Novillo <dnovillo@google.com>
4578
4579 * ltrans-driver: Mark 'all' target as phony.
4580
45812008-12-31 Diego Novillo <dnovillo@google.com>
4582
4583 * ltrans-driver: Execute a NOP action for target 'all'.
4584
45852008-12-19 Diego Novillo <dnovillo@google.com>
4586
4587 * lto.c (lto_1_to_1_map): Tidy.
4588
45892008-12-19 Diego Novillo <dnovillo@google.com>
4590
4591 * lto-elf.c (lto_elf_file_open): When FILENAME cannot
4592 be opened, show its name.
4593 * ltrans-driver: If $verbose is set, do not use parallelism.
4594
45952008-12-17 Rafael Avila de Espindola <espindola@google.com>
4596
4597 * lto.c (lto_fixup_function): New.
4598 (lto_fixup_tree): Call lto_fixup_function.
4599
46002008-12-14 Doug Kwan <dougkwan@google.com>
4601
4602 * lto.c (lto_1_to_1_map): Create a cgraph node set for any global
4603 variables if there is no function.
4604
46052008-12-10 Simon Baldwin <simonb@google.com>
4606
4607 * ltrans-driver: Always run make in silent mode, to avoid make's
4608 trace on stdout interfering with lto-wrapper output.
4609
46102008-12-10 Doug Kwan <dougkwan@google.com>
4611
4612 * lto.c (lto_add_inline_clones): Do not force master clones of
4613 inlined functions already in SET to be static inline.
4614
46152008-12-04 Doug Kwan <dougkwan@google.com>
4616
4617 * lto.c (globalize_context_t): New type to store states in
4618 globalization of cross-file statics.
4619 (globalize_cross_file_statics): New.
4620 (lto_scan_statics_in_ref_table): Walk tree to look for reachable
4621 static decls that need to be fixed up.
4622 (lto_scan_statics_in_cgraph_node): Change call interface to use
4623 a globalize_context_t CONTEXT for all states used.
4624 (lto_scan_statics_in_remaining_global_vars): New.
4625 (lto_promote_cross_file_statics): Use new call interface of
4626 LTO_SCAN_STATICS_IN_CGRAPH_NODE. Handle remaining externally
4627 visible vars in the last set.
4628
46292008-12-03 Diego Novillo <dnovillo@google.com>
4630
4631 * lto.c (lto_fixup_tree): Do not emit an error when
4632 PREVAILING throw but T doesn't.
4633
46342008-12-02 Doug Kwan <dougkwan@google.com>
4635
4636 * lto.c (lto_scan_statics_in_ref_table): New function factored out
4637 from code in ...
4638 (lto_scan_statics_in_cgraph_node): Handle both file-scope static
4639 variables and functions.
4640 (lto_promote_cross_file_statics): Rename bitmaps to SEEN_DECLS
4641 and GLOBAL_DECLS from SEEN_VARS and GLOBAL_VARS.
4642
46432008-11-29 Diego Novillo <dnovillo@google.com>
4644
4645 * lto.c: Include timevar.h.
4646 (lto_materialize_function): Tidy. Add comments.
4647 (lto_wpa_write_files): Tidy.
4648 (lto_execute_ltrans): Tidy.
4649 (lto_main): Add local variable LTO_TIMER. Initialize it
4650 to one of TV_WHOPR_WPA, TV_WHOPR_LTRANS or TV_LTO.
4651 Start and stop the timer.
4652 Tidy comments.
4653 * Make-lang.in (lto.o): Add dependency on timevar.h.
4654 * ltrans-driver: React to -v and -save-temps.
4655 Use simple heuristic to determine how much parallelism to
4656 use when executing make.
4657
46582008-11-12 Doug Kwan <dougkwan@google.com>
4659
4660 * lto.c (lto_bitmap_obstack): Remove var.
4661 (lto_materialize_function): Do nothing instead of marking function
4662 body in file if flag_wpa is true.
4663 (lto_add_all_inlinees): Use bitmap functions in lto-utils.c.
4664 (lto_scan_statics_in_cgraph_node): New function.
4665 (lto_promote_cross_file_statics): Same.
4666 (lto_wpa_write_files): Call lto_promote_cross_file_statics.
4667 Use bitmap functions in lto-utils.c. Remove unsued label OUT.
4668 * Make-lang.in (lto/lto.o): Add lto-utils.h to dependency list.
4669
46702008-11-09 Diego Novillo <dnovillo@google.com>
4671
ab20d992 4672 * lto.c (lto_fixup_tree): Change error message locus
d7f09764
DN
4673 information to include location of mismatching
4674 declaration.
4675 Use TREE_NO_WARNING to avoid repeated messages.
4676 (lto_main): If lto_fixup_decls emitted any errors, exit.
ab20d992 4677 * lto-lang.c: Don't include libfuncs.h and except.h
d7f09764
DN
4678 (lto_init_options): Don't enable exceptions by default.
4679 (lto_eh_runtime_type): Move to lto-function-in.c
4680 (lto_init_eh): Likewise.
4681 (lto_init): Don't call lto_init_eh.
ab20d992 4682 * Make-lang.in (lto-lang.o): Remove dependency on
d7f09764
DN
4683 libfuncs.h and except.h.
4684
46852008-10-30 Diego Novillo <dnovillo@google.com>
4686
4687 * lto.c (lto_read_decls): Declare debug_main only if
4688 LTO_STREAM_DEBUGGING is enabled.
4689
46902008-10-30 Simon Baldwin <simonb@google.com>
4691
4692 * lto.c (lto_wpa_write_files): Create intermediate files with
4693 make_cwd_temp_file().
4694 (lto_maybe_unlink): New. Delete intermediate WPA files unless
4695 WPA_SAVE_LTRANS is set.
4696 (lto_main): Call lto_maybe_unlink() for intermediate WPA files.
4697 * ltrans-driver: Do not strip directory from output files.
4698
46992008-10-29 Doug Kwan <dougkwan@google.com>
4700
4701 * lto.c (free_decl): Call lto_symtab_clear_resolution when freeing
4702 DECL.
4703 * Make-lang.in (LTO_OBJS): Remove lto/lto-symtab.o
4704 (lto/lto-symtab.o): Remove rule.
4705 * lto-tree.h (struct lang_identifier): Remove LTO specific fields.
4706 (struct lang_decl): Remove RESOLUTION and add DUMMY in struct.
4707 (LANG_IDENTIFIER_CAST, LTO_IDENTIFIER_DECL, LTO_DECL_RESOLUTION):
4708 Remove macros.
4709 lto-symtab.c (File): Move up one level.
4710 lto-lang.c (cgraph.h): Remove include.
4711 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
4712 input_cgraph): Move to lto-cgraph.c in gcc directory above.
4713 (LANG_HOOKS_INPUT_CGRAPH): Remove use of macro.
4714
ab20d992 47152008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4716
4717 * lto-function-in.c (get_resolution): Return LDPR_PREEMPTED_IR for
4718 non prevailing weak symbols.
4719
ab20d992 47202008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4721
4722 * lto-lang.c (input_cgraph_1): Iterate over nodes, not cgraph_nodes.
4723
ab20d992 47242008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4725
4726 * lto-lang.c (input_node): Avoid casts from pointers to ints of
4727 different types.
4728
47292008-10-23 Simon Baldwin <simonb@google.com>
4730
4731 * lto-lang.c (input_node): Save the node reference, rather than the
4732 node pointer, in node->inlined_to.
4733 (input_cgraph_1): Convert node references into node pointers.
4734
47352008-10-22 Diego Novillo <dnovillo@google.com>
4736 Rafael Espindola <espindola@google.com>
4737
4738 * lto.c (lto_resolution_read): Tidy.
4739 * lto-symtab.c (lto_symtab_prevailing_decl): Do not
4740 abort if RET is NULL.
4741
47422008-10-22 Doug Kwan <dougkwan@google.com>
4743
4744 * lto.c (lto_fixup_tree): Check for NOTHROW conflict only if
4745 exceptions flag is given.
4746 * lto-lang.c: (lto_init_options) Set default exceptions flag.
4747 (lto_init_eh): Remove exceptions flag initialization.
ab20d992 4748 (lto_init): Only call lto_init_eh if exceptions flag is set.
d7f09764
DN
4749
47502008-10-21 Diego Novillo <dnovillo@google.com>
4751
4752 * lto.c: Tidy some formatting.
4753 * lto.h: Likewise.
4754
47552008-10-21 Simon Baldwin <simonb@google.com>
4756
4757 * lto-symtab.c: (lto_same_type_p): Types cannot be equal if one of
4758 them is NULL (but not the other).
4759
47602008-10-17 Diego Novillo <dnovillo@google.com>
4761
4762 * ltrans-driver: Divert output from make to a temporary file.
4763 Show it if the call to make failed.
4764
47652008-10-15 Diego Novillo <dnovillo@google.com>
4766
4767 * lto.c (lto_wpa_write_files): Reformat do-while loop.
4768 Do not print TEMP_FILENAME
4769 * ltrans-driver: Call make with -s.
4770
47712008-10-15 Diego Novillo <dnovillo@google.com>
4772
4773 * lto-symtab.c (lto_symtab_merge_decl): Do not force
4774 TREE_STATIC on global symbols.
4775
47762008-10-14 Ollie Wild <aaw@google.com>
4777
4778 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Remove.
4779 (LTRANS_DRIVER_EXE): Add.
4780 (lto.all.cross): Add LTRANS_DRIVER_EXE.
4781 (lto.all.encap): Add LTRANS_DRIVER_EXE.
4782 (lto.install.common): Remove ltrans-driver.
4783 (lto.mostlyclean): Add LTRANS_DRIVER_EXE.
4784 (LTRANS_DRIVER_EXE): New build rule.
4785 * config-lang.in (compilers): Add ltrans-driver.
4786
47872008-10-14 Diego Novillo <dnovillo@google.com>
4788
4789 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Disable transformation
4790 of program name.
4791
47922008-10-13 Ollie Wild <aaw@google.com>
4793
4794 * lang-spec.h (@lto): Replace lto1_options with cc1_options.
4795 * lto.c (lto_execute_ltrans): Add "-fno-wpa -fltrans -xlto" to CFLAGS.
4796 * ltrans-driver (LTRANS_FLAGS): Remove.
4797
47982008-10-08 Doug Kwan <dougkwan@google.com>
4799
4800 * lto.c (lto_fixup_tree): Remove ATTRIBUTE_UNUSED from DATA.
4801 Handle new tree codes RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
4802 and TREE_BINFO. Also move code handling FUNCTION_DECL and VAR_DECL
4803 from lto_fixup_state to here.
4804 (lto_fixup_state): Take an lto_fixup_data_t object DATA instead of
4805 just a free-list. Fix up types also. Move decl merging code to
4806 lto_fixup_tree.
4807 (lto_fixup_state_aux): Change AUX to point to an lto_fixup_data_t
4808 object.
4809 (lto_fixup_decls): Use another pointer set to avoid multiple
4810 walking of nodes except for DECLs to be replaced. Pass an
4811 lto_fixup_data_t object to tree-walker.
4812
ab20d992 48132008-10-08 Rafael Espindola <espindola@google.com>
d7f09764
DN
4814
4815 * lto-symtab.c (lto_symtab_set_resolution): New.
4816 (lto_symtab_merge_decl): Use lto_symtab_set_resolution and
4817 lto_symtab_get_resolution.
4818 (lto_symtab_prevailing_decl): Return decl for non public decls.
4819 (lto_symtab_get_resolution): New.
4820 * lto.c (lto_fixup_tree, lto_fixup_state): Remove unecessary checks.
4821
ab20d992 48222008-10-06 Rafael Espindola <espindola@google.com>
d7f09764
DN
4823
4824 * lto-lang.c: Include cgraph.h.
4825 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
4826 input_cgraph): Moved from lto-cgraph.c.
4827 (LANG_HOOKS_INPUT_CGRAPH): New.
4828
ab20d992 48292008-10-03 Rafael Espindola <espindola@google.com>
d7f09764
DN
4830
4831 * lto.c (lto_fixup_tree, lto_fixup_state): Fix the FIXME.
4832
ab20d992 48332008-10-03 Rafael Espindola <espindola@google.com>
d7f09764
DN
4834
4835 * lto-symtab.c (lto_symtab_overwrite_decl): Remove. Remove all calls.
4836 (lto_symtab_merge_decl): Update LTO_IDENTIFIER_DECL the reflect the
4837 prevailing definition. Don't mark TREE_NOTHROW differences.
4838 * lto.c (lto_fixup_tree): New.
4839 (lto_fixup_state): New.
4840 (lto_fixup_state_aux): New.
4841 (free_decl): New.
4842 (lto_fixup_decls): New.
4843 (lto_main): Call lto_fixup_decls.
4844
48452008-10-02 Ollie Wild <aaw@google.com>
4846
4847 * lang.opt (fltrans): Moved from common.opt. Remove RejectNegative
4848 and Init.
4849 (fwpa): Moved from common.opt. Remove RejectNegative and Init.
4850 * lto-lang.c (lto_post_options): Add validation and fixups for
4851 -fltrans and -fwpa.
4852
ab20d992 48532008-10-02 Rafael Espindola <espindola@google.com>
d7f09764
DN
4854
4855 * lto-symtab.c (lto_symtab_merge_var, lto_symtab_merge_fn,
4856 lto_symtab_merge_decl): Return void.
4857 (lto_symtab_prevailing_decl): New.
4858
ab20d992 48592008-09-30 Rafael Espindola <espindola@google.com>
d7f09764
DN
4860
4861 * lto-symtab.c (lto_symtab_compatible): Remove the check for already
4862 defined symbols.
4863 (lto_symtab_overwrite_decl): Copy LTO_DECL_RESOLUTION.
4864 (lto_symtab_merge_decl): Store symbol resolution in LTO_DECL_RESOLUTION.
4865 Check for already defined symbols.
4866 * lto-tree.h (lang_decl): Remove dummy and add resolution fields.
4867 (LTO_IDENTIFIER_RESOLUTION): Remove.
4868 (LTO_DECL_RESOLUTION): New.
4869
ab20d992 48702008-09-30 Rafael Espindola <espindola@google.com>
d7f09764
DN
4871
4872 * lto.c (lto_read_decls): Use new input_tree signature.
4873
48742008-09-26 Doug Kwan <dougkwan@google.com>
4875
4876 * lto.c (lto_main): Call lto_fixup_nothrow_decls to fix up function
4877 bodies affected by exception attribute merging of DECLs.
4878 * lto-symtab.c (lto_symtab_merge_decl): Handle exception attribute
ab20d992 4879 merging.
d7f09764
DN
4880
48812008-09-25 Rafael Espindola <espindola@google.com>
4882
4883 * Make-lang.in (PLUGIN_API_H, LTO_TREE_H): New.
4884 (lto/lto-lang.o, lto/lto.o, lto/lto-symtab.o) Use LTO_TREE_H.
4885 * lto-symtab.c (lto_symtab_compatible): New.
4886 (lto_symtab_overwrite_decl): New.
4887 (lto_symtab_merge_decl): Refactor to use the above functions
4888 and the resolution from lang_identifier.
4889 * lto-tree.h: Include plugin-api.h.
4890 (lang_identifier): Add resolution.
4891 (LTO_IDENTIFIER_RESOLUTION): New.
4892
48932008-09-25 Ollie Wild <aaw@google.com>
4894
4895 * lang.opt (fltrans-output-list=): New option.
4896 * lto.c (lto_execute_ltrans): Output file names to ltrans_output_list.
4897
ab20d992 48982008-09-25 Rafael Espindola <espindola@google.com>
d7f09764
DN
4899
4900 * lto.c (lto_resolution_read): Initialize ret;
4901
49022008-09-24 Ollie Wild <aaw@google.com>
4903
4904 * lto.c (sys/mman.h): Move include.
4905 (lto_wpa_write_files): Return a list of written files.
4906 (lto_execute_ltrans): New function.
4907 (lto_main): Call lto_execute_ltrans.
4908 (ltrans-driver): New file.
4909 * lto-lang.c (DEFAULT_LTRANS_DRIVER): New macro.
4910 (DEAULT_LTRANS_DRIVER_LEN): New macro.
4911 (lto_init_options): Initialize ltrans_driver.
4912 (lto_handle_option): Fix incorrect default output value.
4913 * lang.opt (fltrans-driver=): New option.
4914 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): New variable.
4915 (lto.install-common): Add lto/ltrans-driver.
4916
ab20d992 49172008-09-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4918
4919 * Make-lang.in (LTO_OBJS): Add lto/common.o.
4920 (lto/lto.o): Depend on lto/common.h.
4921 (lto/common.o): New.
4922 * lang.opt (resolution): New.
4923 * lto-lang.c (resolution_file_name): New.
4924 (lto_handle_option): Handle OPT_resolution.
4925 * lto-symtab.c (lto_symtab_merge_decl): Add a resolution argument.
4926 (lto_symtab_merge_var,lto_symtab_merge_fn): Add a resolution argument.
4927 pass it to lto_symtab_merge_decl.
4928 * lto.c: Include common.h.
4929 (lto_read_decls): Add resolutions and resolutions_size arguments.
4930 Initialize data_in.globals_resolution and
4931 data_in.globals_resolution_size.
4932 (index_and_symbol_resolution): New.
4933 (lto_resolution_read): New.
4934 (lto_file_read): Add argument resolution_file.
4935 Read resolution.
4936 * lto.h (resolution_file_name): New.
4937
ab20d992 49382008-09-23 Rafael Espindola <espindola@google.com>
d7f09764
DN
4939
4940 * common.c: Update description.
4941 * common.h: Update description.
4942
ab20d992 49432008-09-23 Rafael Espindola <espindola@google.com>
d7f09764
DN
4944
4945 * common.c: Moved from lto-plugin.
4946 * common.h: Moved from lto-plugin.
4947
49482008-09-22 Doug Kwan <dougkwan@google.com>
4949
4950 * lto.c (VEC(bitmap,heap)): Declare.
4951 (lto_materialize_function): Handle WAP mode specially.
4952 (lto_add_inline_clones): New.
4953 (lto_add_all_inlinees): Changle algorithm and to use bitmaps. Also
4954 return a bitmap of inlined decls.
4955 (lto_wpa_write_files): Handle all DECLs brought in by inlining.
4956 (lto_main): Call reset_inline_failed to reset inlining states.
4957 Check call-graph after WPA inlining.
4958 * lto-lang.c (lto_init): Do not clear flag_generate_lto
4959 unconditionally.
4960
49612008-09-19 Doug Kwan <dougkwan@google.com>
4962
4963 lto.c (lto_main): Remove unsued wrapper code.
4964 lang-specs.h (@lto): Use lto1_options instead of cc1_options.
4965
49662008-09-19 Rafael Espindola <espindola@google.com>
4967
4968 * lto-symtab.c: Include lto-tree-in.h.
4969 * lto-tree.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove.
4970 * lto.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove
4971 * Make-lang.in (lto/lto-symtab.o): Add lto-tree-in.h.
4972
49732008-09-17 Paolo Bonzini <bonzini@gnu.org>
4974 Rafael Avila de Espindola <espindola@google.com>
4975
4976 * lto-lang.c (COMPOUND_LITERAL_EXPR_DECL_STMT,
4977 COMPOUND_LITERAL_EXPR_DECL): Remove.
4978 (emit_local_var): Remove.
4979 (lto_expand_expr): Remove.
4980 (lto_staticp): Remove.
4981 (LANG_HOOKS_EXPAND_EXPR): Remove.
4982 (LANG_HOOKS_STATICP): Remove.
4983
49842008-09-11 Diego Novillo <dnovillo@google.com>
4985
4986 * lto-lang.c: Include except.h and libfuncs.h.
4987 (lto_init_eh): New.
4988 (lto_init): Call it.
4989 Set flag_generate_lto to 0.
4990 * Make-lang.in (lto-lang.o): Add dependency on except.h
4991 and libfuncs.h.
4992
49932008-09-09 Bill Maddox <maddox@google.com>
4994
4995 * lto-lang.c: Include header file expr.h.
4996 (COMPOUND_LITERAL_EXPR_DECL_STMT,
4997 COMPOUND_LITERAL_EXPR_DECL): Copied from c-common.h.
ab20d992 4998 (emit_local_var): Copied from c-semantics.c.
d7f09764
DN
4999 (lto_expand_expr, lto_staticp): Copied from c_expand_expr
5000 and c_staticp in c-common.c.
ab20d992 5001 (LANG_HOOKS_EXPAND_EXPR,LANG_HOOKS_STATICP): Redefined.
d7f09764
DN
5002
50032008-09-08 Diego Novillo <dnovillo@google.com>
5004
5005 * lto-lang.c (lto_global_bindings_p): Return 1 during
5006 IPA passes.
5007
50082008-09-07 Diego Novillo <dnovillo@google.com>
5009
5010 * lto.c: Tidy formatting.
5011
50122008-08-04 Bill Maddox <maddox@google.com>
5013
5014 * lto-symtab.c (lto_symtab_merge_decl): Add comment.
ab20d992 5015
d7f09764
DN
50162008-09-03 Doug Kwan <dougkwan@google.com>
5017
5018 lto.c (lto_add_all_inlinees): Reset FAILED_REASON of edges to
5019 CIF_OK instead of NULL.
5020
50212008-09-02 Diego Novillo <dnovillo@google.com>
5022 Simon Baldwin <simonb@google.com>
5023
5024 * lto-lang.c (lto_type_for_size): Rewrite. Adapt from
5025 c_common_type_for_size.
5026 (lto_type_for_mode): Remove ATTRIBUTE_UNUSED markers.
5027 (lto_init): Call linemap_add.
5028 (signed_and_unsigned_types): Remove.
5029
50302008-08-29 Diego Novillo <dnovillo@google.com>
5031
5032 * lto-lang.c (handle_noreturn_attribute): New local function.
5033 (handle_const_attribute): New local function.
5034 (handle_malloc_attribute): New local function.
5035 (handle_pure_attribute): New local function.
5036 (handle_novops_attribute): New local function.
5037 (handle_nonnull_attribute): New local function.
5038 (handle_nothrow_attribute): New local function.
5039 (handle_sentinel_attribute): New local function.
5040 (handle_type_generic_attribute): New local function.
5041 (handle_format_attribute): New local function.
5042 (handle_format_arg_attribute): New local function.
5043 (lto_attribute_table): Declare.
5044 (lto_format_attribute_table): Declare.
5045 (lto_init_attributes): New local function.
5046 (lto_define_builtins): Call it.
5047 Call targetm.init_builtins and build_common_builtin_nodes.
5048 (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Define.
5049 (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Define.
5050
50512008-08-28 Diego Novillo <dnovillo@google.com>
5052
5053 * Make-lang.in (lto-lang.o): Replace tree-gimple.h with
5054 $(GIMPLE_H).
5055 (lto-symtab.o): Add dependency on $(GIMPLE_H).
5056 * lto-lang.c: Include gimple.h instead of tree-gimple.h.
5057 * lto-symtab.c: Include gimple.h.
5058 * lto-tree.h (chain_next): Replace GENERIC_NEXT with
5059 TREE_CHAIN.
5060
50612008-08-27 Doug Kwan <dougkwan@google.com>
5062
5063 * lto.c (vec.h, bitmap.h, pointer-set.h, ipa-prop.h, ggc.h,
5064 gt-lto-lto.h): New includes.
5065 (lto_materialize_function): Do not read in function body in WPA mode.
5066 Format a line to fit in 80 columns.
5067 (lto_cgraph_node_sets): New garbage collected variable.
5068 (lto_1_to_1_map, lto_add_all_inlinees, lto_wpa_write_files):
5069 New functions.
5070 (lto_main): Initialize bitmap obstack. Add code to handle WPA mode.
ab20d992 5071 * Make-lang.in (LTO_H): Replace filename lto-section-in.h with
d7f09764
DN
5072 variable LTO_SECTION_IN_H.
5073 (lto/lto.o): Include gt-lto-lto-c.h ggc.h ,VEC_H, BITMAP_H,
5074 pointer-set.h and IPA_PROP_H. Also replace filename lto-section-in.h
5075 with variable LTO_SECTION_IN_H.
5076 * config-lang.in (gtfiles): Add lto/lto.c.
5077 * lto-symtab.c (lto_symtab_merge_decl): Set DECL_CONTEXT of
5078 merged DECL_RESULT correctly.
5079
50802008-08-26 Bill Maddox <maddox@google.com>
5081
5082 * lto-lang.c Include tree-gimple.h.
5083 (lto_mark_addressable): Call mark_addressable rather than
5084 asserting.
5085 (lto_post_options): Suppress debug info generation.
5086 * Make-lang.in: Add dependency of lto-lang.o on tree-gimple.h.
ab20d992 5087
3f8257db 50882008-08-25 Bill Maddox <maddox@google.com>
d7f09764
DN
5089
5090 * lto-symtab.c (lto_symtab_merge_decl): Remove a suspect
5091 assertion and leave an explanatory comment in its place.
ab20d992 5092
d7f09764
DN
50932008-08-21 Doug Kwan <dougkwan@google.com>
5094
5095 * lto.c (preload_common_nodes): Call lto_get_common_nodes to get a list
5096 of common nodes instead of computing locallly.
5097 (lto_read_in_decl_state): New.
5098 (lto_read_decls): Change code for udpate in struct lto_decl_header.
5099 Read global and per-function in-decl states.
5100 * Make-lang.in (LTO_H): Update dependency.
5101 (lto/lto.o): Same.
5102 (lto-symtab.c): Merge (revision 139039)
5103 * lto-symtab.c (lto_symtab_merge_decl): Merge DECL_RESULT.
5104
51052008-08-21 Rafael Espindola <espindola@google.com>
5106
5107 * config-lang.in (target_libs): New.
5108
51092008-08-20 Bill Maddox <maddox@google.com>
5110
5111 * lto.c (current_lto_file): Remove GTY marker from static
5112 variable. Remove include of file gt-lto-lto.h.
5113 * Make-lang.in: Remove dependency of lto/lto.o on
5114 gt-lto-lto.h.
5115 * lto-elf.c (lto_file_close): Removed.
5116 (lto_elf_file_open): Use XCNEW instead of GGC_CNEW to
5117 allocate lto_elf_file object.
5118 (lto_elf_file_close): Free lto_elf_file object after close.
5119 * lto.h (struct lto_file_struct): Remove GTY marker.
5120 * config-lang.in: Remove lto/lto.h and lto/lto.c from
5121 gtfiles.
ab20d992 5122
d7f09764
DN
51232008-08-20 Bill Maddox <maddox@google.com>
5124
5125 * lto.c (lto_read_decls): Provide dummy argument to input_tree
5126 to conform to its new signature.
5127 * lto-symtab.c (lto_symtab_merge_decl): Do not invoke ggc_free
5128 on discarded node here, now called in global_vector_fixup.
ab20d992 5129
d7f09764
DN
51302008-08-09 Bill Maddox <maddox@google.com>
5131
5132 * lto.c (preload_common_nodes): Verify that fileptr_type_node
5133 has not been set to a front-end-specific value.
ab20d992 5134
d7f09764 51352008-08-05 Doug Kwan <dougkwan@google.com>
ab20d992 5136
d7f09764
DN
5137 * Make-lang.in (lto-symtab.o): Add missing dependencies to fix
5138 build breakage.
5139
51402008-07-30 Bill Maddox <maddox@google.com>
5141
5142 * lto.c (lto_materialize_function): Call lto_original_decl_name.
5143 Remove obsolete comments.
5144 (lto_read_decls): Remove initialization of deleted field data_in.global.
5145 Tidy up comments.
5146 (lto_main): Remove redundant initialization of section_hash_table.
5147 * lto-elf.c: Removed obsolete comments.
5148 * lto.h: Tidy up comments.
5149 * lto-symtab.c (lto_least_common_multiple): New function.
5150 (lto_symtab_merge_decl): Merge variable alignments in some cases.
5151 Tidy up comments.
5152
51532008-07-25 Diego Novillo <dnovillo@google.com>
5154 Bill Maddox <maddox@google.com>
5155
5156 * lto.c: Re-order include files.
5157 Include lto-section-out.h.
5158 (preload_common_nodes): Add debugging output.
5159 Add new local INDEX_TABLE.
5160 Call preload_common_node.
5161 * Make-lang.in (lto.o): Add dependency on lto-section-out.h
5162
51632008-07-13 Bill Maddox <maddox@google.com>
5164
5165 * lto.c (lto_read_decls): Cast pointer to const char * to avoid
5166 unwanted scaling during pointer addition.
5167
51682008-07-11 Bill Maddox <maddox@google.com>
5169 Diego Novillo <dnovillo@google.com>
5170
5171 * lto.c (lto_read_decls): Fix C++ compatibility warnings.
5172 Make code const-correct.
5173 (lto_file_read): Fix C++ compatibility warnings.
ab20d992 5174 (lto_read_section_data): Fix C++ compatibility warnings.
d7f09764
DN
5175 (lto_get_section_data): Use CONST_CAST to avoid warning when
5176 const pointer passed to free.
5177 * lto-elf.c (lto_elf_build_section_table): Fix C++
5178 compatibility warnings.
ab20d992 5179 (lto_elf_append_data): Fix C++ compatibility warnings. Use CONST_CAST
d7f09764 5180 to avoid warning assigning const pointer to d_buf field of Elf_Data.
ab20d992 5181 (lto_get_current_out_file): Fix C++ compatibility warnings.
d7f09764
DN
5182
51832008-07-11 Diego Novillo <dnovillo@google.com>
5184
5185 * Make-lang.in (lto-warn): Define.
5186
51872008-07-03 Simon Baldwin <simonb@google.com>
5188
5189 * lto.c (lto_read_decls): Wrapped debug-only data items within #ifdef
5190 LTO_STREAM_DEBUGGING.
5191
51922008-06-27 Ollie Wild <aaw@google.com>
5193
5194 * lto-elf.c (lto-section-out.h): New include.
5195 (struct lto_elf_file): Remove bits member. Add scn, shstrtab_stream,
5196 and data members.
5197 (cached_file_attrs): New static variable.
5198 (lto_elf_get_shdr, lto_elf_free_shdr): Remove elf_file parameter.
5199 Use cached_file_attrs for checking bits.
5200 (lto_elf_build_section_table): Remove elf_file argument from
5201 lto_elf_get_shdr and lto_elf_free_shdr calls.
5202 (DEFINE_INIT_SHDR): New macro.
5203 (init_shdr32, init_shdr64): New functions defined via the
5204 DEFINE_INIT_SHDR macro.
5205 (lto_elf_begin_section_with_type): New function.
5206 (lto_elf_begin_section): New function.
5207 (lto_elf_append_data): New function.
5208 (lto_elf_end_section): New function.
5209 (DEFINE_VALIDATE_EHDR): New macro.
5210 (validate_ehdr32, validate_ehdr64): New functions defined via the
5211 DEFINE_VALIDATE_EHDR macro.
5212 (validate_file): New function.
5213 (DEFINE_INIT_EHDR): New macro.
5214 (init_ehdr32, init_ehdr64): New functions defined via the
5215 DEFINE_INIT_EHDR macro.
5216 (init_ehdr): New function.
5217 (lto_elf_file_open): Add support for writable files. Move some
5218 validation logic to validate_file.
5219 (lto_elf_file_close): Add support for writable files. Write file data
5220 and free data blocks.
5221 (current_out_file): New static variable.
5222 (lto_set_current_out_file): New function.
5223 (lto_get_current_out_file): New function.
5224 * lto.c (lto_main): Add writable argument to lto_elf_file_open calls.
5225 Add temporary initialization for testing ELF serialization.
5226 * lto.h (lto-section-out.h): New include.
5227 (struct lto_file_struct): Slight modification to comment.
5228 (lto_elf_file_open): Add writable parameter.
5229 (lto_elf_begin_section): New function declaration.
5230 (lto_elf_append_data): New function declaration.
5231 (lto_elf_end_section): New function declaration.
5232 (lto_set_current_out_file, lto_get_current_out_file): New function
5233 declarations.
5234 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Set as lto_elf_begin_section.
5235 (LANG_HOOKS_APPEND_DATA): Set as lto_elf_append_data.
5236 (LANG_HOOKS_END_SECTION): Set as lto_elf_end_section.
5237 * Make-lang.in (LTO_H): Add lto-section-out.h.
5238
52392008-06-12 Ollie Wild <aaw@google.com>
5240
5241 * lto.h (struct lto_file_vtable_struct): Remove.
5242 (struct lto_file_struct): Remove vtable member.
5243 * lto-elf.c (lto_file_init): Remove vtable argument.
5244 (lto_elf_map_optional_lto_section): Remove.
5245 (lto_elf_unmap_section): Remove.
5246 (lto_elf_file_vtable): Remove.
5247 (lto_elf_file_open): Remove lto_elf_file_vtable argument from
5248 lto_file_init call.
5249 (lto_elf_find_section_data): Remove.
5250
52512008-06-11 Ollie Wild <aaw@google.com>
5252
5253 * lto.c (lto_file_read): Add const qualifier to data variable.
5254
52552008-06-11 Diego Novillo <dnovillo@google.com>
5256
5257 Merge from lto-streamber sub-branch.
5258
5259 2008-06-04 Ollie Wild <aaw@google.com>
5260
5261 * lto.c: Remove inclusion of dwarf2.h and dwarf2out.h.
5262 * Make-lang.in (lto.o): Remove dependency on dwarf2.h.
5263
5264 2008-05-28 Bill Maddox <maddox@google.com>
5265
5266 Replace the DWARF reader in the LTO front-end.
5267
5268 * lto.c: Include lto-tree-in.h, lto-tags.h.
5269 (enum DWARF2_class, DW_cl_constant, struct
5270 DWARF2_form_data, struct lto_context,
5271 lto_fd_init, lto_info_fd_init,
5272 lto_abbrev_fd_init, lto_info_fd_close,
5273 lto_file_init, lto_file_close,
5274 lto_file_corrupt_error, lto_abi_mismatch_error,
5275 LTO_CHECK_INT_VAL, LTO_READ_TYPE,
5276 lto_read_uleb128, lto_read_sleb128,
5277 lto_read_initial_length, lto_abbrev_read_attrs,
5278 lto_abbrev_read, lto_abbrev_read_lookup,
5279 lto_read_section_offset,
5280 lto_read_comp_unit_header, find_cu_for_offset,
5281 lto_get_file_name,
5282 lto_resolve_reference,lto_read_form,
5283 attribute_value_as_int,
5284 make_signed_host_wide_int,
5285 attribute_value_as_constant, lto_cache_hash,
5286 lto_cache_eq, lto_cache_store_DIE,
5287 lto_cache_lookup_DIE, lto_find_integral_type,
5288 lto_find_integral_type_1,
5289 LTO_BEGIN_READ_ATTRS_UNCHECKED,
5290 LTO_BEGIN_READ_ATTRS, LTO_END_READ_ATTRS,
5291 lto_unsupported_attr_error, lto_get_identifier,
5292 lto_read_referenced_type_DIE,
5293 lto_read_compile_unit_DIE,
5294 lto_read_array_type_DIE,
5295 lto_read_structure_union_class_type_DIE,
5296 lto_read_enumerator_DIE,
5297 lto_read_enumeration_type_DIE,
5298 lto_read_only_for_child_DIEs,
5299 lto_read_only_for_child_DIEs,
5300 lto_read_member_DIE, lto_read_abbrev,
5301 lto_read_variable_formal_parameter_constant_DIE,
5302 lto_get_body): Removed.
5303 (preload_common_nodes): New function.
5304 (lto_read_decls): Convert for new global streamer.
5305 (lto_materialze_file_data,
5306 lto_read_subroutine_type_subprogram_die,
5307 lto_read_unspecified_parameters_DIE,
5308 lto_read_typedef_DIE,
5309 lto_read_pointer_reference_type_DIE,
5310 lto_read_subrange_type_DIE,
5311 lto_read_base_type_DIE,
5312 lto_read_const_volatile_restrict_type_DIE,
5313 lto_read_namespace_DIE,
5314 lto_read_unspecified_type_DIE, lto_read_DIE,
5315 lto_read_child_DIEs, lto_collect_child_DIEs):
5316 Removed.
5317 (lto_info_read, lto_set_cu_context): Removed.
5318 (lto_file_read): Convert for new global streamer.
5319 (lto_resolve_type_ref, lto_read_DIE_at_ptr,
5320 lto_resolve_var_ref, lto_resolve_fn_ref,
5321 lto_resolve_field_ref, lto_resolve_typedecl_ref,
5322 lto_resolve_namespacedecl_ref): Removed.
5323 (lto_file_init, lto_file_close): Moved to lto-elf.c.
5324 * lto-tree.h (lto_symtab_merge_var,
5325 lto_symtab_mergee_fun): Declare here.
5326 * lto-elf.c (lto_file_init, lto_file_close): Moved from lto.c.
5327 (lto_elf_file_open): Removed code to read DWARF debug sections.
5328 * lto.h (lto_context, DWARF2_attr, DWARF2_abbrev,
5329 DWARF2_CompUnit, lto_die_ptr,
5330 lto_die_cache_entry, lto_fd, lto_info_fd,
5331 lto_abbrev_fd): Removed.
5332 (lto_file): Removed debug_info and debug_abbrev fields.
5333 (lto_ref): Removed.
5334 (lto_file_init, lto_file_close,
5335 lto_resolve_type_ref, lto_resolve_var_ref,
5336 lto_resolve_fn_ref, lto_resolve_field_ref,
5337 lto_resolve_typedecl_ref,
5338 lto_resolve_namespacedecl_ref,
5339 lto_get_file_name): Removed declarations.
5340 (lto_symtab_merge_var, lto_symtab_merge_fn):
5341 Declarations moved to lto-tree.h.
5342 * lto-symtab.c (lto_compatible_attributes_p):
5343 Lobotomize this, as it barfs on "Hello, world!".
5344 * lto-section-out.c: Include lto-tree-out.h.
5345 (lto_hash_global_slot_node,
5346 lto_eq_global_slot_node, preload_common_nodes,
5347 write_global_stream, write_global_references):
5348 New functions.
5349 (produce_asm_for_decls): Convert for new global streamer.
5350 * lto-section-out.h (lto_hash_global_slot_node,
5351 lto_eq_global_slot_node): Declare.
5352
3f8257db 53532008-06-07 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 5354 Jan Hubicka <jh@suse.cz>
ab20d992 5355
d7f09764
DN
5356 * lto.c (sys/mman.h, tree-pass.h): New includes.
5357 (lto_materialize_constructors_and_inits,
5358 lto_materialize_function): Keeps length of section.
5359 (lto_materialize_cgraph): Removed.
5360 (lto_read_decls): Initialize fd field.
5361 (lto_file_read): Different return type and removed much code to
5362 lto_main.
5363 (page_mask): New variable.
5364 (lto_read_section_data, get_section_data, free_section_data): New
5365 functions.
5366 (lto_main): Now calls pass manager, sets the hooks so that the ipa
ab20d992
JJ
5367 passes can get the section data.
5368
3f8257db 53692008-05-27 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5370
5371 * lto.h (lto_read_decls): Made local.
ab20d992 5372 (lto_input_function_body, lto_input_constructors_and_inits,
d7f09764
DN
5373 lto_input_cgraph): Declarations moved to lto-section-in.h.
5374 * lto-section-in.c: Moved to .. .
5375 * lto-cgraph-in.c: Ditto.
5376 * lto-section-in.h: Ditto.
5377 * lto-function-in.c: Ditto.
5378 * lto-lang.c (lto_handle_option): Added ATTRIBUTE_UNUSED to parms.
5379 (lto_insert_block): Removed.
5380 (LANG_HOOKS_INSERT_BLOCK): Removed.
5381 * Make-lang.in (lto-cgraph-in.o, lto-function-in.o,
5382 lto-section-in.o): Rules moved to lto/Makefile.in.
ab20d992 5383
d7f09764
DN
5384
53852008-05-16 Ollie Wild <aaw@google.com>
5386
5387 * lto-lang.c (tree-inline.h): Include.
5388 (lto_post_options): New function.
5389 (LANG_HOOKS_POST_OPTIONS): Define.
5390 * lto-cgraph-in.c (overwrite_node): Set node->global.insns.
5391 * lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
5392
53932008-05-13 Diego Novillo <dnovillo@google.com>
5394
5395 * lto-function-in.c (input_ssa_names): Call
5396 make_ssa_name_fn instead of make_ssa_name.
5397
53982008-05-12 Diego Novillo <dnovillo@google.com>
5399
5400 * lto-cgraph-in.c (overwrite_node): Update references to
5401 inline summary fields.
5402 * lto-function-in.c (input_expr_operand): Do not handle
5403 STRUCT_FIELD_TAG.
5404
54052008-05-09 Ollie Wild <aaw@google.com>
5406
5407 * lang.opt: New file.
5408 * lto-lang.c (lto_init_options): New function.
5409 (lto_handle_option): New function.
5410 (lto_init): Move initialization of flag_unit_at_a_time to
5411 lto_init_options.
5412 (LANG_HOOKS_INIT_OPTIONS): Define.
5413 (LANG_HOOKS_HANDLE_OPTION): Define.
5414
54152008-04-29 Ollie Wild <aaw@google.com>
5416
5417 * lto.c (lto_read_namespace_DIE): New function.
5418 (lto_read_DIE): Add lto_read_namespace_DIE callback. Cache
5419 NAMESPACE_DECL DIE's.
5420 (lto_resolve_namespacedecl_ref): New function.
5421 * lto.h (lto_resolve_namespacedecl_ref): New function.
5422 * lto-section-in.c (lto_read_decls): Read namespace declarations.
5423 * lto-section-in.h (struct lto_file_decl_data): Add namespace_decls
5424 and num_namespace_decls.
5425 * lto-function-in.c (input_expr_operand): Add NAMESPACE_DECL case.
5426 * lto-lang.c (lto_init_ts): New function.
5427 (LANG_HOOKS_INIT_TS): Set as lto_init_ts.
5428
54292008-04-16 Ollie Wild <aaw@google.com>
5430
5431 * lto-function-in.c (input_type_ref): Updated function description.
5432
54332008-04-16 Ollie Wild <aaw@google.com>
5434
5435 * lto-function-in.c (input_type_ref_1): New function.
5436 (input_type_ref): Split into two functions.
5437 (input_function): Add support for type contexts.
5438
54392008-04-16 Ollie Wild <aaw@google.com>
5440
5441 * lto.c (lto_materialize_function): Use DECL_ASSEMBLER_NAME to compute
5442 section name
5443
54442008-04-16 Ollie Wild <aaw@google.com>
5445
5446 * lto.c (lto_read_compile_unit_DIE): Add DW_LANG_C_plus_plus to the
5447 list of supported languages.
5448
3f8257db 54492008-03-25 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5450
5451 Merge with mainline @133491.
5452
3f8257db 54532008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5454 Jan Hubicka <jh@suse.cz>
5455
5456 * lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
5457 fd->unmaterialized_fndecls.
5458 (lto_get_file_name, lto_materialize_cgraph): New function.
5459 (lto_materialize_constructors_and_inits,
5460 lto_materialize_function): Read info directly from elf file.
5461 (lto_file_read): Made local and initialize dictionary so that
5462 other lto sections can be read without reprocessing the elf file.
5463 (lto_main): Read all functions after all files have been processed
ab20d992 5464 for their types, globals and cgraph.
d7f09764
DN
5465 * Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
5466 dependencies.
5467 * lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
5468 (hash_name, eq_name, lto_elf_build_section_table): New functions.
5469 (lto_elf_read_symtab): Removed function.
5470 (lto_elf_file_open): Removed call to lto_elf_read_symtab.
5471 * lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
5472 (lto_file_read): Made local.
5473 (lto_get_file_name, lto_elf_build_section_table,
ab20d992 5474 lto_input_cgraph):
d7f09764
DN
5475 New function.
5476 * lto-section-in.c (lto_read_section_data, lto_get_section_data):
5477 New functions.
5478 (lto_read_decls): Get the file name.
5479 * lto-cgraph-in.c: New file.
5480 * lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
5481 (input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
5482 (input_labels): Fixed latent sizeof issue.
5483 (input_function): Build stmt array to set call sites into cgraph
5484 edges.
5485 (lto_read_body): Reset cfun->curr_properties.
5486 * lto_section_in.h (lto_section_slot): New structure.
5487 (section_hash_table.lto_file_decl_data): New field.
5488
3f8257db 54892008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5490
5491 * lto.c (lto_read_variable_formal_parameter_const): Remove code to
5492 reconstruct static initializers.
5493 (lto_get_body, lto_materialize_function): Add lto_section_type as
5494 a parameter.
5495 (lto_materialize_constructors_and_inits,
5496 lto_materialize_file_data): New function.
5497 (lto_materialize_function,
5498 lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
5499 unmap_section and map_fn_body to map_section.
5500 (lto_set_cu_context): Process functions and static inits
5501 differently.
5502 * Make-lang.in (LTO_H, lto/lto-function-in.o,
5503 lto/lto-section-in.o): Update dependencies.
ab20d992 5504 * lto-elf.c (lto_elf_map_optional_lto_section): Add
d7f09764
DN
5505 lto_section_type parameter.
5506 (lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
ab20d992 5507 * lto.h (lto_file_vtable_struct): Removed two of the fields and
d7f09764
DN
5508 renamed the other two so that there is only one map function and
5509 one unmap function and each takes a section type parameter.
5510 (lto_read_function_body): Renamed to lto_input_function_body and
5511 added file_data parameter.
5512 (lto_read_var_init): Removed.
5513 (lto_input_constructors_and_inits): New function.
5514 * lto-section-in.c (lto_read_decls): New function.
5515 * lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
5516 var_decls, type_decls, types to lto_file_decl_data.
5517 (input_type_ref, input_expr_operand, lto_read_body): Get
5518 field_decls, fn_decls, var_decls, type_decls, types from different
5519 structure.
5520 (input_globals, input_constructor, lto_read_var_init): Removed.
5521 (input_constructors_or_inits): New function.
5522 (lto_read_function_body, lto_input_constructors_and_inits):
5523 Renamed to lto_input_function_body and takes file_data parameter.
5524 * lto-section-in.h (lto_file_decl_data): New structure.
ab20d992 5525
3f8257db 55262008-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5527
5528 * lto-function-in.c (input_globals.c): Changed input type to
5529 lto_function_header.
5530 (input_bb): Removed code to deserialize the stmt number.
5531 (input_function): Renumber all stmts after they are input.
5532 (lto_read_body, lto_read_function_body, lto_read_var_init):
5533 Changed to used new header format and enum section_type.
ab20d992
JJ
5534 *lto-lang.c (success): Removed.
5535
d7f09764
DN
55362008-01-28 Nathan Froyd <froydnj@codesourcery.com>
5537
5538 * lto-elf.c (lto_elf_lookup_sym): Remove unused function.
5539 (lto_elf_free_sym): Likewise.
5540
5541 * lto-elf.c (lto_elf_read_var_init): Remove unused function.
5542 (lto_elf_build_init): Likewise.
5543
3f8257db 55442008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5545
5546 * lto-read.c: Renamed to lto-function-in.c.
5547 (input_1_unsigned): Moved to lto-section-in.c and renamed
5548 lto_input_1_unsigned.
5549 (input_uleb128): Moved to lto-section-in.c and renamed
5550 lto_input_uleb128.
5551 (input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
5552 lto_input_widest_uint_uleb128.
5553 (input_sleb128): Moved to lto-section-in.c and renamed
5554 lto_input_sleb128.
5555 (input_integer): Moved to lto-section-in.c and renamed
5556 lto_input_integer.
5557 (debug_in_fun): Moved to lto-section-in.c and renamed
5558 lto_debug_in_fun.
5559 (input_block): Moved to lto-section-in.h and renamed
5560 lto_input_block.
5561 (input_expr_operand): Fixed to allow lists with more than one
5562 element.
5563 * lto-section-in.h: New file.
5564 * lto-section-in.c: New file with changes from above.
5565 * Make-lang.in (lto-read.o): Renamed lto-function-in.c.
5566 (lto-section-in.o): New rule.
ab20d992 5567
d7f09764
DN
55682007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5569
5570 * lto-read.c (input_expr_operand): Mark static and external
5571 VAR_DECLs as needed.
5572
55732007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5574
5575 * lto-read.c (input_integer): Use the correct shift amount.
5576
55772007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5578
5579 * lto-lang.c (lto_pushdecl): Do nothing instead of aborting.
5580 (LANG_HOOKS_NAME): Define.
5581
55822007-12-27 Nathan Froyd <froydnj@codesourcery.com>
5583
5584 * lto.c (lto_find_integral_type): Define as a macro. Rename the
5585 original function to...
5586 (lto_find_integral_type_1): ...this. Consult UNSIGNEDP if we
5587 don't have a base type.
5588 (lto_read_enumeration_type_DIE): Examine the values of the
5589 enumeration to determine whether we can use an unsigned type for
5590 the base type of the enumeration.
5591
55922007-12-24 Nathan Froyd <froydnj@codesourcery.com>
5593
5594 * lto.c (lto_read_structure_union_class_type_DIE): Set TYPE_MODE
5595 and TYPE_ALIGN on UNION_TYPEs as soon as possible.
5596
55972007-12-22 Nathan Froyd <froydnj@codesourcery.com>
5598
5599 * lto-lang.c (lto_types_compatible_p): New function.
5600 (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
5601
56022007-12-22 Nathan Froyd <froydnj@codesourcery.com>
3f8257db 5603 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5604
5605 * lto-read.c (input_expr_operand): Fixed uninitialize var warning.
5606 (input_local_vars): Read in DECL_INITIAL and context for local
5607 statics that need to be put in unexpanded_vars_list.
5608
56092007-12-21 Nathan Froyd <froydnj@codesourcery.com>
5610
5611 * lto-read.c (input_real): Use a separate null-terminated buffer
5612 for calling real_from_string.
5613 (input_expr_operand): If we take the address of a FUNCTION_DECL,
5614 tell cgraph that it's needed.
5615
56162007-12-19 Doug Kwan <dougkwan@google.com>
5617
5618 * lto.c (lto_read_base_type_DIE): Handle complex integer types.
5619
56202007-12-18 Nathan Froyd <froydnj@codesourcery.com>
5621
5622 * lto.c (lto_read_DIE): Call lto_read_only_for_child_DIEs instead.
5623 (lto_file_read): Reset the members of 'context' every time we read
5624 a toplevel DIE, with special attention to last_param_type.
5625
56262007-12-18 Nathan Froyd <froydnj@codesourcery.com>
5627
5628 * lto.c (lto_read_subroutine_type_subprogram_DIE): Initialize
5629 'declaration'. Set the assembler name for non-public functions.
5630
3f8257db 56312007-12-17 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5632
5633 * lto_read.c (data_in.unexpanded_indexes): New array.
5634 (input_local_var): Added code to read in unexpanded_var_list
5635 indexes for variables. Only read in DECL_CHAIN field for
5636 parameters.
5637 (input_local_vars): Added code to rebuild unexpanded_var_list in
5638 order using unexpanded_indexes.
5639 (input_function): Added code to set DECL_CONTEXT for functions.
5640
56412007-12-13 Doug Kwan <dougkwan@google.com>
5642
5643 * lto.c (lto_read_pointer_reference_type_DIE): Handle optional name
5644 in pointer and reference types.
5645
56462007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5647
5648 * lto-read.c (input_expr_operand): Use DECL_RESULT when reading a
5649 RESULT_DECL.
5650
56512007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5652
5653 * lto.c (lto_read_array_type_DIE): Return the cached DIE if we've
5654 already read the DIE.
5655 (lto_get_body): New function, split out from...
5656 (lto_materialize_function): ...here. Call it.
5657 (lto_read_subroutine_type_subprogram_DIE): Call lto_get_body to
5658 determine DECL_EXTERNAL.
5659 * lto-symtab.c (lto_symtab_merge_decl): Merge the DECL_RESULTs of
5660 FUNCTION_DECLs when necessary. Use the type of the actual
5661 function definition if we are unable to easily merge types. Ignore
5662 spurious DECL_MODE mismatches on VAR_DECLs. Merge DECL_MODEs when
5663 necessary.
5664
56652007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5666
5667 * lto-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
5668
56692007-12-12 Bill Maddox <maddox@google.com>
5670
5671 Revert
5672 2007-12-07 Bill Maddox <maddox@google.com>
5673
5674 * lto.c (lto_str_fd_init): New function.
5675 (lto_str_fd_close): New function.
5676 (lto_file_init): Call lto_str_fd_init.
5677 (lto_file_close): Call lto_str_fd_close.
5678 (lto_str_read): New function. Read debug string table.
5679 (lto_str_lookup): New function. Get string for debug
5680 string table offset.
5681 (lto_read_form): Recognize DW_FORM_strp.
5682 (lto_file_read): Invoke lto_str_read.
5683
5684 * lto-elf.c (lto_elf_file_open): Read raw section data
5685 for the .debug_str section, if present.
5686
5687 * lto.h (struct lto_str_fd_struct): New struct.
5688 (struct lto_file_struct): Added new field DEBUG_STR
5689 to hold the file descriptor for the debug string table.
ab20d992 5690
d7f09764
DN
56912007-12-07 Bill Maddox <maddox@google.com>
5692
5693 * lto.c (lto_str_fd_init): New function.
5694 (lto_str_fd_close): New function.
5695 (lto_file_init): Call lto_str_fd_init.
5696 (lto_file_close): Call lto_str_fd_close.
5697 (lto_str_read): New function. Read debug string table.
5698 (lto_str_lookup): New function. Get string for debug
5699 string table offset.
5700 (lto_read_form): Recognize DW_FORM_strp.
5701 (lto_file_read): Invoke lto_str_read.
5702
5703 * lto-elf.c (lto_elf_file_open): Read raw section data
5704 for the .debug_str section, if present.
5705
5706 * lto.h (struct lto_str_fd_struct): New struct.
5707 (struct lto_file_struct): Added new field DEBUG_STR
5708 to hold the file descriptor for the debug string table.
5709
57102007-12-07 Nathan Froyd <froydnj@codesourcery.com>
5711
5712 * lto-read.c (input_cfg): Call init_empty_tree_cfg_for_function.
5713 Grow the basic_block_info and label_to_block_map vectors if
5714 necessary. Read in the block chain.
5715
57162007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5717
5718 * lto.c (lto_read_DIE): Set TYPE_ALIAS_SET where necessary.
5719
57202007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5721
5722 * lto.c (lto_read_form): Add DW_cl_address for DW_AT_const_value.
5723
57242007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5725
5726 * lto-read.c (input_expr_operand): Don't check for MTAGs.
5727 (lto_read_body): Don't declare PROP_alias.
5728
57292007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5730
5731 * lto-symtab.c (lto_symtab_merge_decl): Handle FUNCTION_DECLs without
5732 argument type information.
5733
57342007-12-03 Nathan Froyd <froydnj@codesourcery.com>
5735
5736 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
5737 TREE_THIS_VOLATILE if the associated type is a volatile type.
5738 (lto_materialize_function): Remove call to init_ssa_operands.
5739 * lto-read.c (input_expr_operand): Add SSA_NAME_VAR as a referenced
5740 variable when reading an SSA_NAME. Do the same when reading a
5741 RESULT_DECL, a RETURN_EXPR, or an MTAG.
5742 (input_cfg): Call init_ssa_operands.
5743 (input_ssa_names): Set the default def of an SSA_NAME if necessary.
5744 Move call to init_tree_ssa...
5745 (lto_read_body): ...here. Use push_cfun and pop_cfun. Call
5746 add_referenced_var on any variables referenced from the body of the
5747 function. Inform the rest of the compiler we are in SSA form and
5748 inform later passes about the current properties.
5749
57502007-11-30 Nathan Froyd <froydnj@codesourcery.com>
5751
5752 * lto.c (lto_materialize_function): Add FIXME.
5753
57542007-11-29 Nathan Froyd <froydnj@codesourcery.com>
5755
5756 * lto-lang.c (enum built_in_attribute): New enum.
5757 (flag_no_builtin, flag_no_nonansi_builtin, flag_isoc94, flag_isoc99,
5758 built_in_attributes): New variables.
5759 (def_builtin_1): New function.
5760 (lto_define_builtins): #define DEF_BUILTIN and include builtins.def.
5761
57622007-11-28 Nathan Froyd <froydnj@codesourcery.com>
5763
5764 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
5765 DECL_SOURCE_LOCATION for debugging purposes.
5766 (lto_read_member_DIE): Set DECL_SOURCE_LOCATION. If we have read a
5767 bitfield, use the type specified by the DIE for TREE_TYPE and defer
5768 laying out the decl until later.
5769 (lto_read_subroutine_type_subprogram_DIE): Compare the function's
5770 name with DECL_ASSEMBLER_NAME. Set DECL_SOURCE_LOCATION and
5771 TREE_ADDRESSABLE.
5772 * lto-read.c (input_expr_operand): Set TREE_ADDRESSABLE on the
5773 operand of an ADDR_EXPR.
5774 * lto-lang.c (enum lto_builtin_type): New enum.
5775 (builtin_type): New typedef.
5776 (builtin_types, string_type_node, const_string_type_node,
5777 wint_type_node, intmax_type_node, uintmax_type_node,
5778 signed_size_type_node): New variables.
5779 (def_fn_type, builtin_type_for_size, lto_define_builtins,
5780 lto_build_c_type_nodes): New functions.
5781 (lto_init): Initialize builtin types.
5782 (lto_set_decl_assembler_name): Let the target machine mangle the
5783 name if the decl is TREE_PUBLIC, otherwise uniquify it.
5784
57852007-11-21 Nathan Froyd <froydnj@codesourcery.com>
5786
5787 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Don't
5788 set TREE_ADDRESSABLE. Do set DECL_COMDAT. Set TREE_READONLY if
5789 the type is a constant type. Set the assembler name and inform
5790 the rest of the compiler about the new decl if the decl is not
5791 public.
5792 (lto_read_subroutine_type_subprogram_DIE): Don't check for equivalency
5793 of DECL_ASSEMBLER_NAME when determining if we have a builtin. Don't
5794 try to read in function bodies for functions that already have bodies.
5795 * lto-symtab.c (lto_same_type_p): Check for unbounded array
5796 equivalency.
5797 (lto_symtab_merge_decl): Don't merge decls that aren't TREE_PUBLIC.
5798 Check for whether we matched a builtin function type before calling
5799 lto_same_type_p on the generated type. Permit cases where the
5800 declaration of an array is unbounded, but the definition is bounded.
5801 Don't combine TREE_PUBLIC flags. Copy over DECL_SIZE and
5802 DECL_SIZE_UNIT if necessary.
5803
3f8257db 58042007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 5805
ab20d992 5806 * lto-read.c (input_expr_operand): Get types right
d7f09764
DN
5807 for COMPLEX_CST.
5808
3f8257db 58092007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5810
5811 * lto-read.c (make_new_block, input_cfg): Properly set
5812 n_basic_blocks.
ab20d992 5813
d7f09764
DN
58142007-11-16 Nathan Froyd <froydnj@codesourcery.com>
5815
5816 * lto.c (lto_read_array_type_DIE): Handle DIEs with DW_AT_GNU_vector
5817 set properly by building a VECTOR_TYPE instead of an ARRAY_TYPE.
5818
58192007-11-16 Nathan Froyd <froydnj@codesourcery.com>
5820
5821 * lto.c (lto_read_base_type_DIE): Use make_bitfield_integer_type to
5822 construct the integer type for bitfields.
5823
3f8257db 58242007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5825
5826 * lto-read.c (data_in.current_node_has_loc): Removed.
5827 (input_line_info): Returns true if node needs line set.
5828 (set_line_info): Always sets line if called.
5829 (clear_line_info): Removed reference to current_node_needs_loc.
5830 (input_expr_operand): Keeps track locally if current node needs a loc.
5831 (input_local_var): Added code to handle DECL_INITIAL for
5832 static local vars. Only set loc if necessary.
ab20d992 5833
d7f09764
DN
58342007-11-15 Nathan Froyd <froydnj@codesourcery.com>
5835
5836 * lto.c (lto_read_subroutine_type_subprogram_DIE): Fix thinko'd
5837 DECL_CONTEXT.
5838
58392007-11-15 Nathan Froyd <froydnj@codesourcery.com>
5840
5841 * lto.c: Include langhooks.h.
5842 (lto_find_integral_type): Rework logic to handle the case where
5843 got_byte_size is true, but the bitsize requested and that of the
5844 base_type doesn't match.
5845 (lto_read_variable_formal_parameter_constant_DIE): Only check for
5846 asm_name if we are creating a VAR_DECL.
5847 (lto_materialize_function): Set DECL_EXTERNAL if we can't find a
5848 definition.
5849 (lto_read_subroutine_type_subprogram_DIE): Check for a builtin
5850 function reference and use the builtin's decl if so. Set the
5851 DECL_CONTEXT of the RESULT_DECL for the function.
5852 * lto-lang.c (registered_builtin_fndecls): New variable.
5853 (lto_getdecls): Return it.
5854 (lto_builtin_function): Chain the new decl onto
5855 registered_builtin_fndecls.
5856
3f8257db 58572007-11-15 Kenneth Zadeck <zadeck@naturalbridge.com>
ab20d992 5858
d7f09764
DN
5859 * lto-read.c (process_tree_flags, lto_static_init_local):
5860 Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
5861 (input_line_info, clear_line_info): Fixed new line number code.
5862 (input_expr_operand): Added type to SWITCH_EXPR.
5863 (lto_read_body): Properly initialized data_in.
5864 Clear line info when leaving.
ab20d992 5865
d7f09764
DN
58662007-11-13 Diego Novillo <dnovillo@google.com>
5867
5868 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
5869 Initialize ARTIFICIAL.
5870 (lto_read_subroutine_type_subprogram_DIE): Initialize
5871 SAVED_SCOPE.
5872 * lto-read.c (set_line_info): Remove ; from calls to
5873 LINEMAP_POSITION_FOR_COLUMN.
5874
3f8257db 58752007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5876
5877 * lto-read.c (input_type_ref): Renamed from get_type_ref.
ab20d992 5878 (input_expr_operand, input_local_var): Renamed get_type_ref to
d7f09764 5879 input_type_ref.
ab20d992 5880 (input_expr_operand): Get the types correct for
d7f09764 5881 vector-cst. Get SSA_NAME_DEF_STMT correct for return_exprs.
ab20d992 5882
d7f09764
DN
58832007-11-13 Doug Kwan <dougkwan@google.com>
5884
5885 * lto-read.c (input_widest_uint_uleb128): New function.
5886 (input_tree_flags, process_tree_flags, input_line_info,
5887 input_expr_operand, input_local_var, input_phi, input_ssa_names):
5888 Change to use lto_flags_type and BITS_PER_LTO_FLAGS_TYPES instead of
5889 unsigned HOST_WIDE_INT and HOST_BITS_PER_WIDE_INT.
5890 (lto_static_init_local): Add code to assert that lto_flags_type is
5891 wide enough.
5892
58932007-11-13 Nathan Froyd <froydnj@codesourcery.com>
5894
5895 * lto.c (lto_read_array_type_DIE): Handle DW_AT_GNU_vector.
5896 (lto_read_subroutine_type_subprogram_DIE): Handle
5897 DW_AT_static_link and DW_AT_specification. Return the
5898 specification if present.
5899 (lto_read_base_type_DIE): Handle DW_ATE_complex_float.
ab20d992 5900
d7f09764
DN
59012007-11-13 Nathan Froyd <froydnj@codesourcery.com>
5902
5903 * lto-lang.c: Include target.h.
5904 (registered_builtin_types): New variable.
5905 (lto_type_for_mode): Increase number of modes handled.
5906 (lto_builtin_function): Fix argument list and return the decl.
5907 (lto_register_builtin_type): New function.
5908 (lto_init): Initialize target builtins and language-independent
5909 nodes.
5910 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define.
5911
3f8257db 59122007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5913
5914 * lto-read.c (input_expr_operand): Added code to properly handle
5915 index filed. Added new RANGE_EXPR case.
ab20d992 5916
3f8257db 59172007-11-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5918
5919 * lto-read.c (ADD_FUNC_FLAG): Deleted macro.
5920 (data_in): Added current_node_has_loc field.
5921 (input_line_info, set_line_info, clear_line_info): Added a support
5922 for USE_MAPPED_LOCATION and not adding line numbers to nodes that
5923 did not have on on the source side.
5924 (input_expr_operand): Make sure that GIMPLE_MODIFY_STMTS get line
5925 numbers too.
5926
59272007-11-09 Doug Kwan <dougkwan@google.com>
5928
5929 * lto-read.c (input_expr_operand): Change type of operand 2 of
5930 BIT_FIELD_REF expression to be bitsizetype instead of sizetype.
5931
59322007-11-09 Nathan Froyd <froydnj@codesourcery.com>
5933
5934 * lto.c: Include lto-tree.h. Effect small spaces->tabs cleanup.
5935 (lto_read_variable_formal_parameter_constant_DIE): Transfer bits
5936 from a DW_AT_specification or DW_AT_abstract_origin attribute to
5937 the new decl we are creating. Move informing the middle end about
5938 the new decl to...
5939 (lto_main): ...here. Inform the middle end about global variables
5940 after we have read in all the input files.
5941 * lto-symtab.c (lto_symtab_merge_decl): We really do need to merge
5942 variables with internal linkage, so delete the check for internal
5943 linkage. Combine TREE_PUBLIC flags.
5944
59452007-11-08 Nathan Froyd <froydnj@codesourcery.com>
5946
5947 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
5948 DW_AT_decl_line.
5949 * lto-symtab.c (lto_symtab_merge_decl): Handle redefinition of a
5950 builtin specially. Move check for attribute compatibility
5951 earlier.
5952
59532007-11-07 Nathan Froyd <froydnj@codesourcery.com>
5954
5955 * Make-lang.in (lto/lto.o): Depend on gt-lto-lto.h.
5956 * config-lang.in (gtfiles): Add lto.h and lto.c.
5957 * lto-elf.c: Include ggc.h.
5958 (lto_elf_file_open): Allocate elf_file from GC memory.
5959 * lto.c: Include tree-ssa-operands.h and gt-lto-lto.h
5960 (lto_info_fd_init): Allocate the die_cache and unmaterialized_fndecls
5961 in GC memory.
5962 (lto_info_fd_close): Free unmaterialized_fndecls from GC memory.
5963 (lto_file_close): Free file from GC memory.
5964 (lto_cache_store_DIE): Allocate the new entry in GC memory.
5965 (lto_read_member_DIE): Fix declaration.
5966 (lto_read_subroutine_type_subprogram_DIE): unmaterialized_fndecls lives
5967 in GC memory.
5968 (current_lto_file): New variable.
5969 (lto_main): Use it.
5970 (DWARF2_attr, DWARF2_abbrev, lto_die_ptr, DWARF2_CompUnit,
5971 lto_die_cache_entry): Move to...
5972 * lto.h: ...here and add GTY markers as appropriate. Delete forward
5973 declarations accordingly.
5974 (struct lto_file_struct): Declare.
5975 (lto_file_vtable): Use it instead of lto_file.
5976
ab20d992
JJ
59772007-11-06 Alon Dayan <alond@il.ibm.com>
5978 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 5979
3d3b561f
ML
5980 * lto-read.c (process_flags, lto_static_init_local):
5981 read flags of VAR_DECL and FUNCTION_DECL of size>1.
5982 change global array num_flags_for_code to flags_length_for_code.
5983 (set_line_info): Make decls work in USE_MAPPED_LOCATION mode.
ab20d992 5984
d7f09764
DN
59852007-11-05 Nathan Froyd <froydnj@codesourcery.com>
5986
5987 * lto.c (lto_read_structure_union_class_type_DIE): Use proper record
5988 layout functions to compute information about the newly constructed
5989 type.
5990
59912007-11-02 Nathan Froyd <froydnj@codesourcery.com>
5992
5993 * lto-read.c (input_expr_operand): Change the LTO_return_expr1
5994 case to use DECL_RESULT if necessary.
5995
3f8257db 59962007-11-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5997
5998 * lto-read.c (input_tree_list): Removed.
5999 (input_tree_flags): Added parameter to force flags no matter what
6000 tree code.
6001 (input_expr_operand): Added parameter to input_tree_flags.
6002 Added case for IDENTIFIER_NODE and TREE_LIST. Changed ASM to call
6003 input_expr_operand rather than input_tree_lists.
6004 (input_local_var): Use input_expr_operand to read attributes
6005 rather then input_tree_list.
6006 (input_phi, input_ssa_names): Added parameter to input_tree_flags.
6007
60082007-10-31 Nathan Froyd <froydnj@codesourcery.com>
6009
6010 * lto.c (lto_read_typedef_DIE): Fix comment typo.
6011 (lto_resolve_typedecl_ref): Fetch the referred-to type and build a fake
6012 TYPE_DECL for it.
6013 * lto-read.c (lto_read_body): Use correct sizes for calculating
6014 type_decls_offset and types_offset.
6015
60162007-10-30 Nathan Froyd <froydnj@codesourcery.com>
6017
6018 * lto-tree.h (union lang_tree_node): Change GTY description to chain
6019 with GENERIC_NEXT.
6020 * config-lang.in (gtfiles): Add lto-lang.c.
6021 * lto-lang.c: Include gt-lto-lto-lang.h.
6022 * Make-lang.in (lto/lto-lang.o): Add dependency on gt-lto-lto-lang.h
6023 (lto/lto-symtab.o): Depend on LTO_H instead of TREE_H.
6024 (lto/lto-read.o): Likewise.
6025
3f8257db 60262007-10-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6027
6028 * lto-read.c (data_in): Added type_decls and current_col fields.
6029 (string_slot): New type to hold canonized file name.
ab20d992 6030 (hash_string_slot_node, eq_string_slot_node, canon_file_name,
d7f09764
DN
6031 input_line_info, set_line_info, clear_line_info): New functions.
6032 (file_name_hash_table): New hash table.
ab20d992 6033 (input_local_var, input_labels, input_local_vars_index,
d7f09764
DN
6034 input_local_var, input_local_vars, input_ssa_names): Reorganized parameters.
6035 (input_uleb128): Changed type of byte var.
6036 (input_expr_operand): Large number of changes to get line numbers
6037 correct. Added TYPE_DECL case.
6038 (input_globals): Added code to get TYPE_DECLs processed.
6039 (input_local_var): Added code to process line numbers and
6040 TREE_CHAIN and DECL_CONTEXT.
6041 (input_function, input_constructor): Added call to
6042 clear_line_number.
6043 (lto_static_init_local): Added code to get line numbers correct.
6044 (lto_read_body): Added code to get TYPE_DECLS read and to change
6045 parameters to the calls above that had their parms reorganized.
6046
d7f09764
DN
60472007-10-29 Nathan Froyd <froydnj@codesourcery.com>
6048
6049 * lto.h (lto_resolve_typedecl_ref): Declare.
6050 * lto.c (lto_resolve_typedecl_ref): New function.
6051
60522007-10-29 Mark Mitchell <mark@codesourcery.com>
6053 Nathan Froyd <froydnj@codesourcery.com>
6054
6055 * lto.c (lto_read_subroutine_type_subprogram_DIE): Read the child
6056 DIEs even if we find an abstract origin for this DIE.
6057
60582007-10-29 Nathan Froyd <froydnj@codesourcery.com>
6059
6060 * lto.c (lto_read_subroutine_type_subprogram_DIE): Build the
6061 RESULT_DECL slightly earlier. Only remember the decl for later
6062 if we successfully merge declarations.
6063
3f8257db 60642007-10-24 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6065
6066 * lto-read.c (input_expr_operand): Give label_values the proper
6067 context and provide switch statements with a default type.
ab20d992 6068
d7f09764
DN
60692007-10-23 Nathan Froyd <froydnj@codesourcery.com>
6070
6071 * lto-read.c (lto_read_body): Move call to init_ssa_operands...
6072 * lto.c (lto_materialize_function): ...to here.
6073
60742007-10-22 Nathan Froyd <froydnj@codesourcery.com>
6075
6076 * lto.h (struct lto_info_fd): Add field unmaterialized_fndecls.
6077 * lto.c (lto_info_fd_init): Initialize it.
6078 (lto_info_fd_close): Free it.
6079 (lto_materialize_function): New function.
6080 (lto_read_subroutine_type_subprogram_DIE): Save the result decl on
6081 unmaterialized_fndecls.
6082 (lto_file_read): Read in all the function bodies after we have read
6083 all of the DWARF info.
6084 * lto-read.c (lto_read_body): Call init_ssa_operands if we are
6085 reading a function body.
6086
3f8257db 60872007-10-20 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6088
6089 * lto-read.c (input_tree_flags): Renamed from input_flags to be
6090 semetric with output_tree_flags. Added call to log flags.
6091 (process_tree_flags): Renamed from process_flags. Fixed a lot of
6092 type issues to make everything consistent with flags being
6093 unsigned HOST_WIDE_INTS.
6094 (input_expr_operand): Added call to
6095 recompute_tree_invariant_for_addr_expr.
6096 (input_local_var): Added debugging for tree_chains. Now calls
6097 input_tree_flags.
6098 (input_phi): Made flags unsigned HOST_WIDE_INT.
6099 (input_ssa_names): Now calls input_tree_flags.
6100 (lto_read_body): Now sets cfun.
6101 (lto_read_function_body): Now sets current_function_pointer.
ab20d992 6102
d7f09764
DN
61032007-10-19 Nathan Froyd <froydnj@codesourcery.com>
6104
6105 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Check
6106 definitively whether SPECIFICATION or ABSTRACT_ORIGIN exist before
6107 inspecting fields within.
6108 (lto_read_DIE_at_ptr): Delete check for null result; let callers
6109 handle this appropriately.
6110
61112007-10-19 Nathan Froyd <froydnj@codesourcery.com>
6112
6113 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Handle
6114 DW_AT_abstract_origin properly. Ensure that we're not dealing with
6115 both DW_AT_abstract_origin and DW_AT_specification.
6116 (lto_read_subroutine_type_subprogram_DIE): Handle
6117 DW_AT_abstract_origin.
6118 (lto_read_DIE): Use lto_read_only_for_child_DIEs for labels.
6119 (lto_read_DIE_at_ptr): Define as static to match declaration.
6120 Lookup the PTR in the cache before reading it from the file.
6121 (lto_resolve_var_ref): Adjust accordingly.
6122 (lto_resolve_fn_ref): Adjust accordingly. Tweak comment.
6123 (lto_resolve_field_ref): Adjust accordingly. Tweak comment.
6124
61252007-10-19 Nathan Froyd <froydnj@codesourcery.com>
6126
6127 * lto.c (lto_read_DIE_at_ptr): New function.
6128 (lto_resolve_var_ref): Use it.
6129 (lto_resolve_fn_ref): Use it.
6130 (lto_resolve_field_ref): Use it.
6131 (lto_read_variable_formal_parameter_constant_DIE): Follow
6132 DW_AT_specification and return the associated decl when appropriate.
6133
61342007-10-18 Nathan Froyd <froydnj@codesourcery.com>
6135
6136 * lto-lang.c (lto_type_for_mode): Move after lto_type_for_size.
6137 Implement for scalar integer modes.
6138 (lto_init): Initialize size_type_node.
6139
3f8257db 61402007-10-18 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6141
6142 * lto-read.c (input_expr_operand): Remove ssa name asserts.
6143 (input_local_var): Add chaining for params.
6144 (input_ssa_names): Add cfun parameter.
6145 (input_function): Remove unnecessary else.
6146
61472007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6148
6149 * lto.c (lto_read_only_for_child_DIEs): Mark die parameter as unused.
6150 (lto_resolve_var_ref): Use proper types.
6151 (lto_resolve_fn_ref): Likewise.
6152 (lto_resolve_field_ref): Likewise.
6153
61542007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6155
6156 * lto-read.c (input_expr_operand): Remove case.
6157
61582007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6159
6160 * lto.c (lto_read_only_for_child_DIEs): New function.
6161 (lto_read_DIE): Use it for lexical_block and inlined_subroutine DIEs.
6162 * lto-elf.c (lto_elf_map_lto_section): Remove.
6163 (lto_elf_file_vtable): Use lto_elf_map_optional_lto_section instead.
6164 * lto-read.c (input_expr_operand): Assert that we never read a NULL
6165 SSA_NAME. Add missing case for mechanical codes.
6166 (input_cfg): Use basic_block_info_for_function instead of
6167 basic_block_info.
6168
3f8257db 61692007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6170
6171 * lto-read.c (input_sleb128, input_integer): Use proper casts.
6172 (input_list): Renamed input_tree_list and modified to follow same
6173 protocol as lto-function-out.c:output_tree_list.
6174 (input_expr_operand): Make asm operands use input_tree_list.
6175 (input_local_var): Now uses input_tree_list.
6176 (lto_read_body): Change placement for setting context of debug_labels.
ab20d992 6177
3f8257db 61782007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6179
6180 * lto-read.c (input_real): Output debugging in proper order.
6181 (input_integer): Compute bit lengths properly.
6182 (input_list): Clean up declaration.
6183 (input_expr_operand): Change calls to input_real to match fix.
6184 Make reading of LTO_bit_field_ref1 match output.
6185 (input_local_var): Make reading of attributes match what is being
6186 written.
6187 (dump_debug_stream): Also print char in hex.
6188 (debug_out_fun): Fix signed unsigned mismatch.
ab20d992 6189
d7f09764
DN
61902007-10-10 Nathan Froyd <froydnj@codesourcery.com>
6191
6192 * lto.c (lto_read_form): Handle DW_AT_MIPS_linkage_name and
6193 DW_AT_GNU_vector specially, as they are not contiguous with the
6194 specified set of attribute names. Use class_mask to check for
6195 errors at the end of the function
6196 (lto_resolve_var_ref): Read the DIE if it is not cached.
6197 (lto_resolve_fn_ref): Likewise.
6198 (lto_resolve_field_ref): Likewise.
6199
62002007-10-05 Nathan Froyd <froydnj@codesourcery.com>
6201
6202 * lto.c: Include dwarf2out.h.
6203 (lto_cache_store_DIE): Assert that we never change the value.
6204 (LTO_BEGIN_READ_ATTRS): Print an informative error message.
6205 (lto_read_compile_unit_DIE): Handle DW_AT_entry_pc.
6206 (lto_read_array_type_DIE): Don't error on ndims == 0; build a
6207 sensible type instead.
6208 (lto_read_structure_union_class_type_DIE): Store the newly
6209 created type prior to reading the members of the structure to
6210 avoid infinite recursion. Avoid computing types and alignments
6211 for structures whose sizes are unknown.
6212 (lto_read_variable_formal_parameter_const): Handle DW_AT_artificial
6213 and set DECL_ARTIFICIAL accordingly. Ignore DW_AT_abstract_origin,
6214 DW_AT_const_value, and DW_AT_specification.
6215 (lto_read_subroutine_type_subprogram_DIE): Handle DW_AT_declaration.
6216 Return early if we have already constructed the function type.
6217 (lto_read_typedef_DIE): Check to see if the type has been cached
6218 already. Cache the type before reading any children.
6219 (lto_read_const_volatile_restrict_type_DIE): Handle DW_AT_name.
6220 (lto_read_DIE): Unset context->skip_non_parameters around reading
6221 the DIE.
6222 (lto_resolve_fn_ref): Delete trailing whitespace.
6223
3f8257db 62242007-09-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6225
6226 * lto-read.c (input_expr_operand): Added type for STRING_CST.
ab20d992 6227
d7f09764
DN
62282007-09-10 Nathan Froyd <froydnj@codesourcery.com>
6229
6230 * lto-read.c (lto_read): Set the type of the newly created CALL_EXPR.
6231
62322007-09-07 Nathan Froyd <froydnj@codesourcery.com>
6233
6234 * lto-lang.c (signed_and_unsigned_types): New variable.
6235 (lto_type_for_size): Consult signed_and_unsigned_types to find
6236 an approprite type, creating it if necessary.
6237 (lto_set_decl_assembler_name): Add actual method body.
6238
62392007-09-06 Jim Blandy <jimb@codesourcery.com>
6240
6241 * lto.c (lto_read_variable_formal_parameter_constant_DIE): If we
6242 can't find a var init for this variable, leave its DECL_INITIAL.
6243 * lto-elf.c (lto_elf_map_optional_lto_section): Renamed from
6244 lto_elf_map_fn_body.
6245 (lto_map_lto_section): New function.
6246 (lto_elf_file_vtable): Use lto_elf_map_lto_section for function
6247 bodies, and lto_elf_map_optional_lto_section for variable
6248 initializers.
6249 (lto_elf_find_section_data): Quietly return NULL if the section is
6250 missing.
6251 (lto_elf_file_open): Check for a NULL from lto_elf_find_section_data.
6252
6253 * lto-elf.c (lto_elf_find_section_data): Remove dead code.
6254
6255 * lto-read.c (lto_read_body): Doc fix.
6256
3f8257db 62572007-08-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6258
6259 * lto-read.c (fun_in): Renamed to data_in.
6260 (input_expr_operand, input_local_var, input_string_internal,
ab20d992 6261 input_string, input_real, input_list, get_label_decl,
d7f09764 6262 get_type_ref, input_expr_operand, input_globals, input_labels,
ab20d992 6263 input_local_vars_index, input_local_var, input_local_vars,
d7f09764
DN
6264 input_cfg, input_phi, input_ssa_names, input_bb, ): Renamed fun_in to data_in.
6265 (input_constructor): New function.
6266 (lto_read_function_body): Renamed to lto_read_body and generalized
6267 to handle both functions and constructors.
6268 (lto_read_function_body, lto_read_var_init): New function.
ab20d992 6269
3f8257db 62702007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6271
6272 * lto-read.c (input_expr_operand): Assert that there really is a
6273 FUNCTION_DECL.
6274 (input_globals): Removed checks on 0 section.
ab20d992 6275
3f8257db 62762007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6277
6278 * lto-read.c (fun_in): Added local_decls_index and
ab20d992 6279 local_decls_index_d.
d7f09764
DN
6280 (input_expr_operand): Changed inputting of PARM_DECLs and VAR_DECLs.
6281 (input_globals): Enabled code to handle FIELD_DECLs.
6282 (input_local_vars_index, input_local_vars): New function.
6283 (input_local_var): Changed to allow locals to be input randomly.
6284 (lto_read_function_body): Added code to input the
6285 local_decls_index and to free various structures.
ab20d992 6286
d7f09764
DN
62872007-08-17 Jim Blandy <jimb@codesourcery.com>
6288
6289 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Remove
6290 ATTRIBUTE_UNUSED from 'die' formal.
6291
6292 Use enum LTO_tags where appropriate, instead of 'unsigned int'.
6293 * lto-read.c (input_record_start): Fix return type, type of 'tag'.
6294 (input_list): Fix type of 'tag'.
6295 (input_expr_operand): Fix type of 'tag' argument. Update
6296 declaration. Fix type of 'ctag'. Add default case to switch,
6297 since the type of the switched value is now an enum.
6298 (input_local_vars): Fix type of 'tag'.
6299 (input_bb): Fix type of 'tag' argument.
6300 (input_function): Fix type of 'tag' argument.
6301
63022007-08-16 Jim Blandy <jimb@codesourcery.com>
6303
6304 * lto.c (lto_read_member_DIE): Record the tree we create in
6305 fd->die_cache. (Our 'die' argument is no longer unused.)
6306 (lto_resolve_field_ref): New function.
6307 * lto.h (lto_resolve_field_ref): New declaration.
6308
63092007-08-15 Jim Blandy <jimb@codesourcery.com>
6310
6311 * lto-read.c (lto_read_var_init): Mark arguments as unused.
6312
63132007-08-07 Jim Blandy <jimb@codesourcery.com>
6314
6315 * lto.c (lto_read_form): Complete attr_classes table.
6316 (DWARF2_form_data): Doc fix.
ab20d992 6317
d7f09764
DN
63182007-08-05 Mark Mitchell <mark@codesourcery.com>
6319
6320 * lto.h (lto_file_vtable): Remove read_var_init. Add map_var_init
6321 and unmap_var_init.
6322 (lto_read_var_init): Declare.
6323 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Use new
6324 interface for reading variable initializers.
6325 * lto-elf.c (lto_elf_read_var_init): Remove.
6326 (lto_elf_file_vtable): Update initializer.
6327 (lto_elf_read_var_init): Add comment about unused-ness.
6328 * lto-read.c (lto_read_var_init): New.
6329
6330 * lto.c (lto_read_form): Add entry for DW_AT_inline.
6331
3f8257db 63322007-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6333
6334 * lto-read.c (lto_read_function_body): Moved declaration of fn
6335 outside of ifdef.
ab20d992 6336
3f8257db 63372007-08-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6338
6339 * lto-read.c (input_uleb128, input_string_internal, input_real,
6340 input_integer, input_record_start, input_list, get_type_ref,
6341 input_flags, input_expr_operand, input_expr_operand,
6342 input_expr_operand, input_local_vars, input_cfg, input_phi,
6343 input_ssa_names, input_bb, input_function): Added semicolons.
6344
ab20d992 6345
3f8257db 63462007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6347
6348 * lto-read.c (input_globals): Remove debugging.
6349 (input_function): Set DECL_ARGUMENTS.
6350
3f8257db 63512007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6352
6353 * lto-read.c (input_expr_operand): Fixed code for COND_EXEC,
6354 RETURN_EXPR, MODIFY_EXPR and processing of flags.
6355 (input_phi): Made work with operands other than SSA_NAMES and
6356 fixed processing of flags.
6357 (input_ssa_names): Initialize SSA_NAME_DEF_STMT to empty stmt.
6358 (input_flags): New function.
6359 * lto-lang.c (lto_init): Changed state of in_lto_p.
ab20d992
JJ
6360
6361
d7f09764
DN
63622007-07-24 Mark Mitchell <mark@codesourcery.com>
6363
6364 * lto-tree.h (lto_varargs_cookie): Remove.
6365 * lto.c (lto_context): Add last_parm_type, varargs_p, skip_all,
6366 skip_non_parameters, skip_parameters.
6367 (lto_varargs_cookie): Remove.
6368 (lto_read_variable_formal_parameter_constant_DIE): Keep track of
6369 parameter types.
6370 (lto_read_abbrev): New function.
6371 (lto_read_subroutine_type_subprogram_DIE): Make two passes over
6372 child DIEs.
6373 (lto_read_unspecified_parameters_DIE): Set context->varargs_p.
6374 (lto_read_DIE): Use lto_read_abbrev. Honor skip_* flags.
6375 (lto_file_read): Initialize new context fields.
6376 * lto-lang.c (lto_type_for_mode): Return NULL_TREE.
6377 (lto_unsigned_type): Remove.
6378 (lto_signed_type): Likewise.
6379 (lto_signed_or_unsigned_type): Likewise.
6380 (lto_init): Do not create lto_varargs_cookie.
6381 (LANG_HOOKS_UNSIGNED_TYPE): Do not define.
6382 (LANG_HOOKS_SIGNED_TYPE): Likewise.
6383 (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Likewise.
6384
63852007-07-19 Jan Hubicka <jh@suse.cz>
6386
6387 * lto-read.c (lto_read_function_body): Produce empty scope block
6388 to avoid crash.
6389
63902007-07-18 Mark Mitchell <mark@codesourcery.com>
6391
6392 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Do not
6393 process local variables.
6394 (lto_read_subroutine_type_subprogram_DIE): Read child DIEs.
6395
3f8257db 63962007-07-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6397
6398 * lto-read.c (input_list, input_expr_operand): Added struct
6399 function parameter.
6400 (init_cfg, finalize_cfg): Removed function.
6401 (input_expr_operand): Added SSA_NAME and GIMPLE_MODIFY_STMT cases.
6402 (input_labels, input_local_vars): Now takes input_block parameter rather than
6403 synthsyzing it.
6404 (input_cfg, input_phi, input_ssa_names): New functions.
6405 (input_bb): Now passes in input_blocks. Does not construct cfg
6406 and processes the list of phi functions.
6407 (input_function): Now builds both the cfg and ssa_names table.
6408 (lto_read_function_body): Processes new header fields to construct
6409 streams for the ssa_names and cfg and their debugging.
ab20d992
JJ
6410 * lto-lang.c (lto_init): Set in_lto_p.
6411
6412
d7f09764
DN
64132007-06-28 Mark Mitchell <mark@codesourcery.com>
6414
6415 * lto.h (lto_file_vtable): Add read_var_init.
6416 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Read
6417 initializers.
6418 (lto_main): Remove bogus asserts.
6419 * lto-elf.c (tm.h): Include it.
6420 (libiberty.y): Likewise.
6421 (lto_elf_file): Add strtab and symtab. Rename
6422 string_table_section_index to sec_strtab.
6423 (lto_elf_file_vtable): Add lto_elf_read_var_init.
6424 (lto_elf_get_shdr): New function.
6425 (lto_elf_free_shdr): Likewise.
6426 (lto_elf_find_section_data): Use them.
6427 (lto_elf_read_symtab): New function.
6428 (lto_elf_lookup_sym): Likewise.
6429 (lto_elf_free_sym): Likewise.
6430 (lto_elf_file_open): Tidy. Call lto_elf_read_symtab.
6431 (lto_elf_built_init): New function.
6432 (lto_elf_read_var_init): Likewise.
6433 * Make-lang.in (lto/lto-elf.o): Depend on $(TM_H).
6434
3f8257db 64352007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6436
6437 * lto-read (make_new_block): Initialize the stmt_list.
6438 (lto_static_init_local): Add debugging for missing codes.
ab20d992 6439
d7f09764
DN
64402007-06-26 Mark Mitchell <mark@codesourcery.com>
6441
6442 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
ab20d992 6443 unprototyped functions.
d7f09764
DN
6444
64452007-06-23 Mark Mitchell <mark@codesourcery.com>
6446
6447 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
6448 Handle DW_AT_MIPS_linkage_name.
6449 (lto_read_subroutine_type_subprogram): Likewise. Correct
6450 compilation errors.
6451 (lto_main): Remove incorrect assertions.
6452 * lto-symbtab.c: Build function types out of TREE_LISTs.
6453
6454 * lto-elf.c (<libelf>): Check for HAVE_LIBELF_H.
ab20d992 6455
d7f09764 6456 * Make-lang.in (LTO_OBJS): Depend on attribs.o.
ab20d992 6457
3f8257db 64582007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 6459
ab20d992 6460 * lto-tree.h (lang_decl, lang_type, language_function): Added
d7f09764 6461 dummy since ggc does not like empty structs.
ab20d992
JJ
6462 * lto-elf.c (libelf.h): Changed to libelf/libelf.h.
6463 * lto-read.c (ADD_CLASS_FLAG, ADD_EXPR_FLAG): Changed
d7f09764
DN
6464 expr->common to expr->base.
6465 (make_new_block): Moved stmt_list to proper place.
6466
ab20d992 64672007-03-14 Robert Kennedy <jimbob@google.com>
d7f09764
DN
6468
6469 Eliminate use of lang_hooks.set_decl_assembler_name from LTO
6470 * lto.c (lto_read_subroutine_type_subprogram_DIE) Get DECL
6471 assembler name from DWARF.
6472 * lto-lang.c (lto_set_decl_assembler_name) New function.
6473
64742006-09-10 Mark Mitchell <mark@codesourcery.com>
6475
6476 * lto.h (lto_file_vtable): New structure.
6477 (lto_file): Add vtable pointer.
6478 (lto_file_init): Add vtable paramter.
6479 (lto_read_function_body): New function.
6480 (lto_symtab_merge_fn): New function.
6481 * lto.c (lto_file_init): Add vtable parameter.
6482 (lto_read_form): Fill in entries for DW_AT_prototyped,
6483 DW_AT_frame_base.
6484 (lto_read_subroutine_type_subprogram_DIE): New function.
6485 (lto_read_DIE): Fill in entries for DW_TAG_subroutine_type and
6486 DW_TAG_subprogram.
6487 * lto-elf.c (lto_elf_vile_vtable): New variable.
6488 (lto_elf_file_open): Pass it to lto_file_init.
6489 (lto_elf_map_fn_body): New function.
6490 (lto_elf_unmap_fn_body): Likewise.
6491 * lto-read.c: New file.
6492 * lto-symtab.c (lto_symtab_merge_fn): New function.
6493 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define to
6494 tree_rest_of_compilation.
6495 * Make-lang.in (LTO_OBJS): Add lto-read.o
6496 (lto-read.o): New target.
6497
64982006-09-03 Mark Mitchell <mark@codesourcery.com>
6499
6500 * lto.c (<inttypes.h>): Don't include it.
6501 (lto_context): Don't typedef it.
6502 (lto_resolve_reference): New function.
6503 (lto_read_form): Use it.
6504 (lto_resolve_type_ref): New function.
6505 (lto_resolve_var_ref): Likewise.
6506 (lto_resolve_fn_ref): Likewise.
6507 * lto.h (<inttypes.h>): Include it.
6508 (lto_context): New type.
6509 (lto_ref): New structure.
6510 (lto_resolve_type_ref): Declare.
6511 (lto_resolve_var_ref): Likewise.
6512 (lto_resolve_fn_ref): Likewise.
6513
65142006-08-18 Mark Mitchell <mark@codesourcery.com>
6515
6516 * lang-specs.h: New file.
6517
65182006-08-14 Mark Mitchell <mark@codesourcery.com>
6519
6520 * lto.c (lto_info_fd_init): Allocate the DIE cache.
6521 (lto_info_fd_close): Deallocate it.
6522 (lto_die_cache_entry): New structure.
6523 (lto_cache_hash): New function.
6524 (lto_cache_eq): Likewise.
6525 (lto_cache_store_DIE): Likewise.
6526 (lto_cache_lookup_DIE): Likewise.
6527 (lto_read_referenced_type_DIE): Use the cache.
6528 (lto_read_pointer_type_DIE): Robustify.
6529 (lto_read_DIE): Use the cache.
6530 * lto.h (hashtab.h): Include.
6531 (lto_info_fd): Add DIE cache.
6532 * Make-lang.in (LTO_H): New variable.
6533 (lto/lto-lang.o): Use LTO_H.
6534 (lto/lto-elf.o): Likewise.
6535 (lto/lto-symtab.o): Likewise.
6536
65372006-07-09 Mark Mitchell <mark@codesourcery.com>
6538
6539 * lto.c (lto_abi_mismatch_error): New function.
6540 (lto_abbrev_read): Initialize num_abbrevs.
6541 (lto_read_form): Specify allowed form classes for
6542 DW_AT_declaration. Adjust for change to lto_set_cu_context.
6543 (lto_read_variable_formal_parameter_constant_DIE): Handle
6544 DW_AT_declaration. Call lto_symtab_merge_var.
6545 (lto_read_pointer_type_DIE): New function.
6546 (lto_read_base_type_DIE): Use build_nonstandard_integer_type. Do
6547 not creat TYPE_DECLs for types that already have them.
6548 (lto_read_DIE): Add lto_read_pointer_type_DIE.
6549 (lto_set_cu_context): Make cu_start point to the header, not the
6550 first DIE.
6551 (lto_file_read): Adjust for change to lto_set_cu_context.
6552 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
6553 (lto/lto-symtab.o): New rule.
6554 * lto-tree.h (lang_identifier): Add decl field.
6555 (LANG_IDENTIFIER_CAST): New macro.
6556 (LTO_IDENTIFIER_DECL): Likewise.
6557 (lto_symtab_merge_var): Declare.
6558 * lto-symtab.c: New file.
6559
65602006-07-02 Daniel Berlin <dberlin@dberlin.org>
6561
6562 * lto.c (lto_context): Add current_cu and info_fd members.
6563 (DWARF2_CompUnit): New structure.
6564 (lto_read_DIE): Take lto_info_fd *.
6565 (lto_read_child_DIEs): Ditto.
6566 (lto_file_corrupt_error): Constify argument.
6567 (lto_set_cu_context): New function
6568 (lto_info_fd_init): Ditto.
6569 (lto_info_fd_close): Ditto.
6570 (lto_file_init): Use lto_info_fd_init.
6571 (lto_file_close): Use lto_info_fd_close.
6572 (lto_read_initial_length): Pass in pointer to header size.
6573 (lto_read_comp_unit_header): Correct cu_length to
6574 real length from beginning of header. Take lto_info_fd * as
6575 argument.
6576 (find_cu_for_offset): New function.
6577 (lto_read_form): Change first argument to lto_info_fd *.
6578 Add FORM_CONTEXT argument.
6579 Handle DW_FORM_ref_addr.
ab20d992 6580 (lto_read_tag_DIE): Change first argument to lto_info_fd *.
d7f09764
DN
6581 (LTO_BEGIN_READ_ATTRS_UNCHECKED): Save old context.
6582 Swap contexts if necessary for form.
6583 (LTO_BEGIN_READ_ATTRS): Cast fd to right type for
6584 lto_file_corrupt_error.
6585 (LTO_END_READ_ATTRS): Swap contexts back if it had changed.
6586 (lto_read_referenced_type_DIE): Change first argument to
6587 lto_info_fd *. Access lto_fd fields through base pointer.
6588 (lto_read_compile_unit_DIE): Change first argument to an
6589 lto_info_fd *.
6590 (lto_read_variable_formal_parameter_constant_DIE): Ditto.
6591 (lto_read_base_type_DIE): Ditto.
6592 (lto_read_child_DIEs): Ditto.
6593 (lto_read_DIE): Ditto. Change type of function pointer.
6594 (lto_info_read): New function.
6595 (lto_set_cu_context): Ditto.
6596 (lto_file_read): Use lto_info_read, walk resulting CU's
6597 (lto_main): Update for lto_info_fd change.
6598 * lto-elf.c (lto_elf_file_open): Cast lto_info_fd to lto_fd where
6599 necessary.
6600 * lto.h (DWARF2_CompUnit): New structure.
6601 (lto_info_fd): Ditto.
6602 (lto_file): Change debug_info to be an lto_info_fd.
ab20d992 6603
d7f09764
DN
66042006-06-25 Mark Mitchell <mark@codesourcery.com>
6605
6606 * lto.c (toplev.h): Include it.
6607 (dwarf2.h): Likewise.
6608 (tree.h): Likewise.
6609 (tm.h): Likewise.
6610 (cgraph.h): Likewise.
6611 (ggc.h): Likewise.
6612 (inttypes.h): Likewise.
6613 (DWARF2_attr): New type.
6614 (DWARF2_abbrev): Likewise.
6615 (DWARF2_class): Likewise.
6616 (DWARF2_form_data): Likewise.
6617 (lto_context): Likewise.
6618 (lto_fd_init): New function.
6619 (lto_abbrev_fd_init): Likewise.
6620 (lto_abbrev_fd_close): Likewise.
6621 (lto_file_init): Use them.
6622 (lto_file_close): New function.
6623 (lto_file_corrupt_error): Likewise.
6624 (LTO_CHECK_INT_VAL): New macro.
6625 (lto_check_size_t_val): New function.
6626 (lto_check_int_val): Likewise.
6627 (LTO_READ_TYPE): New macro.
6628 (lto_read_ubyte): New function.
6629 (lto_read_uhalf): Likewise.
6630 (lto_read_uword): Likewise.
6631 (lto_read_uleb128): Likewise.
6632 (lto_read_initial_length): Likewise.
6633 (lto_abbrev_read_attrs): Likewise.
6634 (lto_abbrev_read): Likewise.
6635 (lto_abbrev_lookup): Likewise.
6636 (lto_read_section_offset): Likewise.
6637 (lto_read_comp_unit_header): Likewise.
6638 (lto_read_form): Likewise.
6639 (LTO_BEGIN_READ_ATTRS_UNCHECKED): New macro.
6640 (LTO_BEGIN_READ_ATTRS): Likewise.
6641 (LTO_END_READ_ATTRS): Likewise.
6642 (lto_unsupported_attr_error): New function.
6643 (lto_get_identifier): Likewise.
6644 (lto_read_referenced_type_DIE): Likewise.
6645 (lto_read_compile_unit_DIE): Likewise.
6646 (lto_read_variable_formal_parameter_constant_DIE): Likewise.
6647 (lto_read_base_type_DIE): Likewise.
6648 (lto_read_DIE): Likewise.
6649 (lto_read_child_DIEs): Likewise.
6650 (lto_file_read): Read DIEs.
6651 (lto_main): Ask middle end to emit entities.
6652 * lto-tree.h (lang_identifier): Inherit from tree_identifier.
6653 * lto-elf.c (lto_elf_file_open): Adjust for interface changes.
6654 (lto_elf_file_close): Likewise.
6655 * lto.h (lto_file): Declare.
6656 (DWARF2_abbrev): Likewise.
6657 (lto_fd): New type.
6658 (lto_abbrev_fd): Likewise.
6659 (lto_file): Use new types.
6660 (lto_file_close): Declare.
6661 * lto-lang.c (lto_init): Always use unit-at-a-time mode.
ab20d992 6662
d7f09764
DN
66632006-06-18 Mark Mitchell <mark@codesourcery.com>
6664
6665 * lto.h: New file.
6666 * lto.c: New file.
6667 * lto-elf.c: New file.
6668 * lto-lang.c (flags.h): Include it.
6669 (lto.h): Likewise.
6670 (lto_init): New function.
6671 (lto_write_globals): Remove.
ab20d992 6672 (LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing.
d7f09764
DN
6673 (LANG_HOOKS_INIT): Define.
6674 (LANG_HOOKS_PARSE_FILE): Likewise.
6675 * Make-lang.in (LTO_OBJS): Add lto.o and lto-elf.o.
6676 (LTO_EXE): Link with libelf.
6677 (lto/lto-lang.o): Update dependencies.
6678 (lto/lto.o): New target.
6679 (lto/lto-elf.o): Likewise.
6680
66812006-06-12 Mark Mitchell <mark@codesourcery.com>
6682
6683 * config-lang.in: New file.
6684 * Make-lang.in: Likewise.
6685 * lto-tree.h: Likewise.
6686 * lto-lang.c: Likewise.
818ab71a 6687\f
68127a8e 6688Copyright (C) 2006-2023 Free Software Foundation, Inc.
d7f09764 6689
818ab71a
JJ
6690Copying and distribution of this file, with or without modification,
6691are permitted in any medium without royalty provided the copyright
6692notice and this notice are preserved.
This page took 8.008009 seconds and 5 git commands to generate.