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