]> gcc.gnu.org Git - gcc.git/blame - gcc/lto/ChangeLog
Update gcc de.po, sv.po.
[gcc.git] / gcc / lto / ChangeLog
CommitLineData
eefe499f
GA
12020-12-16 Martin Liska <mliska@suse.cz>
2
3 * lang.opt: Remove usage of Report.
4
82e5048e
GA
52020-11-20 Jakub Jelinek <jakub@redhat.com>
6
7 PR other/97911
8 * Make-lang.in (lto1.serial, lto2.serial): Change from goals to
9 variables.
10 (.PHONY): Drop lto1.serial, lto2.serial, lto1.prev and lto2.prev.
11 ($(LTO_EXE)): Depend on $(lto1.serial) rather than lto1.serial.
12 ($(LTO_DUMP_EXE)): Depend on $(lto2.serial) rather than lto2.serial.
13
25bb75f8
GA
142020-11-18 Jerry Clcanny <a837940593@gmail.com>
15
16 * lto-symtab.c (lto_symtab_merge_symbols): Fix typos in comment.
17
182020-11-18 Jakub Jelinek <jakub@redhat.com>
19
20 * Make-lang.in (lto, lto1.serial, lto2.serial): New goals.
21 (.PHONY): Add lto lto1.serial lto1.prev lto2.serial lto2.prev.
22 (lto.all.cross, lto.start.encap): Remove dependencies.
23 ($(LTO_EXE)): Depend on lto1.prev. Call LINK_PROGRESS.
24 ($(LTO_DUMP_EXE)): Depend on lto2.prev. Call LINK_PROGRESS.
25
4dabb037
GA
262020-11-17 Jan Hubicka <jh@suse.cz>
27
28 PR bootstrap/97857
29 * lto-common.c (gimple_register_canonical_type_1): Only
30 register types with TYPE_CXX_ODR_P flag; sanity check that no
31 conflict happens at ltrans time.
32
44cab2d8
GA
332020-11-06 Nathan Sidwell <nathan@acm.org>
34
35 * lto-symtab.c (lto_symtab_merge_decls_1): Rename
36 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
37
e93aae4a
GA
382020-10-28 Jakub Jelinek <jakub@redhat.com>
39
40 PR lto/96680
41 * lto-common.c (lto_fixup_prevailing_decls): Don't use
42 LTO_NO_PREVAIL on TREE_LIST's TREE_PURPOSE.
43 * lto-partition.c (lto_balanced_map): Treat declare_variant_alt
44 nodes like definitions.
45
efe71fcc
GA
462020-10-23 Jan Hubicka <hubicka@ucw.cz>
47
48 * lto-partition.c (add_symbol_to_partition_1): Update for new thunk
49 api.
50
8b394f01
GA
512020-08-27 Martin Liska <mliska@suse.cz>
52
53 * lto-common.c (lto_file_finalize): Set exact argument of a vector
54 growth function to true.
55
9a5b7438
GA
562020-06-03 Jan Hubicka <hubicka@ucw.cz>
57
58 * lto-common.c (compare_tree_sccs_1): Do not compare TYPE_VALUES.
59
bcb63eb2
JH
602020-05-22 Jan Hubicka <hubicka@ucw.cz>
61
62 * lto-common.c (lto_read_decls): Do not skip stray refs.
63
03d90a20
JH
642020-05-20 Jan Hubicka <hubicka@ucw.cz>
65
66 * lto-common.c (compare_tree_sccs_1): Sanity check that we never
67 read TRANSLATION_UNIT_DECL.
68 (process_dref): Break out from ...
69 (unify_scc): ... here.
70 (process_new_tree): Break out from ...
71 (lto_read_decls): ... here; handle streaming of singleton trees.
72 (print_lto_report_1): Update statistics.
73
eb72dc66
RB
742020-05-07 Richard Biener <rguenther@suse.de>
75
76 PR middle-end/94703
77 * lto-common.c (compare_tree_sccs_1): Compare
78 DECL_NOT_GIMPLE_REG_P.
79
575ac27f
JJ
802020-04-29 Jakub Jelinek <jakub@redhat.com>
81
82 PR target/94707
83 * lto-common.c (compare_tree_sccs_1): Handle DECL_FIELD_ABI_IGNORED.
84
b835645c
ML
852020-04-17 Martin Liska <mliska@suse.cz>
86
87 PR lto/94612
88 * lto-common.c: Initialize file_data->lto_section_header
89 before lto_mode_identity_table call. It is needed because
90 it decompresses a LTO section.
91
70df40ca
ML
922020-04-08 Martin Liska <mliska@suse.cz>
93
94 PR c++/94314
95 * lto-common.c (compare_tree_sccs_1): Compare also
96 DECL_IS_REPLACEABLE_OPERATOR.
97
158cccea
JJ
982020-03-25 Jakub Jelinek <jakub@redhat.com>
99
100 PR c++/94223
101 * lto-lang.c (lto_set_decl_assembler_name): Use a static ulong
102 counter instead of DECL_UID.
103
c2211a60
TB
1042020-03-24 Tobias Burnus <tobias@codesourcery.com>
105
106 PR libgomp/81689
107 * lto.c (offload_handle_link_vars): Propagate TREE_PUBLIC state.
108
ce641308
TB
1092020-01-29 Tobias Burnus <tobias@codesourcery.com>
110
111 * lto.c (offload_handle_link_vars): Reduce chance of
112 naming clashes of generated linkptr variable.
113
b809f0b6
TB
1142020-01-29 Tobias Burnus <tobias@codesourcery.com>
115
116 PR middle-end/94233
117 * lto.c (offload_handle_link_vars): Cleanup; call
118 build_decl to ensure alignment is set.
119
27736735
ML
1202020-02-05 Martin Liska <mliska@suse.cz>
121
122 PR lto/93489
123 * lto-dump.c (dump_list_functions): Do not
124 load body for aliases.
125 (dump_body): Likewise here.
126
f48c6014
ML
1272020-01-16 Martin Liska <mliska@suse.cz>
128
129 * lto-partition.c (lto_balanced_map): Remember
130 best_noreorder_pos and then restore to it
131 when we revert.
132
3629ff8a
ML
1332020-01-08 Martin Liska <mliska@suse.cz>
134
135 * lto-partition.c (add_symbol_to_partition_1): Use ::dump_name or
136 ::dump_asm_name instead of (::name or ::asm_name).
137 (lto_balanced_map): Likewise.
138 (promote_symbol): Likewise.
139 (rename_statics): Likewise.
140 * lto.c (lto_wpa_write_files): Likewise.
141
d597b944
ML
1422020-01-08 Martin Liska <mliska@suse.cz>
143
144 * lto-partition.c (lto_balanced_map): Use symtab_node::dump_name.
145
8d9254fc
JJ
1462020-01-01 Jakub Jelinek <jakub@redhat.com>
147
148 Update copyright years.
149
40ebe1fc
JH
1502019-12-19 Jan Hubicka <hubicka@ucw.cz>
151 Xi Ruoyao <xry111@mengyan1223.wang>
152
153 * lto-common.c (read_cgraph_and_symbols): Work around binutils
154 PR25424
155
6d8fd122 1562019-12-07 Jan Hubicka <hubicka@ucw.cz>
5b8d9367 157
59c7b29e
JH
158 * lto-partition.c (lto_balanced_map): Fix printing of tp_first_run.
159
1602019-12-10 Jan Hubicka <hubicka@ucw.cz>
161
6d8fd122
JH
162 * lto-partition.c (node_cmp): Turn into simple order comparsions.
163 (varpool_node_cmp): Remove.
164 (add_sorted_nodes): Use node_cmp.
165 (lto_balanced_map): Use tp_first_run_node_cmp.
166
59c7b29e
JH
1672019-11-25 Joseph Myers <joseph@codesourcery.com>
168
5b8d9367
JM
169 PR c/91985
170 * lto-lang.c (lto_type_for_mode): Handle decimal floating-point
171 types being NULL_TREE.
172
9fd052e7
JH
1732019-11-22 Jan Hubicka <jh@suse.cz>
174
175 * lto.c (lto_wpa_write_files): Call memory_block_pool::trim.
176
e61d0e4e
ML
1772019-11-14 Martin Liska <mliska@suse.cz>
178
179 * Make-lang.in: Remove wrong dependency
180 of LTO_DUMP_EXE on LTO_EXE.
181
0c29cac4
ML
1822019-11-12 Martin Liska <mliska@suse.cz>
183
184 * lto-common.c: Do not include params.h.
185 * lto-partition.c: Likewise.
186 * lto.c: Likewise.
187
028d4092
ML
1882019-11-12 Martin Liska <mliska@suse.cz>
189
190 * lto-partition.c (lto_balanced_map): Replace old parameter syntax
191 with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET
192 macro.
193 * lto.c (do_whole_program_analysis): Likewise.
194
fe1d1a8b
ML
1952019-11-11 Martin Liska <mliska@suse.cz>
196
197 * Make-lang.in: Relax dependency of lto-dump.o to
198 LTO_OBJS which will allow faster linking (mainly with LTO).
199
c38ee9a2
JH
2002019-11-07 Jan Hubicka <hubicka@ucw.cz>
201
202 * lto.c (do_whole_program_analysis): Call lto_free_file_name_hash.
203
c9ef0409
JH
2042019-11-02 Jan Hubicka <hubicka@ucw.cz>
205
206 * lto-common.c (read_cgraph_and_symbols): Improve -Q reporting.
207 * lto.c (lto_wpa_write_files): Likewise.
208
6773658a
JJ
2092019-10-31 Jakub Jelinek <jakub@redhat.com>
210
211 PR middle-end/92231
212 * lto-lang.c (handle_const_attribute): Don't call fndecl_built_in_p
213 on *node that is not FUNCTION_DECL.
214
3c56d8d8
ML
2152019-10-30 Martin Liska <mliska@suse.cz>
216
217 PR lto/91393
218 PR lto/88220
219 * lto-common.c (lto_file_finalize): Use lto_get_summary_section_data.
220 (get_section_data): Add order argument.
221
3518424d
ML
2222019-10-29 Martin Liska <mliska@suse.cz>
223
224 * lto.c (do_whole_program_analysis): Pass
225 title as dump_memory_report argument.
226
c5281d50
ML
2272019-10-29 Martin Liska <mliska@suse.cz>
228
229 * lto.c (do_whole_program_analysis): Remove argument.
230
f658ad30
JH
2312019-10-24 Jan Hubicka <hubicka@ucw.cz>
232
233 * lto-partition.c (add_symbol_to_partition_1): Update.
234 (undo_parittion): Update.
235
ebad2eee
JH
2362019-10-23 Jan Hubicka <hubicka@ucw.cz>
237
238 * lto-common.c (lto_file_finalize): Add order attribute.
239 (lto_create_files_from_ids): Pass order.
240 (lto_file_read): UPdate call of lto_create_files_from_ids.
241
7cc47709
JH
2422019-10-12 Jan Hubicka <hubicka@ucw.cz>
243
244 * lto-common.c (read_cgraph_and_symbols): Grow ggc memory use after
245 summary streaming.
246
f8cf94cd
JH
2472019-10-12 Jan Hubicka <hubicka@ucw.cz>
248
249 * lto.c (lto_wpa_write_files): Do not update bodies of clones.
250
e5207f1a
JH
2512019-10-11 Jan Hubicka <hubicka@ucw.cz>
252
253 * lto.c (lto_wpa_write_files): Call ggc_trim.
254
1fcf52a6
JH
2552019-10-11 Jan Hubicka <hubicka@ucw.cz>
256
257 * lto.c (lto_wpa_write_files): Prepare all bodies for streaming.
258
9142736e
RB
2592019-10-10 Richard Biener <rguenther@suse.de>
260
261 * lto-common.c (unify_scc): Do not merge anonymous NAMESPACE_DECLs.
262
0fa00483
JM
2632019-10-04 Joseph Myers <joseph@codesourcery.com>
264
265 * lto-lang.c (flag_isoc2x): New variable.
266
a3d09469
RB
2672019-09-18 Richard Biener <rguenther@suse.de>
268
269 PR lto/91763
270 * lto.c (lto_materialize_function): Initialize EH by looking
271 at the function personality and flag_exceptions setting.
272
df375b03
JJ
2732019-08-23 Jakub Jelinek <jakub@redhat.com>
274
275 PR middle-end/91283
276 * lto-lang.c (lto_post_options): Set flag_excess_precision instead of
277 flag_excess_precision_cmdline. Remove comment.
278
4d732405
RS
2792019-08-13 Richard Sandiford <richard.sandiford@arm.com>
280
281 PR middle-end/91421
282 * lto-common.c (compare_tree_sccs_1): Use DECL_UNCHECKED_FUNCTION_CODE
283 instead of DECL_FUNCTION_CODE.
284 * lto-symtab.c (lto_symtab_merge_p): Likewise.
285
6e42c90c
BE
2862019-08-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
287
288 * Make-lang.in (lto.install-common): Remove unnecessary slash
289 between $(DESTDIR) and $(bindir).
290
cb50701e
ML
2912019-07-25 Martin Liska <mliska@suse.cz>
292
293 * lto-common.c (compare_tree_sccs_1): Use new macros
294 (e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
295
34e64622
GB
2962019-07-22 Giuliano Belinassi <giuliano.belinassi@usp.br>
297
298 * lang.opt (flag_dump_callgraph): New flag.
299 * lto-dump.c (dump_symtab_graphviz): New function.
300 (dump_tool_help): New option.
301 (lto_main): Handle graphviz dumping.
302
b01659aa
JH
3032019-07-18 Jan Hubicka <hubicka@ucw.cz>
304
305 * lto-common.c (gimple_register_canonical_type_1): Do not look for
306 non-ODR conflicts of types in anonymous namespaces.
307 (unify_scc): Do not merge anonymous namespace types.
308
99b1c316
MS
3092019-07-09 Martin Sebor <msebor@redhat.com>
310
311 PR c++/61339
312 * lto-common.c (lto_splay_tree_new): : Change class-key of PODs
313 to struct and others to class.
314 (mentions_vars_p): Same.
315 (register_resolution): Same.
316 (lto_register_var_decl_in_symtab): Same.
317 (lto_register_function_decl_in_symtab): Same.
318 (cmp_tree): Same.
319 (lto_read_decls): Same.
320
6c1dae73
MS
3212019-07-09 Martin Sebor <msebor@redhat.com>
322
323 PR c++/61339
324 * lto-dump.c: Change class-key from class to struct and vice versa
325 to match convention and avoid -Wclass-is-pod and -Wstruct-no-pod.
326
70980ea2
ML
3272019-07-04 Martin Liska <mliska@suse.cz>
328
329 PR lto/91078
330 * lto-common.c (lto_file_finalize): Use memcpy to set
331 file_data->lto_section_header.
332
88614dfa
ML
3332019-07-03 Martin Liska <mliska@suse.cz>
334
335 * lto-common.c: Read LTO section and verify header.
336
606a9a8c
JH
3372019-06-27 Jan Hubicka <jh@suse.cz>
338
339 * lto-common.c (lto_register_canonical_types_for_odr_types):
340 Copy CXX_ODR_P from the main variant.
341
85693eef
JH
3422019-06-27 Jan Hubicka <jh@suse.cz>
343
344 * lto-common.c: tree-pretty-print.h
345 (type_streaming_finished): New static var.
346 (gimple_register_canonical_type_1): Return updated hash; handle ODR
347 types.
348 (iterative_hash_canonical_type): Update use of
349 gimple_register_canonical_type_1.
350
c2f7a665
ML
3512019-06-27 Martin Liska <mliska@suse.cz>
352
353 * lto-dump.c (struct symbol_entry): Add default dtor.
354 (struct variable_entry): Likewise.
355 (struct function_entry): Likewise.
356 (dump_list_functions): Release memory.
357 (dump_list_variables): Likewise.
358
ab20d992
JJ
3592019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
360
361 * lto-lang.c (lto_build_c_type_nodes): Accept "__intN__"
362 format of "__intN" types for SIZE_TYPE.
363
f4af4019
JH
3642019-06-24 Jan Hubicka <jh@suse.cz>
365
366 * lto-common.c (compare_tree_sccs_1): Compare CXX_ODR_P;
367 compare STRING_FLAG only for arrays and integers.
368
0ecf545c
MS
3692019-06-05 Martin Sebor <msebor@redhat.com>
370
371 * lto-common.c (lto_file_finalize): Adjust quoting and hyphenation.
372
a9c697b8
MS
3732019-05-16 Martin Sebor <msebor@redhat.com>
374
ab20d992
JJ
375 * lto-dump.c (lto_main): Same.
376 * lto.c (stream_out): Same.
a9c697b8 377
38613b9b
ML
3782019-05-10 Martin Liska <mliska@suse.cz>
379
380 * Make-lang.in: Use program_transform_name for lto-dump.
381 * config-lang.in: Do not mark lto-dump compiler as we don't
382 want to have it installed at
383 lib/gcc/x86_64-pc-linux-gnu/10.0.0/lto-dump.
384
03de2955
RO
3852019-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
386
387 * lto-common.c (lto_file_read): Print section->start as int64_t,
388 section->len as uint64_t.
389 * lto-dump.c (symbol_entry::dump): Print sz as uint64_t.
390
ee7a003f
ML
3912019-05-06 Martin Liska <mliska@suse.cz>
392
393 * lto-common.c: Update coding style.
394 * lto.c (materialize_cgraph): Likewise.
395
66d62d9f
HK
3962019-05-06 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
397 Martin Liska <mliska@suse.cz>
398
399 * Make-lang.in: Add lto_dump-related definition.
400 * config-lang.in: Likewise.
401 * lang.opt: Add new language LTODump and options related
402 to LTO dump tool.
403 * lto-common.c (lto_read_decls): Support type statistics dump.
404 (lto_file_read): Likewise for object files.
405 * lto-dump.c: New file.
406 * lto-lang.c (lto_option_lang_mask): Move from ..
407 * lto.c (lto_option_lang_mask): .. here.
408 * lto.h (lto_option_lang_mask): New declaration.
409
a79420f9
ML
4102019-05-06 Martin Liska <mliska@suse.cz>
411 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
412
413 * Make-lang.in: Add lto-common.o.
414 * config-lang.in: Likewise for gtfiles.
415 * lto-common.c: New file.
416 * lto-common.h: New file.
417 * lto-lang.c: Include lto-common.h.
418 * lto.c: Move most of the functionality
419 into lto-common.c file.
420
0c7f51e4
JH
4212019-04-12 Jan Hubicka <hubicka@ucw.cz>
422
423 * lto.c (do_stream_out): rename to ...
424 (stream_out): ... this one; move original code to ...
425 (stream_out_partitions_1, stream_out_partitions): ... these new
426 functions.
427 (lto_wpa_write_files): Honnor lto_parallelism
428
303389b1
ML
4292019-03-26 Martin Liska <mliska@suse.cz>
430
431 * lto-symtab.c (lto_symtab_merge_decls_2): Fix option name
139fc820 432 wrapping.
303389b1 433
a3f9f006
ML
4342019-03-11 Martin Liska <mliska@suse.cz>
435
436 * lto-lang.c (lto_post_options): Wrap an option name
437 in a string format message and fix GNU coding style.
438 * lto-symtab.c (lto_symtab_merge_decls_2): Likewise.
439
04e5c73d
JJ
4402019-03-09 Jakub Jelinek <jakub@redhat.com>
441
442 PR target/79645
443 * lang.opt: Terminate description text with a dot.
444
80f52b40
JM
4452019-02-28 Jason Merrill <jason@redhat.com>
446
447 PR c++/88049 - ICE with undefined destructor and anon namespace.
448 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Return early
449 for a type in an anonymous namespace.
450
67914693
SL
4512019-01-09 Sandra Loosemore <sandra@codesourcery.com>
452
453 PR other/16615
454
455 * lto-partition.c: Mechanically replace "can not" with "cannot".
456 * lto-symtab.c: Likewise.
457 * lto.c: Likewise.
458
a5544970
JJ
4592019-01-01 Jakub Jelinek <jakub@redhat.com>
460
461 Update copyright years.
462
d840d7a2
JH
4632018-12-24 Jan Hubicka <hubicka@ucw.cz>
464
465 * lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations
466 for method whose basetype was already reported.
467
ed1b53a0
MP
4682018-11-30 Michael Ploujnikov <michael.ploujnikov@oracle.com>
469
470 Minimize clone counter memory usage in LTO.
471 * lto-partition.c (privatize_symbol_name_1): Keep track of
472 non-unique symbol counters in the lto_clone_numbers hash
473 map.
474 (lto_promote_cross_file_statics): Allocate and free the
475 lto_clone_numbers hash map.
476 (lto_promote_statics_nonwpa): Free the lto_clone_numbers hash
477 map.
478
ad42aa96
JH
4792018-11-28 Jan Hubicka <jh@suse.cz>
480
481 * lto.c (lto_read_decls): Fix handling of INTEGER_CST.
482
d7dce787
JH
4832018-11-22 Jan Hubicka <jh@suse.cz>
484
485 * lto.c (cmp_type_location): Remove.
486 (lto_read_decls): Do not allocate odr_types.
487
f615cb16
ML
4882018-11-19 Martin Liska <mliska@suse.cz>
489
490 PR lto/88077
491 * lto-symtab.c (lto_symtab_merge): Transform the
492 condition before r256989.
493
12eac232
ML
4942018-11-16 Martin Liska <mliska@suse.cz>
495
496 PR lto/88004
497 * lto-symtab.c (lto_symtab_merge_symbols_1): Do not call
498 lto_symtab_symbol_p as it does checking of transparent alias.
499 These needs to be also merged in the function.
500
7958186b
MP
5012018-10-30 Michael Ploujnikov <michael.ploujnikov@oracle.com>
502
503 * lto-partition.c (privatize_symbol_name_1): Use
504 clone_function_name_numbered.
505
abb967da
JH
5062018-10-26 Jan Hubicka <jh@suse.cz>
507
ab20d992 508 * lto-symtab.c (lto_symtab_merge_decls_2): Fix extra space.
abb967da 509
033eb567
DM
5102018-10-17 David Malcolm <dmalcolm@redhat.com>
511
512 * Make-lang.in (selftest-lto): New.
513
9ed6dbee
ML
5142018-08-29 Martin Liska <mliska@suse.cz>
515
516 PR bootstrap/87130
517 * lto.c (read_cgraph_and_symbols): Fix thinko, revert
518 to behavior before r263887.
519
3d78e008
ML
5202018-08-27 Martin Liska <mliska@suse.cz>
521
522 * lto-lang.c (handle_const_attribute): Use new function
92a285c1
ML
523 fndecl_built_in_p and remove check for FUNCTION_DECL if
524 possible.
3d78e008
ML
525 * lto-symtab.c (lto_symtab_merge_p): Likewise.
526 (lto_symtab_merge_decls_1): Likewise.
527 (lto_symtab_merge_symbols): Likewise.
528 * lto.c (lto_maybe_register_decl): Likewise.
529 (read_cgraph_and_symbols): Likewise.
530
efd9eb29
TV
5312018-08-21 Tom de Vries <tdevries@suse.de>
532
ab20d992 533 * lto.c (lto_main): Call debuginfo_early_start and
efd9eb29
TV
534 debuginfo_early_stop.
535
00abf86c
MS
5362018-07-20 Martin Sebor <msebor@redhat.com>
537
538 PR middle-end/82063
539 * lto-lang.c (lto_handle_option): Change function argument
540 to HOST_WIDE_INT.
541
efe0e6cd
RB
5422018-07-20 Richard Biener <rguenther@suse.de>
543
544 PR debug/86585
545 * lto.c (unify_scc): Before we throw away an SCC see if we
546 can amend prevailing single-entry SCC with debug refs.
547
814f3331
JH
5482018-07-13 Jan Hubicka <hubicka@ucw.cz>
549
550 * lto.c (do_stream_out): Add PART parameter; open dump file.
551 (stream_out): Add PART parameter; pass it to do_stream_out.
552 (lto_wpa_write_files): Update call of stream_out.
553
c518c102
ML
5542018-07-04 Martin Liska <mliska@suse.cz>
555
556 PR middle-end/66240
557 PR target/45996
558 PR c/84100
559 * lto.c (compare_tree_sccs_1): Use cl_optimization_option_eq
560 instead of memcmp.
561
b54006ae
ML
5622018-06-20 Martin Liska <mliska@suse.cz>
563
564 * lto-symtab.c (lto_symtab_merge_p): Remove not valid
92a285c1 565 FIXME comment.
b54006ae 566
56f62793
ML
5672018-06-19 Martin Liska <mliska@suse.cz>
568
569 * lto-partition.c (add_symbol_to_partition_1): Use symbol_summary::get instead
92a285c1 570 of get_create.
56f62793
ML
571 (undo_partition): Likewise.
572 (lto_balanced_map): Likewise.
573
1724941e
ML
5742018-06-19 Martin Liska <mliska@suse.cz>
575
576 * config-lang.in: Remove stagestuff.
577
29a50dfb
JH
5782018-06-08 Jan Hubicka <hubicka@ucw.cz>
579
580 * lto-lang.c (lto_link_dump_id, decl_merge_dump_id, partition_dump_id):
581 New global vars.
582 (lto_register_dumps): New hook.
583 (LANG_HOOKS_REGISTER_DUMPS): New.
584 * lto-partition.c: Dump into dump_file instead of symtab->dump_file.
585 * lto-symtab.c: Include lto.h; dump into dump_file instead of
586 symtab->dump_file.
587 (lto_symtab_merge_decls): Initialize dump file.
588 * lto.c (read_cgraph_and_symbols): Initialize dump file.
589 (do_whole_program_analysis): Likewise.
590
74644756
ML
5912018-06-08 Martin Liska <mliska@suse.cz>
592
593 * lto-partition.c (lto_balanced_map): Use cgraph_node::uid
594 instead of summary_uid.
595
99353fcf
ML
5962018-06-08 Martin Liska <mliska@suse.cz>
597
598 * lto-partition.c (add_symbol_to_partition_1): Use get_create instead
599 of get.
600 (undo_partition): Likewise.
601 (lto_balanced_map): Likewise.
602
31db0fe0
ML
6032018-06-08 Martin Liska <mliska@suse.cz>
604
605 * lto-partition.c (add_references_to_partition): Remove support
606 for MPX (macros, related functions, fields in cgraph_node, ...).
607 (add_symbol_to_partition_1): Likewise.
608 (privatize_symbol_name): Likewise.
609 * lto-symtab.c (lto_cgraph_replace_node): Likewise.
610
f115c9b5
RB
6112018-06-05 Richard Biener <rguenther@suse.de>
612
613 * lto.c (cmp_type_location): Expand locations only once.
614
5b42d196
JH
6152018-05-30 Jan Hubicka <hubicka@ucw.cz>
616
617 * lang.opt (lto_linker_output): Add nolto-rel.
618 * lto-lang.c (lto_post_options): Handle LTO_LINKER_OUTPUT_REL
619 and LTO_LINKER_OUTPUT_NOLTOREL.
620 (lto_init): Generate lto when doing incremental link.
621 * lto.c (lto_precess_name): Add lto1-inclink.
622
ab168044
JH
6232018-05-18 Jan Hubicka <jh@suse.cz>
624
625 PR lto/85583
626 * lto-partition.c (account_reference_p): Do not account
627 references from aliases; do not account refernces from
628 external initializers.
629
b6e33d73
JH
6302018-04-30 Jan Hubicka <jh@suse.cz>
631
632 * lto.c (cmp_partitions_size): Remove.
633 (lto_wpa_write_files): Also output priorities; do not sort partitions.
634 (cmp_partition_order): Move to ...
635 * lto-partition.c (cmp_partition_order): ...
636 (lto_1_to_1_map): Sort partitions.
637
e693ebce
JH
6382018-04-20 Jan Hubicka <jh@suse.cz>
639
640 * lto-partition.c (lto_balanced_map): Fix sanity check.
641
ddb0b824
JH
6422018-04-19 Jan Hubicka <jh@suse.cz>
643
644 * lto-partition.c: Include sreal.h
645 (add_symbol_to_partition_1): Use size instead of self_size
646 for size estimate.
647 (account_reference_p): New.
648 (lto_balanced_map): Use 64bit arithmetics for size calculatoins; cleanup;
649 fix accounting errors in boundary size; add debug output; combine cost
650 as cost/size instead of cost/internal; reduce the partitioning error to
651 +- 1/8 of the parttion size.
652
1781a04f
ML
6532018-04-19 Martin Liska <mliska@suse.cz>
654
655 * lto-symtab.c (lto_symtab_resolve_symbols): Do not bail out
656 for multiple PREVAILING_DEF_IRONLY for common symbols.
657
6867cd69
ML
6582018-04-18 Martin Liska <mliska@suse.cz>
659
660 * lto.c (lto_read_decls): Fix GNU coding style and typos.
661
af597536
ML
6622018-04-18 Martin Liska <mliska@suse.cz>
663
664 PR ipa/83983
665 PR ipa/85391
666 * lto.c (cmp_type_location): New function.
667 (lto_read_decls): First collect all types, then
668 sort them according by location before register_odr_type
669 is called.
670
7d6051b1
JH
6712018-04-18 Jan Hubicka <jh@suse.cz>
672 Martin Liska <mliska@suse.cz>
673
674 PR lto/85391
675 * lto.c (lto_read_decls): Do not test TYPE_CANONICAL before registering odr
676 types.
677
23d87577
ML
6782018-04-11 Martin Liska <mliska@suse.cz>
679
680 * lto-symtab.c (lto_symtab_merge_p): Use attribute_value_equal
681 function.
682
c16833dc
ML
6832018-04-10 Martin Liska <mliska@suse.cz>
684
685 PR lto/85248
686 * lto-symtab.c (lto_symtab_merge_p): Do not check for
687 TREE_VALUES of error attributes.
688
8d96e546
ML
6892018-04-10 Richard Biener <rguenther@suse.de>
690 Martin Liska <mliska@suse.cz>
691
692 PR lto/85248
693 * lto-symtab.c (lto_symtab_merge_p): Handle noreturn attribute.
694
97bb4812
JH
6952018-02-08 Jan Hubicka <hubicka@ucw.cz>
696
697 * lto-partition.c (lto_balanced_map): Watch overflow.
698
39aa9b23
JH
6992018-02-08 Jan Hubicka <hubicka@ucw.cz>
700
701 PR ipa/81360
702 * lto.c (unify_scc): Register prevailing trees, not trees to be freed.
703 (read_cgraph_and_symbols): Use
704 symtab_node::output_to_lto_symbol_table_p.
705
26a823f0
JH
7062018-01-30 Jan Hubicka <hubicka@ucw.cz>
707
708 * lto.c (register_resolution): Remove forgotten sanity check.
709
43fbc2e9
JH
7102018-01-30 Jan Hubicka <hubicka@ucw.cz>
711
712 PR lto/81004
713 * lto.c: Include builtins.h
714 (register_resolution): Merge resolutions in case trees was
715 merged across units.
716 (lto_maybe_register_decl): Break out from ...
717 (lto_read_decls): ... here.
718 (unify_scc): Also register decls here.
719 (read_cgraph_and_symbols): Sanity check that all resolutions was
720 read.
721
ee034d31
EB
7222018-02-02 Eric Botcazou <ebotcazou@adacore.com>
723
724 PR lto/83954
725 * lto-symtab.c (warn_type_compatibility_p): Do not recurse into the
726 component type of array types with non-aliased component.
727
44c945e6
JH
7282018-01-30 Jan Hubicka <hubicka@ucw.cz>
729
730 PR lto/83954
731 * lto-symtab.c (warn_type_compatibility_p): Silence false positive
732 for type match warning on arrays of pointers.
733
cde9b2f8
ML
7342018-01-23 Martin Liska <mliska@suse.cz>
735
736 PR lto/81440
737 * lto-symtab.c (lto_symtab_merge): Handle and do not warn about
738 trailing arrays at the end of a struct.
739
5c0caeb3
RS
7402018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
741 Alan Hayward <alan.hayward@arm.com>
742 David Sherwood <david.sherwood@arm.com>
743
744 * lto-lang.c (lto_type_for_mode): Handle MODE_VECTOR_BOOL.
745
928686b1
RS
7462018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
747 Alan Hayward <alan.hayward@arm.com>
748 David Sherwood <david.sherwood@arm.com>
749
750 * lto-lang.c (lto_type_for_mode): Check valid_vector_subparts_p.
751 * lto.c (hash_canonical_type): Handle polynomial TYPE_VECTOR_SUBPARTS.
752
85ec4feb
JJ
7532018-01-03 Jakub Jelinek <jakub@redhat.com>
754
755 Update copyright years.
756
4849deb1
JJ
7572017-12-15 Jakub Jelinek <jakub@redhat.com>
758
759 * lto-lang.c (lto_attribute_table, lto_format_attribute_table): Swap
760 affects_type_identity and handler fields, adjust comments.
761
734914b6
RS
7622017-12-07 Richard Sandiford <richard.sandiford@arm.com>
763
764 * lto.c (compare_tree_sccs_1): Compare the new VECTOR_CST flags.
765
5d9ae53d
MS
7662017-12-07 Martin Sebor <msebor@redhat.com>
767
768 PR c/81544
769 * lto-lang.c (lto_attribute_table): Initialize new member of struct
770 attribute_spec.
771
5de73c05
JJ
7722017-11-30 Jakub Jelinek <jakub@redhat.com>
773
774 * lto.c (create_subid_section_table): Use ; instead of ;;.
775
974aedcc
MP
7762017-11-22 Marek Polacek <polacek@redhat.com>
777
778 PR c++/60336
779 PR middle-end/67239
780 PR target/68355
781 * lto.c (compare_tree_sccs_1): Compare TYPE_EMPTY_P and DECL_PADDING_P.
782
1bad9c18
JH
7832017-11-10 Jan Hubicka <hubicka@ucw.cz>
784
785 * lto-partition.c (lto_balanced_map): Use frequency accessor.
786
65991ea3
JH
7872017-10-13 Jan Hubicka <hubicka@ucw.cz>
788
789 * lto-lang.c (lto_post_options): Clean shlib flag when not doing PIC.
790
4e7d0260
NS
7912017-10-11 Nathan Sidwell <nathan@acm.org>
792
793 * lto.c (mentions_vars_p_decl_with_vis): Use
794 DECL_ASSEMBLER_NAME_RAW.
795 (lto_fixup_prevailing_decls): Likewise.
796
8e6cdc90
RS
7972017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
798
799 * lto.c (compare_tree_sccs_1): Use wi::to_wide when
800 operating on trees as wide_ints.
801
357b7604
RS
8022017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
803 Alan Hayward <alan.hayward@arm.com>
804 David Sherwood <david.sherwood@arm.com>
805
806 * lto-lang.c (lto_type_for_mode): Use as_a <scalar_int_mode>.
807
1ea85365
RB
8082017-08-21 Richard Biener <rguenther@suse.de>
809
92a285c1
ML
810 * lto.c (unify_scc): Truncate DIE reference queue for dropped SCCs.
811 (lto_read_decls): Process TRANSLATION_UNIT_DECLs. Remove
812 TYPE_DECL debug processing, register DIE references from
813 prevailing SCCs with the debug machinery.
814 (lto_section_with_id): Handle LTO debug sections.
1ea85365 815
8e093270
NS
8162017-08-16 Nathan Sidwell <nathan@acm.org>
817
818 * lto.c (mentions_vars_p_type): Use TYPE_LANG_SLOT_1.
819 (compare_tree_sccs_1): No need to compare TYPE_BINFO directly.
820 (lto_fixup_prevailing_decls): Use TYPE_LANG_SLOT_1.
821
eac3ab4a
TV
8222017-08-08 Tom de Vries <tom@codesourcery.com>
823
824 * lto.c: Include attribs.h.
825
314e6352
ML
8262017-08-08 Martin Liska <mliska@suse.cz>
827
828 * lto-lang.c: Include header files.
829 * lto-symtab.c: Likewise.
830
63e434ca
RB
8312017-08-03 Richard Biener <rguenther@suse.de>
832
833 * lto-symtab.h (lto_symtab_prevail_decl): Do not use
834 DECL_ABSTRACT_ORIGIN as flag we can end up using that. Instead
835 use DECL_LANG_FLAG_0.
836 (lto_symtab_prevail_decl): Likewise.
837
417ca011
TD
8382017-07-07 Torsten Duwe <duwe@suse.de>
839
840 * lto-lang.c (lto_attribute_table): Add entry for
841 "patchable_function_entry".
842
20deef65
NS
8432017-07-19 Nathan Sidwell <nathan@acm.org>
844
845 * lto.c (mentions_vars_p_type): Use TYPE_{MIN,MAX}_VALUE_RAW.
846 (compare_tree_sccs_1, lto_fixup_prevailing_decls): Likewise.
847
0eaf0bfe
JH
8482017-07-06 Jan Hubicka <hubicka@ucw.cz>
849
850 * lto-partition.c (lto_balanced_map): Do not check
851 flag_toplevel_reorder.
2db9b7cd 852
0eaf0bfe 8532017-06-23 Marc Glisse <marc.glisse@inria.fr>
2db9b7cd
MG
854 * lto-lang.c (lto_init): Use builtin_structptr_types.
855
d1eed638
JH
8562017-06-15 Jan Hubicka <hubicka@ucw.cz>
857 Thomas Preud'homme <thomas.preudhomme@arm.com>
858
859 PR lto/69866
860 * lto-symtab.c (lto_symtab_merge_symbols): Drop useless definitions
861 that resolved externally.
862
d2db2e6b
JH
8632017-05-23 Jan Hubicka <hubicka@ucw.cz>
864
865 * lto.c (do_whole_program_analysis): Replace inline_free_summary
866 by ipa_free_fn_summary.
867
464d0118
ML
8682017-05-23 Martin Liska <mliska@suse.cz>
869
870 * lto-symtab.c (lto_cgraph_replace_node): Use
871 symtab_node::dump_{asm_,}name functions.
872 * lto.c (read_cgraph_and_symbols): Likewise.
873 (do_whole_program_analysis): Likewise.
874
6c52831d
ML
8752017-05-23 Martin Liska <mliska@suse.cz>
876
877 * lto.c (read_cgraph_and_symbols): Use the renamed function.
878 (do_whole_program_analysis): Use the renamed function.
879
27d020cf
JH
8802017-05-22 Jan Hubicka <hubicka@ucw.cz>
881
882 * lto.c: Replace ipa-inline.h by ipa-fnsummary.h
883 * lto-partition.c: Replace ipa-inline.h by ipa-fnsummary.h
884
815d9cc6
XR
8852017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
886
92a285c1 887 PR c++/80038
815d9cc6
XR
888 * lto-lang.c (lto_init): Set in_lto_p earlier.
889
350792ff 8902017-04-12 Richard Biener <rguenther@suse.de>
ab20d992 891 Bernd Edlinger <bernd.edlinger@hotmail.de>
350792ff
RB
892
893 PR middle-end/79671
894 * lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE.
895
4a44a5f3
ML
8962017-02-14 Martin Liska <mliska@suse.cz>
897
898 * lto.c (do_stream_out): Free LTO file filename string.
899
8a3a6ab4
DM
9002017-01-19 David Malcolm <dmalcolm@redhat.com>
901
902 * lto-lang.c (builtin_type_for_size): Convert call to
903 lto_type_for_size to one through the langhook.
904 (lto_type_for_size): Move to langhooks.c and rename to
905 lhd_type_for_size.
906 (LANG_HOOKS_TYPE_FOR_SIZE): Don't redefine.
907
4c4b4703
JJ
9082017-01-11 Jakub Jelinek <jakub@redhat.com>
909
910 PR middle-end/50199
911 * lto-lang.c (lto_post_options): Force flag_merge_constants = 1
912 if it was 0.
913
bd2c6270
JJ
9142017-01-09 Jakub Jelinek <jakub@redhat.com>
915
916 PR translation/79019
917 PR translation/79020
918 * lto-symtab.c (lto_symtab_merge_symbols): Fix comment typo.
919
24d3f325
NS
9202017-01-06 Nathan Sidwell <nathan@acm.org>
921
5406184c
NS
922 * lto-partition.c (promote_symbol): Write to dump file sooner,
923 include alias promoting too.
924
24d3f325
NS
925 * lto-partition.c (lto_balanced_map): Reformat/respell comment.
926 (may_need_named_section_p): Likewise.
927 (rename_statics): Likewise.
928 (lto_promote_cross_file_statics): Likewise.
929
cbe34bb5
JJ
9302017-01-01 Jakub Jelinek <jakub@redhat.com>
931
932 Update copyright years.
933
6c8bf066
GJL
9342016-11-30 Georg-Johann Lay <avr@gjlay.de>
935
936 PR lto/78562
937 * lto-symtab.c (lto_symtab_merge_decls_2): Don't diagnose type
938 mismatch if the two types are built-in.
939
7fa6a965
PK
9402016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
941
942 * lto-lang.c (lto_init): Remove initialization of ptrdiff_type_node.
943
efb71232
RB
9442016-11-23 Richard Biener <rguenther@suse.de>
945
946 PR lto/78472
947 * lto.c (hash_canonical_type): Ignore zero-sized fields.
948
48330c93
BE
9492016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
950
951 PR c++/71973
952 * lto-lang.c (lto_init): Assert const_tm_ptr_type_node is sane.
953
899ca90e 9542016-11-18 Richard Sandiford <richard.sandiford@arm.com>
48330c93
BE
955 Alan Hayward <alan.hayward@arm.com>
956 David Sherwood <david.sherwood@arm.com>
899ca90e
RS
957
958 * lto.c (offload_handle_link_vars): Use SET_DECL_MODE.
959
65179585
RB
9602016-10-31 Richard Biener <rguenther@suse.de>
961
962 PR lto/78129
963 * lto.c (do_whole_program_analysis): Bail out after errors
964 from WPA analysis.
965
8bc5448f
KV
9662016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
967
968 * lto-partition.c: Include tree-vrp.h.
969 * lto.c: Likewise.
970
68317985
RB
9712016-09-20 Richard Biener <rguenther@suse.de>
972
973 * lto.c (lto_main): Call early_finish with "<artificial>" as
974 filename.
975
321e76fb
RB
9762016-09-19 Richard Biener <rguenther@suse.de>
977
978 * lto.c (lto_main): Invoke early_finish debug hook.
979
ea6e17d5
RB
9802016-07-25 Richard Biener <rguenther@suse.de>
981
982 * lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
983 (unify_scc): Likewise.
984 (lto_read_decls): Likewise.
985
e9ac1f86
JJ
9862016-06-28 Jakub Jelinek <jakub@redhat.com>
987
988 * Make-lang.in: Don't cat ../stage_current if it does not exist.
989
277d7ee0
AK
9902016-06-23 Andi Kleen <ak@linux.intel.com>
991
992 * Make-lang.in: Add support for autofdo (disabled for now)
993
4d926e34
MS
9942016-06-10 Martin Sebor <msebor@redhat.com>
995
996 PR c/71392
ab20d992 997 * lto-lang.c (handle_nonnull_attribute): Accept the nonnull
4d926e34
MS
998 attribute in type-generic builtins.
999
479f99c9
JH
10002016-05-16 Jan Hubicka <hubicka@ucw.cz>
1001
1002 * lto-partition.c (add_symbol_to_partition_1): Likewise.
1003
1a0bf5e1
JH
10042016-05-03 Jan Hubicka <hubicka@ucw.cz>
1005
1006 * lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed.
1007
a2e76867
PK
10082016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1009
1010 * lto-partition.h (lto_balanced_map): New parameter.
1011 * lto-partition.c (lto_balanced_map): New parameter
1012 max_partition_size.
1013 Check if partition size is greater than max_partition_size.
1014 * lto.c (do_whole_program_analysis): Adjust calls to
1015 lto_balanced_map() to pass 2nd argument.
1016
ea913779
L
10172016-03-17 H.J. Lu <hongjiu.lu@intel.com>
1018
1019 PR lto/70258
1020 * lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
1021 PIE.
1022
56aae4b7
JJ
10232016-03-08 Jakub Jelinek <jakub@redhat.com>
1024
1025 * lto-symtab.h (lto_symtab_prevail_decl): Fix spelling
1026 - becuase -> because.
1027
ed5d948d
TV
10282016-02-15 Tom de Vries <tom@codesourcery.com>
1029
1030 PR lto/69655
1031 * lto.c (read_cgraph_and_symbols): Call input_offload_tables with
1032 argument.
1033
4ecbadc7
ML
10342016-01-27 Martin Liska <mliska@suse.cz>
1035
1036 * lto-partition.c (add_symbol_to_partition_1): Remove usage
1037 of hsa_summaries.
1038
e49d321f
JH
10392016-01-19 Jan Hubicka <hubicka@ucw.cz>
1040
1041 PR lto/69136
1042 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
1043 decls have no assemblernames.
1044
b2b40051 10452016-01-19 Martin Liska <mliska@suse.cz>
92a285c1 1046 Martin Jambor <mjambor@suse.cz>
b2b40051
MJ
1047
1048 * lto-partition.c: Include "hsa.h"
1049 (add_symbol_to_partition_1): Put hsa implementations into the
1050 same partition as host implementations.
1051
5803bd01
JH
10522016-01-12 Jan Hubicka <hubicka@ucw.cz>
1053
1054 PR lto/69003
1055 * lto-partition.c (rename_statics): Fix pasto.
1056
13092f61
RB
10572016-01-18 Richard Biener <rguenther@suse.de>
1058
1059 PR lto/69337
1060 * lto-symtab.c (lto_symtab_merge): Return early for mismatched
1061 function vs. variable.
1062
3c4e91c9
RB
10632016-01-12 Richard Biener <rguenther@suse.de>
1064
1065 PR lto/69077
1066 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
1067 merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
1068
818ab71a
JJ
10692016-01-04 Jakub Jelinek <jakub@redhat.com>
1070
1071 Update copyright years.
1072
3fddb2ef
JH
10732015-12-10 Jan Hubicka <hubicka@ucw.cz>
1074
1075 PR lto/68878
1076 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
1077 * lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
1078 (lto_symtab_prevailing_decl): Use it.
1079
4a38b02b
IV
10802015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1081
1082 * lto.c: Include stringpool.h and fold-const.h.
1083 (offload_handle_link_vars): New static function.
1084 (lto_main): Call offload_handle_link_vars.
1085
ca834876
JH
10862015-12-10 Jan Hubicka <hubicka@ucw.cz>
1087
1088 * lto.c (lto_read_in_decl_state): Unpickle compressed bit.
1089
958a627f
JH
10902015-12-11 Jan Hubicka <hubicka@ucw.cz>
1091
1092 PR ipa/61886
1093 * lto-symtab.c (lto_symtab_merge_p): Avoid merging across different
1094 values of error and warning attributes.
1095
da20571a
JH
10962015-12-08 Jan Hubicka <hubicka@ucw.cz>
1097
1098 PR lto/68811
1099 * lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
1100 DECL.
1101 (LTO_NO_PREVAIL): Use gcc_checking_assert.
1102
378004b9
JH
11032015-12-08 Jan Hubicka <hubicka@ucw.cz>
1104
1105 PR lto/68811
1106 * lto-symtab.c (lto_symtab_merge_decls_2): Decl can never be prevailed
1107 by itself.
1108
6b9ac179
JH
11092015-12-08 Jan Hubicka <hubicka@ucw.cz>
1110
1111 PR ipa/61886
1112 * lto-symtab.c: Include lto-symtab.h.
1113 (lto_cgraph_replace_node): Do not merge profiles here.
1114 (lto_symtab_merge_p): New function.
1115 (lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
1116 (lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
1117 aliases.
1118 (lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
1119 (lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
1120 * lto.c: Include lto-symtab.h
1121 * lto-symtab.h: New.
1122
41c60c6c
JH
11232015-12-08 Jan Hubicka <hubicka@ucw.cz>
1124
1125 PR ipa/61886
1126 * lto-partition.c (add_symbol_to_partition_1): Transparent aliases
1127 are not part of the definition.
1128 (contained_in_symbol): Likewise.
1129 (promote_symbol): When promoting a symbol also promote all transparent
1130 aliases.
1131 (rename_statics): Weakref needs unique name, too.
1132
71e54687
JH
11332015-12-07 Jan Hubicka <hubicka@ucw.cz>
1134
1135 PR ipa/61886
1136 * lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
1137 rename_statics, rename_statics): Handle transparent aliases.
1138
88636b62
JH
11392015-12-04 Jan Hubicka <hubicka@ucw.cz>
1140
1141 * lto-symtab.c (lto_cgraph_replace_node): Update code computing
1142 merged_comdat.
1143
8c86248e
JH
11442015-12-01 Jan Hubicka <hubicka@ucw.cz>
1145
1146 * lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET.
1147
1ff9ed6f
JH
11482015-11-25 Jan Hubicka <jh@suse.cz>
1149
1150 * lto-lang.c (lto_post_options): Process flag_lto_linker_output.
1151 * lang.opt (lto_linker_output): New enum.
1152 (flinker_output): New flag.
1153
22bea0be
JH
11542015-11-24 Jan Hubicka <hubicka@ucw.cz>
1155
1156 * lto-symtab.c: Include alias.h
1157 (warn_type_compatibility_p): Replace types_compatible_p checks by
1158 TBAA and size checks; set bit 2 if locations are TBAA incompatible.
1159 (lto_symtab_merge): Compare DECL sizes.
1160 (lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
1161
aea50b45
JH
11622015-11-24 Jan Hubicka <hubicka@ucw.cz>
1163
1164 * lto.c (iterative_hash_canonical_type): Recruse for all types
1165 which pass !canonical_type_used_p.
1166 (gimple_register_canonical_type_1): Sanity check we do not compute
1167 canonical type of anything with !canonical_type_used_p.
1168 (gimple_register_canonical_type): Skip all types that are
1169 !canonical_type_used_p
1170
deb3dae6
JH
11712015-11-24 Jan Hubicka <hubicka@ucw.cz>
1172
1173 * lto.c (unify_scc): Use free_node.
1174
f85d2487
JH
11752015-11-21 Jan Hubicka <hubicka@ucw.cz>
1176
1177 * lto.c (iterative_hash_canonical_type): Always recurse for pointers.
1178 (gimple_register_canonical_type_1): Check that pointers do not get
1179 canonical types.
1180 (gimple_register_canonical_type): Do not register pointers.
1181
11822015-11-21 Jan Hubicka <hubicka@ucw.cz>
feb391fc
JH
1183
1184 * lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
1185 flag for types that are not ODR; fix loop walking parameters.
1186
69f293c9
AM
11872015-11-11 Andrew MacLeod <amacleod@redhat.com>
1188
1189 * lto-lang.c: Remove unused header files.
1190 * lto-object.c: Likewise.
1191 * lto-partition.c: Likewise.
1192 * lto-symtab.c: Likewise.
1193 * lto.c: Likewise.
1194
ee45a32d
EB
11952015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1196
1197 * lto.c (compare_tree_sccs_1): Deal with TYPE_REVERSE_STORAGE_ORDER.
1198
0aad0198
RS
11992015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1200
1201 * lto-lang.c: Don't undef DEF_BUILTIN.
1202
2adfab87
AM
12032015-10-29 Andrew MacLeod <amacleod@redhat.com>
1204
1205 * lto-lang.c: Reorder #include's and remove duplicates.
1206 * lto-object.c: Likewise.
1207 * lto-partition.c: Likewise.
1208 * lto-symtab.c: Likewise.
1209 * lto.c: Likewise.
1210
b2b29377
MM
12112015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
1212
1213 * lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
1214 conditionals.
1215 (lto_fixup_state): Likewise.
1216 (do_whole_program_analysis): Use
1217 symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
1218 conditionals.
1219
d9a6bd32
JJ
12202015-10-13 Jakub Jelinek <jakub@redhat.com>
1221
1222 * lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
1223 DEF_FUNCTION_TYPE_11): Define.
1224
9c4eeafc
JH
12252015-10-10 Jan Hubicka <hubicka@ucw.cz>
1226
1227 * lto.c (hash_canonical_type): Honor
1228 type_with_interoperable_signedness.
1229
3e32ee19
NS
12302015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1231
1232 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
1233 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1234
f196d062
RB
12352015-08-31 Richard Biener <rguenther@suse.de>
1236
1237 * lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
1238 * lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
1239 (lto_symtab_prevailing_decl): Do not replace a decl that didn't
1240 participate in merging with something else.
1241
45aee888
RB
12422015-08-31 Richard Biener <rguenther@suse.de>
1243
1244 * lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
1245 test, do not replace a non-builtin with a builtin.
1246 * lto.c (compare_tree_sccs_1): Do not merge things we stream
1247 as builtins vs. non-builtins.
1248
a79683d5
TS
12492015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1250
1251 * lto.h: Remove useless typedefs.
1252
48d859bb
AM
12532015-07-15 Andrew MacLeod <amacleod@redhat.com>
1254
1255 * lto.c: Remove redundant includes.
1256
026c3cfd
AH
12572015-07-12 Aldy Hernandez <aldyh@redhat.com>
1258
1259 * lto-lang.c: Fix double word typos.
1260
9fdcd34e
AM
12612015-07-10 Andrew MacLeod <amacleod@redhat.com>
1262
1263 * lto.c: Include cfghooks.h rather than predict.h.
1264
f51ade33
AM
12652015-07-09 Andrew MacLeod <amacleod@redhat.com>
1266
1267 * lto-lang.c: Adjust includes of target.h, alloc-pool.h and
1268 lto-streamer.h.
1269 * lto-object.c: Likewise.
1270 * lto-partition.c: Likewise.
1271 * lto-symtab.c: Likewise.
1272
1916bcb5
AM
12732015-07-09 Andrew MacLeod <amacleod@redhat.com>
1274
1275 * lto-lang.c: Adjust includes for flags.h changes.
1276
c7131fb2
AM
12772015-07-07 Andrew MacLeod <amacleod@redhat.com>
1278
1279 * lto-lang.c: Adjust includes.
1280 * lto-object.c: Likewise.
1281 * lto-partition.c: Likewise.
1282 * lto-symtab.c: Likewise.
1283 * lto.c: Likewise.
1284
f0889939
AM
12852015-06-25 Andrew MacLeod <amacleod@redhat.com>
1286
1287 * lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
1288 * lto-object.c: Likewise.
1289 * lto-partition.c: Likewise.
1290 * lto-symtab.c: Likewise.
1291 * lto-tree.h: Likewise.
1292 * lto.c: Likewise.
1293
8d67ee55
RS
12942015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1295
1296 * lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
1297 than typed_noop_remove. Remove redudant typedefs.
1298
abb226c9
AM
12992015-06-17 Andrew MacLeod <amacleod@redhat.com>
1300
1301 * lto-lang.c: Do not include input.h, line-map.h or is-a.h.
1302 * lto-object.c: Likewise.
1303 * lto-partition.c: Likewise.
1304 * lto-symtab.c: Likewise.
1305 * lto.c: Likewise.
1306
351d90f4
JH
13072015-06-14 Jan Hubicka <hubicka@ucw.cz>
1308
1309 PR ipa/66181
1310 * lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
1311
44c42705
DD
13122015-06-12 DJ Delorie <dj@redhat.com>
1313
1314 * lto-lang.c (lto_type_for_size): Include intN types.
1315 (lto_type_for_mode): Likewise.
1316
64578d98
JH
13172015-06-08 Jan Hubicka <hubicka@ucw.cz>
1318
1319 * lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
1320
13fdf2e2
AM
13212015-06-08 Andrew MacLeod <amacleod@redhat.com>
1322
1323 * lto-lang.c : Adjust include files.
1324 * lto-object.c : Likewise.
1325 * lto-partition.c : Likewise.
1326 * lto-partition.h : Likewise.
1327 * lto-symtab.c : Likewise.
1328 * lto.c : Likewise.
1329 * lto.h : Likewise.
1330
ccb5ad37
JH
13312015-06-06 Jan Hubicka <hubicka@ucw.cz>
1332
6542950e
JH
1333 PR lto/65378
1334 * lto-symtab.c (warn_type_compatibility_p): Fix call of
1335 odr_or_derived_type_p.
1336 (lto_symtab_merge_decls_2): Update call of warn_types_mismatch.
1337
13382015-06-08 Jan Hubicka <hubicka@ucw.cz>
1339
ccb5ad37
JH
1340 * lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
1341 pointers.
1342
d7438551
AH
13432015-06-05 Aldy Hernandez <aldyh@redhat.com>
1344
1345 * lto-lang.c (lto_write_globals): Remove.
1346 (LANG_HOOKS_WRITE_GLOBALS): Same.
1347
ecb9f223
AM
13482015-06-04 Andrew MacLeod <amacleod@redhat.com>
1349
1350 * lto-lang.c: Adjust includes for restructured coretypes.h.
1351 * lto-object.c: Likewise.
1352 * lto-partition.c: Likewise.
1353 * lto-symtab.c: Likewise.
1354 * lto.c: Likewise.
1355
9cb9b937
JH
13562015-06-04 Jan Hubicka <hubicka@ucw.cz>
1357
1358 * lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.
1359
93e2aa6d
JH
13602015-06-03 Jan Hubicka <hubicka@ucw.cz>
1361
1362 * lto.c (iterative_hash_canonical_type,
1363 gimple_register_canonical_type): only hash main variants of types
1364
faae53f8
ML
13652015-05-27 Martin Liska <mliska@suse.cz>
1366
1367 * lto-partition.c (new_partition): Reset number of symbols.
1368 (add_symbol_to_partition_1): Increment number of symbols.
1369 (undo_partition): Decrement number of symbols.
1370 (lto_balanced_map): Dump number of symbols and insns that
1371 belong to a partition.
1372 * lto-partition.h (struct ltrans_partition_def): Add symbol counter.
1373
b727ba74
JH
13742015-05-22 Jan Hubicka <hubicka@ucw.cz>
1375
1376 * lto.c (hash_canonical_type): Be sure we hash only types that
1377 need alias set.
1378 (gimple_register_canonical_type_1): Do not produce canonical
1379 types for types that do not need alias sets.
1380
1d1218fb
JH
13812015-05-22 Jan Hubicka <hubicka@ucw.cz>
1382
1383 * lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
1384
872d5034
JH
13852015-05-19 Jan Hubicka <hubicka@ucw.cz>
1386
1387 * lto.c (gimple_canonical_types_compatible_p): Move to tree.c
1388
259d29e3
JH
13892015-05-17 Jan Hubicka <hubicka@ucw.cz>
1390
1391 * lto-symtab.c (warn_type_compatibility_p): Break out from ...;
1392 compare ODR types (if available) and function types.
1393 (lto_symtab_merge): ... here; output ODR violation warnings
1394 and call warn_types_mismatch.
1395
b0845a1e
JH
13962015-04-29 Jan Hubicka <hubicka@ucw.cz>
1397
1398 * lto.c (lto_fixup_state): Call verify_type.
1399
67f58944
TS
14002015-04-18 Trevor Saunders <tsaunders@mozilla.com>
1401
b0845a1e 1402 * lto.c: Adjust for hash_table changes.
67f58944 1403
36ceb0e3
JH
14042015-03-27 Jan Hubicka <hubicka@ucw.cz>
1405
1406 * lto.c (lto_read_decls): Move code registering odr types out
1407 of TYPE_CANONICAL conditional and also register polymorphic types.
1408
afd1e7c6
JH
14092015-03-26 Jan Hubicka <hubicka@ucw.cz>
1410
1411 * lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
1412 DECL_ARTIFICAL symbols.
1413
eaeec5ec
JH
14142015-03-26 Jan Hubicka <hubicka@ucw.cz>
1415
1416 PR lto/65536
1417 * lto.c (unify_scc): Revert location cache when unification
1418 suceeded.
1419 (lto_read_decls): Accept location cache after sucess;
1420 apply location cache before calling debug hooks.
1421
1c4db829
JH
14222015-03-10 Jan Hubicka <hubicka@ucw.cz>
1423
1424 * lto.c (read_cgraph_and_symbols): Do not do merging
1425 at ltrans stage.
1426
db847fa8
JJ
14272015-02-26 Jakub Jelinek <jakub@redhat.com>
1428
1429 * lto.c (lto_mode_identity_table): New variable.
1430 (lto_read_decls): Add mode_table argument to the lto_input_block
1431 constructor.
1432 (lto_file_finalize): Initialize mode_table.
1433 (lto_init): Initialize lto_mode_identity_table.
1434
56a9f6bc
TS
14352015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1436
1437 PR libgomp/64625
1438 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1439 Remove macros.
1440 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1441
ebc8f0bb
JH
14422015-02-03 Jan Hubicka <hubicka@ucw.cz>
1443
1444 * lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.
1445
40fecdd6
JM
14462015-01-30 Joseph Myers <joseph@codesourcery.com>
1447
1448 * lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
1449 changed to pass input_location as first argument.
1450
040968a8
JH
14512014-12-11 Jan Hubicka <hubicka@ucw.cz>
1452
1453 * lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
1454
69fe4502
JH
14552014-12-11 Jan Hubicka <hubicka@ucw.cz>
1456
1457 * lto.c (compare_tree_sccs_1): Add comparsion of
1458 DECL_FUNCTION_SPECIFIC_TARGET
1459
41dbbb37
TS
14602015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1461 James Norris <jnorris@codesourcery.com>
1462
1463 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1464 New macros.
1465 * lto.c: Include "gomp-constants.h".
1466
837bac8c
IV
14672015-01-14 Ilya Verbin <ilya.verbin@intel.com>
1468
1469 * lto-partition.c (lto_promote_cross_file_statics): Remove argument
1470 from select_what_to_stream.
1471
1b34e6e2
BS
14722015-01-09 Bernd Schmidt <bernds@codesourcery.com>
1473 Jakub Jelinek <jakub@redhat.com>
1474
1475 PR middle-end/64412
1476 * lto.c (read_cgraph_and_symbols): Set lto_stream_offload_p
1477 if ACCEL_COMPILER.
1478
adfac8df
JJ
14792015-01-09 Michael Collison <michael.collison@linaro.org>
1480
1481 * lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1482 input.h, alias.h, symtab.h, options, fold-const.h,
1483 wide-int.h, and inchash.h due to flattening of tree.h.
1484 * lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1485 input.h, alias.h, symtab.h, fold-const.h,
1486 wide-int.h, and inchash.h due to flattening of tree.h.
1487 * lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1488 input.h, alias.h, symtab.h, options, fold-const.h,
1489 wide-int.h, and inchash.h due to flattening of tree.h.
1490 * lto-partition.c: Ditto.
1491 * lto-symtab.c: Ditto.
1492
5624e564
JJ
14932015-01-05 Jakub Jelinek <jakub@redhat.com>
1494
1495 Update copyright years.
1496
9a1e784a
ML
14972014-12-22 Martin Liska <mliska@suse.cz>
1498
1499 * lto-partition.c (add_symbol_to_partition_1): New inline_summaries
1500 is used.
1501 (undo_partition): Likewise.
1502 (lto_balanced_map): Likewise.
1503
dd912cb8
ML
15042014-12-22 Martin Liska <mliska@suse.cz>
1505
1506 * lto-partition.c: Include of symbol-summary.h is added.
1507 * lto-symtab.c: Likewise.
1508 * lto.c: Likewise.
1509
17e0fc92
JH
15102014-12-11 Jan Hubicka <hubicka@ucw.cz>
1511
1512 PR ipa/61324
1513 * lto.c (read_cgraph_and_symbols): Update call of
1514 remove_unreachable_nodes.
1515 (do_whole_program_analysis): Remove call of
1516 symtab->remove_unreachable_nodes
1517
58dddbd2
TS
15182014-12-08 Trevor Saunders <tsaunders@mozilla.com>
1519
1520 * lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
1521 htab with malloc instead of ggc.
1522
907dadbd
TS
15232014-11-20 Trevor Saunders <tsaunders@mozilla.com>
1524
1525 * lto.c: Replace htab with hash_table.
1526
9c71e9df
TS
15272014-11-20 Trevor Saunders <tsaunders@mozilla.com>
1528
1529 * lto.c (lto_read_in_decl_state): Adjust.
1530 (lto_fixup_state): Likewise.
1531
72a4a8b0
JH
15322014-11-17 Jan Hubicka <hubicka@ucw.cz>
1533
1534 * lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET.
1535
54e774c0
JH
15362014-11-14 Jan Hubicka <hubicka@ucw.cz>
1537
1538 * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
1539
1f6be682
IV
15402014-11-13 Ilya Verbin <ilya.verbin@intel.com>
1541 Bernd Schmidt <bernds@codesourcery.com>
1542 Andrey Turetskiy <andrey.turetskiy@intel.com>
1543 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1544
ab20d992 1545 * lto.c (read_cgraph_and_symbols): Call input_offload_tables.
ec6fe917
IV
1546
15472014-11-13 Ilya Verbin <ilya.verbin@intel.com>
1548 Ilya Tocar <ilya.tocar@intel.com>
1549 Andrey Turetskiy <andrey.turetskiy@intel.com>
1550 Bernd Schmidt <bernds@codesourcery.com>
1551
1f6be682
IV
1552 * lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
1553 LTO_SECTION_NAME_PREFIX.
1554 * lto-partition.c (lto_promote_cross_file_statics): Call
1555 select_what_to_stream.
1556 * lto.c (lto_section_with_id): Use section_name_prefix instead of
1557 LTO_SECTION_NAME_PREFIX.
1558 (read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
1559 being built as an offload compiler.
1560
ef4bddc2
RS
15612014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1562
1563 * lto-lang.c: Remove redundant enum from machine_mode.
1564
c582198b
AM
15652014-10-28 Andrew MacLeod <amacleod@redhat.com>
1566
1567 * lto.c: Adjust include files.
1568 * lto-lang.c: Ditto.
1569 * lto-object.c: Ditto.
1570 * lto-partition.c: Ditto.
1571 * lto-symtab.c: Ditto.
1572
60393bbc
AM
15732014-10-27 Andrew MacLeod <amacleod@redhat.com>
1574
1575 * lto-lang.c: Adjust include files.
1576 * lto-object.c: Ditto.
1577 * lto-partition.c: Ditto.
1578 * lto-symtab.c: Ditto.
1579 * lto.c: Ditto.
1580
957f47e6
DD
15812014-10-16 DJ Delorie <dj@redhat.com>
1582
1583 * lto-object.c (lto_obj_begin_section): In the event that pointer
1584 sizes aren't powers of two, choose a more suitable alignment
1585 than (unsigned)(-1).
1586
78a7c317
DD
15872014-10-14 DJ Delorie <dj@redhat.com>
1588
1589 * lto-lang.c (lto_build_c_type_nodes): Check intN types for
1590 size-type as well.
1591 (lto_init): Initialize all intN types, not just int128.
1592
70261a4f
ML
15932014-10-06 Martin Liska <mliska@suse.cz>
1594
1595 * lto.c (stream_out): ARG_UNUSED added for last argument.
1596
00de328a
AH
15972014-09-24 Aldy Hernandez <aldyh@redhat.com>
1598
1599 * lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
1600 DECL_ABSTRACT_P.
1601
7861b648
AK
16022014-09-23 Andi Kleen <ak@linux.intel.com>
1603
1604 * lto-partition.c (node_cmp): Update comment.
1605 (varpool_node_cmp): Use symtab_node for comparison.
1606 (add_sorted_nodes): New function.
1607 (lto_balanced_map): Change to keep ordered queue
1608 of ordered node. Handle no_reorder attribute.
1609
1ee85ee1
JH
16102014-09-11 Jan Hubicka <hubicka@ucw.cz>
1611
1612 * lto.c (lto_read_decls): Register ODR types.
1613
8605403e
JH
16142014-08-20 Jan Hubicka <hubicka@ucw.cz>
1615
1616 * lto.c (read_cgraph_and_symbols): Fix symtab_remove_unreachable_nodes
1617 call.
1618 (do_whole_program_analysis): Only sanity check that IPA passes cleans up.
1619
56b1f114
JH
16202014-08-14 Jan Hubicka <hubicka@ucw.cz>
1621
1622 * lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.
1623
833f94c0
RB
16242014-08-14 Richard Biener <rguenther@suse.de>
1625
1626 PR lto/62067
1627 * lto-lang.c (def_fn_type): Fix error handling wrt va_end.
1628
207c68cd
RB
16292014-08-08 Richard Biener <rguenther@suse.de>
1630
1631 * lto.c (lto_read_decls): Adjust for lto_input_block changes.
1632
7c581d61
BC
16332014-08-08 Bin Cheng <bin.cheng@arm.com>
1634
1635 PR lto/62032
1636 * lto-lang.c (lto_init): Switch mis-matched arguments.
1637
39c8aaa4
TS
16382014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1639
1640 * lto-partition.c, lto.c: Use hash_map instead of pointer_map.
1641
6e2830c3
TS
16422014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1643
1644 * lto-partition.c, lto-partition.h: Use hash_set instead of
1645 pointer_set.
1646
50de5793
AK
16472014-07-31 Andi Kleen <ak@linux.intel.com>
1648
1649 * lto.c (hash_canonical_type): Use inchash::hash
1650 and use inchash::add_expr.
1651 (iterative_hash_canonical_type): Dito.
1652
f6bcdb5e
RB
16532014-07-30 Richard Biener <rguenther@suse.de>
1654
1655 * lto-streamer.h (lto_write_data): New function.
1656 * langhooks.c (lhd_append_data): Do not free block.
1657 * lto-section-out.c (lto_write_data): New function writing
1658 raw data to the current section.
1659 (lto_write_stream): Adjust for langhook semantic change.
1660 (lto_destroy_simple_output_block): Write header directly.
1661 * lto-opts.c (lto_write_options): Write options directly.
1662 * lto-streamer-out.c (produce_asm): Write heaeder directly.
1663 (lto_output_toplevel_asms): Likewise.
1664 (copy_function_or_variable): Copy data directly.
1665 (write_global_references): Output index table directly.
1666 (lto_output_decl_state_refs): Likewise.
1667 (write_symbol): Write data directly.
1668 (produce_symtab): Adjust.
1669 (produce_asm_for_decls): Output header and refs directly.
1670
56fdfd3e
AK
16712014-07-25 Andi Kleen <ak@linux.intel.com>
1672
1673 * lto.c (hash_canonical_type): Call iterative_hstate_expr.
1674
0bd8bb04
AK
16752014-07-25 Andi Kleen <ak@linux.intel.com>
1676
1677 * lto.c (hash_canonical_type): Convert to inchash.
1678 (iterative_hash_canonical_type): Dito.
1679
6d8eb96b
AK
16802014-07-25 Andi Kleen <ak@linux.intel.com>
1681
1682 * lto.c: Include inchash.h
1683
ad115a3c
JH
16842014-07-14 Jan Hubicka <hubicka@ucw.cz>
1685
1686 * lto.c (mentions_vars_p_decl_non_common): Skip
1687 DECL_ARGUMENT_FLD.
1688 mentions_vars_p_function): Do DECL_ARGUMENTS.
1689 (lto_fixup_prevailing_decls): Update.
1690
917dd9bf
JH
16912014-07-12 Jan Hubicka <hubicka@ucw.cz>
1692
1693 * lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO
1694 timevar
1695 (materialize_cgraph): Do not push GIMPLE_IN timevar.
1696
0b83e688
JH
16972014-07-11 Jan Hubicka <hubicka@ucw.cz>
1698
ab20d992 1699 * lto-partition.c (add_references_to_partition): Use
0b83e688
JH
1700 varpool_ctor_useable_for_folding_p.
1701 * lto.c (lto_read_in_decl_state): Update sanity check.
1702
e55637b7
ML
17032014-07-01 Martin Liska <mliska@suse.cz>
1704
1705 IPA REF alias refactoring
1706 * lto-partition.c (add_symbol_to_partition_1): Usage of
1707 FOR_EACH_ALIAS added.
1708
010f4e27
JH
17092014-06-28 Jan Hubicka <hubicka@ucw.cz>
1710
1711 Revert:
1712 * lto.c (lto_copy_fields_not_streamed): New function.
1713 (compare_tree_sccs_1): Do not compare fields shared in between type
1714 and variant.
1715 (lto_read_decls): Fixup types first before inserting into hash.
1716
b82fe354
AP
17172014-06-28 Andrew Pinski <apinski@cavium.com>
1718
1719 * lto.c (lto_read_decls): Fix comment in comment.
1720
288eeff7
JH
17212014-06-28 Jan Hubicka <hubicka@ucw.cz>
1722
1723 * lto.c (lto_copy_fields_not_streamed): New function.
1724 (compare_tree_sccs_1): Do not compare fields shared in between type
1725 and variant.
1726 (lto_read_decls): Fixup types first before inserting into hash.
1727
e01fa630
ML
17282014-06-25 Martin Liska <mliska@suse.cz>
1729
ab20d992 1730 * lto-partition.c (add_references_to_partition): New IPA REF function
e01fa630
ML
1731 used.
1732 (add_symbol_to_partition_1): Likewise.
1733 (lto_balanced_map): Likewise.
ab20d992 1734 * lto-symtab.c (lto_cgraph_replace_node): Likewise.
e01fa630 1735
aaf8a23e
JH
17362014-06-24 Jan Hubicka <hubicka@ucw.cz>
1737
1738 * lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
1739 (mentions_vars_p_function): ... here.
1740 (compare_tree_sccs_1): Update VINDEX checks.
1741 (lto_fixup_prevailing_decls): Likewise.
1742
1eb68d2d
TS
17432014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1744
1745 * lto.c (canonical_type_hash_cache): Use hash_map instead of
1746 pointer_map.
1747
c203e8a7
TS
17482014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1749
1750 * lto.c: Adjust.
1751
714c800f
JH
17522014-06-20 Jan Hubicka <hubicka@ucw.cz>
1753
1754 * lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.
1755
569b1784
JH
17562014-06-20 Jan Hubicka <hubicka@ucw.cz>
1757
1758 * lto.c (compare_tree_sccs_1): Do not compare priorities.
1759
56363ffd
JH
17602014-06-15 Jan Hubicka <hubicka@ucw.cz>
1761
1762 * lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
1763
e257a17c
JH
17642014-06-10 Jan Hubicka <hubicka@ucw.cz>
1765
1766 * lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
1767 (do_whole_program_analysis): Use verify_symtab.
1768
24d047a3
JH
17692014-06-07 Jan Hubicka <hubicka@ucw.cz>
1770
1771 * lto.c (mentions_vars_p_decl_with_vis, compare_tree_sccs_1,
1772 lto_fixup_prevailing_decls): Skip section names.
1773
9b2b7279
AM
17742014-06-02 Andrew MacLeod <amacleod@redhat.com>
1775
1776 * lto-symtab.c: Include builtins.h.
1777
a9243bfc
RB
17782014-05-26 Richard Biener <rguenther@suse.de>
1779
1780 * lto.c (lto_parse_hex): Use int64_t.
1781 (lto_resolution_read): Likewise.
1782
fd1e9302
JH
17832014-05-23 Jan Hubicka <hubicka@ucw.cz>
1784
1785 * lto.c (read_cgraph_and_symbols): Grow ggc memory after streaming.
1786
aede2c10
JH
17872014-05-23 Jan Hubicka <hubicka@ucw.cz>
1788
1789 * lto-symtab.c (lto_symtab_merge_symbols): Update code setting
1790 symtab pointer.
1791 * lto.c (compare_tree_sccs_1): Do not compare comdat groups.
1792
f6a7cffc
TS
17932014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1794
1795 * lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1796 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1797 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1798
4000360e
BS
17992012-05-22 Bernd Schmidt <bernds@codesourcery.com>
1800
1801 * lto-object.c: Include "lto-section-names.h".
1802 (LTO_SEGMENT_NAME): Don't define.
1803 * lto.c: Include "lto-section-names.h".
1804
b9559136
JH
18052014-05-17 Jan Hubicka <hubicka@ucw.cz>
1806
1807 PR lto/61012
1808 * lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
1809 mixed with variables.
1810
766090c2
TS
18112014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1812
1813 * lto-tree.h: Don't use variable_size gty attribute.
1814 * lto.c (lto_read_in_decl_state): Adjust.
1815 (create_subid_section_table): Likewise.
1816 (lto_flatten_files): Likewise.
1817 (read_cgraph_and_symbols): Likewise.
1818
1d60af08
KZ
18192014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1820 Mike Stump <mikestump@comcast.net>
1821 Richard Sandiford <rdsandiford@googlemail.com>
1822
1823 * lto.c (compare_tree_sccs_1): Use wide-int interfaces.
1824 * lto-lang.c (get_nonnull_operand): Likewise.
1825
22869a37
RB
18262014-04-28 Richard Biener <rguenther@suse.de>
1827
1828 PR middle-end/60092
1829 * lto-lang.c: Define flag_isoc11.
1830
7de90a6c
DM
18312014-04-23 David Malcolm <dmalcolm@redhat.com>
1832
1833 * lto-partition.c (add_references_to_partition): Update for
1834 removal of implicit pointer from the is-a.h API.
1835 (add_symbol_to_partition_1): Likewise.
1836 (contained_in_symbol): Likewise.
1837 (undo_partition): Likewise.
1838 (lto_balanced_map): Likewise.
1839 (promote_symbol): Likewise.
1840 * lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
1841 (lto_symtab_merge_symbols): Likewise.
1842 * lto.c (lto_wpa_write_files): Likewise.
1843
783dab6b
RB
18442014-04-15 Richard Biener <rguenther@suse.de>
1845
1846 * lto.c: Include params.h.
1847 (do_whole_program_analysis): Switch on flag_lto_partition value,
1848 add support for LTO_PARTITION_ONE.
1849 * lto-partition.h (lto_balanced_map): Adjust.
1850 * lto-partition.c (lto_balanced_map): Get number of desired
1851 partitions as argument to support -flto-partition=one.
1852
cb90235d
JH
18532014-04-14 Jan Hubicka <hubicka@ucw.cz>
1854
ab20d992 1855 * lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
cb90235d
JH
1856 tp_first_run.
1857
bbe281da
JH
18582014-03-19 Jan Hubicka <hubicka@ucw.cz>
1859
1860 * lto.c: Include ipa-inline.h
1861 (do_whole_program_analysis): Free inline summary after partitioning.
1862
ce2f49b3
RB
18632014-03-19 Richard Biener <rguenther@suse.de>
1864
1865 PR middle-end/60553
ab20d992 1866 * lto-tree.h (lang_tree_node): For types use TYPE_NEXT_VARIANT
ce2f49b3
RB
1867 instead of TREE_CHAIN as chain_next.
1868
e41106fc
RB
18692014-03-19 Richard Biener <rguenther@suse.de>
1870
1871 * lto.c (lto_wpa_write_files): Move call to
1872 lto_promote_cross_file_statics ...
1873 (do_whole_program_analysis): ... here, into the partitioning
1874 block. Do not ggc_collect after lto_wpa_write_files but
1875 for a last time before it.
1876
15df2655
JJ
18772014-03-19 Jakub Jelinek <jakub@redhat.com>
1878
1879 PR lto/60571
1880 * lto.c (wait_for_child): Define WCONTINUED if not defined to 0.
1881 Fix formatting.
1882
415e2e6b
JJ
18832014-03-18 Jakub Jelinek <jakub@redhat.com>
1884
1885 PR sanitizer/60535
1886 * lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node
1887 and complex_{float,{,long_}double}_type_node.
1888
f42c637e
PM
18892014-03-08 Paulo Matos <paulo@matos-sorge.com>
1890
415e2e6b
JJ
1891 * lto-lang.c (lto_init): Pass flag_short_double to
1892 build_common_tree_nodes.
f42c637e 1893
6dab804d
JH
18942014-02-14 Jan Hubicka <hubicka@ucw.cz>
1895
1896 PR lto/60295
1897 * lto.c (stream_out): Avoid parallel streaming with
1898 -flto=jobserver until we are able to throttle it down
1899 resonably.
1900
39434bce
JH
19012014-02-14 Jan Hubicka <hubicka@ucw.cz>
1902
1903 * lto-partition.c (add_symbol_to_partition_1,
1904 undo_partition, lto_balanced_map): Aliases have no
1905 defined size.
1906 (lto_balanced_map): Do not follow refering variables
1907 if they can be optimized out.
1908
1966fd99
RB
19092014-02-14 Richard Biener <rguenther@suse.de>
1910
1911 PR lto/60179
1912 * lto.c (compare_tree_sccs_1): Do not compare
1913 DECL_FUNCTION_SPECIFIC_TARGET.
1914 (lto_read_decls): Re-build DECL_FUNCTION_SPECIFIC_TARGET.
1915
283416b3
RB
19162014-02-12 Richard Biener <rguenther@suse.de>
1917
1918 PR lto/60060
1919 * lto-lang.c (lto_write_globals): Do not call
1920 wrapup_global_declarations or emit_debug_global_declarations
1921 but emit debug info for non-function scope variables
1922 directly.
1923
b7e85694
JH
19242014-02-06 Jan Hubicka <hubicka@ucw.cz>
1925
1926 * lto.c (unify_scc): Free CONSTRUCTOR_ELTS.
1927
96451279
JH
19282014-02-06 Jan Hubicka <hubicka@ucw.cz>
1929
1930 PR ipa/59469
1931 * lto-partition.c (symbol_class): Move to cgraph.h
1932 (get_symbol_class): Move to symtab.c
1933 (add_references_to_partition, add_symbol_to_partition_1,
1934 lto_max_map, lto_1_to_1_map, lto_balanced_map,
1935 lto_promote_cross_file_statics): Update.
1936
f300e7b8
JH
19372014-02-05 Jan Hubicka <hubicka@ucw.cz>
1938
1939 * lto.c (lto_parallelism): New static var.
1940 (do_stream_out, wait_for_child, stream_out): New static functions.
1941 (lto_wpa_write_files): Add support for parallel streaming.
1942 (do_whole_program_analysis): Set parallelism.
1943 * lang.opt (fwpa): Add parameter.
1944 * lto-lang.c (lto_handle_option): Handle flag_wpa.
1945 (lto_init): Update use of flag_wpa.
1946 * lto-streamer.h (asm_nodes_output): Declare.
1947
f0f91770
RB
19482014-02-05 Richard Biener <rguenther@suse.de>
1949
1950 * lto.h (lto_global_var_decls): Remove.
1951 * lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
1952 (lto_write_globals): Do nothing in WPA stage, gather globals from
1953 the varpool here ...
1954 * lto.c (lto_main): ... not here.
1955 (materialize_cgraph): Do not call rest_of_decl_compilation
1956 on the empty lto_global_var_decls vector.
1957 (lto_global_var_decls): Remove.
1958
d665f8dd
JH
19592014-02-04 Jan Hubicka <hubicka@ucw.cz>
1960
ab20d992 1961 * lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
d665f8dd
JH
1962 needs duplicating, not generic COMDAT.
1963
c39276b8
RB
19642014-02-04 Richard Biener <rguenther@suse.de>
1965
1966 PR lto/59723
1967 * lto.c (mentions_vars_p): Handle NAMELIST_DECL.
1968 (lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.
1969
5f876ae7
JH
19702014-02-04 Jan Hubicka <hubicka@ucw.cz>
1971 Markus Trippelsdorf
1972
1973 PR ipa/59469
1974 * lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
1975 merge force_output and forced_by_abi flags.
1976
b72271b9
BI
19772014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1978
1979 * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
1980 flag_cilkplus.
1981
63124c48
RB
19822014-01-09 Richard Biener <rguenther@suse.de>
1983
1984 * lto.c (gimple_canonical_types_compatible_p): Fix comment.
1985
d05b9920
RB
19862014-01-09 Richard Biener <rguenther@suse.de>
1987
1988 PR lto/45586
1989 * lto.c (hash_canonical_type): Do not hash TREE_ADDRESSABLE,
1990 TYPE_ALIGN, TYPE_RESTRICT or TYPE_REF_CAN_ALIAS_ALL.
1991 (gimple_canonical_types_compatible_p): Do not compare them either.
1992
23a5b65a
RS
19932014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1994
1995 Update copyright years
1996
2c8326a5
OE
19972013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
1998
1999 * lto.c: Remove struct tags when referring to class varpool_node.
2000 * lto-partition.c: Likewise.
2001 * lto-symtab.c: Likewise.
2002
e06f9964
JJ
20032013-11-29 Jakub Jelinek <jakub@redhat.com>
2004 Richard Biener <rguenther@suse.de>
2005
2006 PR lto/59326
2007 * lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
2008
c193f58b
JJ
20092013-11-29 Jakub Jelinek <jakub@redhat.com>
2010
2011 PR lto/59326
2012 * lto.c (mentions_vars_p_omp_clause): New function.
2013 (mentions_vars_p): Call it for OMP_CLAUSE. Remove break;
2014 after return stmts.
2015
2fb9a547
AM
20162013-11-22 Andrew MacLeod <amacleod@redhat.com>
2017
2018 * lto.c: Add required include files from gimple.h.
ab20d992
JJ
2019 * lto-lang.c: Likewise.
2020 * lto-object.c: Likewise.
2021 * lto-partition.c: Likewise.
2022 * lto-symtab.c: Likewise.
2fb9a547 2023
fec39fa6
TS
20242013-11-18 Trevor Saunders <tsaunders@mozilla.com>
2025
2026 * lto-partition.c lto-symtab.c lto.c Adjust.
2027
d8a2d370
DN
20282013-11-14 Diego Novillo <dnovillo@google.com>
2029
2030 * lto-lang.c: Include stringpool.h.
2031 Include stor-layout.h.
2032 * lto-partition.c: Include gcc-symtab.h.
2033 * lto.c: Include stor-layout.h.
2034
5e20cdc9
DM
20352013-10-31 David Malcolm <dmalcolm@redhat.com>
2036
2037 Automated part of renaming of symtab_node_base to symtab_node.
2038
2039 Patch autogenerated by rename_symtab.py from
2040 https://github.com/davidmalcolm/gcc-refactoring-scripts
2041 revision 58bb219cc090b2f4516a9297d868c245495ee622
2042
2043 * lto-partition.c (add_symbol_to_partition): Rename
2044 symtab_node_base to symtab_node.
2045 (get_symbol_class): Likewise.
2046 (symbol_partitioned_p): Likewise.
2047 (add_references_to_partition): Likewise.
2048 (add_symbol_to_partition_1): Likewise.
2049 (contained_in_symbol): Likewise.
2050 (add_symbol_to_partition): Likewise.
2051 (lto_1_to_1_map): Likewise.
2052 (lto_max_map): Likewise.
2053 (lto_balanced_map): Likewise.
2054 (privatize_symbol_name): Likewise.
2055 (promote_symbol): Likewise.
2056 (may_need_named_section_p): Likewise.
2057 (rename_statics): Likewise.
2058 (lto_promote_statics_nonwpa): Likewise.
2059 * lto-symtab.c (lto_symtab_merge): Likewise.
2060 (lto_symtab_resolve_replaceable_p): Likewise.
2061 (lto_symtab_symbol_p): Likewise.
2062 (lto_symtab_resolve_can_prevail_p): Likewise.
2063 (lto_symtab_resolve_symbols): Likewise.
2064 (lto_symtab_merge_decls_2): Likewise.
2065 (lto_symtab_merge_decls_1): Likewise.
2066 (lto_symtab_merge_decls): Likewise.
2067 (lto_symtab_merge_symbols_1): Likewise.
2068 (lto_symtab_merge_symbols): Likewise.
2069 (lto_symtab_prevailing_decl): Likewise.
2070 * lto.c (lto_wpa_write_files): Likewise.
2071 (read_cgraph_and_symbols): Likewise.
2072 (do_whole_program_analysis): Likewise.
2073
378cd6b1
DM
20742013-10-30 David Malcolm <dmalcolm@redhat.com>
2075
2076 * lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
2077 declarations onto multiple lines to make things easier for
2078 rename_symtab.py.
2079 (lto_symtab_merge_decls_1): Likewise.
2080 (lto_symtab_merge_symbols_1): Likewise.
2081
939b37da
BI
20822013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2083
2084 * Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
2085 * lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
2086 Plus is enabled.
2087
67348ccc
DM
20882013-10-29 David Malcolm <dmalcolm@redhat.com>
2089
2090 Patch autogenerated by refactor_symtab.py from
2091 https://github.com/davidmalcolm/gcc-refactoring-scripts
2092 revision 58bb219cc090b2f4516a9297d868c245495ee622
2093
2094 * lto-partition.c (lto_promote_cross_file_statics): Update for
2095 conversion of symtab types to a true class hierarchy.
2096 (rename_statics): Likewise.
2097 (promote_symbol): Likewise.
2098 (privatize_symbol_name): Likewise.
2099 (lto_balanced_map): Likewise.
2100 (varpool_node_cmp): Likewise.
2101 (node_cmp): Likewise.
2102 (lto_1_to_1_map): Likewise.
2103 (undo_partition): Likewise.
2104 (add_symbol_to_partition): Likewise.
2105 (contained_in_symbol): Likewise.
2106 (add_symbol_to_partition_1): Likewise.
2107 (add_references_to_partition): Likewise.
2108 (symbol_partitioned_p): Likewise.
2109 (get_symbol_class): Likewise.
2110 (lto_max_map): Likewise.
2111 * lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
2112 (lto_symtab_merge_symbols): Likewise.
2113 (lto_symtab_merge_symbols_1): Likewise.
2114 (lto_symtab_merge_decls): Likewise.
2115 (lto_symtab_merge_decls_1): Likewise.
2116 (lto_symtab_merge_decls_2): Likewise.
2117 (lto_symtab_resolve_symbols): Likewise.
2118 (lto_symtab_resolve_can_prevail_p): Likewise.
2119 (lto_symtab_symbol_p): Likewise.
2120 (lto_symtab_resolve_replaceable_p): Likewise.
2121 (lto_symtab_merge): Likewise.
2122 (lto_varpool_replace_node): Likewise.
2123 (lto_cgraph_replace_node): Likewise.
2124 * lto.c (lto_main): Likewise.
2125 (do_whole_program_analysis): Likewise.
2126 (materialize_cgraph): Likewise.
2127 (read_cgraph_and_symbols): Likewise.
2128 (cmp_partitions_order): Likewise.
2129 (lto_materialize_function): Likewise.
2130 (has_analyzed_clone_p): Likewise.
2131
8e9055ae
AM
21322013-10-29 Andrew MacLeod <amacleod@redhat.com>
2133
ab20d992
JJ
2134 * lto-object.c: Add gimple.h to include list.
2135 * lto-partition.c: Likewise.
8e9055ae 2136
377d9792
AM
21372013-10-18 Andrew MacLeod <amacleod@redhat.com>
2138
2139 * lto.c: Remove tree-flow.h from include list.
2140
fffda8d7
RB
21412013-10-15 Richard Biener <rguenther@suse.de>
2142
2143 * lto.c (hash_canonical_type): Split out from ...
2144 (iterative_hash_canonical_type): ... here. Register types
2145 we recurse to.
2146 (gimple_canonical_type_hash): Adjust.
2147 (gimple_register_canonical_type_1): Split out from ...
2148 (gimple_register_canonical_type): ... here. Cache computed
2149 hash value.
2150 (lto_register_canonical_types): Split into two modes,
2151 clearing and computing TYPE_CANONICAL.
2152 (lto_read_decls): Adjust.
2153 (read_cgraph_and_symbols): Do two passes over global trees,
2154 first clearing then computing TYPE_CANONICAL.
2155
1394237e
RB
21562013-10-14 Richard Biener <rguenther@suse.de>
2157
2158 * lto.c (gimple_canonical_types): Move out-of GC space.
2159 (canonical_type_hash_cache): Make a pointer-map.
2160 (num_canonical_type_hash_entries, num_canonical_type_hash_queries):
2161 New counters.
2162 (iterative_hash_canonical_type): Adjust.
2163 (read_cgraph_and_symbols): Likewise.
2164 (print_lto_report_1): Likewise.
2165
0a387eca
RB
21662013-10-14 Richard Biener <rguenther@suse.de>
2167
2168 * lto.c (gimple_types, type_hash_cache, struct type_pair_d,
2169 type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
2170 gtc_next_dfs_num, compare_type_names_p, gtc_visit,
2171 gimple_types_compatible_p_1, gimple_types_compatible_p,
2172 visit, iterative_hash_name, struct type_hash_pair,
2173 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
2174 gimple_type_eq, gimple_register_type, num_not_merged_types,
2175 num_not_merged_types_in_same_scc, num_not_merged_types_trees,
2176 num_not_merged_types_in_same_scc_trees): Remove old merging code
2177 and statistics.
2178 (lto_read_decls): Do not run old merging code in parallel.
2179 (read_cgraph_and_symbols): Do not init/free old merging
2180 data structures.
2181 (print_lto_report_1): Do not report differences of old vs. new
2182 merging code.
2183
83fd5d11
RB
21842013-10-14 Richard Biener <rguenther@suse.de>
2185
2186 * lto-lang.c (lto_init): Do not re-init canonical types here.
2187 (lto_register_canonical_types): Move to ...
2188 * lto.c (lto_register_canonical_types): ... here.
2189 (gimple_canonical_types, canonical_type_hash_cache,
2190 iterative_hash_canonical_type, gimple_canonical_type_hash,
2191 gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
2192 gimple_register_canonical_type): Add canonical type merging machinery
2193 moved from gimple.c.
2194 (read_cgraph_and_symbols): Init and free canonical type tables
2195 here.
2196 (print_lto_report_1): Report canonical type table stats here.
2197
acf0174b
JJ
21982013-10-11 Jakub Jelinek <jakub@redhat.com>
2199
2200 * lto-lang.c (DEF_FUNCTION_TYPE_8): Define.
2201
7c6fedd2
TT
22022013-09-25 Tom Tromey <tromey@redhat.com>
2203
2204 * Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
2205 (lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
2206 (lto/lto-object.o): Remove.
2207
35f32ad4
RB
22082013-09-06 Richard Biener <rguenther@suse.de>
2209
2210 * lto-symtab.c: Move from gcc/
2211 * lto.h: Include vec.h.
2212 (lto_global_var_decls): Declare.
2213 * lto.c (lto_global_var_decls): Move definition here.
2214 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
2215 (lto-symtab.o): Add.
2216 * config-lang.in (gtfiles): Add lto.h.
2217
49322b12
JH
22182013-08-31 Jan Hubicka <jh@suse.cz>
2219
ab20d992 2220 * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
49322b12
JH
2221 DECL_FIELD_OFFSET can contain an reference to variable.
2222
31f1f73b
JH
22232013-08-31 Jan Hubicka <jh@suse.cz>
2224
2225 * lto.c (tree_with_vars): Turn into vector.
2226 (MAYBE_REMEMBER_WITH_VARS): Change to...
2227 (CHECK_VAR): ... this one.
2228 (CHECK_NO_VAR): New macro.
2229 (maybe_remember_with_vars_typed): Turn to ...
2230 (mentions_vars_p_typed): ... this one.
2231 (maybe_remember_with_vars_common): Turn to ...
2232 (mentions_vars_p_comon): ... this one.
2233 (maybe_remember_with_vars_decl_minimal): Turn to ...
2234 (mentions_vars_p_decl_minmal): ... this one.
2235 (maybe_remember_with_vars_decl_common): Turn to ...
2236 (mentions_vars_p_decl_common): ... this one.
2237 (maybe_remember_with_vars_decl_with_vis): Turn to ...
2238 (mentions_vars_p_decl_with_vis): ... this one.
2239 (maybe_remember_with_vars_decl_non_common): Turn to ...
2240 (mentions_vars_p_decl_non_common): ... this one.
2241 (maybe_remember_with_vars_function): Turn to ...
2242 (mentions_vars_p_function): ... this one.
2243 (maybe_remember_with_vars_field_decl): Turn to ...
2244 (mentions_vars_p_field_decl): ... this one.
2245 (maybe_remember_with_vars_type): Turn to ...
2246 (mentions_vars_p_type): ... this one.
2247 (maybe_remember_with_vars_binfo): Turn to ...
2248 (mentions_vars_p_binfo): ... this one.
2249 (maybe_remember_with_vars_constructor): Turn to ...
2250 (mentions_vars_p_constructor): ... this one.
2251 (maybe_remember_with_vars_expr): Turn to ...
2252 (mentions_vars_p_expr): ... this one.
2253 (maybe_remember_with_vars): Turn to ...
2254 (mentions_vars_p): ... this one.
2255 (lto_read_decls): Update.
2256 (LTO_SET_PREVAIL): Do not call function for internal decls.
2257 (lto_fixup_prevailing_decls): Update to match mentions_vars_p;
2258 check that something was updated.
2259 (lto_fixup_state): Do not care about internal decls.
2260 (lto_fixup_decls): Update.
2261 (read_cgraph_and_symbols): Update.
2262
256eefa9
JH
22632013-08-29 Jan Hubicka <jh@suse.cz>
2264
2265 * lto.c (read_cgraph_and_symbols): Free decl states.
2266
0170f33c
JH
22672013-08-29 Jan Hubicka <jh@suse.cz>
2268
2269 * lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
2270 DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
2271 TYPE_FINAL_P.
2272
c01c111b
JH
22732013-08-28 Jan Hubicka <jh@suse.cz>
2274
2275 * lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
2276 DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
2277 (unify_scc): Do checking assert.
2278
6a49f3c9
JH
22792013-08-06 Jan Hubicka <jh@suse.cz>
2280 Martin Liska <marxin.liska@gmail.com>
2281
ab20d992 2282 * lto-partition.c (lto_balanced_map): Always base order on
6a49f3c9
JH
2283 source file order.
2284
a2e2a668
JH
22852013-08-06 Jan Hubicka <jh@suse.cz>
2286
2287 * lto.c (lto_materialize_function): Do not read body anymore.
2288
815effe1
JH
22892013-08-02 Jan Hubicka <jh@suse.cz>
2290
2291 * lto.c (lto_materialize_function): Do not push struct function.
2292 * lto-partition.c (get_symbol_class): Handle abstracts correctly.
2293 (may_need_named_section_p): Even abstract origins may need
2294 named section.
2295
315f8c0e
DM
22962013-07-30 David Malcolm <dmalcolm@redhat.com>
2297
2298 * Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
2299 PASS_MANAGER_H.
2300
2301 * lto.c (do_whole_program_analysis): Update for move of
2302 all_regular_ipa_passes from a global to a field of class
2303 pass_manager.
2304
1aa95df7
OB
23052013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2306
2307 * lto-partition.c: Fix typos.
2308
c525ba9a
JH
23092013-06-20 Jan Hubicka <jh@suse.cz>
2310
2311 * lto-partition.c (lto_balanced_map): Fix -fno-toplevel-reorder
2312 partitioning of variables.
2313
7a89ad00
JH
23142013-06-20 Jan Hubicka <jh@suse.cz>
2315
2316 * lto.c (read_cgraph_and_symbols): Set cgraph state.
2317
6a6dac52
JH
23182013-06-19 Jan Hubicka <jh@suse.cz>
2319
2320 * lto-partition.c (add_references_to_partition): Use
2321 ctor_for_folding.
2322
ac0511f2
RB
23232013-06-18 Richard Biener <rguenther@suse.de>
2324
2325 * lto.c (lto_register_var_decl_in_symtab): Pass in cache index
2326 and use it.
2327 (lto_register_function_decl_in_symtab): Likewise.
2328 (cmp_tree): New function.
2329 (unify_scc): Instead of using the streamer cache map from entry
2330 to cache index match up the two maps we have by sorting them.
2331 Adjust calls to lto_register_var_decl_in_symtab and
2332 lto_register_function_decl_in_symtab.
2333
ee03e71d
RB
23342013-06-17 Richard Biener <rguenther@suse.de>
2335
2336 * Make-lang.in (lto.o): Add $(DATA_STREAMER_H) dependency.
2337 * lto.c: Include data-streamer.h.
2338 (lto_read_in_decl_state): Use streamer_tree_cache_get_tree.
2339 (gimple_type_leader_entry_s, gimple_type_leader,
2340 gimple_lookup_type_leader): Remove.
2341 (gtc_visit): Simplify.
2342 (gimple_types_compatible_p): Likewise.
2343 (gimple_register_type_1): Likewise. Merge into ...
2344 (gimple_register_type): ... this. Keep it as legacy for
2345 statistics purposes for now.
2346 (fixup_integer_cst): Remove.
2347 (LTO_FIXUP_TREE, lto_fixup_types, lto_ft_*): Simplify and
2348 rename to ...
2349 (MAYBE_REMEMBER_WITH_VARS, maybe_remember_with_vars,
2350 maybe_remember_with_vars_*): ... these.
2351 (uniquify_nodes): Remove.
2352 (lto_fixup_prevailing_type): New function.
2353 (struct tree_scc, struct tree_scc_hasher): New type and hasher.
2354 (tree_scc_hash, tree_scc_hash_obstack): New globals.
2355 (num_merged_types, num_prevailing_types, num_not_merged_types,
2356 num_not_merged_types_in_same_scc, total_scc_size, num_sccs_read,
2357 total_scc_size_merged, num_sccs_merged, num_scc_compares,
2358 num_scc_compare_collisions): New global counters.
2359 (compare_tree_sccs_1): New function.
2360 (compare_tree_sccs): Likewise.
2361 (unify_scc): Likewise.
2362 (lto_read_decls): Stream in tree SCCs and unify them on the
2363 way in. Finalize prevailing SCC tree members.
2364 (read_cgraph_and_symbols): Do not initialize or free gimple_type_leader.
2365 Allocate and free tree_scc_hash_obstack and tree_scc_hash, do not bother
2366 to ggc-collect during merging.
2367 (print_lto_report_1): Adjust for new merging code.
2368
ca0f62a8
JH
23692013-06-12 Jan Hubicka <jh@suse.cz>
2370
2371 * lto.c (read_cgraph_and_symbols): Set cgraph into streaming state.
2372
bbf9ad07
JH
23732013-06-12 Jan Hubicka <jh@suse.cz>
2374
2375 * lto.c (register_resolution): Take lto_file_data argument.
2376 (lto_register_var_decl_in_symtab,
2377 lto_register_function_decl_in_symtab): Update.
2378 (read_cgraph_and_symbols): Update resolution_map handling.
2379
ecdbd01a 23802013-06-11 Jan Hubicka <jh@suse.cz>
08346abd
JH
2381
2382 * lto-partition.c (get_symbol_class): Simplify weakref handling.
2383 (add_symbol_to_partition_1): Likewise.
2384 (contained_in_symbol): Likewise.
2385 (lto_balanced_map): Likewise.
2386 (rename_statics): Drop weakref.
2387
a367df53
RB
23882013-06-05 Richard Biener <rguenther@suse.de>
2389
2390 * lto.c (num_merged_types): New global variable.
2391 (uniquify_nodes): Increase num_merged_types when merging a type.
2392 (print_lto_report_1): Output the number of merged types.
2393
40a7fe1e
JH
23942013-06-01 Jan Hubicka <jh@suse.cz>
2395
2396 * lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
2397 lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
2398 (do_whole_program_analysis): Update dumping.
2399
e70670cf
JH
24002013-05-29 Jan Hubicka <jh@suse.cz>
2401
2402 * lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
2403 flags.
2404 * lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
2405
8ee05051
JH
24062013-05-15 Jan Hubicka <jh@suse.cz>
2407
2408 * lto-partition.c (privatize_symbol_name): Return true when
2409 privatizing happened.
2410 (rename_statics): Do not go into infinite loop when privatizing
2411 is not needed.
2412
427b248d
JM
24132013-05-16 Jason Merrill <jason@redhat.com>
2414
2415 * Make-lang.in ($(LTO_EXE)): Use link mutex.
2416
9de04252
MJ
24172013-05-15 Martin Jambor <mjambor@suse.cz>
2418
2419 * lto-partition.c (lto_balanced_map): Print symbol order instead
2420 of node uids.
2421
2d6e4603
JH
24222013-05-15 Jan Hubicka <jh@suse.cz>
2423
2424 PR lto/57038
2425 PR lto/47375
2426 * lto-partition.c (get_symbol_class): Fix weakrefs.
2427 (lto_balanced_map): Fix weakrefs.
2428 (privatize_symbol_name): Remove unnecesary label.
2429 (rename_statics): Handle weakrefs as statics.
2430
64cfa6c0
JH
24312013-05-09 Jan Hubicka <jh@suse.cz>
2432 Richard Biener <rguenther@suse.de>
2433
2434 * lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
2435 (lto_register_var_decl_in_symtab): Likewise.
2436 (lto_main): Promote statics.
2437 * lto-partition.c (privatize_symbol_name): New function.
2438 (promote_symbol): Use it.
2439 (may_need_named_section_p): New predicate.
2440 (rename_statics): New functions.
2441 (lto_promote_cross_file_statics): Simplify; do renaming.
2442 (lto_promote_statics_nonwpa): New function.
2443 * lto-partition.h (lto_promote_statics_nonwpa): New function.
2444
e45cde98
RB
24452013-02-08 Richard Biener <rguenther@suse.de>
2446
2447 PR lto/56231
2448 * lto-lang.c (lto_init): Do not enter a dummy file.
2449
6edc3e32
UB
24502013-02-07 Uros Bizjak <ubizjak@gmail.com>
2451
2452 PR bootstrap/56227
2453 * lto.c (lto_resolution_ready): Use %wx instead of
2454 HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
2455
ed73881e
RG
24562013-02-04 Richard Guenther <rguenther@suse.de>
2457
2458 PR lto/56168
2459 * lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
2460 or lto_fixup_decls at LTRANS time.
2461
a19b1432
JH
24622013-01-09 Jan Hubicka <jh@suse.cz>
2463
2464 PR lto/45375
2465 * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.
2466
49c01f87
L
24672012-12-10 H.J. Lu <hongjiu.lu@intel.com>
2468
2469 PR lto/55466
2470 * lto.c (lto_register_var_decl_in_symtab): Don't record static
2471 variables.
2472 (lto_main): Record the global variables if WPA isn't enabled.
2473
6e1aa848
DN
24742012-11-20 Diego Novillo <dnovillo@google.com>
2475 Jakub Jelinek <jakub@redhat.com>
2476
2477 * lto.c: Replace all vec<T, A>() initializers with vNULL.
2478
9771b263
DN
24792012-11-16 Diego Novillo <dnovillo@google.com>
2480
2481 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2482
2483 * lto-lang.c: Use new vec API in vec.h.
2484 * lto-partition.c: Likewise.
2485 * lto-partition.h: Likewise.
2486 * lto.c: Likewise.
2487
24551b9c
LC
24882012-10-31 Lawrence Crowl <crowl@google.com>
2489
2490 * lto.c (lto_wpa_write_files): Change symtab checking to a checked
2491 down-cast via dyn_cast.
2492 * lto-partition.c (add_symbol_to_partition_1): Likewise.
2493 (undo_partition): Likewise.
2494 (lto_balanced_map): Likewise.
2495 (get_symbol_class): Likewise and via is_a.
2496 (lto_balanced_map): Change symtab checking to is_a.
2497
aec06f6f
RB
24982012-10-12 Richard Biener <rguenther@suse.de>
2499
2500 PR lto/54898
2501 * lto.c (gimple_types_compatible_p_1): Also compare
2502 TYPE_MAIN_VARIANT.
2503 (iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.
2504
0b8c30f9
TB
25052012-10-09 Tobias Burnus <burnus@net-b.de>
2506
2507 * lto-lang.c (lto_register_builtin_type): Avoid useless
2508 decl creation.
2509 * lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.
2510
da3202a8
TB
25112012-10-08 Tobias Burnus <burnus@net-b.de>
2512
2513 * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
2514 Free lto_file struct after closing the file.
2515
2512a443
JH
25162012-10-08 Jan Hubicka <jh@suse.cz>
2517
ab20d992 2518 * lto.c (remember_with_vars): Also fixup INTEGER_CST.
2512a443
JH
2519 (fixup_integer_cst): New functoin.
2520 (lto_ft_type): Fixup BASETYPE of methods and offsets.
2521
e75f8f79
JH
25222012-10-07 Jan Hubicka <jh@suse.cz>
2523
2524 * lto.c (read_cgraph_and_symbols): Release type merging hash early;
2525 release input encoders.
2526 * lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
2527
46591697
JH
25282012-10-06 Jan Hubicka <jh@suse.cz>
2529
ab20d992 2530 PR lto/54790
46591697
JH
2531 * lto.c (resolution_map): New static var.
2532 (register_resolution): New function.
2533 (lto_register_var_decl_in_symtab): Use it.
2534 (read_cgraph_and_symbols): Copy resolutions into the symtab.
2535
af16bc76
MJ
25362012-09-20 Martin Jambor <mjambor@suse.cz>
2537
2538 * lto.c (lto_materialize_function): Call push_struct_function and
2539 pop_cfun.
2540
5368224f
DC
25412012-09-19 Dehao Chen <dehao@google.com>
2542
ab20d992 2543 * lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
5368224f 2544
b5493fb2
JH
25452012-09-19 Jan Hubicka <jh@suse.cz>
2546
2547 * lto.c (lto_materialize_function): Update confused comment.
2548 (read_cgraph_and_symbols): Do not free symtab.
2549
c3c445e1
JH
25502012-09-12 Jan Hubicka <jh@suse.cz>
2551
2552 * lto.c (do_whole_program_analysis): Care timevars, statistics and
2553 AUX pointer cleaning. Add max partitioning.
2554 * lto-partition.c (enum symbol_class): New.
2555 (get_symbol_class): New function.
2556 (symbol_partitioned_p): New function.
2557 (add_references_to_partition): Remove.
2558 (add_aliases_to_partition): Remove.
2559 (add_cgraph_node_to_partition_1): Remove.
2560 (add_cgraph_node_to_partition): Remove.
2561 (add_symbol_to_partition): New function.
2562 (add_symbol_to_partition_1): New function.
2563 (contained_in_symbol): New function.
2564 (partition_cgraph_node_p): Remove.
2565 (partition_varpool_node_p): Remove.
2566 (partition_symbol_p): Remove.
2567 (lto_1_to_1_map): Cleanup.
2568 (lto_max_map): New.
2569 (lto_balanced_map): Update.
2570 (lto_promote_cross_file_statics): Update.
2571 * lto-partition.h (lto_max_map): Declare.
2572 * timevar.def (TV_WHOPR_PARTITIONING): New timevar.
2573
b5c7cdfb
JH
25742012-09-11 Jan Hubicka <jh@suse.cz>
2575
2576 PR lto/54312
2577 * lto.c (uniquify_nodes): Remove quadratic loop checking if the
2578 type is variant leader.
2579
b29402f0
RG
25802012-09-11 Richard Guenther <rguenther@suse.de>
2581
2582 * lto.c (enum gtc_mode): Remove.
2583 (struct type_pair_d): Adjust.
2584 (lookup_type_pair): Likewise.
2585 (gimple_type_leader): Do not mark as deletable.
2586 (gimple_lookup_type_leader): Adjust.
2587 (gtc_visit): Likewise.
2588 (gimple_types_compatible_p_1): Likewise.
2589 (gimple_types_compatible_p): Likewise.
2590 (gimple_type_hash): Likewise.
2591 (gimple_register_type): Likewise.
2592 (read_cgraph_and_symbols): Manage lifetime of tables
2593 here.
2594
b8f4e58f
RG
25952012-09-11 Richard Guenther <rguenther@suse.de>
2596
2597 * lto.c (gimple_types, type_hash_cache, enum gtc_mode,
2598 struct type_pair_d, lookup_type_pair, struct sccs,
2599 next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
2600 gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
2601 gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
2602 visit, iterative_hash_name, struct type_hash_pair,
2603 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
2604 gimple_type_eq, gimple_register_type_1, gimple_register_type):
2605 Move here from gimple.c
2606 (read_cgraph_and_symbols): Free hash tables here.
2607 (print_lto_report_1): New function wrapping print_lto_report.
2608 (do_whole_program_analysis): Call it.
2609 (lto_main): Likewise.
2610
1cdbb3f9
JH
26112012-09-10 Jan Hubicka <jh@suse.cz>
2612
2613 * lto-partition.c (partition_symbol_p): Forward declare.
2614 (add_references_to_partition): Reimplement using partition_symbol_p.
2615 (add_aliases_to_partition): Break out from add_references_to_partition;
2616 reimplement using partition_symbol_p.
2617 (add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
2618 add sanity checks.
2619 (add_varpool_node_to_partition): Use add_aliases_to_partition.
2620 (partition_varpool_node_p): Do not special case aliases.
2621
b4661bfe
JH
26222012-08-12 Jan Hubicka <jh@suse.cz>
2623
2624 * lto.c (lto_wpa_write_files): Do not delete partition encoder;
2625 it is deleted after streaming.
2626 * lto-partition.c (partition_symbol_p): New function.
2627 (promote_var, promote_fn): Remove.
2628 (promote_symbol): New function.
2629 (lto_promote_cross_file_statics): First compute boundaries; rewrite
2630 to lookup the actual boundaries instead of computing them ad-hoc.
2631
7b99cca4
JH
26322012-08-12 Jan Hubicka <jh@suse.cz>
2633
2634 Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
2635 in partitioning.
2636 * lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
2637 by encoder.
2638 * lto-partition.c (new_partition): Update.
2639 * lto.c (cmp_partitions_order): Update.
2640 (lto_wpa_write_files): Update.
2641 (free_ltrans_partitions): Update.
2642 (add_references_to_partition): Update.
2643 (add_cgraph_node_to_partition_1): Update.
2644 (add_cgraph_node_to_partition): Update.
2645 (add_varpool_node_to_partition): Update.
2646 (undo_partition): Update.
2647 (lto_balanced_map): Update.
2648 (set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
2649 set_referenced_from_this_partition_p): Update.
2650 (lto_promote_cross_file_statics): Update.
2651
f27c1867
JH
26522012-08-12 Jan Hubicka <jh@suse.cz>
2653
2654 * lto-partition.c (set_referenced_from_other_partition_p,
2655 set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
2656 New functions.
2657 (lto_promote_cross_file_statics): Use them.
2658
ab96cc5b
JH
26592012-07-24 Jan Hubicka <jh@suse.cz>
2660
2661 * lto.c (read_cgraph_and_symbols): Use input_symtab.
2662
0229aee9
UB
26632012-07-24 Uros Bizjak <ubizjak@gmail.com>
2664
2665 * lto-tree.h (lang_decl): Add variable_size GTY option.
2666
7ee2468b
SB
26672012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2668
2669 * lto.c: Do not include timevar.h.
2670 * Make-lang.in: Fix dependencies.
2671
a910399d
LC
26722012-06-18 Lawrence Crowl <crowl@google.com>
2673
ab20d992 2674 * lto.c (do_whole_program_analysis): Rename use of TV_PHASE_CGRAPH to
a910399d
LC
2675 TV_PHASE_OPT_GEN. Use new timevar TV_PHASE_STREAM_OUT around the call
2676 to lto_wpa_write_files.
ab20d992 2677 (lto_main): Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Move
a910399d
LC
2678 start of TV_PHASE_OPT_GEN to include call to materialize_cgraph. Use
2679 TV_PHASE_SETUP for the call to lto_init. Use new timevar
2680 TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
2681 Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
2682 to be a front end, but is not one.
2683
877ab5e9
JH
26842012-05-18 Jan Hubicka <jh@suse.cz>
2685
2686 * lto.c (lto_materialize_constructors_and_inits): Remove.
2687 (read_cgraph_and_symbols): Remove handling of alias pairs.
2688
6649df51
JH
26892012-05-17 Jan Hubicka <jh@suse.cz>
2690
2691 * lto-partition.c (add_references_to_partition): Handle external vars.
2692 (partition_varpool_node_p): Likewise.
2693 (lto_promote_cross_file_statics): Do not promote externals.
2694
d1ede5f4
BS
26952012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2696
2697 * lto-lang.c (handle_fnspec_attribute): New static function.
2698 (lto_attribute_table): Add "fn spec".
2699 (DEF_ATTR_STRING): Define and undefine along with the other macros.
2700
0d6bf48c
JH
27012012-05-04 Jan Hubicka <jh@suse.cz>
2702
2703 * lto.c (do_whole_program_analysis): Set timevars correctly.
2704 (lto_main): Likewise.
d1ede5f4 2705
1d67dde8
RB
27062012-05-04 Richard Guenther <rguenther@suse.de>
2707
2708 * lang.opt (fwpa): Do not mark as Optimization.
2709 (fltrans): Likewise.
2710
65d630d4
JH
27112012-04-30 Jan Hubicka <jh@suse.cz>
2712
2713 * lto.c (lto_main): Use compile ().
1d67dde8
RB
2714 * lto-partition.c (partition_cgraph_node_p): Use
2715 symtab_used_from_object_file_p.
65d630d4
JH
2716 (partition_varpool_node_p): Likewise.
2717
ead84f73
JH
27182012-04-20 Jan Hubicka <jh@suse.cz>
2719
2720 * lto-partition.c (partition_cgraph_node_p): Use force_output.
2721
5932a4d4
JH
27222012-04-18 Jan Hubicka <jh@suse.cz>
2723
2724 * lto-partition.c (add_references_to_partition, lto_balanced_map):
2725 Update for new ipa-ref API.
2726
65c70e6b
JH
27272012-04-16 Jan Hubicka <jh@suse.cz>
2728
2729 * lto.c (read_cgraph_and_symbols): Use FOR_EACH
92a285c1 2730 walkers to walk cgraph and varpool.
65c70e6b
JH
2731 (materialize_cgraph): Likewise.
2732 * lto-partition.c (lto_1_to_1_map): Likewise.
2733 (lto_balanced_map): Likewise.
2734 (lto_promote_cross_file_statics): Likewise.
2735
960bfb69
JH
27362012-04-14 Jan Hubicka <jh@suse.cz>
2737
2738 * lto.c: Update field referenced for new cgraph/varpool layout.
2739 * lto-partition.c: Likewise.
2740
a66dc285
JH
27412012-04-11 Jan Hubicka <jh@suse.cz>
2742
2743 * lto.c: Update copyright; remove params.h, ipa-inline.h
2744 and ipa-utils.h inlines; inline lto-partition.h
2745 (ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
2746 add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
2747 add_references_to_partition, add_cgraph_node_to_partition_1,
2748 add_cgraph_node_to_partition, add_varpool_node_to_partition,
2749 undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
2750 lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
2751 promote_var, promote_fn, lto_promote_cross_file_statics): move to...
2752 * lto-partition.c: ... here; new file.
2753 * lto-partition.h: New file.
2754 * Make-lang.in (lto.o): Update dependencies.
2755 (lto-partition.o): New.
2756
f3b249e5
RG
27572012-04-05 Richard Guenther <rguenther@suse.de>
2758
2759 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Remove
2760 definition.
2761
21fa2faf
RG
27622012-03-12 Richard Guenther <rguenther@suse.de>
2763
2764 * lto-lang.c (builtin_type_for_size): Use lto_type_for_size.
2765
6bb485a3
RG
27662012-03-06 Richard Guenther <rguenther@suse.de>
2767
2768 PR lto/52097
2769 * lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.
2770
95510497
RG
27712012-02-28 Richard Guenther <rguenther@suse.de>
2772
2773 PR lto/52400
2774 * lto.c (lto_register_function_decl_in_symtab): Do not register
2775 a reverse renamed decl mapping.
2776
09228fef
JJ
27772012-01-06 Jakub Jelinek <jakub@redhat.com>
2778
2779 PR lto/51774
2780 * lto-lang.c (handle_returns_twice_attribute): New function.
2781 (lto_attribute_table): Add returns_twice attribute.
2782
b03eda0d
RG
27832011-12-21 Richard Guenther <rguenther@suse.de>
2784
2785 * lto.c (GIMPLE_REGISTER_TYPE): New define.
2786 (LTO_FIXUP_TREE): Use it.
2787 (uniquify_nodes): Mark new non-prevailing types and avoid
2788 calling gimple_register_type on others.
2789 (lto_read_decls): Add comment.
2790
4ad9a9de
EB
27912011-12-13 Eric Botcazou <ebotcazou@adacore.com>
2792
2793 * lto.h (lto_parse_hex): Delete.
2794 * lto.c (lto_read_decls): Use 'int' for offsets.
2795 (lto_parse_hex): Make static and return proper 64-bit host type.
2796 (lto_resolution_read): Use proper 64-bit host type.
2797
ea973bad
RG
27982011-12-13 Richard Guenther <rguenther@suse.de>
2799
2800 PR lto/48354
2801 * lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
2802 with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.
2803
c8218030
UB
28042011-12-01 Uros Bizjak <ubizjak@gmail.com>
2805
2806 * lto-lang.c (lto_attribute_table): Handle *tm regparm.
2807 (ignore_attribute): New.
2808
57ac2606
AH
28092011-11-21 Aldy Hernandez <aldyh@redhat.com>
2810
2811 * lto-lang.c (lto_attribute_table): Handle transaction_pure.
2812 (handle_transaction_pure_attribute): New.
2813
52a35ef7
RG
28142011-11-03 Richard Guenther <rguenther@suse.de>
2815
2816 PR lto/44965
2817 * lto-lang.c (lto_post_options): Do not read file options.
2818 * lto.c (lto_read_all_file_options): Remove.
2819 (lto_init): Call lto_set_in_hooks here.
2820
51973b1e
JH
28212011-10-09 Jan Hubicka <jh@suse.cz>
2822
2823 * lto.c (node_cmp, varpool_node_cmp): New functions.
2824 (lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
2825 (cmp_partitions): Rename to ...
2826 (cmp_partitions_size): ... this one.
2827 (cmp_partitions_order): New function.
2828 (lto_wpa_write_files): Sort partitions by order when
2829 -fno-toplevel-reorder is used.
2830
5958009b
AK
28312011-10-09 Andi Kleen <ak@linux.intel.com>
2832
2833 * lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
2834
e79983f4
MM
28352011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2836
2837 * lto-lang.c (def_builtin_1): Delete old interface with two
2838 parallel arrays to hold standard builtin declarations, and replace
2839 it with a function based interface that can support creating
2840 builtins on the fly in the future. Change all uses, and poison
2841 the old names. Make sure 0 is not a legitimate builtin index.
2842
ecdbd01a 28432011-10-02 Andi Kleen <ak@linux.intel.com>
c17d253c
AK
2844
2845 * lto-object.c (lto_obj_add_section_data): Add list.
2846 (lto_obj_add_section): Fill in list.
2847 (ltoobj_build_section_table): Pass through list.
2848 * lto.c (file_data_list): Declare.
2849 (create_subid_section_table): Pass arguments directly.
2850 Fill in list of file_datas.
2851 (lwstate): Delete.
2852 (lto_create_files_from_ids): Pass in direct arguments.
2853 Don't maintain list.
2854 (lto_file_read): Use explicit section and file data lists.
2855 (lto_read_all_file_options): Pass in section_list.
2856 * lto.h (lto_obj_build_section_table): Add list.
2857 (lto_section_slot): Add next.
2858 (lto_section_list): Declare.
2859
ed0d2da0
JH
28602011-10-02 Jan Hubicka <jh@suse.cz>
2861
2862 PR lto/47247
2863 * common.c (lto_resolution_str): Add new resolution.
2864 * common.h (lto_resolution_str): Likewise.
2865
ad7715f3
L
28662011-09-30 H.J. Lu <hongjiu.lu@intel.com>
2867 Andi Kleen <ak@linux.intel.com>
2868
2869 PR lto/50568
2870 * lto.c (lto_splay_tree_delete_id): New.
2871 (lto_splay_tree_compare_ids): Likewise.
2872 (lto_splay_tree_lookup): Likewise.
2873 (lto_splay_tree_id_equal_p): Likewise.
2874 (lto_splay_tree_insert): Likewise.
2875 (lto_splay_tree_new): Likewise.
2876 (lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
2877 Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
2878 (create_subid_section_table): Use lto_splay_tree_lookup and
2879 lto_splay_tree_insert.
2880 (lto_file_read): Use lto_splay_tree_new.
2881
ecdbd01a 28822011-09-26 Andi Kleen <ak@linux.intel.com>
dde8b360
AK
2883
2884 * lto.c (lto_resolution_read): Remove id dumping.
2885 (lto_section_with_id): Turn id HOST_WIDE_ID.
2886 (create_subid_section_table): Dito.
2887
892a371f
DS
28882011-08-28 Dodji Seketeli <dodji@redhat.com>
2889
2890 * lto-lang.c (lto_init): Likewise. Also, avoid calling
2891 linemap_add twice.
2892
f82d1a94
MJ
28932011-08-11 Martin Jambor <mjambor@suse.cz>
2894
2895 * lto.c (uniquify_nodes): Use main variant's BINFO too.
2896
f0efc7aa
DN
28972011-08-08 Diego Novillo <dnovillo@google.com>
2898
2899 * Make-lang.in (lto/lto.o): Add TREE_STREAMER_H.
2900 * lto.c: Include tree-streamer.h.
2901
1a072294
RG
29022011-07-06 Richard Guenther <rguenther@suse.de>
2903
2904 * lto-lang.c (lto_init):
2905 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2906
7496868d
JH
29072011-06-11 Jan Hubicka <jh@suse.cz>
2908
10f13f22 2909 PR lto/48246
7496868d
JH
2910 * lto.c (lto_1_to_1_map): Don't create empty partitions.
2911 (lto_balanced_map): Likewise.
2912
39e2db00
JH
29132011-06-11 Jan Hubicka <jh@suse.cz>
2914
2915 * lto.c (add_cgraph_node_to_partition_1): Break out from ...
2916 (add_cgraph_node_to_partition) ... here; walk aliases.
2917 (lto_1_to_1_map): Remove same body alias code.
2918 (promote_fn): Likewise.
2919 (lto_promote_cross_file_statics): Update comment.
2920
28628ea6
DN
29212011-06-07 Diego Novillo <dnovillo@google.com>
2922
2923 * lto.c (uniquify_nodes): Move code to register decls to
2924 the loop that computes canonical types.
2925
009db074
RG
29262011-06-07 Richard Guenther <rguenther@suse.de>
2927
2928 * lto-lang.c (lto_init): Do not set
2929 size_type_node or call set_sizetype.
2930
47c79d56
DN
29312011-06-04 Diego Novillo <dnovillo@google.com>
2932
2933 * lto.c (lto_init): New.
2934 (lto_main): Call it.
2935
d5828cc7
DN
29362011-06-03 Diego Novillo <dnovillo@google.com>
2937
2938 * lto.c (get_resolution): Move from lto-streamer-in.c.
2939 (lto_register_var_decl_in_symtab): Likewise.
2940 (lto_register_function_decl_in_symtab): Likewise.
2941 (uniquify_nodes): Call lto_register_var_decl and
2942 lto_register_function_decl_in_symtab after reading a new
2943 VAR_DECL or FUNCTION_DECL.
2944
6807da97
RG
29452011-06-01 Richard Guenther <rguenther@suse.de>
2946
2947 * lto-lang.c (lto_register_canonical_types): New function.
2948 (lto_init): Register common nodes with the canonical type machinery.
2949 Do not play tricks with char_type_node.
2950
d74be317
RG
29512011-05-26 Richard Guenther <rguenther@suse.de>
2952
2953 * lto.c (uniquify_nodes): Fix bug in one of the previous changes.
2954
d9f8303f
NF
29552011-05-25 Nathan Froyd <froydnj@codesourcery.com>
2956
2957 * lto.c (lto_ft_typed): New function.
2958 (lto_ft_common): Call it.
2959 (lto_ft_constructor): Likewise.
2960 (lto_ft_expr): Likewise.
2961 (lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
2962 TREE_CHAIN.
2963
fb291a1e
RG
29642011-05-20 Richard Guenther <rguenther@suse.de>
2965
2966 * lto.c (lto_ft_common): Remove pointer-to chain teardown.
2967 (lto_ft_type): Move main-variant and pointer-to chain building ...
2968 (uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
2969 in a separate final loop.
2970
31b3ca64
RG
29712011-05-19 Richard Guenther <rguenther@suse.de>
2972
2973 * lto.c (uniquify_nodes): First register all types before
2974 fixing up the tree SCC.
2975
35d828c5
JH
29762011-05-11 Jan Hubicka <jh@suse.cz>
2977
2978 PR lto/48952
2979 * lto.c (do_whole_program_analysis): Do not register cgraph hooks.
2980
51545682
NF
29812011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2982
2983 * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
2984 location of binfo field.
2985 (lto_fixup_prevailing_decls): Likewise.
2986
8242dd04
NF
29872011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2988
2989 * lto-lang.c (def_fn_type): Don't call build_function_type, call
2990 build_function_type_array or build_varargs_function_type_array
2991 instead.
2992
c99c0026
EB
29932011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2994
2995 * lto-lang.c (global_bindings_p): Return bool.
2996
c47d0034
JH
29972011-05-07 Jan Hubicka <jh@suse.cz>
2998
a9bcb3f0
EB
2999 * lto.c (lto_materialize_function): Use
3000 cgraph_function_with_gimple_body_p.
3001 (add_cgraph_node_to_partition): Do not re-add items to partition;
3002 handle thunks.
c47d0034
JH
3003 (add_varpool_node_to_partition): Do not re-add items to partition.
3004
bb3398ca
JH
30052011-05-03 Jan Hubicka <jh@suse.cz>
3006
3007 * lto.c (free_ltrans_partitions): Fix accidental commit.
3008
1cb1a99f
JH
30092011-05-03 Jan Hubicka <jh@suse.cz>
3010
3011 * lto.c (ltrans_partition_def): Remove GTY annotations.
3012 (ltrans_partitions): Move to heap.
3013 (new_partition): Update.
3014 (free_ltrans_partitions): New function.
3015 (lto_wpa_write_files): Use it.
3016
af8bca3c
MJ
30172011-04-29 Martin Jambor <mjambor@suse.cz>
3018
3019 * lto.c: Include ipa-utils.h.
3020 (lto_balanced_map): Update call to ipa_reverse_postorder.
3021 * Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
3022
b823cdfe
MM
30232011-04-29 Michael Matz <matz@suse.de>
3024
3025 * lto.c (toplevel): Include tree-flow.h.
3026 (lto_read_in_decl_state): Don't merge types here.
3027 (tree_with_vars): New static hash table.
3028 (remember_with_vars): New static functions.
3029 (LTO_FIXUP_TYPE): New macro.
3030 (lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
3031 lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
3032 lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
3033 lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
3034 (lto_read_decls): Uniquify while reading in trees.
3035 (lto_fixup_data_t, LTO_FIXUP_SUBTREE,
3036 LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
3037 lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
3038 lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
3039 lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
3040 lto_fixup_tree): Remove.
3041 (lto_fixup_state): Remove data argument. Use
3042 lto_symtab_prevailing_decl.
3043 (LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
3044 (lto_fixup_prevailing_decls): New function.
3045 (lto_fixup_state_aux): Argument aux is unused.
3046 (lto_fixup_decls): Don't allocate pointer sets, don't use
3047 lto_fixup_tree, use lto_fixup_prevailing_decls.
3048 (read_cgraph_and_symbols): Allocate and remove tree_with_vars.
3049 * Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
3050
b9843260
EB
30512011-04-16 Eric Botcazou <ebotcazou@adacore.com>
3052
3053 * lto.c (lto_balanced_map): Fix typos in head comment.
3054 (lto_promote_cross_file_statics): Fix long lines and remove redundant
3055 test.
3056
e7f23018
JH
30572011-04-16 Jan Hubicka <jh@suse.cz>
3058
3059 * lto.c (lto_balanced_map): Update.
3060
10a5dd5d
JH
30612011-04-14 Jan Hubicka <jh@suse.cz>
3062
3063 * lto.c: Include ipa-inline.h
b9843260
EB
3064 (add_cgraph_node_to_partition, undo_partition): Use inline_summary
3065 accessor.
10a5dd5d
JH
3066 (ipa_node_duplication_hook): Fix declaration.
3067 * Make-lang.in (lto.o): Update dependencies.
3068
81f653d6
NF
30692011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3070
3071 * lto-tree.h (union lang_tree_node): Check for TS_COMMON before
3072 calling TREE_CHAIN.
3073 * lto.c (lto_fixup_common): Likewise.
3074
dcf0c47e
NF
30752011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3076
3077 * lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3078 (handle_type_generic_attribute): Likewise.
3079
e89964e3
MM
30802011-04-03 Michael Matz <matz@suse.de>
3081
3082 * lto.c (lto_materialize_function): Don't read and then discard
3083 sections in WPA mode.
3084 (lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
3085
3086 * lto-lang.c (registered_builtin_fndecls): Remove.
3087 (lto_getdecls): Return NULL_TREE.
3088 (lto_builtin_function): Don't remember in registered_builtin_fndecls.
3089
d2b3fe18
RG
30902011-03-31 Richard Guenther <rguenther@suse.de>
3091
3092 PR lto/48246
3093 * lto.c (lto_wpa_write_files): Disable assert for non-empty
3094 partitions when checking is not enabled.
3095
ba78087b
KT
30962011-03-25 Kai Tietz <ktietz@redhat.com>
3097
3098 * lto.c (lto_resolution_read): Use filename_cmp instead
3099 of strcmp.
3100 (lto_read_section_data): Likewise.
3101
0edf1bb2
JL
31022011-03-25 Jeff Law <law@redhat.com>
3103
ab20d992 3104 * lto-lang.c (def_fn_type): Add missing va_end.
0edf1bb2 3105
62d784f7
KT
31062011-03-21 Kai Tietz <ktietz@redhat.com>
3107
3108 PR target/12171
3109 * lto-lang.c (lto_attribute_table): Adjust table.
3110
62dd9571
JJ
31112011-02-18 Jakub Jelinek <jakub@redhat.com>
3112
3113 PR bootstrap/47807
3114 * Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
3115 of lto-streamer.h.
3116
237d6259
RG
31172011-02-18 Richard Guenther <rguenther@suse.de>
3118
3119 PR lto/47798
3120 * lto-tree.h (lto_global_var_decls): Do not declare here.
3121 * lto-lang.c: Include lto-streamer.h.
3122 * Make-lang.in (lto-lang.o): Adjust dependencies.
3123
8ead2223
KT
31242011-02-10 Kai Tietz <kai.tietz@onevision.com>
3125
3126 PR lto/47241
3127 * lto.c (lto_read_section_data): Free
3128 fd_name in failure case.
3129 For mingw targets don't hash file-descriptor.
3130 (read_cgraph_and_symbols): Close current_lto_file
3131 in failure case.
3132
6e701822
JH
31332011-01-11 Jan Hubicka <jh@suse.cz>
3134
3135 PR lto/45721
3136 PR lto/45375
b9843260
EB
3137 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
3138 are not partitioned.
6e701822 3139
f4da8dce
NF
31402010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3141
3142 * lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
3143 Use prototype_p.
3144
6b7fb143
RG
31452010-12-06 Richard Guenther <rguenther@suse.de>
3146
3147 PR lto/46796
3148 * lto-lang.c (lto_init): Give names to basic types.
3149
c59ffc41
JM
31502010-11-30 Joseph Myers <joseph@codesourcery.com>
3151
3152 * lto-object.c: Don't include toplev.h.
3153 * Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
3154
7c475d11
JM
31552010-11-30 Joseph Myers <joseph@codesourcery.com>
3156
3157 * Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
3158 $(TOPLEV_H).
3159
71f3e391
JM
31602010-11-29 Joseph Myers <joseph@codesourcery.com>
3161
3162 * lto-endian.h: Delete.
3163 * lto-object.c: Don't include "libiberty.h".
3164 (O_BINARY): Don't define.
3165 * lto.c: Don't include "libiberty.h" or <sys/mman.h>.
3166 (O_BINARY): Don't define.
3167
9f1718b0
RG
31682010-11-23 Richard Guenther <rguenther@suse.de>
3169
3170 * lto.c (read_cgraph_and_symbols): Remove newline from diagnostic.
3171
39c4e298
RG
31722010-11-23 Richard Guenther <rguenther@suse.de>
3173
3174 PR lto/46605
3175 * lto.c (read_cgraph_and_symbols): Bail out after errors.
3176
b37421c6
JM
31772010-11-17 Joseph Myers <joseph@codesourcery.com>
3178
3179 * lto.c (lto_main): Take no arguments.
3180 * lto.h (lto_main): Update prototype.
3181
d82f74d3
ILT
31822010-11-16 Ian Lance Taylor <iant@google.com>
3183
3184 * lto-object.c (lto_obj_file_open): Call
3185 simple_object_attributes_merge rather than
3186 simple_object_attributes_compare.
3187
a4d8c676
JM
31882010-11-12 Joseph Myers <joseph@codesourcery.com>
3189
3190 * Make-lang.in (lto/lto.o): Use $(OPTS_H).
3191 * lto-lang.c (lto_handle_option): Take location_t parameter.
3192
d8a07487
JM
31932010-11-10 Joseph Myers <joseph@codesourcery.com>
3194
3195 * lto.c (lto_resolution_read): Start diagnostics with lowercase
3196 letters and remove trailing '.'.
3197 (lto_file_finalize): Start diagnostic with a lowercase letter.
3198
6b3456d1
ILT
31992010-11-02 Ian Lance Taylor <iant@google.com>
3200
3201 * lto-object.c: New file.
3202 * lto-elf.c: Remove file.
3203 * lto-macho.c: Remove file.
3204 * lto-macho.h: Remove file.
3205 * lto-coff.c: Remove file.
3206 * lto-coff.h: Remove file.
3207 * Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
3208 lto/lto-object.o.
3209 ($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
3210 (lto/lto-objfile.o): New target.
3211 (lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
3212 (lto/lto.o): Remove $(LIBIBERTY_H).
3213
030cd86c
JH
32142010-10-22 Jan Hubicka <jh@suse.cz>
3215
3216 * lto.c (add_cgraph_node_to_partition,
3217 add_varpool_node_to_partition): Add debug info.
3218 (lto_1_to_1_map, lto_balanced_map): Do not re-add already
3219 partitioned nodes.
3220 (do_whole_program_analysis): Set function flags before dumping.
3221
4490cae6
RG
32222010-10-22 Richard Guenther <rguenther@suse.de>
3223
3224 * lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
3225 the new gimple_register_canonical_type.
3226
703cdce3
L
32272010-10-20 H.J. Lu <hongjiu.lu@intel.com>
3228
3229 PR bootstrap/45954
3230 * config-lang.in (boot_language): Set to $enable_lto.
3231
1915c739
JJ
32322010-10-18 Jakub Jelinek <jakub@redhat.com>
3233
3234 PR lto/45638
3235 * Make-lang.in (check-lto): New dummy target.
3236
82971de5
EB
32372010-10-14 Eric Botcazou <ebotcazou@adacore.com>
3238
3239 * lto-elf.c (SHN_XINDEX): Define if not already defined.
3240
a75bfaa6
JM
32412010-10-08 Joseph Myers <joseph@codesourcery.com>
3242
3243 * lto-lang.c (lto_init_options): Change to
3244 lto_init_options_struct. Update parameters.
3245 (LANG_HOOKS_INIT_OPTIONS): Don't define.
3246 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
3247
937f7f69
JH
32482010-10-06 Jan Hubicka <jh@suse.cz>
3249
3250 * lto.c (lto_balanced_map): Fix accounting of program size.
3251
2169830c
JH
32522010-10-06 Jan Hubicka <jh@suse.cz>
3253
3254 * lto.c (lto_balanced_map): Do not produce empty partitions.
3255
ecdbd01a 32562010-10-06 Andi Kleen <ak@linux.intel.com>
6e9bd0f8
AK
3257
3258 * lto.c (lto_process_name): Add.
3259 (lto_main): Call lto_process_name.
3260
06ed016f
JH
32612010-10-06 Jan Hubicka <jh@suse.cz>
3262
3263 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
3264 COMDATs required by the linker.
3265
ae718d66
ILT
32662010-10-05 Ian Lance Taylor <iant@google.com>
3267
3268 * lto.c (lto_section_with_id): Make s a const pointer.
3269
852e4bd2
JH
32702010-10-05 Jan Hubicka <jh@suse.cz>
3271
ab20d992 3272 * lto.c: Include params.h.
852e4bd2
JH
3273 (add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
3274 refcounting in aux field.
3275 (undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
3276 New functions.
3277 (lto_1_to_1_map): Simplify.
3278 (lto_balanced_map): New function.
3279 (do_whole_program_analysis): Chose proper partitioning alg.
3280 * Make-lang.in (lto.o): Add dependency on params.h
3281
ecdbd01a 32822010-10-04 Andi Kleen <ak@linux.intel.com>
a90163e9
AK
3283
3284 * Make-lang.in (lto1): Add + to build rule.
3285
ecdbd01a 32862010-10-03 Andi Kleen <ak@linux.intel.com>
f1e92a43
AK
3287
3288 * lto.c (lto_file_finalize): Replace gcc_assert for missing section
92a285c1 3289 with fatal_error.
f1e92a43 3290
0d6e14fd
JH
32912010-09-28 Jan Hubicka <jh@suse.cz>
3292
3293 * lto-lang.c (handle_leaf_attribute): New function.
3294 (lto_attribute_tables): Add leaf.
3295
fb462383
JZ
32962010-09-25 Jie Zhang <jie@codesourcery.com>
3297
3298 * lto.c (lto_read_all_file_options): Start a new line after
3299 printing out file names.
3300
051f8cc6
JH
33012010-09-24 Jan Hubicka <jh@suse.cz>
3302
3303 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
3304
64e0f5ff
JH
33052010-09-20 Jan Hubicka <jh@suse.cz>
3306
3307 PR tree-optimize/45605
3308 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
3309
a929ec3d
GP
33102010-09-18 Gerald Pfeifer <gerald@pfeifer.com>
3311
3312 * lto-elf.c (lto_obj_file_open): Also provide filename when
3313 elf_begin fails.
3314
4c588abf
JH
33152010-09-17 Jan Hubicka <jh@suse.cz>
3316
3317 * lto.c (lto_promote_cross_file_statics): Use const_value_known.
3318
c3224d6f
RG
33192010-09-17 Richard Guenther <rguenther@suse.de>
3320
3321 * lang.opt (flag_wpa): Also enable for the driver.
3322
52b3b3c7
JH
33232010-09-16 Jan Hubicka <jh@suse.cz>
3324
3325 * lto.c (lto_materialize_function): Do not tamper with STATIC and
ab20d992 3326 EXTERNAL flags.
52b3b3c7 3327
969c37b7
LB
33282010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3329
3330 * lto-tree.h (struct lang_type): Add variable_size GTY option.
3331
098a4f50
JH
33322010-09-08 Jan Hubicka <jh@suse.cz>
3333
3334 * lto.c (real_file_count, real_file_decl_data): New static vars.
3335 (read_cgraph_and_symbols): Use it.
3336
0f443ad0
RG
33372010-09-08 Richard Guenther <rguenther@suse.de>
3338
3339 * lto.c (read_cgraph_and_symbols): Collect again after each
3340 file.
3341
ee187353
JH
33422010-09-07 Jan Hubicka <jh@suse.cz>
3343
3344 * lto.c (promote_var, promote_fn): Set DECL_VISIBILITY_SPECIFIED.
3345
b3ec52d0
RG
33462010-09-03 Richard Guenther <rguenther@suse.de>
3347
3348 * lto-elf.c (validate_file): Always error if validation fails.
3349
f1395d4a
JH
33502010-08-20 Jan Hubicka <jh@suse.cz>
3351
3352 * lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
3353 (lto_wpa_write_files): Update comments.
3354
2429bce3
L
33552010-08-20 H.J. Lu <hongjiu.lu@intel.com>
3356
3357 PR bootstrap/45357
3358 * lto.c (lto_materialize_function): Replace has_analyzed_clone
3359 with has_analyzed_clone_p.
3360
e0f967db
JH
33612010-08-20 Jan Hubicka <jh@suse.cz>
3362
3363 * lto.c (has_analyzed_clone_p): New function
3364 (lto_materialize_function): Use callgraph to determine if
3365 body is needed.
3366 (materialize_cgraph): Remove DECL_IS_BUILTIN check.
3367
ac47786e
NF
33682010-08-20 Nathan Froyd <froydnj@codesourcery.com>
3369
3370 * lto.c: Use FOR_EACH_VEC_ELT.
3371
ecdbd01a 33722010-07-27 Andi Kleen <ak@linux.intel.com>
d720b869
AK
3373
3374 * Make-lang.in (lto.o): Add dependency to splay-tree.h
3375
5f20c657
JM
33762010-07-27 Joseph Myers <joseph@codesourcery.com>
3377
3378 * lto-lang.c (lto_handle_option): Update prototype and return
3379 value type. Remove duplicate assignment to result.
3380
7a9bf9a4
JM
33812010-07-27 Joseph Myers <joseph@codesourcery.com>
3382
3383 * lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
3384 New.
3385 (lto_init_options): Update prototype.
3386 (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
3387 Define.
3388
ecdbd01a 33892010-07-10 Andi Kleen <ak@linux.intel.com>
73ce4d1e
AK
3390
3391 PR lto/44992
92a285c1 3392 * lto.c: Include splay-tree.h
73ce4d1e
AK
3393 (lto_resolution_read): Change to walk file_ids tree and parse
3394 extra file_id in resolution file.
3395 (lto_section_with_id): Add.
3396 (create_subid_section_table): Add.
3397 (lwstate): Add.
3398 (lto_create_files_from_ids): Add.
3399 (lto_file_read): Change to handle sub file ids and create list
3400 of file_datas. Add output argument for count.
3401 (get_section_data): Pass file_data to lto_get_section_name.
3402 (lto_flatten_file): Add.
3403 (read_cgraph_and_symbols): Handle linked lists of file_datas.
3404
ecdbd01a 34052010-07-10 Andi Kleen <ak@linux.intel.com>
2994ee14
AK
3406
3407 * lto-coff.c (hash_name, eq_name): Move.
3408 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3409 * lto-elf.c: (hash_name, eq_name): Move.
3410 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3411 * lto-macho.c: (hash_name, eq_name): Move.
3412 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
3413 * lto.c: (hash_name, eq_name): Move from lto-*.c
3414 (lto_obj_create_section_hash_table): Add.
3415 (free_with_string): Add.
3416
718f9c0f
MLI
34172010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3418
3419 * lto-coff.c: Include diagnostic-core.h in every file that
3420 includes toplev.h.
3421 * lto-elf.c: Likewise.
3422 * lto-lang.c: Likewise.
3423 * lto-macho.c: Likewise.
3424
1b137837
JJ
34252010-07-07 Jakub Jelinek <jakub@redhat.com>
3426
3427 * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
3428 (validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
3429 objects.
3430
92eb4438
JH
34312010-07-05 Jan Hubicka <jh@suse.cz>
3432
3433 * lto.c (add_cgraph_node_to_partition): Forward declare; walk also
3434 nodes from same comdat group as well as all comdat functions referenced
3435 here.
b9843260
EB
3436 (add_varpool_node_to_partition, add_references_to_partition): New
3437 function.
3438 (lto_1_1_map): Skip COMDAT fnctions/variables; use
3439 add_varpool_node_to_partition; clear aux flags when done.
3440 (lto_promote_cross_file_statics): Do not promote stuff that gets
3441 duplicated to each ltrans.
92eb4438 3442
a05541a9
JH
34432010-07-04 Jan Hubicka <jh@suse.cz>
3444
92a285c1 3445 * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
a05541a9 3446
4a2ac96f
RG
34472010-06-13 Richard Guenther <rguenther@suse.de>
3448
3449 * lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
3450
1d536046
KT
34512010-06-09 Kai Tietz <kai.tietz@onevision.com>
3452
ab20d992 3453 * lto.c (lto_resolution_read): Pre-initialize local variable r.
1d536046
KT
3454 * lto-coff.c (coff_write_object_file): Add braces to if.
3455
a9429e29
LB
34562010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3457
3458 * lto.c (lto_read_in_decl_state): Use typed GC allocation.
3459 (lto_file_read): Likewise.
3460 (new_partition): Likewise.
3461 (read_cgraph_and_symbols): Likewise.
3462
5498f011
JM
34632010-06-07 Joseph Myers <joseph@codesourcery.com>
3464
3465 * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
3466 (lto_handle_option): Don't set flag_signed_char here.
3467
d4c0c9f6
RG
34682010-06-04 Richard Guenther <rguenther@suse.de>
3469
3470 PR lto/41584
3471 * lto.c (lto_1_to_1_map): Use the proper file_data for
3472 varpool nodes.
3473
0a5fa5a1
JH
34742010-05-30 Jan Hubicka <jh@suse.cz>
3475
3476 * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
3477 partitioning decisions.
3478
9eec9488
JH
34792010-05-29 Jan Hubicka <jh@suse.cz>
3480
3481 * lto.c (bitmap vector): Remove.
3482 (lto_cgraph_node_sets, lto_varpool_node_sets): Remove.
3483 (ltrans_partition_def): New structure.
3484 (ltrans_partition): New type and VECtor.
3485 (new_partition): New function.
3486 (add_cgraph_node_to_partition): New function.
3487 (lto_1_to_1_map): Reorganize for partitions.
3488 (lto_add_inline_clones): Remove.
3489 (lto_add_all_inlinees): Remove.
3490 (lto_promote_cross_file_statics): Use partitions.
3491 (cmp_partitions): New function.
3492 (lto_wpa_write_files): Do not call lto_add_all_inlinees;
3493 use partitions; output files sorted by size.
3494
3e097227
SB
34952010-05-29 Steven Bosscher <steven@gcc.gnu.org>
3496
3497 * Make-lang.in: Replace vec.h dependency with VEC_H.
3498
7ca92787
JM
34992010-05-28 Joseph Myers <joseph@codesourcery.com>
3500
3501 * lto-coff.c (coff_errmsg): Remove.
3502 (lto_coff_begin_section_with_type, lto_obj_append_data): Use %m in
3503 errors instead of coff_errmsg (-1).
3504 * lto-macho.c (mach_o_errmsg): Remove.
3505 (lto_obj_begin_section, lto_obj_append_data): Use %m in errors
3506 instead of mach_o_errmsg (-1).
3507 * lto.c (read_cgraph_and_symbols): Use %m in errors instead of
3508 xstrerror (errno).
3509
b5611987
RG
35102010-05-28 Richard Guenther <rguenther@suse.de>
3511
3512 * lto.c (prefix_name_with_star): Removed.
3513 (strip_extension): Likewise.
3514 (get_filename_for_set): Likewise.
3515 (lto_write_ltrans_list): Fold into ...
3516 (lto_wpa_write_files): ... this. Name LTRANS units
3517 by suffixing the ltrans output list filename.
3518 (do_whole_program_analysis): Adjust.
3519
1da2ed5f
JM
35202010-05-27 Joseph Myers <joseph@codesourcery.com>
3521
3522 * lto.c: Include diagnostic-core.h instead of diagnostic.h.
3523 (read_cgraph_and_symbols, lto_main): Use seen_error.
3524 * Make-lang.in (lto/lto.o): Update dependencies.
3525
7951d88a
EB
35262010-05-27 Eric Botcazou <ebotcazou@adacore.com>
3527
3528 PR lto/44230
3529 * lto.h (lto_eh_personality): New prototype.
3530 * lto.c: Include debug.h.
3531 (first_personality_decl): New static variable.
3532 (lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
3533 first function for which it is non-null.
3534 (lto_eh_personality_decl): New static variable.
3535 (lto_eh_personality): New function.
3536 * lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
3537 * Make-lang.in (lto/lto.o): Add dependency on debug.h.
3538
e12da9c2
SB
35392010-05-26 Steven Bosscher <steven@gcc.gnu.org>
3540
3541 * lto-lang.c: Do not include expr.h.
3542
468194f4
RG
35432010-05-24 Richard Guenther <rguenther@suse.de>
3544
3545 * lto-elf.c (lto_obj_build_section_table): Work around
3546 FreeBSD libelf issue.
3547
bd9eb5da
RG
35482010-05-22 Richard Guenther <rguenther@suse.de>
3549
3550 * lto.c (read_cgraph_and_symbols): Do not collect.
3551
66576e1b
JH
35522010-05-20 Jan Hubicka <jh@suse.cz>
3553
3554 * lto.c (promote_var, promote_fn): New functions.
3555 (lto_promote_cross_file_statics): Compute correctly boundary including
3556 static initializers of readonly vars.
3557
36576655
JH
35582010-05-18 Jan Hubicka <jh@suse.cz>
3559
66576e1b 3560 * lto.c (lto_1_to_1_map): Partition non-inline clones.
36576655
JH
3561 (lto_promote_cross_file_statics): Deal with non-inline clones.
3562
28632d63
JH
35632010-05-18 Jan Hubicka <jh@suse.cz>
3564
3565 * lto.c (lto_materialize_function): Announce function when
3566 reading body; allocate_struct_function only when reading body;
3567 do not finalize local statics; ggc_collect after reading;
3568 do not mark reachable node.
3569 (materialize_cgraph): Do not announce function.
3570
33e42d56
JH
35712010-05-11 Jan Hubicka <jh@suse.cz>
3572
3573 * lto.c (materialize_cgraph): Revert my previous patch.
3574
f6430ea5
KT
35752010-05-11 Kai Tietz <kai.tietz@onevision.com>
3576
3577 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
3578 IMAGE_FILE_MACHINE_AMD64.
3579 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
3580
0a0b07b7
JH
35812010-05-11 Jan Hubicka <jh@suse.cz>
3582
3583 * lto.c (lto_fixup_decls): Remove global var decls freeing here.
3584 (materialize_cgraph): Add it here.
3585
9a809897
JH
35862010-05-11 Jan Hubicka <jh@suse.cz>
3587
3588 * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
3589 vector.
3590
35912010-05-11 Jan Hubicka <jh@suse.cz>
3592
3593 * lto.c (lto_1_to_1_map): Remove some no longer needed checks.
3594 (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
3595 use reachable_from_other_partition_p and
3596 referenced_from_other_partition_p test.
3597
94f64249
KT
35982010-05-11 Kai Tietz <kai.tietz@onevision.com>
3599
3600 * lto-coff.c (validate_file): Add x64-coff support.
3601 * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
3602 (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
3603 * lto-lang.c (lto_build_c_type_nodes): Add check for
3604 'long long unsigned int' for x64-windows.
3605 (lto_init): Likewise.
3606
c082f9f3
SB
36072010-05-07 Steven Bosscher <steven@gcc.gnu.org>
3608
3609 * lto.h (struct lto_file_struct): Document offset member.
3610 * lto-endian.h: New file.
3611 * lto-macho.h: New file.
3612 * lto-macho.c: New file.
3613 * Make-lang.in: Add rule for lto-macho.o.
3614
3f8257db 36152010-05-07 Richard Guenther <rguenther@suse.de>
5cd0e96b
RG
3616
3617 PR lto/43857
3618 PR lto/43371
3619 * lang.opt (fresolution): Change to ...
3620 (fresolution=): ... this.
3621 * lto-lang.c (lto_handle_option): Adjust.
3622
48cf395b
RB
36232010-05-07 Richard Guenther <rguenther@suse.de>
3624
3625 * lto.c (DUMPBASE_SUFFIX): Remove.
3626 (lto_execute_ltrans): Move functionality to lto-wrapper.c.
3627 Rename to ...
3628 (lto_write_ltrans_list): ... only output the list of ltrans files.
3629 (lto_maybe_unlink): Remove.
3630 (do_whole_program_analysis): Do not execute LTRANS phase
3631 from here.
3632
afa83c15
L
36332010-05-06 H.J. Lu <hongjiu.lu@intel.com>
3634
3635 * lto-lang.c (lto_handle_option): Add argument kind.
3636
369451ec
JH
36372010-05-05 Jan Hubicka <jh@suse.cz>
3638
48cf395b
RB
3639 * lto.c (lto_promote_cross_file_statics): Compute boundary based on
3640 refs.
369451ec 3641
2f41ecf5
JH
36422010-05-05 Jan Hubicka <jh@suse.cz>
3643
3644 * lto.c (lto_1_to_1_map): Partition only needed nodes.
3645
ace72c88
JH
36462010-04-30 Jan Hubicka <jh@suse.cz>
3647
b9843260
EB
3648 * lto.c (get_filename_for_set): Look for cgraph node and if none found,
3649 use default name.
ace72c88
JH
3650 (lto_wpa_write_files): Write any non-empty partition.
3651
05575e07
JH
36522010-04-30 Jan Hubicka <jh@suse.cz>
3653
3654 * lto.c: Do not attempt to make constant pool references global.
3655
49ba8180
JH
36562010-04-28 Jan Hubicka <jh@suse.cz>
3657
ab20d992 3658 * lto.c (lto_read_in_decl_state): Use GGC.
49ba8180
JH
3659 (lto_wpa_write_files): Announce what we are writting.
3660 (all_file_decl_data): New.
3661 (read_cgraph_and_symbols): Use GGC; correct timevars.
3662 (do_whole_program_analysis): Collect.
ab20d992 3663 * Make-lang.in (lto.o): Fix dependency.
49ba8180
JH
3664 * Makefile.in (GTFILES): Add lto-streamer.h.
3665 * varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
3666 (varpool_assemble_pending_decls): Use VAROUT.
3667 * lto-streamer.h (lto_tree_ref_table): Annotate.
3668 (lto_in_decl_state): Annotate.
3669 (lto_file_decl_data): Annotate.
3670
2942c502
JH
36712010-04-28 Jan Hubicka <jh@suse.cz>
3672
3673 * lto.c (lto_varpool_node_sets): New.
3674 (lto_1_to_1_map): Partition varpool too.
3675 (globalize_context_t, globalize_cross_file_statics,
3676 lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
3677 lto_scan_statics_in_remaining_global_vars): Remove.
3678 (lto_promote_cross_file_statics): Rewrite.
3679 (get_filename_for_set): Take vset argument.
3680 (lto_wpa_write_files): Pass around vsets.
3681
3bec79c5
DK
36822010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
3683
3684 PR lto/42776
3685 * Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
3686 hardcoding 'lto-elf.o'.
3687 ($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.
3688
3689 * lto-coff.h: New file.
3690 * lto-coff.c: Likewise.
3691
21aac880
RG
36922010-04-26 Richard Guenther <rguenther@suse.de>
3693
3694 * lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
3695
2cee0101
DK
36962010-04-26 Dave Korn <dave.korn.cygwin@gmail.com>
3697
3698 * lto.h (lto_elf_file_open): Rename prototype from this ...
3699 (lto_obj_file_open): ... to this.
3700 (lto_elf_file_close): Likewise ...
3701 (lto_obj_file_close): ... and likewise.
3702 (lto_elf_build_section_table): Likewise ...
3703 (lto_obj_build_section_table): ... and likewise.
3704 (lto_elf_begin_section): Likewise ...
3705 (lto_obj_begin_section): ... and likewise.
3706 (lto_elf_append_data): Likewise ...
3707 (lto_obj_append_data): ... and likewise.
3708 (lto_elf_end_section): Likewise ...
3709 (lto_obj_end_section): ... and likewise.
3710 * lto.c (lto_file_read): Update references to the above.
3711 (lto_wpa_write_files): Likewise.
3712 (lto_read_all_file_options): Likewise.
3713 (read_cgraph_and_symbols): Likewise.
3714 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
3715 (LANG_HOOKS_APPEND_DATA): Likewise.
3716 (LANG_HOOKS_END_SECTION): Likewise.
3717 * lto-elf.c (lto_elf_file_open): Rename from this ...
3718 (lto_obj_file_open): ... to this, updating any references.
3719 (lto_elf_file_close): Likewise ...
3720 (lto_obj_file_close): ... and likewise.
3721 (lto_elf_build_section_table): Likewise ...
3722 (lto_obj_build_section_table): ... and likewise.
3723 (lto_elf_begin_section): Likewise ...
3724 (lto_obj_begin_section): ... and likewise.
3725 (lto_elf_append_data): Likewise ...
3726 (lto_obj_append_data): ... and likewise.
3727 (lto_elf_end_section): Likewise ...
3728 (lto_obj_end_section): ... and likewise.
3729
bc58d7e1
JH
37302010-04-21 Jan Hubicka <jh@suse.cz>
3731
3732 * lto.c (lto_fixup_tree): Do not call wpa fixup.
3733 (materialize_cgraph): Likewise.
3734
e792884f
JH
37352010-04-21 Jan Hubicka <jh@suse.cz>
3736
3737 * lto.c (lto_wpa_write_files): Update.
3738 (read_cgraph_and_symbols): Be more verbose.
3739 (materialize_cgraph): Likewise.
3740 (do_whole_program_analysis): Likewise.
3741
c9945504
JH
37422010-04-21 Jan Hubicka <jh@suse.cz>
3743
3744 * lto.c (globalize_cross_file_statics): When function has address taken,
3745 it needs to be public.
3746
a837268b
JH
37472010-04-20 Jan Hubicka <jh@suse.cz>
3748
3749 * lto.c (lto_add_inline_clones): Do not track inlined_decls.
3750 (lto_add_all_inlinees): Likewise.
3751 (lto_wpa_write_files): Likewise.
3752
3b9e5d95
EB
37532010-04-18 Eric Botcazou <ebotcazou@adacore.com>
3754
3755 * lto-lang.c (lto_init): Remove second argument in call to
3756 build_common_tree_nodes.
3757
8ccb78f2
RO
37582010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3759
3760 * lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
3761 function.
3762
2f9b99e6
EB
37632010-03-09 Eric Botcazou <ebotcazou@adacore.com>
3764
3765 PR bootstrap/43276
3766 * lto-elf.c: Define EM_* constants if not already defined.
3767
bef7d288
EB
37682010-03-03 Eric Botcazou <ebotcazou@adacore.com>
3769
3770 * lto-elf.c (is_compatible_architecture): New static function.
3771 (DEFINE_VALIDATE_EHDR): Use it to validate the architecture.
3772
f68df07c
RG
37732010-02-11 Richard Guenther <rguenther@suse.de>
3774
3775 PR driver/43021
3776 * lto-elf.c (lto_elf_file_open): Handle file@offset case more
3777 appropriately.
3778
3cdea2b4
AH
37792010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
3780
3781 * lto.c (O_BINARY): Define.
3782 (lto_read_section_data): Open file in binary mode.
3783 * lto-elf.c (O_BINARY): Define.
ab20d992 3784 (lto_elf_file_open): Open file in binary mode.
3cdea2b4 3785
c59449fa
RG
37862010-01-08 Richard Guenther <rguenther@suse.de>
3787
3788 PR lto/42528
3789 * lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
3790 (lto_init): Do not init char_type_node in a standard way
3791 but according to flag_signed_char.
3792
d7fb0a6d
L
37932010-01-03 H.J. Lu <hongjiu.lu@intel.com>
3794
3795 PR lto/41564
3796 * lto.c (DUMPBASE_SUFFIX): New.
3797 (lto_execute_ltrans): Append a sequence number to -dumpbase
3798 for LTRANS.
3799
78ce4053
L
38002010-01-02 H.J. Lu <hongjiu.lu@intel.com>
3801
3802 PR lto/42580
3803 * lto-elf.c (lto_elf_file_open): Stop if the command line
3804 option file is missing.
3805
2a71eb48
RG
38062009-12-15 Richard Guenther <rguenther@suse.de>
3807
3808 * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
3809 (lto_post_options): Do not disable debuginfo.
3810
a818bca1
DG
38112009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
3812
3813 * Make-lang.in ($(LTO_EXE)): Use $(LINKER).
3814
e7d00517
RG
38152009-12-11 Richard Guenther <rguenther@suse.de>
3816
3817 PR lto/42037
3818 * lto.c (lto_resolution_read): Properly grow the vector.
3819
1ab53893
RG
38202009-12-11 Richard Guenther <rguenther@suse.de>
3821
3822 PR lto/41915
3823 * lto-lang.c (lto_init_options): Initialize flag_complex_method
3824 to the C99 default. Do not set flag_unit_at_a_time.
3825
0f900dfa
JJ
38262009-11-28 Jakub Jelinek <jakub@redhat.com>
3827
3828 * lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
3829 variable.
3830
92fa7608
RAE
38312009-11-19 Rafael Avila de Espindola <espindola@google.com>
3832
3833 PR bootstrap/42096
3834 * lto-elf.c (lto_elf_file_open): Use lto_parse_hex.
3835 * lto.c (lto_parse_hex): New.
3836 (lto_resolution_read): Use lto_parse_hex.
3837 * lto.h (lto_parse_hex): New.
3838
9870fe4f
RAE
38392009-11-17 Rafael Avila de Espindola <espindola@google.com>
3840
3841 * lto-elf.c (lto_file_init): Add offset argument.
3842 (lto_elf_file_open): Record the offset.
3843 * lto.c (lto_resolution_read): Change file_name into a lto_file
3844 argument. Check offsets.
3845 (lto_file_read): Update call to lto_resolution_read.
3846 * lto.h (lto_file_struct): Add the offset field.
3847
1b70729f
RAE
38482009-11-16 Rafael Avila de Espindola <espindola@google.com>
3849
3850 * lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.
3851
0e3776db
JH
38522009-11-14 Jan Hubicka <jh@suse.cz>
3853
3854 * lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
3855
06bd7f56
RAE
38562009-11-12 Rafael Avila de Espindola <espindola@google.com>
3857
3858 * lang.opt (fresolution): Renamed from resolution.
3859 * lto-lang.c (lto_handle_option): Handle new option name.
3860 * lto.c (lto_resolution_read): Add more checks. Discard rest of line.
3861
7e9dc421 38622009-11-04 Richard Guenther <rguenther@suse.de>
92a285c1 3863 Rafael Avila de Espindola <espindola@google.com>
7e9dc421
RG
3864
3865 * lto-elf.c (lto_elf_build_section_table): Add the base offset.
3866 (lto_elf_file_open): Handle offsets in arguments name@offest.
3867
b207f900
RG
38682009-10-30 Richard Guenther <rguenther@suse.de>
3869
3870 PR lto/41858
3871 * lto.c (lto_file_read): Do not set file_data->fd.
3872 (lto_read_section_data): Use a single-entry file-descriptor cache.
3873 Do not check the result of xmalloc.
3874 (free_section_data): Do not use file_data->fd.
3875 (lto_read_all_file_options): Likewise.
3876
2c928155
RG
38772009-10-22 Richard Guenther <rguenther@suse.de>
3878
3879 * lto.c (lto_fixup_jump_functions): Remove.
3880 (lto_fixup_decls): Do not fixup jump functions.
3881 (read_cgraph_and_symbols): Schedule cgraph merging after
3882 summary reading. Schedule type and decl fixup before
3883 summary reading.
3884
f9c91f8a
RB
38852009-10-22 Richard Guenther <rguenther@suse.de>
3886
3887 * lto.c (lto_fixup_data_t): Remove free_list member.
3888 (lto_fixup_tree): Do not insert into free_list.
3889 (free_decl): Remove.
3890 (lto_fixup_decls): Remove free-list handling.
3891
fb3f88cc
JH
38922009-10-22 Jan Hubicka <jh@suse.cz>
3893
3894 * lto.c (lto_fixup_jump_functions): New function.
3895 (lto_fixup_decls): Use it.
3896
35f1e9f4
RG
38972009-10-16 Richard Guenther <rguenther@suse.de>
3898
3899 PR lto/41715
3900 * lto.c (lto_fixup_tree): Revert last change.
3901
200c8750
RG
39022009-10-14 Richard Guenther <rguenther@suse.de>
3903
3904 * lto.c (lto_fixup_tree): In case the prevailing decl is not
3905 compatible with the one we replace wrap it around a
3906 VIEW_CONVERT_EXPR.
3907
b1b07c92
RG
39082009-10-09 Richard Guenther <rguenther@suse.de>
3909
3910 PR lto/41635
3911 PR lto/41636
3912 * lto.c (read_cgraph_and_symbols): Do not assert we can open
3913 a file.
3914 * lto-elf.c (init_shdr##BITS): Fix i18n problems.
3915 (init_ehdr##BITS): Likewise.
3916
3c2e7d45
JM
39172009-10-08 Joseph Myers <joseph@codesourcery.com>
3918
3919 * lto-elf.c (init_shdr##BITS, lto_elf_begin_section_with_type,
3920 init_ehdr##BITS, lto_elf_file_close): Remove trailing "." from
3921 diagnostics.
3922 * lto-lang.c (lto_post_options): Remove trailing "." from
3923 diagnostics.
3924
0d0bfe17
RG
39252009-10-08 Richard Guenther <rguenther@suse.de>
3926
3927 * lto.c (read_cgraph_and_symbols): Free the gimple type merging
3928 hash tables.
3929
4bedf19a
JM
39302009-10-07 Joseph Myers <joseph@codesourcery.com>
3931
3932 * lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
3933
b20996ff
JH
39342009-10-07 Jan Hubicka <jh@suse.cz>
3935
3936 * lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
3937 ltrans stage; explain why this is needed and should not.
3938
1a735925
RG
39392009-10-05 Richard Guenther <rguenther@suse.de>
3940
3941 PR lto/41552
3942 PR lto/41487
3943 * lto.c (lto_read_decls): Do not register deferred decls.
3944 (read_cgraph_and_symbols): Delay symbol and cgraph merging
3945 until after reading the IPA summaries.
3946
d7f09764
DN
39472009-10-02 Rafael Avila de Espindola <espindola@google.com>
3948
3949 * Make-lang.in (lto/lto-lang.o): Don't depend on lto/common.h.
3950 (lto-lang.c): Don't include lto/common.h.
3951
39522009-10-02 Rafael Avila de Espindola <espindola@google.com>
3953
3954 * Make-lang.in (LTO_OBJS): Remove lto/common.o.
3955 (lto/common.o): Remove.
3956 * common.c: Remove.
3957 * common.h (lto_kind_str): Remove.
3958 (lto_visibility_str): Remove.
3959 (lto_resolution_str): Make it static.
3960
39612009-10-01 Diego Novillo <dnovillo@google.com>
3962
3963 * lto.c (lto_read_decls): Add comment.
3964 Call internal_error instead of gcc_assert.
3965 (lto_resolution_read): Likewise.
3966 (lto_add_all_inlinees): Tidy.
3967 * Make-lang.in: Fix copyright boilerplate.
3968 (lto.pdf): New.
3969 (lto.install-pdf): New.
3970 * lto-tree.h: Fix copyright boilerplate.
3971 * lang-specs.h: Likewise.
3972 Remove ".lto" entry from compilers fragment.
3973 * lto-elf.c: Move inclusion of gelf.h after config.h.
3974 Tidy formatting everywhere.
3975 * lto.h: Fix copyright boilerplate.
3976 Tidy formatting everywhere.
3977 * common.c: Likewise.
3978 * config-lang.in: Likewise.
3979 * common.h: Likewise.
3980 * lto-lang.c: Likewise.
3981
39822009-10-01 Richard Guenther <rguenther@suse.de>
3983
3984 * lto.c (lto_read_section_data): Use plain lseek/read.
3985
39862009-10-01 Richard Guenther <rguenther@suse.de>
3987
3988 * lto.c (LTO_MMAP_IO): Define if we can mmap files and
3989 use sysconf to query the system page size.
3990 (lto_file_read): Implement fallback using stdio.
3991 (free_section_data): Likewise.
3992
39932009-09-29 Diego Novillo <dnovillo@google.com>
3994
3995 * lto-lang.c (lto_init): Really fix call to
3996 build_common_builtin_nodes.
3997
39982009-09-29 Diego Novillo <dnovillo@google.com>
3999
4000 * lto-lang.c (lto_init): Fix call to
4001 build_common_builtin_nodes.
4002
40032009-09-29 Richard Guenther <rguenther@suse.de>
4004
4005 PR lto/40754
4006 * lto-elf.c (init_shdr##BITS): Properly specify alignment
4007 in bytes.
4008 (first_data_block): New static variable.
4009 (lto_elf_append_data): Align the first data block in each
4010 section.
4011
40122009-09-28 Diego Novillo <dnovillo@google.com>
4013
4014 * lto-lang.c: Tidy. Remove stale FIXME lto markers.
4015 * lto.c (strip_extension): New.
4016 (get_filename_for_set): Call it. Do not call make_cwd_temp_file.
4017 (lto_execute_ltrans): Tidy.
4018 Do not pass -fwpa nor -fltrans-* to LTRANS.
4019 * opts.c: Tidy formatting and remove stale FIXME lto markers.
4020 * tree.c (need_assembler_name_p): Call
4021 lang_hooks.decls.may_need_assembler_name_p if set.
4022 * varasm.c (default_binds_local_p_1): Remove check for
4023 flag_ltrans.
4024 * varpool.c (decide_is_variable_needed): Do not test for
4025 in_lto_p.
4026
40272009-09-22 Richard Guenther <rguenther@suse.de>
4028
4029 PR lto/39276
4030 * lto.c (lto_execute_ltrans): Perform ltrans phase manually.
4031 * Make-lang.in: Remove ltrans-driver stuff.
4032 * config-lang.in: Likewise.
4033 * lang.opt (fltrans-driver): Remove.
4034 * lto-lang.c (lto_init_options): Remove code initializing
4035 ltrans_driver.
4036 * ltrans-driver: Remove.
4037
40382009-09-21 Diego Novillo <dnovillo@google.com>
4039
4040 * lto-lang.c (lto_define_builtins): Remove superfluous
4041 calls to targetm.init_builtins and build_common_builtin_nodes.
4042 (lto_init): Add targetm.arm_eabi_unwinder as parameter to
4043 build_common_builtin_nodes.
4044 * lto.c (lto_materialize_function): Do nothing if NODE is a
4045 clone.
4046
40472009-09-03 Diego Novillo <dnovillo@google.com>
4048
4049 * lto-elf.c (validate_file): Replace call to
4050 elf_getshstrndx with call to elf_getshdrstrndx.
4051
40522009-08-19 Richard Guenther <rguenther@suse.de>
4053
4054 * lto-lang.c (lto_init): Merge char_type_node with the
4055 appropriately signed variant.
4056
40572009-08-19 Richard Guenther <rguenther@suse.de>
4058
4059 PR lto/41071
4060 * lto.c (lto_fixup_common): Re-build the pointer-to chain part one.
4061 (lto_fixup_type): Re-build the pointer-to chain part two.
4062
40632009-08-19 Richard Guenther <rguenther@suse.de>
4064
4065 PR lto/41071
4066 * lto.c (lto_fixup_type): Re-build the type variant chain.
4067
40682009-08-19 Richard Guenther <rguenther@suse.de>
4069
4070 PR lto/41071
4071 * lto.c (lto_fixup_constructor): New function.
4072 (lto_fixup_tree): Replace all types. Properly fixup
4073 constructors and constants.
4074
40752009-08-14 Richard Guenther <rguenther@suse.de>
4076
4077 * lto.c (read_cgraph_and_symbols): Exchange TREE_CHAIN use
4078 for DECL_LANG_SPECIFIC.
4079
40802009-08-13 Richard Guenther <rguenther@suse.de>
4081
4082 PR lto/41032
4083 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define to NULL.
4084
40852009-07-30 Richard Guenther <rguenther@suse.de>
4086
4087 PR lto/40903
4088 * lto.c (read_cgraph_and_symbols): After fixing up decls choose
4089 the largest decl for output and free TREE_CHAIN for further
4090 use.
4091
40922009-07-24 Diego Novillo <dnovillo@google.com>
4093
4094 * Make-lang.in: Add empty lto.install-plugin target.
4095
40962009-07-13 Diego Novillo <dnovillo@google.com>
4097
4098 * lto.c (lto_fixup_tree): Handle IMPORTED_DECL.
4099
41002009-07-11 Richard Guenther <rguenther@suse.de>
4101
4102 * lto-lang.c (lto_write_globals): Wrapup global decls.
4103
41042009-07-10 Richard Guenther <rguenther@suse.de>
4105
4106 * lto-lang.c (lto_init): Allocate one more location to make
4107 BUILTINS_LOCATION correct.
4108
41092009-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4110
4111 * lto.c (free_section_data): Cast computed_offset to caddr_t.
4112
41132009-07-06 Diego Novillo <dnovillo@google.com>
4114
4115 * lto.c (lto_fixup_type): Fixup TYPE_SIZE and
4116 TYPE_SIZE_UNIT.
4117
41182009-07-06 Diego Novillo <dnovillo@google.com>
4119
4120 * lto.c (preload_common_nodes): Remove.
4121 (lto_read_in_decl_state): Call lto_streamer_cache_get.
4122 (lto_read_decls): Call lto_data_in_create and
4123 lto_data_in_delete.
4124 (free_decl): Do not call ggc_free.
4125 (lto_main): Call lto_init_reader.
4126 * lto-lang.c (lto_type_for_size): Handle intTI_type_node.
4127 (lto_init): Initialize main_identifier_node if needed.
4128 Make ptrdiff_type_node be integer_type_node.
4129
41302009-06-19 Diego Novillo <dnovillo@google.com>
4131
4132 * lto.c: Remove code guarded by #ifdef LTO_STREAM_DEBUGGING.
4133 Remove code guarded by #ifdef GLOBAL_STREAMER_TRACE.
4134 Remove code guarded by #ifdef LOCAL_TRACE.
4135
41362009-06-18 Diego Novillo <dnovillo@google.com>
4137
4138 * lto.c: Update license to GPLv3.
4139 * lto-elf.c: Likewise.
4140 * common.c: Likewise.
4141 * lto-lang.c: Likewise.
4142 * lto.h: Remove superfluous include files. Update all
4143 users.
4144
41452009-06-17 Diego Novillo <dnovillo@google.com>
4146
4147 * lto.c (read_cgraph_and_symbols): Call input_cgraph.
4148
41492009-06-02 Diego Novillo <dnovillo@google.com>
4150
4151 * lto.c (lto_1_to_1_map): Ignore nodes that have not been
4152 read in.
4153 (materialize_cgraph): Only materialize nodes that have a
4154 representation on file.
4155
41562009-06-01 Diego Novillo <dnovillo@google.com>
4157
4158 * lto-lang.c (lto_handle_option): Hanlde OPT_Wabi.
4159
41602009-05-31 Diego Novillo <dnovillo@google.com>
4161
4162 * lto-lang.c (lto_type_for_mode): Handle all the modes
4163 handled in c_common_type_for_mode.
4164
41652009-05-21 Diego Novillo <dnovillo@google.com>
4166
4167 * lto-elf.c: Always include <gelf.h>.
4168 * config-lang.in (target_libs): Remove.
4169 (build_by_default): Set to no.
4170
41712009-05-15 Diego Novillo <dnovillo@google.com>
4172
4173 * lto.c (lto_materialize_function): Assert that DECL is
4174 not a builtin.
4175 (materialize_cgraph): Don't try to materialize builtin
4176 functions.
4177 * lto-section-out.c (write_symbol_vec): Do not write
4178 builtin functions.
4179
41802009-05-13 Diego Novillo <dnovillo@google.com>
4181
4182 * lto-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define.
4183
41842009-05-07 Diego Novillo <dnovillo@google.com>
4185
4186 * lto.c (lto_resolution_read): Add type casts for C++ warnings.
4187 (LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE): Define.
4188 (lto_fixup_type): Call it for TYPE_POINTER_TO,
4189 TYPE_REFERENCE_TO, TYPE_CONTEXT and TYPE_CANONICAL.
4190 (lto_fixup_tree): Call gimple_register_type when *TP is a
4191 type.
4192 (lto_main): Call bitmap_obstack_initialize.
4193
41942009-04-22 Diego Novillo <dnovillo@google.com>
4195
4196 * lto.c (free_section_data): Tidy.
4197 (lto_1_to_1_map): Tidy.
4198 (lto_add_all_inlinees): Tidy.
4199 (prefix_name_with_star): New.
4200 (get_filename_for_set): New.
4201 (lto_wpa_write_files): Call cgraph_node_set_needs_ltrans_p
4202 to determine what cgraph node sets to write.
4203 Call get_filename_for_set to compute temporary file
4204 names.
4205 (lto_execute_ltrans): Do not execute LTRANS on files with
4206 names that start with '*'.
4207 Move logic to execute LTRANS together so that LTRANS is
4208 invoked only if there are any files to compile.
4209 (do_whole_program_analysis): Only remove output files
4210 that do not start with '*'.
4211
42122009-04-06 Diego Novillo <dnovillo@google.com>
4213
4214 * lto-lang.c (lto_post_options): Set flag_excess_precision_cmdline.
4215 * lto.c (read_cgraph_and_symbols): Set cgraph_function_flags_ready.
4216 (lto_add_all_inlinees): Tidy.
4217
42182009-03-26 Diego Novillo <dnovillo@google.com>
4219
4220 * lto.c: Include gimple.h.
4221 (lto_read_in_decl_state): Call gimple_register_type for
4222 every type in every stream.
4223 (lto_fixup_common): Call gimple_register_type if T has a
4224 type.
4225 (do_whole_program_analysis): Call print_lto_report.
4226 (lto_main): Call print_lto_report after cgraph_optimize.
4227 * Make-lang.in (lto.o): Add dependency on GIMPLE_H.
4228
42292009-03-24 Diego Novillo <dnovillo@google.com>
4230
4231 * Make-lang.in (lto-lang.o): Add dependency on TARGET_H and EXPR_H.
4232 (lto.o): Add dependency on GIMPLE_H.
4233
42342009-03-10 Simon Baldwin <simonb@google.com>
4235
4236 * lto.c (lto_read_all_file_options): Close any open file descriptor
4237 contained in file_data before freeing.
4238
42392009-02-24 Rafael Avila de Espindola <espindola@google.com>
4240
4241 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
4242 for a decl in the original bitmap, not a node.
4243 (lto_add_all_inlinees): Remove original nodes that are not needed.
4244 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
4245
42462009-02-24 Diego Novillo <dnovillo@google.com>
4247
4248 * lto.c (lto_materialize_function): Update
4249 lto_stats.num_function_bodies.
4250 (get_section_data): Initialize *LEN to 0.
4251 (lto_1_to_1_map): Update lto_stats.num_cgraph_partitions.
4252 (lto_wpa_write_files): Update lto_stats.num_cgraph_nodes.
4253 Update lto_stats.num_output_files.
4254 (read_cgraph_and_symbols): Update lto_stats.num_input_files.
4255 (materialize_cgraph): Update lto_stats.num_input_cgraph_nodes.
4256 (lto_main): Initialize lto_stats.
4257 If flag_lto_report is set, call print_lto_report.
4258
42592009-02-19 Diego Novillo <dnovillo@google.com>
4260
4261 Revert
4262
4263 2009-02-19 Rafael Avila de Espindola <espindola@google.com>
4264
4265 * lto.c (lto_add_inline_clones): Don't add the
4266 master clone. Check for a decl in the original
4267 bitmap, not a node.
4268 (lto_add_all_inlinees): Remove original nodes
4269 that are not needed.
4270 (lto_scan_statics_in_cgraph_node): Don't care if
4271 the node is the master.
4272 (lto_promote_cross_file_statics): Use a new
4273 context.seen_node_decls for each set
4274
42752009-02-19 Rafael Avila de Espindola <espindola@google.com>
4276
4277 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
4278 for a decl in the original bitmap, not a node.
4279 (lto_add_all_inlinees): Remove original nodes that are not needed.
4280 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
4281 (lto_promote_cross_file_statics): Use a new context.seen_node_decls
4282 for each set
4283
42842009-02-18 Diego Novillo <dnovillo@google.com>
4285
4286 * lto.c (lto_wpa_write_files): Use timers TV_WHOPR_WPA
4287 and TV_WHOPR_WPA_IO.
4288 (lto_execute_ltrans): Use timer TV_WHOPR_WPA_LTRANS_EXEC.
4289 (read_cgraph_and_symbols): Use timer TV_IPA_LTO_DECL_IO.
4290 (materialize_cgraph): Use timer TV_IPA_LTO_GIMPLE_IO.
4291 Use timer TV_WHOPR_WPA or TV_WHOPR_LTRANS or TV_LTO
4292 depending on command line flags.
4293 (do_whole_program_analysis): Use timer TV_WHOPR_WPA.
4294 (lto_main): Remove timer uses.
4295
42962009-02-18 Rafael Avila de Espindola <espindola@google.com>
4297
4298 * lto.c (lto_materialize_function): Don't set DECL_EXTERN to 0.
4299 (lto_wpa_write_files): Update calls to renamed functions.
4300
43012009-02-17 Diego Novillo <dnovillo@google.com>
4302
4303 PR 39203
4304 * lto-lang.c (lto_post_options): Disable -fwhole-program
4305 when running LTRANS.
4306
43072009-02-10 Diego Novillo <dnovillo@google.com>
4308
4309 * lto.c (read_cgraph_and_symbols): Fix comment.
4310
43112009-02-10 Diego Novillo <dnovillo@google.com>
4312
4313 * lto.c (read_cgraph_and_symbols): Read options from all
4314 IL files.
4315
43162009-02-10 Diego Novillo <dnovillo@google.com>
4317
4318 * lto.c (read_cgraph_and_symbols): Factor out of lto_main.
4319 (materialize_cgraph): Likewise.
4320 (do_whole_program_analysis): Likewise.
4321 (lto_main): Call read_cgraph_and_symbols,
4322 materialize_cgraph and do_whole_program_analysis.
4323
43242009-02-10 Simon Baldwin <simonb@google.com>
4325
4326 * lto.c: Include lto-opts.h.
4327 * (lto_main): Clear file options at loop start, read any saved
4328 options from the first file handled, and re-issue options.
4329 * Makefile.in (lto.o): Add dependency on lto-opts.h.
4330
43312009-02-02 Diego Novillo <dnovillo@google.com>
4332
4333 * lto.c (lto_main): Stop LTO_TIMER and use
4334 TV_WHOPR_WPA_LTRANS_EXEC when launching LTRANS.
4335
43362009-01-30 H.J. Lu <hongjiu.lu@intel.com>
4337
4338 PR lto/38995
4339 * lto-elf.c (init_shdr##BITS): Set the sh_addralign field
4340 to POINTER_SIZE.
4341
43422009-01-29 Ramana Radhakrishnan <ramana.r@gmail.com>
4343
ab20d992 4344 * Make-lang.in (LTO_EXE): Link with all
d7f09764
DN
4345 BACKENDLIBS and not only GMPLIBS
4346
43472009-01-28 H.J. Lu <hongjiu.lu@intel.com>
4348
4349 PR bootstrap/38992
4350 * lto-elf.c: Include gelf.h instead of libelf.h.
4351 (lto_elf_file_close): Replace elfx_update_shstrndx with
4352 gelf_getehdr, elf_getscn, gelf_getshdr, gelf_update_shdr and
4353 gelf_update_ehdr.
4354
43552009-01-28 H.J. Lu <hongjiu.lu@intel.com>
4356
4357 PR middle-end/38996
4358 * lto-elf.c (DEFINE_INIT_EHDR): Initialize e_version.
4359
43602009-01-26 Diego Novillo <dnovillo@google.com>
4361
4362 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Update.
4363
43642009-01-26 Diego Novillo <dnovillo@google.com>
4365
4366 * lto-lang.c (lto_types_compatible_p): Move to gimple.c
4367 and rename into gimple_types_compatible_p.
4368
43692009-01-12 Rafael Avila de Espindola <espindola@google.com>
4370
4371 * lto-lang.c (lang_hooks): Remove the const qualifier.
4372
43732009-01-06 Diego Novillo <dnovillo@google.com>
4374
4375 * ltrans-driver: Mark 'all' target as phony.
4376
43772008-12-31 Diego Novillo <dnovillo@google.com>
4378
4379 * ltrans-driver: Execute a NOP action for target 'all'.
4380
43812008-12-19 Diego Novillo <dnovillo@google.com>
4382
4383 * lto.c (lto_1_to_1_map): Tidy.
4384
43852008-12-19 Diego Novillo <dnovillo@google.com>
4386
4387 * lto-elf.c (lto_elf_file_open): When FILENAME cannot
4388 be opened, show its name.
4389 * ltrans-driver: If $verbose is set, do not use parallelism.
4390
43912008-12-17 Rafael Avila de Espindola <espindola@google.com>
4392
4393 * lto.c (lto_fixup_function): New.
4394 (lto_fixup_tree): Call lto_fixup_function.
4395
43962008-12-14 Doug Kwan <dougkwan@google.com>
4397
4398 * lto.c (lto_1_to_1_map): Create a cgraph node set for any global
4399 variables if there is no function.
4400
44012008-12-10 Simon Baldwin <simonb@google.com>
4402
4403 * ltrans-driver: Always run make in silent mode, to avoid make's
4404 trace on stdout interfering with lto-wrapper output.
4405
44062008-12-10 Doug Kwan <dougkwan@google.com>
4407
4408 * lto.c (lto_add_inline_clones): Do not force master clones of
4409 inlined functions already in SET to be static inline.
4410
44112008-12-04 Doug Kwan <dougkwan@google.com>
4412
4413 * lto.c (globalize_context_t): New type to store states in
4414 globalization of cross-file statics.
4415 (globalize_cross_file_statics): New.
4416 (lto_scan_statics_in_ref_table): Walk tree to look for reachable
4417 static decls that need to be fixed up.
4418 (lto_scan_statics_in_cgraph_node): Change call interface to use
4419 a globalize_context_t CONTEXT for all states used.
4420 (lto_scan_statics_in_remaining_global_vars): New.
4421 (lto_promote_cross_file_statics): Use new call interface of
4422 LTO_SCAN_STATICS_IN_CGRAPH_NODE. Handle remaining externally
4423 visible vars in the last set.
4424
44252008-12-03 Diego Novillo <dnovillo@google.com>
4426
4427 * lto.c (lto_fixup_tree): Do not emit an error when
4428 PREVAILING throw but T doesn't.
4429
44302008-12-02 Doug Kwan <dougkwan@google.com>
4431
4432 * lto.c (lto_scan_statics_in_ref_table): New function factored out
4433 from code in ...
4434 (lto_scan_statics_in_cgraph_node): Handle both file-scope static
4435 variables and functions.
4436 (lto_promote_cross_file_statics): Rename bitmaps to SEEN_DECLS
4437 and GLOBAL_DECLS from SEEN_VARS and GLOBAL_VARS.
4438
44392008-11-29 Diego Novillo <dnovillo@google.com>
4440
4441 * lto.c: Include timevar.h.
4442 (lto_materialize_function): Tidy. Add comments.
4443 (lto_wpa_write_files): Tidy.
4444 (lto_execute_ltrans): Tidy.
4445 (lto_main): Add local variable LTO_TIMER. Initialize it
4446 to one of TV_WHOPR_WPA, TV_WHOPR_LTRANS or TV_LTO.
4447 Start and stop the timer.
4448 Tidy comments.
4449 * Make-lang.in (lto.o): Add dependency on timevar.h.
4450 * ltrans-driver: React to -v and -save-temps.
4451 Use simple heuristic to determine how much parallelism to
4452 use when executing make.
4453
44542008-11-12 Doug Kwan <dougkwan@google.com>
4455
4456 * lto.c (lto_bitmap_obstack): Remove var.
4457 (lto_materialize_function): Do nothing instead of marking function
4458 body in file if flag_wpa is true.
4459 (lto_add_all_inlinees): Use bitmap functions in lto-utils.c.
4460 (lto_scan_statics_in_cgraph_node): New function.
4461 (lto_promote_cross_file_statics): Same.
4462 (lto_wpa_write_files): Call lto_promote_cross_file_statics.
4463 Use bitmap functions in lto-utils.c. Remove unsued label OUT.
4464 * Make-lang.in (lto/lto.o): Add lto-utils.h to dependency list.
4465
44662008-11-09 Diego Novillo <dnovillo@google.com>
4467
ab20d992 4468 * lto.c (lto_fixup_tree): Change error message locus
d7f09764
DN
4469 information to include location of mismatching
4470 declaration.
4471 Use TREE_NO_WARNING to avoid repeated messages.
4472 (lto_main): If lto_fixup_decls emitted any errors, exit.
ab20d992 4473 * lto-lang.c: Don't include libfuncs.h and except.h
d7f09764
DN
4474 (lto_init_options): Don't enable exceptions by default.
4475 (lto_eh_runtime_type): Move to lto-function-in.c
4476 (lto_init_eh): Likewise.
4477 (lto_init): Don't call lto_init_eh.
ab20d992 4478 * Make-lang.in (lto-lang.o): Remove dependency on
d7f09764
DN
4479 libfuncs.h and except.h.
4480
44812008-10-30 Diego Novillo <dnovillo@google.com>
4482
4483 * lto.c (lto_read_decls): Declare debug_main only if
4484 LTO_STREAM_DEBUGGING is enabled.
4485
44862008-10-30 Simon Baldwin <simonb@google.com>
4487
4488 * lto.c (lto_wpa_write_files): Create intermediate files with
4489 make_cwd_temp_file().
4490 (lto_maybe_unlink): New. Delete intermediate WPA files unless
4491 WPA_SAVE_LTRANS is set.
4492 (lto_main): Call lto_maybe_unlink() for intermediate WPA files.
4493 * ltrans-driver: Do not strip directory from output files.
4494
44952008-10-29 Doug Kwan <dougkwan@google.com>
4496
4497 * lto.c (free_decl): Call lto_symtab_clear_resolution when freeing
4498 DECL.
4499 * Make-lang.in (LTO_OBJS): Remove lto/lto-symtab.o
4500 (lto/lto-symtab.o): Remove rule.
4501 * lto-tree.h (struct lang_identifier): Remove LTO specific fields.
4502 (struct lang_decl): Remove RESOLUTION and add DUMMY in struct.
4503 (LANG_IDENTIFIER_CAST, LTO_IDENTIFIER_DECL, LTO_DECL_RESOLUTION):
4504 Remove macros.
4505 lto-symtab.c (File): Move up one level.
4506 lto-lang.c (cgraph.h): Remove include.
4507 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
4508 input_cgraph): Move to lto-cgraph.c in gcc directory above.
4509 (LANG_HOOKS_INPUT_CGRAPH): Remove use of macro.
4510
ab20d992 45112008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4512
4513 * lto-function-in.c (get_resolution): Return LDPR_PREEMPTED_IR for
4514 non prevailing weak symbols.
4515
ab20d992 45162008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4517
4518 * lto-lang.c (input_cgraph_1): Iterate over nodes, not cgraph_nodes.
4519
ab20d992 45202008-10-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4521
4522 * lto-lang.c (input_node): Avoid casts from pointers to ints of
4523 different types.
4524
45252008-10-23 Simon Baldwin <simonb@google.com>
4526
4527 * lto-lang.c (input_node): Save the node reference, rather than the
4528 node pointer, in node->inlined_to.
4529 (input_cgraph_1): Convert node references into node pointers.
4530
45312008-10-22 Diego Novillo <dnovillo@google.com>
4532 Rafael Espindola <espindola@google.com>
4533
4534 * lto.c (lto_resolution_read): Tidy.
4535 * lto-symtab.c (lto_symtab_prevailing_decl): Do not
4536 abort if RET is NULL.
4537
45382008-10-22 Doug Kwan <dougkwan@google.com>
4539
4540 * lto.c (lto_fixup_tree): Check for NOTHROW conflict only if
4541 exceptions flag is given.
4542 * lto-lang.c: (lto_init_options) Set default exceptions flag.
4543 (lto_init_eh): Remove exceptions flag initialization.
ab20d992 4544 (lto_init): Only call lto_init_eh if exceptions flag is set.
d7f09764
DN
4545
45462008-10-21 Diego Novillo <dnovillo@google.com>
4547
4548 * lto.c: Tidy some formatting.
4549 * lto.h: Likewise.
4550
45512008-10-21 Simon Baldwin <simonb@google.com>
4552
4553 * lto-symtab.c: (lto_same_type_p): Types cannot be equal if one of
4554 them is NULL (but not the other).
4555
45562008-10-17 Diego Novillo <dnovillo@google.com>
4557
4558 * ltrans-driver: Divert output from make to a temporary file.
4559 Show it if the call to make failed.
4560
45612008-10-15 Diego Novillo <dnovillo@google.com>
4562
4563 * lto.c (lto_wpa_write_files): Reformat do-while loop.
4564 Do not print TEMP_FILENAME
4565 * ltrans-driver: Call make with -s.
4566
45672008-10-15 Diego Novillo <dnovillo@google.com>
4568
4569 * lto-symtab.c (lto_symtab_merge_decl): Do not force
4570 TREE_STATIC on global symbols.
4571
45722008-10-14 Ollie Wild <aaw@google.com>
4573
4574 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Remove.
4575 (LTRANS_DRIVER_EXE): Add.
4576 (lto.all.cross): Add LTRANS_DRIVER_EXE.
4577 (lto.all.encap): Add LTRANS_DRIVER_EXE.
4578 (lto.install.common): Remove ltrans-driver.
4579 (lto.mostlyclean): Add LTRANS_DRIVER_EXE.
4580 (LTRANS_DRIVER_EXE): New build rule.
4581 * config-lang.in (compilers): Add ltrans-driver.
4582
45832008-10-14 Diego Novillo <dnovillo@google.com>
4584
4585 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Disable transformation
4586 of program name.
4587
45882008-10-13 Ollie Wild <aaw@google.com>
4589
4590 * lang-spec.h (@lto): Replace lto1_options with cc1_options.
4591 * lto.c (lto_execute_ltrans): Add "-fno-wpa -fltrans -xlto" to CFLAGS.
4592 * ltrans-driver (LTRANS_FLAGS): Remove.
4593
45942008-10-08 Doug Kwan <dougkwan@google.com>
4595
4596 * lto.c (lto_fixup_tree): Remove ATTRIBUTE_UNUSED from DATA.
4597 Handle new tree codes RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
4598 and TREE_BINFO. Also move code handling FUNCTION_DECL and VAR_DECL
4599 from lto_fixup_state to here.
4600 (lto_fixup_state): Take an lto_fixup_data_t object DATA instead of
4601 just a free-list. Fix up types also. Move decl merging code to
4602 lto_fixup_tree.
4603 (lto_fixup_state_aux): Change AUX to point to an lto_fixup_data_t
4604 object.
4605 (lto_fixup_decls): Use another pointer set to avoid multiple
4606 walking of nodes except for DECLs to be replaced. Pass an
4607 lto_fixup_data_t object to tree-walker.
4608
ab20d992 46092008-10-08 Rafael Espindola <espindola@google.com>
d7f09764
DN
4610
4611 * lto-symtab.c (lto_symtab_set_resolution): New.
4612 (lto_symtab_merge_decl): Use lto_symtab_set_resolution and
4613 lto_symtab_get_resolution.
4614 (lto_symtab_prevailing_decl): Return decl for non public decls.
4615 (lto_symtab_get_resolution): New.
4616 * lto.c (lto_fixup_tree, lto_fixup_state): Remove unecessary checks.
4617
ab20d992 46182008-10-06 Rafael Espindola <espindola@google.com>
d7f09764
DN
4619
4620 * lto-lang.c: Include cgraph.h.
4621 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
4622 input_cgraph): Moved from lto-cgraph.c.
4623 (LANG_HOOKS_INPUT_CGRAPH): New.
4624
ab20d992 46252008-10-03 Rafael Espindola <espindola@google.com>
d7f09764
DN
4626
4627 * lto.c (lto_fixup_tree, lto_fixup_state): Fix the FIXME.
4628
ab20d992 46292008-10-03 Rafael Espindola <espindola@google.com>
d7f09764
DN
4630
4631 * lto-symtab.c (lto_symtab_overwrite_decl): Remove. Remove all calls.
4632 (lto_symtab_merge_decl): Update LTO_IDENTIFIER_DECL the reflect the
4633 prevailing definition. Don't mark TREE_NOTHROW differences.
4634 * lto.c (lto_fixup_tree): New.
4635 (lto_fixup_state): New.
4636 (lto_fixup_state_aux): New.
4637 (free_decl): New.
4638 (lto_fixup_decls): New.
4639 (lto_main): Call lto_fixup_decls.
4640
46412008-10-02 Ollie Wild <aaw@google.com>
4642
4643 * lang.opt (fltrans): Moved from common.opt. Remove RejectNegative
4644 and Init.
4645 (fwpa): Moved from common.opt. Remove RejectNegative and Init.
4646 * lto-lang.c (lto_post_options): Add validation and fixups for
4647 -fltrans and -fwpa.
4648
ab20d992 46492008-10-02 Rafael Espindola <espindola@google.com>
d7f09764
DN
4650
4651 * lto-symtab.c (lto_symtab_merge_var, lto_symtab_merge_fn,
4652 lto_symtab_merge_decl): Return void.
4653 (lto_symtab_prevailing_decl): New.
4654
ab20d992 46552008-09-30 Rafael Espindola <espindola@google.com>
d7f09764
DN
4656
4657 * lto-symtab.c (lto_symtab_compatible): Remove the check for already
4658 defined symbols.
4659 (lto_symtab_overwrite_decl): Copy LTO_DECL_RESOLUTION.
4660 (lto_symtab_merge_decl): Store symbol resolution in LTO_DECL_RESOLUTION.
4661 Check for already defined symbols.
4662 * lto-tree.h (lang_decl): Remove dummy and add resolution fields.
4663 (LTO_IDENTIFIER_RESOLUTION): Remove.
4664 (LTO_DECL_RESOLUTION): New.
4665
ab20d992 46662008-09-30 Rafael Espindola <espindola@google.com>
d7f09764
DN
4667
4668 * lto.c (lto_read_decls): Use new input_tree signature.
4669
46702008-09-26 Doug Kwan <dougkwan@google.com>
4671
4672 * lto.c (lto_main): Call lto_fixup_nothrow_decls to fix up function
4673 bodies affected by exception attribute merging of DECLs.
4674 * lto-symtab.c (lto_symtab_merge_decl): Handle exception attribute
ab20d992 4675 merging.
d7f09764
DN
4676
46772008-09-25 Rafael Espindola <espindola@google.com>
4678
4679 * Make-lang.in (PLUGIN_API_H, LTO_TREE_H): New.
4680 (lto/lto-lang.o, lto/lto.o, lto/lto-symtab.o) Use LTO_TREE_H.
4681 * lto-symtab.c (lto_symtab_compatible): New.
4682 (lto_symtab_overwrite_decl): New.
4683 (lto_symtab_merge_decl): Refactor to use the above functions
4684 and the resolution from lang_identifier.
4685 * lto-tree.h: Include plugin-api.h.
4686 (lang_identifier): Add resolution.
4687 (LTO_IDENTIFIER_RESOLUTION): New.
4688
46892008-09-25 Ollie Wild <aaw@google.com>
4690
4691 * lang.opt (fltrans-output-list=): New option.
4692 * lto.c (lto_execute_ltrans): Output file names to ltrans_output_list.
4693
ab20d992 46942008-09-25 Rafael Espindola <espindola@google.com>
d7f09764
DN
4695
4696 * lto.c (lto_resolution_read): Initialize ret;
4697
46982008-09-24 Ollie Wild <aaw@google.com>
4699
4700 * lto.c (sys/mman.h): Move include.
4701 (lto_wpa_write_files): Return a list of written files.
4702 (lto_execute_ltrans): New function.
4703 (lto_main): Call lto_execute_ltrans.
4704 (ltrans-driver): New file.
4705 * lto-lang.c (DEFAULT_LTRANS_DRIVER): New macro.
4706 (DEAULT_LTRANS_DRIVER_LEN): New macro.
4707 (lto_init_options): Initialize ltrans_driver.
4708 (lto_handle_option): Fix incorrect default output value.
4709 * lang.opt (fltrans-driver=): New option.
4710 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): New variable.
4711 (lto.install-common): Add lto/ltrans-driver.
4712
ab20d992 47132008-09-24 Rafael Espindola <espindola@google.com>
d7f09764
DN
4714
4715 * Make-lang.in (LTO_OBJS): Add lto/common.o.
4716 (lto/lto.o): Depend on lto/common.h.
4717 (lto/common.o): New.
4718 * lang.opt (resolution): New.
4719 * lto-lang.c (resolution_file_name): New.
4720 (lto_handle_option): Handle OPT_resolution.
4721 * lto-symtab.c (lto_symtab_merge_decl): Add a resolution argument.
4722 (lto_symtab_merge_var,lto_symtab_merge_fn): Add a resolution argument.
4723 pass it to lto_symtab_merge_decl.
4724 * lto.c: Include common.h.
4725 (lto_read_decls): Add resolutions and resolutions_size arguments.
4726 Initialize data_in.globals_resolution and
4727 data_in.globals_resolution_size.
4728 (index_and_symbol_resolution): New.
4729 (lto_resolution_read): New.
4730 (lto_file_read): Add argument resolution_file.
4731 Read resolution.
4732 * lto.h (resolution_file_name): New.
4733
ab20d992 47342008-09-23 Rafael Espindola <espindola@google.com>
d7f09764
DN
4735
4736 * common.c: Update description.
4737 * common.h: Update description.
4738
ab20d992 47392008-09-23 Rafael Espindola <espindola@google.com>
d7f09764
DN
4740
4741 * common.c: Moved from lto-plugin.
4742 * common.h: Moved from lto-plugin.
4743
47442008-09-22 Doug Kwan <dougkwan@google.com>
4745
4746 * lto.c (VEC(bitmap,heap)): Declare.
4747 (lto_materialize_function): Handle WAP mode specially.
4748 (lto_add_inline_clones): New.
4749 (lto_add_all_inlinees): Changle algorithm and to use bitmaps. Also
4750 return a bitmap of inlined decls.
4751 (lto_wpa_write_files): Handle all DECLs brought in by inlining.
4752 (lto_main): Call reset_inline_failed to reset inlining states.
4753 Check call-graph after WPA inlining.
4754 * lto-lang.c (lto_init): Do not clear flag_generate_lto
4755 unconditionally.
4756
47572008-09-19 Doug Kwan <dougkwan@google.com>
4758
4759 lto.c (lto_main): Remove unsued wrapper code.
4760 lang-specs.h (@lto): Use lto1_options instead of cc1_options.
4761
47622008-09-19 Rafael Espindola <espindola@google.com>
4763
4764 * lto-symtab.c: Include lto-tree-in.h.
4765 * lto-tree.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove.
4766 * lto.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove
4767 * Make-lang.in (lto/lto-symtab.o): Add lto-tree-in.h.
4768
47692008-09-17 Paolo Bonzini <bonzini@gnu.org>
4770 Rafael Avila de Espindola <espindola@google.com>
4771
4772 * lto-lang.c (COMPOUND_LITERAL_EXPR_DECL_STMT,
4773 COMPOUND_LITERAL_EXPR_DECL): Remove.
4774 (emit_local_var): Remove.
4775 (lto_expand_expr): Remove.
4776 (lto_staticp): Remove.
4777 (LANG_HOOKS_EXPAND_EXPR): Remove.
4778 (LANG_HOOKS_STATICP): Remove.
4779
47802008-09-11 Diego Novillo <dnovillo@google.com>
4781
4782 * lto-lang.c: Include except.h and libfuncs.h.
4783 (lto_init_eh): New.
4784 (lto_init): Call it.
4785 Set flag_generate_lto to 0.
4786 * Make-lang.in (lto-lang.o): Add dependency on except.h
4787 and libfuncs.h.
4788
47892008-09-09 Bill Maddox <maddox@google.com>
4790
4791 * lto-lang.c: Include header file expr.h.
4792 (COMPOUND_LITERAL_EXPR_DECL_STMT,
4793 COMPOUND_LITERAL_EXPR_DECL): Copied from c-common.h.
ab20d992 4794 (emit_local_var): Copied from c-semantics.c.
d7f09764
DN
4795 (lto_expand_expr, lto_staticp): Copied from c_expand_expr
4796 and c_staticp in c-common.c.
ab20d992 4797 (LANG_HOOKS_EXPAND_EXPR,LANG_HOOKS_STATICP): Redefined.
d7f09764
DN
4798
47992008-09-08 Diego Novillo <dnovillo@google.com>
4800
4801 * lto-lang.c (lto_global_bindings_p): Return 1 during
4802 IPA passes.
4803
48042008-09-07 Diego Novillo <dnovillo@google.com>
4805
4806 * lto.c: Tidy formatting.
4807
48082008-08-04 Bill Maddox <maddox@google.com>
4809
4810 * lto-symtab.c (lto_symtab_merge_decl): Add comment.
ab20d992 4811
d7f09764
DN
48122008-09-03 Doug Kwan <dougkwan@google.com>
4813
4814 lto.c (lto_add_all_inlinees): Reset FAILED_REASON of edges to
4815 CIF_OK instead of NULL.
4816
48172008-09-02 Diego Novillo <dnovillo@google.com>
4818 Simon Baldwin <simonb@google.com>
4819
4820 * lto-lang.c (lto_type_for_size): Rewrite. Adapt from
4821 c_common_type_for_size.
4822 (lto_type_for_mode): Remove ATTRIBUTE_UNUSED markers.
4823 (lto_init): Call linemap_add.
4824 (signed_and_unsigned_types): Remove.
4825
48262008-08-29 Diego Novillo <dnovillo@google.com>
4827
4828 * lto-lang.c (handle_noreturn_attribute): New local function.
4829 (handle_const_attribute): New local function.
4830 (handle_malloc_attribute): New local function.
4831 (handle_pure_attribute): New local function.
4832 (handle_novops_attribute): New local function.
4833 (handle_nonnull_attribute): New local function.
4834 (handle_nothrow_attribute): New local function.
4835 (handle_sentinel_attribute): New local function.
4836 (handle_type_generic_attribute): New local function.
4837 (handle_format_attribute): New local function.
4838 (handle_format_arg_attribute): New local function.
4839 (lto_attribute_table): Declare.
4840 (lto_format_attribute_table): Declare.
4841 (lto_init_attributes): New local function.
4842 (lto_define_builtins): Call it.
4843 Call targetm.init_builtins and build_common_builtin_nodes.
4844 (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Define.
4845 (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Define.
4846
48472008-08-28 Diego Novillo <dnovillo@google.com>
4848
4849 * Make-lang.in (lto-lang.o): Replace tree-gimple.h with
4850 $(GIMPLE_H).
4851 (lto-symtab.o): Add dependency on $(GIMPLE_H).
4852 * lto-lang.c: Include gimple.h instead of tree-gimple.h.
4853 * lto-symtab.c: Include gimple.h.
4854 * lto-tree.h (chain_next): Replace GENERIC_NEXT with
4855 TREE_CHAIN.
4856
48572008-08-27 Doug Kwan <dougkwan@google.com>
4858
4859 * lto.c (vec.h, bitmap.h, pointer-set.h, ipa-prop.h, ggc.h,
4860 gt-lto-lto.h): New includes.
4861 (lto_materialize_function): Do not read in function body in WPA mode.
4862 Format a line to fit in 80 columns.
4863 (lto_cgraph_node_sets): New garbage collected variable.
4864 (lto_1_to_1_map, lto_add_all_inlinees, lto_wpa_write_files):
4865 New functions.
4866 (lto_main): Initialize bitmap obstack. Add code to handle WPA mode.
ab20d992 4867 * Make-lang.in (LTO_H): Replace filename lto-section-in.h with
d7f09764
DN
4868 variable LTO_SECTION_IN_H.
4869 (lto/lto.o): Include gt-lto-lto-c.h ggc.h ,VEC_H, BITMAP_H,
4870 pointer-set.h and IPA_PROP_H. Also replace filename lto-section-in.h
4871 with variable LTO_SECTION_IN_H.
4872 * config-lang.in (gtfiles): Add lto/lto.c.
4873 * lto-symtab.c (lto_symtab_merge_decl): Set DECL_CONTEXT of
4874 merged DECL_RESULT correctly.
4875
48762008-08-26 Bill Maddox <maddox@google.com>
4877
4878 * lto-lang.c Include tree-gimple.h.
4879 (lto_mark_addressable): Call mark_addressable rather than
4880 asserting.
4881 (lto_post_options): Suppress debug info generation.
4882 * Make-lang.in: Add dependency of lto-lang.o on tree-gimple.h.
ab20d992 4883
3f8257db 48842008-08-25 Bill Maddox <maddox@google.com>
d7f09764
DN
4885
4886 * lto-symtab.c (lto_symtab_merge_decl): Remove a suspect
4887 assertion and leave an explanatory comment in its place.
ab20d992 4888
d7f09764
DN
48892008-08-21 Doug Kwan <dougkwan@google.com>
4890
4891 * lto.c (preload_common_nodes): Call lto_get_common_nodes to get a list
4892 of common nodes instead of computing locallly.
4893 (lto_read_in_decl_state): New.
4894 (lto_read_decls): Change code for udpate in struct lto_decl_header.
4895 Read global and per-function in-decl states.
4896 * Make-lang.in (LTO_H): Update dependency.
4897 (lto/lto.o): Same.
4898 (lto-symtab.c): Merge (revision 139039)
4899 * lto-symtab.c (lto_symtab_merge_decl): Merge DECL_RESULT.
4900
49012008-08-21 Rafael Espindola <espindola@google.com>
4902
4903 * config-lang.in (target_libs): New.
4904
49052008-08-20 Bill Maddox <maddox@google.com>
4906
4907 * lto.c (current_lto_file): Remove GTY marker from static
4908 variable. Remove include of file gt-lto-lto.h.
4909 * Make-lang.in: Remove dependency of lto/lto.o on
4910 gt-lto-lto.h.
4911 * lto-elf.c (lto_file_close): Removed.
4912 (lto_elf_file_open): Use XCNEW instead of GGC_CNEW to
4913 allocate lto_elf_file object.
4914 (lto_elf_file_close): Free lto_elf_file object after close.
4915 * lto.h (struct lto_file_struct): Remove GTY marker.
4916 * config-lang.in: Remove lto/lto.h and lto/lto.c from
4917 gtfiles.
ab20d992 4918
d7f09764
DN
49192008-08-20 Bill Maddox <maddox@google.com>
4920
4921 * lto.c (lto_read_decls): Provide dummy argument to input_tree
4922 to conform to its new signature.
4923 * lto-symtab.c (lto_symtab_merge_decl): Do not invoke ggc_free
4924 on discarded node here, now called in global_vector_fixup.
ab20d992 4925
d7f09764
DN
49262008-08-09 Bill Maddox <maddox@google.com>
4927
4928 * lto.c (preload_common_nodes): Verify that fileptr_type_node
4929 has not been set to a front-end-specific value.
ab20d992 4930
d7f09764 49312008-08-05 Doug Kwan <dougkwan@google.com>
ab20d992 4932
d7f09764
DN
4933 * Make-lang.in (lto-symtab.o): Add missing dependencies to fix
4934 build breakage.
4935
49362008-07-30 Bill Maddox <maddox@google.com>
4937
4938 * lto.c (lto_materialize_function): Call lto_original_decl_name.
4939 Remove obsolete comments.
4940 (lto_read_decls): Remove initialization of deleted field data_in.global.
4941 Tidy up comments.
4942 (lto_main): Remove redundant initialization of section_hash_table.
4943 * lto-elf.c: Removed obsolete comments.
4944 * lto.h: Tidy up comments.
4945 * lto-symtab.c (lto_least_common_multiple): New function.
4946 (lto_symtab_merge_decl): Merge variable alignments in some cases.
4947 Tidy up comments.
4948
49492008-07-25 Diego Novillo <dnovillo@google.com>
4950 Bill Maddox <maddox@google.com>
4951
4952 * lto.c: Re-order include files.
4953 Include lto-section-out.h.
4954 (preload_common_nodes): Add debugging output.
4955 Add new local INDEX_TABLE.
4956 Call preload_common_node.
4957 * Make-lang.in (lto.o): Add dependency on lto-section-out.h
4958
49592008-07-13 Bill Maddox <maddox@google.com>
4960
4961 * lto.c (lto_read_decls): Cast pointer to const char * to avoid
4962 unwanted scaling during pointer addition.
4963
49642008-07-11 Bill Maddox <maddox@google.com>
4965 Diego Novillo <dnovillo@google.com>
4966
4967 * lto.c (lto_read_decls): Fix C++ compatibility warnings.
4968 Make code const-correct.
4969 (lto_file_read): Fix C++ compatibility warnings.
ab20d992 4970 (lto_read_section_data): Fix C++ compatibility warnings.
d7f09764
DN
4971 (lto_get_section_data): Use CONST_CAST to avoid warning when
4972 const pointer passed to free.
4973 * lto-elf.c (lto_elf_build_section_table): Fix C++
4974 compatibility warnings.
ab20d992 4975 (lto_elf_append_data): Fix C++ compatibility warnings. Use CONST_CAST
d7f09764 4976 to avoid warning assigning const pointer to d_buf field of Elf_Data.
ab20d992 4977 (lto_get_current_out_file): Fix C++ compatibility warnings.
d7f09764
DN
4978
49792008-07-11 Diego Novillo <dnovillo@google.com>
4980
4981 * Make-lang.in (lto-warn): Define.
4982
49832008-07-03 Simon Baldwin <simonb@google.com>
4984
4985 * lto.c (lto_read_decls): Wrapped debug-only data items within #ifdef
4986 LTO_STREAM_DEBUGGING.
4987
49882008-06-27 Ollie Wild <aaw@google.com>
4989
4990 * lto-elf.c (lto-section-out.h): New include.
4991 (struct lto_elf_file): Remove bits member. Add scn, shstrtab_stream,
4992 and data members.
4993 (cached_file_attrs): New static variable.
4994 (lto_elf_get_shdr, lto_elf_free_shdr): Remove elf_file parameter.
4995 Use cached_file_attrs for checking bits.
4996 (lto_elf_build_section_table): Remove elf_file argument from
4997 lto_elf_get_shdr and lto_elf_free_shdr calls.
4998 (DEFINE_INIT_SHDR): New macro.
4999 (init_shdr32, init_shdr64): New functions defined via the
5000 DEFINE_INIT_SHDR macro.
5001 (lto_elf_begin_section_with_type): New function.
5002 (lto_elf_begin_section): New function.
5003 (lto_elf_append_data): New function.
5004 (lto_elf_end_section): New function.
5005 (DEFINE_VALIDATE_EHDR): New macro.
5006 (validate_ehdr32, validate_ehdr64): New functions defined via the
5007 DEFINE_VALIDATE_EHDR macro.
5008 (validate_file): New function.
5009 (DEFINE_INIT_EHDR): New macro.
5010 (init_ehdr32, init_ehdr64): New functions defined via the
5011 DEFINE_INIT_EHDR macro.
5012 (init_ehdr): New function.
5013 (lto_elf_file_open): Add support for writable files. Move some
5014 validation logic to validate_file.
5015 (lto_elf_file_close): Add support for writable files. Write file data
5016 and free data blocks.
5017 (current_out_file): New static variable.
5018 (lto_set_current_out_file): New function.
5019 (lto_get_current_out_file): New function.
5020 * lto.c (lto_main): Add writable argument to lto_elf_file_open calls.
5021 Add temporary initialization for testing ELF serialization.
5022 * lto.h (lto-section-out.h): New include.
5023 (struct lto_file_struct): Slight modification to comment.
5024 (lto_elf_file_open): Add writable parameter.
5025 (lto_elf_begin_section): New function declaration.
5026 (lto_elf_append_data): New function declaration.
5027 (lto_elf_end_section): New function declaration.
5028 (lto_set_current_out_file, lto_get_current_out_file): New function
5029 declarations.
5030 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Set as lto_elf_begin_section.
5031 (LANG_HOOKS_APPEND_DATA): Set as lto_elf_append_data.
5032 (LANG_HOOKS_END_SECTION): Set as lto_elf_end_section.
5033 * Make-lang.in (LTO_H): Add lto-section-out.h.
5034
50352008-06-12 Ollie Wild <aaw@google.com>
5036
5037 * lto.h (struct lto_file_vtable_struct): Remove.
5038 (struct lto_file_struct): Remove vtable member.
5039 * lto-elf.c (lto_file_init): Remove vtable argument.
5040 (lto_elf_map_optional_lto_section): Remove.
5041 (lto_elf_unmap_section): Remove.
5042 (lto_elf_file_vtable): Remove.
5043 (lto_elf_file_open): Remove lto_elf_file_vtable argument from
5044 lto_file_init call.
5045 (lto_elf_find_section_data): Remove.
5046
50472008-06-11 Ollie Wild <aaw@google.com>
5048
5049 * lto.c (lto_file_read): Add const qualifier to data variable.
5050
50512008-06-11 Diego Novillo <dnovillo@google.com>
5052
5053 Merge from lto-streamber sub-branch.
5054
5055 2008-06-04 Ollie Wild <aaw@google.com>
5056
5057 * lto.c: Remove inclusion of dwarf2.h and dwarf2out.h.
5058 * Make-lang.in (lto.o): Remove dependency on dwarf2.h.
5059
5060 2008-05-28 Bill Maddox <maddox@google.com>
5061
5062 Replace the DWARF reader in the LTO front-end.
5063
5064 * lto.c: Include lto-tree-in.h, lto-tags.h.
5065 (enum DWARF2_class, DW_cl_constant, struct
5066 DWARF2_form_data, struct lto_context,
5067 lto_fd_init, lto_info_fd_init,
5068 lto_abbrev_fd_init, lto_info_fd_close,
5069 lto_file_init, lto_file_close,
5070 lto_file_corrupt_error, lto_abi_mismatch_error,
5071 LTO_CHECK_INT_VAL, LTO_READ_TYPE,
5072 lto_read_uleb128, lto_read_sleb128,
5073 lto_read_initial_length, lto_abbrev_read_attrs,
5074 lto_abbrev_read, lto_abbrev_read_lookup,
5075 lto_read_section_offset,
5076 lto_read_comp_unit_header, find_cu_for_offset,
5077 lto_get_file_name,
5078 lto_resolve_reference,lto_read_form,
5079 attribute_value_as_int,
5080 make_signed_host_wide_int,
5081 attribute_value_as_constant, lto_cache_hash,
5082 lto_cache_eq, lto_cache_store_DIE,
5083 lto_cache_lookup_DIE, lto_find_integral_type,
5084 lto_find_integral_type_1,
5085 LTO_BEGIN_READ_ATTRS_UNCHECKED,
5086 LTO_BEGIN_READ_ATTRS, LTO_END_READ_ATTRS,
5087 lto_unsupported_attr_error, lto_get_identifier,
5088 lto_read_referenced_type_DIE,
5089 lto_read_compile_unit_DIE,
5090 lto_read_array_type_DIE,
5091 lto_read_structure_union_class_type_DIE,
5092 lto_read_enumerator_DIE,
5093 lto_read_enumeration_type_DIE,
5094 lto_read_only_for_child_DIEs,
5095 lto_read_only_for_child_DIEs,
5096 lto_read_member_DIE, lto_read_abbrev,
5097 lto_read_variable_formal_parameter_constant_DIE,
5098 lto_get_body): Removed.
5099 (preload_common_nodes): New function.
5100 (lto_read_decls): Convert for new global streamer.
5101 (lto_materialze_file_data,
5102 lto_read_subroutine_type_subprogram_die,
5103 lto_read_unspecified_parameters_DIE,
5104 lto_read_typedef_DIE,
5105 lto_read_pointer_reference_type_DIE,
5106 lto_read_subrange_type_DIE,
5107 lto_read_base_type_DIE,
5108 lto_read_const_volatile_restrict_type_DIE,
5109 lto_read_namespace_DIE,
5110 lto_read_unspecified_type_DIE, lto_read_DIE,
5111 lto_read_child_DIEs, lto_collect_child_DIEs):
5112 Removed.
5113 (lto_info_read, lto_set_cu_context): Removed.
5114 (lto_file_read): Convert for new global streamer.
5115 (lto_resolve_type_ref, lto_read_DIE_at_ptr,
5116 lto_resolve_var_ref, lto_resolve_fn_ref,
5117 lto_resolve_field_ref, lto_resolve_typedecl_ref,
5118 lto_resolve_namespacedecl_ref): Removed.
5119 (lto_file_init, lto_file_close): Moved to lto-elf.c.
5120 * lto-tree.h (lto_symtab_merge_var,
5121 lto_symtab_mergee_fun): Declare here.
5122 * lto-elf.c (lto_file_init, lto_file_close): Moved from lto.c.
5123 (lto_elf_file_open): Removed code to read DWARF debug sections.
5124 * lto.h (lto_context, DWARF2_attr, DWARF2_abbrev,
5125 DWARF2_CompUnit, lto_die_ptr,
5126 lto_die_cache_entry, lto_fd, lto_info_fd,
5127 lto_abbrev_fd): Removed.
5128 (lto_file): Removed debug_info and debug_abbrev fields.
5129 (lto_ref): Removed.
5130 (lto_file_init, lto_file_close,
5131 lto_resolve_type_ref, lto_resolve_var_ref,
5132 lto_resolve_fn_ref, lto_resolve_field_ref,
5133 lto_resolve_typedecl_ref,
5134 lto_resolve_namespacedecl_ref,
5135 lto_get_file_name): Removed declarations.
5136 (lto_symtab_merge_var, lto_symtab_merge_fn):
5137 Declarations moved to lto-tree.h.
5138 * lto-symtab.c (lto_compatible_attributes_p):
5139 Lobotomize this, as it barfs on "Hello, world!".
5140 * lto-section-out.c: Include lto-tree-out.h.
5141 (lto_hash_global_slot_node,
5142 lto_eq_global_slot_node, preload_common_nodes,
5143 write_global_stream, write_global_references):
5144 New functions.
5145 (produce_asm_for_decls): Convert for new global streamer.
5146 * lto-section-out.h (lto_hash_global_slot_node,
5147 lto_eq_global_slot_node): Declare.
5148
3f8257db 51492008-06-07 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 5150 Jan Hubicka <jh@suse.cz>
ab20d992 5151
d7f09764
DN
5152 * lto.c (sys/mman.h, tree-pass.h): New includes.
5153 (lto_materialize_constructors_and_inits,
5154 lto_materialize_function): Keeps length of section.
5155 (lto_materialize_cgraph): Removed.
5156 (lto_read_decls): Initialize fd field.
5157 (lto_file_read): Different return type and removed much code to
5158 lto_main.
5159 (page_mask): New variable.
5160 (lto_read_section_data, get_section_data, free_section_data): New
5161 functions.
5162 (lto_main): Now calls pass manager, sets the hooks so that the ipa
ab20d992
JJ
5163 passes can get the section data.
5164
3f8257db 51652008-05-27 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5166
5167 * lto.h (lto_read_decls): Made local.
ab20d992 5168 (lto_input_function_body, lto_input_constructors_and_inits,
d7f09764
DN
5169 lto_input_cgraph): Declarations moved to lto-section-in.h.
5170 * lto-section-in.c: Moved to .. .
5171 * lto-cgraph-in.c: Ditto.
5172 * lto-section-in.h: Ditto.
5173 * lto-function-in.c: Ditto.
5174 * lto-lang.c (lto_handle_option): Added ATTRIBUTE_UNUSED to parms.
5175 (lto_insert_block): Removed.
5176 (LANG_HOOKS_INSERT_BLOCK): Removed.
5177 * Make-lang.in (lto-cgraph-in.o, lto-function-in.o,
5178 lto-section-in.o): Rules moved to lto/Makefile.in.
ab20d992 5179
d7f09764
DN
5180
51812008-05-16 Ollie Wild <aaw@google.com>
5182
5183 * lto-lang.c (tree-inline.h): Include.
5184 (lto_post_options): New function.
5185 (LANG_HOOKS_POST_OPTIONS): Define.
5186 * lto-cgraph-in.c (overwrite_node): Set node->global.insns.
5187 * lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
5188
51892008-05-13 Diego Novillo <dnovillo@google.com>
5190
5191 * lto-function-in.c (input_ssa_names): Call
5192 make_ssa_name_fn instead of make_ssa_name.
5193
51942008-05-12 Diego Novillo <dnovillo@google.com>
5195
5196 * lto-cgraph-in.c (overwrite_node): Update references to
5197 inline summary fields.
5198 * lto-function-in.c (input_expr_operand): Do not handle
5199 STRUCT_FIELD_TAG.
5200
52012008-05-09 Ollie Wild <aaw@google.com>
5202
5203 * lang.opt: New file.
5204 * lto-lang.c (lto_init_options): New function.
5205 (lto_handle_option): New function.
5206 (lto_init): Move initialization of flag_unit_at_a_time to
5207 lto_init_options.
5208 (LANG_HOOKS_INIT_OPTIONS): Define.
5209 (LANG_HOOKS_HANDLE_OPTION): Define.
5210
52112008-04-29 Ollie Wild <aaw@google.com>
5212
5213 * lto.c (lto_read_namespace_DIE): New function.
5214 (lto_read_DIE): Add lto_read_namespace_DIE callback. Cache
5215 NAMESPACE_DECL DIE's.
5216 (lto_resolve_namespacedecl_ref): New function.
5217 * lto.h (lto_resolve_namespacedecl_ref): New function.
5218 * lto-section-in.c (lto_read_decls): Read namespace declarations.
5219 * lto-section-in.h (struct lto_file_decl_data): Add namespace_decls
5220 and num_namespace_decls.
5221 * lto-function-in.c (input_expr_operand): Add NAMESPACE_DECL case.
5222 * lto-lang.c (lto_init_ts): New function.
5223 (LANG_HOOKS_INIT_TS): Set as lto_init_ts.
5224
52252008-04-16 Ollie Wild <aaw@google.com>
5226
5227 * lto-function-in.c (input_type_ref): Updated function description.
5228
52292008-04-16 Ollie Wild <aaw@google.com>
5230
5231 * lto-function-in.c (input_type_ref_1): New function.
5232 (input_type_ref): Split into two functions.
5233 (input_function): Add support for type contexts.
5234
52352008-04-16 Ollie Wild <aaw@google.com>
5236
5237 * lto.c (lto_materialize_function): Use DECL_ASSEMBLER_NAME to compute
5238 section name
5239
52402008-04-16 Ollie Wild <aaw@google.com>
5241
5242 * lto.c (lto_read_compile_unit_DIE): Add DW_LANG_C_plus_plus to the
5243 list of supported languages.
5244
3f8257db 52452008-03-25 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5246
5247 Merge with mainline @133491.
5248
3f8257db 52492008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5250 Jan Hubicka <jh@suse.cz>
5251
5252 * lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
5253 fd->unmaterialized_fndecls.
5254 (lto_get_file_name, lto_materialize_cgraph): New function.
5255 (lto_materialize_constructors_and_inits,
5256 lto_materialize_function): Read info directly from elf file.
5257 (lto_file_read): Made local and initialize dictionary so that
5258 other lto sections can be read without reprocessing the elf file.
5259 (lto_main): Read all functions after all files have been processed
ab20d992 5260 for their types, globals and cgraph.
d7f09764
DN
5261 * Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
5262 dependencies.
5263 * lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
5264 (hash_name, eq_name, lto_elf_build_section_table): New functions.
5265 (lto_elf_read_symtab): Removed function.
5266 (lto_elf_file_open): Removed call to lto_elf_read_symtab.
5267 * lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
5268 (lto_file_read): Made local.
5269 (lto_get_file_name, lto_elf_build_section_table,
ab20d992 5270 lto_input_cgraph):
d7f09764
DN
5271 New function.
5272 * lto-section-in.c (lto_read_section_data, lto_get_section_data):
5273 New functions.
5274 (lto_read_decls): Get the file name.
5275 * lto-cgraph-in.c: New file.
5276 * lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
5277 (input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
5278 (input_labels): Fixed latent sizeof issue.
5279 (input_function): Build stmt array to set call sites into cgraph
5280 edges.
5281 (lto_read_body): Reset cfun->curr_properties.
5282 * lto_section_in.h (lto_section_slot): New structure.
5283 (section_hash_table.lto_file_decl_data): New field.
5284
3f8257db 52852008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5286
5287 * lto.c (lto_read_variable_formal_parameter_const): Remove code to
5288 reconstruct static initializers.
5289 (lto_get_body, lto_materialize_function): Add lto_section_type as
5290 a parameter.
5291 (lto_materialize_constructors_and_inits,
5292 lto_materialize_file_data): New function.
5293 (lto_materialize_function,
5294 lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
5295 unmap_section and map_fn_body to map_section.
5296 (lto_set_cu_context): Process functions and static inits
5297 differently.
5298 * Make-lang.in (LTO_H, lto/lto-function-in.o,
5299 lto/lto-section-in.o): Update dependencies.
ab20d992 5300 * lto-elf.c (lto_elf_map_optional_lto_section): Add
d7f09764
DN
5301 lto_section_type parameter.
5302 (lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
ab20d992 5303 * lto.h (lto_file_vtable_struct): Removed two of the fields and
d7f09764
DN
5304 renamed the other two so that there is only one map function and
5305 one unmap function and each takes a section type parameter.
5306 (lto_read_function_body): Renamed to lto_input_function_body and
5307 added file_data parameter.
5308 (lto_read_var_init): Removed.
5309 (lto_input_constructors_and_inits): New function.
5310 * lto-section-in.c (lto_read_decls): New function.
5311 * lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
5312 var_decls, type_decls, types to lto_file_decl_data.
5313 (input_type_ref, input_expr_operand, lto_read_body): Get
5314 field_decls, fn_decls, var_decls, type_decls, types from different
5315 structure.
5316 (input_globals, input_constructor, lto_read_var_init): Removed.
5317 (input_constructors_or_inits): New function.
5318 (lto_read_function_body, lto_input_constructors_and_inits):
5319 Renamed to lto_input_function_body and takes file_data parameter.
5320 * lto-section-in.h (lto_file_decl_data): New structure.
ab20d992 5321
3f8257db 53222008-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5323
5324 * lto-function-in.c (input_globals.c): Changed input type to
5325 lto_function_header.
5326 (input_bb): Removed code to deserialize the stmt number.
5327 (input_function): Renumber all stmts after they are input.
5328 (lto_read_body, lto_read_function_body, lto_read_var_init):
5329 Changed to used new header format and enum section_type.
ab20d992
JJ
5330 *lto-lang.c (success): Removed.
5331
d7f09764
DN
53322008-01-28 Nathan Froyd <froydnj@codesourcery.com>
5333
5334 * lto-elf.c (lto_elf_lookup_sym): Remove unused function.
5335 (lto_elf_free_sym): Likewise.
5336
5337 * lto-elf.c (lto_elf_read_var_init): Remove unused function.
5338 (lto_elf_build_init): Likewise.
5339
3f8257db 53402008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5341
5342 * lto-read.c: Renamed to lto-function-in.c.
5343 (input_1_unsigned): Moved to lto-section-in.c and renamed
5344 lto_input_1_unsigned.
5345 (input_uleb128): Moved to lto-section-in.c and renamed
5346 lto_input_uleb128.
5347 (input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
5348 lto_input_widest_uint_uleb128.
5349 (input_sleb128): Moved to lto-section-in.c and renamed
5350 lto_input_sleb128.
5351 (input_integer): Moved to lto-section-in.c and renamed
5352 lto_input_integer.
5353 (debug_in_fun): Moved to lto-section-in.c and renamed
5354 lto_debug_in_fun.
5355 (input_block): Moved to lto-section-in.h and renamed
5356 lto_input_block.
5357 (input_expr_operand): Fixed to allow lists with more than one
5358 element.
5359 * lto-section-in.h: New file.
5360 * lto-section-in.c: New file with changes from above.
5361 * Make-lang.in (lto-read.o): Renamed lto-function-in.c.
5362 (lto-section-in.o): New rule.
ab20d992 5363
d7f09764
DN
53642007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5365
5366 * lto-read.c (input_expr_operand): Mark static and external
5367 VAR_DECLs as needed.
5368
53692007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5370
5371 * lto-read.c (input_integer): Use the correct shift amount.
5372
53732007-12-29 Nathan Froyd <froydnj@codesourcery.com>
5374
5375 * lto-lang.c (lto_pushdecl): Do nothing instead of aborting.
5376 (LANG_HOOKS_NAME): Define.
5377
53782007-12-27 Nathan Froyd <froydnj@codesourcery.com>
5379
5380 * lto.c (lto_find_integral_type): Define as a macro. Rename the
5381 original function to...
5382 (lto_find_integral_type_1): ...this. Consult UNSIGNEDP if we
5383 don't have a base type.
5384 (lto_read_enumeration_type_DIE): Examine the values of the
5385 enumeration to determine whether we can use an unsigned type for
5386 the base type of the enumeration.
5387
53882007-12-24 Nathan Froyd <froydnj@codesourcery.com>
5389
5390 * lto.c (lto_read_structure_union_class_type_DIE): Set TYPE_MODE
5391 and TYPE_ALIGN on UNION_TYPEs as soon as possible.
5392
53932007-12-22 Nathan Froyd <froydnj@codesourcery.com>
5394
5395 * lto-lang.c (lto_types_compatible_p): New function.
5396 (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
5397
53982007-12-22 Nathan Froyd <froydnj@codesourcery.com>
3f8257db 5399 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5400
5401 * lto-read.c (input_expr_operand): Fixed uninitialize var warning.
5402 (input_local_vars): Read in DECL_INITIAL and context for local
5403 statics that need to be put in unexpanded_vars_list.
5404
54052007-12-21 Nathan Froyd <froydnj@codesourcery.com>
5406
5407 * lto-read.c (input_real): Use a separate null-terminated buffer
5408 for calling real_from_string.
5409 (input_expr_operand): If we take the address of a FUNCTION_DECL,
5410 tell cgraph that it's needed.
5411
54122007-12-19 Doug Kwan <dougkwan@google.com>
5413
5414 * lto.c (lto_read_base_type_DIE): Handle complex integer types.
5415
54162007-12-18 Nathan Froyd <froydnj@codesourcery.com>
5417
5418 * lto.c (lto_read_DIE): Call lto_read_only_for_child_DIEs instead.
5419 (lto_file_read): Reset the members of 'context' every time we read
5420 a toplevel DIE, with special attention to last_param_type.
5421
54222007-12-18 Nathan Froyd <froydnj@codesourcery.com>
5423
5424 * lto.c (lto_read_subroutine_type_subprogram_DIE): Initialize
5425 'declaration'. Set the assembler name for non-public functions.
5426
3f8257db 54272007-12-17 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5428
5429 * lto_read.c (data_in.unexpanded_indexes): New array.
5430 (input_local_var): Added code to read in unexpanded_var_list
5431 indexes for variables. Only read in DECL_CHAIN field for
5432 parameters.
5433 (input_local_vars): Added code to rebuild unexpanded_var_list in
5434 order using unexpanded_indexes.
5435 (input_function): Added code to set DECL_CONTEXT for functions.
5436
54372007-12-13 Doug Kwan <dougkwan@google.com>
5438
5439 * lto.c (lto_read_pointer_reference_type_DIE): Handle optional name
5440 in pointer and reference types.
5441
54422007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5443
5444 * lto-read.c (input_expr_operand): Use DECL_RESULT when reading a
5445 RESULT_DECL.
5446
54472007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5448
5449 * lto.c (lto_read_array_type_DIE): Return the cached DIE if we've
5450 already read the DIE.
5451 (lto_get_body): New function, split out from...
5452 (lto_materialize_function): ...here. Call it.
5453 (lto_read_subroutine_type_subprogram_DIE): Call lto_get_body to
5454 determine DECL_EXTERNAL.
5455 * lto-symtab.c (lto_symtab_merge_decl): Merge the DECL_RESULTs of
5456 FUNCTION_DECLs when necessary. Use the type of the actual
5457 function definition if we are unable to easily merge types. Ignore
5458 spurious DECL_MODE mismatches on VAR_DECLs. Merge DECL_MODEs when
5459 necessary.
5460
54612007-12-13 Nathan Froyd <froydnj@codesourcery.com>
5462
5463 * lto-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
5464
54652007-12-12 Bill Maddox <maddox@google.com>
5466
5467 Revert
5468 2007-12-07 Bill Maddox <maddox@google.com>
5469
5470 * lto.c (lto_str_fd_init): New function.
5471 (lto_str_fd_close): New function.
5472 (lto_file_init): Call lto_str_fd_init.
5473 (lto_file_close): Call lto_str_fd_close.
5474 (lto_str_read): New function. Read debug string table.
5475 (lto_str_lookup): New function. Get string for debug
5476 string table offset.
5477 (lto_read_form): Recognize DW_FORM_strp.
5478 (lto_file_read): Invoke lto_str_read.
5479
5480 * lto-elf.c (lto_elf_file_open): Read raw section data
5481 for the .debug_str section, if present.
5482
5483 * lto.h (struct lto_str_fd_struct): New struct.
5484 (struct lto_file_struct): Added new field DEBUG_STR
5485 to hold the file descriptor for the debug string table.
ab20d992 5486
d7f09764
DN
54872007-12-07 Bill Maddox <maddox@google.com>
5488
5489 * lto.c (lto_str_fd_init): New function.
5490 (lto_str_fd_close): New function.
5491 (lto_file_init): Call lto_str_fd_init.
5492 (lto_file_close): Call lto_str_fd_close.
5493 (lto_str_read): New function. Read debug string table.
5494 (lto_str_lookup): New function. Get string for debug
5495 string table offset.
5496 (lto_read_form): Recognize DW_FORM_strp.
5497 (lto_file_read): Invoke lto_str_read.
5498
5499 * lto-elf.c (lto_elf_file_open): Read raw section data
5500 for the .debug_str section, if present.
5501
5502 * lto.h (struct lto_str_fd_struct): New struct.
5503 (struct lto_file_struct): Added new field DEBUG_STR
5504 to hold the file descriptor for the debug string table.
5505
55062007-12-07 Nathan Froyd <froydnj@codesourcery.com>
5507
5508 * lto-read.c (input_cfg): Call init_empty_tree_cfg_for_function.
5509 Grow the basic_block_info and label_to_block_map vectors if
5510 necessary. Read in the block chain.
5511
55122007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5513
5514 * lto.c (lto_read_DIE): Set TYPE_ALIAS_SET where necessary.
5515
55162007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5517
5518 * lto.c (lto_read_form): Add DW_cl_address for DW_AT_const_value.
5519
55202007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5521
5522 * lto-read.c (input_expr_operand): Don't check for MTAGs.
5523 (lto_read_body): Don't declare PROP_alias.
5524
55252007-12-06 Nathan Froyd <froydnj@codesourcery.com>
5526
5527 * lto-symtab.c (lto_symtab_merge_decl): Handle FUNCTION_DECLs without
5528 argument type information.
5529
55302007-12-03 Nathan Froyd <froydnj@codesourcery.com>
5531
5532 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
5533 TREE_THIS_VOLATILE if the associated type is a volatile type.
5534 (lto_materialize_function): Remove call to init_ssa_operands.
5535 * lto-read.c (input_expr_operand): Add SSA_NAME_VAR as a referenced
5536 variable when reading an SSA_NAME. Do the same when reading a
5537 RESULT_DECL, a RETURN_EXPR, or an MTAG.
5538 (input_cfg): Call init_ssa_operands.
5539 (input_ssa_names): Set the default def of an SSA_NAME if necessary.
5540 Move call to init_tree_ssa...
5541 (lto_read_body): ...here. Use push_cfun and pop_cfun. Call
5542 add_referenced_var on any variables referenced from the body of the
5543 function. Inform the rest of the compiler we are in SSA form and
5544 inform later passes about the current properties.
5545
55462007-11-30 Nathan Froyd <froydnj@codesourcery.com>
5547
5548 * lto.c (lto_materialize_function): Add FIXME.
5549
55502007-11-29 Nathan Froyd <froydnj@codesourcery.com>
5551
5552 * lto-lang.c (enum built_in_attribute): New enum.
5553 (flag_no_builtin, flag_no_nonansi_builtin, flag_isoc94, flag_isoc99,
5554 built_in_attributes): New variables.
5555 (def_builtin_1): New function.
5556 (lto_define_builtins): #define DEF_BUILTIN and include builtins.def.
5557
55582007-11-28 Nathan Froyd <froydnj@codesourcery.com>
5559
5560 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
5561 DECL_SOURCE_LOCATION for debugging purposes.
5562 (lto_read_member_DIE): Set DECL_SOURCE_LOCATION. If we have read a
5563 bitfield, use the type specified by the DIE for TREE_TYPE and defer
5564 laying out the decl until later.
5565 (lto_read_subroutine_type_subprogram_DIE): Compare the function's
5566 name with DECL_ASSEMBLER_NAME. Set DECL_SOURCE_LOCATION and
5567 TREE_ADDRESSABLE.
5568 * lto-read.c (input_expr_operand): Set TREE_ADDRESSABLE on the
5569 operand of an ADDR_EXPR.
5570 * lto-lang.c (enum lto_builtin_type): New enum.
5571 (builtin_type): New typedef.
5572 (builtin_types, string_type_node, const_string_type_node,
5573 wint_type_node, intmax_type_node, uintmax_type_node,
5574 signed_size_type_node): New variables.
5575 (def_fn_type, builtin_type_for_size, lto_define_builtins,
5576 lto_build_c_type_nodes): New functions.
5577 (lto_init): Initialize builtin types.
5578 (lto_set_decl_assembler_name): Let the target machine mangle the
5579 name if the decl is TREE_PUBLIC, otherwise uniquify it.
5580
55812007-11-21 Nathan Froyd <froydnj@codesourcery.com>
5582
5583 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Don't
5584 set TREE_ADDRESSABLE. Do set DECL_COMDAT. Set TREE_READONLY if
5585 the type is a constant type. Set the assembler name and inform
5586 the rest of the compiler about the new decl if the decl is not
5587 public.
5588 (lto_read_subroutine_type_subprogram_DIE): Don't check for equivalency
5589 of DECL_ASSEMBLER_NAME when determining if we have a builtin. Don't
5590 try to read in function bodies for functions that already have bodies.
5591 * lto-symtab.c (lto_same_type_p): Check for unbounded array
5592 equivalency.
5593 (lto_symtab_merge_decl): Don't merge decls that aren't TREE_PUBLIC.
5594 Check for whether we matched a builtin function type before calling
5595 lto_same_type_p on the generated type. Permit cases where the
5596 declaration of an array is unbounded, but the definition is bounded.
5597 Don't combine TREE_PUBLIC flags. Copy over DECL_SIZE and
5598 DECL_SIZE_UNIT if necessary.
5599
3f8257db 56002007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 5601
ab20d992 5602 * lto-read.c (input_expr_operand): Get types right
d7f09764
DN
5603 for COMPLEX_CST.
5604
3f8257db 56052007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5606
5607 * lto-read.c (make_new_block, input_cfg): Properly set
5608 n_basic_blocks.
ab20d992 5609
d7f09764
DN
56102007-11-16 Nathan Froyd <froydnj@codesourcery.com>
5611
5612 * lto.c (lto_read_array_type_DIE): Handle DIEs with DW_AT_GNU_vector
5613 set properly by building a VECTOR_TYPE instead of an ARRAY_TYPE.
5614
56152007-11-16 Nathan Froyd <froydnj@codesourcery.com>
5616
5617 * lto.c (lto_read_base_type_DIE): Use make_bitfield_integer_type to
5618 construct the integer type for bitfields.
5619
3f8257db 56202007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5621
5622 * lto-read.c (data_in.current_node_has_loc): Removed.
5623 (input_line_info): Returns true if node needs line set.
5624 (set_line_info): Always sets line if called.
5625 (clear_line_info): Removed reference to current_node_needs_loc.
5626 (input_expr_operand): Keeps track locally if current node needs a loc.
5627 (input_local_var): Added code to handle DECL_INITIAL for
5628 static local vars. Only set loc if necessary.
ab20d992 5629
d7f09764
DN
56302007-11-15 Nathan Froyd <froydnj@codesourcery.com>
5631
5632 * lto.c (lto_read_subroutine_type_subprogram_DIE): Fix thinko'd
5633 DECL_CONTEXT.
5634
56352007-11-15 Nathan Froyd <froydnj@codesourcery.com>
5636
5637 * lto.c: Include langhooks.h.
5638 (lto_find_integral_type): Rework logic to handle the case where
5639 got_byte_size is true, but the bitsize requested and that of the
5640 base_type doesn't match.
5641 (lto_read_variable_formal_parameter_constant_DIE): Only check for
5642 asm_name if we are creating a VAR_DECL.
5643 (lto_materialize_function): Set DECL_EXTERNAL if we can't find a
5644 definition.
5645 (lto_read_subroutine_type_subprogram_DIE): Check for a builtin
5646 function reference and use the builtin's decl if so. Set the
5647 DECL_CONTEXT of the RESULT_DECL for the function.
5648 * lto-lang.c (registered_builtin_fndecls): New variable.
5649 (lto_getdecls): Return it.
5650 (lto_builtin_function): Chain the new decl onto
5651 registered_builtin_fndecls.
5652
3f8257db 56532007-11-15 Kenneth Zadeck <zadeck@naturalbridge.com>
ab20d992 5654
d7f09764
DN
5655 * lto-read.c (process_tree_flags, lto_static_init_local):
5656 Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
5657 (input_line_info, clear_line_info): Fixed new line number code.
5658 (input_expr_operand): Added type to SWITCH_EXPR.
5659 (lto_read_body): Properly initialized data_in.
5660 Clear line info when leaving.
ab20d992 5661
d7f09764
DN
56622007-11-13 Diego Novillo <dnovillo@google.com>
5663
5664 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
5665 Initialize ARTIFICIAL.
5666 (lto_read_subroutine_type_subprogram_DIE): Initialize
5667 SAVED_SCOPE.
5668 * lto-read.c (set_line_info): Remove ; from calls to
5669 LINEMAP_POSITION_FOR_COLUMN.
5670
3f8257db 56712007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5672
5673 * lto-read.c (input_type_ref): Renamed from get_type_ref.
ab20d992 5674 (input_expr_operand, input_local_var): Renamed get_type_ref to
d7f09764 5675 input_type_ref.
ab20d992 5676 (input_expr_operand): Get the types correct for
d7f09764 5677 vector-cst. Get SSA_NAME_DEF_STMT correct for return_exprs.
ab20d992 5678
d7f09764
DN
56792007-11-13 Doug Kwan <dougkwan@google.com>
5680
5681 * lto-read.c (input_widest_uint_uleb128): New function.
5682 (input_tree_flags, process_tree_flags, input_line_info,
5683 input_expr_operand, input_local_var, input_phi, input_ssa_names):
5684 Change to use lto_flags_type and BITS_PER_LTO_FLAGS_TYPES instead of
5685 unsigned HOST_WIDE_INT and HOST_BITS_PER_WIDE_INT.
5686 (lto_static_init_local): Add code to assert that lto_flags_type is
5687 wide enough.
5688
56892007-11-13 Nathan Froyd <froydnj@codesourcery.com>
5690
5691 * lto.c (lto_read_array_type_DIE): Handle DW_AT_GNU_vector.
5692 (lto_read_subroutine_type_subprogram_DIE): Handle
5693 DW_AT_static_link and DW_AT_specification. Return the
5694 specification if present.
5695 (lto_read_base_type_DIE): Handle DW_ATE_complex_float.
ab20d992 5696
d7f09764
DN
56972007-11-13 Nathan Froyd <froydnj@codesourcery.com>
5698
5699 * lto-lang.c: Include target.h.
5700 (registered_builtin_types): New variable.
5701 (lto_type_for_mode): Increase number of modes handled.
5702 (lto_builtin_function): Fix argument list and return the decl.
5703 (lto_register_builtin_type): New function.
5704 (lto_init): Initialize target builtins and language-independent
5705 nodes.
5706 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define.
5707
3f8257db 57082007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5709
5710 * lto-read.c (input_expr_operand): Added code to properly handle
5711 index filed. Added new RANGE_EXPR case.
ab20d992 5712
3f8257db 57132007-11-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5714
5715 * lto-read.c (ADD_FUNC_FLAG): Deleted macro.
5716 (data_in): Added current_node_has_loc field.
5717 (input_line_info, set_line_info, clear_line_info): Added a support
5718 for USE_MAPPED_LOCATION and not adding line numbers to nodes that
5719 did not have on on the source side.
5720 (input_expr_operand): Make sure that GIMPLE_MODIFY_STMTS get line
5721 numbers too.
5722
57232007-11-09 Doug Kwan <dougkwan@google.com>
5724
5725 * lto-read.c (input_expr_operand): Change type of operand 2 of
5726 BIT_FIELD_REF expression to be bitsizetype instead of sizetype.
5727
57282007-11-09 Nathan Froyd <froydnj@codesourcery.com>
5729
5730 * lto.c: Include lto-tree.h. Effect small spaces->tabs cleanup.
5731 (lto_read_variable_formal_parameter_constant_DIE): Transfer bits
5732 from a DW_AT_specification or DW_AT_abstract_origin attribute to
5733 the new decl we are creating. Move informing the middle end about
5734 the new decl to...
5735 (lto_main): ...here. Inform the middle end about global variables
5736 after we have read in all the input files.
5737 * lto-symtab.c (lto_symtab_merge_decl): We really do need to merge
5738 variables with internal linkage, so delete the check for internal
5739 linkage. Combine TREE_PUBLIC flags.
5740
57412007-11-08 Nathan Froyd <froydnj@codesourcery.com>
5742
5743 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
5744 DW_AT_decl_line.
5745 * lto-symtab.c (lto_symtab_merge_decl): Handle redefinition of a
5746 builtin specially. Move check for attribute compatibility
5747 earlier.
5748
57492007-11-07 Nathan Froyd <froydnj@codesourcery.com>
5750
5751 * Make-lang.in (lto/lto.o): Depend on gt-lto-lto.h.
5752 * config-lang.in (gtfiles): Add lto.h and lto.c.
5753 * lto-elf.c: Include ggc.h.
5754 (lto_elf_file_open): Allocate elf_file from GC memory.
5755 * lto.c: Include tree-ssa-operands.h and gt-lto-lto.h
5756 (lto_info_fd_init): Allocate the die_cache and unmaterialized_fndecls
5757 in GC memory.
5758 (lto_info_fd_close): Free unmaterialized_fndecls from GC memory.
5759 (lto_file_close): Free file from GC memory.
5760 (lto_cache_store_DIE): Allocate the new entry in GC memory.
5761 (lto_read_member_DIE): Fix declaration.
5762 (lto_read_subroutine_type_subprogram_DIE): unmaterialized_fndecls lives
5763 in GC memory.
5764 (current_lto_file): New variable.
5765 (lto_main): Use it.
5766 (DWARF2_attr, DWARF2_abbrev, lto_die_ptr, DWARF2_CompUnit,
5767 lto_die_cache_entry): Move to...
5768 * lto.h: ...here and add GTY markers as appropriate. Delete forward
5769 declarations accordingly.
5770 (struct lto_file_struct): Declare.
5771 (lto_file_vtable): Use it instead of lto_file.
5772
ab20d992
JJ
57732007-11-06 Alon Dayan <alond@il.ibm.com>
5774 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5775
5776 * lto-read.c (process_flags, lto_static_init_local):
5777 read flags of VAR_DECL and FUNCTION_DECL of size>1.
5778 change global array num_flags_for_code to flags_length_for_code.
5779 (set_line_info): Make decls work in USE_MAPPED_LOCATION mode.
ab20d992 5780
d7f09764
DN
57812007-11-05 Nathan Froyd <froydnj@codesourcery.com>
5782
5783 * lto.c (lto_read_structure_union_class_type_DIE): Use proper record
5784 layout functions to compute information about the newly constructed
5785 type.
5786
57872007-11-02 Nathan Froyd <froydnj@codesourcery.com>
5788
5789 * lto-read.c (input_expr_operand): Change the LTO_return_expr1
5790 case to use DECL_RESULT if necessary.
5791
3f8257db 57922007-11-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5793
5794 * lto-read.c (input_tree_list): Removed.
5795 (input_tree_flags): Added parameter to force flags no matter what
5796 tree code.
5797 (input_expr_operand): Added parameter to input_tree_flags.
5798 Added case for IDENTIFIER_NODE and TREE_LIST. Changed ASM to call
5799 input_expr_operand rather than input_tree_lists.
5800 (input_local_var): Use input_expr_operand to read attributes
5801 rather then input_tree_list.
5802 (input_phi, input_ssa_names): Added parameter to input_tree_flags.
5803
58042007-10-31 Nathan Froyd <froydnj@codesourcery.com>
5805
5806 * lto.c (lto_read_typedef_DIE): Fix comment typo.
5807 (lto_resolve_typedecl_ref): Fetch the referred-to type and build a fake
5808 TYPE_DECL for it.
5809 * lto-read.c (lto_read_body): Use correct sizes for calculating
5810 type_decls_offset and types_offset.
5811
58122007-10-30 Nathan Froyd <froydnj@codesourcery.com>
5813
5814 * lto-tree.h (union lang_tree_node): Change GTY description to chain
5815 with GENERIC_NEXT.
5816 * config-lang.in (gtfiles): Add lto-lang.c.
5817 * lto-lang.c: Include gt-lto-lto-lang.h.
5818 * Make-lang.in (lto/lto-lang.o): Add dependency on gt-lto-lto-lang.h
5819 (lto/lto-symtab.o): Depend on LTO_H instead of TREE_H.
5820 (lto/lto-read.o): Likewise.
5821
3f8257db 58222007-10-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5823
5824 * lto-read.c (data_in): Added type_decls and current_col fields.
5825 (string_slot): New type to hold canonized file name.
ab20d992 5826 (hash_string_slot_node, eq_string_slot_node, canon_file_name,
d7f09764
DN
5827 input_line_info, set_line_info, clear_line_info): New functions.
5828 (file_name_hash_table): New hash table.
ab20d992 5829 (input_local_var, input_labels, input_local_vars_index,
d7f09764
DN
5830 input_local_var, input_local_vars, input_ssa_names): Reorganized parameters.
5831 (input_uleb128): Changed type of byte var.
5832 (input_expr_operand): Large number of changes to get line numbers
5833 correct. Added TYPE_DECL case.
5834 (input_globals): Added code to get TYPE_DECLs processed.
5835 (input_local_var): Added code to process line numbers and
5836 TREE_CHAIN and DECL_CONTEXT.
5837 (input_function, input_constructor): Added call to
5838 clear_line_number.
5839 (lto_static_init_local): Added code to get line numbers correct.
5840 (lto_read_body): Added code to get TYPE_DECLS read and to change
5841 parameters to the calls above that had their parms reorganized.
5842
d7f09764
DN
58432007-10-29 Nathan Froyd <froydnj@codesourcery.com>
5844
5845 * lto.h (lto_resolve_typedecl_ref): Declare.
5846 * lto.c (lto_resolve_typedecl_ref): New function.
5847
58482007-10-29 Mark Mitchell <mark@codesourcery.com>
5849 Nathan Froyd <froydnj@codesourcery.com>
5850
5851 * lto.c (lto_read_subroutine_type_subprogram_DIE): Read the child
5852 DIEs even if we find an abstract origin for this DIE.
5853
58542007-10-29 Nathan Froyd <froydnj@codesourcery.com>
5855
5856 * lto.c (lto_read_subroutine_type_subprogram_DIE): Build the
5857 RESULT_DECL slightly earlier. Only remember the decl for later
5858 if we successfully merge declarations.
5859
3f8257db 58602007-10-24 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5861
5862 * lto-read.c (input_expr_operand): Give label_values the proper
5863 context and provide switch statements with a default type.
ab20d992 5864
d7f09764
DN
58652007-10-23 Nathan Froyd <froydnj@codesourcery.com>
5866
5867 * lto-read.c (lto_read_body): Move call to init_ssa_operands...
5868 * lto.c (lto_materialize_function): ...to here.
5869
58702007-10-22 Nathan Froyd <froydnj@codesourcery.com>
5871
5872 * lto.h (struct lto_info_fd): Add field unmaterialized_fndecls.
5873 * lto.c (lto_info_fd_init): Initialize it.
5874 (lto_info_fd_close): Free it.
5875 (lto_materialize_function): New function.
5876 (lto_read_subroutine_type_subprogram_DIE): Save the result decl on
5877 unmaterialized_fndecls.
5878 (lto_file_read): Read in all the function bodies after we have read
5879 all of the DWARF info.
5880 * lto-read.c (lto_read_body): Call init_ssa_operands if we are
5881 reading a function body.
5882
3f8257db 58832007-10-20 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5884
5885 * lto-read.c (input_tree_flags): Renamed from input_flags to be
5886 semetric with output_tree_flags. Added call to log flags.
5887 (process_tree_flags): Renamed from process_flags. Fixed a lot of
5888 type issues to make everything consistent with flags being
5889 unsigned HOST_WIDE_INTS.
5890 (input_expr_operand): Added call to
5891 recompute_tree_invariant_for_addr_expr.
5892 (input_local_var): Added debugging for tree_chains. Now calls
5893 input_tree_flags.
5894 (input_phi): Made flags unsigned HOST_WIDE_INT.
5895 (input_ssa_names): Now calls input_tree_flags.
5896 (lto_read_body): Now sets cfun.
5897 (lto_read_function_body): Now sets current_function_pointer.
ab20d992 5898
d7f09764
DN
58992007-10-19 Nathan Froyd <froydnj@codesourcery.com>
5900
5901 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Check
5902 definitively whether SPECIFICATION or ABSTRACT_ORIGIN exist before
5903 inspecting fields within.
5904 (lto_read_DIE_at_ptr): Delete check for null result; let callers
5905 handle this appropriately.
5906
59072007-10-19 Nathan Froyd <froydnj@codesourcery.com>
5908
5909 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Handle
5910 DW_AT_abstract_origin properly. Ensure that we're not dealing with
5911 both DW_AT_abstract_origin and DW_AT_specification.
5912 (lto_read_subroutine_type_subprogram_DIE): Handle
5913 DW_AT_abstract_origin.
5914 (lto_read_DIE): Use lto_read_only_for_child_DIEs for labels.
5915 (lto_read_DIE_at_ptr): Define as static to match declaration.
5916 Lookup the PTR in the cache before reading it from the file.
5917 (lto_resolve_var_ref): Adjust accordingly.
5918 (lto_resolve_fn_ref): Adjust accordingly. Tweak comment.
5919 (lto_resolve_field_ref): Adjust accordingly. Tweak comment.
5920
59212007-10-19 Nathan Froyd <froydnj@codesourcery.com>
5922
5923 * lto.c (lto_read_DIE_at_ptr): New function.
5924 (lto_resolve_var_ref): Use it.
5925 (lto_resolve_fn_ref): Use it.
5926 (lto_resolve_field_ref): Use it.
5927 (lto_read_variable_formal_parameter_constant_DIE): Follow
5928 DW_AT_specification and return the associated decl when appropriate.
5929
59302007-10-18 Nathan Froyd <froydnj@codesourcery.com>
5931
5932 * lto-lang.c (lto_type_for_mode): Move after lto_type_for_size.
5933 Implement for scalar integer modes.
5934 (lto_init): Initialize size_type_node.
5935
3f8257db 59362007-10-18 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5937
5938 * lto-read.c (input_expr_operand): Remove ssa name asserts.
5939 (input_local_var): Add chaining for params.
5940 (input_ssa_names): Add cfun parameter.
5941 (input_function): Remove unnecessary else.
5942
59432007-10-17 Nathan Froyd <froydnj@codesourcery.com>
5944
5945 * lto.c (lto_read_only_for_child_DIEs): Mark die parameter as unused.
5946 (lto_resolve_var_ref): Use proper types.
5947 (lto_resolve_fn_ref): Likewise.
5948 (lto_resolve_field_ref): Likewise.
5949
59502007-10-17 Nathan Froyd <froydnj@codesourcery.com>
5951
5952 * lto-read.c (input_expr_operand): Remove case.
5953
59542007-10-17 Nathan Froyd <froydnj@codesourcery.com>
5955
5956 * lto.c (lto_read_only_for_child_DIEs): New function.
5957 (lto_read_DIE): Use it for lexical_block and inlined_subroutine DIEs.
5958 * lto-elf.c (lto_elf_map_lto_section): Remove.
5959 (lto_elf_file_vtable): Use lto_elf_map_optional_lto_section instead.
5960 * lto-read.c (input_expr_operand): Assert that we never read a NULL
5961 SSA_NAME. Add missing case for mechanical codes.
5962 (input_cfg): Use basic_block_info_for_function instead of
5963 basic_block_info.
5964
3f8257db 59652007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5966
5967 * lto-read.c (input_sleb128, input_integer): Use proper casts.
5968 (input_list): Renamed input_tree_list and modified to follow same
5969 protocol as lto-function-out.c:output_tree_list.
5970 (input_expr_operand): Make asm operands use input_tree_list.
5971 (input_local_var): Now uses input_tree_list.
5972 (lto_read_body): Change placement for setting context of debug_labels.
ab20d992 5973
3f8257db 59742007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5975
5976 * lto-read.c (input_real): Output debugging in proper order.
5977 (input_integer): Compute bit lengths properly.
5978 (input_list): Clean up declaration.
5979 (input_expr_operand): Change calls to input_real to match fix.
5980 Make reading of LTO_bit_field_ref1 match output.
5981 (input_local_var): Make reading of attributes match what is being
5982 written.
5983 (dump_debug_stream): Also print char in hex.
5984 (debug_out_fun): Fix signed unsigned mismatch.
ab20d992 5985
d7f09764
DN
59862007-10-10 Nathan Froyd <froydnj@codesourcery.com>
5987
5988 * lto.c (lto_read_form): Handle DW_AT_MIPS_linkage_name and
5989 DW_AT_GNU_vector specially, as they are not contiguous with the
5990 specified set of attribute names. Use class_mask to check for
5991 errors at the end of the function
5992 (lto_resolve_var_ref): Read the DIE if it is not cached.
5993 (lto_resolve_fn_ref): Likewise.
5994 (lto_resolve_field_ref): Likewise.
5995
59962007-10-05 Nathan Froyd <froydnj@codesourcery.com>
5997
5998 * lto.c: Include dwarf2out.h.
5999 (lto_cache_store_DIE): Assert that we never change the value.
6000 (LTO_BEGIN_READ_ATTRS): Print an informative error message.
6001 (lto_read_compile_unit_DIE): Handle DW_AT_entry_pc.
6002 (lto_read_array_type_DIE): Don't error on ndims == 0; build a
6003 sensible type instead.
6004 (lto_read_structure_union_class_type_DIE): Store the newly
6005 created type prior to reading the members of the structure to
6006 avoid infinite recursion. Avoid computing types and alignments
6007 for structures whose sizes are unknown.
6008 (lto_read_variable_formal_parameter_const): Handle DW_AT_artificial
6009 and set DECL_ARTIFICIAL accordingly. Ignore DW_AT_abstract_origin,
6010 DW_AT_const_value, and DW_AT_specification.
6011 (lto_read_subroutine_type_subprogram_DIE): Handle DW_AT_declaration.
6012 Return early if we have already constructed the function type.
6013 (lto_read_typedef_DIE): Check to see if the type has been cached
6014 already. Cache the type before reading any children.
6015 (lto_read_const_volatile_restrict_type_DIE): Handle DW_AT_name.
6016 (lto_read_DIE): Unset context->skip_non_parameters around reading
6017 the DIE.
6018 (lto_resolve_fn_ref): Delete trailing whitespace.
6019
3f8257db 60202007-09-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6021
6022 * lto-read.c (input_expr_operand): Added type for STRING_CST.
ab20d992 6023
d7f09764
DN
60242007-09-10 Nathan Froyd <froydnj@codesourcery.com>
6025
6026 * lto-read.c (lto_read): Set the type of the newly created CALL_EXPR.
6027
60282007-09-07 Nathan Froyd <froydnj@codesourcery.com>
6029
6030 * lto-lang.c (signed_and_unsigned_types): New variable.
6031 (lto_type_for_size): Consult signed_and_unsigned_types to find
6032 an approprite type, creating it if necessary.
6033 (lto_set_decl_assembler_name): Add actual method body.
6034
60352007-09-06 Jim Blandy <jimb@codesourcery.com>
6036
6037 * lto.c (lto_read_variable_formal_parameter_constant_DIE): If we
6038 can't find a var init for this variable, leave its DECL_INITIAL.
6039 * lto-elf.c (lto_elf_map_optional_lto_section): Renamed from
6040 lto_elf_map_fn_body.
6041 (lto_map_lto_section): New function.
6042 (lto_elf_file_vtable): Use lto_elf_map_lto_section for function
6043 bodies, and lto_elf_map_optional_lto_section for variable
6044 initializers.
6045 (lto_elf_find_section_data): Quietly return NULL if the section is
6046 missing.
6047 (lto_elf_file_open): Check for a NULL from lto_elf_find_section_data.
6048
6049 * lto-elf.c (lto_elf_find_section_data): Remove dead code.
6050
6051 * lto-read.c (lto_read_body): Doc fix.
6052
3f8257db 60532007-08-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6054
6055 * lto-read.c (fun_in): Renamed to data_in.
6056 (input_expr_operand, input_local_var, input_string_internal,
ab20d992 6057 input_string, input_real, input_list, get_label_decl,
d7f09764 6058 get_type_ref, input_expr_operand, input_globals, input_labels,
ab20d992 6059 input_local_vars_index, input_local_var, input_local_vars,
d7f09764
DN
6060 input_cfg, input_phi, input_ssa_names, input_bb, ): Renamed fun_in to data_in.
6061 (input_constructor): New function.
6062 (lto_read_function_body): Renamed to lto_read_body and generalized
6063 to handle both functions and constructors.
6064 (lto_read_function_body, lto_read_var_init): New function.
ab20d992 6065
3f8257db 60662007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6067
6068 * lto-read.c (input_expr_operand): Assert that there really is a
6069 FUNCTION_DECL.
6070 (input_globals): Removed checks on 0 section.
ab20d992 6071
3f8257db 60722007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6073
6074 * lto-read.c (fun_in): Added local_decls_index and
ab20d992 6075 local_decls_index_d.
d7f09764
DN
6076 (input_expr_operand): Changed inputting of PARM_DECLs and VAR_DECLs.
6077 (input_globals): Enabled code to handle FIELD_DECLs.
6078 (input_local_vars_index, input_local_vars): New function.
6079 (input_local_var): Changed to allow locals to be input randomly.
6080 (lto_read_function_body): Added code to input the
6081 local_decls_index and to free various structures.
ab20d992 6082
d7f09764
DN
60832007-08-17 Jim Blandy <jimb@codesourcery.com>
6084
6085 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Remove
6086 ATTRIBUTE_UNUSED from 'die' formal.
6087
6088 Use enum LTO_tags where appropriate, instead of 'unsigned int'.
6089 * lto-read.c (input_record_start): Fix return type, type of 'tag'.
6090 (input_list): Fix type of 'tag'.
6091 (input_expr_operand): Fix type of 'tag' argument. Update
6092 declaration. Fix type of 'ctag'. Add default case to switch,
6093 since the type of the switched value is now an enum.
6094 (input_local_vars): Fix type of 'tag'.
6095 (input_bb): Fix type of 'tag' argument.
6096 (input_function): Fix type of 'tag' argument.
6097
60982007-08-16 Jim Blandy <jimb@codesourcery.com>
6099
6100 * lto.c (lto_read_member_DIE): Record the tree we create in
6101 fd->die_cache. (Our 'die' argument is no longer unused.)
6102 (lto_resolve_field_ref): New function.
6103 * lto.h (lto_resolve_field_ref): New declaration.
6104
61052007-08-15 Jim Blandy <jimb@codesourcery.com>
6106
6107 * lto-read.c (lto_read_var_init): Mark arguments as unused.
6108
61092007-08-07 Jim Blandy <jimb@codesourcery.com>
6110
6111 * lto.c (lto_read_form): Complete attr_classes table.
6112 (DWARF2_form_data): Doc fix.
ab20d992 6113
d7f09764
DN
61142007-08-05 Mark Mitchell <mark@codesourcery.com>
6115
6116 * lto.h (lto_file_vtable): Remove read_var_init. Add map_var_init
6117 and unmap_var_init.
6118 (lto_read_var_init): Declare.
6119 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Use new
6120 interface for reading variable initializers.
6121 * lto-elf.c (lto_elf_read_var_init): Remove.
6122 (lto_elf_file_vtable): Update initializer.
6123 (lto_elf_read_var_init): Add comment about unused-ness.
6124 * lto-read.c (lto_read_var_init): New.
6125
6126 * lto.c (lto_read_form): Add entry for DW_AT_inline.
6127
3f8257db 61282007-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6129
6130 * lto-read.c (lto_read_function_body): Moved declaration of fn
6131 outside of ifdef.
ab20d992 6132
3f8257db 61332007-08-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6134
6135 * lto-read.c (input_uleb128, input_string_internal, input_real,
6136 input_integer, input_record_start, input_list, get_type_ref,
6137 input_flags, input_expr_operand, input_expr_operand,
6138 input_expr_operand, input_local_vars, input_cfg, input_phi,
6139 input_ssa_names, input_bb, input_function): Added semicolons.
6140
ab20d992 6141
3f8257db 61422007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6143
6144 * lto-read.c (input_globals): Remove debugging.
6145 (input_function): Set DECL_ARGUMENTS.
6146
3f8257db 61472007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6148
6149 * lto-read.c (input_expr_operand): Fixed code for COND_EXEC,
6150 RETURN_EXPR, MODIFY_EXPR and processing of flags.
6151 (input_phi): Made work with operands other than SSA_NAMES and
6152 fixed processing of flags.
6153 (input_ssa_names): Initialize SSA_NAME_DEF_STMT to empty stmt.
6154 (input_flags): New function.
6155 * lto-lang.c (lto_init): Changed state of in_lto_p.
ab20d992
JJ
6156
6157
d7f09764
DN
61582007-07-24 Mark Mitchell <mark@codesourcery.com>
6159
6160 * lto-tree.h (lto_varargs_cookie): Remove.
6161 * lto.c (lto_context): Add last_parm_type, varargs_p, skip_all,
6162 skip_non_parameters, skip_parameters.
6163 (lto_varargs_cookie): Remove.
6164 (lto_read_variable_formal_parameter_constant_DIE): Keep track of
6165 parameter types.
6166 (lto_read_abbrev): New function.
6167 (lto_read_subroutine_type_subprogram_DIE): Make two passes over
6168 child DIEs.
6169 (lto_read_unspecified_parameters_DIE): Set context->varargs_p.
6170 (lto_read_DIE): Use lto_read_abbrev. Honor skip_* flags.
6171 (lto_file_read): Initialize new context fields.
6172 * lto-lang.c (lto_type_for_mode): Return NULL_TREE.
6173 (lto_unsigned_type): Remove.
6174 (lto_signed_type): Likewise.
6175 (lto_signed_or_unsigned_type): Likewise.
6176 (lto_init): Do not create lto_varargs_cookie.
6177 (LANG_HOOKS_UNSIGNED_TYPE): Do not define.
6178 (LANG_HOOKS_SIGNED_TYPE): Likewise.
6179 (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Likewise.
6180
61812007-07-19 Jan Hubicka <jh@suse.cz>
6182
6183 * lto-read.c (lto_read_function_body): Produce empty scope block
6184 to avoid crash.
6185
61862007-07-18 Mark Mitchell <mark@codesourcery.com>
6187
6188 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Do not
6189 process local variables.
6190 (lto_read_subroutine_type_subprogram_DIE): Read child DIEs.
6191
3f8257db 61922007-07-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6193
6194 * lto-read.c (input_list, input_expr_operand): Added struct
6195 function parameter.
6196 (init_cfg, finalize_cfg): Removed function.
6197 (input_expr_operand): Added SSA_NAME and GIMPLE_MODIFY_STMT cases.
6198 (input_labels, input_local_vars): Now takes input_block parameter rather than
6199 synthsyzing it.
6200 (input_cfg, input_phi, input_ssa_names): New functions.
6201 (input_bb): Now passes in input_blocks. Does not construct cfg
6202 and processes the list of phi functions.
6203 (input_function): Now builds both the cfg and ssa_names table.
6204 (lto_read_function_body): Processes new header fields to construct
6205 streams for the ssa_names and cfg and their debugging.
ab20d992
JJ
6206 * lto-lang.c (lto_init): Set in_lto_p.
6207
6208
d7f09764
DN
62092007-06-28 Mark Mitchell <mark@codesourcery.com>
6210
6211 * lto.h (lto_file_vtable): Add read_var_init.
6212 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Read
6213 initializers.
6214 (lto_main): Remove bogus asserts.
6215 * lto-elf.c (tm.h): Include it.
6216 (libiberty.y): Likewise.
6217 (lto_elf_file): Add strtab and symtab. Rename
6218 string_table_section_index to sec_strtab.
6219 (lto_elf_file_vtable): Add lto_elf_read_var_init.
6220 (lto_elf_get_shdr): New function.
6221 (lto_elf_free_shdr): Likewise.
6222 (lto_elf_find_section_data): Use them.
6223 (lto_elf_read_symtab): New function.
6224 (lto_elf_lookup_sym): Likewise.
6225 (lto_elf_free_sym): Likewise.
6226 (lto_elf_file_open): Tidy. Call lto_elf_read_symtab.
6227 (lto_elf_built_init): New function.
6228 (lto_elf_read_var_init): Likewise.
6229 * Make-lang.in (lto/lto-elf.o): Depend on $(TM_H).
6230
3f8257db 62312007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
6232
6233 * lto-read (make_new_block): Initialize the stmt_list.
6234 (lto_static_init_local): Add debugging for missing codes.
ab20d992 6235
d7f09764
DN
62362007-06-26 Mark Mitchell <mark@codesourcery.com>
6237
6238 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
ab20d992 6239 unprototyped functions.
d7f09764
DN
6240
62412007-06-23 Mark Mitchell <mark@codesourcery.com>
6242
6243 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
6244 Handle DW_AT_MIPS_linkage_name.
6245 (lto_read_subroutine_type_subprogram): Likewise. Correct
6246 compilation errors.
6247 (lto_main): Remove incorrect assertions.
6248 * lto-symbtab.c: Build function types out of TREE_LISTs.
6249
6250 * lto-elf.c (<libelf>): Check for HAVE_LIBELF_H.
ab20d992 6251
d7f09764 6252 * Make-lang.in (LTO_OBJS): Depend on attribs.o.
ab20d992 6253
3f8257db 62542007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764 6255
ab20d992 6256 * lto-tree.h (lang_decl, lang_type, language_function): Added
d7f09764 6257 dummy since ggc does not like empty structs.
ab20d992
JJ
6258 * lto-elf.c (libelf.h): Changed to libelf/libelf.h.
6259 * lto-read.c (ADD_CLASS_FLAG, ADD_EXPR_FLAG): Changed
d7f09764
DN
6260 expr->common to expr->base.
6261 (make_new_block): Moved stmt_list to proper place.
6262
ab20d992 62632007-03-14 Robert Kennedy <jimbob@google.com>
d7f09764
DN
6264
6265 Eliminate use of lang_hooks.set_decl_assembler_name from LTO
6266 * lto.c (lto_read_subroutine_type_subprogram_DIE) Get DECL
6267 assembler name from DWARF.
6268 * lto-lang.c (lto_set_decl_assembler_name) New function.
6269
62702006-09-10 Mark Mitchell <mark@codesourcery.com>
6271
6272 * lto.h (lto_file_vtable): New structure.
6273 (lto_file): Add vtable pointer.
6274 (lto_file_init): Add vtable paramter.
6275 (lto_read_function_body): New function.
6276 (lto_symtab_merge_fn): New function.
6277 * lto.c (lto_file_init): Add vtable parameter.
6278 (lto_read_form): Fill in entries for DW_AT_prototyped,
6279 DW_AT_frame_base.
6280 (lto_read_subroutine_type_subprogram_DIE): New function.
6281 (lto_read_DIE): Fill in entries for DW_TAG_subroutine_type and
6282 DW_TAG_subprogram.
6283 * lto-elf.c (lto_elf_vile_vtable): New variable.
6284 (lto_elf_file_open): Pass it to lto_file_init.
6285 (lto_elf_map_fn_body): New function.
6286 (lto_elf_unmap_fn_body): Likewise.
6287 * lto-read.c: New file.
6288 * lto-symtab.c (lto_symtab_merge_fn): New function.
6289 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define to
6290 tree_rest_of_compilation.
6291 * Make-lang.in (LTO_OBJS): Add lto-read.o
6292 (lto-read.o): New target.
6293
62942006-09-03 Mark Mitchell <mark@codesourcery.com>
6295
6296 * lto.c (<inttypes.h>): Don't include it.
6297 (lto_context): Don't typedef it.
6298 (lto_resolve_reference): New function.
6299 (lto_read_form): Use it.
6300 (lto_resolve_type_ref): New function.
6301 (lto_resolve_var_ref): Likewise.
6302 (lto_resolve_fn_ref): Likewise.
6303 * lto.h (<inttypes.h>): Include it.
6304 (lto_context): New type.
6305 (lto_ref): New structure.
6306 (lto_resolve_type_ref): Declare.
6307 (lto_resolve_var_ref): Likewise.
6308 (lto_resolve_fn_ref): Likewise.
6309
63102006-08-18 Mark Mitchell <mark@codesourcery.com>
6311
6312 * lang-specs.h: New file.
6313
63142006-08-14 Mark Mitchell <mark@codesourcery.com>
6315
6316 * lto.c (lto_info_fd_init): Allocate the DIE cache.
6317 (lto_info_fd_close): Deallocate it.
6318 (lto_die_cache_entry): New structure.
6319 (lto_cache_hash): New function.
6320 (lto_cache_eq): Likewise.
6321 (lto_cache_store_DIE): Likewise.
6322 (lto_cache_lookup_DIE): Likewise.
6323 (lto_read_referenced_type_DIE): Use the cache.
6324 (lto_read_pointer_type_DIE): Robustify.
6325 (lto_read_DIE): Use the cache.
6326 * lto.h (hashtab.h): Include.
6327 (lto_info_fd): Add DIE cache.
6328 * Make-lang.in (LTO_H): New variable.
6329 (lto/lto-lang.o): Use LTO_H.
6330 (lto/lto-elf.o): Likewise.
6331 (lto/lto-symtab.o): Likewise.
6332
63332006-07-09 Mark Mitchell <mark@codesourcery.com>
6334
6335 * lto.c (lto_abi_mismatch_error): New function.
6336 (lto_abbrev_read): Initialize num_abbrevs.
6337 (lto_read_form): Specify allowed form classes for
6338 DW_AT_declaration. Adjust for change to lto_set_cu_context.
6339 (lto_read_variable_formal_parameter_constant_DIE): Handle
6340 DW_AT_declaration. Call lto_symtab_merge_var.
6341 (lto_read_pointer_type_DIE): New function.
6342 (lto_read_base_type_DIE): Use build_nonstandard_integer_type. Do
6343 not creat TYPE_DECLs for types that already have them.
6344 (lto_read_DIE): Add lto_read_pointer_type_DIE.
6345 (lto_set_cu_context): Make cu_start point to the header, not the
6346 first DIE.
6347 (lto_file_read): Adjust for change to lto_set_cu_context.
6348 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
6349 (lto/lto-symtab.o): New rule.
6350 * lto-tree.h (lang_identifier): Add decl field.
6351 (LANG_IDENTIFIER_CAST): New macro.
6352 (LTO_IDENTIFIER_DECL): Likewise.
6353 (lto_symtab_merge_var): Declare.
6354 * lto-symtab.c: New file.
6355
63562006-07-02 Daniel Berlin <dberlin@dberlin.org>
6357
6358 * lto.c (lto_context): Add current_cu and info_fd members.
6359 (DWARF2_CompUnit): New structure.
6360 (lto_read_DIE): Take lto_info_fd *.
6361 (lto_read_child_DIEs): Ditto.
6362 (lto_file_corrupt_error): Constify argument.
6363 (lto_set_cu_context): New function
6364 (lto_info_fd_init): Ditto.
6365 (lto_info_fd_close): Ditto.
6366 (lto_file_init): Use lto_info_fd_init.
6367 (lto_file_close): Use lto_info_fd_close.
6368 (lto_read_initial_length): Pass in pointer to header size.
6369 (lto_read_comp_unit_header): Correct cu_length to
6370 real length from beginning of header. Take lto_info_fd * as
6371 argument.
6372 (find_cu_for_offset): New function.
6373 (lto_read_form): Change first argument to lto_info_fd *.
6374 Add FORM_CONTEXT argument.
6375 Handle DW_FORM_ref_addr.
ab20d992 6376 (lto_read_tag_DIE): Change first argument to lto_info_fd *.
d7f09764
DN
6377 (LTO_BEGIN_READ_ATTRS_UNCHECKED): Save old context.
6378 Swap contexts if necessary for form.
6379 (LTO_BEGIN_READ_ATTRS): Cast fd to right type for
6380 lto_file_corrupt_error.
6381 (LTO_END_READ_ATTRS): Swap contexts back if it had changed.
6382 (lto_read_referenced_type_DIE): Change first argument to
6383 lto_info_fd *. Access lto_fd fields through base pointer.
6384 (lto_read_compile_unit_DIE): Change first argument to an
6385 lto_info_fd *.
6386 (lto_read_variable_formal_parameter_constant_DIE): Ditto.
6387 (lto_read_base_type_DIE): Ditto.
6388 (lto_read_child_DIEs): Ditto.
6389 (lto_read_DIE): Ditto. Change type of function pointer.
6390 (lto_info_read): New function.
6391 (lto_set_cu_context): Ditto.
6392 (lto_file_read): Use lto_info_read, walk resulting CU's
6393 (lto_main): Update for lto_info_fd change.
6394 * lto-elf.c (lto_elf_file_open): Cast lto_info_fd to lto_fd where
6395 necessary.
6396 * lto.h (DWARF2_CompUnit): New structure.
6397 (lto_info_fd): Ditto.
6398 (lto_file): Change debug_info to be an lto_info_fd.
ab20d992 6399
d7f09764
DN
64002006-06-25 Mark Mitchell <mark@codesourcery.com>
6401
6402 * lto.c (toplev.h): Include it.
6403 (dwarf2.h): Likewise.
6404 (tree.h): Likewise.
6405 (tm.h): Likewise.
6406 (cgraph.h): Likewise.
6407 (ggc.h): Likewise.
6408 (inttypes.h): Likewise.
6409 (DWARF2_attr): New type.
6410 (DWARF2_abbrev): Likewise.
6411 (DWARF2_class): Likewise.
6412 (DWARF2_form_data): Likewise.
6413 (lto_context): Likewise.
6414 (lto_fd_init): New function.
6415 (lto_abbrev_fd_init): Likewise.
6416 (lto_abbrev_fd_close): Likewise.
6417 (lto_file_init): Use them.
6418 (lto_file_close): New function.
6419 (lto_file_corrupt_error): Likewise.
6420 (LTO_CHECK_INT_VAL): New macro.
6421 (lto_check_size_t_val): New function.
6422 (lto_check_int_val): Likewise.
6423 (LTO_READ_TYPE): New macro.
6424 (lto_read_ubyte): New function.
6425 (lto_read_uhalf): Likewise.
6426 (lto_read_uword): Likewise.
6427 (lto_read_uleb128): Likewise.
6428 (lto_read_initial_length): Likewise.
6429 (lto_abbrev_read_attrs): Likewise.
6430 (lto_abbrev_read): Likewise.
6431 (lto_abbrev_lookup): Likewise.
6432 (lto_read_section_offset): Likewise.
6433 (lto_read_comp_unit_header): Likewise.
6434 (lto_read_form): Likewise.
6435 (LTO_BEGIN_READ_ATTRS_UNCHECKED): New macro.
6436 (LTO_BEGIN_READ_ATTRS): Likewise.
6437 (LTO_END_READ_ATTRS): Likewise.
6438 (lto_unsupported_attr_error): New function.
6439 (lto_get_identifier): Likewise.
6440 (lto_read_referenced_type_DIE): Likewise.
6441 (lto_read_compile_unit_DIE): Likewise.
6442 (lto_read_variable_formal_parameter_constant_DIE): Likewise.
6443 (lto_read_base_type_DIE): Likewise.
6444 (lto_read_DIE): Likewise.
6445 (lto_read_child_DIEs): Likewise.
6446 (lto_file_read): Read DIEs.
6447 (lto_main): Ask middle end to emit entities.
6448 * lto-tree.h (lang_identifier): Inherit from tree_identifier.
6449 * lto-elf.c (lto_elf_file_open): Adjust for interface changes.
6450 (lto_elf_file_close): Likewise.
6451 * lto.h (lto_file): Declare.
6452 (DWARF2_abbrev): Likewise.
6453 (lto_fd): New type.
6454 (lto_abbrev_fd): Likewise.
6455 (lto_file): Use new types.
6456 (lto_file_close): Declare.
6457 * lto-lang.c (lto_init): Always use unit-at-a-time mode.
ab20d992 6458
d7f09764
DN
64592006-06-18 Mark Mitchell <mark@codesourcery.com>
6460
6461 * lto.h: New file.
6462 * lto.c: New file.
6463 * lto-elf.c: New file.
6464 * lto-lang.c (flags.h): Include it.
6465 (lto.h): Likewise.
6466 (lto_init): New function.
6467 (lto_write_globals): Remove.
ab20d992 6468 (LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing.
d7f09764
DN
6469 (LANG_HOOKS_INIT): Define.
6470 (LANG_HOOKS_PARSE_FILE): Likewise.
6471 * Make-lang.in (LTO_OBJS): Add lto.o and lto-elf.o.
6472 (LTO_EXE): Link with libelf.
6473 (lto/lto-lang.o): Update dependencies.
6474 (lto/lto.o): New target.
6475 (lto/lto-elf.o): Likewise.
6476
64772006-06-12 Mark Mitchell <mark@codesourcery.com>
6478
6479 * config-lang.in: New file.
6480 * Make-lang.in: Likewise.
6481 * lto-tree.h: Likewise.
6482 * lto-lang.c: Likewise.
818ab71a 6483\f
c48514be 6484Copyright (C) 2006-2021 Free Software Foundation, Inc.
d7f09764 6485
818ab71a
JJ
6486Copying and distribution of this file, with or without modification,
6487are permitted in any medium without royalty provided the copyright
6488notice and this notice are preserved.
This page took 6.044799 seconds and 5 git commands to generate.