]> gcc.gnu.org Git - gcc.git/blame - gcc/lto/ChangeLog
docs: mention analyzer interaction with -ftrivial-auto-var-init [PR104270]
[gcc.git] / gcc / lto / ChangeLog
CommitLineData
fc829782
GA
12022-01-17 Martin Liska <mliska@suse.cz>
2
3 * config-lang.in: Rename .c names to .cc.
4 * lang-specs.h: Likewise.
5 * lto-common.cc (gimple_register_canonical_type_1): Likewise.
6 * lto-common.h: Likewise.
7 * lto-dump.cc (lto_main): Likewise.
8 * lto-lang.cc (handle_fnspec_attribute): Likewise.
9 (lto_getdecls): Likewise.
10 (lto_init): Likewise.
11 * lto.cc (lto_main): Likewise.
12 * lto.h: Likewise.
13
142022-01-17 Martin Liska <mliska@suse.cz>
15
16 * common.c: Moved to...
17 * common.cc: ...here.
18 * lto-common.c: Moved to...
19 * lto-common.cc: ...here.
20 * lto-dump.c: Moved to...
21 * lto-dump.cc: ...here.
22 * lto-lang.c: Moved to...
23 * lto-lang.cc: ...here.
24 * lto-object.c: Moved to...
25 * lto-object.cc: ...here.
26 * lto-partition.c: Moved to...
27 * lto-partition.cc: ...here.
28 * lto-symtab.c: Moved to...
29 * lto-symtab.cc: ...here.
30 * lto.c: Moved to...
31 * lto.cc: ...here.
32
483092d3
GA
332021-11-18 Jan Hubicka <hubicka@ucw.cz>
34
35 * lto-partition.c (promote_symbol): Clear semantic_interposition flag.
36
9defce62
GA
372021-11-06 Jan Hubicka <hubicka@ucw.cz>
38
39 PR ipa/103070
40 PR ipa/103058
41 * lto-partition.c (must_not_rename): Update comment.
42 (promote_symbol): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
43
c2bd5d8a
GA
442021-10-22 Eric Gallager <egallager@gcc.gnu.org>
45
46 PR other/102663
47 * Make-lang.in: Add dummy lto.install-dvi target.
48
cf966403
GA
492021-09-27 Martin Liska <mliska@suse.cz>
50
51 * lto-lang.c (lto_init_options_struct): Set also
52 x_flag_default_complex_method.
53
7b739540
GA
542021-09-03 Jakub Jelinek <jakub@redhat.com>
55
56 PR target/102024
57 * lto-common.c (compare_tree_sccs_1): Also compare
58 DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD values.
59
9f7c2bad
GA
602021-09-02 liuhongt <hongtao.liu@intel.com>
61
62 * lto-lang.c (lto_type_for_mode): Return float16_type_node
63 when mode == TYPE_MODE (float16_type_node).
64
ee682192
GA
652021-05-31 Martin Liska <mliska@suse.cz>
66
67 * lto-common.c (compare_tree_sccs_1): Compare
68 FUNCTION_DECL_DECL_TYPE.
69
637569df
GA
702021-05-24 Wang Liushuai <wangliushuai@bytedance.com>
71
72 * lto-dump.c (get_size): Fix the NPD error about the thunk symbol.
73
ee351f7f
GA
742021-04-15 Jan Hubicka <hubicka@ucw.cz>
75
76 PR lto/98599
77 * lto.c (lto_wpa_write_files): Fix handling of clones.
78
019a9220
GA
792021-04-08 Martin Sebor <msebor@redhat.com>
80
81 PR middle-end/99883
82 * lto-lang.c (lto_post_options): Correct spelling.
83
2c83c3fb
GA
842021-02-28 Jakub Jelinek <jakub@redhat.com>
85
86 PR c/99304
87 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Fix comment
88 typos - refernced -> referenced and
89 devirtualizaiton -> devirtualization.
90
eefe499f
GA
912020-12-16 Martin Liska <mliska@suse.cz>
92
93 * lang.opt: Remove usage of Report.
94
82e5048e
GA
952020-11-20 Jakub Jelinek <jakub@redhat.com>
96
97 PR other/97911
98 * Make-lang.in (lto1.serial, lto2.serial): Change from goals to
99 variables.
100 (.PHONY): Drop lto1.serial, lto2.serial, lto1.prev and lto2.prev.
101 ($(LTO_EXE)): Depend on $(lto1.serial) rather than lto1.serial.
102 ($(LTO_DUMP_EXE)): Depend on $(lto2.serial) rather than lto2.serial.
103
25bb75f8
GA
1042020-11-18 Jerry Clcanny <a837940593@gmail.com>
105
106 * lto-symtab.c (lto_symtab_merge_symbols): Fix typos in comment.
107
1082020-11-18 Jakub Jelinek <jakub@redhat.com>
109
110 * Make-lang.in (lto, lto1.serial, lto2.serial): New goals.
111 (.PHONY): Add lto lto1.serial lto1.prev lto2.serial lto2.prev.
112 (lto.all.cross, lto.start.encap): Remove dependencies.
113 ($(LTO_EXE)): Depend on lto1.prev. Call LINK_PROGRESS.
114 ($(LTO_DUMP_EXE)): Depend on lto2.prev. Call LINK_PROGRESS.
115
4dabb037
GA
1162020-11-17 Jan Hubicka <jh@suse.cz>
117
118 PR bootstrap/97857
119 * lto-common.c (gimple_register_canonical_type_1): Only
120 register types with TYPE_CXX_ODR_P flag; sanity check that no
121 conflict happens at ltrans time.
122
44cab2d8
GA
1232020-11-06 Nathan Sidwell <nathan@acm.org>
124
125 * lto-symtab.c (lto_symtab_merge_decls_1): Rename
126 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
127
e93aae4a
GA
1282020-10-28 Jakub Jelinek <jakub@redhat.com>
129
130 PR lto/96680
131 * lto-common.c (lto_fixup_prevailing_decls): Don't use
132 LTO_NO_PREVAIL on TREE_LIST's TREE_PURPOSE.
133 * lto-partition.c (lto_balanced_map): Treat declare_variant_alt
134 nodes like definitions.
135
efe71fcc
GA
1362020-10-23 Jan Hubicka <hubicka@ucw.cz>
137
138 * lto-partition.c (add_symbol_to_partition_1): Update for new thunk
139 api.
140
8b394f01
GA
1412020-08-27 Martin Liska <mliska@suse.cz>
142
143 * lto-common.c (lto_file_finalize): Set exact argument of a vector
144 growth function to true.
145
9a5b7438
GA
1462020-06-03 Jan Hubicka <hubicka@ucw.cz>
147
148 * lto-common.c (compare_tree_sccs_1): Do not compare TYPE_VALUES.
149
bcb63eb2
JH
1502020-05-22 Jan Hubicka <hubicka@ucw.cz>
151
152 * lto-common.c (lto_read_decls): Do not skip stray refs.
153
03d90a20
JH
1542020-05-20 Jan Hubicka <hubicka@ucw.cz>
155
156 * lto-common.c (compare_tree_sccs_1): Sanity check that we never
157 read TRANSLATION_UNIT_DECL.
158 (process_dref): Break out from ...
159 (unify_scc): ... here.
160 (process_new_tree): Break out from ...
161 (lto_read_decls): ... here; handle streaming of singleton trees.
162 (print_lto_report_1): Update statistics.
163
eb72dc66
RB
1642020-05-07 Richard Biener <rguenther@suse.de>
165
166 PR middle-end/94703
167 * lto-common.c (compare_tree_sccs_1): Compare
168 DECL_NOT_GIMPLE_REG_P.
169
575ac27f
JJ
1702020-04-29 Jakub Jelinek <jakub@redhat.com>
171
172 PR target/94707
173 * lto-common.c (compare_tree_sccs_1): Handle DECL_FIELD_ABI_IGNORED.
174
b835645c
ML
1752020-04-17 Martin Liska <mliska@suse.cz>
176
177 PR lto/94612
178 * lto-common.c: Initialize file_data->lto_section_header
179 before lto_mode_identity_table call. It is needed because
180 it decompresses a LTO section.
181
70df40ca
ML
1822020-04-08 Martin Liska <mliska@suse.cz>
183
184 PR c++/94314
185 * lto-common.c (compare_tree_sccs_1): Compare also
186 DECL_IS_REPLACEABLE_OPERATOR.
187
158cccea
JJ
1882020-03-25 Jakub Jelinek <jakub@redhat.com>
189
190 PR c++/94223
191 * lto-lang.c (lto_set_decl_assembler_name): Use a static ulong
192 counter instead of DECL_UID.
193
c2211a60
TB
1942020-03-24 Tobias Burnus <tobias@codesourcery.com>
195
196 PR libgomp/81689
197 * lto.c (offload_handle_link_vars): Propagate TREE_PUBLIC state.
198
ce641308
TB
1992020-01-29 Tobias Burnus <tobias@codesourcery.com>
200
201 * lto.c (offload_handle_link_vars): Reduce chance of
202 naming clashes of generated linkptr variable.
203
b809f0b6
TB
2042020-01-29 Tobias Burnus <tobias@codesourcery.com>
205
206 PR middle-end/94233
207 * lto.c (offload_handle_link_vars): Cleanup; call
208 build_decl to ensure alignment is set.
209
27736735
ML
2102020-02-05 Martin Liska <mliska@suse.cz>
211
212 PR lto/93489
213 * lto-dump.c (dump_list_functions): Do not
214 load body for aliases.
215 (dump_body): Likewise here.
216
f48c6014
ML
2172020-01-16 Martin Liska <mliska@suse.cz>
218
219 * lto-partition.c (lto_balanced_map): Remember
220 best_noreorder_pos and then restore to it
221 when we revert.
222
3629ff8a
ML
2232020-01-08 Martin Liska <mliska@suse.cz>
224
225 * lto-partition.c (add_symbol_to_partition_1): Use ::dump_name or
226 ::dump_asm_name instead of (::name or ::asm_name).
227 (lto_balanced_map): Likewise.
228 (promote_symbol): Likewise.
229 (rename_statics): Likewise.
230 * lto.c (lto_wpa_write_files): Likewise.
231
d597b944
ML
2322020-01-08 Martin Liska <mliska@suse.cz>
233
234 * lto-partition.c (lto_balanced_map): Use symtab_node::dump_name.
235
8d9254fc
JJ
2362020-01-01 Jakub Jelinek <jakub@redhat.com>
237
238 Update copyright years.
239
40ebe1fc
JH
2402019-12-19 Jan Hubicka <hubicka@ucw.cz>
241 Xi Ruoyao <xry111@mengyan1223.wang>
242
243 * lto-common.c (read_cgraph_and_symbols): Work around binutils
244 PR25424
245
6d8fd122 2462019-12-07 Jan Hubicka <hubicka@ucw.cz>
5b8d9367 247
59c7b29e
JH
248 * lto-partition.c (lto_balanced_map): Fix printing of tp_first_run.
249
2502019-12-10 Jan Hubicka <hubicka@ucw.cz>
251
6d8fd122
JH
252 * lto-partition.c (node_cmp): Turn into simple order comparsions.
253 (varpool_node_cmp): Remove.
254 (add_sorted_nodes): Use node_cmp.
255 (lto_balanced_map): Use tp_first_run_node_cmp.
256
59c7b29e
JH
2572019-11-25 Joseph Myers <joseph@codesourcery.com>
258
5b8d9367
JM
259 PR c/91985
260 * lto-lang.c (lto_type_for_mode): Handle decimal floating-point
261 types being NULL_TREE.
262
9fd052e7
JH
2632019-11-22 Jan Hubicka <jh@suse.cz>
264
265 * lto.c (lto_wpa_write_files): Call memory_block_pool::trim.
266
e61d0e4e
ML
2672019-11-14 Martin Liska <mliska@suse.cz>
268
269 * Make-lang.in: Remove wrong dependency
270 of LTO_DUMP_EXE on LTO_EXE.
271
0c29cac4
ML
2722019-11-12 Martin Liska <mliska@suse.cz>
273
274 * lto-common.c: Do not include params.h.
275 * lto-partition.c: Likewise.
276 * lto.c: Likewise.
277
028d4092
ML
2782019-11-12 Martin Liska <mliska@suse.cz>
279
280 * lto-partition.c (lto_balanced_map): Replace old parameter syntax
281 with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET
282 macro.
283 * lto.c (do_whole_program_analysis): Likewise.
284
fe1d1a8b
ML
2852019-11-11 Martin Liska <mliska@suse.cz>
286
287 * Make-lang.in: Relax dependency of lto-dump.o to
288 LTO_OBJS which will allow faster linking (mainly with LTO).
289
c38ee9a2
JH
2902019-11-07 Jan Hubicka <hubicka@ucw.cz>
291
292 * lto.c (do_whole_program_analysis): Call lto_free_file_name_hash.
293
c9ef0409
JH
2942019-11-02 Jan Hubicka <hubicka@ucw.cz>
295
296 * lto-common.c (read_cgraph_and_symbols): Improve -Q reporting.
297 * lto.c (lto_wpa_write_files): Likewise.
298
6773658a
JJ
2992019-10-31 Jakub Jelinek <jakub@redhat.com>
300
301 PR middle-end/92231
302 * lto-lang.c (handle_const_attribute): Don't call fndecl_built_in_p
303 on *node that is not FUNCTION_DECL.
304
3c56d8d8
ML
3052019-10-30 Martin Liska <mliska@suse.cz>
306
307 PR lto/91393
308 PR lto/88220
309 * lto-common.c (lto_file_finalize): Use lto_get_summary_section_data.
310 (get_section_data): Add order argument.
311
3518424d
ML
3122019-10-29 Martin Liska <mliska@suse.cz>
313
314 * lto.c (do_whole_program_analysis): Pass
315 title as dump_memory_report argument.
316
c5281d50
ML
3172019-10-29 Martin Liska <mliska@suse.cz>
318
319 * lto.c (do_whole_program_analysis): Remove argument.
320
f658ad30
JH
3212019-10-24 Jan Hubicka <hubicka@ucw.cz>
322
323 * lto-partition.c (add_symbol_to_partition_1): Update.
324 (undo_parittion): Update.
325
ebad2eee
JH
3262019-10-23 Jan Hubicka <hubicka@ucw.cz>
327
328 * lto-common.c (lto_file_finalize): Add order attribute.
329 (lto_create_files_from_ids): Pass order.
330 (lto_file_read): UPdate call of lto_create_files_from_ids.
331
7cc47709
JH
3322019-10-12 Jan Hubicka <hubicka@ucw.cz>
333
334 * lto-common.c (read_cgraph_and_symbols): Grow ggc memory use after
335 summary streaming.
336
f8cf94cd
JH
3372019-10-12 Jan Hubicka <hubicka@ucw.cz>
338
339 * lto.c (lto_wpa_write_files): Do not update bodies of clones.
340
e5207f1a
JH
3412019-10-11 Jan Hubicka <hubicka@ucw.cz>
342
343 * lto.c (lto_wpa_write_files): Call ggc_trim.
344
1fcf52a6
JH
3452019-10-11 Jan Hubicka <hubicka@ucw.cz>
346
347 * lto.c (lto_wpa_write_files): Prepare all bodies for streaming.
348
9142736e
RB
3492019-10-10 Richard Biener <rguenther@suse.de>
350
351 * lto-common.c (unify_scc): Do not merge anonymous NAMESPACE_DECLs.
352
0fa00483
JM
3532019-10-04 Joseph Myers <joseph@codesourcery.com>
354
355 * lto-lang.c (flag_isoc2x): New variable.
356
a3d09469
RB
3572019-09-18 Richard Biener <rguenther@suse.de>
358
359 PR lto/91763
360 * lto.c (lto_materialize_function): Initialize EH by looking
361 at the function personality and flag_exceptions setting.
362
df375b03
JJ
3632019-08-23 Jakub Jelinek <jakub@redhat.com>
364
365 PR middle-end/91283
366 * lto-lang.c (lto_post_options): Set flag_excess_precision instead of
367 flag_excess_precision_cmdline. Remove comment.
368
4d732405
RS
3692019-08-13 Richard Sandiford <richard.sandiford@arm.com>
370
371 PR middle-end/91421
372 * lto-common.c (compare_tree_sccs_1): Use DECL_UNCHECKED_FUNCTION_CODE
373 instead of DECL_FUNCTION_CODE.
374 * lto-symtab.c (lto_symtab_merge_p): Likewise.
375
6e42c90c
BE
3762019-08-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
377
378 * Make-lang.in (lto.install-common): Remove unnecessary slash
379 between $(DESTDIR) and $(bindir).
380
cb50701e
ML
3812019-07-25 Martin Liska <mliska@suse.cz>
382
383 * lto-common.c (compare_tree_sccs_1): Use new macros
384 (e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
385
34e64622
GB
3862019-07-22 Giuliano Belinassi <giuliano.belinassi@usp.br>
387
388 * lang.opt (flag_dump_callgraph): New flag.
389 * lto-dump.c (dump_symtab_graphviz): New function.
390 (dump_tool_help): New option.
391 (lto_main): Handle graphviz dumping.
392
b01659aa
JH
3932019-07-18 Jan Hubicka <hubicka@ucw.cz>
394
395 * lto-common.c (gimple_register_canonical_type_1): Do not look for
396 non-ODR conflicts of types in anonymous namespaces.
397 (unify_scc): Do not merge anonymous namespace types.
398
99b1c316
MS
3992019-07-09 Martin Sebor <msebor@redhat.com>
400
401 PR c++/61339
402 * lto-common.c (lto_splay_tree_new): : Change class-key of PODs
403 to struct and others to class.
404 (mentions_vars_p): Same.
405 (register_resolution): Same.
406 (lto_register_var_decl_in_symtab): Same.
407 (lto_register_function_decl_in_symtab): Same.
408 (cmp_tree): Same.
409 (lto_read_decls): Same.
410
6c1dae73
MS
4112019-07-09 Martin Sebor <msebor@redhat.com>
412
413 PR c++/61339
414 * lto-dump.c: Change class-key from class to struct and vice versa
415 to match convention and avoid -Wclass-is-pod and -Wstruct-no-pod.
416
70980ea2
ML
4172019-07-04 Martin Liska <mliska@suse.cz>
418
419 PR lto/91078
420 * lto-common.c (lto_file_finalize): Use memcpy to set
421 file_data->lto_section_header.
422
88614dfa
ML
4232019-07-03 Martin Liska <mliska@suse.cz>
424
425 * lto-common.c: Read LTO section and verify header.
426
606a9a8c
JH
4272019-06-27 Jan Hubicka <jh@suse.cz>
428
429 * lto-common.c (lto_register_canonical_types_for_odr_types):
430 Copy CXX_ODR_P from the main variant.
431
85693eef
JH
4322019-06-27 Jan Hubicka <jh@suse.cz>
433
434 * lto-common.c: tree-pretty-print.h
435 (type_streaming_finished): New static var.
436 (gimple_register_canonical_type_1): Return updated hash; handle ODR
437 types.
438 (iterative_hash_canonical_type): Update use of
439 gimple_register_canonical_type_1.
440
c2f7a665
ML
4412019-06-27 Martin Liska <mliska@suse.cz>
442
443 * lto-dump.c (struct symbol_entry): Add default dtor.
444 (struct variable_entry): Likewise.
445 (struct function_entry): Likewise.
446 (dump_list_functions): Release memory.
447 (dump_list_variables): Likewise.
448
ab20d992
JJ
4492019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
450
451 * lto-lang.c (lto_build_c_type_nodes): Accept "__intN__"
452 format of "__intN" types for SIZE_TYPE.
453
f4af4019
JH
4542019-06-24 Jan Hubicka <jh@suse.cz>
455
456 * lto-common.c (compare_tree_sccs_1): Compare CXX_ODR_P;
457 compare STRING_FLAG only for arrays and integers.
458
0ecf545c
MS
4592019-06-05 Martin Sebor <msebor@redhat.com>
460
461 * lto-common.c (lto_file_finalize): Adjust quoting and hyphenation.
462
a9c697b8
MS
4632019-05-16 Martin Sebor <msebor@redhat.com>
464
ab20d992
JJ
465 * lto-dump.c (lto_main): Same.
466 * lto.c (stream_out): Same.
a9c697b8 467
38613b9b
ML
4682019-05-10 Martin Liska <mliska@suse.cz>
469
470 * Make-lang.in: Use program_transform_name for lto-dump.
471 * config-lang.in: Do not mark lto-dump compiler as we don't
472 want to have it installed at
473 lib/gcc/x86_64-pc-linux-gnu/10.0.0/lto-dump.
474
03de2955
RO
4752019-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
476
477 * lto-common.c (lto_file_read): Print section->start as int64_t,
478 section->len as uint64_t.
479 * lto-dump.c (symbol_entry::dump): Print sz as uint64_t.
480
ee7a003f
ML
4812019-05-06 Martin Liska <mliska@suse.cz>
482
483 * lto-common.c: Update coding style.
484 * lto.c (materialize_cgraph): Likewise.
485
66d62d9f
HK
4862019-05-06 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
487 Martin Liska <mliska@suse.cz>
488
489 * Make-lang.in: Add lto_dump-related definition.
490 * config-lang.in: Likewise.
491 * lang.opt: Add new language LTODump and options related
492 to LTO dump tool.
493 * lto-common.c (lto_read_decls): Support type statistics dump.
494 (lto_file_read): Likewise for object files.
495 * lto-dump.c: New file.
496 * lto-lang.c (lto_option_lang_mask): Move from ..
497 * lto.c (lto_option_lang_mask): .. here.
498 * lto.h (lto_option_lang_mask): New declaration.
499
a79420f9
ML
5002019-05-06 Martin Liska <mliska@suse.cz>
501 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
502
503 * Make-lang.in: Add lto-common.o.
504 * config-lang.in: Likewise for gtfiles.
505 * lto-common.c: New file.
506 * lto-common.h: New file.
507 * lto-lang.c: Include lto-common.h.
508 * lto.c: Move most of the functionality
509 into lto-common.c file.
510
0c7f51e4
JH
5112019-04-12 Jan Hubicka <hubicka@ucw.cz>
512
513 * lto.c (do_stream_out): rename to ...
514 (stream_out): ... this one; move original code to ...
515 (stream_out_partitions_1, stream_out_partitions): ... these new
516 functions.
517 (lto_wpa_write_files): Honnor lto_parallelism
518
303389b1
ML
5192019-03-26 Martin Liska <mliska@suse.cz>
520
521 * lto-symtab.c (lto_symtab_merge_decls_2): Fix option name
139fc820 522 wrapping.
303389b1 523
a3f9f006
ML
5242019-03-11 Martin Liska <mliska@suse.cz>
525
526 * lto-lang.c (lto_post_options): Wrap an option name
527 in a string format message and fix GNU coding style.
528 * lto-symtab.c (lto_symtab_merge_decls_2): Likewise.
529
04e5c73d
JJ
5302019-03-09 Jakub Jelinek <jakub@redhat.com>
531
532 PR target/79645
533 * lang.opt: Terminate description text with a dot.
534
80f52b40
JM
5352019-02-28 Jason Merrill <jason@redhat.com>
536
537 PR c++/88049 - ICE with undefined destructor and anon namespace.
538 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Return early
539 for a type in an anonymous namespace.
540
67914693
SL
5412019-01-09 Sandra Loosemore <sandra@codesourcery.com>
542
543 PR other/16615
544
545 * lto-partition.c: Mechanically replace "can not" with "cannot".
546 * lto-symtab.c: Likewise.
547 * lto.c: Likewise.
548
a5544970
JJ
5492019-01-01 Jakub Jelinek <jakub@redhat.com>
550
551 Update copyright years.
552
d840d7a2
JH
5532018-12-24 Jan Hubicka <hubicka@ucw.cz>
554
555 * lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations
556 for method whose basetype was already reported.
557
ed1b53a0
MP
5582018-11-30 Michael Ploujnikov <michael.ploujnikov@oracle.com>
559
560 Minimize clone counter memory usage in LTO.
561 * lto-partition.c (privatize_symbol_name_1): Keep track of
562 non-unique symbol counters in the lto_clone_numbers hash
563 map.
564 (lto_promote_cross_file_statics): Allocate and free the
565 lto_clone_numbers hash map.
566 (lto_promote_statics_nonwpa): Free the lto_clone_numbers hash
567 map.
568
ad42aa96
JH
5692018-11-28 Jan Hubicka <jh@suse.cz>
570
571 * lto.c (lto_read_decls): Fix handling of INTEGER_CST.
572
d7dce787
JH
5732018-11-22 Jan Hubicka <jh@suse.cz>
574
575 * lto.c (cmp_type_location): Remove.
576 (lto_read_decls): Do not allocate odr_types.
577
f615cb16
ML
5782018-11-19 Martin Liska <mliska@suse.cz>
579
580 PR lto/88077
581 * lto-symtab.c (lto_symtab_merge): Transform the
582 condition before r256989.
583
12eac232
ML
5842018-11-16 Martin Liska <mliska@suse.cz>
585
586 PR lto/88004
587 * lto-symtab.c (lto_symtab_merge_symbols_1): Do not call
588 lto_symtab_symbol_p as it does checking of transparent alias.
589 These needs to be also merged in the function.
590
7958186b
MP
5912018-10-30 Michael Ploujnikov <michael.ploujnikov@oracle.com>
592
593 * lto-partition.c (privatize_symbol_name_1): Use
594 clone_function_name_numbered.
595
abb967da
JH
5962018-10-26 Jan Hubicka <jh@suse.cz>
597
ab20d992 598 * lto-symtab.c (lto_symtab_merge_decls_2): Fix extra space.
abb967da 599
033eb567
DM
6002018-10-17 David Malcolm <dmalcolm@redhat.com>
601
602 * Make-lang.in (selftest-lto): New.
603
9ed6dbee
ML
6042018-08-29 Martin Liska <mliska@suse.cz>
605
606 PR bootstrap/87130
607 * lto.c (read_cgraph_and_symbols): Fix thinko, revert
608 to behavior before r263887.
609
3d78e008
ML
6102018-08-27 Martin Liska <mliska@suse.cz>
611
612 * lto-lang.c (handle_const_attribute): Use new function
92a285c1
ML
613 fndecl_built_in_p and remove check for FUNCTION_DECL if
614 possible.
3d78e008
ML
615 * lto-symtab.c (lto_symtab_merge_p): Likewise.
616 (lto_symtab_merge_decls_1): Likewise.
617 (lto_symtab_merge_symbols): Likewise.
618 * lto.c (lto_maybe_register_decl): Likewise.
619 (read_cgraph_and_symbols): Likewise.
620
efd9eb29
TV
6212018-08-21 Tom de Vries <tdevries@suse.de>
622
ab20d992 623 * lto.c (lto_main): Call debuginfo_early_start and
efd9eb29
TV
624 debuginfo_early_stop.
625
00abf86c
MS
6262018-07-20 Martin Sebor <msebor@redhat.com>
627
628 PR middle-end/82063
629 * lto-lang.c (lto_handle_option): Change function argument
630 to HOST_WIDE_INT.
631
efe0e6cd
RB
6322018-07-20 Richard Biener <rguenther@suse.de>
633
634 PR debug/86585
635 * lto.c (unify_scc): Before we throw away an SCC see if we
636 can amend prevailing single-entry SCC with debug refs.
637
814f3331
JH
6382018-07-13 Jan Hubicka <hubicka@ucw.cz>
639
640 * lto.c (do_stream_out): Add PART parameter; open dump file.
641 (stream_out): Add PART parameter; pass it to do_stream_out.
642 (lto_wpa_write_files): Update call of stream_out.
643
c518c102
ML
6442018-07-04 Martin Liska <mliska@suse.cz>
645
646 PR middle-end/66240
647 PR target/45996
648 PR c/84100
649 * lto.c (compare_tree_sccs_1): Use cl_optimization_option_eq
650 instead of memcmp.
651
b54006ae
ML
6522018-06-20 Martin Liska <mliska@suse.cz>
653
654 * lto-symtab.c (lto_symtab_merge_p): Remove not valid
92a285c1 655 FIXME comment.
b54006ae 656
56f62793
ML
6572018-06-19 Martin Liska <mliska@suse.cz>
658
659 * lto-partition.c (add_symbol_to_partition_1): Use symbol_summary::get instead
92a285c1 660 of get_create.
56f62793
ML
661 (undo_partition): Likewise.
662 (lto_balanced_map): Likewise.
663
1724941e
ML
6642018-06-19 Martin Liska <mliska@suse.cz>
665
666 * config-lang.in: Remove stagestuff.
667
29a50dfb
JH
6682018-06-08 Jan Hubicka <hubicka@ucw.cz>
669
670 * lto-lang.c (lto_link_dump_id, decl_merge_dump_id, partition_dump_id):
671 New global vars.
672 (lto_register_dumps): New hook.
673 (LANG_HOOKS_REGISTER_DUMPS): New.
674 * lto-partition.c: Dump into dump_file instead of symtab->dump_file.
675 * lto-symtab.c: Include lto.h; dump into dump_file instead of
676 symtab->dump_file.
677 (lto_symtab_merge_decls): Initialize dump file.
678 * lto.c (read_cgraph_and_symbols): Initialize dump file.
679 (do_whole_program_analysis): Likewise.
680
74644756
ML
6812018-06-08 Martin Liska <mliska@suse.cz>
682
683 * lto-partition.c (lto_balanced_map): Use cgraph_node::uid
684 instead of summary_uid.
685
99353fcf
ML
6862018-06-08 Martin Liska <mliska@suse.cz>
687
688 * lto-partition.c (add_symbol_to_partition_1): Use get_create instead
689 of get.
690 (undo_partition): Likewise.
691 (lto_balanced_map): Likewise.
692
31db0fe0
ML
6932018-06-08 Martin Liska <mliska@suse.cz>
694
695 * lto-partition.c (add_references_to_partition): Remove support
696 for MPX (macros, related functions, fields in cgraph_node, ...).
697 (add_symbol_to_partition_1): Likewise.
698 (privatize_symbol_name): Likewise.
699 * lto-symtab.c (lto_cgraph_replace_node): Likewise.
700
f115c9b5
RB
7012018-06-05 Richard Biener <rguenther@suse.de>
702
703 * lto.c (cmp_type_location): Expand locations only once.
704
5b42d196
JH
7052018-05-30 Jan Hubicka <hubicka@ucw.cz>
706
707 * lang.opt (lto_linker_output): Add nolto-rel.
708 * lto-lang.c (lto_post_options): Handle LTO_LINKER_OUTPUT_REL
709 and LTO_LINKER_OUTPUT_NOLTOREL.
710 (lto_init): Generate lto when doing incremental link.
711 * lto.c (lto_precess_name): Add lto1-inclink.
712
ab168044
JH
7132018-05-18 Jan Hubicka <jh@suse.cz>
714
715 PR lto/85583
716 * lto-partition.c (account_reference_p): Do not account
717 references from aliases; do not account refernces from
718 external initializers.
719
b6e33d73
JH
7202018-04-30 Jan Hubicka <jh@suse.cz>
721
722 * lto.c (cmp_partitions_size): Remove.
723 (lto_wpa_write_files): Also output priorities; do not sort partitions.
724 (cmp_partition_order): Move to ...
725 * lto-partition.c (cmp_partition_order): ...
726 (lto_1_to_1_map): Sort partitions.
727
e693ebce
JH
7282018-04-20 Jan Hubicka <jh@suse.cz>
729
730 * lto-partition.c (lto_balanced_map): Fix sanity check.
731
ddb0b824
JH
7322018-04-19 Jan Hubicka <jh@suse.cz>
733
734 * lto-partition.c: Include sreal.h
735 (add_symbol_to_partition_1): Use size instead of self_size
736 for size estimate.
737 (account_reference_p): New.
738 (lto_balanced_map): Use 64bit arithmetics for size calculatoins; cleanup;
739 fix accounting errors in boundary size; add debug output; combine cost
740 as cost/size instead of cost/internal; reduce the partitioning error to
741 +- 1/8 of the parttion size.
742
1781a04f
ML
7432018-04-19 Martin Liska <mliska@suse.cz>
744
745 * lto-symtab.c (lto_symtab_resolve_symbols): Do not bail out
746 for multiple PREVAILING_DEF_IRONLY for common symbols.
747
6867cd69
ML
7482018-04-18 Martin Liska <mliska@suse.cz>
749
750 * lto.c (lto_read_decls): Fix GNU coding style and typos.
751
af597536
ML
7522018-04-18 Martin Liska <mliska@suse.cz>
753
754 PR ipa/83983
755 PR ipa/85391
756 * lto.c (cmp_type_location): New function.
757 (lto_read_decls): First collect all types, then
758 sort them according by location before register_odr_type
759 is called.
760
7d6051b1
JH
7612018-04-18 Jan Hubicka <jh@suse.cz>
762 Martin Liska <mliska@suse.cz>
763
764 PR lto/85391
765 * lto.c (lto_read_decls): Do not test TYPE_CANONICAL before registering odr
766 types.
767
23d87577
ML
7682018-04-11 Martin Liska <mliska@suse.cz>
769
770 * lto-symtab.c (lto_symtab_merge_p): Use attribute_value_equal
771 function.
772
c16833dc
ML
7732018-04-10 Martin Liska <mliska@suse.cz>
774
775 PR lto/85248
776 * lto-symtab.c (lto_symtab_merge_p): Do not check for
777 TREE_VALUES of error attributes.
778
8d96e546
ML
7792018-04-10 Richard Biener <rguenther@suse.de>
780 Martin Liska <mliska@suse.cz>
781
782 PR lto/85248
783 * lto-symtab.c (lto_symtab_merge_p): Handle noreturn attribute.
784
97bb4812
JH
7852018-02-08 Jan Hubicka <hubicka@ucw.cz>
786
787 * lto-partition.c (lto_balanced_map): Watch overflow.
788
39aa9b23
JH
7892018-02-08 Jan Hubicka <hubicka@ucw.cz>
790
791 PR ipa/81360
792 * lto.c (unify_scc): Register prevailing trees, not trees to be freed.
793 (read_cgraph_and_symbols): Use
794 symtab_node::output_to_lto_symbol_table_p.
795
26a823f0
JH
7962018-01-30 Jan Hubicka <hubicka@ucw.cz>
797
798 * lto.c (register_resolution): Remove forgotten sanity check.
799
43fbc2e9
JH
8002018-01-30 Jan Hubicka <hubicka@ucw.cz>
801
802 PR lto/81004
803 * lto.c: Include builtins.h
804 (register_resolution): Merge resolutions in case trees was
805 merged across units.
806 (lto_maybe_register_decl): Break out from ...
807 (lto_read_decls): ... here.
808 (unify_scc): Also register decls here.
809 (read_cgraph_and_symbols): Sanity check that all resolutions was
810 read.
811
ee034d31
EB
8122018-02-02 Eric Botcazou <ebotcazou@adacore.com>
813
814 PR lto/83954
815 * lto-symtab.c (warn_type_compatibility_p): Do not recurse into the
816 component type of array types with non-aliased component.
817
44c945e6
JH
8182018-01-30 Jan Hubicka <hubicka@ucw.cz>
819
820 PR lto/83954
821 * lto-symtab.c (warn_type_compatibility_p): Silence false positive
822 for type match warning on arrays of pointers.
823
cde9b2f8
ML
8242018-01-23 Martin Liska <mliska@suse.cz>
825
826 PR lto/81440
827 * lto-symtab.c (lto_symtab_merge): Handle and do not warn about
828 trailing arrays at the end of a struct.
829
5c0caeb3
RS
8302018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
831 Alan Hayward <alan.hayward@arm.com>
832 David Sherwood <david.sherwood@arm.com>
833
834 * lto-lang.c (lto_type_for_mode): Handle MODE_VECTOR_BOOL.
835
928686b1
RS
8362018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
837 Alan Hayward <alan.hayward@arm.com>
838 David Sherwood <david.sherwood@arm.com>
839
840 * lto-lang.c (lto_type_for_mode): Check valid_vector_subparts_p.
841 * lto.c (hash_canonical_type): Handle polynomial TYPE_VECTOR_SUBPARTS.
842
85ec4feb
JJ
8432018-01-03 Jakub Jelinek <jakub@redhat.com>
844
845 Update copyright years.
846
4849deb1
JJ
8472017-12-15 Jakub Jelinek <jakub@redhat.com>
848
849 * lto-lang.c (lto_attribute_table, lto_format_attribute_table): Swap
850 affects_type_identity and handler fields, adjust comments.
851
734914b6
RS
8522017-12-07 Richard Sandiford <richard.sandiford@arm.com>
853
854 * lto.c (compare_tree_sccs_1): Compare the new VECTOR_CST flags.
855
5d9ae53d
MS
8562017-12-07 Martin Sebor <msebor@redhat.com>
857
858 PR c/81544
859 * lto-lang.c (lto_attribute_table): Initialize new member of struct
860 attribute_spec.
861
5de73c05
JJ
8622017-11-30 Jakub Jelinek <jakub@redhat.com>
863
864 * lto.c (create_subid_section_table): Use ; instead of ;;.
865
974aedcc
MP
8662017-11-22 Marek Polacek <polacek@redhat.com>
867
868 PR c++/60336
869 PR middle-end/67239
870 PR target/68355
871 * lto.c (compare_tree_sccs_1): Compare TYPE_EMPTY_P and DECL_PADDING_P.
872
1bad9c18
JH
8732017-11-10 Jan Hubicka <hubicka@ucw.cz>
874
875 * lto-partition.c (lto_balanced_map): Use frequency accessor.
876
65991ea3
JH
8772017-10-13 Jan Hubicka <hubicka@ucw.cz>
878
879 * lto-lang.c (lto_post_options): Clean shlib flag when not doing PIC.
880
4e7d0260
NS
8812017-10-11 Nathan Sidwell <nathan@acm.org>
882
883 * lto.c (mentions_vars_p_decl_with_vis): Use
884 DECL_ASSEMBLER_NAME_RAW.
885 (lto_fixup_prevailing_decls): Likewise.
886
8e6cdc90
RS
8872017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
888
889 * lto.c (compare_tree_sccs_1): Use wi::to_wide when
890 operating on trees as wide_ints.
891
357b7604
RS
8922017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
893 Alan Hayward <alan.hayward@arm.com>
894 David Sherwood <david.sherwood@arm.com>
895
896 * lto-lang.c (lto_type_for_mode): Use as_a <scalar_int_mode>.
897
1ea85365
RB
8982017-08-21 Richard Biener <rguenther@suse.de>
899
92a285c1
ML
900 * lto.c (unify_scc): Truncate DIE reference queue for dropped SCCs.
901 (lto_read_decls): Process TRANSLATION_UNIT_DECLs. Remove
902 TYPE_DECL debug processing, register DIE references from
903 prevailing SCCs with the debug machinery.
904 (lto_section_with_id): Handle LTO debug sections.
1ea85365 905
8e093270
NS
9062017-08-16 Nathan Sidwell <nathan@acm.org>
907
908 * lto.c (mentions_vars_p_type): Use TYPE_LANG_SLOT_1.
909 (compare_tree_sccs_1): No need to compare TYPE_BINFO directly.
910 (lto_fixup_prevailing_decls): Use TYPE_LANG_SLOT_1.
911
eac3ab4a
TV
9122017-08-08 Tom de Vries <tom@codesourcery.com>
913
914 * lto.c: Include attribs.h.
915
314e6352
ML
9162017-08-08 Martin Liska <mliska@suse.cz>
917
918 * lto-lang.c: Include header files.
919 * lto-symtab.c: Likewise.
920
63e434ca
RB
9212017-08-03 Richard Biener <rguenther@suse.de>
922
923 * lto-symtab.h (lto_symtab_prevail_decl): Do not use
924 DECL_ABSTRACT_ORIGIN as flag we can end up using that. Instead
925 use DECL_LANG_FLAG_0.
926 (lto_symtab_prevail_decl): Likewise.
927
417ca011
TD
9282017-07-07 Torsten Duwe <duwe@suse.de>
929
930 * lto-lang.c (lto_attribute_table): Add entry for
931 "patchable_function_entry".
932
20deef65
NS
9332017-07-19 Nathan Sidwell <nathan@acm.org>
934
935 * lto.c (mentions_vars_p_type): Use TYPE_{MIN,MAX}_VALUE_RAW.
936 (compare_tree_sccs_1, lto_fixup_prevailing_decls): Likewise.
937
0eaf0bfe
JH
9382017-07-06 Jan Hubicka <hubicka@ucw.cz>
939
940 * lto-partition.c (lto_balanced_map): Do not check
941 flag_toplevel_reorder.
2db9b7cd 942
0eaf0bfe 9432017-06-23 Marc Glisse <marc.glisse@inria.fr>
2db9b7cd
MG
944 * lto-lang.c (lto_init): Use builtin_structptr_types.
945
d1eed638
JH
9462017-06-15 Jan Hubicka <hubicka@ucw.cz>
947 Thomas Preud'homme <thomas.preudhomme@arm.com>
948
949 PR lto/69866
950 * lto-symtab.c (lto_symtab_merge_symbols): Drop useless definitions
951 that resolved externally.
952
d2db2e6b
JH
9532017-05-23 Jan Hubicka <hubicka@ucw.cz>
954
955 * lto.c (do_whole_program_analysis): Replace inline_free_summary
956 by ipa_free_fn_summary.
957
464d0118
ML
9582017-05-23 Martin Liska <mliska@suse.cz>
959
960 * lto-symtab.c (lto_cgraph_replace_node): Use
961 symtab_node::dump_{asm_,}name functions.
962 * lto.c (read_cgraph_and_symbols): Likewise.
963 (do_whole_program_analysis): Likewise.
964
6c52831d
ML
9652017-05-23 Martin Liska <mliska@suse.cz>
966
967 * lto.c (read_cgraph_and_symbols): Use the renamed function.
968 (do_whole_program_analysis): Use the renamed function.
969
27d020cf
JH
9702017-05-22 Jan Hubicka <hubicka@ucw.cz>
971
972 * lto.c: Replace ipa-inline.h by ipa-fnsummary.h
973 * lto-partition.c: Replace ipa-inline.h by ipa-fnsummary.h
974
815d9cc6
XR
9752017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
976
92a285c1 977 PR c++/80038
815d9cc6
XR
978 * lto-lang.c (lto_init): Set in_lto_p earlier.
979
350792ff 9802017-04-12 Richard Biener <rguenther@suse.de>
ab20d992 981 Bernd Edlinger <bernd.edlinger@hotmail.de>
350792ff
RB
982
983 PR middle-end/79671
984 * lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE.
985
4a44a5f3
ML
9862017-02-14 Martin Liska <mliska@suse.cz>
987
988 * lto.c (do_stream_out): Free LTO file filename string.
989
8a3a6ab4
DM
9902017-01-19 David Malcolm <dmalcolm@redhat.com>
991
992 * lto-lang.c (builtin_type_for_size): Convert call to
993 lto_type_for_size to one through the langhook.
994 (lto_type_for_size): Move to langhooks.c and rename to
995 lhd_type_for_size.
996 (LANG_HOOKS_TYPE_FOR_SIZE): Don't redefine.
997
4c4b4703
JJ
9982017-01-11 Jakub Jelinek <jakub@redhat.com>
999
1000 PR middle-end/50199
1001 * lto-lang.c (lto_post_options): Force flag_merge_constants = 1
1002 if it was 0.
1003
bd2c6270
JJ
10042017-01-09 Jakub Jelinek <jakub@redhat.com>
1005
1006 PR translation/79019
1007 PR translation/79020
1008 * lto-symtab.c (lto_symtab_merge_symbols): Fix comment typo.
1009
24d3f325
NS
10102017-01-06 Nathan Sidwell <nathan@acm.org>
1011
5406184c
NS
1012 * lto-partition.c (promote_symbol): Write to dump file sooner,
1013 include alias promoting too.
1014
24d3f325
NS
1015 * lto-partition.c (lto_balanced_map): Reformat/respell comment.
1016 (may_need_named_section_p): Likewise.
1017 (rename_statics): Likewise.
1018 (lto_promote_cross_file_statics): Likewise.
1019
cbe34bb5
JJ
10202017-01-01 Jakub Jelinek <jakub@redhat.com>
1021
1022 Update copyright years.
1023
6c8bf066
GJL
10242016-11-30 Georg-Johann Lay <avr@gjlay.de>
1025
1026 PR lto/78562
1027 * lto-symtab.c (lto_symtab_merge_decls_2): Don't diagnose type
1028 mismatch if the two types are built-in.
1029
7fa6a965
PK
10302016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1031
1032 * lto-lang.c (lto_init): Remove initialization of ptrdiff_type_node.
1033
efb71232
RB
10342016-11-23 Richard Biener <rguenther@suse.de>
1035
1036 PR lto/78472
1037 * lto.c (hash_canonical_type): Ignore zero-sized fields.
1038
48330c93
BE
10392016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1040
1041 PR c++/71973
1042 * lto-lang.c (lto_init): Assert const_tm_ptr_type_node is sane.
1043
899ca90e 10442016-11-18 Richard Sandiford <richard.sandiford@arm.com>
48330c93
BE
1045 Alan Hayward <alan.hayward@arm.com>
1046 David Sherwood <david.sherwood@arm.com>
899ca90e
RS
1047
1048 * lto.c (offload_handle_link_vars): Use SET_DECL_MODE.
1049
65179585
RB
10502016-10-31 Richard Biener <rguenther@suse.de>
1051
1052 PR lto/78129
1053 * lto.c (do_whole_program_analysis): Bail out after errors
1054 from WPA analysis.
1055
8bc5448f
KV
10562016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
1057
1058 * lto-partition.c: Include tree-vrp.h.
1059 * lto.c: Likewise.
1060
68317985
RB
10612016-09-20 Richard Biener <rguenther@suse.de>
1062
1063 * lto.c (lto_main): Call early_finish with "<artificial>" as
1064 filename.
1065
321e76fb
RB
10662016-09-19 Richard Biener <rguenther@suse.de>
1067
1068 * lto.c (lto_main): Invoke early_finish debug hook.
1069
ea6e17d5
RB
10702016-07-25 Richard Biener <rguenther@suse.de>
1071
1072 * lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
1073 (unify_scc): Likewise.
1074 (lto_read_decls): Likewise.
1075
e9ac1f86
JJ
10762016-06-28 Jakub Jelinek <jakub@redhat.com>
1077
1078 * Make-lang.in: Don't cat ../stage_current if it does not exist.
1079
277d7ee0
AK
10802016-06-23 Andi Kleen <ak@linux.intel.com>
1081
1082 * Make-lang.in: Add support for autofdo (disabled for now)
1083
4d926e34
MS
10842016-06-10 Martin Sebor <msebor@redhat.com>
1085
1086 PR c/71392
ab20d992 1087 * lto-lang.c (handle_nonnull_attribute): Accept the nonnull
4d926e34
MS
1088 attribute in type-generic builtins.
1089
479f99c9
JH
10902016-05-16 Jan Hubicka <hubicka@ucw.cz>
1091
1092 * lto-partition.c (add_symbol_to_partition_1): Likewise.
1093
1a0bf5e1
JH
10942016-05-03 Jan Hubicka <hubicka@ucw.cz>
1095
1096 * lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed.
1097
a2e76867
PK
10982016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1099
1100 * lto-partition.h (lto_balanced_map): New parameter.
1101 * lto-partition.c (lto_balanced_map): New parameter
1102 max_partition_size.
1103 Check if partition size is greater than max_partition_size.
1104 * lto.c (do_whole_program_analysis): Adjust calls to
1105 lto_balanced_map() to pass 2nd argument.
1106
ea913779
L
11072016-03-17 H.J. Lu <hongjiu.lu@intel.com>
1108
1109 PR lto/70258
1110 * lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
1111 PIE.
1112
56aae4b7
JJ
11132016-03-08 Jakub Jelinek <jakub@redhat.com>
1114
1115 * lto-symtab.h (lto_symtab_prevail_decl): Fix spelling
1116 - becuase -> because.
1117
ed5d948d
TV
11182016-02-15 Tom de Vries <tom@codesourcery.com>
1119
1120 PR lto/69655
1121 * lto.c (read_cgraph_and_symbols): Call input_offload_tables with
1122 argument.
1123
4ecbadc7
ML
11242016-01-27 Martin Liska <mliska@suse.cz>
1125
1126 * lto-partition.c (add_symbol_to_partition_1): Remove usage
1127 of hsa_summaries.
1128
e49d321f
JH
11292016-01-19 Jan Hubicka <hubicka@ucw.cz>
1130
1131 PR lto/69136
1132 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
1133 decls have no assemblernames.
1134
b2b40051 11352016-01-19 Martin Liska <mliska@suse.cz>
92a285c1 1136 Martin Jambor <mjambor@suse.cz>
b2b40051
MJ
1137
1138 * lto-partition.c: Include "hsa.h"
1139 (add_symbol_to_partition_1): Put hsa implementations into the
1140 same partition as host implementations.
1141
5803bd01
JH
11422016-01-12 Jan Hubicka <hubicka@ucw.cz>
1143
1144 PR lto/69003
1145 * lto-partition.c (rename_statics): Fix pasto.
1146
13092f61
RB
11472016-01-18 Richard Biener <rguenther@suse.de>
1148
1149 PR lto/69337
1150 * lto-symtab.c (lto_symtab_merge): Return early for mismatched
1151 function vs. variable.
1152
3c4e91c9
RB
11532016-01-12 Richard Biener <rguenther@suse.de>
1154
1155 PR lto/69077
1156 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
1157 merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
1158
818ab71a
JJ
11592016-01-04 Jakub Jelinek <jakub@redhat.com>
1160
1161 Update copyright years.
1162
3fddb2ef
JH
11632015-12-10 Jan Hubicka <hubicka@ucw.cz>
1164
1165 PR lto/68878
1166 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
1167 * lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
1168 (lto_symtab_prevailing_decl): Use it.
1169
4a38b02b
IV
11702015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1171
1172 * lto.c: Include stringpool.h and fold-const.h.
1173 (offload_handle_link_vars): New static function.
1174 (lto_main): Call offload_handle_link_vars.
1175
ca834876
JH
11762015-12-10 Jan Hubicka <hubicka@ucw.cz>
1177
1178 * lto.c (lto_read_in_decl_state): Unpickle compressed bit.
1179
958a627f
JH
11802015-12-11 Jan Hubicka <hubicka@ucw.cz>
1181
1182 PR ipa/61886
1183 * lto-symtab.c (lto_symtab_merge_p): Avoid merging across different
1184 values of error and warning attributes.
1185
da20571a
JH
11862015-12-08 Jan Hubicka <hubicka@ucw.cz>
1187
1188 PR lto/68811
1189 * lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
1190 DECL.
1191 (LTO_NO_PREVAIL): Use gcc_checking_assert.
1192
378004b9
JH
11932015-12-08 Jan Hubicka <hubicka@ucw.cz>
1194
1195 PR lto/68811
1196 * lto-symtab.c (lto_symtab_merge_decls_2): Decl can never be prevailed
1197 by itself.
1198
6b9ac179
JH
11992015-12-08 Jan Hubicka <hubicka@ucw.cz>
1200
1201 PR ipa/61886
1202 * lto-symtab.c: Include lto-symtab.h.
1203 (lto_cgraph_replace_node): Do not merge profiles here.
1204 (lto_symtab_merge_p): New function.
1205 (lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
1206 (lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
1207 aliases.
1208 (lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
1209 (lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
1210 * lto.c: Include lto-symtab.h
1211 * lto-symtab.h: New.
1212
41c60c6c
JH
12132015-12-08 Jan Hubicka <hubicka@ucw.cz>
1214
1215 PR ipa/61886
1216 * lto-partition.c (add_symbol_to_partition_1): Transparent aliases
1217 are not part of the definition.
1218 (contained_in_symbol): Likewise.
1219 (promote_symbol): When promoting a symbol also promote all transparent
1220 aliases.
1221 (rename_statics): Weakref needs unique name, too.
1222
71e54687
JH
12232015-12-07 Jan Hubicka <hubicka@ucw.cz>
1224
1225 PR ipa/61886
1226 * lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
1227 rename_statics, rename_statics): Handle transparent aliases.
1228
88636b62
JH
12292015-12-04 Jan Hubicka <hubicka@ucw.cz>
1230
1231 * lto-symtab.c (lto_cgraph_replace_node): Update code computing
1232 merged_comdat.
1233
8c86248e
JH
12342015-12-01 Jan Hubicka <hubicka@ucw.cz>
1235
1236 * lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET.
1237
1ff9ed6f
JH
12382015-11-25 Jan Hubicka <jh@suse.cz>
1239
1240 * lto-lang.c (lto_post_options): Process flag_lto_linker_output.
1241 * lang.opt (lto_linker_output): New enum.
1242 (flinker_output): New flag.
1243
22bea0be
JH
12442015-11-24 Jan Hubicka <hubicka@ucw.cz>
1245
1246 * lto-symtab.c: Include alias.h
1247 (warn_type_compatibility_p): Replace types_compatible_p checks by
1248 TBAA and size checks; set bit 2 if locations are TBAA incompatible.
1249 (lto_symtab_merge): Compare DECL sizes.
1250 (lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
1251
aea50b45
JH
12522015-11-24 Jan Hubicka <hubicka@ucw.cz>
1253
1254 * lto.c (iterative_hash_canonical_type): Recruse for all types
1255 which pass !canonical_type_used_p.
1256 (gimple_register_canonical_type_1): Sanity check we do not compute
1257 canonical type of anything with !canonical_type_used_p.
1258 (gimple_register_canonical_type): Skip all types that are
1259 !canonical_type_used_p
1260
deb3dae6
JH
12612015-11-24 Jan Hubicka <hubicka@ucw.cz>
1262
1263 * lto.c (unify_scc): Use free_node.
1264
f85d2487
JH
12652015-11-21 Jan Hubicka <hubicka@ucw.cz>
1266
1267 * lto.c (iterative_hash_canonical_type): Always recurse for pointers.
1268 (gimple_register_canonical_type_1): Check that pointers do not get
1269 canonical types.
1270 (gimple_register_canonical_type): Do not register pointers.
1271
12722015-11-21 Jan Hubicka <hubicka@ucw.cz>
feb391fc
JH
1273
1274 * lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
1275 flag for types that are not ODR; fix loop walking parameters.
1276
69f293c9
AM
12772015-11-11 Andrew MacLeod <amacleod@redhat.com>
1278
1279 * lto-lang.c: Remove unused header files.
1280 * lto-object.c: Likewise.
1281 * lto-partition.c: Likewise.
1282 * lto-symtab.c: Likewise.
1283 * lto.c: Likewise.
1284
ee45a32d
EB
12852015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1286
1287 * lto.c (compare_tree_sccs_1): Deal with TYPE_REVERSE_STORAGE_ORDER.
1288
0aad0198
RS
12892015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1290
1291 * lto-lang.c: Don't undef DEF_BUILTIN.
1292
2adfab87
AM
12932015-10-29 Andrew MacLeod <amacleod@redhat.com>
1294
1295 * lto-lang.c: Reorder #include's and remove duplicates.
1296 * lto-object.c: Likewise.
1297 * lto-partition.c: Likewise.
1298 * lto-symtab.c: Likewise.
1299 * lto.c: Likewise.
1300
b2b29377
MM
13012015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
1302
1303 * lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
1304 conditionals.
1305 (lto_fixup_state): Likewise.
1306 (do_whole_program_analysis): Use
1307 symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
1308 conditionals.
1309
d9a6bd32
JJ
13102015-10-13 Jakub Jelinek <jakub@redhat.com>
1311
1312 * lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
1313 DEF_FUNCTION_TYPE_11): Define.
1314
9c4eeafc
JH
13152015-10-10 Jan Hubicka <hubicka@ucw.cz>
1316
1317 * lto.c (hash_canonical_type): Honor
1318 type_with_interoperable_signedness.
1319
3e32ee19
NS
13202015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1321
1322 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
1323 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1324
f196d062
RB
13252015-08-31 Richard Biener <rguenther@suse.de>
1326
1327 * lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
1328 * lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
1329 (lto_symtab_prevailing_decl): Do not replace a decl that didn't
1330 participate in merging with something else.
1331
45aee888
RB
13322015-08-31 Richard Biener <rguenther@suse.de>
1333
1334 * lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
1335 test, do not replace a non-builtin with a builtin.
1336 * lto.c (compare_tree_sccs_1): Do not merge things we stream
1337 as builtins vs. non-builtins.
1338
a79683d5
TS
13392015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1340
1341 * lto.h: Remove useless typedefs.
1342
48d859bb
AM
13432015-07-15 Andrew MacLeod <amacleod@redhat.com>
1344
1345 * lto.c: Remove redundant includes.
1346
026c3cfd
AH
13472015-07-12 Aldy Hernandez <aldyh@redhat.com>
1348
1349 * lto-lang.c: Fix double word typos.
1350
9fdcd34e
AM
13512015-07-10 Andrew MacLeod <amacleod@redhat.com>
1352
1353 * lto.c: Include cfghooks.h rather than predict.h.
1354
f51ade33
AM
13552015-07-09 Andrew MacLeod <amacleod@redhat.com>
1356
1357 * lto-lang.c: Adjust includes of target.h, alloc-pool.h and
1358 lto-streamer.h.
1359 * lto-object.c: Likewise.
1360 * lto-partition.c: Likewise.
1361 * lto-symtab.c: Likewise.
1362
1916bcb5
AM
13632015-07-09 Andrew MacLeod <amacleod@redhat.com>
1364
1365 * lto-lang.c: Adjust includes for flags.h changes.
1366
c7131fb2
AM
13672015-07-07 Andrew MacLeod <amacleod@redhat.com>
1368
1369 * lto-lang.c: Adjust includes.
1370 * lto-object.c: Likewise.
1371 * lto-partition.c: Likewise.
1372 * lto-symtab.c: Likewise.
1373 * lto.c: Likewise.
1374
f0889939
AM
13752015-06-25 Andrew MacLeod <amacleod@redhat.com>
1376
1377 * lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
1378 * lto-object.c: Likewise.
1379 * lto-partition.c: Likewise.
1380 * lto-symtab.c: Likewise.
1381 * lto-tree.h: Likewise.
1382 * lto.c: Likewise.
1383
8d67ee55
RS
13842015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1385
1386 * lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
1387 than typed_noop_remove. Remove redudant typedefs.
1388
abb226c9
AM
13892015-06-17 Andrew MacLeod <amacleod@redhat.com>
1390
1391 * lto-lang.c: Do not include input.h, line-map.h or is-a.h.
1392 * lto-object.c: Likewise.
1393 * lto-partition.c: Likewise.
1394 * lto-symtab.c: Likewise.
1395 * lto.c: Likewise.
1396
351d90f4
JH
13972015-06-14 Jan Hubicka <hubicka@ucw.cz>
1398
1399 PR ipa/66181
1400 * lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
1401
44c42705
DD
14022015-06-12 DJ Delorie <dj@redhat.com>
1403
1404 * lto-lang.c (lto_type_for_size): Include intN types.
1405 (lto_type_for_mode): Likewise.
1406
64578d98
JH
14072015-06-08 Jan Hubicka <hubicka@ucw.cz>
1408
1409 * lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
1410
13fdf2e2
AM
14112015-06-08 Andrew MacLeod <amacleod@redhat.com>
1412
1413 * lto-lang.c : Adjust include files.
1414 * lto-object.c : Likewise.
1415 * lto-partition.c : Likewise.
1416 * lto-partition.h : Likewise.
1417 * lto-symtab.c : Likewise.
1418 * lto.c : Likewise.
1419 * lto.h : Likewise.
1420
ccb5ad37
JH
14212015-06-06 Jan Hubicka <hubicka@ucw.cz>
1422
6542950e
JH
1423 PR lto/65378
1424 * lto-symtab.c (warn_type_compatibility_p): Fix call of
1425 odr_or_derived_type_p.
1426 (lto_symtab_merge_decls_2): Update call of warn_types_mismatch.
1427
14282015-06-08 Jan Hubicka <hubicka@ucw.cz>
1429
ccb5ad37
JH
1430 * lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
1431 pointers.
1432
d7438551
AH
14332015-06-05 Aldy Hernandez <aldyh@redhat.com>
1434
1435 * lto-lang.c (lto_write_globals): Remove.
1436 (LANG_HOOKS_WRITE_GLOBALS): Same.
1437
ecb9f223
AM
14382015-06-04 Andrew MacLeod <amacleod@redhat.com>
1439
1440 * lto-lang.c: Adjust includes for restructured coretypes.h.
1441 * lto-object.c: Likewise.
1442 * lto-partition.c: Likewise.
1443 * lto-symtab.c: Likewise.
1444 * lto.c: Likewise.
1445
9cb9b937
JH
14462015-06-04 Jan Hubicka <hubicka@ucw.cz>
1447
1448 * lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.
1449
93e2aa6d
JH
14502015-06-03 Jan Hubicka <hubicka@ucw.cz>
1451
1452 * lto.c (iterative_hash_canonical_type,
1453 gimple_register_canonical_type): only hash main variants of types
1454
faae53f8
ML
14552015-05-27 Martin Liska <mliska@suse.cz>
1456
1457 * lto-partition.c (new_partition): Reset number of symbols.
1458 (add_symbol_to_partition_1): Increment number of symbols.
1459 (undo_partition): Decrement number of symbols.
1460 (lto_balanced_map): Dump number of symbols and insns that
1461 belong to a partition.
1462 * lto-partition.h (struct ltrans_partition_def): Add symbol counter.
1463
b727ba74
JH
14642015-05-22 Jan Hubicka <hubicka@ucw.cz>
1465
1466 * lto.c (hash_canonical_type): Be sure we hash only types that
1467 need alias set.
1468 (gimple_register_canonical_type_1): Do not produce canonical
1469 types for types that do not need alias sets.
1470
1d1218fb
JH
14712015-05-22 Jan Hubicka <hubicka@ucw.cz>
1472
1473 * lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
1474
872d5034
JH
14752015-05-19 Jan Hubicka <hubicka@ucw.cz>
1476
1477 * lto.c (gimple_canonical_types_compatible_p): Move to tree.c
1478
259d29e3
JH
14792015-05-17 Jan Hubicka <hubicka@ucw.cz>
1480
1481 * lto-symtab.c (warn_type_compatibility_p): Break out from ...;
1482 compare ODR types (if available) and function types.
1483 (lto_symtab_merge): ... here; output ODR violation warnings
1484 and call warn_types_mismatch.
1485
b0845a1e
JH
14862015-04-29 Jan Hubicka <hubicka@ucw.cz>
1487
1488 * lto.c (lto_fixup_state): Call verify_type.
1489
67f58944
TS
14902015-04-18 Trevor Saunders <tsaunders@mozilla.com>
1491
b0845a1e 1492 * lto.c: Adjust for hash_table changes.
67f58944 1493
36ceb0e3
JH
14942015-03-27 Jan Hubicka <hubicka@ucw.cz>
1495
1496 * lto.c (lto_read_decls): Move code registering odr types out
1497 of TYPE_CANONICAL conditional and also register polymorphic types.
1498
afd1e7c6
JH
14992015-03-26 Jan Hubicka <hubicka@ucw.cz>
1500
1501 * lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
1502 DECL_ARTIFICAL symbols.
1503
eaeec5ec
JH
15042015-03-26 Jan Hubicka <hubicka@ucw.cz>
1505
1506 PR lto/65536
1507 * lto.c (unify_scc): Revert location cache when unification
1508 suceeded.
1509 (lto_read_decls): Accept location cache after sucess;
1510 apply location cache before calling debug hooks.
1511
1c4db829
JH
15122015-03-10 Jan Hubicka <hubicka@ucw.cz>
1513
1514 * lto.c (read_cgraph_and_symbols): Do not do merging
1515 at ltrans stage.
1516
db847fa8
JJ
15172015-02-26 Jakub Jelinek <jakub@redhat.com>
1518
1519 * lto.c (lto_mode_identity_table): New variable.
1520 (lto_read_decls): Add mode_table argument to the lto_input_block
1521 constructor.
1522 (lto_file_finalize): Initialize mode_table.
1523 (lto_init): Initialize lto_mode_identity_table.
1524
56a9f6bc
TS
15252015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1526
1527 PR libgomp/64625
1528 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1529 Remove macros.
1530 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1531
ebc8f0bb
JH
15322015-02-03 Jan Hubicka <hubicka@ucw.cz>
1533
1534 * lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.
1535
40fecdd6
JM
15362015-01-30 Joseph Myers <joseph@codesourcery.com>
1537
1538 * lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
1539 changed to pass input_location as first argument.
1540
040968a8
JH
15412014-12-11 Jan Hubicka <hubicka@ucw.cz>
1542
1543 * lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
1544
69fe4502
JH
15452014-12-11 Jan Hubicka <hubicka@ucw.cz>
1546
1547 * lto.c (compare_tree_sccs_1): Add comparsion of
1548 DECL_FUNCTION_SPECIFIC_TARGET
1549
41dbbb37
TS
15502015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1551 James Norris <jnorris@codesourcery.com>
1552
1553 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1554 New macros.
1555 * lto.c: Include "gomp-constants.h".
1556
837bac8c
IV
15572015-01-14 Ilya Verbin <ilya.verbin@intel.com>
1558
1559 * lto-partition.c (lto_promote_cross_file_statics): Remove argument
1560 from select_what_to_stream.
1561
1b34e6e2
BS
15622015-01-09 Bernd Schmidt <bernds@codesourcery.com>
1563 Jakub Jelinek <jakub@redhat.com>
1564
1565 PR middle-end/64412
1566 * lto.c (read_cgraph_and_symbols): Set lto_stream_offload_p
1567 if ACCEL_COMPILER.
1568
adfac8df
JJ
15692015-01-09 Michael Collison <michael.collison@linaro.org>
1570
1571 * lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1572 input.h, alias.h, symtab.h, options, fold-const.h,
1573 wide-int.h, and inchash.h due to flattening of tree.h.
1574 * lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1575 input.h, alias.h, symtab.h, fold-const.h,
1576 wide-int.h, and inchash.h due to flattening of tree.h.
1577 * lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1578 input.h, alias.h, symtab.h, options, fold-const.h,
1579 wide-int.h, and inchash.h due to flattening of tree.h.
1580 * lto-partition.c: Ditto.
1581 * lto-symtab.c: Ditto.
1582
5624e564
JJ
15832015-01-05 Jakub Jelinek <jakub@redhat.com>
1584
1585 Update copyright years.
1586
9a1e784a
ML
15872014-12-22 Martin Liska <mliska@suse.cz>
1588
1589 * lto-partition.c (add_symbol_to_partition_1): New inline_summaries
1590 is used.
1591 (undo_partition): Likewise.
1592 (lto_balanced_map): Likewise.
1593
dd912cb8
ML
15942014-12-22 Martin Liska <mliska@suse.cz>
1595
1596 * lto-partition.c: Include of symbol-summary.h is added.
1597 * lto-symtab.c: Likewise.
1598 * lto.c: Likewise.
1599
17e0fc92
JH
16002014-12-11 Jan Hubicka <hubicka@ucw.cz>
1601
1602 PR ipa/61324
1603 * lto.c (read_cgraph_and_symbols): Update call of
1604 remove_unreachable_nodes.
1605 (do_whole_program_analysis): Remove call of
1606 symtab->remove_unreachable_nodes
1607
58dddbd2
TS
16082014-12-08 Trevor Saunders <tsaunders@mozilla.com>
1609
1610 * lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
1611 htab with malloc instead of ggc.
1612
907dadbd
TS
16132014-11-20 Trevor Saunders <tsaunders@mozilla.com>
1614
1615 * lto.c: Replace htab with hash_table.
1616
9c71e9df
TS
16172014-11-20 Trevor Saunders <tsaunders@mozilla.com>
1618
1619 * lto.c (lto_read_in_decl_state): Adjust.
1620 (lto_fixup_state): Likewise.
1621
72a4a8b0
JH
16222014-11-17 Jan Hubicka <hubicka@ucw.cz>
1623
1624 * lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET.
1625
54e774c0
JH
16262014-11-14 Jan Hubicka <hubicka@ucw.cz>
1627
1628 * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
1629
1f6be682
IV
16302014-11-13 Ilya Verbin <ilya.verbin@intel.com>
1631 Bernd Schmidt <bernds@codesourcery.com>
1632 Andrey Turetskiy <andrey.turetskiy@intel.com>
1633 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1634
ab20d992 1635 * lto.c (read_cgraph_and_symbols): Call input_offload_tables.
ec6fe917
IV
1636
16372014-11-13 Ilya Verbin <ilya.verbin@intel.com>
1638 Ilya Tocar <ilya.tocar@intel.com>
1639 Andrey Turetskiy <andrey.turetskiy@intel.com>
1640 Bernd Schmidt <bernds@codesourcery.com>
1641
1f6be682
IV
1642 * lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
1643 LTO_SECTION_NAME_PREFIX.
1644 * lto-partition.c (lto_promote_cross_file_statics): Call
1645 select_what_to_stream.
1646 * lto.c (lto_section_with_id): Use section_name_prefix instead of
1647 LTO_SECTION_NAME_PREFIX.
1648 (read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
1649 being built as an offload compiler.
1650
ef4bddc2
RS
16512014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1652
1653 * lto-lang.c: Remove redundant enum from machine_mode.
1654
c582198b
AM
16552014-10-28 Andrew MacLeod <amacleod@redhat.com>
1656
1657 * lto.c: Adjust include files.
1658 * lto-lang.c: Ditto.
1659 * lto-object.c: Ditto.
1660 * lto-partition.c: Ditto.
1661 * lto-symtab.c: Ditto.
1662
60393bbc
AM
16632014-10-27 Andrew MacLeod <amacleod@redhat.com>
1664
1665 * lto-lang.c: Adjust include files.
1666 * lto-object.c: Ditto.
1667 * lto-partition.c: Ditto.
1668 * lto-symtab.c: Ditto.
1669 * lto.c: Ditto.
1670
957f47e6
DD
16712014-10-16 DJ Delorie <dj@redhat.com>
1672
1673 * lto-object.c (lto_obj_begin_section): In the event that pointer
1674 sizes aren't powers of two, choose a more suitable alignment
1675 than (unsigned)(-1).
1676
78a7c317
DD
16772014-10-14 DJ Delorie <dj@redhat.com>
1678
1679 * lto-lang.c (lto_build_c_type_nodes): Check intN types for
1680 size-type as well.
1681 (lto_init): Initialize all intN types, not just int128.
1682
70261a4f
ML
16832014-10-06 Martin Liska <mliska@suse.cz>
1684
1685 * lto.c (stream_out): ARG_UNUSED added for last argument.
1686
00de328a
AH
16872014-09-24 Aldy Hernandez <aldyh@redhat.com>
1688
1689 * lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
1690 DECL_ABSTRACT_P.
1691
7861b648
AK
16922014-09-23 Andi Kleen <ak@linux.intel.com>
1693
1694 * lto-partition.c (node_cmp): Update comment.
1695 (varpool_node_cmp): Use symtab_node for comparison.
1696 (add_sorted_nodes): New function.
1697 (lto_balanced_map): Change to keep ordered queue
1698 of ordered node. Handle no_reorder attribute.
1699
1ee85ee1
JH
17002014-09-11 Jan Hubicka <hubicka@ucw.cz>
1701
1702 * lto.c (lto_read_decls): Register ODR types.
1703
8605403e
JH
17042014-08-20 Jan Hubicka <hubicka@ucw.cz>
1705
1706 * lto.c (read_cgraph_and_symbols): Fix symtab_remove_unreachable_nodes
1707 call.
1708 (do_whole_program_analysis): Only sanity check that IPA passes cleans up.
1709
56b1f114
JH
17102014-08-14 Jan Hubicka <hubicka@ucw.cz>
1711
1712 * lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.
1713
833f94c0
RB
17142014-08-14 Richard Biener <rguenther@suse.de>
1715
1716 PR lto/62067
1717 * lto-lang.c (def_fn_type): Fix error handling wrt va_end.
1718
207c68cd
RB
17192014-08-08 Richard Biener <rguenther@suse.de>
1720
1721 * lto.c (lto_read_decls): Adjust for lto_input_block changes.
1722
7c581d61
BC
17232014-08-08 Bin Cheng <bin.cheng@arm.com>
1724
1725 PR lto/62032
1726 * lto-lang.c (lto_init): Switch mis-matched arguments.
1727
39c8aaa4
TS
17282014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1729
1730 * lto-partition.c, lto.c: Use hash_map instead of pointer_map.
1731
6e2830c3
TS
17322014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1733
1734 * lto-partition.c, lto-partition.h: Use hash_set instead of
1735 pointer_set.
1736
50de5793
AK
17372014-07-31 Andi Kleen <ak@linux.intel.com>
1738
1739 * lto.c (hash_canonical_type): Use inchash::hash
1740 and use inchash::add_expr.
1741 (iterative_hash_canonical_type): Dito.
1742
f6bcdb5e
RB
17432014-07-30 Richard Biener <rguenther@suse.de>
1744
1745 * lto-streamer.h (lto_write_data): New function.
1746 * langhooks.c (lhd_append_data): Do not free block.
1747 * lto-section-out.c (lto_write_data): New function writing
1748 raw data to the current section.
1749 (lto_write_stream): Adjust for langhook semantic change.
1750 (lto_destroy_simple_output_block): Write header directly.
1751 * lto-opts.c (lto_write_options): Write options directly.
1752 * lto-streamer-out.c (produce_asm): Write heaeder directly.
1753 (lto_output_toplevel_asms): Likewise.
1754 (copy_function_or_variable): Copy data directly.
1755 (write_global_references): Output index table directly.
1756 (lto_output_decl_state_refs): Likewise.
1757 (write_symbol): Write data directly.
1758 (produce_symtab): Adjust.
1759 (produce_asm_for_decls): Output header and refs directly.
1760
56fdfd3e
AK
17612014-07-25 Andi Kleen <ak@linux.intel.com>
1762
1763 * lto.c (hash_canonical_type): Call iterative_hstate_expr.
1764
0bd8bb04
AK
17652014-07-25 Andi Kleen <ak@linux.intel.com>
1766
1767 * lto.c (hash_canonical_type): Convert to inchash.
1768 (iterative_hash_canonical_type): Dito.
1769
6d8eb96b
AK
17702014-07-25 Andi Kleen <ak@linux.intel.com>
1771
1772 * lto.c: Include inchash.h
1773
ad115a3c
JH
17742014-07-14 Jan Hubicka <hubicka@ucw.cz>
1775
1776 * lto.c (mentions_vars_p_decl_non_common): Skip
1777 DECL_ARGUMENT_FLD.
1778 mentions_vars_p_function): Do DECL_ARGUMENTS.
1779 (lto_fixup_prevailing_decls): Update.
1780
917dd9bf
JH
17812014-07-12 Jan Hubicka <hubicka@ucw.cz>
1782
1783 * lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO
1784 timevar
1785 (materialize_cgraph): Do not push GIMPLE_IN timevar.
1786
0b83e688
JH
17872014-07-11 Jan Hubicka <hubicka@ucw.cz>
1788
ab20d992 1789 * lto-partition.c (add_references_to_partition): Use
0b83e688
JH
1790 varpool_ctor_useable_for_folding_p.
1791 * lto.c (lto_read_in_decl_state): Update sanity check.
1792
e55637b7
ML
17932014-07-01 Martin Liska <mliska@suse.cz>
1794
1795 IPA REF alias refactoring
1796 * lto-partition.c (add_symbol_to_partition_1): Usage of
1797 FOR_EACH_ALIAS added.
1798
010f4e27
JH
17992014-06-28 Jan Hubicka <hubicka@ucw.cz>
1800
1801 Revert:
1802 * lto.c (lto_copy_fields_not_streamed): New function.
1803 (compare_tree_sccs_1): Do not compare fields shared in between type
1804 and variant.
1805 (lto_read_decls): Fixup types first before inserting into hash.
1806
b82fe354
AP
18072014-06-28 Andrew Pinski <apinski@cavium.com>
1808
1809 * lto.c (lto_read_decls): Fix comment in comment.
1810
288eeff7
JH
18112014-06-28 Jan Hubicka <hubicka@ucw.cz>
1812
1813 * lto.c (lto_copy_fields_not_streamed): New function.
1814 (compare_tree_sccs_1): Do not compare fields shared in between type
1815 and variant.
1816 (lto_read_decls): Fixup types first before inserting into hash.
1817
e01fa630
ML
18182014-06-25 Martin Liska <mliska@suse.cz>
1819
ab20d992 1820 * lto-partition.c (add_references_to_partition): New IPA REF function
e01fa630
ML
1821 used.
1822 (add_symbol_to_partition_1): Likewise.
1823 (lto_balanced_map): Likewise.
ab20d992 1824 * lto-symtab.c (lto_cgraph_replace_node): Likewise.
e01fa630 1825
aaf8a23e
JH
18262014-06-24 Jan Hubicka <hubicka@ucw.cz>
1827
1828 * lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
1829 (mentions_vars_p_function): ... here.
1830 (compare_tree_sccs_1): Update VINDEX checks.
1831 (lto_fixup_prevailing_decls): Likewise.
1832
1eb68d2d
TS
18332014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1834
1835 * lto.c (canonical_type_hash_cache): Use hash_map instead of
1836 pointer_map.
1837
c203e8a7
TS
18382014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1839
1840 * lto.c: Adjust.
1841
714c800f
JH
18422014-06-20 Jan Hubicka <hubicka@ucw.cz>
1843
1844 * lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.
1845
569b1784
JH
18462014-06-20 Jan Hubicka <hubicka@ucw.cz>
1847
1848 * lto.c (compare_tree_sccs_1): Do not compare priorities.
1849
56363ffd
JH
18502014-06-15 Jan Hubicka <hubicka@ucw.cz>
1851
1852 * lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
1853
e257a17c
JH
18542014-06-10 Jan Hubicka <hubicka@ucw.cz>
1855
1856 * lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
1857 (do_whole_program_analysis): Use verify_symtab.
1858
24d047a3
JH
18592014-06-07 Jan Hubicka <hubicka@ucw.cz>
1860
1861 * lto.c (mentions_vars_p_decl_with_vis, compare_tree_sccs_1,
1862 lto_fixup_prevailing_decls): Skip section names.
1863
9b2b7279
AM
18642014-06-02 Andrew MacLeod <amacleod@redhat.com>
1865
1866 * lto-symtab.c: Include builtins.h.
1867
a9243bfc
RB
18682014-05-26 Richard Biener <rguenther@suse.de>
1869
1870 * lto.c (lto_parse_hex): Use int64_t.
1871 (lto_resolution_read): Likewise.
1872
fd1e9302
JH
18732014-05-23 Jan Hubicka <hubicka@ucw.cz>
1874
1875 * lto.c (read_cgraph_and_symbols): Grow ggc memory after streaming.
1876
aede2c10
JH
18772014-05-23 Jan Hubicka <hubicka@ucw.cz>
1878
1879 * lto-symtab.c (lto_symtab_merge_symbols): Update code setting
1880 symtab pointer.
1881 * lto.c (compare_tree_sccs_1): Do not compare comdat groups.
1882
f6a7cffc
TS
18832014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1884
1885 * lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1886 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1887 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1888
4000360e
BS
18892012-05-22 Bernd Schmidt <bernds@codesourcery.com>
1890
1891 * lto-object.c: Include "lto-section-names.h".
1892 (LTO_SEGMENT_NAME): Don't define.
1893 * lto.c: Include "lto-section-names.h".
1894
b9559136
JH
18952014-05-17 Jan Hubicka <hubicka@ucw.cz>
1896
1897 PR lto/61012
1898 * lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
1899 mixed with variables.
1900
766090c2
TS
19012014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1902
1903 * lto-tree.h: Don't use variable_size gty attribute.
1904 * lto.c (lto_read_in_decl_state): Adjust.
1905 (create_subid_section_table): Likewise.
1906 (lto_flatten_files): Likewise.
1907 (read_cgraph_and_symbols): Likewise.
1908
1d60af08
KZ
19092014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1910 Mike Stump <mikestump@comcast.net>
1911 Richard Sandiford <rdsandiford@googlemail.com>
1912
1913 * lto.c (compare_tree_sccs_1): Use wide-int interfaces.
1914 * lto-lang.c (get_nonnull_operand): Likewise.
1915
22869a37
RB
19162014-04-28 Richard Biener <rguenther@suse.de>
1917
1918 PR middle-end/60092
1919 * lto-lang.c: Define flag_isoc11.
1920
7de90a6c
DM
19212014-04-23 David Malcolm <dmalcolm@redhat.com>
1922
1923 * lto-partition.c (add_references_to_partition): Update for
1924 removal of implicit pointer from the is-a.h API.
1925 (add_symbol_to_partition_1): Likewise.
1926 (contained_in_symbol): Likewise.
1927 (undo_partition): Likewise.
1928 (lto_balanced_map): Likewise.
1929 (promote_symbol): Likewise.
1930 * lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
1931 (lto_symtab_merge_symbols): Likewise.
1932 * lto.c (lto_wpa_write_files): Likewise.
1933
783dab6b
RB
19342014-04-15 Richard Biener <rguenther@suse.de>
1935
1936 * lto.c: Include params.h.
1937 (do_whole_program_analysis): Switch on flag_lto_partition value,
1938 add support for LTO_PARTITION_ONE.
1939 * lto-partition.h (lto_balanced_map): Adjust.
1940 * lto-partition.c (lto_balanced_map): Get number of desired
1941 partitions as argument to support -flto-partition=one.
1942
cb90235d
JH
19432014-04-14 Jan Hubicka <hubicka@ucw.cz>
1944
ab20d992 1945 * lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
cb90235d
JH
1946 tp_first_run.
1947
bbe281da
JH
19482014-03-19 Jan Hubicka <hubicka@ucw.cz>
1949
1950 * lto.c: Include ipa-inline.h
1951 (do_whole_program_analysis): Free inline summary after partitioning.
1952
ce2f49b3
RB
19532014-03-19 Richard Biener <rguenther@suse.de>
1954
1955 PR middle-end/60553
ab20d992 1956 * lto-tree.h (lang_tree_node): For types use TYPE_NEXT_VARIANT
ce2f49b3
RB
1957 instead of TREE_CHAIN as chain_next.
1958
e41106fc
RB
19592014-03-19 Richard Biener <rguenther@suse.de>
1960
1961 * lto.c (lto_wpa_write_files): Move call to
1962 lto_promote_cross_file_statics ...
1963 (do_whole_program_analysis): ... here, into the partitioning
1964 block. Do not ggc_collect after lto_wpa_write_files but
1965 for a last time before it.
1966
15df2655
JJ
19672014-03-19 Jakub Jelinek <jakub@redhat.com>
1968
1969 PR lto/60571
1970 * lto.c (wait_for_child): Define WCONTINUED if not defined to 0.
1971 Fix formatting.
1972
415e2e6b
JJ
19732014-03-18 Jakub Jelinek <jakub@redhat.com>
1974
1975 PR sanitizer/60535
1976 * lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node
1977 and complex_{float,{,long_}double}_type_node.
1978
f42c637e
PM
19792014-03-08 Paulo Matos <paulo@matos-sorge.com>
1980
415e2e6b
JJ
1981 * lto-lang.c (lto_init): Pass flag_short_double to
1982 build_common_tree_nodes.
f42c637e 1983
6dab804d
JH
19842014-02-14 Jan Hubicka <hubicka@ucw.cz>
1985
1986 PR lto/60295
1987 * lto.c (stream_out): Avoid parallel streaming with
1988 -flto=jobserver until we are able to throttle it down
1989 resonably.
1990
39434bce
JH
19912014-02-14 Jan Hubicka <hubicka@ucw.cz>
1992
1993 * lto-partition.c (add_symbol_to_partition_1,
1994 undo_partition, lto_balanced_map): Aliases have no
1995 defined size.
1996 (lto_balanced_map): Do not follow refering variables
1997 if they can be optimized out.
1998
1966fd99
RB
19992014-02-14 Richard Biener <rguenther@suse.de>
2000
2001 PR lto/60179
2002 * lto.c (compare_tree_sccs_1): Do not compare
2003 DECL_FUNCTION_SPECIFIC_TARGET.
2004 (lto_read_decls): Re-build DECL_FUNCTION_SPECIFIC_TARGET.
2005
283416b3
RB
20062014-02-12 Richard Biener <rguenther@suse.de>
2007
2008 PR lto/60060
2009 * lto-lang.c (lto_write_globals): Do not call
2010 wrapup_global_declarations or emit_debug_global_declarations
2011 but emit debug info for non-function scope variables
2012 directly.
2013
b7e85694
JH
20142014-02-06 Jan Hubicka <hubicka@ucw.cz>
2015
2016 * lto.c (unify_scc): Free CONSTRUCTOR_ELTS.
2017
96451279
JH
20182014-02-06 Jan Hubicka <hubicka@ucw.cz>
2019
2020 PR ipa/59469
2021 * lto-partition.c (symbol_class): Move to cgraph.h
2022 (get_symbol_class): Move to symtab.c
2023 (add_references_to_partition, add_symbol_to_partition_1,
2024 lto_max_map, lto_1_to_1_map, lto_balanced_map,
2025 lto_promote_cross_file_statics): Update.
2026
f300e7b8
JH
20272014-02-05 Jan Hubicka <hubicka@ucw.cz>
2028
2029 * lto.c (lto_parallelism): New static var.
2030 (do_stream_out, wait_for_child, stream_out): New static functions.
2031 (lto_wpa_write_files): Add support for parallel streaming.
2032 (do_whole_program_analysis): Set parallelism.
2033 * lang.opt (fwpa): Add parameter.
2034 * lto-lang.c (lto_handle_option): Handle flag_wpa.
2035 (lto_init): Update use of flag_wpa.
2036 * lto-streamer.h (asm_nodes_output): Declare.
2037
f0f91770
RB
20382014-02-05 Richard Biener <rguenther@suse.de>
2039
2040 * lto.h (lto_global_var_decls): Remove.
2041 * lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
2042 (lto_write_globals): Do nothing in WPA stage, gather globals from
2043 the varpool here ...
2044 * lto.c (lto_main): ... not here.
2045 (materialize_cgraph): Do not call rest_of_decl_compilation
2046 on the empty lto_global_var_decls vector.
2047 (lto_global_var_decls): Remove.
2048
d665f8dd
JH
20492014-02-04 Jan Hubicka <hubicka@ucw.cz>
2050
ab20d992 2051 * lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
d665f8dd
JH
2052 needs duplicating, not generic COMDAT.
2053
c39276b8
RB
20542014-02-04 Richard Biener <rguenther@suse.de>
2055
2056 PR lto/59723
2057 * lto.c (mentions_vars_p): Handle NAMELIST_DECL.
2058 (lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.
2059
5f876ae7
JH
20602014-02-04 Jan Hubicka <hubicka@ucw.cz>
2061 Markus Trippelsdorf
2062
2063 PR ipa/59469
2064 * lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
2065 merge force_output and forced_by_abi flags.
2066
b72271b9
BI
20672014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2068
2069 * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
2070 flag_cilkplus.
2071
63124c48
RB
20722014-01-09 Richard Biener <rguenther@suse.de>
2073
2074 * lto.c (gimple_canonical_types_compatible_p): Fix comment.
2075
d05b9920
RB
20762014-01-09 Richard Biener <rguenther@suse.de>
2077
2078 PR lto/45586
2079 * lto.c (hash_canonical_type): Do not hash TREE_ADDRESSABLE,
2080 TYPE_ALIGN, TYPE_RESTRICT or TYPE_REF_CAN_ALIAS_ALL.
2081 (gimple_canonical_types_compatible_p): Do not compare them either.
2082
23a5b65a
RS
20832014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2084
2085 Update copyright years
2086
2c8326a5
OE
20872013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
2088
2089 * lto.c: Remove struct tags when referring to class varpool_node.
2090 * lto-partition.c: Likewise.
2091 * lto-symtab.c: Likewise.
2092
e06f9964
JJ
20932013-11-29 Jakub Jelinek <jakub@redhat.com>
2094 Richard Biener <rguenther@suse.de>
2095
2096 PR lto/59326
2097 * lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
2098
c193f58b
JJ
20992013-11-29 Jakub Jelinek <jakub@redhat.com>
2100
2101 PR lto/59326
2102 * lto.c (mentions_vars_p_omp_clause): New function.
2103 (mentions_vars_p): Call it for OMP_CLAUSE. Remove break;
2104 after return stmts.
2105
2fb9a547
AM
21062013-11-22 Andrew MacLeod <amacleod@redhat.com>
2107
2108 * lto.c: Add required include files from gimple.h.
ab20d992
JJ
2109 * lto-lang.c: Likewise.
2110 * lto-object.c: Likewise.
2111 * lto-partition.c: Likewise.
2112 * lto-symtab.c: Likewise.
2fb9a547 2113
fec39fa6
TS
21142013-11-18 Trevor Saunders <tsaunders@mozilla.com>
2115
2116 * lto-partition.c lto-symtab.c lto.c Adjust.
2117
d8a2d370
DN
21182013-11-14 Diego Novillo <dnovillo@google.com>
2119
2120 * lto-lang.c: Include stringpool.h.
2121 Include stor-layout.h.
2122 * lto-partition.c: Include gcc-symtab.h.
2123 * lto.c: Include stor-layout.h.
2124
5e20cdc9
DM
21252013-10-31 David Malcolm <dmalcolm@redhat.com>
2126
2127 Automated part of renaming of symtab_node_base to symtab_node.
2128
2129 Patch autogenerated by rename_symtab.py from
2130 https://github.com/davidmalcolm/gcc-refactoring-scripts
2131 revision 58bb219cc090b2f4516a9297d868c245495ee622
2132
2133 * lto-partition.c (add_symbol_to_partition): Rename
2134 symtab_node_base to symtab_node.
2135 (get_symbol_class): Likewise.
2136 (symbol_partitioned_p): Likewise.
2137 (add_references_to_partition): Likewise.
2138 (add_symbol_to_partition_1): Likewise.
2139 (contained_in_symbol): Likewise.
2140 (add_symbol_to_partition): Likewise.
2141 (lto_1_to_1_map): Likewise.
2142 (lto_max_map): Likewise.
2143 (lto_balanced_map): Likewise.
2144 (privatize_symbol_name): Likewise.
2145 (promote_symbol): Likewise.
2146 (may_need_named_section_p): Likewise.
2147 (rename_statics): Likewise.
2148 (lto_promote_statics_nonwpa): Likewise.
2149 * lto-symtab.c (lto_symtab_merge): Likewise.
2150 (lto_symtab_resolve_replaceable_p): Likewise.
2151 (lto_symtab_symbol_p): Likewise.
2152 (lto_symtab_resolve_can_prevail_p): Likewise.
2153 (lto_symtab_resolve_symbols): Likewise.
2154 (lto_symtab_merge_decls_2): Likewise.
2155 (lto_symtab_merge_decls_1): Likewise.
2156 (lto_symtab_merge_decls): Likewise.
2157 (lto_symtab_merge_symbols_1): Likewise.
2158 (lto_symtab_merge_symbols): Likewise.
2159 (lto_symtab_prevailing_decl): Likewise.
2160 * lto.c (lto_wpa_write_files): Likewise.
2161 (read_cgraph_and_symbols): Likewise.
2162 (do_whole_program_analysis): Likewise.
2163
378cd6b1
DM
21642013-10-30 David Malcolm <dmalcolm@redhat.com>
2165
2166 * lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
2167 declarations onto multiple lines to make things easier for
2168 rename_symtab.py.
2169 (lto_symtab_merge_decls_1): Likewise.
2170 (lto_symtab_merge_symbols_1): Likewise.
2171
939b37da
BI
21722013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2173
2174 * Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
2175 * lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
2176 Plus is enabled.
2177
67348ccc
DM
21782013-10-29 David Malcolm <dmalcolm@redhat.com>
2179
2180 Patch autogenerated by refactor_symtab.py from
2181 https://github.com/davidmalcolm/gcc-refactoring-scripts
2182 revision 58bb219cc090b2f4516a9297d868c245495ee622
2183
2184 * lto-partition.c (lto_promote_cross_file_statics): Update for
2185 conversion of symtab types to a true class hierarchy.
2186 (rename_statics): Likewise.
2187 (promote_symbol): Likewise.
2188 (privatize_symbol_name): Likewise.
2189 (lto_balanced_map): Likewise.
2190 (varpool_node_cmp): Likewise.
2191 (node_cmp): Likewise.
2192 (lto_1_to_1_map): Likewise.
2193 (undo_partition): Likewise.
2194 (add_symbol_to_partition): Likewise.
2195 (contained_in_symbol): Likewise.
2196 (add_symbol_to_partition_1): Likewise.
2197 (add_references_to_partition): Likewise.
2198 (symbol_partitioned_p): Likewise.
2199 (get_symbol_class): Likewise.
2200 (lto_max_map): Likewise.
2201 * lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
2202 (lto_symtab_merge_symbols): Likewise.
2203 (lto_symtab_merge_symbols_1): Likewise.
2204 (lto_symtab_merge_decls): Likewise.
2205 (lto_symtab_merge_decls_1): Likewise.
2206 (lto_symtab_merge_decls_2): Likewise.
2207 (lto_symtab_resolve_symbols): Likewise.
2208 (lto_symtab_resolve_can_prevail_p): Likewise.
2209 (lto_symtab_symbol_p): Likewise.
2210 (lto_symtab_resolve_replaceable_p): Likewise.
2211 (lto_symtab_merge): Likewise.
2212 (lto_varpool_replace_node): Likewise.
2213 (lto_cgraph_replace_node): Likewise.
2214 * lto.c (lto_main): Likewise.
2215 (do_whole_program_analysis): Likewise.
2216 (materialize_cgraph): Likewise.
2217 (read_cgraph_and_symbols): Likewise.
2218 (cmp_partitions_order): Likewise.
2219 (lto_materialize_function): Likewise.
2220 (has_analyzed_clone_p): Likewise.
2221
8e9055ae
AM
22222013-10-29 Andrew MacLeod <amacleod@redhat.com>
2223
ab20d992
JJ
2224 * lto-object.c: Add gimple.h to include list.
2225 * lto-partition.c: Likewise.
8e9055ae 2226
377d9792
AM
22272013-10-18 Andrew MacLeod <amacleod@redhat.com>
2228
2229 * lto.c: Remove tree-flow.h from include list.
2230
fffda8d7
RB
22312013-10-15 Richard Biener <rguenther@suse.de>
2232
2233 * lto.c (hash_canonical_type): Split out from ...
2234 (iterative_hash_canonical_type): ... here. Register types
2235 we recurse to.
2236 (gimple_canonical_type_hash): Adjust.
2237 (gimple_register_canonical_type_1): Split out from ...
2238 (gimple_register_canonical_type): ... here. Cache computed
2239 hash value.
2240 (lto_register_canonical_types): Split into two modes,
2241 clearing and computing TYPE_CANONICAL.
2242 (lto_read_decls): Adjust.
2243 (read_cgraph_and_symbols): Do two passes over global trees,
2244 first clearing then computing TYPE_CANONICAL.
2245
1394237e
RB
22462013-10-14 Richard Biener <rguenther@suse.de>
2247
2248 * lto.c (gimple_canonical_types): Move out-of GC space.
2249 (canonical_type_hash_cache): Make a pointer-map.
2250 (num_canonical_type_hash_entries, num_canonical_type_hash_queries):
2251 New counters.
2252 (iterative_hash_canonical_type): Adjust.
2253 (read_cgraph_and_symbols): Likewise.
2254 (print_lto_report_1): Likewise.
2255
0a387eca
RB
22562013-10-14 Richard Biener <rguenther@suse.de>
2257
2258 * lto.c (gimple_types, type_hash_cache, struct type_pair_d,
2259 type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
2260 gtc_next_dfs_num, compare_type_names_p, gtc_visit,
2261 gimple_types_compatible_p_1, gimple_types_compatible_p,
2262 visit, iterative_hash_name, struct type_hash_pair,
2263 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
2264 gimple_type_eq, gimple_register_type, num_not_merged_types,
2265 num_not_merged_types_in_same_scc, num_not_merged_types_trees,
2266 num_not_merged_types_in_same_scc_trees): Remove old merging code
2267 and statistics.
2268 (lto_read_decls): Do not run old merging code in parallel.
2269 (read_cgraph_and_symbols): Do not init/free old merging
2270 data structures.
2271 (print_lto_report_1): Do not report differences of old vs. new
2272 merging code.
2273
83fd5d11
RB
22742013-10-14 Richard Biener <rguenther@suse.de>
2275
2276 * lto-lang.c (lto_init): Do not re-init canonical types here.
2277 (lto_register_canonical_types): Move to ...
2278 * lto.c (lto_register_canonical_types): ... here.
2279 (gimple_canonical_types, canonical_type_hash_cache,
2280 iterative_hash_canonical_type, gimple_canonical_type_hash,
2281 gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
2282 gimple_register_canonical_type): Add canonical type merging machinery
2283 moved from gimple.c.
2284 (read_cgraph_and_symbols): Init and free canonical type tables
2285 here.
2286 (print_lto_report_1): Report canonical type table stats here.
2287
acf0174b
JJ
22882013-10-11 Jakub Jelinek <jakub@redhat.com>
2289
2290 * lto-lang.c (DEF_FUNCTION_TYPE_8): Define.
2291
7c6fedd2
TT
22922013-09-25 Tom Tromey <tromey@redhat.com>
2293
2294 * Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
2295 (lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
2296 (lto/lto-object.o): Remove.
2297
35f32ad4
RB
22982013-09-06 Richard Biener <rguenther@suse.de>
2299
2300 * lto-symtab.c: Move from gcc/
2301 * lto.h: Include vec.h.
2302 (lto_global_var_decls): Declare.
2303 * lto.c (lto_global_var_decls): Move definition here.
2304 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
2305 (lto-symtab.o): Add.
2306 * config-lang.in (gtfiles): Add lto.h.
2307
49322b12
JH
23082013-08-31 Jan Hubicka <jh@suse.cz>
2309
ab20d992 2310 * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
49322b12
JH
2311 DECL_FIELD_OFFSET can contain an reference to variable.
2312
31f1f73b
JH
23132013-08-31 Jan Hubicka <jh@suse.cz>
2314
2315 * lto.c (tree_with_vars): Turn into vector.
2316 (MAYBE_REMEMBER_WITH_VARS): Change to...
2317 (CHECK_VAR): ... this one.
2318 (CHECK_NO_VAR): New macro.
2319 (maybe_remember_with_vars_typed): Turn to ...
2320 (mentions_vars_p_typed): ... this one.
2321 (maybe_remember_with_vars_common): Turn to ...
2322 (mentions_vars_p_comon): ... this one.
2323 (maybe_remember_with_vars_decl_minimal): Turn to ...
2324 (mentions_vars_p_decl_minmal): ... this one.
2325 (maybe_remember_with_vars_decl_common): Turn to ...
2326 (mentions_vars_p_decl_common): ... this one.
2327 (maybe_remember_with_vars_decl_with_vis): Turn to ...
2328 (mentions_vars_p_decl_with_vis): ... this one.
2329 (maybe_remember_with_vars_decl_non_common): Turn to ...
2330 (mentions_vars_p_decl_non_common): ... this one.
2331 (maybe_remember_with_vars_function): Turn to ...
2332 (mentions_vars_p_function): ... this one.
2333 (maybe_remember_with_vars_field_decl): Turn to ...
2334 (mentions_vars_p_field_decl): ... this one.
2335 (maybe_remember_with_vars_type): Turn to ...
2336 (mentions_vars_p_type): ... this one.
2337 (maybe_remember_with_vars_binfo): Turn to ...
2338 (mentions_vars_p_binfo): ... this one.
2339 (maybe_remember_with_vars_constructor): Turn to ...
2340 (mentions_vars_p_constructor): ... this one.
2341 (maybe_remember_with_vars_expr): Turn to ...
2342 (mentions_vars_p_expr): ... this one.
2343 (maybe_remember_with_vars): Turn to ...
2344 (mentions_vars_p): ... this one.
2345 (lto_read_decls): Update.
2346 (LTO_SET_PREVAIL): Do not call function for internal decls.
2347 (lto_fixup_prevailing_decls): Update to match mentions_vars_p;
2348 check that something was updated.
2349 (lto_fixup_state): Do not care about internal decls.
2350 (lto_fixup_decls): Update.
2351 (read_cgraph_and_symbols): Update.
2352
256eefa9
JH
23532013-08-29 Jan Hubicka <jh@suse.cz>
2354
2355 * lto.c (read_cgraph_and_symbols): Free decl states.
2356
0170f33c
JH
23572013-08-29 Jan Hubicka <jh@suse.cz>
2358
2359 * lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
2360 DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
2361 TYPE_FINAL_P.
2362
c01c111b
JH
23632013-08-28 Jan Hubicka <jh@suse.cz>
2364
2365 * lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
2366 DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
2367 (unify_scc): Do checking assert.
2368
6a49f3c9
JH
23692013-08-06 Jan Hubicka <jh@suse.cz>
2370 Martin Liska <marxin.liska@gmail.com>
2371
ab20d992 2372 * lto-partition.c (lto_balanced_map): Always base order on
6a49f3c9
JH
2373 source file order.
2374
a2e2a668
JH
23752013-08-06 Jan Hubicka <jh@suse.cz>
2376
2377 * lto.c (lto_materialize_function): Do not read body anymore.
2378
815effe1
JH
23792013-08-02 Jan Hubicka <jh@suse.cz>
2380
2381 * lto.c (lto_materialize_function): Do not push struct function.
2382 * lto-partition.c (get_symbol_class): Handle abstracts correctly.
2383 (may_need_named_section_p): Even abstract origins may need
2384 named section.
2385
315f8c0e
DM
23862013-07-30 David Malcolm <dmalcolm@redhat.com>
2387
2388 * Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
2389 PASS_MANAGER_H.
2390
2391 * lto.c (do_whole_program_analysis): Update for move of
2392 all_regular_ipa_passes from a global to a field of class
2393 pass_manager.
2394
1aa95df7
OB
23952013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2396
2397 * lto-partition.c: Fix typos.
2398
c525ba9a
JH
23992013-06-20 Jan Hubicka <jh@suse.cz>
2400
2401 * lto-partition.c (lto_balanced_map): Fix -fno-toplevel-reorder
2402 partitioning of variables.
2403
7a89ad00
JH
24042013-06-20 Jan Hubicka <jh@suse.cz>
2405
2406 * lto.c (read_cgraph_and_symbols): Set cgraph state.
2407
6a6dac52
JH
24082013-06-19 Jan Hubicka <jh@suse.cz>
2409
2410 * lto-partition.c (add_references_to_partition): Use
2411 ctor_for_folding.
2412
ac0511f2
RB
24132013-06-18 Richard Biener <rguenther@suse.de>
2414
2415 * lto.c (lto_register_var_decl_in_symtab): Pass in cache index
2416 and use it.
2417 (lto_register_function_decl_in_symtab): Likewise.
2418 (cmp_tree): New function.
2419 (unify_scc): Instead of using the streamer cache map from entry
2420 to cache index match up the two maps we have by sorting them.
2421 Adjust calls to lto_register_var_decl_in_symtab and
2422 lto_register_function_decl_in_symtab.
2423
ee03e71d
RB
24242013-06-17 Richard Biener <rguenther@suse.de>
2425
2426 * Make-lang.in (lto.o): Add $(DATA_STREAMER_H) dependency.
2427 * lto.c: Include data-streamer.h.
2428 (lto_read_in_decl_state): Use streamer_tree_cache_get_tree.
2429 (gimple_type_leader_entry_s, gimple_type_leader,
2430 gimple_lookup_type_leader): Remove.
2431 (gtc_visit): Simplify.
2432 (gimple_types_compatible_p): Likewise.
2433 (gimple_register_type_1): Likewise. Merge into ...
2434 (gimple_register_type): ... this. Keep it as legacy for
2435 statistics purposes for now.
2436 (fixup_integer_cst): Remove.
2437 (LTO_FIXUP_TREE, lto_fixup_types, lto_ft_*): Simplify and
2438 rename to ...
2439 (MAYBE_REMEMBER_WITH_VARS, maybe_remember_with_vars,
2440 maybe_remember_with_vars_*): ... these.
2441 (uniquify_nodes): Remove.
2442 (lto_fixup_prevailing_type): New function.
2443 (struct tree_scc, struct tree_scc_hasher): New type and hasher.
2444 (tree_scc_hash, tree_scc_hash_obstack): New globals.
2445 (num_merged_types, num_prevailing_types, num_not_merged_types,
2446 num_not_merged_types_in_same_scc, total_scc_size, num_sccs_read,
2447 total_scc_size_merged, num_sccs_merged, num_scc_compares,
2448 num_scc_compare_collisions): New global counters.
2449 (compare_tree_sccs_1): New function.
2450 (compare_tree_sccs): Likewise.
2451 (unify_scc): Likewise.
2452 (lto_read_decls): Stream in tree SCCs and unify them on the
2453 way in. Finalize prevailing SCC tree members.
2454 (read_cgraph_and_symbols): Do not initialize or free gimple_type_leader.
2455 Allocate and free tree_scc_hash_obstack and tree_scc_hash, do not bother
2456 to ggc-collect during merging.
2457 (print_lto_report_1): Adjust for new merging code.
2458
ca0f62a8
JH
24592013-06-12 Jan Hubicka <jh@suse.cz>
2460
2461 * lto.c (read_cgraph_and_symbols): Set cgraph into streaming state.
2462
bbf9ad07
JH
24632013-06-12 Jan Hubicka <jh@suse.cz>
2464
2465 * lto.c (register_resolution): Take lto_file_data argument.
2466 (lto_register_var_decl_in_symtab,
2467 lto_register_function_decl_in_symtab): Update.
2468 (read_cgraph_and_symbols): Update resolution_map handling.
2469
ecdbd01a 24702013-06-11 Jan Hubicka <jh@suse.cz>
08346abd
JH
2471
2472 * lto-partition.c (get_symbol_class): Simplify weakref handling.
2473 (add_symbol_to_partition_1): Likewise.
2474 (contained_in_symbol): Likewise.
2475 (lto_balanced_map): Likewise.
2476 (rename_statics): Drop weakref.
2477
a367df53
RB
24782013-06-05 Richard Biener <rguenther@suse.de>
2479
2480 * lto.c (num_merged_types): New global variable.
2481 (uniquify_nodes): Increase num_merged_types when merging a type.
2482 (print_lto_report_1): Output the number of merged types.
2483
40a7fe1e
JH
24842013-06-01 Jan Hubicka <jh@suse.cz>
2485
2486 * lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
2487 lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
2488 (do_whole_program_analysis): Update dumping.
2489
e70670cf
JH
24902013-05-29 Jan Hubicka <jh@suse.cz>
2491
2492 * lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
2493 flags.
2494 * lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
2495
8ee05051
JH
24962013-05-15 Jan Hubicka <jh@suse.cz>
2497
2498 * lto-partition.c (privatize_symbol_name): Return true when
2499 privatizing happened.
2500 (rename_statics): Do not go into infinite loop when privatizing
2501 is not needed.
2502
427b248d
JM
25032013-05-16 Jason Merrill <jason@redhat.com>
2504
2505 * Make-lang.in ($(LTO_EXE)): Use link mutex.
2506
9de04252
MJ
25072013-05-15 Martin Jambor <mjambor@suse.cz>
2508
2509 * lto-partition.c (lto_balanced_map): Print symbol order instead
2510 of node uids.
2511
2d6e4603
JH
25122013-05-15 Jan Hubicka <jh@suse.cz>
2513
2514 PR lto/57038
2515 PR lto/47375
2516 * lto-partition.c (get_symbol_class): Fix weakrefs.
2517 (lto_balanced_map): Fix weakrefs.
2518 (privatize_symbol_name): Remove unnecesary label.
2519 (rename_statics): Handle weakrefs as statics.
2520
64cfa6c0
JH
25212013-05-09 Jan Hubicka <jh@suse.cz>
2522 Richard Biener <rguenther@suse.de>
2523
2524 * lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
2525 (lto_register_var_decl_in_symtab): Likewise.
2526 (lto_main): Promote statics.
2527 * lto-partition.c (privatize_symbol_name): New function.
2528 (promote_symbol): Use it.
2529 (may_need_named_section_p): New predicate.
2530 (rename_statics): New functions.
2531 (lto_promote_cross_file_statics): Simplify; do renaming.
2532 (lto_promote_statics_nonwpa): New function.
2533 * lto-partition.h (lto_promote_statics_nonwpa): New function.
2534
e45cde98
RB
25352013-02-08 Richard Biener <rguenther@suse.de>
2536
2537 PR lto/56231
2538 * lto-lang.c (lto_init): Do not enter a dummy file.
2539
6edc3e32
UB
25402013-02-07 Uros Bizjak <ubizjak@gmail.com>
2541
2542 PR bootstrap/56227
2543 * lto.c (lto_resolution_ready): Use %wx instead of
2544 HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
2545
ed73881e
RG
25462013-02-04 Richard Guenther <rguenther@suse.de>
2547
2548 PR lto/56168
2549 * lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
2550 or lto_fixup_decls at LTRANS time.
2551
a19b1432
JH
25522013-01-09 Jan Hubicka <jh@suse.cz>
2553
2554 PR lto/45375
2555 * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.
2556
49c01f87
L
25572012-12-10 H.J. Lu <hongjiu.lu@intel.com>
2558
2559 PR lto/55466
2560 * lto.c (lto_register_var_decl_in_symtab): Don't record static
2561 variables.
2562 (lto_main): Record the global variables if WPA isn't enabled.
2563
6e1aa848
DN
25642012-11-20 Diego Novillo <dnovillo@google.com>
2565 Jakub Jelinek <jakub@redhat.com>
2566
2567 * lto.c: Replace all vec<T, A>() initializers with vNULL.
2568
9771b263
DN
25692012-11-16 Diego Novillo <dnovillo@google.com>
2570
2571 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2572
2573 * lto-lang.c: Use new vec API in vec.h.
2574 * lto-partition.c: Likewise.
2575 * lto-partition.h: Likewise.
2576 * lto.c: Likewise.
2577
24551b9c
LC
25782012-10-31 Lawrence Crowl <crowl@google.com>
2579
2580 * lto.c (lto_wpa_write_files): Change symtab checking to a checked
2581 down-cast via dyn_cast.
2582 * lto-partition.c (add_symbol_to_partition_1): Likewise.
2583 (undo_partition): Likewise.
2584 (lto_balanced_map): Likewise.
2585 (get_symbol_class): Likewise and via is_a.
2586 (lto_balanced_map): Change symtab checking to is_a.
2587
aec06f6f
RB
25882012-10-12 Richard Biener <rguenther@suse.de>
2589
2590 PR lto/54898
2591 * lto.c (gimple_types_compatible_p_1): Also compare
2592 TYPE_MAIN_VARIANT.
2593 (iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.
2594
0b8c30f9
TB
25952012-10-09 Tobias Burnus <burnus@net-b.de>
2596
2597 * lto-lang.c (lto_register_builtin_type): Avoid useless
2598 decl creation.
2599 * lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.
2600
da3202a8
TB
26012012-10-08 Tobias Burnus <burnus@net-b.de>
2602
2603 * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
2604 Free lto_file struct after closing the file.
2605
2512a443
JH
26062012-10-08 Jan Hubicka <jh@suse.cz>
2607
ab20d992 2608 * lto.c (remember_with_vars): Also fixup INTEGER_CST.
2512a443
JH
2609 (fixup_integer_cst): New functoin.
2610 (lto_ft_type): Fixup BASETYPE of methods and offsets.
2611
e75f8f79
JH
26122012-10-07 Jan Hubicka <jh@suse.cz>
2613
2614 * lto.c (read_cgraph_and_symbols): Release type merging hash early;
2615 release input encoders.
2616 * lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
2617
46591697
JH
26182012-10-06 Jan Hubicka <jh@suse.cz>
2619
ab20d992 2620 PR lto/54790
46591697
JH
2621 * lto.c (resolution_map): New static var.
2622 (register_resolution): New function.
2623 (lto_register_var_decl_in_symtab): Use it.
2624 (read_cgraph_and_symbols): Copy resolutions into the symtab.
2625
af16bc76
MJ
26262012-09-20 Martin Jambor <mjambor@suse.cz>
2627
2628 * lto.c (lto_materialize_function): Call push_struct_function and
2629 pop_cfun.
2630
5368224f
DC
26312012-09-19 Dehao Chen <dehao@google.com>
2632
ab20d992 2633 * lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
5368224f 2634
b5493fb2
JH
26352012-09-19 Jan Hubicka <jh@suse.cz>
2636
2637 * lto.c (lto_materialize_function): Update confused comment.
2638 (read_cgraph_and_symbols): Do not free symtab.
2639
c3c445e1
JH
26402012-09-12 Jan Hubicka <jh@suse.cz>
2641
2642 * lto.c (do_whole_program_analysis): Care timevars, statistics and
2643 AUX pointer cleaning. Add max partitioning.
2644 * lto-partition.c (enum symbol_class): New.
2645 (get_symbol_class): New function.
2646 (symbol_partitioned_p): New function.
2647 (add_references_to_partition): Remove.
2648 (add_aliases_to_partition): Remove.
2649 (add_cgraph_node_to_partition_1): Remove.
2650 (add_cgraph_node_to_partition): Remove.
2651 (add_symbol_to_partition): New function.
2652 (add_symbol_to_partition_1): New function.
2653 (contained_in_symbol): New function.
2654 (partition_cgraph_node_p): Remove.
2655 (partition_varpool_node_p): Remove.
2656 (partition_symbol_p): Remove.
2657 (lto_1_to_1_map): Cleanup.
2658 (lto_max_map): New.
2659 (lto_balanced_map): Update.
2660 (lto_promote_cross_file_statics): Update.
2661 * lto-partition.h (lto_max_map): Declare.
2662 * timevar.def (TV_WHOPR_PARTITIONING): New timevar.
2663
b5c7cdfb
JH
26642012-09-11 Jan Hubicka <jh@suse.cz>
2665
2666 PR lto/54312
2667 * lto.c (uniquify_nodes): Remove quadratic loop checking if the
2668 type is variant leader.
2669
b29402f0
RG
26702012-09-11 Richard Guenther <rguenther@suse.de>
2671
2672 * lto.c (enum gtc_mode): Remove.
2673 (struct type_pair_d): Adjust.
2674 (lookup_type_pair): Likewise.
2675 (gimple_type_leader): Do not mark as deletable.
2676 (gimple_lookup_type_leader): Adjust.
2677 (gtc_visit): Likewise.
2678 (gimple_types_compatible_p_1): Likewise.
2679 (gimple_types_compatible_p): Likewise.
2680 (gimple_type_hash): Likewise.
2681 (gimple_register_type): Likewise.
2682 (read_cgraph_and_symbols): Manage lifetime of tables
2683 here.
2684
b8f4e58f
RG
26852012-09-11 Richard Guenther <rguenther@suse.de>
2686
2687 * lto.c (gimple_types, type_hash_cache, enum gtc_mode,
2688 struct type_pair_d, lookup_type_pair, struct sccs,
2689 next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
2690 gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
2691 gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
2692 visit, iterative_hash_name, struct type_hash_pair,
2693 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
2694 gimple_type_eq, gimple_register_type_1, gimple_register_type):
2695 Move here from gimple.c
2696 (read_cgraph_and_symbols): Free hash tables here.
2697 (print_lto_report_1): New function wrapping print_lto_report.
2698 (do_whole_program_analysis): Call it.
2699 (lto_main): Likewise.
2700
1cdbb3f9
JH
27012012-09-10 Jan Hubicka <jh@suse.cz>
2702
2703 * lto-partition.c (partition_symbol_p): Forward declare.
2704 (add_references_to_partition): Reimplement using partition_symbol_p.
2705 (add_aliases_to_partition): Break out from add_references_to_partition;
2706 reimplement using partition_symbol_p.
2707 (add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
2708 add sanity checks.
2709 (add_varpool_node_to_partition): Use add_aliases_to_partition.
2710 (partition_varpool_node_p): Do not special case aliases.
2711
b4661bfe
JH
27122012-08-12 Jan Hubicka <jh@suse.cz>
2713
2714 * lto.c (lto_wpa_write_files): Do not delete partition encoder;
2715 it is deleted after streaming.
2716 * lto-partition.c (partition_symbol_p): New function.
2717 (promote_var, promote_fn): Remove.
2718 (promote_symbol): New function.
2719 (lto_promote_cross_file_statics): First compute boundaries; rewrite
2720 to lookup the actual boundaries instead of computing them ad-hoc.
2721
7b99cca4
JH
27222012-08-12 Jan Hubicka <jh@suse.cz>
2723
2724 Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
2725 in partitioning.
2726 * lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
2727 by encoder.
2728 * lto-partition.c (new_partition): Update.
2729 * lto.c (cmp_partitions_order): Update.
2730 (lto_wpa_write_files): Update.
2731 (free_ltrans_partitions): Update.
2732 (add_references_to_partition): Update.
2733 (add_cgraph_node_to_partition_1): Update.
2734 (add_cgraph_node_to_partition): Update.
2735 (add_varpool_node_to_partition): Update.
2736 (undo_partition): Update.
2737 (lto_balanced_map): Update.
2738 (set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
2739 set_referenced_from_this_partition_p): Update.
2740 (lto_promote_cross_file_statics): Update.
2741
f27c1867
JH
27422012-08-12 Jan Hubicka <jh@suse.cz>
2743
2744 * lto-partition.c (set_referenced_from_other_partition_p,
2745 set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
2746 New functions.
2747 (lto_promote_cross_file_statics): Use them.
2748
ab96cc5b
JH
27492012-07-24 Jan Hubicka <jh@suse.cz>
2750
2751 * lto.c (read_cgraph_and_symbols): Use input_symtab.
2752
0229aee9
UB
27532012-07-24 Uros Bizjak <ubizjak@gmail.com>
2754
2755 * lto-tree.h (lang_decl): Add variable_size GTY option.
2756
7ee2468b
SB
27572012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2758
2759 * lto.c: Do not include timevar.h.
2760 * Make-lang.in: Fix dependencies.
2761
a910399d
LC
27622012-06-18 Lawrence Crowl <crowl@google.com>
2763
ab20d992 2764 * lto.c (do_whole_program_analysis): Rename use of TV_PHASE_CGRAPH to
a910399d
LC
2765 TV_PHASE_OPT_GEN. Use new timevar TV_PHASE_STREAM_OUT around the call
2766 to lto_wpa_write_files.
ab20d992 2767 (lto_main): Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Move
a910399d
LC
2768 start of TV_PHASE_OPT_GEN to include call to materialize_cgraph. Use
2769 TV_PHASE_SETUP for the call to lto_init. Use new timevar
2770 TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
2771 Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
2772 to be a front end, but is not one.
2773
877ab5e9
JH
27742012-05-18 Jan Hubicka <jh@suse.cz>
2775
2776 * lto.c (lto_materialize_constructors_and_inits): Remove.
2777 (read_cgraph_and_symbols): Remove handling of alias pairs.
2778
6649df51
JH
27792012-05-17 Jan Hubicka <jh@suse.cz>
2780
2781 * lto-partition.c (add_references_to_partition): Handle external vars.
2782 (partition_varpool_node_p): Likewise.
2783 (lto_promote_cross_file_statics): Do not promote externals.
2784
d1ede5f4
BS
27852012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2786
2787 * lto-lang.c (handle_fnspec_attribute): New static function.
2788 (lto_attribute_table): Add "fn spec".
2789 (DEF_ATTR_STRING): Define and undefine along with the other macros.
2790
0d6bf48c
JH
27912012-05-04 Jan Hubicka <jh@suse.cz>
2792
2793 * lto.c (do_whole_program_analysis): Set timevars correctly.
2794 (lto_main): Likewise.
d1ede5f4 2795
1d67dde8
RB
27962012-05-04 Richard Guenther <rguenther@suse.de>
2797
2798 * lang.opt (fwpa): Do not mark as Optimization.
2799 (fltrans): Likewise.
2800
65d630d4
JH
28012012-04-30 Jan Hubicka <jh@suse.cz>
2802
2803 * lto.c (lto_main): Use compile ().
1d67dde8
RB
2804 * lto-partition.c (partition_cgraph_node_p): Use
2805 symtab_used_from_object_file_p.
65d630d4
JH
2806 (partition_varpool_node_p): Likewise.
2807
ead84f73
JH
28082012-04-20 Jan Hubicka <jh@suse.cz>
2809
2810 * lto-partition.c (partition_cgraph_node_p): Use force_output.
2811
5932a4d4
JH
28122012-04-18 Jan Hubicka <jh@suse.cz>
2813
2814 * lto-partition.c (add_references_to_partition, lto_balanced_map):
2815 Update for new ipa-ref API.
2816
65c70e6b
JH
28172012-04-16 Jan Hubicka <jh@suse.cz>
2818
2819 * lto.c (read_cgraph_and_symbols): Use FOR_EACH
92a285c1 2820 walkers to walk cgraph and varpool.
65c70e6b
JH
2821 (materialize_cgraph): Likewise.
2822 * lto-partition.c (lto_1_to_1_map): Likewise.
2823 (lto_balanced_map): Likewise.
2824 (lto_promote_cross_file_statics): Likewise.
2825
960bfb69
JH
28262012-04-14 Jan Hubicka <jh@suse.cz>
2827
2828 * lto.c: Update field referenced for new cgraph/varpool layout.
2829 * lto-partition.c: Likewise.
2830
a66dc285
JH
28312012-04-11 Jan Hubicka <jh@suse.cz>
2832
2833 * lto.c: Update copyright; remove params.h, ipa-inline.h
2834 and ipa-utils.h inlines; inline lto-partition.h
2835 (ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
2836 add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
2837 add_references_to_partition, add_cgraph_node_to_partition_1,
2838 add_cgraph_node_to_partition, add_varpool_node_to_partition,
2839 undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
2840 lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
2841 promote_var, promote_fn, lto_promote_cross_file_statics): move to...
2842 * lto-partition.c: ... here; new file.
2843 * lto-partition.h: New file.
2844 * Make-lang.in (lto.o): Update dependencies.
2845 (lto-partition.o): New.
2846
f3b249e5
RG
28472012-04-05 Richard Guenther <rguenther@suse.de>
2848
2849 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Remove
2850 definition.
2851
21fa2faf
RG
28522012-03-12 Richard Guenther <rguenther@suse.de>
2853
2854 * lto-lang.c (builtin_type_for_size): Use lto_type_for_size.
2855
6bb485a3
RG
28562012-03-06 Richard Guenther <rguenther@suse.de>
2857
2858 PR lto/52097
2859 * lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.
2860
95510497
RG
28612012-02-28 Richard Guenther <rguenther@suse.de>
2862
2863 PR lto/52400
2864 * lto.c (lto_register_function_decl_in_symtab): Do not register
2865 a reverse renamed decl mapping.
2866
09228fef
JJ
28672012-01-06 Jakub Jelinek <jakub@redhat.com>
2868
2869 PR lto/51774
2870 * lto-lang.c (handle_returns_twice_attribute): New function.
2871 (lto_attribute_table): Add returns_twice attribute.
2872
b03eda0d
RG
28732011-12-21 Richard Guenther <rguenther@suse.de>
2874
2875 * lto.c (GIMPLE_REGISTER_TYPE): New define.
2876 (LTO_FIXUP_TREE): Use it.
2877 (uniquify_nodes): Mark new non-prevailing types and avoid
2878 calling gimple_register_type on others.
2879 (lto_read_decls): Add comment.
2880
4ad9a9de
EB
28812011-12-13 Eric Botcazou <ebotcazou@adacore.com>
2882
2883 * lto.h (lto_parse_hex): Delete.
2884 * lto.c (lto_read_decls): Use 'int' for offsets.
2885 (lto_parse_hex): Make static and return proper 64-bit host type.
2886 (lto_resolution_read): Use proper 64-bit host type.
2887
ea973bad
RG
28882011-12-13 Richard Guenther <rguenther@suse.de>
2889
2890 PR lto/48354
2891 * lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
2892 with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.
2893
c8218030
UB
28942011-12-01 Uros Bizjak <ubizjak@gmail.com>
2895
2896 * lto-lang.c (lto_attribute_table): Handle *tm regparm.
2897 (ignore_attribute): New.
2898
57ac2606
AH
28992011-11-21 Aldy Hernandez <aldyh@redhat.com>
2900
2901 * lto-lang.c (lto_attribute_table): Handle transaction_pure.
2902 (handle_transaction_pure_attribute): New.
2903
52a35ef7
RG
29042011-11-03 Richard Guenther <rguenther@suse.de>
2905
2906 PR lto/44965
2907 * lto-lang.c (lto_post_options): Do not read file options.
2908 * lto.c (lto_read_all_file_options): Remove.
2909 (lto_init): Call lto_set_in_hooks here.
2910
51973b1e
JH
29112011-10-09 Jan Hubicka <jh@suse.cz>
2912
2913 * lto.c (node_cmp, varpool_node_cmp): New functions.
2914 (lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
2915 (cmp_partitions): Rename to ...
2916 (cmp_partitions_size): ... this one.
2917 (cmp_partitions_order): New function.
2918 (lto_wpa_write_files): Sort partitions by order when
2919 -fno-toplevel-reorder is used.
2920
5958009b
AK
29212011-10-09 Andi Kleen <ak@linux.intel.com>
2922
2923 * lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
2924
e79983f4
MM
29252011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2926
2927 * lto-lang.c (def_builtin_1): Delete old interface with two
2928 parallel arrays to hold standard builtin declarations, and replace
2929 it with a function based interface that can support creating
2930 builtins on the fly in the future. Change all uses, and poison
2931 the old names. Make sure 0 is not a legitimate builtin index.
2932
ecdbd01a 29332011-10-02 Andi Kleen <ak@linux.intel.com>
c17d253c
AK
2934
2935 * lto-object.c (lto_obj_add_section_data): Add list.
2936 (lto_obj_add_section): Fill in list.
2937 (ltoobj_build_section_table): Pass through list.
2938 * lto.c (file_data_list): Declare.
2939 (create_subid_section_table): Pass arguments directly.
2940 Fill in list of file_datas.
2941 (lwstate): Delete.
2942 (lto_create_files_from_ids): Pass in direct arguments.
2943 Don't maintain list.
2944 (lto_file_read): Use explicit section and file data lists.
2945 (lto_read_all_file_options): Pass in section_list.
2946 * lto.h (lto_obj_build_section_table): Add list.
2947 (lto_section_slot): Add next.
2948 (lto_section_list): Declare.
2949
ed0d2da0
JH
29502011-10-02 Jan Hubicka <jh@suse.cz>
2951
2952 PR lto/47247
2953 * common.c (lto_resolution_str): Add new resolution.
2954 * common.h (lto_resolution_str): Likewise.
2955
ad7715f3
L
29562011-09-30 H.J. Lu <hongjiu.lu@intel.com>
2957 Andi Kleen <ak@linux.intel.com>
2958
2959 PR lto/50568
2960 * lto.c (lto_splay_tree_delete_id): New.
2961 (lto_splay_tree_compare_ids): Likewise.
2962 (lto_splay_tree_lookup): Likewise.
2963 (lto_splay_tree_id_equal_p): Likewise.
2964 (lto_splay_tree_insert): Likewise.
2965 (lto_splay_tree_new): Likewise.
2966 (lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
2967 Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
2968 (create_subid_section_table): Use lto_splay_tree_lookup and
2969 lto_splay_tree_insert.
2970 (lto_file_read): Use lto_splay_tree_new.
2971
ecdbd01a 29722011-09-26 Andi Kleen <ak@linux.intel.com>
dde8b360
AK
2973
2974 * lto.c (lto_resolution_read): Remove id dumping.
2975 (lto_section_with_id): Turn id HOST_WIDE_ID.
2976 (create_subid_section_table): Dito.
2977
892a371f
DS
29782011-08-28 Dodji Seketeli <dodji@redhat.com>
2979
2980 * lto-lang.c (lto_init): Likewise. Also, avoid calling
2981 linemap_add twice.
2982
f82d1a94
MJ
29832011-08-11 Martin Jambor <mjambor@suse.cz>
2984
2985 * lto.c (uniquify_nodes): Use main variant's BINFO too.
2986
f0efc7aa
DN
29872011-08-08 Diego Novillo <dnovillo@google.com>
2988
2989 * Make-lang.in (lto/lto.o): Add TREE_STREAMER_H.
2990 * lto.c: Include tree-streamer.h.
2991
1a072294
RG
29922011-07-06 Richard Guenther <rguenther@suse.de>
2993
2994 * lto-lang.c (lto_init):
2995 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2996
7496868d
JH
29972011-06-11 Jan Hubicka <jh@suse.cz>
2998
10f13f22 2999 PR lto/48246
7496868d
JH
3000 * lto.c (lto_1_to_1_map): Don't create empty partitions.
3001 (lto_balanced_map): Likewise.
3002
39e2db00
JH
30032011-06-11 Jan Hubicka <jh@suse.cz>
3004
3005 * lto.c (add_cgraph_node_to_partition_1): Break out from ...
3006 (add_cgraph_node_to_partition) ... here; walk aliases.
3007 (lto_1_to_1_map): Remove same body alias code.
3008 (promote_fn): Likewise.
3009 (lto_promote_cross_file_statics): Update comment.
3010
28628ea6
DN
30112011-06-07 Diego Novillo <dnovillo@google.com>
3012
3013 * lto.c (uniquify_nodes): Move code to register decls to
3014 the loop that computes canonical types.
3015
009db074
RG
30162011-06-07 Richard Guenther <rguenther@suse.de>
3017
3018 * lto-lang.c (lto_init): Do not set
3019 size_type_node or call set_sizetype.
3020
47c79d56
DN
30212011-06-04 Diego Novillo <dnovillo@google.com>
3022
3023 * lto.c (lto_init): New.
3024 (lto_main): Call it.
3025
d5828cc7
DN
30262011-06-03 Diego Novillo <dnovillo@google.com>
3027
3028 * lto.c (get_resolution): Move from lto-streamer-in.c.
3029 (lto_register_var_decl_in_symtab): Likewise.
3030 (lto_register_function_decl_in_symtab): Likewise.
3031 (uniquify_nodes): Call lto_register_var_decl and
3032 lto_register_function_decl_in_symtab after reading a new
3033 VAR_DECL or FUNCTION_DECL.
3034
6807da97
RG
30352011-06-01 Richard Guenther <rguenther@suse.de>
3036
3037 * lto-lang.c (lto_register_canonical_types): New function.
3038 (lto_init): Register common nodes with the canonical type machinery.
3039 Do not play tricks with char_type_node.
3040
d74be317
RG
30412011-05-26 Richard Guenther <rguenther@suse.de>
3042
3043 * lto.c (uniquify_nodes): Fix bug in one of the previous changes.
3044
d9f8303f
NF
30452011-05-25 Nathan Froyd <froydnj@codesourcery.com>
3046
3047 * lto.c (lto_ft_typed): New function.
3048 (lto_ft_common): Call it.
3049 (lto_ft_constructor): Likewise.
3050 (lto_ft_expr): Likewise.
3051 (lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
3052 TREE_CHAIN.
3053
fb291a1e
RG
30542011-05-20 Richard Guenther <rguenther@suse.de>
3055
3056 * lto.c (lto_ft_common): Remove pointer-to chain teardown.
3057 (lto_ft_type): Move main-variant and pointer-to chain building ...
3058 (uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
3059 in a separate final loop.
3060
31b3ca64
RG
30612011-05-19 Richard Guenther <rguenther@suse.de>
3062
3063 * lto.c (uniquify_nodes): First register all types before
3064 fixing up the tree SCC.
3065
35d828c5
JH
30662011-05-11 Jan Hubicka <jh@suse.cz>
3067
3068 PR lto/48952
3069 * lto.c (do_whole_program_analysis): Do not register cgraph hooks.
3070
51545682
NF
30712011-05-11 Nathan Froyd <froydnj@codesourcery.com>
3072
3073 * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
3074 location of binfo field.
3075 (lto_fixup_prevailing_decls): Likewise.
3076
8242dd04
NF
30772011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3078
3079 * lto-lang.c (def_fn_type): Don't call build_function_type, call
3080 build_function_type_array or build_varargs_function_type_array
3081 instead.
3082
c99c0026
EB
30832011-05-07 Eric Botcazou <ebotcazou@adacore.com>
3084
3085 * lto-lang.c (global_bindings_p): Return bool.
3086
c47d0034
JH
30872011-05-07 Jan Hubicka <jh@suse.cz>
3088
a9bcb3f0
EB
3089 * lto.c (lto_materialize_function): Use
3090 cgraph_function_with_gimple_body_p.
3091 (add_cgraph_node_to_partition): Do not re-add items to partition;
3092 handle thunks.
c47d0034
JH
3093 (add_varpool_node_to_partition): Do not re-add items to partition.
3094
bb3398ca
JH
30952011-05-03 Jan Hubicka <jh@suse.cz>
3096
3097 * lto.c (free_ltrans_partitions): Fix accidental commit.
3098
1cb1a99f
JH
30992011-05-03 Jan Hubicka <jh@suse.cz>
3100
3101 * lto.c (ltrans_partition_def): Remove GTY annotations.
3102 (ltrans_partitions): Move to heap.
3103 (new_partition): Update.
3104 (free_ltrans_partitions): New function.
3105 (lto_wpa_write_files): Use it.
3106
af8bca3c
MJ
31072011-04-29 Martin Jambor <mjambor@suse.cz>
3108
3109 * lto.c: Include ipa-utils.h.
3110 (lto_balanced_map): Update call to ipa_reverse_postorder.
3111 * Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
3112
b823cdfe
MM
31132011-04-29 Michael Matz <matz@suse.de>
3114
3115 * lto.c (toplevel): Include tree-flow.h.
3116 (lto_read_in_decl_state): Don't merge types here.
3117 (tree_with_vars): New static hash table.
3118 (remember_with_vars): New static functions.
3119 (LTO_FIXUP_TYPE): New macro.
3120 (lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
3121 lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
3122 lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
3123 lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
3124 (lto_read_decls): Uniquify while reading in trees.
3125 (lto_fixup_data_t, LTO_FIXUP_SUBTREE,
3126 LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
3127 lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
3128 lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
3129 lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
3130 lto_fixup_tree): Remove.
3131 (lto_fixup_state): Remove data argument. Use
3132 lto_symtab_prevailing_decl.
3133 (LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
3134 (lto_fixup_prevailing_decls): New function.
3135 (lto_fixup_state_aux): Argument aux is unused.
3136 (lto_fixup_decls): Don't allocate pointer sets, don't use
3137 lto_fixup_tree, use lto_fixup_prevailing_decls.
3138 (read_cgraph_and_symbols): Allocate and remove tree_with_vars.
3139 * Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
3140
b9843260
EB
31412011-04-16 Eric Botcazou <ebotcazou@adacore.com>
3142
3143 * lto.c (lto_balanced_map): Fix typos in head comment.
3144 (lto_promote_cross_file_statics): Fix long lines and remove redundant
3145 test.
3146
e7f23018
JH
31472011-04-16 Jan Hubicka <jh@suse.cz>
3148
3149 * lto.c (lto_balanced_map): Update.
3150
10a5dd5d
JH
31512011-04-14 Jan Hubicka <jh@suse.cz>
3152
3153 * lto.c: Include ipa-inline.h
b9843260
EB
3154 (add_cgraph_node_to_partition, undo_partition): Use inline_summary
3155 accessor.
10a5dd5d
JH
3156 (ipa_node_duplication_hook): Fix declaration.
3157 * Make-lang.in (lto.o): Update dependencies.
3158
81f653d6
NF
31592011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3160
3161 * lto-tree.h (union lang_tree_node): Check for TS_COMMON before
3162 calling TREE_CHAIN.
3163 * lto.c (lto_fixup_common): Likewise.
3164
dcf0c47e
NF
31652011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3166
3167 * lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3168 (handle_type_generic_attribute): Likewise.
3169
e89964e3
MM
31702011-04-03 Michael Matz <matz@suse.de>
3171
3172 * lto.c (lto_materialize_function): Don't read and then discard
3173 sections in WPA mode.
3174 (lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
3175
3176 * lto-lang.c (registered_builtin_fndecls): Remove.
3177 (lto_getdecls): Return NULL_TREE.
3178 (lto_builtin_function): Don't remember in registered_builtin_fndecls.
3179
d2b3fe18
RG
31802011-03-31 Richard Guenther <rguenther@suse.de>
3181
3182 PR lto/48246
3183 * lto.c (lto_wpa_write_files): Disable assert for non-empty
3184 partitions when checking is not enabled.
3185
ba78087b
KT
31862011-03-25 Kai Tietz <ktietz@redhat.com>
3187
3188 * lto.c (lto_resolution_read): Use filename_cmp instead
3189 of strcmp.
3190 (lto_read_section_data): Likewise.
3191
0edf1bb2
JL
31922011-03-25 Jeff Law <law@redhat.com>
3193
ab20d992 3194 * lto-lang.c (def_fn_type): Add missing va_end.
0edf1bb2 3195
62d784f7
KT
31962011-03-21 Kai Tietz <ktietz@redhat.com>
3197
3198 PR target/12171
3199 * lto-lang.c (lto_attribute_table): Adjust table.
3200
62dd9571
JJ
32012011-02-18 Jakub Jelinek <jakub@redhat.com>
3202
3203 PR bootstrap/47807
3204 * Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
3205 of lto-streamer.h.
3206
237d6259
RG
32072011-02-18 Richard Guenther <rguenther@suse.de>
3208
3209 PR lto/47798
3210 * lto-tree.h (lto_global_var_decls): Do not declare here.
3211 * lto-lang.c: Include lto-streamer.h.
3212 * Make-lang.in (lto-lang.o): Adjust dependencies.
3213
8ead2223
KT
32142011-02-10 Kai Tietz <kai.tietz@onevision.com>
3215
3216 PR lto/47241
3217 * lto.c (lto_read_section_data): Free
3218 fd_name in failure case.
3219 For mingw targets don't hash file-descriptor.
3220 (read_cgraph_and_symbols): Close current_lto_file
3221 in failure case.
3222
6e701822
JH
32232011-01-11 Jan Hubicka <jh@suse.cz>
3224
3225 PR lto/45721
3226 PR lto/45375
b9843260
EB
3227 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
3228 are not partitioned.
6e701822 3229
f4da8dce
NF
32302010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3231
3232 * lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
3233 Use prototype_p.
3234
6b7fb143
RG
32352010-12-06 Richard Guenther <rguenther@suse.de>
3236
3237 PR lto/46796
3238 * lto-lang.c (lto_init): Give names to basic types.
3239
c59ffc41
JM
32402010-11-30 Joseph Myers <joseph@codesourcery.com>
3241
3242 * lto-object.c: Don't include toplev.h.
3243 * Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
3244
7c475d11
JM
32452010-11-30 Joseph Myers <joseph@codesourcery.com>
3246
3247 * Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
3248 $(TOPLEV_H).
3249
71f3e391
JM
32502010-11-29 Joseph Myers <joseph@codesourcery.com>
3251
3252 * lto-endian.h: Delete.
3253 * lto-object.c: Don't include "libiberty.h".
3254 (O_BINARY): Don't define.
3255 * lto.c: Don't include "libiberty.h" or <sys/mman.h>.
3256 (O_BINARY): Don't define.
3257
9f1718b0
RG
32582010-11-23 Richard Guenther <rguenther@suse.de>
3259
3260 * lto.c (read_cgraph_and_symbols): Remove newline from diagnostic.
3261
39c4e298
RG
32622010-11-23 Richard Guenther <rguenther@suse.de>
3263
3264 PR lto/46605
3265 * lto.c (read_cgraph_and_symbols): Bail out after errors.
3266
b37421c6
JM
32672010-11-17 Joseph Myers <joseph@codesourcery.com>
3268
3269 * lto.c (lto_main): Take no arguments.
3270 * lto.h (lto_main): Update prototype.
3271
d82f74d3
ILT
32722010-11-16 Ian Lance Taylor <iant@google.com>
3273
3274 * lto-object.c (lto_obj_file_open): Call
3275 simple_object_attributes_merge rather than
3276 simple_object_attributes_compare.
3277
a4d8c676
JM
32782010-11-12 Joseph Myers <joseph@codesourcery.com>
3279
3280 * Make-lang.in (lto/lto.o): Use $(OPTS_H).
3281 * lto-lang.c (lto_handle_option): Take location_t parameter.
3282
d8a07487
JM
32832010-11-10 Joseph Myers <joseph@codesourcery.com>
3284
3285 * lto.c (lto_resolution_read): Start diagnostics with lowercase
3286 letters and remove trailing '.'.
3287 (lto_file_finalize): Start diagnostic with a lowercase letter.
3288
6b3456d1
ILT
32892010-11-02 Ian Lance Taylor <iant@google.com>
3290
3291 * lto-object.c: New file.
3292 * lto-elf.c: Remove file.
3293 * lto-macho.c: Remove file.
3294 * lto-macho.h: Remove file.
3295 * lto-coff.c: Remove file.
3296 * lto-coff.h: Remove file.
3297 * Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
3298 lto/lto-object.o.
3299 ($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
3300 (lto/lto-objfile.o): New target.
3301 (lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
3302 (lto/lto.o): Remove $(LIBIBERTY_H).
3303
030cd86c
JH
33042010-10-22 Jan Hubicka <jh@suse.cz>
3305
3306 * lto.c (add_cgraph_node_to_partition,
3307 add_varpool_node_to_partition): Add debug info.
3308 (lto_1_to_1_map, lto_balanced_map): Do not re-add already
3309 partitioned nodes.
3310 (do_whole_program_analysis): Set function flags before dumping.
3311
4490cae6
RG
33122010-10-22 Richard Guenther <rguenther@suse.de>
3313
3314 * lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
3315 the new gimple_register_canonical_type.
3316
703cdce3
L
33172010-10-20 H.J. Lu <hongjiu.lu@intel.com>
3318
3319 PR bootstrap/45954
3320 * config-lang.in (boot_language): Set to $enable_lto.
3321
1915c739
JJ
33222010-10-18 Jakub Jelinek <jakub@redhat.com>
3323
3324 PR lto/45638
3325 * Make-lang.in (check-lto): New dummy target.
3326
82971de5
EB
33272010-10-14 Eric Botcazou <ebotcazou@adacore.com>
3328
3329 * lto-elf.c (SHN_XINDEX): Define if not already defined.
3330
a75bfaa6
JM
33312010-10-08 Joseph Myers <joseph@codesourcery.com>
3332
3333 * lto-lang.c (lto_init_options): Change to
3334 lto_init_options_struct. Update parameters.
3335 (LANG_HOOKS_INIT_OPTIONS): Don't define.
3336 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
3337
937f7f69
JH
33382010-10-06 Jan Hubicka <jh@suse.cz>
3339
3340 * lto.c (lto_balanced_map): Fix accounting of program size.
3341
2169830c
JH
33422010-10-06 Jan Hubicka <jh@suse.cz>
3343
3344 * lto.c (lto_balanced_map): Do not produce empty partitions.
3345
ecdbd01a 33462010-10-06 Andi Kleen <ak@linux.intel.com>
6e9bd0f8
AK
3347
3348 * lto.c (lto_process_name): Add.
3349 (lto_main): Call lto_process_name.
3350
06ed016f
JH
33512010-10-06 Jan Hubicka <jh@suse.cz>
3352
3353 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
3354 COMDATs required by the linker.
3355
ae718d66
ILT
33562010-10-05 Ian Lance Taylor <iant@google.com>
3357
3358 * lto.c (lto_section_with_id): Make s a const pointer.
3359
852e4bd2
JH
33602010-10-05 Jan Hubicka <jh@suse.cz>
3361
ab20d992 3362 * lto.c: Include params.h.
852e4bd2
JH
3363 (add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
3364 refcounting in aux field.
3365 (undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
3366 New functions.
3367 (lto_1_to_1_map): Simplify.
3368 (lto_balanced_map): New function.
3369 (do_whole_program_analysis): Chose proper partitioning alg.
3370 * Make-lang.in (lto.o): Add dependency on params.h
3371
ecdbd01a 33722010-10-04 Andi Kleen <ak@linux.intel.com>
a90163e9
AK
3373
3374 * Make-lang.in (lto1): Add + to build rule.
3375
ecdbd01a 33762010-10-03 Andi Kleen <ak@linux.intel.com>
f1e92a43
AK
3377
3378 * lto.c (lto_file_finalize): Replace gcc_assert for missing section
92a285c1 3379 with fatal_error.
f1e92a43 3380
0d6e14fd
JH
33812010-09-28 Jan Hubicka <jh@suse.cz>
3382
3383 * lto-lang.c (handle_leaf_attribute): New function.
3384 (lto_attribute_tables): Add leaf.
3385
fb462383
JZ
33862010-09-25 Jie Zhang <jie@codesourcery.com>
3387
3388 * lto.c (lto_read_all_file_options): Start a new line after
3389 printing out file names.
3390
051f8cc6
JH
33912010-09-24 Jan Hubicka <jh@suse.cz>
3392
3393 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
3394
64e0f5ff
JH
33952010-09-20 Jan Hubicka <jh@suse.cz>
3396
3397 PR tree-optimize/45605
3398 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
3399
a929ec3d
GP
34002010-09-18 Gerald Pfeifer <gerald@pfeifer.com>
3401
3402 * lto-elf.c (lto_obj_file_open): Also provide filename when
3403 elf_begin fails.
3404
4c588abf
JH
34052010-09-17 Jan Hubicka <jh@suse.cz>
3406
3407 * lto.c (lto_promote_cross_file_statics): Use const_value_known.
3408
c3224d6f
RG
34092010-09-17 Richard Guenther <rguenther@suse.de>
3410
3411 * lang.opt (flag_wpa): Also enable for the driver.
3412
52b3b3c7
JH
34132010-09-16 Jan Hubicka <jh@suse.cz>
3414
3415 * lto.c (lto_materialize_function): Do not tamper with STATIC and
ab20d992 3416 EXTERNAL flags.
52b3b3c7 3417
969c37b7
LB
34182010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3419
3420 * lto-tree.h (struct lang_type): Add variable_size GTY option.
3421
098a4f50
JH
34222010-09-08 Jan Hubicka <jh@suse.cz>
3423
3424 * lto.c (real_file_count, real_file_decl_data): New static vars.
3425 (read_cgraph_and_symbols): Use it.
3426
0f443ad0
RG
34272010-09-08 Richard Guenther <rguenther@suse.de>
3428
3429 * lto.c (read_cgraph_and_symbols): Collect again after each
3430 file.
3431
ee187353
JH
34322010-09-07 Jan Hubicka <jh@suse.cz>
3433
3434 * lto.c (promote_var, promote_fn): Set DECL_VISIBILITY_SPECIFIED.
3435
b3ec52d0
RG
34362010-09-03 Richard Guenther <rguenther@suse.de>
3437
3438 * lto-elf.c (validate_file): Always error if validation fails.
3439
f1395d4a
JH
34402010-08-20 Jan Hubicka <jh@suse.cz>
3441
3442 * lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
3443 (lto_wpa_write_files): Update comments.
3444
2429bce3
L
34452010-08-20 H.J. Lu <hongjiu.lu@intel.com>
3446
3447 PR bootstrap/45357
3448 * lto.c (lto_materialize_function): Replace has_analyzed_clone
3449 with has_analyzed_clone_p.
3450
e0f967db
JH
34512010-08-20 Jan Hubicka <jh@suse.cz>
3452
3453 * lto.c (has_analyzed_clone_p): New function
3454 (lto_materialize_function): Use callgraph to determine if
3455 body is needed.
3456 (materialize_cgraph): Remove DECL_IS_BUILTIN check.
3457
ac47786e
NF
34582010-08-20 Nathan Froyd <froydnj@codesourcery.com>
3459
3460 * lto.c: Use FOR_EACH_VEC_ELT.
3461
ecdbd01a 34622010-07-27 Andi Kleen <ak@linux.intel.com>
d720b869
AK
3463
3464 * Make-lang.in (lto.o): Add dependency to splay-tree.h
3465
5f20c657
JM
34662010-07-27 Joseph Myers <joseph@codesourcery.com>
3467
3468 * lto-lang.c (lto_handle_option): Update prototype and return
3469 value type. Remove duplicate assignment to result.
3470
7a9bf9a4
JM
34712010-07-27 Joseph Myers <joseph@codesourcery.com>
3472
3473 * lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
3474 New.
3475 (lto_init_options): Update prototype.
3476 (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
3477 Define.
3478
ecdbd01a 34792010-07-10 Andi Kleen <ak@linux.intel.com>
73ce4d1e
AK
3480
3481 PR lto/44992
92a285c1 3482 * lto.c: Include splay-tree.h
73ce4d1e
AK
3483 (lto_resolution_read): Change to walk file_ids tree and parse
3484 extra file_id in resolution file.
3485 (lto_section_with_id): Add.
3486 (create_subid_section_table): Add.
3487 (lwstate): Add.
3488 (lto_create_files_from_ids): Add.
3489 (lto_file_read): Change to handle sub file ids and create list
3490 of file_datas. Add output argument for count.
3491 (get_section_data): Pass file_data to lto_get_section_name.
3492 (lto_flatten_file): Add.
3493 (read_cgraph_and_symbols): Handle linked lists of file_datas.
3494
ecdbd01a 34952010-07-10 Andi Kleen <ak@linux.intel.com>
2994ee14
AK
3496
3497 * lto-coff.c (hash_name, eq_name): Move.
3498 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3499 * lto-elf.c: (hash_name, eq_name): Move.
3500 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3501 * lto-macho.c: (hash_name, eq_name): Move.
3502 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3503 * lto.c: (hash_name, eq_name): Move from lto-*.c
3504 (lto_obj_create_section_hash_table): Add.
3505 (free_with_string): Add.
3506
718f9c0f
MLI
35072010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3508
3509 * lto-coff.c: Include diagnostic-core.h in every file that
3510 includes toplev.h.
3511 * lto-elf.c: Likewise.
3512 * lto-lang.c: Likewise.
3513 * lto-macho.c: Likewise.
3514
1b137837
JJ
35152010-07-07 Jakub Jelinek <jakub@redhat.com>
3516
3517 * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
3518 (validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
3519 objects.
3520
92eb4438
JH
35212010-07-05 Jan Hubicka <jh@suse.cz>
3522
3523 * lto.c (add_cgraph_node_to_partition): Forward declare; walk also
3524 nodes from same comdat group as well as all comdat functions referenced
3525 here.
b9843260
EB
3526 (add_varpool_node_to_partition, add_references_to_partition): New
3527 function.
3528 (lto_1_1_map): Skip COMDAT fnctions/variables; use
3529 add_varpool_node_to_partition; clear aux flags when done.
3530 (lto_promote_cross_file_statics): Do not promote stuff that gets
3531 duplicated to each ltrans.
92eb4438 3532
a05541a9
JH
35332010-07-04 Jan Hubicka <jh@suse.cz>
3534
92a285c1 3535 * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
a05541a9 3536
4a2ac96f
RG
35372010-06-13 Richard Guenther <rguenther@suse.de>
3538
3539 * lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
3540
1d536046
KT
35412010-06-09 Kai Tietz <kai.tietz@onevision.com>
3542
ab20d992 3543 * lto.c (lto_resolution_read): Pre-initialize local variable r.
1d536046
KT
3544 * lto-coff.c (coff_write_object_file): Add braces to if.
3545
a9429e29
LB
35462010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3547
3548 * lto.c (lto_read_in_decl_state): Use typed GC allocation.
3549 (lto_file_read): Likewise.
3550 (new_partition): Likewise.
3551 (read_cgraph_and_symbols): Likewise.
3552
5498f011
JM
35532010-06-07 Joseph Myers <joseph@codesourcery.com>
3554
3555 * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
3556 (lto_handle_option): Don't set flag_signed_char here.
3557
d4c0c9f6
RG
35582010-06-04 Richard Guenther <rguenther@suse.de>
3559
3560 PR lto/41584
3561 * lto.c (lto_1_to_1_map): Use the proper file_data for
3562 varpool nodes.
3563
0a5fa5a1
JH
35642010-05-30 Jan Hubicka <jh@suse.cz>
3565
3566 * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
3567 partitioning decisions.
3568
9eec9488
JH
35692010-05-29 Jan Hubicka <jh@suse.cz>
3570
3571 * lto.c (bitmap vector): Remove.
3572 (lto_cgraph_node_sets, lto_varpool_node_sets): Remove.
3573 (ltrans_partition_def): New structure.
3574 (ltrans_partition): New type and VECtor.
3575 (new_partition): New function.
3576 (add_cgraph_node_to_partition): New function.
3577 (lto_1_to_1_map): Reorganize for partitions.
3578 (lto_add_inline_clones): Remove.
3579 (lto_add_all_inlinees): Remove.
3580 (lto_promote_cross_file_statics): Use partitions.
3581 (cmp_partitions): New function.
3582 (lto_wpa_write_files): Do not call lto_add_all_inlinees;
3583 use partitions; output files sorted by size.
3584
3e097227
SB
35852010-05-29 Steven Bosscher <steven@gcc.gnu.org>
3586
3587 * Make-lang.in: Replace vec.h dependency with VEC_H.
3588
7ca92787
JM
35892010-05-28 Joseph Myers <joseph@codesourcery.com>
3590
3591 * lto-coff.c (coff_errmsg): Remove.
3592 (lto_coff_begin_section_with_type, lto_obj_append_data): Use %m in
3593 errors instead of coff_errmsg (-1).
3594 * lto-macho.c (mach_o_errmsg): Remove.
3595 (lto_obj_begin_section, lto_obj_append_data): Use %m in errors
3596 instead of mach_o_errmsg (-1).
3597 * lto.c (read_cgraph_and_symbols): Use %m in errors instead of
3598 xstrerror (errno).
3599
b5611987
RG
36002010-05-28 Richard Guenther <rguenther@suse.de>
3601
3602 * lto.c (prefix_name_with_star): Removed.
3603 (strip_extension): Likewise.
3604 (get_filename_for_set): Likewise.
3605 (lto_write_ltrans_list): Fold into ...
3606 (lto_wpa_write_files): ... this. Name LTRANS units
3607 by suffixing the ltrans output list filename.
3608 (do_whole_program_analysis): Adjust.
3609
1da2ed5f
JM
36102010-05-27 Joseph Myers <joseph@codesourcery.com>
3611
3612 * lto.c: Include diagnostic-core.h instead of diagnostic.h.
3613 (read_cgraph_and_symbols, lto_main): Use seen_error.
3614 * Make-lang.in (lto/lto.o): Update dependencies.
3615
7951d88a
EB
36162010-05-27 Eric Botcazou <ebotcazou@adacore.com>
3617
3618 PR lto/44230
3619 * lto.h (lto_eh_personality): New prototype.
3620 * lto.c: Include debug.h.
3621 (first_personality_decl): New static variable.
3622 (lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
3623 first function for which it is non-null.
3624 (lto_eh_personality_decl): New static variable.
3625 (lto_eh_personality): New function.
3626 * lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
3627 * Make-lang.in (lto/lto.o): Add dependency on debug.h.
3628
e12da9c2
SB
36292010-05-26 Steven Bosscher <steven@gcc.gnu.org>
3630
3631 * lto-lang.c: Do not include expr.h.
3632
468194f4
RG
36332010-05-24 Richard Guenther <rguenther@suse.de>
3634
3635 * lto-elf.c (lto_obj_build_section_table): Work around
3636 FreeBSD libelf issue.
3637
bd9eb5da
RG
36382010-05-22 Richard Guenther <rguenther@suse.de>
3639
3640 * lto.c (read_cgraph_and_symbols): Do not collect.
3641
66576e1b
JH
36422010-05-20 Jan Hubicka <jh@suse.cz>
3643
3644 * lto.c (promote_var, promote_fn): New functions.
3645 (lto_promote_cross_file_statics): Compute correctly boundary including
3646 static initializers of readonly vars.
3647
36576655
JH
36482010-05-18 Jan Hubicka <jh@suse.cz>
3649
66576e1b 3650 * lto.c (lto_1_to_1_map): Partition non-inline clones.
36576655
JH
3651 (lto_promote_cross_file_statics): Deal with non-inline clones.
3652
28632d63
JH
36532010-05-18 Jan Hubicka <jh@suse.cz>
3654
3655 * lto.c (lto_materialize_function): Announce function when
3656 reading body; allocate_struct_function only when reading body;
3657 do not finalize local statics; ggc_collect after reading;
3658 do not mark reachable node.
3659 (materialize_cgraph): Do not announce function.
3660
33e42d56
JH
36612010-05-11 Jan Hubicka <jh@suse.cz>
3662
3663 * lto.c (materialize_cgraph): Revert my previous patch.
3664
f6430ea5
KT
36652010-05-11 Kai Tietz <kai.tietz@onevision.com>
3666
3667 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
3668 IMAGE_FILE_MACHINE_AMD64.
3669 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
3670
0a0b07b7
JH
36712010-05-11 Jan Hubicka <jh@suse.cz>
3672
3673 * lto.c (lto_fixup_decls): Remove global var decls freeing here.
3674 (materialize_cgraph): Add it here.
3675
9a809897
JH
36762010-05-11 Jan Hubicka <jh@suse.cz>
3677
3678 * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
3679 vector.
3680
36812010-05-11 Jan Hubicka <jh@suse.cz>
3682
3683 * lto.c (lto_1_to_1_map): Remove some no longer needed checks.
3684 (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
3685 use reachable_from_other_partition_p and
3686 referenced_from_other_partition_p test.
3687
94f64249
KT
36882010-05-11 Kai Tietz <kai.tietz@onevision.com>
3689
3690 * lto-coff.c (validate_file): Add x64-coff support.
3691 * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
3692 (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
3693 * lto-lang.c (lto_build_c_type_nodes): Add check for
3694 'long long unsigned int' for x64-windows.
3695 (lto_init): Likewise.
3696
c082f9f3
SB
36972010-05-07 Steven Bosscher <steven@gcc.gnu.org>
3698
3699 * lto.h (struct lto_file_struct): Document offset member.
3700 * lto-endian.h: New file.
3701 * lto-macho.h: New file.
3702 * lto-macho.c: New file.
3703 * Make-lang.in: Add rule for lto-macho.o.
3704
3f8257db 37052010-05-07 Richard Guenther <rguenther@suse.de>
5cd0e96b
RG
3706
3707 PR lto/43857
3708 PR lto/43371
3709 * lang.opt (fresolution): Change to ...
3710 (fresolution=): ... this.
3711 * lto-lang.c (lto_handle_option): Adjust.
3712
48cf395b
RB
37132010-05-07 Richard Guenther <rguenther@suse.de>
3714
3715 * lto.c (DUMPBASE_SUFFIX): Remove.
3716 (lto_execute_ltrans): Move functionality to lto-wrapper.c.
3717 Rename to ...
3718 (lto_write_ltrans_list): ... only output the list of ltrans files.
3719 (lto_maybe_unlink): Remove.
3720 (do_whole_program_analysis): Do not execute LTRANS phase
3721 from here.
3722
afa83c15
L
37232010-05-06 H.J. Lu <hongjiu.lu@intel.com>
3724
3725 * lto-lang.c (lto_handle_option): Add argument kind.
3726
369451ec
JH
37272010-05-05 Jan Hubicka <jh@suse.cz>
3728
48cf395b
RB
3729 * lto.c (lto_promote_cross_file_statics): Compute boundary based on
3730 refs.
369451ec 3731
2f41ecf5
JH
37322010-05-05 Jan Hubicka <jh@suse.cz>
3733
3734 * lto.c (lto_1_to_1_map): Partition only needed nodes.
3735
ace72c88
JH
37362010-04-30 Jan Hubicka <jh@suse.cz>
3737
b9843260
EB
3738 * lto.c (get_filename_for_set): Look for cgraph node and if none found,
3739 use default name.
ace72c88
JH
3740 (lto_wpa_write_files): Write any non-empty partition.
3741
05575e07
JH
37422010-04-30 Jan Hubicka <jh@suse.cz>
3743
3744 * lto.c: Do not attempt to make constant pool references global.
3745
49ba8180
JH
37462010-04-28 Jan Hubicka <jh@suse.cz>
3747
ab20d992 3748 * lto.c (lto_read_in_decl_state): Use GGC.
49ba8180
JH
3749 (lto_wpa_write_files): Announce what we are writting.
3750 (all_file_decl_data): New.
3751 (read_cgraph_and_symbols): Use GGC; correct timevars.
3752 (do_whole_program_analysis): Collect.
ab20d992 3753 * Make-lang.in (lto.o): Fix dependency.
49ba8180
JH
3754 * Makefile.in (GTFILES): Add lto-streamer.h.
3755 * varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
3756 (varpool_assemble_pending_decls): Use VAROUT.
3757 * lto-streamer.h (lto_tree_ref_table): Annotate.
3758 (lto_in_decl_state): Annotate.
3759 (lto_file_decl_data): Annotate.
3760
2942c502
JH
37612010-04-28 Jan Hubicka <jh@suse.cz>
3762
3763 * lto.c (lto_varpool_node_sets): New.
3764 (lto_1_to_1_map): Partition varpool too.
3765 (globalize_context_t, globalize_cross_file_statics,
3766 lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
3767 lto_scan_statics_in_remaining_global_vars): Remove.
3768 (lto_promote_cross_file_statics): Rewrite.
3769 (get_filename_for_set): Take vset argument.
3770 (lto_wpa_write_files): Pass around vsets.
3771
3bec79c5
DK
37722010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
3773
3774 PR lto/42776
3775 * Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
3776 hardcoding 'lto-elf.o'.
3777 ($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.
3778
3779 * lto-coff.h: New file.
3780 * lto-coff.c: Likewise.
3781
21aac880
RG
37822010-04-26 Richard Guenther <rguenther@suse.de>
3783
3784 * lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
3785
2cee0101
DK
37862010-04-26 Dave Korn <dave.korn.cygwin@gmail.com>
3787
3788 * lto.h (lto_elf_file_open): Rename prototype from this ...
3789 (lto_obj_file_open): ... to this.
3790 (lto_elf_file_close): Likewise ...
3791 (lto_obj_file_close): ... and likewise.
3792 (lto_elf_build_section_table): Likewise ...
3793 (lto_obj_build_section_table): ... and likewise.
3794 (lto_elf_begin_section): Likewise ...
3795 (lto_obj_begin_section): ... and likewise.
3796 (lto_elf_append_data): Likewise ...
3797 (lto_obj_append_data): ... and likewise.
3798 (lto_elf_end_section): Likewise ...
3799 (lto_obj_end_section): ... and likewise.
3800 * lto.c (lto_file_read): Update references to the above.
3801 (lto_wpa_write_files): Likewise.
3802 (lto_read_all_file_options): Likewise.
3803 (read_cgraph_and_symbols): Likewise.
3804 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
3805 (LANG_HOOKS_APPEND_DATA): Likewise.
3806 (LANG_HOOKS_END_SECTION): Likewise.
3807 * lto-elf.c (lto_elf_file_open): Rename from this ...
3808 (lto_obj_file_open): ... to this, updating any references.
3809 (lto_elf_file_close): Likewise ...
3810 (lto_obj_file_close): ... and likewise.
3811 (lto_elf_build_section_table): Likewise ...
3812 (lto_obj_build_section_table): ... and likewise.
3813 (lto_elf_begin_section): Likewise ...
3814 (lto_obj_begin_section): ... and likewise.
3815 (lto_elf_append_data): Likewise ...
3816 (lto_obj_append_data): ... and likewise.
3817 (lto_elf_end_section): Likewise ...
3818 (lto_obj_end_section): ... and likewise.
3819
bc58d7e1
JH
38202010-04-21 Jan Hubicka <jh@suse.cz>
3821
3822 * lto.c (lto_fixup_tree): Do not call wpa fixup.
3823 (materialize_cgraph): Likewise.
3824
e792884f
JH
38252010-04-21 Jan Hubicka <jh@suse.cz>
3826
3827 * lto.c (lto_wpa_write_files): Update.
3828 (read_cgraph_and_symbols): Be more verbose.
3829 (materialize_cgraph): Likewise.
3830 (do_whole_program_analysis): Likewise.
3831
c9945504
JH
38322010-04-21 Jan Hubicka <jh@suse.cz>
3833
3834 * lto.c (globalize_cross_file_statics): When function has address taken,
3835 it needs to be public.
3836
a837268b
JH
38372010-04-20 Jan Hubicka <jh@suse.cz>
3838
3839 * lto.c (lto_add_inline_clones): Do not track inlined_decls.
3840 (lto_add_all_inlinees): Likewise.
3841 (lto_wpa_write_files): Likewise.
3842
3b9e5d95
EB
38432010-04-18 Eric Botcazou <ebotcazou@adacore.com>
3844
3845 * lto-lang.c (lto_init): Remove second argument in call to
3846 build_common_tree_nodes.
3847
8ccb78f2
RO
38482010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3849
3850 * lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
3851 function.
3852
2f9b99e6
EB
38532010-03-09 Eric Botcazou <ebotcazou@adacore.com>
3854
3855 PR bootstrap/43276
3856 * lto-elf.c: Define EM_* constants if not already defined.
3857
bef7d288
EB
38582010-03-03 Eric Botcazou <ebotcazou@adacore.com>
3859
3860 * lto-elf.c (is_compatible_architecture): New static function.
3861 (DEFINE_VALIDATE_EHDR): Use it to validate the architecture.
3862
f68df07c
RG
38632010-02-11 Richard Guenther <rguenther@suse.de>
3864
3865 PR driver/43021
3866 * lto-elf.c (lto_elf_file_open): Handle file@offset case more
3867 appropriately.
3868
3cdea2b4
AH
38692010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
3870
3871 * lto.c (O_BINARY): Define.
3872 (lto_read_section_data): Open file in binary mode.
3873 * lto-elf.c (O_BINARY): Define.
ab20d992 3874 (lto_elf_file_open): Open file in binary mode.
3cdea2b4 3875
c59449fa
RG
38762010-01-08 Richard Guenther <rguenther@suse.de>
3877
3878 PR lto/42528
3879 * lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
3880 (lto_init): Do not init char_type_node in a standard way
3881 but according to flag_signed_char.
3882
d7fb0a6d
L
38832010-01-03 H.J. Lu <hongjiu.lu@intel.com>
3884
3885 PR lto/41564
3886 * lto.c (DUMPBASE_SUFFIX): New.
3887 (lto_execute_ltrans): Append a sequence number to -dumpbase
3888 for LTRANS.
3889
78ce4053
L
38902010-01-02 H.J. Lu <hongjiu.lu@intel.com>
3891
3892 PR lto/42580
3893 * lto-elf.c (lto_elf_file_open): Stop if the command line
3894 option file is missing.
3895
2a71eb48
RG
38962009-12-15 Richard Guenther <rguenther@suse.de>
3897
3898 * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
3899 (lto_post_options): Do not disable debuginfo.
3900
a818bca1
DG
39012009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
3902
3903 * Make-lang.in ($(LTO_EXE)): Use $(LINKER).
3904
e7d00517
RG
39052009-12-11 Richard Guenther <rguenther@suse.de>
3906
3907 PR lto/42037
3908 * lto.c (lto_resolution_read): Properly grow the vector.
3909
1ab53893
RG
39102009-12-11 Richard Guenther <rguenther@suse.de>
3911
3912 PR lto/41915
3913 * lto-lang.c (lto_init_options): Initialize flag_complex_method
3914 to the C99 default. Do not set flag_unit_at_a_time.
3915
0f900dfa
JJ
39162009-11-28 Jakub Jelinek <jakub@redhat.com>
3917
3918 * lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
3919 variable.
3920
92fa7608
RAE
39212009-11-19 Rafael Avila de Espindola <espindola@google.com>
3922
3923 PR bootstrap/42096
3924 * lto-elf.c (lto_elf_file_open): Use lto_parse_hex.
3925 * lto.c (lto_parse_hex): New.
3926 (lto_resolution_read): Use lto_parse_hex.
3927 * lto.h (lto_parse_hex): New.
3928
9870fe4f
RAE
39292009-11-17 Rafael Avila de Espindola <espindola@google.com>
3930
3931 * lto-elf.c (lto_file_init): Add offset argument.
3932 (lto_elf_file_open): Record the offset.
3933 * lto.c (lto_resolution_read): Change file_name into a lto_file
3934 argument. Check offsets.
3935 (lto_file_read): Update call to lto_resolution_read.
3936 * lto.h (lto_file_struct): Add the offset field.
3937
1b70729f
RAE
39382009-11-16 Rafael Avila de Espindola <espindola@google.com>
3939
3940 * lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.
3941
0e3776db
JH
39422009-11-14 Jan Hubicka <jh@suse.cz>
3943
3944 * lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
3945
06bd7f56
RAE
39462009-11-12 Rafael Avila de Espindola <espindola@google.com>
3947
3948 * lang.opt (fresolution): Renamed from resolution.
3949 * lto-lang.c (lto_handle_option): Handle new option name.
3950 * lto.c (lto_resolution_read): Add more checks. Discard rest of line.
3951
7e9dc421 39522009-11-04 Richard Guenther <rguenther@suse.de>
92a285c1 3953 Rafael Avila de Espindola <espindola@google.com>
7e9dc421
RG
3954
3955 * lto-elf.c (lto_elf_build_section_table): Add the base offset.
3956 (lto_elf_file_open): Handle offsets in arguments name@offest.
3957
b207f900
RG
39582009-10-30 Richard Guenther <rguenther@suse.de>
3959
3960 PR lto/41858
3961 * lto.c (lto_file_read): Do not set file_data->fd.
3962 (lto_read_section_data): Use a single-entry file-descriptor cache.
3963 Do not check the result of xmalloc.
3964 (free_section_data): Do not use file_data->fd.
3965 (lto_read_all_file_options): Likewise.
3966
2c928155
RG
39672009-10-22 Richard Guenther <rguenther@suse.de>
3968
3969 * lto.c (lto_fixup_jump_functions): Remove.
3970 (lto_fixup_decls): Do not fixup jump functions.
3971 (read_cgraph_and_symbols): Schedule cgraph merging after
3972 summary reading. Schedule type and decl fixup before
3973 summary reading.
3974
f9c91f8a
RB
39752009-10-22 Richard Guenther <rguenther@suse.de>
3976
3977 * lto.c (lto_fixup_data_t): Remove free_list member.
3978 (lto_fixup_tree): Do not insert into free_list.
3979 (free_decl): Remove.
3980 (lto_fixup_decls): Remove free-list handling.
3981
fb3f88cc
JH
39822009-10-22 Jan Hubicka <jh@suse.cz>
3983
3984 * lto.c (lto_fixup_jump_functions): New function.
3985 (lto_fixup_decls): Use it.
3986
35f1e9f4
RG
39872009-10-16 Richard Guenther <rguenther@suse.de>
3988
3989 PR lto/41715
3990 * lto.c (lto_fixup_tree): Revert last change.
3991
200c8750
RG
39922009-10-14 Richard Guenther <rguenther@suse.de>
3993
3994 * lto.c (lto_fixup_tree): In case the prevailing decl is not
3995 compatible with the one we replace wrap it around a
3996 VIEW_CONVERT_EXPR.
3997
b1b07c92
RG
39982009-10-09 Richard Guenther <rguenther@suse.de>
3999
4000 PR lto/41635
4001 PR lto/41636
4002 * lto.c (read_cgraph_and_symbols): Do not assert we can open
4003 a file.
4004 * lto-elf.c (init_shdr##BITS): Fix i18n problems.
4005 (init_ehdr##BITS): Likewise.
4006
3c2e7d45
JM
40072009-10-08 Joseph Myers <joseph@codesourcery.com>
4008
4009 * lto-elf.c (init_shdr##BITS, lto_elf_begin_section_with_type,
4010 init_ehdr##BITS, lto_elf_file_close): Remove trailing "." from
4011 diagnostics.
4012 * lto-lang.c (lto_post_options): Remove trailing "." from
4013 diagnostics.
4014
0d0bfe17
RG
40152009-10-08 Richard Guenther <rguenther@suse.de>
4016
4017 * lto.c (read_cgraph_and_symbols): Free the gimple type merging
4018 hash tables.
4019
4bedf19a
JM
40202009-10-07 Joseph Myers <joseph@codesourcery.com>
4021
4022 * lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
4023
b20996ff
JH
40242009-10-07 Jan Hubicka <jh@suse.cz>
4025
4026 * lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
4027 ltrans stage; explain why this is needed and should not.
4028
1a735925
RG
40292009-10-05 Richard Guenther <rguenther@suse.de>
4030
4031 PR lto/41552
4032 PR lto/41487
4033 * lto.c (lto_read_decls): Do not register deferred decls.
4034 (read_cgraph_and_symbols): Delay symbol and cgraph merging
4035 until after reading the IPA summaries.
4036
d7f09764
DN
40372009-10-02 Rafael Avila de Espindola <espindola@google.com>
4038
4039 * Make-lang.in (lto/lto-lang.o): Don't depend on lto/common.h.
4040 (lto-lang.c): Don't include lto/common.h.
4041
40422009-10-02 Rafael Avila de Espindola <espindola@google.com>
4043
4044 * Make-lang.in (LTO_OBJS): Remove lto/common.o.
4045 (lto/common.o): Remove.
4046 * common.c: Remove.
4047 * common.h (lto_kind_str): Remove.
4048 (lto_visibility_str): Remove.
4049 (lto_resolution_str): Make it static.
4050
40512009-10-01 Diego Novillo <dnovillo@google.com>
4052
4053 * lto.c (lto_read_decls): Add comment.
4054 Call internal_error instead of gcc_assert.
4055 (lto_resolution_read): Likewise.
4056 (lto_add_all_inlinees): Tidy.
4057 * Make-lang.in: Fix copyright boilerplate.
4058 (lto.pdf): New.
4059 (lto.install-pdf): New.
4060 * lto-tree.h: Fix copyright boilerplate.
4061 * lang-specs.h: Likewise.
4062 Remove ".lto" entry from compilers fragment.
4063 * lto-elf.c: Move inclusion of gelf.h after config.h.
4064 Tidy formatting everywhere.
4065 * lto.h: Fix copyright boilerplate.
4066 Tidy formatting everywhere.
4067 * common.c: Likewise.
4068 * config-lang.in: Likewise.
4069 * common.h: Likewise.
4070 * lto-lang.c: Likewise.
4071
40722009-10-01 Richard Guenther <rguenther@suse.de>
4073
4074 * lto.c (lto_read_section_data): Use plain lseek/read.
4075
40762009-10-01 Richard Guenther <rguenther@suse.de>
4077
4078 * lto.c (LTO_MMAP_IO): Define if we can mmap files and
4079 use sysconf to query the system page size.
4080 (lto_file_read): Implement fallback using stdio.
4081 (free_section_data): Likewise.
4082
40832009-09-29 Diego Novillo <dnovillo@google.com>
4084
4085 * lto-lang.c (lto_init): Really fix call to
4086 build_common_builtin_nodes.
4087
40882009-09-29 Diego Novillo <dnovillo@google.com>
4089
4090 * lto-lang.c (lto_init): Fix call to
4091 build_common_builtin_nodes.
4092
40932009-09-29 Richard Guenther <rguenther@suse.de>
4094
4095 PR lto/40754
4096 * lto-elf.c (init_shdr##BITS): Properly specify alignment
4097 in bytes.
4098 (first_data_block): New static variable.
4099 (lto_elf_append_data): Align the first data block in each
4100 section.
4101
41022009-09-28 Diego Novillo <dnovillo@google.com>
4103
4104 * lto-lang.c: Tidy. Remove stale FIXME lto markers.
4105 * lto.c (strip_extension): New.
4106 (get_filename_for_set): Call it. Do not call make_cwd_temp_file.
4107 (lto_execute_ltrans): Tidy.
4108 Do not pass -fwpa nor -fltrans-* to LTRANS.
4109 * opts.c: Tidy formatting and remove stale FIXME lto markers.
4110 * tree.c (need_assembler_name_p): Call
4111 lang_hooks.decls.may_need_assembler_name_p if set.
4112 * varasm.c (default_binds_local_p_1): Remove check for
4113 flag_ltrans.
4114 * varpool.c (decide_is_variable_needed): Do not test for
4115 in_lto_p.
4116
41172009-09-22 Richard Guenther <rguenther@suse.de>
4118
4119 PR lto/39276
4120 * lto.c (lto_execute_ltrans): Perform ltrans phase manually.
4121 * Make-lang.in: Remove ltrans-driver stuff.
4122 * config-lang.in: Likewise.
4123 * lang.opt (fltrans-driver): Remove.
4124 * lto-lang.c (lto_init_options): Remove code initializing
4125 ltrans_driver.
4126 * ltrans-driver: Remove.
4127
41282009-09-21 Diego Novillo <dnovillo@google.com>
4129
4130 * lto-lang.c (lto_define_builtins): Remove superfluous
4131 calls to targetm.init_builtins and build_common_builtin_nodes.
4132 (lto_init): Add targetm.arm_eabi_unwinder as parameter to
4133 build_common_builtin_nodes.
4134 * lto.c (lto_materialize_function): Do nothing if NODE is a
4135 clone.
4136
41372009-09-03 Diego Novillo <dnovillo@google.com>
4138
4139 * lto-elf.c (validate_file): Replace call to
4140 elf_getshstrndx with call to elf_getshdrstrndx.
4141
41422009-08-19 Richard Guenther <rguenther@suse.de>
4143
4144 * lto-lang.c (lto_init): Merge char_type_node with the
4145 appropriately signed variant.
4146
41472009-08-19 Richard Guenther <rguenther@suse.de>
4148
4149 PR lto/41071
4150 * lto.c (lto_fixup_common): Re-build the pointer-to chain part one.
4151 (lto_fixup_type): Re-build the pointer-to chain part two.
4152
41532009-08-19 Richard Guenther <rguenther@suse.de>
4154
4155 PR lto/41071
4156 * lto.c (lto_fixup_type): Re-build the type variant chain.
4157
41582009-08-19 Richard Guenther <rguenther@suse.de>
4159
4160 PR lto/41071
4161 * lto.c (lto_fixup_constructor): New function.
4162 (lto_fixup_tree): Replace all types. Properly fixup
4163 constructors and constants.
4164
41652009-08-14 Richard Guenther <rguenther@suse.de>
4166
4167 * lto.c (read_cgraph_and_symbols): Exchange TREE_CHAIN use
4168 for DECL_LANG_SPECIFIC.
4169
41702009-08-13 Richard Guenther <rguenther@suse.de>
4171
4172 PR lto/41032
4173 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define to NULL.
4174
41752009-07-30 Richard Guenther <rguenther@suse.de>
4176
4177 PR lto/40903
4178 * lto.c (read_cgraph_and_symbols): After fixing up decls choose
4179 the largest decl for output and free TREE_CHAIN for further
4180 use.
4181
41822009-07-24 Diego Novillo <dnovillo@google.com>
4183
4184 * Make-lang.in: Add empty lto.install-plugin target.
4185
41862009-07-13 Diego Novillo <dnovillo@google.com>
4187
4188 * lto.c (lto_fixup_tree): Handle IMPORTED_DECL.
4189
41902009-07-11 Richard Guenther <rguenther@suse.de>
4191
4192 * lto-lang.c (lto_write_globals): Wrapup global decls.
4193
41942009-07-10 Richard Guenther <rguenther@suse.de>
4195
4196 * lto-lang.c (lto_init): Allocate one more location to make
4197 BUILTINS_LOCATION correct.
4198
41992009-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4200
4201 * lto.c (free_section_data): Cast computed_offset to caddr_t.
4202
42032009-07-06 Diego Novillo <dnovillo@google.com>
4204
4205 * lto.c (lto_fixup_type): Fixup TYPE_SIZE and
4206 TYPE_SIZE_UNIT.
4207
42082009-07-06 Diego Novillo <dnovillo@google.com>
4209
4210 * lto.c (preload_common_nodes): Remove.
4211 (lto_read_in_decl_state): Call lto_streamer_cache_get.
4212 (lto_read_decls): Call lto_data_in_create and
4213 lto_data_in_delete.
4214 (free_decl): Do not call ggc_free.
4215 (lto_main): Call lto_init_reader.
4216 * lto-lang.c (lto_type_for_size): Handle intTI_type_node.
4217 (lto_init): Initialize main_identifier_node if needed.
4218 Make ptrdiff_type_node be integer_type_node.
4219
42202009-06-19 Diego Novillo <dnovillo@google.com>
4221
4222 * lto.c: Remove code guarded by #ifdef LTO_STREAM_DEBUGGING.
4223 Remove code guarded by #ifdef GLOBAL_STREAMER_TRACE.
4224 Remove code guarded by #ifdef LOCAL_TRACE.
4225
42262009-06-18 Diego Novillo <dnovillo@google.com>
4227
4228 * lto.c: Update license to GPLv3.
4229 * lto-elf.c: Likewise.
4230 * common.c: Likewise.
4231 * lto-lang.c: Likewise.
4232 * lto.h: Remove superfluous include files. Update all
4233 users.
4234
42352009-06-17 Diego Novillo <dnovillo@google.com>
4236
4237 * lto.c (read_cgraph_and_symbols): Call input_cgraph.
4238
42392009-06-02 Diego Novillo <dnovillo@google.com>
4240
4241 * lto.c (lto_1_to_1_map): Ignore nodes that have not been
4242 read in.
4243 (materialize_cgraph): Only materialize nodes that have a
4244 representation on file.
4245
42462009-06-01 Diego Novillo <dnovillo@google.com>
4247
4248 * lto-lang.c (lto_handle_option): Hanlde OPT_Wabi.
4249
42502009-05-31 Diego Novillo <dnovillo@google.com>
4251
4252 * lto-lang.c (lto_type_for_mode): Handle all the modes
4253 handled in c_common_type_for_mode.
4254
42552009-05-21 Diego Novillo <dnovillo@google.com>
4256
4257 * lto-elf.c: Always include <gelf.h>.
4258 * config-lang.in (target_libs): Remove.
4259 (build_by_default): Set to no.
4260
42612009-05-15 Diego Novillo <dnovillo@google.com>
4262
4263 * lto.c (lto_materialize_function): Assert that DECL is
4264 not a builtin.
4265 (materialize_cgraph): Don't try to materialize builtin
4266 functions.
4267 * lto-section-out.c (write_symbol_vec): Do not write
4268 builtin functions.
4269
42702009-05-13 Diego Novillo <dnovillo@google.com>
4271
4272 * lto-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define.
4273
42742009-05-07 Diego Novillo <dnovillo@google.com>
4275
4276 * lto.c (lto_resolution_read): Add type casts for C++ warnings.
4277 (LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE): Define.
4278 (lto_fixup_type): Call it for TYPE_POINTER_TO,
4279 TYPE_REFERENCE_TO, TYPE_CONTEXT and TYPE_CANONICAL.
4280 (lto_fixup_tree): Call gimple_register_type when *TP is a
4281 type.
4282 (lto_main): Call bitmap_obstack_initialize.
4283
42842009-04-22 Diego Novillo <dnovillo@google.com>
4285
4286 * lto.c (free_section_data): Tidy.
4287 (lto_1_to_1_map): Tidy.
4288 (lto_add_all_inlinees): Tidy.
4289 (prefix_name_with_star): New.
4290 (get_filename_for_set): New.
4291 (lto_wpa_write_files): Call cgraph_node_set_needs_ltrans_p
4292 to determine what cgraph node sets to write.
4293 Call get_filename_for_set to compute temporary file
4294 names.
4295 (lto_execute_ltrans): Do not execute LTRANS on files with
4296 names that start with '*'.
4297 Move logic to execute LTRANS together so that LTRANS is
4298 invoked only if there are any files to compile.
4299 (do_whole_program_analysis): Only remove output files
4300 that do not start with '*'.
4301
43022009-04-06 Diego Novillo <dnovillo@google.com>
4303
4304 * lto-lang.c (lto_post_options): Set flag_excess_precision_cmdline.
4305 * lto.c (read_cgraph_and_symbols): Set cgraph_function_flags_ready.
4306 (lto_add_all_inlinees): Tidy.
4307
43082009-03-26 Diego Novillo <dnovillo@google.com>
4309
4310 * lto.c: Include gimple.h.
4311 (lto_read_in_decl_state): Call gimple_register_type for
4312 every type in every stream.
4313 (lto_fixup_common): Call gimple_register_type if T has a
4314 type.
4315 (do_whole_program_analysis): Call print_lto_report.
4316 (lto_main): Call print_lto_report after cgraph_optimize.
4317 * Make-lang.in (lto.o): Add dependency on GIMPLE_H.
4318
43192009-03-24 Diego Novillo <dnovillo@google.com>
4320
4321 * Make-lang.in (lto-lang.o): Add dependency on TARGET_H and EXPR_H.
4322 (lto.o): Add dependency on GIMPLE_H.
4323
43242009-03-10 Simon Baldwin <simonb@google.com>
4325
4326 * lto.c (lto_read_all_file_options): Close any open file descriptor
4327 contained in file_data before freeing.
4328
43292009-02-24 Rafael Avila de Espindola <espindola@google.com>
4330
4331 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
4332 for a decl in the original bitmap, not a node.
4333 (lto_add_all_inlinees): Remove original nodes that are not needed.
4334 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
4335
43362009-02-24 Diego Novillo <dnovillo@google.com>
4337
4338 * lto.c (lto_materialize_function): Update
4339 lto_stats.num_function_bodies.
4340 (get_section_data): Initialize *LEN to 0.
4341 (lto_1_to_1_map): Update lto_stats.num_cgraph_partitions.
4342 (lto_wpa_write_files): Update lto_stats.num_cgraph_nodes.
4343 Update lto_stats.num_output_files.
4344 (read_cgraph_and_symbols): Update lto_stats.num_input_files.
4345 (materialize_cgraph): Update lto_stats.num_input_cgraph_nodes.
4346 (lto_main): Initialize lto_stats.
4347 If flag_lto_report is set, call print_lto_report.
4348
43492009-02-19 Diego Novillo <dnovillo@google.com>
4350
4351 Revert
4352
4353 2009-02-19 Rafael Avila de Espindola <espindola@google.com>
4354
4355 * lto.c (lto_add_inline_clones): Don't add the
4356 master clone. Check for a decl in the original
4357 bitmap, not a node.
4358 (lto_add_all_inlinees): Remove original nodes
4359 that are not needed.
4360 (lto_scan_statics_in_cgraph_node): Don't care if
4361 the node is the master.
4362 (lto_promote_cross_file_statics): Use a new
4363 context.seen_node_decls for each set
4364
43652009-02-19 Rafael Avila de Espindola <espindola@google.com>
4366
4367 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
4368 for a decl in the original bitmap, not a node.
4369 (lto_add_all_inlinees): Remove original nodes that are not needed.
4370 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
4371 (lto_promote_cross_file_statics): Use a new context.seen_node_decls
4372 for each set
4373
43742009-02-18 Diego Novillo <dnovillo@google.com>
4375
4376 * lto.c (lto_wpa_write_files): Use timers TV_WHOPR_WPA
4377 and TV_WHOPR_WPA_IO.
4378 (lto_execute_ltrans): Use timer TV_WHOPR_WPA_LTRANS_EXEC.
4379 (read_cgraph_and_symbols): Use timer TV_IPA_LTO_DECL_IO.
4380 (materialize_cgraph): Use timer TV_IPA_LTO_GIMPLE_IO.
4381 Use timer TV_WHOPR_WPA or TV_WHOPR_LTRANS or TV_LTO
4382 depending on command line flags.
4383 (do_whole_program_analysis): Use timer TV_WHOPR_WPA.
4384 (lto_main): Remove timer uses.
4385
43862009-02-18 Rafael Avila de Espindola <espindola@google.com>
4387
4388 * lto.c (lto_materialize_function): Don't set DECL_EXTERN to 0.
4389 (lto_wpa_write_files): Update calls to renamed functions.
4390
43912009-02-17 Diego Novillo <dnovillo@google.com>
4392
4393 PR 39203
4394 * lto-lang.c (lto_post_options): Disable -fwhole-program
4395 when running LTRANS.
4396
43972009-02-10 Diego Novillo <dnovillo@google.com>
4398
4399 * lto.c (read_cgraph_and_symbols): Fix comment.
4400
44012009-02-10 Diego Novillo <dnovillo@google.com>
4402
4403 * lto.c (read_cgraph_and_symbols): Read options from all
4404 IL files.
4405
44062009-02-10 Diego Novillo <dnovillo@google.com>
4407
4408 * lto.c (read_cgraph_and_symbols): Factor out of lto_main.
4409 (materialize_cgraph): Likewise.
4410 (do_whole_program_analysis): Likewise.
4411 (lto_main): Call read_cgraph_and_symbols,
4412 materialize_cgraph and do_whole_program_analysis.
4413
44142009-02-10 Simon Baldwin <simonb@google.com>
4415
4416 * lto.c: Include lto-opts.h.
4417 * (lto_main): Clear file options at loop start, read any saved
4418 options from the first file handled, and re-issue options.
4419 * Makefile.in (lto.o): Add dependency on lto-opts.h.
4420
44212009-02-02 Diego Novillo <dnovillo@google.com>
4422
4423 * lto.c (lto_main): Stop LTO_TIMER and use
4424 TV_WHOPR_WPA_LTRANS_EXEC when launching LTRANS.
4425
44262009-01-30 H.J. Lu <hongjiu.lu@intel.com>
4427
4428 PR lto/38995
4429 * lto-elf.c (init_shdr##BITS): Set the sh_addralign field
4430 to POINTER_SIZE.
4431
44322009-01-29 Ramana Radhakrishnan <ramana.r@gmail.com>
4433
ab20d992 4434 * Make-lang.in (LTO_EXE): Link with all
d7f09764
DN
4435 BACKENDLIBS and not only GMPLIBS
4436
44372009-01-28 H.J. Lu <hongjiu.lu@intel.com>
4438
4439 PR bootstrap/38992
4440 * lto-elf.c: Include gelf.h instead of libelf.h.
4441 (lto_elf_file_close): Replace elfx_update_shstrndx with
4442 gelf_getehdr, elf_getscn, gelf_getshdr, gelf_update_shdr and
4443 gelf_update_ehdr.
4444
44452009-01-28 H.J. Lu <hongjiu.lu@intel.com>
4446
4447 PR middle-end/38996
4448 * lto-elf.c (DEFINE_INIT_EHDR): Initialize e_version.
4449
44502009-01-26 Diego Novillo <dnovillo@google.com>
4451
4452 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Update.
4453
44542009-01-26 Diego Novillo <dnovillo@google.com>
4455
4456 * lto-lang.c (lto_types_compatible_p): Move to gimple.c
4457 and rename into gimple_types_compatible_p.
4458
44592009-01-12 Rafael Avila de Espindola <espindola@google.com>
4460
4461 * lto-lang.c (lang_hooks): Remove the const qualifier.
4462
44632009-01-06 Diego Novillo <dnovillo@google.com>
4464
4465 * ltrans-driver: Mark 'all' target as phony.
4466
44672008-12-31 Diego Novillo <dnovillo@google.com>
4468
4469 * ltrans-driver: Execute a NOP action for target 'all'.
4470
44712008-12-19 Diego Novillo <dnovillo@google.com>
4472
4473 * lto.c (lto_1_to_1_map): Tidy.
4474
44752008-12-19 Diego Novillo <dnovillo@google.com>
4476
4477 * lto-elf.c (lto_elf_file_open): When FILENAME cannot
4478 be opened, show its name.
4479 * ltrans-driver: If $verbose is set, do not use parallelism.
4480
44812008-12-17 Rafael Avila de Espindola <espindola@google.com>
4482
4483 * lto.c (lto_fixup_function): New.
4484 (lto_fixup_tree): Call lto_fixup_function.
4485
44862008-12-14 Doug Kwan <dougkwan@google.com>
4487
4488 * lto.c (lto_1_to_1_map): Create a cgraph node set for any global
4489 variables if there is no function.
4490
44912008-12-10 Simon Baldwin <simonb@google.com>
4492
4493 * ltrans-driver: Always run make in silent mode, to avoid make's
4494 trace on stdout interfering with lto-wrapper output.
4495
44962008-12-10 Doug Kwan <dougkwan@google.com>
4497
4498 * lto.c (lto_add_inline_clones): Do not force master clones of
4499 inlined functions already in SET to be static inline.
4500
45012008-12-04 Doug Kwan <dougkwan@google.com>
4502
4503 * lto.c (globalize_context_t): New type to store states in
4504 globalization of cross-file statics.
4505 (globalize_cross_file_statics): New.
4506 (lto_scan_statics_in_ref_table): Walk tree to look for reachable
4507 static decls that need to be fixed up.
4508 (lto_scan_statics_in_cgraph_node): Change call interface to use
4509 a globalize_context_t CONTEXT for all states used.
4510 (lto_scan_statics_in_remaining_global_vars): New.
4511 (lto_promote_cross_file_statics): Use new call interface of
4512 LTO_SCAN_STATICS_IN_CGRAPH_NODE. Handle remaining externally
4513 visible vars in the last set.
4514
45152008-12-03 Diego Novillo <dnovillo@google.com>
4516
4517 * lto.c (lto_fixup_tree): Do not emit an error when
4518 PREVAILING throw but T doesn't.
4519
45202008-12-02 Doug Kwan <dougkwan@google.com>
4521
4522 * lto.c (lto_scan_statics_in_ref_table): New function factored out
4523 from code in ...
4524 (lto_scan_statics_in_cgraph_node): Handle both file-scope static
4525 variables and functions.
4526 (lto_promote_cross_file_statics): Rename bitmaps to SEEN_DECLS
4527 and GLOBAL_DECLS from SEEN_VARS and GLOBAL_VARS.
4528
45292008-11-29 Diego Novillo <dnovillo@google.com>
4530
4531 * lto.c: Include timevar.h.
4532 (lto_materialize_function): Tidy. Add comments.
4533 (lto_wpa_write_files): Tidy.
4534 (lto_execute_ltrans): Tidy.
4535 (lto_main): Add local variable LTO_TIMER. Initialize it
4536 to one of TV_WHOPR_WPA, TV_WHOPR_LTRANS or TV_LTO.
4537 Start and stop the timer.
4538 Tidy comments.
4539 * Make-lang.in (lto.o): Add dependency on timevar.h.
4540 * ltrans-driver: React to -v and -save-temps.
4541 Use simple heuristic to determine how much parallelism to
4542 use when executing make.
4543
45442008-11-12 Doug Kwan <dougkwan@google.com>
4545
4546 * lto.c (lto_bitmap_obstack): Remove var.
4547 (lto_materialize_function): Do nothing instead of marking function
4548 body in file if flag_wpa is true.
4549 (lto_add_all_inlinees): Use bitmap functions in lto-utils.c.
4550 (lto_scan_statics_in_cgraph_node): New function.
4551 (lto_promote_cross_file_statics): Same.
4552 (lto_wpa_write_files): Call lto_promote_cross_file_statics.
4553 Use bitmap functions in lto-utils.c. Remove unsued label OUT.
4554 * Make-lang.in (lto/lto.o): Add lto-utils.h to dependency list.
4555
45562008-11-09 Diego Novillo <dnovillo@google.com>
4557
ab20d992 4558 * lto.c (lto_fixup_tree): Change error message locus
d7f09764
DN
4559 information to include location of mismatching
4560 declaration.
4561 Use TREE_NO_WARNING to avoid repeated messages.
4562 (lto_main): If lto_fixup_decls emitted any errors, exit.
ab20d992 4563 * lto-lang.c: Don't include libfuncs.h and except.h
d7f09764
DN
4564 (lto_init_options): Don't enable exceptions by default.
4565 (lto_eh_runtime_type): Move to lto-function-in.c
4566 (lto_init_eh): Likewise.
4567 (lto_init): Don't call lto_init_eh.
ab20d992 4568 * Make-lang.in (lto-lang.o): Remove dependency on
d7f09764
DN
4569 libfuncs.h and except.h.
4570
45712008-10-30 Diego Novillo <dnovillo@google.com>
4572
4573 * lto.c (lto_read_decls): Declare debug_main only if
4574 LTO_STREAM_DEBUGGING is enabled.
4575
45762008-10-30 Simon Baldwin <simonb@google.com>
4577
4578 * lto.c (lto_wpa_write_files): Create intermediate files with
4579 make_cwd_temp_file().
4580 (lto_maybe_unlink): New. Delete intermediate WPA files unless
4581 WPA_SAVE_LTRANS is set.
4582 (lto_main): Call lto_maybe_unlink() for intermediate WPA files.
4583 * ltrans-driver: Do not strip directory from output files.
4584
45852008-10-29 Doug Kwan <dougkwan@google.com>
4586
4587 * lto.c (free_decl): Call lto_symtab_clear_resolution when freeing
4588 DECL.
4589 * Make-lang.in (LTO_OBJS): Remove lto/lto-symtab.o
4590 (lto/lto-symtab.o): Remove rule.
4591 * lto-tree.h (struct lang_identifier): Remove LTO specific fields.
4592 (struct lang_decl): Remove RESOLUTION and add DUMMY in struct.
4593 (LANG_IDENTIFIER_CAST, LTO_IDENTIFIER_DECL, LTO_DECL_RESOLUTION):
4594 Remove macros.
4595 lto-symtab.c (File): Move up one level.
4596 lto-lang.c (cgraph.h): Remove include.
4597 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
4598 input_cgraph): Move to lto-cgraph.c in gcc directory above.
4599 (LANG_HOOKS_INPUT_CGRAPH): Remove use of macro.
4600
ab20d992 46012008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4602
4603 * lto-function-in.c (get_resolution): Return LDPR_PREEMPTED_IR for
4604 non prevailing weak symbols.
4605
ab20d992 46062008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4607
4608 * lto-lang.c (input_cgraph_1): Iterate over nodes, not cgraph_nodes.
4609
ab20d992 46102008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4611
4612 * lto-lang.c (input_node): Avoid casts from pointers to ints of
4613 different types.
4614
46152008-10-23 Simon Baldwin <simonb@google.com>
4616
4617 * lto-lang.c (input_node): Save the node reference, rather than the
4618 node pointer, in node->inlined_to.
4619 (input_cgraph_1): Convert node references into node pointers.
4620
46212008-10-22 Diego Novillo <dnovillo@google.com>
4622 Rafael Espindola <espindola@google.com>
4623
4624 * lto.c (lto_resolution_read): Tidy.
4625 * lto-symtab.c (lto_symtab_prevailing_decl): Do not
4626 abort if RET is NULL.
4627
46282008-10-22 Doug Kwan <dougkwan@google.com>
4629
4630 * lto.c (lto_fixup_tree): Check for NOTHROW conflict only if
4631 exceptions flag is given.
4632 * lto-lang.c: (lto_init_options) Set default exceptions flag.
4633 (lto_init_eh): Remove exceptions flag initialization.
ab20d992 4634 (lto_init): Only call lto_init_eh if exceptions flag is set.
d7f09764
DN
4635
46362008-10-21 Diego Novillo <dnovillo@google.com>
4637
4638 * lto.c: Tidy some formatting.
4639 * lto.h: Likewise.
4640
46412008-10-21 Simon Baldwin <simonb@google.com>
4642
4643 * lto-symtab.c: (lto_same_type_p): Types cannot be equal if one of
4644 them is NULL (but not the other).
4645
46462008-10-17 Diego Novillo <dnovillo@google.com>
4647
4648 * ltrans-driver: Divert output from make to a temporary file.
4649 Show it if the call to make failed.
4650
46512008-10-15 Diego Novillo <dnovillo@google.com>
4652
4653 * lto.c (lto_wpa_write_files): Reformat do-while loop.
4654 Do not print TEMP_FILENAME
4655 * ltrans-driver: Call make with -s.
4656
46572008-10-15 Diego Novillo <dnovillo@google.com>
4658
4659 * lto-symtab.c (lto_symtab_merge_decl): Do not force
4660 TREE_STATIC on global symbols.
4661
46622008-10-14 Ollie Wild <aaw@google.com>
4663
4664 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Remove.
4665 (LTRANS_DRIVER_EXE): Add.
4666 (lto.all.cross): Add LTRANS_DRIVER_EXE.
4667 (lto.all.encap): Add LTRANS_DRIVER_EXE.
4668 (lto.install.common): Remove ltrans-driver.
4669 (lto.mostlyclean): Add LTRANS_DRIVER_EXE.
4670 (LTRANS_DRIVER_EXE): New build rule.
4671 * config-lang.in (compilers): Add ltrans-driver.
4672
46732008-10-14 Diego Novillo <dnovillo@google.com>
4674
4675 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Disable transformation
4676 of program name.
4677
46782008-10-13 Ollie Wild <aaw@google.com>
4679
4680 * lang-spec.h (@lto): Replace lto1_options with cc1_options.
4681 * lto.c (lto_execute_ltrans): Add "-fno-wpa -fltrans -xlto" to CFLAGS.
4682 * ltrans-driver (LTRANS_FLAGS): Remove.
4683
46842008-10-08 Doug Kwan <dougkwan@google.com>
4685
4686 * lto.c (lto_fixup_tree): Remove ATTRIBUTE_UNUSED from DATA.
4687 Handle new tree codes RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
4688 and TREE_BINFO. Also move code handling FUNCTION_DECL and VAR_DECL
4689 from lto_fixup_state to here.
4690 (lto_fixup_state): Take an lto_fixup_data_t object DATA instead of
4691 just a free-list. Fix up types also. Move decl merging code to
4692 lto_fixup_tree.
4693 (lto_fixup_state_aux): Change AUX to point to an lto_fixup_data_t
4694 object.
4695 (lto_fixup_decls): Use another pointer set to avoid multiple
4696 walking of nodes except for DECLs to be replaced. Pass an
4697 lto_fixup_data_t object to tree-walker.
4698
ab20d992 46992008-10-08 Rafael Espindola <espindola@google.com>
d7f09764
DN
4700
4701 * lto-symtab.c (lto_symtab_set_resolution): New.
4702 (lto_symtab_merge_decl): Use lto_symtab_set_resolution and
4703 lto_symtab_get_resolution.
4704 (lto_symtab_prevailing_decl): Return decl for non public decls.
4705 (lto_symtab_get_resolution): New.
4706 * lto.c (lto_fixup_tree, lto_fixup_state): Remove unecessary checks.
4707
ab20d992 47082008-10-06 Rafael Espindola <espindola@google.com>
d7f09764
DN
4709
4710 * lto-lang.c: Include cgraph.h.
4711 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
4712 input_cgraph): Moved from lto-cgraph.c.
4713 (LANG_HOOKS_INPUT_CGRAPH): New.
4714
ab20d992 47152008-10-03 Rafael Espindola <espindola@google.com>
d7f09764
DN
4716
4717 * lto.c (lto_fixup_tree, lto_fixup_state): Fix the FIXME.
4718
ab20d992 47192008-10-03 Rafael Espindola <espindola@google.com>
d7f09764
DN
4720
4721 * lto-symtab.c (lto_symtab_overwrite_decl): Remove. Remove all calls.
4722 (lto_symtab_merge_decl): Update LTO_IDENTIFIER_DECL the reflect the
4723 prevailing definition. Don't mark TREE_NOTHROW differences.
4724 * lto.c (lto_fixup_tree): New.
4725 (lto_fixup_state): New.
4726 (lto_fixup_state_aux): New.
4727 (free_decl): New.
4728 (lto_fixup_decls): New.
4729 (lto_main): Call lto_fixup_decls.
4730
47312008-10-02 Ollie Wild <aaw@google.com>
4732
4733 * lang.opt (fltrans): Moved from common.opt. Remove RejectNegative
4734 and Init.
4735 (fwpa): Moved from common.opt. Remove RejectNegative and Init.
4736 * lto-lang.c (lto_post_options): Add validation and fixups for
4737 -fltrans and -fwpa.
4738
ab20d992 47392008-10-02 Rafael Espindola <espindola@google.com>
d7f09764
DN
4740
4741 * lto-symtab.c (lto_symtab_merge_var, lto_symtab_merge_fn,
4742 lto_symtab_merge_decl): Return void.
4743 (lto_symtab_prevailing_decl): New.
4744
ab20d992 47452008-09-30 Rafael Espindola <espindola@google.com>
d7f09764
DN
4746
4747 * lto-symtab.c (lto_symtab_compatible): Remove the check for already
4748 defined symbols.
4749 (lto_symtab_overwrite_decl): Copy LTO_DECL_RESOLUTION.
4750 (lto_symtab_merge_decl): Store symbol resolution in LTO_DECL_RESOLUTION.
4751 Check for already defined symbols.
4752 * lto-tree.h (lang_decl): Remove dummy and add resolution fields.
4753 (LTO_IDENTIFIER_RESOLUTION): Remove.
4754 (LTO_DECL_RESOLUTION): New.
4755
ab20d992 47562008-09-30 Rafael Espindola <espindola@google.com>
d7f09764
DN
4757
4758 * lto.c (lto_read_decls): Use new input_tree signature.
4759
47602008-09-26 Doug Kwan <dougkwan@google.com>
4761
4762 * lto.c (lto_main): Call lto_fixup_nothrow_decls to fix up function
4763 bodies affected by exception attribute merging of DECLs.
4764 * lto-symtab.c (lto_symtab_merge_decl): Handle exception attribute
ab20d992 4765 merging.
d7f09764
DN
4766
47672008-09-25 Rafael Espindola <espindola@google.com>
4768
4769 * Make-lang.in (PLUGIN_API_H, LTO_TREE_H): New.
4770 (lto/lto-lang.o, lto/lto.o, lto/lto-symtab.o) Use LTO_TREE_H.
4771 * lto-symtab.c (lto_symtab_compatible): New.
4772 (lto_symtab_overwrite_decl): New.
4773 (lto_symtab_merge_decl): Refactor to use the above functions
4774 and the resolution from lang_identifier.
4775 * lto-tree.h: Include plugin-api.h.
4776 (lang_identifier): Add resolution.
4777 (LTO_IDENTIFIER_RESOLUTION): New.
4778
47792008-09-25 Ollie Wild <aaw@google.com>
4780
4781 * lang.opt (fltrans-output-list=): New option.
4782 * lto.c (lto_execute_ltrans): Output file names to ltrans_output_list.
4783
ab20d992 47842008-09-25 Rafael Espindola <espindola@google.com>
d7f09764
DN
4785
4786 * lto.c (lto_resolution_read): Initialize ret;
4787
47882008-09-24 Ollie Wild <aaw@google.com>
4789
4790 * lto.c (sys/mman.h): Move include.
4791 (lto_wpa_write_files): Return a list of written files.
4792 (lto_execute_ltrans): New function.
4793 (lto_main): Call lto_execute_ltrans.
4794 (ltrans-driver): New file.
4795 * lto-lang.c (DEFAULT_LTRANS_DRIVER): New macro.
4796 (DEAULT_LTRANS_DRIVER_LEN): New macro.
4797 (lto_init_options): Initialize ltrans_driver.
4798 (lto_handle_option): Fix incorrect default output value.
4799 * lang.opt (fltrans-driver=): New option.
4800 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): New variable.
4801 (lto.install-common): Add lto/ltrans-driver.
4802
ab20d992 48032008-09-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4804
4805 * Make-lang.in (LTO_OBJS): Add lto/common.o.
4806 (lto/lto.o): Depend on lto/common.h.
4807 (lto/common.o): New.
4808 * lang.opt (resolution): New.
4809 * lto-lang.c (resolution_file_name): New.
4810 (lto_handle_option): Handle OPT_resolution.
4811 * lto-symtab.c (lto_symtab_merge_decl): Add a resolution argument.
4812 (lto_symtab_merge_var,lto_symtab_merge_fn): Add a resolution argument.
4813 pass it to lto_symtab_merge_decl.
4814 * lto.c: Include common.h.
4815 (lto_read_decls): Add resolutions and resolutions_size arguments.
4816 Initialize data_in.globals_resolution and
4817 data_in.globals_resolution_size.
4818 (index_and_symbol_resolution): New.
4819 (lto_resolution_read): New.
4820 (lto_file_read): Add argument resolution_file.
4821 Read resolution.
4822 * lto.h (resolution_file_name): New.
4823
ab20d992 48242008-09-23 Rafael Espindola <espindola@google.com>
d7f09764
DN
4825
4826 * common.c: Update description.
4827 * common.h: Update description.
4828
ab20d992 48292008-09-23 Rafael Espindola <espindola@google.com>
d7f09764
DN
4830
4831 * common.c: Moved from lto-plugin.
4832 * common.h: Moved from lto-plugin.
4833
48342008-09-22 Doug Kwan <dougkwan@google.com>
4835
4836 * lto.c (VEC(bitmap,heap)): Declare.
4837 (lto_materialize_function): Handle WAP mode specially.
4838 (lto_add_inline_clones): New.
4839 (lto_add_all_inlinees): Changle algorithm and to use bitmaps. Also
4840 return a bitmap of inlined decls.
4841 (lto_wpa_write_files): Handle all DECLs brought in by inlining.
4842 (lto_main): Call reset_inline_failed to reset inlining states.
4843 Check call-graph after WPA inlining.
4844 * lto-lang.c (lto_init): Do not clear flag_generate_lto
4845 unconditionally.
4846
48472008-09-19 Doug Kwan <dougkwan@google.com>
4848
4849 lto.c (lto_main): Remove unsued wrapper code.
4850 lang-specs.h (@lto): Use lto1_options instead of cc1_options.
4851
48522008-09-19 Rafael Espindola <espindola@google.com>
4853
4854 * lto-symtab.c: Include lto-tree-in.h.
4855 * lto-tree.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove.
4856 * lto.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove
4857 * Make-lang.in (lto/lto-symtab.o): Add lto-tree-in.h.
4858
48592008-09-17 Paolo Bonzini <bonzini@gnu.org>
4860 Rafael Avila de Espindola <espindola@google.com>
4861
4862 * lto-lang.c (COMPOUND_LITERAL_EXPR_DECL_STMT,
4863 COMPOUND_LITERAL_EXPR_DECL): Remove.
4864 (emit_local_var): Remove.
4865 (lto_expand_expr): Remove.
4866 (lto_staticp): Remove.
4867 (LANG_HOOKS_EXPAND_EXPR): Remove.
4868 (LANG_HOOKS_STATICP): Remove.
4869
48702008-09-11 Diego Novillo <dnovillo@google.com>
4871
4872 * lto-lang.c: Include except.h and libfuncs.h.
4873 (lto_init_eh): New.
4874 (lto_init): Call it.
4875 Set flag_generate_lto to 0.
4876 * Make-lang.in (lto-lang.o): Add dependency on except.h
4877 and libfuncs.h.
4878
48792008-09-09 Bill Maddox <maddox@google.com>
4880
4881 * lto-lang.c: Include header file expr.h.
4882 (COMPOUND_LITERAL_EXPR_DECL_STMT,
4883 COMPOUND_LITERAL_EXPR_DECL): Copied from c-common.h.
ab20d992 4884 (emit_local_var): Copied from c-semantics.c.
d7f09764
DN
4885 (lto_expand_expr, lto_staticp): Copied from c_expand_expr
4886 and c_staticp in c-common.c.
ab20d992 4887 (LANG_HOOKS_EXPAND_EXPR,LANG_HOOKS_STATICP): Redefined.
d7f09764
DN
4888
48892008-09-08 Diego Novillo <dnovillo@google.com>
4890
4891 * lto-lang.c (lto_global_bindings_p): Return 1 during
4892 IPA passes.
4893
48942008-09-07 Diego Novillo <dnovillo@google.com>
4895
4896 * lto.c: Tidy formatting.
4897
48982008-08-04 Bill Maddox <maddox@google.com>
4899
4900 * lto-symtab.c (lto_symtab_merge_decl): Add comment.
ab20d992 4901
d7f09764
DN
49022008-09-03 Doug Kwan <dougkwan@google.com>
4903
4904 lto.c (lto_add_all_inlinees): Reset FAILED_REASON of edges to
4905 CIF_OK instead of NULL.
4906
49072008-09-02 Diego Novillo <dnovillo@google.com>
4908 Simon Baldwin <simonb@google.com>
4909
4910 * lto-lang.c (lto_type_for_size): Rewrite. Adapt from
4911 c_common_type_for_size.
4912 (lto_type_for_mode): Remove ATTRIBUTE_UNUSED markers.
4913 (lto_init): Call linemap_add.
4914 (signed_and_unsigned_types): Remove.
4915
49162008-08-29 Diego Novillo <dnovillo@google.com>
4917
4918 * lto-lang.c (handle_noreturn_attribute): New local function.
4919 (handle_const_attribute): New local function.
4920 (handle_malloc_attribute): New local function.
4921 (handle_pure_attribute): New local function.
4922 (handle_novops_attribute): New local function.
4923 (handle_nonnull_attribute): New local function.
4924 (handle_nothrow_attribute): New local function.
4925 (handle_sentinel_attribute): New local function.
4926 (handle_type_generic_attribute): New local function.
4927 (handle_format_attribute): New local function.
4928 (handle_format_arg_attribute): New local function.
4929 (lto_attribute_table): Declare.
4930 (lto_format_attribute_table): Declare.
4931 (lto_init_attributes): New local function.
4932 (lto_define_builtins): Call it.
4933 Call targetm.init_builtins and build_common_builtin_nodes.
4934 (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Define.
4935 (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Define.
4936
49372008-08-28 Diego Novillo <dnovillo@google.com>
4938
4939 * Make-lang.in (lto-lang.o): Replace tree-gimple.h with
4940 $(GIMPLE_H).
4941 (lto-symtab.o): Add dependency on $(GIMPLE_H).
4942 * lto-lang.c: Include gimple.h instead of tree-gimple.h.
4943 * lto-symtab.c: Include gimple.h.
4944 * lto-tree.h (chain_next): Replace GENERIC_NEXT with
4945 TREE_CHAIN.
4946
49472008-08-27 Doug Kwan <dougkwan@google.com>
4948
4949 * lto.c (vec.h, bitmap.h, pointer-set.h, ipa-prop.h, ggc.h,
4950 gt-lto-lto.h): New includes.
4951 (lto_materialize_function): Do not read in function body in WPA mode.
4952 Format a line to fit in 80 columns.
4953 (lto_cgraph_node_sets): New garbage collected variable.
4954 (lto_1_to_1_map, lto_add_all_inlinees, lto_wpa_write_files):
4955 New functions.
4956 (lto_main): Initialize bitmap obstack. Add code to handle WPA mode.
ab20d992 4957 * Make-lang.in (LTO_H): Replace filename lto-section-in.h with
d7f09764
DN
4958 variable LTO_SECTION_IN_H.
4959 (lto/lto.o): Include gt-lto-lto-c.h ggc.h ,VEC_H, BITMAP_H,
4960 pointer-set.h and IPA_PROP_H. Also replace filename lto-section-in.h
4961 with variable LTO_SECTION_IN_H.
4962 * config-lang.in (gtfiles): Add lto/lto.c.
4963 * lto-symtab.c (lto_symtab_merge_decl): Set DECL_CONTEXT of
4964 merged DECL_RESULT correctly.
4965
49662008-08-26 Bill Maddox <maddox@google.com>
4967
4968 * lto-lang.c Include tree-gimple.h.
4969 (lto_mark_addressable): Call mark_addressable rather than
4970 asserting.
4971 (lto_post_options): Suppress debug info generation.
4972 * Make-lang.in: Add dependency of lto-lang.o on tree-gimple.h.
ab20d992 4973
3f8257db 49742008-08-25 Bill Maddox <maddox@google.com>
d7f09764
DN
4975
4976 * lto-symtab.c (lto_symtab_merge_decl): Remove a suspect
4977 assertion and leave an explanatory comment in its place.
ab20d992 4978
d7f09764
DN
49792008-08-21 Doug Kwan <dougkwan@google.com>
4980
4981 * lto.c (preload_common_nodes): Call lto_get_common_nodes to get a list
4982 of common nodes instead of computing locallly.
4983 (lto_read_in_decl_state): New.
4984 (lto_read_decls): Change code for udpate in struct lto_decl_header.
4985 Read global and per-function in-decl states.
4986 * Make-lang.in (LTO_H): Update dependency.
4987 (lto/lto.o): Same.
4988 (lto-symtab.c): Merge (revision 139039)
4989 * lto-symtab.c (lto_symtab_merge_decl): Merge DECL_RESULT.
4990
49912008-08-21 Rafael Espindola <espindola@google.com>
4992
4993 * config-lang.in (target_libs): New.
4994
49952008-08-20 Bill Maddox <maddox@google.com>
4996
4997 * lto.c (current_lto_file): Remove GTY marker from static
4998 variable. Remove include of file gt-lto-lto.h.
4999 * Make-lang.in: Remove dependency of lto/lto.o on
5000 gt-lto-lto.h.
5001 * lto-elf.c (lto_file_close): Removed.
5002 (lto_elf_file_open): Use XCNEW instead of GGC_CNEW to
5003 allocate lto_elf_file object.
5004 (lto_elf_file_close): Free lto_elf_file object after close.
5005 * lto.h (struct lto_file_struct): Remove GTY marker.
5006 * config-lang.in: Remove lto/lto.h and lto/lto.c from
5007 gtfiles.
ab20d992 5008
d7f09764
DN
50092008-08-20 Bill Maddox <maddox@google.com>
5010
5011 * lto.c (lto_read_decls): Provide dummy argument to input_tree
5012 to conform to its new signature.
5013 * lto-symtab.c (lto_symtab_merge_decl): Do not invoke ggc_free
5014 on discarded node here, now called in global_vector_fixup.
ab20d992 5015
d7f09764
DN
50162008-08-09 Bill Maddox <maddox@google.com>
5017
5018 * lto.c (preload_common_nodes): Verify that fileptr_type_node
5019 has not been set to a front-end-specific value.
ab20d992 5020
d7f09764 50212008-08-05 Doug Kwan <dougkwan@google.com>
ab20d992 5022
d7f09764
DN
5023 * Make-lang.in (lto-symtab.o): Add missing dependencies to fix
5024 build breakage.
5025
50262008-07-30 Bill Maddox <maddox@google.com>
5027
5028 * lto.c (lto_materialize_function): Call lto_original_decl_name.
5029 Remove obsolete comments.
5030 (lto_read_decls): Remove initialization of deleted field data_in.global.
5031 Tidy up comments.
5032 (lto_main): Remove redundant initialization of section_hash_table.
5033 * lto-elf.c: Removed obsolete comments.
5034 * lto.h: Tidy up comments.
5035 * lto-symtab.c (lto_least_common_multiple): New function.
5036 (lto_symtab_merge_decl): Merge variable alignments in some cases.
5037 Tidy up comments.
5038
50392008-07-25 Diego Novillo <dnovillo@google.com>
5040 Bill Maddox <maddox@google.com>
5041
5042 * lto.c: Re-order include files.
5043 Include lto-section-out.h.
5044 (preload_common_nodes): Add debugging output.
5045 Add new local INDEX_TABLE.
5046 Call preload_common_node.
5047 * Make-lang.in (lto.o): Add dependency on lto-section-out.h
5048
50492008-07-13 Bill Maddox <maddox@google.com>
5050
5051 * lto.c (lto_read_decls): Cast pointer to const char * to avoid
5052 unwanted scaling during pointer addition.
5053
50542008-07-11 Bill Maddox <maddox@google.com>
5055 Diego Novillo <dnovillo@google.com>
5056
5057 * lto.c (lto_read_decls): Fix C++ compatibility warnings.
5058 Make code const-correct.
5059 (lto_file_read): Fix C++ compatibility warnings.
ab20d992 5060 (lto_read_section_data): Fix C++ compatibility warnings.
d7f09764
DN
5061 (lto_get_section_data): Use CONST_CAST to avoid warning when
5062 const pointer passed to free.
5063 * lto-elf.c (lto_elf_build_section_table): Fix C++
5064 compatibility warnings.
ab20d992 5065 (lto_elf_append_data): Fix C++ compatibility warnings. Use CONST_CAST
d7f09764 5066 to avoid warning assigning const pointer to d_buf field of Elf_Data.
ab20d992 5067 (lto_get_current_out_file): Fix C++ compatibility warnings.
d7f09764
DN
5068
50692008-07-11 Diego Novillo <dnovillo@google.com>
5070
5071 * Make-lang.in (lto-warn): Define.
5072
50732008-07-03 Simon Baldwin <simonb@google.com>
5074
5075 * lto.c (lto_read_decls): Wrapped debug-only data items within #ifdef
5076 LTO_STREAM_DEBUGGING.
5077
50782008-06-27 Ollie Wild <aaw@google.com>
5079
5080 * lto-elf.c (lto-section-out.h): New include.
5081 (struct lto_elf_file): Remove bits member. Add scn, shstrtab_stream,
5082 and data members.
5083 (cached_file_attrs): New static variable.
5084 (lto_elf_get_shdr, lto_elf_free_shdr): Remove elf_file parameter.
5085 Use cached_file_attrs for checking bits.
5086 (lto_elf_build_section_table): Remove elf_file argument from
5087 lto_elf_get_shdr and lto_elf_free_shdr calls.
5088 (DEFINE_INIT_SHDR): New macro.
5089 (init_shdr32, init_shdr64): New functions defined via the
5090 DEFINE_INIT_SHDR macro.
5091 (lto_elf_begin_section_with_type): New function.
5092 (lto_elf_begin_section): New function.
5093 (lto_elf_append_data): New function.
5094 (lto_elf_end_section): New function.
5095 (DEFINE_VALIDATE_EHDR): New macro.
5096 (validate_ehdr32, validate_ehdr64): New functions defined via the
5097 DEFINE_VALIDATE_EHDR macro.
5098 (validate_file): New function.
5099 (DEFINE_INIT_EHDR): New macro.
5100 (init_ehdr32, init_ehdr64): New functions defined via the
5101 DEFINE_INIT_EHDR macro.
5102 (init_ehdr): New function.
5103 (lto_elf_file_open): Add support for writable files. Move some
5104 validation logic to validate_file.
5105 (lto_elf_file_close): Add support for writable files. Write file data
5106 and free data blocks.
5107 (current_out_file): New static variable.
5108 (lto_set_current_out_file): New function.
5109 (lto_get_current_out_file): New function.
5110 * lto.c (lto_main): Add writable argument to lto_elf_file_open calls.
5111 Add temporary initialization for testing ELF serialization.
5112 * lto.h (lto-section-out.h): New include.
5113 (struct lto_file_struct): Slight modification to comment.
5114 (lto_elf_file_open): Add writable parameter.
5115 (lto_elf_begin_section): New function declaration.
5116 (lto_elf_append_data): New function declaration.
5117 (lto_elf_end_section): New function declaration.
5118 (lto_set_current_out_file, lto_get_current_out_file): New function
5119 declarations.
5120 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Set as lto_elf_begin_section.
5121 (LANG_HOOKS_APPEND_DATA): Set as lto_elf_append_data.
5122 (LANG_HOOKS_END_SECTION): Set as lto_elf_end_section.
5123 * Make-lang.in (LTO_H): Add lto-section-out.h.
5124
51252008-06-12 Ollie Wild <aaw@google.com>
5126
5127 * lto.h (struct lto_file_vtable_struct): Remove.
5128 (struct lto_file_struct): Remove vtable member.
5129 * lto-elf.c (lto_file_init): Remove vtable argument.
5130 (lto_elf_map_optional_lto_section): Remove.
5131 (lto_elf_unmap_section): Remove.
5132 (lto_elf_file_vtable): Remove.
5133 (lto_elf_file_open): Remove lto_elf_file_vtable argument from
5134 lto_file_init call.
5135 (lto_elf_find_section_data): Remove.
5136
51372008-06-11 Ollie Wild <aaw@google.com>
5138
5139 * lto.c (lto_file_read): Add const qualifier to data variable.
5140
51412008-06-11 Diego Novillo <dnovillo@google.com>
5142
5143 Merge from lto-streamber sub-branch.
5144
5145 2008-06-04 Ollie Wild <aaw@google.com>
5146
5147 * lto.c: Remove inclusion of dwarf2.h and dwarf2out.h.
5148 * Make-lang.in (lto.o): Remove dependency on dwarf2.h.
5149
5150 2008-05-28 Bill Maddox <maddox@google.com>
5151
5152 Replace the DWARF reader in the LTO front-end.
5153
5154 * lto.c: Include lto-tree-in.h, lto-tags.h.
5155 (enum DWARF2_class, DW_cl_constant, struct
5156 DWARF2_form_data, struct lto_context,
5157 lto_fd_init, lto_info_fd_init,
5158 lto_abbrev_fd_init, lto_info_fd_close,
5159 lto_file_init, lto_file_close,
5160 lto_file_corrupt_error, lto_abi_mismatch_error,
5161 LTO_CHECK_INT_VAL, LTO_READ_TYPE,
5162 lto_read_uleb128, lto_read_sleb128,
5163 lto_read_initial_length, lto_abbrev_read_attrs,
5164 lto_abbrev_read, lto_abbrev_read_lookup,
5165 lto_read_section_offset,
5166 lto_read_comp_unit_header, find_cu_for_offset,
5167 lto_get_file_name,
5168 lto_resolve_reference,lto_read_form,
5169 attribute_value_as_int,
5170 make_signed_host_wide_int,
5171 attribute_value_as_constant, lto_cache_hash,
5172 lto_cache_eq, lto_cache_store_DIE,
5173 lto_cache_lookup_DIE, lto_find_integral_type,
5174 lto_find_integral_type_1,
5175 LTO_BEGIN_READ_ATTRS_UNCHECKED,
5176 LTO_BEGIN_READ_ATTRS, LTO_END_READ_ATTRS,
5177 lto_unsupported_attr_error, lto_get_identifier,
5178 lto_read_referenced_type_DIE,
5179 lto_read_compile_unit_DIE,
5180 lto_read_array_type_DIE,
5181 lto_read_structure_union_class_type_DIE,
5182 lto_read_enumerator_DIE,
5183 lto_read_enumeration_type_DIE,
5184 lto_read_only_for_child_DIEs,
5185 lto_read_only_for_child_DIEs,
5186 lto_read_member_DIE, lto_read_abbrev,
5187 lto_read_variable_formal_parameter_constant_DIE,
5188 lto_get_body): Removed.
5189 (preload_common_nodes): New function.
5190 (lto_read_decls): Convert for new global streamer.
5191 (lto_materialze_file_data,
5192 lto_read_subroutine_type_subprogram_die,
5193 lto_read_unspecified_parameters_DIE,
5194 lto_read_typedef_DIE,
5195 lto_read_pointer_reference_type_DIE,
5196 lto_read_subrange_type_DIE,
5197 lto_read_base_type_DIE,
5198 lto_read_const_volatile_restrict_type_DIE,
5199 lto_read_namespace_DIE,
5200 lto_read_unspecified_type_DIE, lto_read_DIE,
5201 lto_read_child_DIEs, lto_collect_child_DIEs):
5202 Removed.
5203 (lto_info_read, lto_set_cu_context): Removed.
5204 (lto_file_read): Convert for new global streamer.
5205 (lto_resolve_type_ref, lto_read_DIE_at_ptr,
5206 lto_resolve_var_ref, lto_resolve_fn_ref,
5207 lto_resolve_field_ref, lto_resolve_typedecl_ref,
5208 lto_resolve_namespacedecl_ref): Removed.
5209 (lto_file_init, lto_file_close): Moved to lto-elf.c.
5210 * lto-tree.h (lto_symtab_merge_var,
5211 lto_symtab_mergee_fun): Declare here.
5212 * lto-elf.c (lto_file_init, lto_file_close): Moved from lto.c.
5213 (lto_elf_file_open): Removed code to read DWARF debug sections.
5214 * lto.h (lto_context, DWARF2_attr, DWARF2_abbrev,
5215 DWARF2_CompUnit, lto_die_ptr,
5216 lto_die_cache_entry, lto_fd, lto_info_fd,
5217 lto_abbrev_fd): Removed.
5218 (lto_file): Removed debug_info and debug_abbrev fields.
5219 (lto_ref): Removed.
5220 (lto_file_init, lto_file_close,
5221 lto_resolve_type_ref, lto_resolve_var_ref,
5222 lto_resolve_fn_ref, lto_resolve_field_ref,
5223 lto_resolve_typedecl_ref,
5224 lto_resolve_namespacedecl_ref,
5225 lto_get_file_name): Removed declarations.
5226 (lto_symtab_merge_var, lto_symtab_merge_fn):
5227 Declarations moved to lto-tree.h.
5228 * lto-symtab.c (lto_compatible_attributes_p):
5229 Lobotomize this, as it barfs on "Hello, world!".
5230 * lto-section-out.c: Include lto-tree-out.h.
5231 (lto_hash_global_slot_node,
5232 lto_eq_global_slot_node, preload_common_nodes,
5233 write_global_stream, write_global_references):
5234 New functions.
5235 (produce_asm_for_decls): Convert for new global streamer.
5236 * lto-section-out.h (lto_hash_global_slot_node,
5237 lto_eq_global_slot_node): Declare.
5238
3f8257db 52392008-06-07 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 5240 Jan Hubicka <jh@suse.cz>
ab20d992 5241
d7f09764
DN
5242 * lto.c (sys/mman.h, tree-pass.h): New includes.
5243 (lto_materialize_constructors_and_inits,
5244 lto_materialize_function): Keeps length of section.
5245 (lto_materialize_cgraph): Removed.
5246 (lto_read_decls): Initialize fd field.
5247 (lto_file_read): Different return type and removed much code to
5248 lto_main.
5249 (page_mask): New variable.
5250 (lto_read_section_data, get_section_data, free_section_data): New
5251 functions.
5252 (lto_main): Now calls pass manager, sets the hooks so that the ipa
ab20d992
JJ
5253 passes can get the section data.
5254
3f8257db 52552008-05-27 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5256
5257 * lto.h (lto_read_decls): Made local.
ab20d992 5258 (lto_input_function_body, lto_input_constructors_and_inits,
d7f09764
DN
5259 lto_input_cgraph): Declarations moved to lto-section-in.h.
5260 * lto-section-in.c: Moved to .. .
5261 * lto-cgraph-in.c: Ditto.
5262 * lto-section-in.h: Ditto.
5263 * lto-function-in.c: Ditto.
5264 * lto-lang.c (lto_handle_option): Added ATTRIBUTE_UNUSED to parms.
5265 (lto_insert_block): Removed.
5266 (LANG_HOOKS_INSERT_BLOCK): Removed.
5267 * Make-lang.in (lto-cgraph-in.o, lto-function-in.o,
5268 lto-section-in.o): Rules moved to lto/Makefile.in.
ab20d992 5269
d7f09764
DN
5270
52712008-05-16 Ollie Wild <aaw@google.com>
5272
5273 * lto-lang.c (tree-inline.h): Include.
5274 (lto_post_options): New function.
5275 (LANG_HOOKS_POST_OPTIONS): Define.
5276 * lto-cgraph-in.c (overwrite_node): Set node->global.insns.
5277 * lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
5278
52792008-05-13 Diego Novillo <dnovillo@google.com>
5280
5281 * lto-function-in.c (input_ssa_names): Call
5282 make_ssa_name_fn instead of make_ssa_name.
5283
52842008-05-12 Diego Novillo <dnovillo@google.com>
5285
5286 * lto-cgraph-in.c (overwrite_node): Update references to
5287 inline summary fields.
5288 * lto-function-in.c (input_expr_operand): Do not handle
5289 STRUCT_FIELD_TAG.
5290
52912008-05-09 Ollie Wild <aaw@google.com>
5292
5293 * lang.opt: New file.
5294 * lto-lang.c (lto_init_options): New function.
5295 (lto_handle_option): New function.
5296 (lto_init): Move initialization of flag_unit_at_a_time to
5297 lto_init_options.
5298 (LANG_HOOKS_INIT_OPTIONS): Define.
5299 (LANG_HOOKS_HANDLE_OPTION): Define.
5300
53012008-04-29 Ollie Wild <aaw@google.com>
5302
5303 * lto.c (lto_read_namespace_DIE): New function.
5304 (lto_read_DIE): Add lto_read_namespace_DIE callback. Cache
5305 NAMESPACE_DECL DIE's.
5306 (lto_resolve_namespacedecl_ref): New function.
5307 * lto.h (lto_resolve_namespacedecl_ref): New function.
5308 * lto-section-in.c (lto_read_decls): Read namespace declarations.
5309 * lto-section-in.h (struct lto_file_decl_data): Add namespace_decls
5310 and num_namespace_decls.
5311 * lto-function-in.c (input_expr_operand): Add NAMESPACE_DECL case.
5312 * lto-lang.c (lto_init_ts): New function.
5313 (LANG_HOOKS_INIT_TS): Set as lto_init_ts.
5314
53152008-04-16 Ollie Wild <aaw@google.com>
5316
5317 * lto-function-in.c (input_type_ref): Updated function description.
5318
53192008-04-16 Ollie Wild <aaw@google.com>
5320
5321 * lto-function-in.c (input_type_ref_1): New function.
5322 (input_type_ref): Split into two functions.
5323 (input_function): Add support for type contexts.
5324
53252008-04-16 Ollie Wild <aaw@google.com>
5326
5327 * lto.c (lto_materialize_function): Use DECL_ASSEMBLER_NAME to compute
5328 section name
5329
53302008-04-16 Ollie Wild <aaw@google.com>
5331
5332 * lto.c (lto_read_compile_unit_DIE): Add DW_LANG_C_plus_plus to the
5333 list of supported languages.
5334
3f8257db 53352008-03-25 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5336
5337 Merge with mainline @133491.
5338
3f8257db 53392008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5340 Jan Hubicka <jh@suse.cz>
5341
5342 * lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
5343 fd->unmaterialized_fndecls.
5344 (lto_get_file_name, lto_materialize_cgraph): New function.
5345 (lto_materialize_constructors_and_inits,
5346 lto_materialize_function): Read info directly from elf file.
5347 (lto_file_read): Made local and initialize dictionary so that
5348 other lto sections can be read without reprocessing the elf file.
5349 (lto_main): Read all functions after all files have been processed
ab20d992 5350 for their types, globals and cgraph.
d7f09764
DN
5351 * Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
5352 dependencies.
5353 * lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
5354 (hash_name, eq_name, lto_elf_build_section_table): New functions.
5355 (lto_elf_read_symtab): Removed function.
5356 (lto_elf_file_open): Removed call to lto_elf_read_symtab.
5357 * lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
5358 (lto_file_read): Made local.
5359 (lto_get_file_name, lto_elf_build_section_table,
ab20d992 5360 lto_input_cgraph):
d7f09764
DN
5361 New function.
5362 * lto-section-in.c (lto_read_section_data, lto_get_section_data):
5363 New functions.
5364 (lto_read_decls): Get the file name.
5365 * lto-cgraph-in.c: New file.
5366 * lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
5367 (input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
5368 (input_labels): Fixed latent sizeof issue.
5369 (input_function): Build stmt array to set call sites into cgraph
5370 edges.
5371 (lto_read_body): Reset cfun->curr_properties.
5372 * lto_section_in.h (lto_section_slot): New structure.
5373 (section_hash_table.lto_file_decl_data): New field.
5374
3f8257db 53752008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5376
5377 * lto.c (lto_read_variable_formal_parameter_const): Remove code to
5378 reconstruct static initializers.
5379 (lto_get_body, lto_materialize_function): Add lto_section_type as
5380 a parameter.
5381 (lto_materialize_constructors_and_inits,
5382 lto_materialize_file_data): New function.
5383 (lto_materialize_function,
5384 lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
5385 unmap_section and map_fn_body to map_section.
5386 (lto_set_cu_context): Process functions and static inits
5387 differently.
5388 * Make-lang.in (LTO_H, lto/lto-function-in.o,
5389 lto/lto-section-in.o): Update dependencies.
ab20d992 5390 * lto-elf.c (lto_elf_map_optional_lto_section): Add
d7f09764
DN
5391 lto_section_type parameter.
5392 (lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
ab20d992 5393 * lto.h (lto_file_vtable_struct): Removed two of the fields and
d7f09764
DN
5394 renamed the other two so that there is only one map function and
5395 one unmap function and each takes a section type parameter.
5396 (lto_read_function_body): Renamed to lto_input_function_body and
5397 added file_data parameter.
5398 (lto_read_var_init): Removed.
5399 (lto_input_constructors_and_inits): New function.
5400 * lto-section-in.c (lto_read_decls): New function.
5401 * lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
5402 var_decls, type_decls, types to lto_file_decl_data.
5403 (input_type_ref, input_expr_operand, lto_read_body): Get
5404 field_decls, fn_decls, var_decls, type_decls, types from different
5405 structure.
5406 (input_globals, input_constructor, lto_read_var_init): Removed.
5407 (input_constructors_or_inits): New function.
5408 (lto_read_function_body, lto_input_constructors_and_inits):
5409 Renamed to lto_input_function_body and takes file_data parameter.
5410 * lto-section-in.h (lto_file_decl_data): New structure.
ab20d992 5411
3f8257db 54122008-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5413
5414 * lto-function-in.c (input_globals.c): Changed input type to
5415 lto_function_header.
5416 (input_bb): Removed code to deserialize the stmt number.
5417 (input_function): Renumber all stmts after they are input.
5418 (lto_read_body, lto_read_function_body, lto_read_var_init):
5419 Changed to used new header format and enum section_type.
ab20d992
JJ
5420 *lto-lang.c (success): Removed.
5421
d7f09764
DN
54222008-01-28 Nathan Froyd <froydnj@codesourcery.com>
5423
5424 * lto-elf.c (lto_elf_lookup_sym): Remove unused function.
5425 (lto_elf_free_sym): Likewise.
5426
5427 * lto-elf.c (lto_elf_read_var_init): Remove unused function.
5428 (lto_elf_build_init): Likewise.
5429
3f8257db 54302008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5431
5432 * lto-read.c: Renamed to lto-function-in.c.
5433 (input_1_unsigned): Moved to lto-section-in.c and renamed
5434 lto_input_1_unsigned.
5435 (input_uleb128): Moved to lto-section-in.c and renamed
5436 lto_input_uleb128.
5437 (input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
5438 lto_input_widest_uint_uleb128.
5439 (input_sleb128): Moved to lto-section-in.c and renamed
5440 lto_input_sleb128.
5441 (input_integer): Moved to lto-section-in.c and renamed
5442 lto_input_integer.
5443 (debug_in_fun): Moved to lto-section-in.c and renamed
5444 lto_debug_in_fun.
5445 (input_block): Moved to lto-section-in.h and renamed
5446 lto_input_block.
5447 (input_expr_operand): Fixed to allow lists with more than one
5448 element.
5449 * lto-section-in.h: New file.
5450 * lto-section-in.c: New file with changes from above.
5451 * Make-lang.in (lto-read.o): Renamed lto-function-in.c.
5452 (lto-section-in.o): New rule.
ab20d992 5453
d7f09764
DN
54542007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5455
5456 * lto-read.c (input_expr_operand): Mark static and external
5457 VAR_DECLs as needed.
5458
54592007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5460
5461 * lto-read.c (input_integer): Use the correct shift amount.
5462
54632007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5464
5465 * lto-lang.c (lto_pushdecl): Do nothing instead of aborting.
5466 (LANG_HOOKS_NAME): Define.
5467
54682007-12-27 Nathan Froyd <froydnj@codesourcery.com>
5469
5470 * lto.c (lto_find_integral_type): Define as a macro. Rename the
5471 original function to...
5472 (lto_find_integral_type_1): ...this. Consult UNSIGNEDP if we
5473 don't have a base type.
5474 (lto_read_enumeration_type_DIE): Examine the values of the
5475 enumeration to determine whether we can use an unsigned type for
5476 the base type of the enumeration.
5477
54782007-12-24 Nathan Froyd <froydnj@codesourcery.com>
5479
5480 * lto.c (lto_read_structure_union_class_type_DIE): Set TYPE_MODE
5481 and TYPE_ALIGN on UNION_TYPEs as soon as possible.
5482
54832007-12-22 Nathan Froyd <froydnj@codesourcery.com>
5484
5485 * lto-lang.c (lto_types_compatible_p): New function.
5486 (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
5487
54882007-12-22 Nathan Froyd <froydnj@codesourcery.com>
3f8257db 5489 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5490
5491 * lto-read.c (input_expr_operand): Fixed uninitialize var warning.
5492 (input_local_vars): Read in DECL_INITIAL and context for local
5493 statics that need to be put in unexpanded_vars_list.
5494
54952007-12-21 Nathan Froyd <froydnj@codesourcery.com>
5496
5497 * lto-read.c (input_real): Use a separate null-terminated buffer
5498 for calling real_from_string.
5499 (input_expr_operand): If we take the address of a FUNCTION_DECL,
5500 tell cgraph that it's needed.
5501
55022007-12-19 Doug Kwan <dougkwan@google.com>
5503
5504 * lto.c (lto_read_base_type_DIE): Handle complex integer types.
5505
55062007-12-18 Nathan Froyd <froydnj@codesourcery.com>
5507
5508 * lto.c (lto_read_DIE): Call lto_read_only_for_child_DIEs instead.
5509 (lto_file_read): Reset the members of 'context' every time we read
5510 a toplevel DIE, with special attention to last_param_type.
5511
55122007-12-18 Nathan Froyd <froydnj@codesourcery.com>
5513
5514 * lto.c (lto_read_subroutine_type_subprogram_DIE): Initialize
5515 'declaration'. Set the assembler name for non-public functions.
5516
3f8257db 55172007-12-17 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5518
5519 * lto_read.c (data_in.unexpanded_indexes): New array.
5520 (input_local_var): Added code to read in unexpanded_var_list
5521 indexes for variables. Only read in DECL_CHAIN field for
5522 parameters.
5523 (input_local_vars): Added code to rebuild unexpanded_var_list in
5524 order using unexpanded_indexes.
5525 (input_function): Added code to set DECL_CONTEXT for functions.
5526
55272007-12-13 Doug Kwan <dougkwan@google.com>
5528
5529 * lto.c (lto_read_pointer_reference_type_DIE): Handle optional name
5530 in pointer and reference types.
5531
55322007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5533
5534 * lto-read.c (input_expr_operand): Use DECL_RESULT when reading a
5535 RESULT_DECL.
5536
55372007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5538
5539 * lto.c (lto_read_array_type_DIE): Return the cached DIE if we've
5540 already read the DIE.
5541 (lto_get_body): New function, split out from...
5542 (lto_materialize_function): ...here. Call it.
5543 (lto_read_subroutine_type_subprogram_DIE): Call lto_get_body to
5544 determine DECL_EXTERNAL.
5545 * lto-symtab.c (lto_symtab_merge_decl): Merge the DECL_RESULTs of
5546 FUNCTION_DECLs when necessary. Use the type of the actual
5547 function definition if we are unable to easily merge types. Ignore
5548 spurious DECL_MODE mismatches on VAR_DECLs. Merge DECL_MODEs when
5549 necessary.
5550
55512007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5552
5553 * lto-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
5554
55552007-12-12 Bill Maddox <maddox@google.com>
5556
5557 Revert
5558 2007-12-07 Bill Maddox <maddox@google.com>
5559
5560 * lto.c (lto_str_fd_init): New function.
5561 (lto_str_fd_close): New function.
5562 (lto_file_init): Call lto_str_fd_init.
5563 (lto_file_close): Call lto_str_fd_close.
5564 (lto_str_read): New function. Read debug string table.
5565 (lto_str_lookup): New function. Get string for debug
5566 string table offset.
5567 (lto_read_form): Recognize DW_FORM_strp.
5568 (lto_file_read): Invoke lto_str_read.
5569
5570 * lto-elf.c (lto_elf_file_open): Read raw section data
5571 for the .debug_str section, if present.
5572
5573 * lto.h (struct lto_str_fd_struct): New struct.
5574 (struct lto_file_struct): Added new field DEBUG_STR
5575 to hold the file descriptor for the debug string table.
ab20d992 5576
d7f09764
DN
55772007-12-07 Bill Maddox <maddox@google.com>
5578
5579 * lto.c (lto_str_fd_init): New function.
5580 (lto_str_fd_close): New function.
5581 (lto_file_init): Call lto_str_fd_init.
5582 (lto_file_close): Call lto_str_fd_close.
5583 (lto_str_read): New function. Read debug string table.
5584 (lto_str_lookup): New function. Get string for debug
5585 string table offset.
5586 (lto_read_form): Recognize DW_FORM_strp.
5587 (lto_file_read): Invoke lto_str_read.
5588
5589 * lto-elf.c (lto_elf_file_open): Read raw section data
5590 for the .debug_str section, if present.
5591
5592 * lto.h (struct lto_str_fd_struct): New struct.
5593 (struct lto_file_struct): Added new field DEBUG_STR
5594 to hold the file descriptor for the debug string table.
5595
55962007-12-07 Nathan Froyd <froydnj@codesourcery.com>
5597
5598 * lto-read.c (input_cfg): Call init_empty_tree_cfg_for_function.
5599 Grow the basic_block_info and label_to_block_map vectors if
5600 necessary. Read in the block chain.
5601
56022007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5603
5604 * lto.c (lto_read_DIE): Set TYPE_ALIAS_SET where necessary.
5605
56062007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5607
5608 * lto.c (lto_read_form): Add DW_cl_address for DW_AT_const_value.
5609
56102007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5611
5612 * lto-read.c (input_expr_operand): Don't check for MTAGs.
5613 (lto_read_body): Don't declare PROP_alias.
5614
56152007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5616
5617 * lto-symtab.c (lto_symtab_merge_decl): Handle FUNCTION_DECLs without
5618 argument type information.
5619
56202007-12-03 Nathan Froyd <froydnj@codesourcery.com>
5621
5622 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
5623 TREE_THIS_VOLATILE if the associated type is a volatile type.
5624 (lto_materialize_function): Remove call to init_ssa_operands.
5625 * lto-read.c (input_expr_operand): Add SSA_NAME_VAR as a referenced
5626 variable when reading an SSA_NAME. Do the same when reading a
5627 RESULT_DECL, a RETURN_EXPR, or an MTAG.
5628 (input_cfg): Call init_ssa_operands.
5629 (input_ssa_names): Set the default def of an SSA_NAME if necessary.
5630 Move call to init_tree_ssa...
5631 (lto_read_body): ...here. Use push_cfun and pop_cfun. Call
5632 add_referenced_var on any variables referenced from the body of the
5633 function. Inform the rest of the compiler we are in SSA form and
5634 inform later passes about the current properties.
5635
56362007-11-30 Nathan Froyd <froydnj@codesourcery.com>
5637
5638 * lto.c (lto_materialize_function): Add FIXME.
5639
56402007-11-29 Nathan Froyd <froydnj@codesourcery.com>
5641
5642 * lto-lang.c (enum built_in_attribute): New enum.
5643 (flag_no_builtin, flag_no_nonansi_builtin, flag_isoc94, flag_isoc99,
5644 built_in_attributes): New variables.
5645 (def_builtin_1): New function.
5646 (lto_define_builtins): #define DEF_BUILTIN and include builtins.def.
5647
56482007-11-28 Nathan Froyd <froydnj@codesourcery.com>
5649
5650 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
5651 DECL_SOURCE_LOCATION for debugging purposes.
5652 (lto_read_member_DIE): Set DECL_SOURCE_LOCATION. If we have read a
5653 bitfield, use the type specified by the DIE for TREE_TYPE and defer
5654 laying out the decl until later.
5655 (lto_read_subroutine_type_subprogram_DIE): Compare the function's
5656 name with DECL_ASSEMBLER_NAME. Set DECL_SOURCE_LOCATION and
5657 TREE_ADDRESSABLE.
5658 * lto-read.c (input_expr_operand): Set TREE_ADDRESSABLE on the
5659 operand of an ADDR_EXPR.
5660 * lto-lang.c (enum lto_builtin_type): New enum.
5661 (builtin_type): New typedef.
5662 (builtin_types, string_type_node, const_string_type_node,
5663 wint_type_node, intmax_type_node, uintmax_type_node,
5664 signed_size_type_node): New variables.
5665 (def_fn_type, builtin_type_for_size, lto_define_builtins,
5666 lto_build_c_type_nodes): New functions.
5667 (lto_init): Initialize builtin types.
5668 (lto_set_decl_assembler_name): Let the target machine mangle the
5669 name if the decl is TREE_PUBLIC, otherwise uniquify it.
5670
56712007-11-21 Nathan Froyd <froydnj@codesourcery.com>
5672
5673 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Don't
5674 set TREE_ADDRESSABLE. Do set DECL_COMDAT. Set TREE_READONLY if
5675 the type is a constant type. Set the assembler name and inform
5676 the rest of the compiler about the new decl if the decl is not
5677 public.
5678 (lto_read_subroutine_type_subprogram_DIE): Don't check for equivalency
5679 of DECL_ASSEMBLER_NAME when determining if we have a builtin. Don't
5680 try to read in function bodies for functions that already have bodies.
5681 * lto-symtab.c (lto_same_type_p): Check for unbounded array
5682 equivalency.
5683 (lto_symtab_merge_decl): Don't merge decls that aren't TREE_PUBLIC.
5684 Check for whether we matched a builtin function type before calling
5685 lto_same_type_p on the generated type. Permit cases where the
5686 declaration of an array is unbounded, but the definition is bounded.
5687 Don't combine TREE_PUBLIC flags. Copy over DECL_SIZE and
5688 DECL_SIZE_UNIT if necessary.
5689
3f8257db 56902007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 5691
ab20d992 5692 * lto-read.c (input_expr_operand): Get types right
d7f09764
DN
5693 for COMPLEX_CST.
5694
3f8257db 56952007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5696
5697 * lto-read.c (make_new_block, input_cfg): Properly set
5698 n_basic_blocks.
ab20d992 5699
d7f09764
DN
57002007-11-16 Nathan Froyd <froydnj@codesourcery.com>
5701
5702 * lto.c (lto_read_array_type_DIE): Handle DIEs with DW_AT_GNU_vector
5703 set properly by building a VECTOR_TYPE instead of an ARRAY_TYPE.
5704
57052007-11-16 Nathan Froyd <froydnj@codesourcery.com>
5706
5707 * lto.c (lto_read_base_type_DIE): Use make_bitfield_integer_type to
5708 construct the integer type for bitfields.
5709
3f8257db 57102007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5711
5712 * lto-read.c (data_in.current_node_has_loc): Removed.
5713 (input_line_info): Returns true if node needs line set.
5714 (set_line_info): Always sets line if called.
5715 (clear_line_info): Removed reference to current_node_needs_loc.
5716 (input_expr_operand): Keeps track locally if current node needs a loc.
5717 (input_local_var): Added code to handle DECL_INITIAL for
5718 static local vars. Only set loc if necessary.
ab20d992 5719
d7f09764
DN
57202007-11-15 Nathan Froyd <froydnj@codesourcery.com>
5721
5722 * lto.c (lto_read_subroutine_type_subprogram_DIE): Fix thinko'd
5723 DECL_CONTEXT.
5724
57252007-11-15 Nathan Froyd <froydnj@codesourcery.com>
5726
5727 * lto.c: Include langhooks.h.
5728 (lto_find_integral_type): Rework logic to handle the case where
5729 got_byte_size is true, but the bitsize requested and that of the
5730 base_type doesn't match.
5731 (lto_read_variable_formal_parameter_constant_DIE): Only check for
5732 asm_name if we are creating a VAR_DECL.
5733 (lto_materialize_function): Set DECL_EXTERNAL if we can't find a
5734 definition.
5735 (lto_read_subroutine_type_subprogram_DIE): Check for a builtin
5736 function reference and use the builtin's decl if so. Set the
5737 DECL_CONTEXT of the RESULT_DECL for the function.
5738 * lto-lang.c (registered_builtin_fndecls): New variable.
5739 (lto_getdecls): Return it.
5740 (lto_builtin_function): Chain the new decl onto
5741 registered_builtin_fndecls.
5742
3f8257db 57432007-11-15 Kenneth Zadeck <zadeck@naturalbridge.com>
ab20d992 5744
d7f09764
DN
5745 * lto-read.c (process_tree_flags, lto_static_init_local):
5746 Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
5747 (input_line_info, clear_line_info): Fixed new line number code.
5748 (input_expr_operand): Added type to SWITCH_EXPR.
5749 (lto_read_body): Properly initialized data_in.
5750 Clear line info when leaving.
ab20d992 5751
d7f09764
DN
57522007-11-13 Diego Novillo <dnovillo@google.com>
5753
5754 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
5755 Initialize ARTIFICIAL.
5756 (lto_read_subroutine_type_subprogram_DIE): Initialize
5757 SAVED_SCOPE.
5758 * lto-read.c (set_line_info): Remove ; from calls to
5759 LINEMAP_POSITION_FOR_COLUMN.
5760
3f8257db 57612007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5762
5763 * lto-read.c (input_type_ref): Renamed from get_type_ref.
ab20d992 5764 (input_expr_operand, input_local_var): Renamed get_type_ref to
d7f09764 5765 input_type_ref.
ab20d992 5766 (input_expr_operand): Get the types correct for
d7f09764 5767 vector-cst. Get SSA_NAME_DEF_STMT correct for return_exprs.
ab20d992 5768
d7f09764
DN
57692007-11-13 Doug Kwan <dougkwan@google.com>
5770
5771 * lto-read.c (input_widest_uint_uleb128): New function.
5772 (input_tree_flags, process_tree_flags, input_line_info,
5773 input_expr_operand, input_local_var, input_phi, input_ssa_names):
5774 Change to use lto_flags_type and BITS_PER_LTO_FLAGS_TYPES instead of
5775 unsigned HOST_WIDE_INT and HOST_BITS_PER_WIDE_INT.
5776 (lto_static_init_local): Add code to assert that lto_flags_type is
5777 wide enough.
5778
57792007-11-13 Nathan Froyd <froydnj@codesourcery.com>
5780
5781 * lto.c (lto_read_array_type_DIE): Handle DW_AT_GNU_vector.
5782 (lto_read_subroutine_type_subprogram_DIE): Handle
5783 DW_AT_static_link and DW_AT_specification. Return the
5784 specification if present.
5785 (lto_read_base_type_DIE): Handle DW_ATE_complex_float.
ab20d992 5786
d7f09764
DN
57872007-11-13 Nathan Froyd <froydnj@codesourcery.com>
5788
5789 * lto-lang.c: Include target.h.
5790 (registered_builtin_types): New variable.
5791 (lto_type_for_mode): Increase number of modes handled.
5792 (lto_builtin_function): Fix argument list and return the decl.
5793 (lto_register_builtin_type): New function.
5794 (lto_init): Initialize target builtins and language-independent
5795 nodes.
5796 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define.
5797
3f8257db 57982007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5799
5800 * lto-read.c (input_expr_operand): Added code to properly handle
5801 index filed. Added new RANGE_EXPR case.
ab20d992 5802
3f8257db 58032007-11-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5804
5805 * lto-read.c (ADD_FUNC_FLAG): Deleted macro.
5806 (data_in): Added current_node_has_loc field.
5807 (input_line_info, set_line_info, clear_line_info): Added a support
5808 for USE_MAPPED_LOCATION and not adding line numbers to nodes that
5809 did not have on on the source side.
5810 (input_expr_operand): Make sure that GIMPLE_MODIFY_STMTS get line
5811 numbers too.
5812
58132007-11-09 Doug Kwan <dougkwan@google.com>
5814
5815 * lto-read.c (input_expr_operand): Change type of operand 2 of
5816 BIT_FIELD_REF expression to be bitsizetype instead of sizetype.
5817
58182007-11-09 Nathan Froyd <froydnj@codesourcery.com>
5819
5820 * lto.c: Include lto-tree.h. Effect small spaces->tabs cleanup.
5821 (lto_read_variable_formal_parameter_constant_DIE): Transfer bits
5822 from a DW_AT_specification or DW_AT_abstract_origin attribute to
5823 the new decl we are creating. Move informing the middle end about
5824 the new decl to...
5825 (lto_main): ...here. Inform the middle end about global variables
5826 after we have read in all the input files.
5827 * lto-symtab.c (lto_symtab_merge_decl): We really do need to merge
5828 variables with internal linkage, so delete the check for internal
5829 linkage. Combine TREE_PUBLIC flags.
5830
58312007-11-08 Nathan Froyd <froydnj@codesourcery.com>
5832
5833 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
5834 DW_AT_decl_line.
5835 * lto-symtab.c (lto_symtab_merge_decl): Handle redefinition of a
5836 builtin specially. Move check for attribute compatibility
5837 earlier.
5838
58392007-11-07 Nathan Froyd <froydnj@codesourcery.com>
5840
5841 * Make-lang.in (lto/lto.o): Depend on gt-lto-lto.h.
5842 * config-lang.in (gtfiles): Add lto.h and lto.c.
5843 * lto-elf.c: Include ggc.h.
5844 (lto_elf_file_open): Allocate elf_file from GC memory.
5845 * lto.c: Include tree-ssa-operands.h and gt-lto-lto.h
5846 (lto_info_fd_init): Allocate the die_cache and unmaterialized_fndecls
5847 in GC memory.
5848 (lto_info_fd_close): Free unmaterialized_fndecls from GC memory.
5849 (lto_file_close): Free file from GC memory.
5850 (lto_cache_store_DIE): Allocate the new entry in GC memory.
5851 (lto_read_member_DIE): Fix declaration.
5852 (lto_read_subroutine_type_subprogram_DIE): unmaterialized_fndecls lives
5853 in GC memory.
5854 (current_lto_file): New variable.
5855 (lto_main): Use it.
5856 (DWARF2_attr, DWARF2_abbrev, lto_die_ptr, DWARF2_CompUnit,
5857 lto_die_cache_entry): Move to...
5858 * lto.h: ...here and add GTY markers as appropriate. Delete forward
5859 declarations accordingly.
5860 (struct lto_file_struct): Declare.
5861 (lto_file_vtable): Use it instead of lto_file.
5862
ab20d992
JJ
58632007-11-06 Alon Dayan <alond@il.ibm.com>
5864 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5865
5866 * lto-read.c (process_flags, lto_static_init_local):
5867 read flags of VAR_DECL and FUNCTION_DECL of size>1.
5868 change global array num_flags_for_code to flags_length_for_code.
5869 (set_line_info): Make decls work in USE_MAPPED_LOCATION mode.
ab20d992 5870
d7f09764
DN
58712007-11-05 Nathan Froyd <froydnj@codesourcery.com>
5872
5873 * lto.c (lto_read_structure_union_class_type_DIE): Use proper record
5874 layout functions to compute information about the newly constructed
5875 type.
5876
58772007-11-02 Nathan Froyd <froydnj@codesourcery.com>
5878
5879 * lto-read.c (input_expr_operand): Change the LTO_return_expr1
5880 case to use DECL_RESULT if necessary.
5881
3f8257db 58822007-11-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5883
5884 * lto-read.c (input_tree_list): Removed.
5885 (input_tree_flags): Added parameter to force flags no matter what
5886 tree code.
5887 (input_expr_operand): Added parameter to input_tree_flags.
5888 Added case for IDENTIFIER_NODE and TREE_LIST. Changed ASM to call
5889 input_expr_operand rather than input_tree_lists.
5890 (input_local_var): Use input_expr_operand to read attributes
5891 rather then input_tree_list.
5892 (input_phi, input_ssa_names): Added parameter to input_tree_flags.
5893
58942007-10-31 Nathan Froyd <froydnj@codesourcery.com>
5895
5896 * lto.c (lto_read_typedef_DIE): Fix comment typo.
5897 (lto_resolve_typedecl_ref): Fetch the referred-to type and build a fake
5898 TYPE_DECL for it.
5899 * lto-read.c (lto_read_body): Use correct sizes for calculating
5900 type_decls_offset and types_offset.
5901
59022007-10-30 Nathan Froyd <froydnj@codesourcery.com>
5903
5904 * lto-tree.h (union lang_tree_node): Change GTY description to chain
5905 with GENERIC_NEXT.
5906 * config-lang.in (gtfiles): Add lto-lang.c.
5907 * lto-lang.c: Include gt-lto-lto-lang.h.
5908 * Make-lang.in (lto/lto-lang.o): Add dependency on gt-lto-lto-lang.h
5909 (lto/lto-symtab.o): Depend on LTO_H instead of TREE_H.
5910 (lto/lto-read.o): Likewise.
5911
3f8257db 59122007-10-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5913
5914 * lto-read.c (data_in): Added type_decls and current_col fields.
5915 (string_slot): New type to hold canonized file name.
ab20d992 5916 (hash_string_slot_node, eq_string_slot_node, canon_file_name,
d7f09764
DN
5917 input_line_info, set_line_info, clear_line_info): New functions.
5918 (file_name_hash_table): New hash table.
ab20d992 5919 (input_local_var, input_labels, input_local_vars_index,
d7f09764
DN
5920 input_local_var, input_local_vars, input_ssa_names): Reorganized parameters.
5921 (input_uleb128): Changed type of byte var.
5922 (input_expr_operand): Large number of changes to get line numbers
5923 correct. Added TYPE_DECL case.
5924 (input_globals): Added code to get TYPE_DECLs processed.
5925 (input_local_var): Added code to process line numbers and
5926 TREE_CHAIN and DECL_CONTEXT.
5927 (input_function, input_constructor): Added call to
5928 clear_line_number.
5929 (lto_static_init_local): Added code to get line numbers correct.
5930 (lto_read_body): Added code to get TYPE_DECLS read and to change
5931 parameters to the calls above that had their parms reorganized.
5932
d7f09764
DN
59332007-10-29 Nathan Froyd <froydnj@codesourcery.com>
5934
5935 * lto.h (lto_resolve_typedecl_ref): Declare.
5936 * lto.c (lto_resolve_typedecl_ref): New function.
5937
59382007-10-29 Mark Mitchell <mark@codesourcery.com>
5939 Nathan Froyd <froydnj@codesourcery.com>
5940
5941 * lto.c (lto_read_subroutine_type_subprogram_DIE): Read the child
5942 DIEs even if we find an abstract origin for this DIE.
5943
59442007-10-29 Nathan Froyd <froydnj@codesourcery.com>
5945
5946 * lto.c (lto_read_subroutine_type_subprogram_DIE): Build the
5947 RESULT_DECL slightly earlier. Only remember the decl for later
5948 if we successfully merge declarations.
5949
3f8257db 59502007-10-24 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5951
5952 * lto-read.c (input_expr_operand): Give label_values the proper
5953 context and provide switch statements with a default type.
ab20d992 5954
d7f09764
DN
59552007-10-23 Nathan Froyd <froydnj@codesourcery.com>
5956
5957 * lto-read.c (lto_read_body): Move call to init_ssa_operands...
5958 * lto.c (lto_materialize_function): ...to here.
5959
59602007-10-22 Nathan Froyd <froydnj@codesourcery.com>
5961
5962 * lto.h (struct lto_info_fd): Add field unmaterialized_fndecls.
5963 * lto.c (lto_info_fd_init): Initialize it.
5964 (lto_info_fd_close): Free it.
5965 (lto_materialize_function): New function.
5966 (lto_read_subroutine_type_subprogram_DIE): Save the result decl on
5967 unmaterialized_fndecls.
5968 (lto_file_read): Read in all the function bodies after we have read
5969 all of the DWARF info.
5970 * lto-read.c (lto_read_body): Call init_ssa_operands if we are
5971 reading a function body.
5972
3f8257db 59732007-10-20 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5974
5975 * lto-read.c (input_tree_flags): Renamed from input_flags to be
5976 semetric with output_tree_flags. Added call to log flags.
5977 (process_tree_flags): Renamed from process_flags. Fixed a lot of
5978 type issues to make everything consistent with flags being
5979 unsigned HOST_WIDE_INTS.
5980 (input_expr_operand): Added call to
5981 recompute_tree_invariant_for_addr_expr.
5982 (input_local_var): Added debugging for tree_chains. Now calls
5983 input_tree_flags.
5984 (input_phi): Made flags unsigned HOST_WIDE_INT.
5985 (input_ssa_names): Now calls input_tree_flags.
5986 (lto_read_body): Now sets cfun.
5987 (lto_read_function_body): Now sets current_function_pointer.
ab20d992 5988
d7f09764
DN
59892007-10-19 Nathan Froyd <froydnj@codesourcery.com>
5990
5991 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Check
5992 definitively whether SPECIFICATION or ABSTRACT_ORIGIN exist before
5993 inspecting fields within.
5994 (lto_read_DIE_at_ptr): Delete check for null result; let callers
5995 handle this appropriately.
5996
59972007-10-19 Nathan Froyd <froydnj@codesourcery.com>
5998
5999 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Handle
6000 DW_AT_abstract_origin properly. Ensure that we're not dealing with
6001 both DW_AT_abstract_origin and DW_AT_specification.
6002 (lto_read_subroutine_type_subprogram_DIE): Handle
6003 DW_AT_abstract_origin.
6004 (lto_read_DIE): Use lto_read_only_for_child_DIEs for labels.
6005 (lto_read_DIE_at_ptr): Define as static to match declaration.
6006 Lookup the PTR in the cache before reading it from the file.
6007 (lto_resolve_var_ref): Adjust accordingly.
6008 (lto_resolve_fn_ref): Adjust accordingly. Tweak comment.
6009 (lto_resolve_field_ref): Adjust accordingly. Tweak comment.
6010
60112007-10-19 Nathan Froyd <froydnj@codesourcery.com>
6012
6013 * lto.c (lto_read_DIE_at_ptr): New function.
6014 (lto_resolve_var_ref): Use it.
6015 (lto_resolve_fn_ref): Use it.
6016 (lto_resolve_field_ref): Use it.
6017 (lto_read_variable_formal_parameter_constant_DIE): Follow
6018 DW_AT_specification and return the associated decl when appropriate.
6019
60202007-10-18 Nathan Froyd <froydnj@codesourcery.com>
6021
6022 * lto-lang.c (lto_type_for_mode): Move after lto_type_for_size.
6023 Implement for scalar integer modes.
6024 (lto_init): Initialize size_type_node.
6025
3f8257db 60262007-10-18 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6027
6028 * lto-read.c (input_expr_operand): Remove ssa name asserts.
6029 (input_local_var): Add chaining for params.
6030 (input_ssa_names): Add cfun parameter.
6031 (input_function): Remove unnecessary else.
6032
60332007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6034
6035 * lto.c (lto_read_only_for_child_DIEs): Mark die parameter as unused.
6036 (lto_resolve_var_ref): Use proper types.
6037 (lto_resolve_fn_ref): Likewise.
6038 (lto_resolve_field_ref): Likewise.
6039
60402007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6041
6042 * lto-read.c (input_expr_operand): Remove case.
6043
60442007-10-17 Nathan Froyd <froydnj@codesourcery.com>
6045
6046 * lto.c (lto_read_only_for_child_DIEs): New function.
6047 (lto_read_DIE): Use it for lexical_block and inlined_subroutine DIEs.
6048 * lto-elf.c (lto_elf_map_lto_section): Remove.
6049 (lto_elf_file_vtable): Use lto_elf_map_optional_lto_section instead.
6050 * lto-read.c (input_expr_operand): Assert that we never read a NULL
6051 SSA_NAME. Add missing case for mechanical codes.
6052 (input_cfg): Use basic_block_info_for_function instead of
6053 basic_block_info.
6054
3f8257db 60552007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6056
6057 * lto-read.c (input_sleb128, input_integer): Use proper casts.
6058 (input_list): Renamed input_tree_list and modified to follow same
6059 protocol as lto-function-out.c:output_tree_list.
6060 (input_expr_operand): Make asm operands use input_tree_list.
6061 (input_local_var): Now uses input_tree_list.
6062 (lto_read_body): Change placement for setting context of debug_labels.
ab20d992 6063
3f8257db 60642007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6065
6066 * lto-read.c (input_real): Output debugging in proper order.
6067 (input_integer): Compute bit lengths properly.
6068 (input_list): Clean up declaration.
6069 (input_expr_operand): Change calls to input_real to match fix.
6070 Make reading of LTO_bit_field_ref1 match output.
6071 (input_local_var): Make reading of attributes match what is being
6072 written.
6073 (dump_debug_stream): Also print char in hex.
6074 (debug_out_fun): Fix signed unsigned mismatch.
ab20d992 6075
d7f09764
DN
60762007-10-10 Nathan Froyd <froydnj@codesourcery.com>
6077
6078 * lto.c (lto_read_form): Handle DW_AT_MIPS_linkage_name and
6079 DW_AT_GNU_vector specially, as they are not contiguous with the
6080 specified set of attribute names. Use class_mask to check for
6081 errors at the end of the function
6082 (lto_resolve_var_ref): Read the DIE if it is not cached.
6083 (lto_resolve_fn_ref): Likewise.
6084 (lto_resolve_field_ref): Likewise.
6085
60862007-10-05 Nathan Froyd <froydnj@codesourcery.com>
6087
6088 * lto.c: Include dwarf2out.h.
6089 (lto_cache_store_DIE): Assert that we never change the value.
6090 (LTO_BEGIN_READ_ATTRS): Print an informative error message.
6091 (lto_read_compile_unit_DIE): Handle DW_AT_entry_pc.
6092 (lto_read_array_type_DIE): Don't error on ndims == 0; build a
6093 sensible type instead.
6094 (lto_read_structure_union_class_type_DIE): Store the newly
6095 created type prior to reading the members of the structure to
6096 avoid infinite recursion. Avoid computing types and alignments
6097 for structures whose sizes are unknown.
6098 (lto_read_variable_formal_parameter_const): Handle DW_AT_artificial
6099 and set DECL_ARTIFICIAL accordingly. Ignore DW_AT_abstract_origin,
6100 DW_AT_const_value, and DW_AT_specification.
6101 (lto_read_subroutine_type_subprogram_DIE): Handle DW_AT_declaration.
6102 Return early if we have already constructed the function type.
6103 (lto_read_typedef_DIE): Check to see if the type has been cached
6104 already. Cache the type before reading any children.
6105 (lto_read_const_volatile_restrict_type_DIE): Handle DW_AT_name.
6106 (lto_read_DIE): Unset context->skip_non_parameters around reading
6107 the DIE.
6108 (lto_resolve_fn_ref): Delete trailing whitespace.
6109
3f8257db 61102007-09-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6111
6112 * lto-read.c (input_expr_operand): Added type for STRING_CST.
ab20d992 6113
d7f09764
DN
61142007-09-10 Nathan Froyd <froydnj@codesourcery.com>
6115
6116 * lto-read.c (lto_read): Set the type of the newly created CALL_EXPR.
6117
61182007-09-07 Nathan Froyd <froydnj@codesourcery.com>
6119
6120 * lto-lang.c (signed_and_unsigned_types): New variable.
6121 (lto_type_for_size): Consult signed_and_unsigned_types to find
6122 an approprite type, creating it if necessary.
6123 (lto_set_decl_assembler_name): Add actual method body.
6124
61252007-09-06 Jim Blandy <jimb@codesourcery.com>
6126
6127 * lto.c (lto_read_variable_formal_parameter_constant_DIE): If we
6128 can't find a var init for this variable, leave its DECL_INITIAL.
6129 * lto-elf.c (lto_elf_map_optional_lto_section): Renamed from
6130 lto_elf_map_fn_body.
6131 (lto_map_lto_section): New function.
6132 (lto_elf_file_vtable): Use lto_elf_map_lto_section for function
6133 bodies, and lto_elf_map_optional_lto_section for variable
6134 initializers.
6135 (lto_elf_find_section_data): Quietly return NULL if the section is
6136 missing.
6137 (lto_elf_file_open): Check for a NULL from lto_elf_find_section_data.
6138
6139 * lto-elf.c (lto_elf_find_section_data): Remove dead code.
6140
6141 * lto-read.c (lto_read_body): Doc fix.
6142
3f8257db 61432007-08-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6144
6145 * lto-read.c (fun_in): Renamed to data_in.
6146 (input_expr_operand, input_local_var, input_string_internal,
ab20d992 6147 input_string, input_real, input_list, get_label_decl,
d7f09764 6148 get_type_ref, input_expr_operand, input_globals, input_labels,
ab20d992 6149 input_local_vars_index, input_local_var, input_local_vars,
d7f09764
DN
6150 input_cfg, input_phi, input_ssa_names, input_bb, ): Renamed fun_in to data_in.
6151 (input_constructor): New function.
6152 (lto_read_function_body): Renamed to lto_read_body and generalized
6153 to handle both functions and constructors.
6154 (lto_read_function_body, lto_read_var_init): New function.
ab20d992 6155
3f8257db 61562007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6157
6158 * lto-read.c (input_expr_operand): Assert that there really is a
6159 FUNCTION_DECL.
6160 (input_globals): Removed checks on 0 section.
ab20d992 6161
3f8257db 61622007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6163
6164 * lto-read.c (fun_in): Added local_decls_index and
ab20d992 6165 local_decls_index_d.
d7f09764
DN
6166 (input_expr_operand): Changed inputting of PARM_DECLs and VAR_DECLs.
6167 (input_globals): Enabled code to handle FIELD_DECLs.
6168 (input_local_vars_index, input_local_vars): New function.
6169 (input_local_var): Changed to allow locals to be input randomly.
6170 (lto_read_function_body): Added code to input the
6171 local_decls_index and to free various structures.
ab20d992 6172
d7f09764
DN
61732007-08-17 Jim Blandy <jimb@codesourcery.com>
6174
6175 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Remove
6176 ATTRIBUTE_UNUSED from 'die' formal.
6177
6178 Use enum LTO_tags where appropriate, instead of 'unsigned int'.
6179 * lto-read.c (input_record_start): Fix return type, type of 'tag'.
6180 (input_list): Fix type of 'tag'.
6181 (input_expr_operand): Fix type of 'tag' argument. Update
6182 declaration. Fix type of 'ctag'. Add default case to switch,
6183 since the type of the switched value is now an enum.
6184 (input_local_vars): Fix type of 'tag'.
6185 (input_bb): Fix type of 'tag' argument.
6186 (input_function): Fix type of 'tag' argument.
6187
61882007-08-16 Jim Blandy <jimb@codesourcery.com>
6189
6190 * lto.c (lto_read_member_DIE): Record the tree we create in
6191 fd->die_cache. (Our 'die' argument is no longer unused.)
6192 (lto_resolve_field_ref): New function.
6193 * lto.h (lto_resolve_field_ref): New declaration.
6194
61952007-08-15 Jim Blandy <jimb@codesourcery.com>
6196
6197 * lto-read.c (lto_read_var_init): Mark arguments as unused.
6198
61992007-08-07 Jim Blandy <jimb@codesourcery.com>
6200
6201 * lto.c (lto_read_form): Complete attr_classes table.
6202 (DWARF2_form_data): Doc fix.
ab20d992 6203
d7f09764
DN
62042007-08-05 Mark Mitchell <mark@codesourcery.com>
6205
6206 * lto.h (lto_file_vtable): Remove read_var_init. Add map_var_init
6207 and unmap_var_init.
6208 (lto_read_var_init): Declare.
6209 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Use new
6210 interface for reading variable initializers.
6211 * lto-elf.c (lto_elf_read_var_init): Remove.
6212 (lto_elf_file_vtable): Update initializer.
6213 (lto_elf_read_var_init): Add comment about unused-ness.
6214 * lto-read.c (lto_read_var_init): New.
6215
6216 * lto.c (lto_read_form): Add entry for DW_AT_inline.
6217
3f8257db 62182007-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6219
6220 * lto-read.c (lto_read_function_body): Moved declaration of fn
6221 outside of ifdef.
ab20d992 6222
3f8257db 62232007-08-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6224
6225 * lto-read.c (input_uleb128, input_string_internal, input_real,
6226 input_integer, input_record_start, input_list, get_type_ref,
6227 input_flags, input_expr_operand, input_expr_operand,
6228 input_expr_operand, input_local_vars, input_cfg, input_phi,
6229 input_ssa_names, input_bb, input_function): Added semicolons.
6230
ab20d992 6231
3f8257db 62322007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6233
6234 * lto-read.c (input_globals): Remove debugging.
6235 (input_function): Set DECL_ARGUMENTS.
6236
3f8257db 62372007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6238
6239 * lto-read.c (input_expr_operand): Fixed code for COND_EXEC,
6240 RETURN_EXPR, MODIFY_EXPR and processing of flags.
6241 (input_phi): Made work with operands other than SSA_NAMES and
6242 fixed processing of flags.
6243 (input_ssa_names): Initialize SSA_NAME_DEF_STMT to empty stmt.
6244 (input_flags): New function.
6245 * lto-lang.c (lto_init): Changed state of in_lto_p.
ab20d992
JJ
6246
6247
d7f09764
DN
62482007-07-24 Mark Mitchell <mark@codesourcery.com>
6249
6250 * lto-tree.h (lto_varargs_cookie): Remove.
6251 * lto.c (lto_context): Add last_parm_type, varargs_p, skip_all,
6252 skip_non_parameters, skip_parameters.
6253 (lto_varargs_cookie): Remove.
6254 (lto_read_variable_formal_parameter_constant_DIE): Keep track of
6255 parameter types.
6256 (lto_read_abbrev): New function.
6257 (lto_read_subroutine_type_subprogram_DIE): Make two passes over
6258 child DIEs.
6259 (lto_read_unspecified_parameters_DIE): Set context->varargs_p.
6260 (lto_read_DIE): Use lto_read_abbrev. Honor skip_* flags.
6261 (lto_file_read): Initialize new context fields.
6262 * lto-lang.c (lto_type_for_mode): Return NULL_TREE.
6263 (lto_unsigned_type): Remove.
6264 (lto_signed_type): Likewise.
6265 (lto_signed_or_unsigned_type): Likewise.
6266 (lto_init): Do not create lto_varargs_cookie.
6267 (LANG_HOOKS_UNSIGNED_TYPE): Do not define.
6268 (LANG_HOOKS_SIGNED_TYPE): Likewise.
6269 (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Likewise.
6270
62712007-07-19 Jan Hubicka <jh@suse.cz>
6272
6273 * lto-read.c (lto_read_function_body): Produce empty scope block
6274 to avoid crash.
6275
62762007-07-18 Mark Mitchell <mark@codesourcery.com>
6277
6278 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Do not
6279 process local variables.
6280 (lto_read_subroutine_type_subprogram_DIE): Read child DIEs.
6281
3f8257db 62822007-07-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6283
6284 * lto-read.c (input_list, input_expr_operand): Added struct
6285 function parameter.
6286 (init_cfg, finalize_cfg): Removed function.
6287 (input_expr_operand): Added SSA_NAME and GIMPLE_MODIFY_STMT cases.
6288 (input_labels, input_local_vars): Now takes input_block parameter rather than
6289 synthsyzing it.
6290 (input_cfg, input_phi, input_ssa_names): New functions.
6291 (input_bb): Now passes in input_blocks. Does not construct cfg
6292 and processes the list of phi functions.
6293 (input_function): Now builds both the cfg and ssa_names table.
6294 (lto_read_function_body): Processes new header fields to construct
6295 streams for the ssa_names and cfg and their debugging.
ab20d992
JJ
6296 * lto-lang.c (lto_init): Set in_lto_p.
6297
6298
d7f09764
DN
62992007-06-28 Mark Mitchell <mark@codesourcery.com>
6300
6301 * lto.h (lto_file_vtable): Add read_var_init.
6302 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Read
6303 initializers.
6304 (lto_main): Remove bogus asserts.
6305 * lto-elf.c (tm.h): Include it.
6306 (libiberty.y): Likewise.
6307 (lto_elf_file): Add strtab and symtab. Rename
6308 string_table_section_index to sec_strtab.
6309 (lto_elf_file_vtable): Add lto_elf_read_var_init.
6310 (lto_elf_get_shdr): New function.
6311 (lto_elf_free_shdr): Likewise.
6312 (lto_elf_find_section_data): Use them.
6313 (lto_elf_read_symtab): New function.
6314 (lto_elf_lookup_sym): Likewise.
6315 (lto_elf_free_sym): Likewise.
6316 (lto_elf_file_open): Tidy. Call lto_elf_read_symtab.
6317 (lto_elf_built_init): New function.
6318 (lto_elf_read_var_init): Likewise.
6319 * Make-lang.in (lto/lto-elf.o): Depend on $(TM_H).
6320
3f8257db 63212007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6322
6323 * lto-read (make_new_block): Initialize the stmt_list.
6324 (lto_static_init_local): Add debugging for missing codes.
ab20d992 6325
d7f09764
DN
63262007-06-26 Mark Mitchell <mark@codesourcery.com>
6327
6328 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
ab20d992 6329 unprototyped functions.
d7f09764
DN
6330
63312007-06-23 Mark Mitchell <mark@codesourcery.com>
6332
6333 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
6334 Handle DW_AT_MIPS_linkage_name.
6335 (lto_read_subroutine_type_subprogram): Likewise. Correct
6336 compilation errors.
6337 (lto_main): Remove incorrect assertions.
6338 * lto-symbtab.c: Build function types out of TREE_LISTs.
6339
6340 * lto-elf.c (<libelf>): Check for HAVE_LIBELF_H.
ab20d992 6341
d7f09764 6342 * Make-lang.in (LTO_OBJS): Depend on attribs.o.
ab20d992 6343
3f8257db 63442007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 6345
ab20d992 6346 * lto-tree.h (lang_decl, lang_type, language_function): Added
d7f09764 6347 dummy since ggc does not like empty structs.
ab20d992
JJ
6348 * lto-elf.c (libelf.h): Changed to libelf/libelf.h.
6349 * lto-read.c (ADD_CLASS_FLAG, ADD_EXPR_FLAG): Changed
d7f09764
DN
6350 expr->common to expr->base.
6351 (make_new_block): Moved stmt_list to proper place.
6352
ab20d992 63532007-03-14 Robert Kennedy <jimbob@google.com>
d7f09764
DN
6354
6355 Eliminate use of lang_hooks.set_decl_assembler_name from LTO
6356 * lto.c (lto_read_subroutine_type_subprogram_DIE) Get DECL
6357 assembler name from DWARF.
6358 * lto-lang.c (lto_set_decl_assembler_name) New function.
6359
63602006-09-10 Mark Mitchell <mark@codesourcery.com>
6361
6362 * lto.h (lto_file_vtable): New structure.
6363 (lto_file): Add vtable pointer.
6364 (lto_file_init): Add vtable paramter.
6365 (lto_read_function_body): New function.
6366 (lto_symtab_merge_fn): New function.
6367 * lto.c (lto_file_init): Add vtable parameter.
6368 (lto_read_form): Fill in entries for DW_AT_prototyped,
6369 DW_AT_frame_base.
6370 (lto_read_subroutine_type_subprogram_DIE): New function.
6371 (lto_read_DIE): Fill in entries for DW_TAG_subroutine_type and
6372 DW_TAG_subprogram.
6373 * lto-elf.c (lto_elf_vile_vtable): New variable.
6374 (lto_elf_file_open): Pass it to lto_file_init.
6375 (lto_elf_map_fn_body): New function.
6376 (lto_elf_unmap_fn_body): Likewise.
6377 * lto-read.c: New file.
6378 * lto-symtab.c (lto_symtab_merge_fn): New function.
6379 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define to
6380 tree_rest_of_compilation.
6381 * Make-lang.in (LTO_OBJS): Add lto-read.o
6382 (lto-read.o): New target.
6383
63842006-09-03 Mark Mitchell <mark@codesourcery.com>
6385
6386 * lto.c (<inttypes.h>): Don't include it.
6387 (lto_context): Don't typedef it.
6388 (lto_resolve_reference): New function.
6389 (lto_read_form): Use it.
6390 (lto_resolve_type_ref): New function.
6391 (lto_resolve_var_ref): Likewise.
6392 (lto_resolve_fn_ref): Likewise.
6393 * lto.h (<inttypes.h>): Include it.
6394 (lto_context): New type.
6395 (lto_ref): New structure.
6396 (lto_resolve_type_ref): Declare.
6397 (lto_resolve_var_ref): Likewise.
6398 (lto_resolve_fn_ref): Likewise.
6399
64002006-08-18 Mark Mitchell <mark@codesourcery.com>
6401
6402 * lang-specs.h: New file.
6403
64042006-08-14 Mark Mitchell <mark@codesourcery.com>
6405
6406 * lto.c (lto_info_fd_init): Allocate the DIE cache.
6407 (lto_info_fd_close): Deallocate it.
6408 (lto_die_cache_entry): New structure.
6409 (lto_cache_hash): New function.
6410 (lto_cache_eq): Likewise.
6411 (lto_cache_store_DIE): Likewise.
6412 (lto_cache_lookup_DIE): Likewise.
6413 (lto_read_referenced_type_DIE): Use the cache.
6414 (lto_read_pointer_type_DIE): Robustify.
6415 (lto_read_DIE): Use the cache.
6416 * lto.h (hashtab.h): Include.
6417 (lto_info_fd): Add DIE cache.
6418 * Make-lang.in (LTO_H): New variable.
6419 (lto/lto-lang.o): Use LTO_H.
6420 (lto/lto-elf.o): Likewise.
6421 (lto/lto-symtab.o): Likewise.
6422
64232006-07-09 Mark Mitchell <mark@codesourcery.com>
6424
6425 * lto.c (lto_abi_mismatch_error): New function.
6426 (lto_abbrev_read): Initialize num_abbrevs.
6427 (lto_read_form): Specify allowed form classes for
6428 DW_AT_declaration. Adjust for change to lto_set_cu_context.
6429 (lto_read_variable_formal_parameter_constant_DIE): Handle
6430 DW_AT_declaration. Call lto_symtab_merge_var.
6431 (lto_read_pointer_type_DIE): New function.
6432 (lto_read_base_type_DIE): Use build_nonstandard_integer_type. Do
6433 not creat TYPE_DECLs for types that already have them.
6434 (lto_read_DIE): Add lto_read_pointer_type_DIE.
6435 (lto_set_cu_context): Make cu_start point to the header, not the
6436 first DIE.
6437 (lto_file_read): Adjust for change to lto_set_cu_context.
6438 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
6439 (lto/lto-symtab.o): New rule.
6440 * lto-tree.h (lang_identifier): Add decl field.
6441 (LANG_IDENTIFIER_CAST): New macro.
6442 (LTO_IDENTIFIER_DECL): Likewise.
6443 (lto_symtab_merge_var): Declare.
6444 * lto-symtab.c: New file.
6445
64462006-07-02 Daniel Berlin <dberlin@dberlin.org>
6447
6448 * lto.c (lto_context): Add current_cu and info_fd members.
6449 (DWARF2_CompUnit): New structure.
6450 (lto_read_DIE): Take lto_info_fd *.
6451 (lto_read_child_DIEs): Ditto.
6452 (lto_file_corrupt_error): Constify argument.
6453 (lto_set_cu_context): New function
6454 (lto_info_fd_init): Ditto.
6455 (lto_info_fd_close): Ditto.
6456 (lto_file_init): Use lto_info_fd_init.
6457 (lto_file_close): Use lto_info_fd_close.
6458 (lto_read_initial_length): Pass in pointer to header size.
6459 (lto_read_comp_unit_header): Correct cu_length to
6460 real length from beginning of header. Take lto_info_fd * as
6461 argument.
6462 (find_cu_for_offset): New function.
6463 (lto_read_form): Change first argument to lto_info_fd *.
6464 Add FORM_CONTEXT argument.
6465 Handle DW_FORM_ref_addr.
ab20d992 6466 (lto_read_tag_DIE): Change first argument to lto_info_fd *.
d7f09764
DN
6467 (LTO_BEGIN_READ_ATTRS_UNCHECKED): Save old context.
6468 Swap contexts if necessary for form.
6469 (LTO_BEGIN_READ_ATTRS): Cast fd to right type for
6470 lto_file_corrupt_error.
6471 (LTO_END_READ_ATTRS): Swap contexts back if it had changed.
6472 (lto_read_referenced_type_DIE): Change first argument to
6473 lto_info_fd *. Access lto_fd fields through base pointer.
6474 (lto_read_compile_unit_DIE): Change first argument to an
6475 lto_info_fd *.
6476 (lto_read_variable_formal_parameter_constant_DIE): Ditto.
6477 (lto_read_base_type_DIE): Ditto.
6478 (lto_read_child_DIEs): Ditto.
6479 (lto_read_DIE): Ditto. Change type of function pointer.
6480 (lto_info_read): New function.
6481 (lto_set_cu_context): Ditto.
6482 (lto_file_read): Use lto_info_read, walk resulting CU's
6483 (lto_main): Update for lto_info_fd change.
6484 * lto-elf.c (lto_elf_file_open): Cast lto_info_fd to lto_fd where
6485 necessary.
6486 * lto.h (DWARF2_CompUnit): New structure.
6487 (lto_info_fd): Ditto.
6488 (lto_file): Change debug_info to be an lto_info_fd.
ab20d992 6489
d7f09764
DN
64902006-06-25 Mark Mitchell <mark@codesourcery.com>
6491
6492 * lto.c (toplev.h): Include it.
6493 (dwarf2.h): Likewise.
6494 (tree.h): Likewise.
6495 (tm.h): Likewise.
6496 (cgraph.h): Likewise.
6497 (ggc.h): Likewise.
6498 (inttypes.h): Likewise.
6499 (DWARF2_attr): New type.
6500 (DWARF2_abbrev): Likewise.
6501 (DWARF2_class): Likewise.
6502 (DWARF2_form_data): Likewise.
6503 (lto_context): Likewise.
6504 (lto_fd_init): New function.
6505 (lto_abbrev_fd_init): Likewise.
6506 (lto_abbrev_fd_close): Likewise.
6507 (lto_file_init): Use them.
6508 (lto_file_close): New function.
6509 (lto_file_corrupt_error): Likewise.
6510 (LTO_CHECK_INT_VAL): New macro.
6511 (lto_check_size_t_val): New function.
6512 (lto_check_int_val): Likewise.
6513 (LTO_READ_TYPE): New macro.
6514 (lto_read_ubyte): New function.
6515 (lto_read_uhalf): Likewise.
6516 (lto_read_uword): Likewise.
6517 (lto_read_uleb128): Likewise.
6518 (lto_read_initial_length): Likewise.
6519 (lto_abbrev_read_attrs): Likewise.
6520 (lto_abbrev_read): Likewise.
6521 (lto_abbrev_lookup): Likewise.
6522 (lto_read_section_offset): Likewise.
6523 (lto_read_comp_unit_header): Likewise.
6524 (lto_read_form): Likewise.
6525 (LTO_BEGIN_READ_ATTRS_UNCHECKED): New macro.
6526 (LTO_BEGIN_READ_ATTRS): Likewise.
6527 (LTO_END_READ_ATTRS): Likewise.
6528 (lto_unsupported_attr_error): New function.
6529 (lto_get_identifier): Likewise.
6530 (lto_read_referenced_type_DIE): Likewise.
6531 (lto_read_compile_unit_DIE): Likewise.
6532 (lto_read_variable_formal_parameter_constant_DIE): Likewise.
6533 (lto_read_base_type_DIE): Likewise.
6534 (lto_read_DIE): Likewise.
6535 (lto_read_child_DIEs): Likewise.
6536 (lto_file_read): Read DIEs.
6537 (lto_main): Ask middle end to emit entities.
6538 * lto-tree.h (lang_identifier): Inherit from tree_identifier.
6539 * lto-elf.c (lto_elf_file_open): Adjust for interface changes.
6540 (lto_elf_file_close): Likewise.
6541 * lto.h (lto_file): Declare.
6542 (DWARF2_abbrev): Likewise.
6543 (lto_fd): New type.
6544 (lto_abbrev_fd): Likewise.
6545 (lto_file): Use new types.
6546 (lto_file_close): Declare.
6547 * lto-lang.c (lto_init): Always use unit-at-a-time mode.
ab20d992 6548
d7f09764
DN
65492006-06-18 Mark Mitchell <mark@codesourcery.com>
6550
6551 * lto.h: New file.
6552 * lto.c: New file.
6553 * lto-elf.c: New file.
6554 * lto-lang.c (flags.h): Include it.
6555 (lto.h): Likewise.
6556 (lto_init): New function.
6557 (lto_write_globals): Remove.
ab20d992 6558 (LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing.
d7f09764
DN
6559 (LANG_HOOKS_INIT): Define.
6560 (LANG_HOOKS_PARSE_FILE): Likewise.
6561 * Make-lang.in (LTO_OBJS): Add lto.o and lto-elf.o.
6562 (LTO_EXE): Link with libelf.
6563 (lto/lto-lang.o): Update dependencies.
6564 (lto/lto.o): New target.
6565 (lto/lto-elf.o): Likewise.
6566
65672006-06-12 Mark Mitchell <mark@codesourcery.com>
6568
6569 * config-lang.in: New file.
6570 * Make-lang.in: Likewise.
6571 * lto-tree.h: Likewise.
6572 * lto-lang.c: Likewise.
818ab71a 6573\f
877e3c2a 6574Copyright (C) 2006-2022 Free Software Foundation, Inc.
d7f09764 6575
818ab71a
JJ
6576Copying and distribution of this file, with or without modification,
6577are permitted in any medium without royalty provided the copyright
6578notice and this notice are preserved.
This page took 6.385531 seconds and 5 git commands to generate.