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