]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/lto/ChangeLog
PR c++/81187 fix -Wnoexcept-type entry in manual
[thirdparty/gcc.git] / gcc / lto / ChangeLog
CommitLineData
d1eed638
JH
12017-06-15 Jan Hubicka <hubicka@ucw.cz>
2 Thomas Preud'homme <thomas.preudhomme@arm.com>
3
4 PR lto/69866
5 * lto-symtab.c (lto_symtab_merge_symbols): Drop useless definitions
6 that resolved externally.
7
d2db2e6b
JH
82017-05-23 Jan Hubicka <hubicka@ucw.cz>
9
10 * lto.c (do_whole_program_analysis): Replace inline_free_summary
11 by ipa_free_fn_summary.
12
464d0118
ML
132017-05-23 Martin Liska <mliska@suse.cz>
14
15 * lto-symtab.c (lto_cgraph_replace_node): Use
16 symtab_node::dump_{asm_,}name functions.
17 * lto.c (read_cgraph_and_symbols): Likewise.
18 (do_whole_program_analysis): Likewise.
19
6c52831d
ML
202017-05-23 Martin Liska <mliska@suse.cz>
21
22 * lto.c (read_cgraph_and_symbols): Use the renamed function.
23 (do_whole_program_analysis): Use the renamed function.
24
27d020cf
JH
252017-05-22 Jan Hubicka <hubicka@ucw.cz>
26
27 * lto.c: Replace ipa-inline.h by ipa-fnsummary.h
28 * lto-partition.c: Replace ipa-inline.h by ipa-fnsummary.h
29
815d9cc6
XR
302017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
31
32 PR c++/80038
33 * lto-lang.c (lto_init): Set in_lto_p earlier.
34
350792ff
RB
352017-04-12 Richard Biener <rguenther@suse.de>
36 Bernd Edlinger <bernd.edlinger@hotmail.de>
37
38 PR middle-end/79671
39 * lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE.
40
4a44a5f3
ML
412017-02-14 Martin Liska <mliska@suse.cz>
42
43 * lto.c (do_stream_out): Free LTO file filename string.
44
8a3a6ab4
DM
452017-01-19 David Malcolm <dmalcolm@redhat.com>
46
47 * lto-lang.c (builtin_type_for_size): Convert call to
48 lto_type_for_size to one through the langhook.
49 (lto_type_for_size): Move to langhooks.c and rename to
50 lhd_type_for_size.
51 (LANG_HOOKS_TYPE_FOR_SIZE): Don't redefine.
52
4c4b4703
JJ
532017-01-11 Jakub Jelinek <jakub@redhat.com>
54
55 PR middle-end/50199
56 * lto-lang.c (lto_post_options): Force flag_merge_constants = 1
57 if it was 0.
58
bd2c6270
JJ
592017-01-09 Jakub Jelinek <jakub@redhat.com>
60
61 PR translation/79019
62 PR translation/79020
63 * lto-symtab.c (lto_symtab_merge_symbols): Fix comment typo.
64
24d3f325
NS
652017-01-06 Nathan Sidwell <nathan@acm.org>
66
5406184c
NS
67 * lto-partition.c (promote_symbol): Write to dump file sooner,
68 include alias promoting too.
69
24d3f325
NS
70 * lto-partition.c (lto_balanced_map): Reformat/respell comment.
71 (may_need_named_section_p): Likewise.
72 (rename_statics): Likewise.
73 (lto_promote_cross_file_statics): Likewise.
74
cbe34bb5
JJ
752017-01-01 Jakub Jelinek <jakub@redhat.com>
76
77 Update copyright years.
78
6c8bf066
GJL
792016-11-30 Georg-Johann Lay <avr@gjlay.de>
80
81 PR lto/78562
82 * lto-symtab.c (lto_symtab_merge_decls_2): Don't diagnose type
83 mismatch if the two types are built-in.
84
7fa6a965
PK
852016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
86
87 * lto-lang.c (lto_init): Remove initialization of ptrdiff_type_node.
88
efb71232
RB
892016-11-23 Richard Biener <rguenther@suse.de>
90
91 PR lto/78472
92 * lto.c (hash_canonical_type): Ignore zero-sized fields.
93
48330c93
BE
942016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
95
96 PR c++/71973
97 * lto-lang.c (lto_init): Assert const_tm_ptr_type_node is sane.
98
899ca90e 992016-11-18 Richard Sandiford <richard.sandiford@arm.com>
48330c93
BE
100 Alan Hayward <alan.hayward@arm.com>
101 David Sherwood <david.sherwood@arm.com>
899ca90e
RS
102
103 * lto.c (offload_handle_link_vars): Use SET_DECL_MODE.
104
65179585
RB
1052016-10-31 Richard Biener <rguenther@suse.de>
106
107 PR lto/78129
108 * lto.c (do_whole_program_analysis): Bail out after errors
109 from WPA analysis.
110
8bc5448f
KV
1112016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
112
113 * lto-partition.c: Include tree-vrp.h.
114 * lto.c: Likewise.
115
68317985
RB
1162016-09-20 Richard Biener <rguenther@suse.de>
117
118 * lto.c (lto_main): Call early_finish with "<artificial>" as
119 filename.
120
321e76fb
RB
1212016-09-19 Richard Biener <rguenther@suse.de>
122
123 * lto.c (lto_main): Invoke early_finish debug hook.
124
ea6e17d5
RB
1252016-07-25 Richard Biener <rguenther@suse.de>
126
127 * lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
128 (unify_scc): Likewise.
129 (lto_read_decls): Likewise.
130
e9ac1f86
JJ
1312016-06-28 Jakub Jelinek <jakub@redhat.com>
132
133 * Make-lang.in: Don't cat ../stage_current if it does not exist.
134
277d7ee0
AK
1352016-06-23 Andi Kleen <ak@linux.intel.com>
136
137 * Make-lang.in: Add support for autofdo (disabled for now)
138
4d926e34
MS
1392016-06-10 Martin Sebor <msebor@redhat.com>
140
141 PR c/71392
142 * gcc/lto/lto-lang.c (handle_nonnull_attribute): Accept the nonnull
143 attribute in type-generic builtins.
144
479f99c9
JH
1452016-05-16 Jan Hubicka <hubicka@ucw.cz>
146
147 * lto-partition.c (add_symbol_to_partition_1): Likewise.
148
1a0bf5e1
JH
1492016-05-03 Jan Hubicka <hubicka@ucw.cz>
150
151 * lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed.
152
a2e76867
PK
1532016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
154
155 * lto-partition.h (lto_balanced_map): New parameter.
156 * lto-partition.c (lto_balanced_map): New parameter
157 max_partition_size.
158 Check if partition size is greater than max_partition_size.
159 * lto.c (do_whole_program_analysis): Adjust calls to
160 lto_balanced_map() to pass 2nd argument.
161
ea913779
L
1622016-03-17 H.J. Lu <hongjiu.lu@intel.com>
163
164 PR lto/70258
165 * lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
166 PIE.
167
56aae4b7
JJ
1682016-03-08 Jakub Jelinek <jakub@redhat.com>
169
170 * lto-symtab.h (lto_symtab_prevail_decl): Fix spelling
171 - becuase -> because.
172
ed5d948d
TV
1732016-02-15 Tom de Vries <tom@codesourcery.com>
174
175 PR lto/69655
176 * lto.c (read_cgraph_and_symbols): Call input_offload_tables with
177 argument.
178
4ecbadc7
ML
1792016-01-27 Martin Liska <mliska@suse.cz>
180
181 * lto-partition.c (add_symbol_to_partition_1): Remove usage
182 of hsa_summaries.
183
e49d321f
JH
1842016-01-19 Jan Hubicka <hubicka@ucw.cz>
185
186 PR lto/69136
187 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
188 decls have no assemblernames.
189
b2b40051
MJ
1902016-01-19 Martin Liska <mliska@suse.cz>
191 Martin Jambor <mjambor@suse.cz>
192
193 * lto-partition.c: Include "hsa.h"
194 (add_symbol_to_partition_1): Put hsa implementations into the
195 same partition as host implementations.
196
5803bd01
JH
1972016-01-12 Jan Hubicka <hubicka@ucw.cz>
198
199 PR lto/69003
200 * lto-partition.c (rename_statics): Fix pasto.
201
13092f61
RB
2022016-01-18 Richard Biener <rguenther@suse.de>
203
204 PR lto/69337
205 * lto-symtab.c (lto_symtab_merge): Return early for mismatched
206 function vs. variable.
207
3c4e91c9
RB
2082016-01-12 Richard Biener <rguenther@suse.de>
209
210 PR lto/69077
211 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
212 merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
213
818ab71a
JJ
2142016-01-04 Jakub Jelinek <jakub@redhat.com>
215
216 Update copyright years.
217
3fddb2ef
JH
2182015-12-10 Jan Hubicka <hubicka@ucw.cz>
219
220 PR lto/68878
221 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
222 * lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
223 (lto_symtab_prevailing_decl): Use it.
224
4a38b02b
IV
2252015-12-15 Ilya Verbin <ilya.verbin@intel.com>
226
227 * lto.c: Include stringpool.h and fold-const.h.
228 (offload_handle_link_vars): New static function.
229 (lto_main): Call offload_handle_link_vars.
230
ca834876
JH
2312015-12-10 Jan Hubicka <hubicka@ucw.cz>
232
233 * lto.c (lto_read_in_decl_state): Unpickle compressed bit.
234
958a627f
JH
2352015-12-11 Jan Hubicka <hubicka@ucw.cz>
236
237 PR ipa/61886
238 * lto-symtab.c (lto_symtab_merge_p): Avoid merging across different
239 values of error and warning attributes.
240
da20571a
JH
2412015-12-08 Jan Hubicka <hubicka@ucw.cz>
242
243 PR lto/68811
244 * lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
245 DECL.
246 (LTO_NO_PREVAIL): Use gcc_checking_assert.
247
378004b9
JH
2482015-12-08 Jan Hubicka <hubicka@ucw.cz>
249
250 PR lto/68811
251 * lto-symtab.c (lto_symtab_merge_decls_2): Decl can never be prevailed
252 by itself.
253
6b9ac179
JH
2542015-12-08 Jan Hubicka <hubicka@ucw.cz>
255
256 PR ipa/61886
257 * lto-symtab.c: Include lto-symtab.h.
258 (lto_cgraph_replace_node): Do not merge profiles here.
259 (lto_symtab_merge_p): New function.
260 (lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
261 (lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
262 aliases.
263 (lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
264 (lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
265 * lto.c: Include lto-symtab.h
266 * lto-symtab.h: New.
267
41c60c6c
JH
2682015-12-08 Jan Hubicka <hubicka@ucw.cz>
269
270 PR ipa/61886
271 * lto-partition.c (add_symbol_to_partition_1): Transparent aliases
272 are not part of the definition.
273 (contained_in_symbol): Likewise.
274 (promote_symbol): When promoting a symbol also promote all transparent
275 aliases.
276 (rename_statics): Weakref needs unique name, too.
277
71e54687
JH
2782015-12-07 Jan Hubicka <hubicka@ucw.cz>
279
280 PR ipa/61886
281 * lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
282 rename_statics, rename_statics): Handle transparent aliases.
283
88636b62
JH
2842015-12-04 Jan Hubicka <hubicka@ucw.cz>
285
286 * lto-symtab.c (lto_cgraph_replace_node): Update code computing
287 merged_comdat.
288
8c86248e
JH
2892015-12-01 Jan Hubicka <hubicka@ucw.cz>
290
291 * lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET.
292
1ff9ed6f
JH
2932015-11-25 Jan Hubicka <jh@suse.cz>
294
295 * lto-lang.c (lto_post_options): Process flag_lto_linker_output.
296 * lang.opt (lto_linker_output): New enum.
297 (flinker_output): New flag.
298
22bea0be
JH
2992015-11-24 Jan Hubicka <hubicka@ucw.cz>
300
301 * lto-symtab.c: Include alias.h
302 (warn_type_compatibility_p): Replace types_compatible_p checks by
303 TBAA and size checks; set bit 2 if locations are TBAA incompatible.
304 (lto_symtab_merge): Compare DECL sizes.
305 (lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
306
aea50b45
JH
3072015-11-24 Jan Hubicka <hubicka@ucw.cz>
308
309 * lto.c (iterative_hash_canonical_type): Recruse for all types
310 which pass !canonical_type_used_p.
311 (gimple_register_canonical_type_1): Sanity check we do not compute
312 canonical type of anything with !canonical_type_used_p.
313 (gimple_register_canonical_type): Skip all types that are
314 !canonical_type_used_p
315
deb3dae6
JH
3162015-11-24 Jan Hubicka <hubicka@ucw.cz>
317
318 * lto.c (unify_scc): Use free_node.
319
f85d2487
JH
3202015-11-21 Jan Hubicka <hubicka@ucw.cz>
321
322 * lto.c (iterative_hash_canonical_type): Always recurse for pointers.
323 (gimple_register_canonical_type_1): Check that pointers do not get
324 canonical types.
325 (gimple_register_canonical_type): Do not register pointers.
326
3272015-11-21 Jan Hubicka <hubicka@ucw.cz>
feb391fc
JH
328
329 * lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
330 flag for types that are not ODR; fix loop walking parameters.
331
69f293c9
AM
3322015-11-11 Andrew MacLeod <amacleod@redhat.com>
333
334 * lto-lang.c: Remove unused header files.
335 * lto-object.c: Likewise.
336 * lto-partition.c: Likewise.
337 * lto-symtab.c: Likewise.
338 * lto.c: Likewise.
339
ee45a32d
EB
3402015-11-08 Eric Botcazou <ebotcazou@adacore.com>
341
342 * lto.c (compare_tree_sccs_1): Deal with TYPE_REVERSE_STORAGE_ORDER.
343
0aad0198
RS
3442015-11-07 Richard Sandiford <richard.sandiford@arm.com>
345
346 * lto-lang.c: Don't undef DEF_BUILTIN.
347
2adfab87
AM
3482015-10-29 Andrew MacLeod <amacleod@redhat.com>
349
350 * lto-lang.c: Reorder #include's and remove duplicates.
351 * lto-object.c: Likewise.
352 * lto-partition.c: Likewise.
353 * lto-symtab.c: Likewise.
354 * lto.c: Likewise.
355
b2b29377
MM
3562015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
357
358 * lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
359 conditionals.
360 (lto_fixup_state): Likewise.
361 (do_whole_program_analysis): Use
362 symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
363 conditionals.
364
d9a6bd32
JJ
3652015-10-13 Jakub Jelinek <jakub@redhat.com>
366
367 * lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
368 DEF_FUNCTION_TYPE_11): Define.
369
9c4eeafc
JH
3702015-10-10 Jan Hubicka <hubicka@ucw.cz>
371
372 * lto.c (hash_canonical_type): Honor
373 type_with_interoperable_signedness.
374
3e32ee19
NS
3752015-09-28 Nathan Sidwell <nathan@codesourcery.com>
376
377 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
378 (DEF_FUNCTION_TYPE_VAR_11): Delete.
379
f196d062
RB
3802015-08-31 Richard Biener <rguenther@suse.de>
381
382 * lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
383 * lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
384 (lto_symtab_prevailing_decl): Do not replace a decl that didn't
385 participate in merging with something else.
386
45aee888
RB
3872015-08-31 Richard Biener <rguenther@suse.de>
388
389 * lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
390 test, do not replace a non-builtin with a builtin.
391 * lto.c (compare_tree_sccs_1): Do not merge things we stream
392 as builtins vs. non-builtins.
393
a79683d5
TS
3942015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
395
396 * lto.h: Remove useless typedefs.
397
48d859bb
AM
3982015-07-15 Andrew MacLeod <amacleod@redhat.com>
399
400 * lto.c: Remove redundant includes.
401
026c3cfd
AH
4022015-07-12 Aldy Hernandez <aldyh@redhat.com>
403
404 * lto-lang.c: Fix double word typos.
405
9fdcd34e
AM
4062015-07-10 Andrew MacLeod <amacleod@redhat.com>
407
408 * lto.c: Include cfghooks.h rather than predict.h.
409
f51ade33
AM
4102015-07-09 Andrew MacLeod <amacleod@redhat.com>
411
412 * lto-lang.c: Adjust includes of target.h, alloc-pool.h and
413 lto-streamer.h.
414 * lto-object.c: Likewise.
415 * lto-partition.c: Likewise.
416 * lto-symtab.c: Likewise.
417
1916bcb5
AM
4182015-07-09 Andrew MacLeod <amacleod@redhat.com>
419
420 * lto-lang.c: Adjust includes for flags.h changes.
421
c7131fb2
AM
4222015-07-07 Andrew MacLeod <amacleod@redhat.com>
423
424 * lto-lang.c: Adjust includes.
425 * lto-object.c: Likewise.
426 * lto-partition.c: Likewise.
427 * lto-symtab.c: Likewise.
428 * lto.c: Likewise.
429
f0889939
AM
4302015-06-25 Andrew MacLeod <amacleod@redhat.com>
431
432 * lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
433 * lto-object.c: Likewise.
434 * lto-partition.c: Likewise.
435 * lto-symtab.c: Likewise.
436 * lto-tree.h: Likewise.
437 * lto.c: Likewise.
438
8d67ee55
RS
4392015-06-25 Richard Sandiford <richard.sandiford@arm.com>
440
441 * lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
442 than typed_noop_remove. Remove redudant typedefs.
443
abb226c9
AM
4442015-06-17 Andrew MacLeod <amacleod@redhat.com>
445
446 * lto-lang.c: Do not include input.h, line-map.h or is-a.h.
447 * lto-object.c: Likewise.
448 * lto-partition.c: Likewise.
449 * lto-symtab.c: Likewise.
450 * lto.c: Likewise.
451
351d90f4
JH
4522015-06-14 Jan Hubicka <hubicka@ucw.cz>
453
454 PR ipa/66181
455 * lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
456
44c42705
DD
4572015-06-12 DJ Delorie <dj@redhat.com>
458
459 * lto-lang.c (lto_type_for_size): Include intN types.
460 (lto_type_for_mode): Likewise.
461
64578d98
JH
4622015-06-08 Jan Hubicka <hubicka@ucw.cz>
463
464 * lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
465
13fdf2e2
AM
4662015-06-08 Andrew MacLeod <amacleod@redhat.com>
467
468 * lto-lang.c : Adjust include files.
469 * lto-object.c : Likewise.
470 * lto-partition.c : Likewise.
471 * lto-partition.h : Likewise.
472 * lto-symtab.c : Likewise.
473 * lto.c : Likewise.
474 * lto.h : Likewise.
475
ccb5ad37
JH
4762015-06-06 Jan Hubicka <hubicka@ucw.cz>
477
6542950e
JH
478 PR lto/65378
479 * lto-symtab.c (warn_type_compatibility_p): Fix call of
480 odr_or_derived_type_p.
481 (lto_symtab_merge_decls_2): Update call of warn_types_mismatch.
482
4832015-06-08 Jan Hubicka <hubicka@ucw.cz>
484
485
ccb5ad37
JH
486 * lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
487 pointers.
488
d7438551
AH
4892015-06-05 Aldy Hernandez <aldyh@redhat.com>
490
491 * lto-lang.c (lto_write_globals): Remove.
492 (LANG_HOOKS_WRITE_GLOBALS): Same.
493
ecb9f223
AM
4942015-06-04 Andrew MacLeod <amacleod@redhat.com>
495
496 * lto-lang.c: Adjust includes for restructured coretypes.h.
497 * lto-object.c: Likewise.
498 * lto-partition.c: Likewise.
499 * lto-symtab.c: Likewise.
500 * lto.c: Likewise.
501
9cb9b937
JH
5022015-06-04 Jan Hubicka <hubicka@ucw.cz>
503
504 * lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.
505
93e2aa6d
JH
5062015-06-03 Jan Hubicka <hubicka@ucw.cz>
507
508 * lto.c (iterative_hash_canonical_type,
509 gimple_register_canonical_type): only hash main variants of types
510
faae53f8
ML
5112015-05-27 Martin Liska <mliska@suse.cz>
512
513 * lto-partition.c (new_partition): Reset number of symbols.
514 (add_symbol_to_partition_1): Increment number of symbols.
515 (undo_partition): Decrement number of symbols.
516 (lto_balanced_map): Dump number of symbols and insns that
517 belong to a partition.
518 * lto-partition.h (struct ltrans_partition_def): Add symbol counter.
519
b727ba74
JH
5202015-05-22 Jan Hubicka <hubicka@ucw.cz>
521
522 * lto.c (hash_canonical_type): Be sure we hash only types that
523 need alias set.
524 (gimple_register_canonical_type_1): Do not produce canonical
525 types for types that do not need alias sets.
526
1d1218fb
JH
5272015-05-22 Jan Hubicka <hubicka@ucw.cz>
528
529 * lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
530
872d5034
JH
5312015-05-19 Jan Hubicka <hubicka@ucw.cz>
532
533 * lto.c (gimple_canonical_types_compatible_p): Move to tree.c
534
259d29e3
JH
5352015-05-17 Jan Hubicka <hubicka@ucw.cz>
536
537 * lto-symtab.c (warn_type_compatibility_p): Break out from ...;
538 compare ODR types (if available) and function types.
539 (lto_symtab_merge): ... here; output ODR violation warnings
540 and call warn_types_mismatch.
541
b0845a1e
JH
5422015-04-29 Jan Hubicka <hubicka@ucw.cz>
543
544 * lto.c (lto_fixup_state): Call verify_type.
545
67f58944
TS
5462015-04-18 Trevor Saunders <tsaunders@mozilla.com>
547
b0845a1e 548 * lto.c: Adjust for hash_table changes.
67f58944 549
36ceb0e3
JH
5502015-03-27 Jan Hubicka <hubicka@ucw.cz>
551
552 * lto.c (lto_read_decls): Move code registering odr types out
553 of TYPE_CANONICAL conditional and also register polymorphic types.
554
afd1e7c6
JH
5552015-03-26 Jan Hubicka <hubicka@ucw.cz>
556
557 * lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
558 DECL_ARTIFICAL symbols.
559
eaeec5ec
JH
5602015-03-26 Jan Hubicka <hubicka@ucw.cz>
561
562 PR lto/65536
563 * lto.c (unify_scc): Revert location cache when unification
564 suceeded.
565 (lto_read_decls): Accept location cache after sucess;
566 apply location cache before calling debug hooks.
567
1c4db829
JH
5682015-03-10 Jan Hubicka <hubicka@ucw.cz>
569
570 * lto.c (read_cgraph_and_symbols): Do not do merging
571 at ltrans stage.
572
db847fa8
JJ
5732015-02-26 Jakub Jelinek <jakub@redhat.com>
574
575 * lto.c (lto_mode_identity_table): New variable.
576 (lto_read_decls): Add mode_table argument to the lto_input_block
577 constructor.
578 (lto_file_finalize): Initialize mode_table.
579 (lto_init): Initialize lto_mode_identity_table.
580
56a9f6bc
TS
5812015-02-24 Thomas Schwinge <thomas@codesourcery.com>
582
583 PR libgomp/64625
584 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
585 Remove macros.
586 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
587
ebc8f0bb
JH
5882015-02-03 Jan Hubicka <hubicka@ucw.cz>
589
590 * lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.
591
40fecdd6
JM
5922015-01-30 Joseph Myers <joseph@codesourcery.com>
593
594 * lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
595 changed to pass input_location as first argument.
596
040968a8
JH
5972014-12-11 Jan Hubicka <hubicka@ucw.cz>
598
599 * lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
600
69fe4502
JH
6012014-12-11 Jan Hubicka <hubicka@ucw.cz>
602
603 * lto.c (compare_tree_sccs_1): Add comparsion of
604 DECL_FUNCTION_SPECIFIC_TARGET
605
41dbbb37
TS
6062015-01-15 Thomas Schwinge <thomas@codesourcery.com>
607 James Norris <jnorris@codesourcery.com>
608
609 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
610 New macros.
611 * lto.c: Include "gomp-constants.h".
612
837bac8c
IV
6132015-01-14 Ilya Verbin <ilya.verbin@intel.com>
614
615 * lto-partition.c (lto_promote_cross_file_statics): Remove argument
616 from select_what_to_stream.
617
1b34e6e2
BS
6182015-01-09 Bernd Schmidt <bernds@codesourcery.com>
619 Jakub Jelinek <jakub@redhat.com>
620
621 PR middle-end/64412
622 * lto.c (read_cgraph_and_symbols): Set lto_stream_offload_p
623 if ACCEL_COMPILER.
624
adfac8df
JJ
6252015-01-09 Michael Collison <michael.collison@linaro.org>
626
627 * lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
628 input.h, alias.h, symtab.h, options, fold-const.h,
629 wide-int.h, and inchash.h due to flattening of tree.h.
630 * lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
631 input.h, alias.h, symtab.h, fold-const.h,
632 wide-int.h, and inchash.h due to flattening of tree.h.
633 * lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
634 input.h, alias.h, symtab.h, options, fold-const.h,
635 wide-int.h, and inchash.h due to flattening of tree.h.
636 * lto-partition.c: Ditto.
637 * lto-symtab.c: Ditto.
638
5624e564
JJ
6392015-01-05 Jakub Jelinek <jakub@redhat.com>
640
641 Update copyright years.
642
9a1e784a
ML
6432014-12-22 Martin Liska <mliska@suse.cz>
644
645 * lto-partition.c (add_symbol_to_partition_1): New inline_summaries
646 is used.
647 (undo_partition): Likewise.
648 (lto_balanced_map): Likewise.
649
dd912cb8
ML
6502014-12-22 Martin Liska <mliska@suse.cz>
651
652 * lto-partition.c: Include of symbol-summary.h is added.
653 * lto-symtab.c: Likewise.
654 * lto.c: Likewise.
655
17e0fc92
JH
6562014-12-11 Jan Hubicka <hubicka@ucw.cz>
657
658 PR ipa/61324
659 * lto.c (read_cgraph_and_symbols): Update call of
660 remove_unreachable_nodes.
661 (do_whole_program_analysis): Remove call of
662 symtab->remove_unreachable_nodes
663
58dddbd2
TS
6642014-12-08 Trevor Saunders <tsaunders@mozilla.com>
665
666 * lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
667 htab with malloc instead of ggc.
668
907dadbd
TS
6692014-11-20 Trevor Saunders <tsaunders@mozilla.com>
670
671 * lto.c: Replace htab with hash_table.
672
9c71e9df
TS
6732014-11-20 Trevor Saunders <tsaunders@mozilla.com>
674
675 * lto.c (lto_read_in_decl_state): Adjust.
676 (lto_fixup_state): Likewise.
677
72a4a8b0
JH
6782014-11-17 Jan Hubicka <hubicka@ucw.cz>
679
680 * lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET.
681
54e774c0
JH
6822014-11-14 Jan Hubicka <hubicka@ucw.cz>
683
684 * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
685
1f6be682
IV
6862014-11-13 Ilya Verbin <ilya.verbin@intel.com>
687 Bernd Schmidt <bernds@codesourcery.com>
688 Andrey Turetskiy <andrey.turetskiy@intel.com>
689 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
690
ec6fe917
IV
691 * lto/lto.c (read_cgraph_and_symbols): Call input_offload_tables.
692
6932014-11-13 Ilya Verbin <ilya.verbin@intel.com>
694 Ilya Tocar <ilya.tocar@intel.com>
695 Andrey Turetskiy <andrey.turetskiy@intel.com>
696 Bernd Schmidt <bernds@codesourcery.com>
697
1f6be682
IV
698 * lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
699 LTO_SECTION_NAME_PREFIX.
700 * lto-partition.c (lto_promote_cross_file_statics): Call
701 select_what_to_stream.
702 * lto.c (lto_section_with_id): Use section_name_prefix instead of
703 LTO_SECTION_NAME_PREFIX.
704 (read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
705 being built as an offload compiler.
706
ef4bddc2
RS
7072014-10-29 Richard Sandiford <richard.sandiford@arm.com>
708
709 * lto-lang.c: Remove redundant enum from machine_mode.
710
c582198b
AM
7112014-10-28 Andrew MacLeod <amacleod@redhat.com>
712
713 * lto.c: Adjust include files.
714 * lto-lang.c: Ditto.
715 * lto-object.c: Ditto.
716 * lto-partition.c: Ditto.
717 * lto-symtab.c: Ditto.
718
60393bbc
AM
7192014-10-27 Andrew MacLeod <amacleod@redhat.com>
720
721 * lto-lang.c: Adjust include files.
722 * lto-object.c: Ditto.
723 * lto-partition.c: Ditto.
724 * lto-symtab.c: Ditto.
725 * lto.c: Ditto.
726
957f47e6
DD
7272014-10-16 DJ Delorie <dj@redhat.com>
728
729 * lto-object.c (lto_obj_begin_section): In the event that pointer
730 sizes aren't powers of two, choose a more suitable alignment
731 than (unsigned)(-1).
732
78a7c317
DD
7332014-10-14 DJ Delorie <dj@redhat.com>
734
735 * lto-lang.c (lto_build_c_type_nodes): Check intN types for
736 size-type as well.
737 (lto_init): Initialize all intN types, not just int128.
738
70261a4f
ML
7392014-10-06 Martin Liska <mliska@suse.cz>
740
741 * lto.c (stream_out): ARG_UNUSED added for last argument.
742
00de328a
AH
7432014-09-24 Aldy Hernandez <aldyh@redhat.com>
744
745 * lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
746 DECL_ABSTRACT_P.
747
7861b648
AK
7482014-09-23 Andi Kleen <ak@linux.intel.com>
749
750 * lto-partition.c (node_cmp): Update comment.
751 (varpool_node_cmp): Use symtab_node for comparison.
752 (add_sorted_nodes): New function.
753 (lto_balanced_map): Change to keep ordered queue
754 of ordered node. Handle no_reorder attribute.
755
1ee85ee1
JH
7562014-09-11 Jan Hubicka <hubicka@ucw.cz>
757
758 * lto.c (lto_read_decls): Register ODR types.
759
8605403e
JH
7602014-08-20 Jan Hubicka <hubicka@ucw.cz>
761
762 * lto.c (read_cgraph_and_symbols): Fix symtab_remove_unreachable_nodes
763 call.
764 (do_whole_program_analysis): Only sanity check that IPA passes cleans up.
765
56b1f114
JH
7662014-08-14 Jan Hubicka <hubicka@ucw.cz>
767
768 * lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.
769
833f94c0
RB
7702014-08-14 Richard Biener <rguenther@suse.de>
771
772 PR lto/62067
773 * lto-lang.c (def_fn_type): Fix error handling wrt va_end.
774
207c68cd
RB
7752014-08-08 Richard Biener <rguenther@suse.de>
776
777 * lto.c (lto_read_decls): Adjust for lto_input_block changes.
778
7c581d61
BC
7792014-08-08 Bin Cheng <bin.cheng@arm.com>
780
781 PR lto/62032
782 * lto-lang.c (lto_init): Switch mis-matched arguments.
783
39c8aaa4
TS
7842014-08-07 Trevor Saunders <tsaunders@mozilla.com>
785
786 * lto-partition.c, lto.c: Use hash_map instead of pointer_map.
787
6e2830c3
TS
7882014-08-02 Trevor Saunders <tsaunders@mozilla.com>
789
790 * lto-partition.c, lto-partition.h: Use hash_set instead of
791 pointer_set.
792
50de5793
AK
7932014-07-31 Andi Kleen <ak@linux.intel.com>
794
795 * lto.c (hash_canonical_type): Use inchash::hash
796 and use inchash::add_expr.
797 (iterative_hash_canonical_type): Dito.
798
f6bcdb5e
RB
7992014-07-30 Richard Biener <rguenther@suse.de>
800
801 * lto-streamer.h (lto_write_data): New function.
802 * langhooks.c (lhd_append_data): Do not free block.
803 * lto-section-out.c (lto_write_data): New function writing
804 raw data to the current section.
805 (lto_write_stream): Adjust for langhook semantic change.
806 (lto_destroy_simple_output_block): Write header directly.
807 * lto-opts.c (lto_write_options): Write options directly.
808 * lto-streamer-out.c (produce_asm): Write heaeder directly.
809 (lto_output_toplevel_asms): Likewise.
810 (copy_function_or_variable): Copy data directly.
811 (write_global_references): Output index table directly.
812 (lto_output_decl_state_refs): Likewise.
813 (write_symbol): Write data directly.
814 (produce_symtab): Adjust.
815 (produce_asm_for_decls): Output header and refs directly.
816
56fdfd3e
AK
8172014-07-25 Andi Kleen <ak@linux.intel.com>
818
819 * lto.c (hash_canonical_type): Call iterative_hstate_expr.
820
0bd8bb04
AK
8212014-07-25 Andi Kleen <ak@linux.intel.com>
822
823 * lto.c (hash_canonical_type): Convert to inchash.
824 (iterative_hash_canonical_type): Dito.
825
6d8eb96b
AK
8262014-07-25 Andi Kleen <ak@linux.intel.com>
827
828 * lto.c: Include inchash.h
829
ad115a3c
JH
8302014-07-14 Jan Hubicka <hubicka@ucw.cz>
831
832 * lto.c (mentions_vars_p_decl_non_common): Skip
833 DECL_ARGUMENT_FLD.
834 mentions_vars_p_function): Do DECL_ARGUMENTS.
835 (lto_fixup_prevailing_decls): Update.
836
917dd9bf
JH
8372014-07-12 Jan Hubicka <hubicka@ucw.cz>
838
839 * lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO
840 timevar
841 (materialize_cgraph): Do not push GIMPLE_IN timevar.
842
0b83e688
JH
8432014-07-11 Jan Hubicka <hubicka@ucw.cz>
844
845 * lto-partition.c (add_references_to_partition): Use
846 varpool_ctor_useable_for_folding_p.
847 * lto.c (lto_read_in_decl_state): Update sanity check.
848
e55637b7
ML
8492014-07-01 Martin Liska <mliska@suse.cz>
850
851 IPA REF alias refactoring
852 * lto-partition.c (add_symbol_to_partition_1): Usage of
853 FOR_EACH_ALIAS added.
854
010f4e27
JH
8552014-06-28 Jan Hubicka <hubicka@ucw.cz>
856
857 Revert:
858 * lto.c (lto_copy_fields_not_streamed): New function.
859 (compare_tree_sccs_1): Do not compare fields shared in between type
860 and variant.
861 (lto_read_decls): Fixup types first before inserting into hash.
862
b82fe354
AP
8632014-06-28 Andrew Pinski <apinski@cavium.com>
864
865 * lto.c (lto_read_decls): Fix comment in comment.
866
288eeff7
JH
8672014-06-28 Jan Hubicka <hubicka@ucw.cz>
868
869 * lto.c (lto_copy_fields_not_streamed): New function.
870 (compare_tree_sccs_1): Do not compare fields shared in between type
871 and variant.
872 (lto_read_decls): Fixup types first before inserting into hash.
873
e01fa630
ML
8742014-06-25 Martin Liska <mliska@suse.cz>
875
876 * lto/lto-partition.c (add_references_to_partition): New IPA REF function
877 used.
878 (add_symbol_to_partition_1): Likewise.
879 (lto_balanced_map): Likewise.
880 * lto/lto-symtab.c (lto_cgraph_replace_node): Likewise.
881
aaf8a23e
JH
8822014-06-24 Jan Hubicka <hubicka@ucw.cz>
883
884 * lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
885 (mentions_vars_p_function): ... here.
886 (compare_tree_sccs_1): Update VINDEX checks.
887 (lto_fixup_prevailing_decls): Likewise.
888
1eb68d2d
TS
8892014-06-24 Trevor Saunders <tsaunders@mozilla.com>
890
891 * lto.c (canonical_type_hash_cache): Use hash_map instead of
892 pointer_map.
893
c203e8a7
TS
8942014-06-24 Trevor Saunders <tsaunders@mozilla.com>
895
896 * lto.c: Adjust.
897
714c800f
JH
8982014-06-20 Jan Hubicka <hubicka@ucw.cz>
899
900 * lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.
901
569b1784
JH
9022014-06-20 Jan Hubicka <hubicka@ucw.cz>
903
904 * lto.c (compare_tree_sccs_1): Do not compare priorities.
905
56363ffd
JH
9062014-06-15 Jan Hubicka <hubicka@ucw.cz>
907
908 * lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
909
e257a17c
JH
9102014-06-10 Jan Hubicka <hubicka@ucw.cz>
911
912 * lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
913 (do_whole_program_analysis): Use verify_symtab.
914
24d047a3
JH
9152014-06-07 Jan Hubicka <hubicka@ucw.cz>
916
917 * lto.c (mentions_vars_p_decl_with_vis, compare_tree_sccs_1,
918 lto_fixup_prevailing_decls): Skip section names.
919
9b2b7279
AM
9202014-06-02 Andrew MacLeod <amacleod@redhat.com>
921
922 * lto-symtab.c: Include builtins.h.
923
a9243bfc
RB
9242014-05-26 Richard Biener <rguenther@suse.de>
925
926 * lto.c (lto_parse_hex): Use int64_t.
927 (lto_resolution_read): Likewise.
928
fd1e9302
JH
9292014-05-23 Jan Hubicka <hubicka@ucw.cz>
930
931 * lto.c (read_cgraph_and_symbols): Grow ggc memory after streaming.
932
aede2c10
JH
9332014-05-23 Jan Hubicka <hubicka@ucw.cz>
934
935 * lto-symtab.c (lto_symtab_merge_symbols): Update code setting
936 symtab pointer.
937 * lto.c (compare_tree_sccs_1): Do not compare comdat groups.
938
f6a7cffc
TS
9392014-05-22 Thomas Schwinge <thomas@codesourcery.com>
940
941 * lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
942 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
943 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
944
4000360e
BS
9452012-05-22 Bernd Schmidt <bernds@codesourcery.com>
946
947 * lto-object.c: Include "lto-section-names.h".
948 (LTO_SEGMENT_NAME): Don't define.
949 * lto.c: Include "lto-section-names.h".
950
b9559136
JH
9512014-05-17 Jan Hubicka <hubicka@ucw.cz>
952
953 PR lto/61012
954 * lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
955 mixed with variables.
956
766090c2
TS
9572014-05-17 Trevor Saunders <tsaunders@mozilla.com>
958
959 * lto-tree.h: Don't use variable_size gty attribute.
960 * lto.c (lto_read_in_decl_state): Adjust.
961 (create_subid_section_table): Likewise.
962 (lto_flatten_files): Likewise.
963 (read_cgraph_and_symbols): Likewise.
964
1d60af08
KZ
9652014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
966 Mike Stump <mikestump@comcast.net>
967 Richard Sandiford <rdsandiford@googlemail.com>
968
969 * lto.c (compare_tree_sccs_1): Use wide-int interfaces.
970 * lto-lang.c (get_nonnull_operand): Likewise.
971
22869a37
RB
9722014-04-28 Richard Biener <rguenther@suse.de>
973
974 PR middle-end/60092
975 * lto-lang.c: Define flag_isoc11.
976
7de90a6c
DM
9772014-04-23 David Malcolm <dmalcolm@redhat.com>
978
979 * lto-partition.c (add_references_to_partition): Update for
980 removal of implicit pointer from the is-a.h API.
981 (add_symbol_to_partition_1): Likewise.
982 (contained_in_symbol): Likewise.
983 (undo_partition): Likewise.
984 (lto_balanced_map): Likewise.
985 (promote_symbol): Likewise.
986 * lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
987 (lto_symtab_merge_symbols): Likewise.
988 * lto.c (lto_wpa_write_files): Likewise.
989
783dab6b
RB
9902014-04-15 Richard Biener <rguenther@suse.de>
991
992 * lto.c: Include params.h.
993 (do_whole_program_analysis): Switch on flag_lto_partition value,
994 add support for LTO_PARTITION_ONE.
995 * lto-partition.h (lto_balanced_map): Adjust.
996 * lto-partition.c (lto_balanced_map): Get number of desired
997 partitions as argument to support -flto-partition=one.
998
cb90235d
JH
9992014-04-14 Jan Hubicka <hubicka@ucw.cz>
1000
1001 * lto/lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
1002 tp_first_run.
1003
bbe281da
JH
10042014-03-19 Jan Hubicka <hubicka@ucw.cz>
1005
1006 * lto.c: Include ipa-inline.h
1007 (do_whole_program_analysis): Free inline summary after partitioning.
1008
ce2f49b3
RB
10092014-03-19 Richard Biener <rguenther@suse.de>
1010
1011 PR middle-end/60553
1012 * lto-tree.h (lang_tree_node): For types use TYPE_NEXT_VARIANT
1013 instead of TREE_CHAIN as chain_next.
1014
e41106fc
RB
10152014-03-19 Richard Biener <rguenther@suse.de>
1016
1017 * lto.c (lto_wpa_write_files): Move call to
1018 lto_promote_cross_file_statics ...
1019 (do_whole_program_analysis): ... here, into the partitioning
1020 block. Do not ggc_collect after lto_wpa_write_files but
1021 for a last time before it.
1022
15df2655
JJ
10232014-03-19 Jakub Jelinek <jakub@redhat.com>
1024
1025 PR lto/60571
1026 * lto.c (wait_for_child): Define WCONTINUED if not defined to 0.
1027 Fix formatting.
1028
415e2e6b
JJ
10292014-03-18 Jakub Jelinek <jakub@redhat.com>
1030
1031 PR sanitizer/60535
1032 * lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node
1033 and complex_{float,{,long_}double}_type_node.
1034
f42c637e
PM
10352014-03-08 Paulo Matos <paulo@matos-sorge.com>
1036
415e2e6b
JJ
1037 * lto-lang.c (lto_init): Pass flag_short_double to
1038 build_common_tree_nodes.
f42c637e 1039
6dab804d
JH
10402014-02-14 Jan Hubicka <hubicka@ucw.cz>
1041
1042 PR lto/60295
1043 * lto.c (stream_out): Avoid parallel streaming with
1044 -flto=jobserver until we are able to throttle it down
1045 resonably.
1046
39434bce
JH
10472014-02-14 Jan Hubicka <hubicka@ucw.cz>
1048
1049 * lto-partition.c (add_symbol_to_partition_1,
1050 undo_partition, lto_balanced_map): Aliases have no
1051 defined size.
1052 (lto_balanced_map): Do not follow refering variables
1053 if they can be optimized out.
1054
1966fd99
RB
10552014-02-14 Richard Biener <rguenther@suse.de>
1056
1057 PR lto/60179
1058 * lto.c (compare_tree_sccs_1): Do not compare
1059 DECL_FUNCTION_SPECIFIC_TARGET.
1060 (lto_read_decls): Re-build DECL_FUNCTION_SPECIFIC_TARGET.
1061
283416b3
RB
10622014-02-12 Richard Biener <rguenther@suse.de>
1063
1064 PR lto/60060
1065 * lto-lang.c (lto_write_globals): Do not call
1066 wrapup_global_declarations or emit_debug_global_declarations
1067 but emit debug info for non-function scope variables
1068 directly.
1069
b7e85694
JH
10702014-02-06 Jan Hubicka <hubicka@ucw.cz>
1071
1072 * lto.c (unify_scc): Free CONSTRUCTOR_ELTS.
1073
96451279
JH
10742014-02-06 Jan Hubicka <hubicka@ucw.cz>
1075
1076 PR ipa/59469
1077 * lto-partition.c (symbol_class): Move to cgraph.h
1078 (get_symbol_class): Move to symtab.c
1079 (add_references_to_partition, add_symbol_to_partition_1,
1080 lto_max_map, lto_1_to_1_map, lto_balanced_map,
1081 lto_promote_cross_file_statics): Update.
1082
f300e7b8
JH
10832014-02-05 Jan Hubicka <hubicka@ucw.cz>
1084
1085 * lto.c (lto_parallelism): New static var.
1086 (do_stream_out, wait_for_child, stream_out): New static functions.
1087 (lto_wpa_write_files): Add support for parallel streaming.
1088 (do_whole_program_analysis): Set parallelism.
1089 * lang.opt (fwpa): Add parameter.
1090 * lto-lang.c (lto_handle_option): Handle flag_wpa.
1091 (lto_init): Update use of flag_wpa.
1092 * lto-streamer.h (asm_nodes_output): Declare.
1093
f0f91770
RB
10942014-02-05 Richard Biener <rguenther@suse.de>
1095
1096 * lto.h (lto_global_var_decls): Remove.
1097 * lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
1098 (lto_write_globals): Do nothing in WPA stage, gather globals from
1099 the varpool here ...
1100 * lto.c (lto_main): ... not here.
1101 (materialize_cgraph): Do not call rest_of_decl_compilation
1102 on the empty lto_global_var_decls vector.
1103 (lto_global_var_decls): Remove.
1104
d665f8dd
JH
11052014-02-04 Jan Hubicka <hubicka@ucw.cz>
1106
1107 * lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
1108 needs duplicating, not generic COMDAT.
1109
c39276b8
RB
11102014-02-04 Richard Biener <rguenther@suse.de>
1111
1112 PR lto/59723
1113 * lto.c (mentions_vars_p): Handle NAMELIST_DECL.
1114 (lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.
1115
5f876ae7
JH
11162014-02-04 Jan Hubicka <hubicka@ucw.cz>
1117 Markus Trippelsdorf
1118
1119 PR ipa/59469
1120 * lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
1121 merge force_output and forced_by_abi flags.
1122
b72271b9
BI
11232014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1124
1125 * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
1126 flag_cilkplus.
1127
63124c48
RB
11282014-01-09 Richard Biener <rguenther@suse.de>
1129
1130 * lto.c (gimple_canonical_types_compatible_p): Fix comment.
1131
d05b9920
RB
11322014-01-09 Richard Biener <rguenther@suse.de>
1133
1134 PR lto/45586
1135 * lto.c (hash_canonical_type): Do not hash TREE_ADDRESSABLE,
1136 TYPE_ALIGN, TYPE_RESTRICT or TYPE_REF_CAN_ALIAS_ALL.
1137 (gimple_canonical_types_compatible_p): Do not compare them either.
1138
23a5b65a
RS
11392014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1140
1141 Update copyright years
1142
2c8326a5
OE
11432013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
1144
1145 * lto.c: Remove struct tags when referring to class varpool_node.
1146 * lto-partition.c: Likewise.
1147 * lto-symtab.c: Likewise.
1148
e06f9964
JJ
11492013-11-29 Jakub Jelinek <jakub@redhat.com>
1150 Richard Biener <rguenther@suse.de>
1151
1152 PR lto/59326
1153 * lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
1154
c193f58b
JJ
11552013-11-29 Jakub Jelinek <jakub@redhat.com>
1156
1157 PR lto/59326
1158 * lto.c (mentions_vars_p_omp_clause): New function.
1159 (mentions_vars_p): Call it for OMP_CLAUSE. Remove break;
1160 after return stmts.
1161
2fb9a547
AM
11622013-11-22 Andrew MacLeod <amacleod@redhat.com>
1163
1164 * lto.c: Add required include files from gimple.h.
1165 * lto-lang.c: Likewise
1166 * lto-object.c: Likewise
1167 * lto-partition.c: Likewise
1168 * lto-symtab.c: Likewise
1169
fec39fa6
TS
11702013-11-18 Trevor Saunders <tsaunders@mozilla.com>
1171
1172 * lto-partition.c lto-symtab.c lto.c Adjust.
1173
d8a2d370
DN
11742013-11-14 Diego Novillo <dnovillo@google.com>
1175
1176 * lto-lang.c: Include stringpool.h.
1177 Include stor-layout.h.
1178 * lto-partition.c: Include gcc-symtab.h.
1179 * lto.c: Include stor-layout.h.
1180
5e20cdc9
DM
11812013-10-31 David Malcolm <dmalcolm@redhat.com>
1182
1183 Automated part of renaming of symtab_node_base to symtab_node.
1184
1185 Patch autogenerated by rename_symtab.py from
1186 https://github.com/davidmalcolm/gcc-refactoring-scripts
1187 revision 58bb219cc090b2f4516a9297d868c245495ee622
1188
1189 * lto-partition.c (add_symbol_to_partition): Rename
1190 symtab_node_base to symtab_node.
1191 (get_symbol_class): Likewise.
1192 (symbol_partitioned_p): Likewise.
1193 (add_references_to_partition): Likewise.
1194 (add_symbol_to_partition_1): Likewise.
1195 (contained_in_symbol): Likewise.
1196 (add_symbol_to_partition): Likewise.
1197 (lto_1_to_1_map): Likewise.
1198 (lto_max_map): Likewise.
1199 (lto_balanced_map): Likewise.
1200 (privatize_symbol_name): Likewise.
1201 (promote_symbol): Likewise.
1202 (may_need_named_section_p): Likewise.
1203 (rename_statics): Likewise.
1204 (lto_promote_statics_nonwpa): Likewise.
1205 * lto-symtab.c (lto_symtab_merge): Likewise.
1206 (lto_symtab_resolve_replaceable_p): Likewise.
1207 (lto_symtab_symbol_p): Likewise.
1208 (lto_symtab_resolve_can_prevail_p): Likewise.
1209 (lto_symtab_resolve_symbols): Likewise.
1210 (lto_symtab_merge_decls_2): Likewise.
1211 (lto_symtab_merge_decls_1): Likewise.
1212 (lto_symtab_merge_decls): Likewise.
1213 (lto_symtab_merge_symbols_1): Likewise.
1214 (lto_symtab_merge_symbols): Likewise.
1215 (lto_symtab_prevailing_decl): Likewise.
1216 * lto.c (lto_wpa_write_files): Likewise.
1217 (read_cgraph_and_symbols): Likewise.
1218 (do_whole_program_analysis): Likewise.
1219
378cd6b1
DM
12202013-10-30 David Malcolm <dmalcolm@redhat.com>
1221
1222 * lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
1223 declarations onto multiple lines to make things easier for
1224 rename_symtab.py.
1225 (lto_symtab_merge_decls_1): Likewise.
1226 (lto_symtab_merge_symbols_1): Likewise.
1227
939b37da
BI
12282013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1229
1230 * Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
1231 * lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
1232 Plus is enabled.
1233
67348ccc
DM
12342013-10-29 David Malcolm <dmalcolm@redhat.com>
1235
1236 Patch autogenerated by refactor_symtab.py from
1237 https://github.com/davidmalcolm/gcc-refactoring-scripts
1238 revision 58bb219cc090b2f4516a9297d868c245495ee622
1239
1240 * lto-partition.c (lto_promote_cross_file_statics): Update for
1241 conversion of symtab types to a true class hierarchy.
1242 (rename_statics): Likewise.
1243 (promote_symbol): Likewise.
1244 (privatize_symbol_name): Likewise.
1245 (lto_balanced_map): Likewise.
1246 (varpool_node_cmp): Likewise.
1247 (node_cmp): Likewise.
1248 (lto_1_to_1_map): Likewise.
1249 (undo_partition): Likewise.
1250 (add_symbol_to_partition): Likewise.
1251 (contained_in_symbol): Likewise.
1252 (add_symbol_to_partition_1): Likewise.
1253 (add_references_to_partition): Likewise.
1254 (symbol_partitioned_p): Likewise.
1255 (get_symbol_class): Likewise.
1256 (lto_max_map): Likewise.
1257 * lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
1258 (lto_symtab_merge_symbols): Likewise.
1259 (lto_symtab_merge_symbols_1): Likewise.
1260 (lto_symtab_merge_decls): Likewise.
1261 (lto_symtab_merge_decls_1): Likewise.
1262 (lto_symtab_merge_decls_2): Likewise.
1263 (lto_symtab_resolve_symbols): Likewise.
1264 (lto_symtab_resolve_can_prevail_p): Likewise.
1265 (lto_symtab_symbol_p): Likewise.
1266 (lto_symtab_resolve_replaceable_p): Likewise.
1267 (lto_symtab_merge): Likewise.
1268 (lto_varpool_replace_node): Likewise.
1269 (lto_cgraph_replace_node): Likewise.
1270 * lto.c (lto_main): Likewise.
1271 (do_whole_program_analysis): Likewise.
1272 (materialize_cgraph): Likewise.
1273 (read_cgraph_and_symbols): Likewise.
1274 (cmp_partitions_order): Likewise.
1275 (lto_materialize_function): Likewise.
1276 (has_analyzed_clone_p): Likewise.
1277
8e9055ae
AM
12782013-10-29 Andrew MacLeod <amacleod@redhat.com>
1279
1280 * lto/lto-object.c: Add gimple.h to include list.
1281 * lto/lto-partition.c: Likewise.
1282
377d9792
AM
12832013-10-18 Andrew MacLeod <amacleod@redhat.com>
1284
1285 * lto.c: Remove tree-flow.h from include list.
1286
fffda8d7
RB
12872013-10-15 Richard Biener <rguenther@suse.de>
1288
1289 * lto.c (hash_canonical_type): Split out from ...
1290 (iterative_hash_canonical_type): ... here. Register types
1291 we recurse to.
1292 (gimple_canonical_type_hash): Adjust.
1293 (gimple_register_canonical_type_1): Split out from ...
1294 (gimple_register_canonical_type): ... here. Cache computed
1295 hash value.
1296 (lto_register_canonical_types): Split into two modes,
1297 clearing and computing TYPE_CANONICAL.
1298 (lto_read_decls): Adjust.
1299 (read_cgraph_and_symbols): Do two passes over global trees,
1300 first clearing then computing TYPE_CANONICAL.
1301
1394237e
RB
13022013-10-14 Richard Biener <rguenther@suse.de>
1303
1304 * lto.c (gimple_canonical_types): Move out-of GC space.
1305 (canonical_type_hash_cache): Make a pointer-map.
1306 (num_canonical_type_hash_entries, num_canonical_type_hash_queries):
1307 New counters.
1308 (iterative_hash_canonical_type): Adjust.
1309 (read_cgraph_and_symbols): Likewise.
1310 (print_lto_report_1): Likewise.
1311
0a387eca
RB
13122013-10-14 Richard Biener <rguenther@suse.de>
1313
1314 * lto.c (gimple_types, type_hash_cache, struct type_pair_d,
1315 type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
1316 gtc_next_dfs_num, compare_type_names_p, gtc_visit,
1317 gimple_types_compatible_p_1, gimple_types_compatible_p,
1318 visit, iterative_hash_name, struct type_hash_pair,
1319 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
1320 gimple_type_eq, gimple_register_type, num_not_merged_types,
1321 num_not_merged_types_in_same_scc, num_not_merged_types_trees,
1322 num_not_merged_types_in_same_scc_trees): Remove old merging code
1323 and statistics.
1324 (lto_read_decls): Do not run old merging code in parallel.
1325 (read_cgraph_and_symbols): Do not init/free old merging
1326 data structures.
1327 (print_lto_report_1): Do not report differences of old vs. new
1328 merging code.
1329
83fd5d11
RB
13302013-10-14 Richard Biener <rguenther@suse.de>
1331
1332 * lto-lang.c (lto_init): Do not re-init canonical types here.
1333 (lto_register_canonical_types): Move to ...
1334 * lto.c (lto_register_canonical_types): ... here.
1335 (gimple_canonical_types, canonical_type_hash_cache,
1336 iterative_hash_canonical_type, gimple_canonical_type_hash,
1337 gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
1338 gimple_register_canonical_type): Add canonical type merging machinery
1339 moved from gimple.c.
1340 (read_cgraph_and_symbols): Init and free canonical type tables
1341 here.
1342 (print_lto_report_1): Report canonical type table stats here.
1343
acf0174b
JJ
13442013-10-11 Jakub Jelinek <jakub@redhat.com>
1345
1346 * lto-lang.c (DEF_FUNCTION_TYPE_8): Define.
1347
7c6fedd2
TT
13482013-09-25 Tom Tromey <tromey@redhat.com>
1349
1350 * Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
1351 (lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
1352 (lto/lto-object.o): Remove.
1353
35f32ad4
RB
13542013-09-06 Richard Biener <rguenther@suse.de>
1355
1356 * lto-symtab.c: Move from gcc/
1357 * lto.h: Include vec.h.
1358 (lto_global_var_decls): Declare.
1359 * lto.c (lto_global_var_decls): Move definition here.
1360 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
1361 (lto-symtab.o): Add.
1362 * config-lang.in (gtfiles): Add lto.h.
1363
49322b12
JH
13642013-08-31 Jan Hubicka <jh@suse.cz>
1365
1366 * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
1367 DECL_FIELD_OFFSET can contain an reference to variable.
1368
31f1f73b
JH
13692013-08-31 Jan Hubicka <jh@suse.cz>
1370
1371 * lto.c (tree_with_vars): Turn into vector.
1372 (MAYBE_REMEMBER_WITH_VARS): Change to...
1373 (CHECK_VAR): ... this one.
1374 (CHECK_NO_VAR): New macro.
1375 (maybe_remember_with_vars_typed): Turn to ...
1376 (mentions_vars_p_typed): ... this one.
1377 (maybe_remember_with_vars_common): Turn to ...
1378 (mentions_vars_p_comon): ... this one.
1379 (maybe_remember_with_vars_decl_minimal): Turn to ...
1380 (mentions_vars_p_decl_minmal): ... this one.
1381 (maybe_remember_with_vars_decl_common): Turn to ...
1382 (mentions_vars_p_decl_common): ... this one.
1383 (maybe_remember_with_vars_decl_with_vis): Turn to ...
1384 (mentions_vars_p_decl_with_vis): ... this one.
1385 (maybe_remember_with_vars_decl_non_common): Turn to ...
1386 (mentions_vars_p_decl_non_common): ... this one.
1387 (maybe_remember_with_vars_function): Turn to ...
1388 (mentions_vars_p_function): ... this one.
1389 (maybe_remember_with_vars_field_decl): Turn to ...
1390 (mentions_vars_p_field_decl): ... this one.
1391 (maybe_remember_with_vars_type): Turn to ...
1392 (mentions_vars_p_type): ... this one.
1393 (maybe_remember_with_vars_binfo): Turn to ...
1394 (mentions_vars_p_binfo): ... this one.
1395 (maybe_remember_with_vars_constructor): Turn to ...
1396 (mentions_vars_p_constructor): ... this one.
1397 (maybe_remember_with_vars_expr): Turn to ...
1398 (mentions_vars_p_expr): ... this one.
1399 (maybe_remember_with_vars): Turn to ...
1400 (mentions_vars_p): ... this one.
1401 (lto_read_decls): Update.
1402 (LTO_SET_PREVAIL): Do not call function for internal decls.
1403 (lto_fixup_prevailing_decls): Update to match mentions_vars_p;
1404 check that something was updated.
1405 (lto_fixup_state): Do not care about internal decls.
1406 (lto_fixup_decls): Update.
1407 (read_cgraph_and_symbols): Update.
1408
256eefa9
JH
14092013-08-29 Jan Hubicka <jh@suse.cz>
1410
1411 * lto.c (read_cgraph_and_symbols): Free decl states.
1412
0170f33c
JH
14132013-08-29 Jan Hubicka <jh@suse.cz>
1414
1415 * lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
1416 DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
1417 TYPE_FINAL_P.
1418
c01c111b
JH
14192013-08-28 Jan Hubicka <jh@suse.cz>
1420
1421 * lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
1422 DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
1423 (unify_scc): Do checking assert.
1424
6a49f3c9
JH
14252013-08-06 Jan Hubicka <jh@suse.cz>
1426 Martin Liska <marxin.liska@gmail.com>
1427
1428 * lto-partition.c (lto_balanced_map): Always base order on
1429 source file order.
1430
a2e2a668
JH
14312013-08-06 Jan Hubicka <jh@suse.cz>
1432
1433 * lto.c (lto_materialize_function): Do not read body anymore.
1434
815effe1
JH
14352013-08-02 Jan Hubicka <jh@suse.cz>
1436
1437 * lto.c (lto_materialize_function): Do not push struct function.
1438 * lto-partition.c (get_symbol_class): Handle abstracts correctly.
1439 (may_need_named_section_p): Even abstract origins may need
1440 named section.
1441
315f8c0e
DM
14422013-07-30 David Malcolm <dmalcolm@redhat.com>
1443
1444 * Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
1445 PASS_MANAGER_H.
1446
1447 * lto.c (do_whole_program_analysis): Update for move of
1448 all_regular_ipa_passes from a global to a field of class
1449 pass_manager.
1450
1aa95df7
OB
14512013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1452
1453 * lto-partition.c: Fix typos.
1454
c525ba9a
JH
14552013-06-20 Jan Hubicka <jh@suse.cz>
1456
1457 * lto-partition.c (lto_balanced_map): Fix -fno-toplevel-reorder
1458 partitioning of variables.
1459
7a89ad00
JH
14602013-06-20 Jan Hubicka <jh@suse.cz>
1461
1462 * lto.c (read_cgraph_and_symbols): Set cgraph state.
1463
6a6dac52
JH
14642013-06-19 Jan Hubicka <jh@suse.cz>
1465
1466 * lto-partition.c (add_references_to_partition): Use
1467 ctor_for_folding.
1468
ac0511f2
RB
14692013-06-18 Richard Biener <rguenther@suse.de>
1470
1471 * lto.c (lto_register_var_decl_in_symtab): Pass in cache index
1472 and use it.
1473 (lto_register_function_decl_in_symtab): Likewise.
1474 (cmp_tree): New function.
1475 (unify_scc): Instead of using the streamer cache map from entry
1476 to cache index match up the two maps we have by sorting them.
1477 Adjust calls to lto_register_var_decl_in_symtab and
1478 lto_register_function_decl_in_symtab.
1479
ee03e71d
RB
14802013-06-17 Richard Biener <rguenther@suse.de>
1481
1482 * Make-lang.in (lto.o): Add $(DATA_STREAMER_H) dependency.
1483 * lto.c: Include data-streamer.h.
1484 (lto_read_in_decl_state): Use streamer_tree_cache_get_tree.
1485 (gimple_type_leader_entry_s, gimple_type_leader,
1486 gimple_lookup_type_leader): Remove.
1487 (gtc_visit): Simplify.
1488 (gimple_types_compatible_p): Likewise.
1489 (gimple_register_type_1): Likewise. Merge into ...
1490 (gimple_register_type): ... this. Keep it as legacy for
1491 statistics purposes for now.
1492 (fixup_integer_cst): Remove.
1493 (LTO_FIXUP_TREE, lto_fixup_types, lto_ft_*): Simplify and
1494 rename to ...
1495 (MAYBE_REMEMBER_WITH_VARS, maybe_remember_with_vars,
1496 maybe_remember_with_vars_*): ... these.
1497 (uniquify_nodes): Remove.
1498 (lto_fixup_prevailing_type): New function.
1499 (struct tree_scc, struct tree_scc_hasher): New type and hasher.
1500 (tree_scc_hash, tree_scc_hash_obstack): New globals.
1501 (num_merged_types, num_prevailing_types, num_not_merged_types,
1502 num_not_merged_types_in_same_scc, total_scc_size, num_sccs_read,
1503 total_scc_size_merged, num_sccs_merged, num_scc_compares,
1504 num_scc_compare_collisions): New global counters.
1505 (compare_tree_sccs_1): New function.
1506 (compare_tree_sccs): Likewise.
1507 (unify_scc): Likewise.
1508 (lto_read_decls): Stream in tree SCCs and unify them on the
1509 way in. Finalize prevailing SCC tree members.
1510 (read_cgraph_and_symbols): Do not initialize or free gimple_type_leader.
1511 Allocate and free tree_scc_hash_obstack and tree_scc_hash, do not bother
1512 to ggc-collect during merging.
1513 (print_lto_report_1): Adjust for new merging code.
1514
ca0f62a8
JH
15152013-06-12 Jan Hubicka <jh@suse.cz>
1516
1517 * lto.c (read_cgraph_and_symbols): Set cgraph into streaming state.
1518
bbf9ad07
JH
15192013-06-12 Jan Hubicka <jh@suse.cz>
1520
1521 * lto.c (register_resolution): Take lto_file_data argument.
1522 (lto_register_var_decl_in_symtab,
1523 lto_register_function_decl_in_symtab): Update.
1524 (read_cgraph_and_symbols): Update resolution_map handling.
1525
ecdbd01a 15262013-06-11 Jan Hubicka <jh@suse.cz>
08346abd
JH
1527
1528 * lto-partition.c (get_symbol_class): Simplify weakref handling.
1529 (add_symbol_to_partition_1): Likewise.
1530 (contained_in_symbol): Likewise.
1531 (lto_balanced_map): Likewise.
1532 (rename_statics): Drop weakref.
1533
a367df53
RB
15342013-06-05 Richard Biener <rguenther@suse.de>
1535
1536 * lto.c (num_merged_types): New global variable.
1537 (uniquify_nodes): Increase num_merged_types when merging a type.
1538 (print_lto_report_1): Output the number of merged types.
1539
40a7fe1e
JH
15402013-06-01 Jan Hubicka <jh@suse.cz>
1541
1542 * lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
1543 lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
1544 (do_whole_program_analysis): Update dumping.
1545
e70670cf
JH
15462013-05-29 Jan Hubicka <jh@suse.cz>
1547
1548 * lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
1549 flags.
1550 * lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
1551
8ee05051
JH
15522013-05-15 Jan Hubicka <jh@suse.cz>
1553
1554 * lto-partition.c (privatize_symbol_name): Return true when
1555 privatizing happened.
1556 (rename_statics): Do not go into infinite loop when privatizing
1557 is not needed.
1558
427b248d
JM
15592013-05-16 Jason Merrill <jason@redhat.com>
1560
1561 * Make-lang.in ($(LTO_EXE)): Use link mutex.
1562
9de04252
MJ
15632013-05-15 Martin Jambor <mjambor@suse.cz>
1564
1565 * lto-partition.c (lto_balanced_map): Print symbol order instead
1566 of node uids.
1567
2d6e4603
JH
15682013-05-15 Jan Hubicka <jh@suse.cz>
1569
1570 PR lto/57038
1571 PR lto/47375
1572 * lto-partition.c (get_symbol_class): Fix weakrefs.
1573 (lto_balanced_map): Fix weakrefs.
1574 (privatize_symbol_name): Remove unnecesary label.
1575 (rename_statics): Handle weakrefs as statics.
1576
64cfa6c0
JH
15772013-05-09 Jan Hubicka <jh@suse.cz>
1578 Richard Biener <rguenther@suse.de>
1579
1580 * lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
1581 (lto_register_var_decl_in_symtab): Likewise.
1582 (lto_main): Promote statics.
1583 * lto-partition.c (privatize_symbol_name): New function.
1584 (promote_symbol): Use it.
1585 (may_need_named_section_p): New predicate.
1586 (rename_statics): New functions.
1587 (lto_promote_cross_file_statics): Simplify; do renaming.
1588 (lto_promote_statics_nonwpa): New function.
1589 * lto-partition.h (lto_promote_statics_nonwpa): New function.
1590
e45cde98
RB
15912013-02-08 Richard Biener <rguenther@suse.de>
1592
1593 PR lto/56231
1594 * lto-lang.c (lto_init): Do not enter a dummy file.
1595
6edc3e32
UB
15962013-02-07 Uros Bizjak <ubizjak@gmail.com>
1597
1598 PR bootstrap/56227
1599 * lto.c (lto_resolution_ready): Use %wx instead of
1600 HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
1601
ed73881e
RG
16022013-02-04 Richard Guenther <rguenther@suse.de>
1603
1604 PR lto/56168
1605 * lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
1606 or lto_fixup_decls at LTRANS time.
1607
a19b1432
JH
16082013-01-09 Jan Hubicka <jh@suse.cz>
1609
1610 PR lto/45375
1611 * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.
1612
49c01f87
L
16132012-12-10 H.J. Lu <hongjiu.lu@intel.com>
1614
1615 PR lto/55466
1616 * lto.c (lto_register_var_decl_in_symtab): Don't record static
1617 variables.
1618 (lto_main): Record the global variables if WPA isn't enabled.
1619
6e1aa848
DN
16202012-11-20 Diego Novillo <dnovillo@google.com>
1621 Jakub Jelinek <jakub@redhat.com>
1622
1623 * lto.c: Replace all vec<T, A>() initializers with vNULL.
1624
9771b263
DN
16252012-11-16 Diego Novillo <dnovillo@google.com>
1626
1627 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1628
1629 * lto-lang.c: Use new vec API in vec.h.
1630 * lto-partition.c: Likewise.
1631 * lto-partition.h: Likewise.
1632 * lto.c: Likewise.
1633
24551b9c
LC
16342012-10-31 Lawrence Crowl <crowl@google.com>
1635
1636 * lto.c (lto_wpa_write_files): Change symtab checking to a checked
1637 down-cast via dyn_cast.
1638 * lto-partition.c (add_symbol_to_partition_1): Likewise.
1639 (undo_partition): Likewise.
1640 (lto_balanced_map): Likewise.
1641 (get_symbol_class): Likewise and via is_a.
1642 (lto_balanced_map): Change symtab checking to is_a.
1643
aec06f6f
RB
16442012-10-12 Richard Biener <rguenther@suse.de>
1645
1646 PR lto/54898
1647 * lto.c (gimple_types_compatible_p_1): Also compare
1648 TYPE_MAIN_VARIANT.
1649 (iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.
1650
0b8c30f9
TB
16512012-10-09 Tobias Burnus <burnus@net-b.de>
1652
1653 * lto-lang.c (lto_register_builtin_type): Avoid useless
1654 decl creation.
1655 * lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.
1656
da3202a8
TB
16572012-10-08 Tobias Burnus <burnus@net-b.de>
1658
1659 * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
1660 Free lto_file struct after closing the file.
1661
2512a443
JH
16622012-10-08 Jan Hubicka <jh@suse.cz>
1663
1664 * lto/lto.c (remember_with_vars): Also fixup INTEGER_CST.
1665 (fixup_integer_cst): New functoin.
1666 (lto_ft_type): Fixup BASETYPE of methods and offsets.
1667
e75f8f79
JH
16682012-10-07 Jan Hubicka <jh@suse.cz>
1669
1670 * lto.c (read_cgraph_and_symbols): Release type merging hash early;
1671 release input encoders.
1672 * lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
1673
46591697
JH
16742012-10-06 Jan Hubicka <jh@suse.cz>
1675
1676 PR lto/54790
1677 * lto.c (resolution_map): New static var.
1678 (register_resolution): New function.
1679 (lto_register_var_decl_in_symtab): Use it.
1680 (read_cgraph_and_symbols): Copy resolutions into the symtab.
1681
af16bc76
MJ
16822012-09-20 Martin Jambor <mjambor@suse.cz>
1683
1684 * lto.c (lto_materialize_function): Call push_struct_function and
1685 pop_cfun.
1686
5368224f
DC
16872012-09-19 Dehao Chen <dehao@google.com>
1688
1689 * lto/lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
1690
b5493fb2
JH
16912012-09-19 Jan Hubicka <jh@suse.cz>
1692
1693 * lto.c (lto_materialize_function): Update confused comment.
1694 (read_cgraph_and_symbols): Do not free symtab.
1695
c3c445e1
JH
16962012-09-12 Jan Hubicka <jh@suse.cz>
1697
1698 * lto.c (do_whole_program_analysis): Care timevars, statistics and
1699 AUX pointer cleaning. Add max partitioning.
1700 * lto-partition.c (enum symbol_class): New.
1701 (get_symbol_class): New function.
1702 (symbol_partitioned_p): New function.
1703 (add_references_to_partition): Remove.
1704 (add_aliases_to_partition): Remove.
1705 (add_cgraph_node_to_partition_1): Remove.
1706 (add_cgraph_node_to_partition): Remove.
1707 (add_symbol_to_partition): New function.
1708 (add_symbol_to_partition_1): New function.
1709 (contained_in_symbol): New function.
1710 (partition_cgraph_node_p): Remove.
1711 (partition_varpool_node_p): Remove.
1712 (partition_symbol_p): Remove.
1713 (lto_1_to_1_map): Cleanup.
1714 (lto_max_map): New.
1715 (lto_balanced_map): Update.
1716 (lto_promote_cross_file_statics): Update.
1717 * lto-partition.h (lto_max_map): Declare.
1718 * timevar.def (TV_WHOPR_PARTITIONING): New timevar.
1719
b5c7cdfb
JH
17202012-09-11 Jan Hubicka <jh@suse.cz>
1721
1722 PR lto/54312
1723 * lto.c (uniquify_nodes): Remove quadratic loop checking if the
1724 type is variant leader.
1725
b29402f0
RG
17262012-09-11 Richard Guenther <rguenther@suse.de>
1727
1728 * lto.c (enum gtc_mode): Remove.
1729 (struct type_pair_d): Adjust.
1730 (lookup_type_pair): Likewise.
1731 (gimple_type_leader): Do not mark as deletable.
1732 (gimple_lookup_type_leader): Adjust.
1733 (gtc_visit): Likewise.
1734 (gimple_types_compatible_p_1): Likewise.
1735 (gimple_types_compatible_p): Likewise.
1736 (gimple_type_hash): Likewise.
1737 (gimple_register_type): Likewise.
1738 (read_cgraph_and_symbols): Manage lifetime of tables
1739 here.
1740
b8f4e58f
RG
17412012-09-11 Richard Guenther <rguenther@suse.de>
1742
1743 * lto.c (gimple_types, type_hash_cache, enum gtc_mode,
1744 struct type_pair_d, lookup_type_pair, struct sccs,
1745 next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
1746 gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
1747 gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
1748 visit, iterative_hash_name, struct type_hash_pair,
1749 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
1750 gimple_type_eq, gimple_register_type_1, gimple_register_type):
1751 Move here from gimple.c
1752 (read_cgraph_and_symbols): Free hash tables here.
1753 (print_lto_report_1): New function wrapping print_lto_report.
1754 (do_whole_program_analysis): Call it.
1755 (lto_main): Likewise.
1756
1cdbb3f9
JH
17572012-09-10 Jan Hubicka <jh@suse.cz>
1758
1759 * lto-partition.c (partition_symbol_p): Forward declare.
1760 (add_references_to_partition): Reimplement using partition_symbol_p.
1761 (add_aliases_to_partition): Break out from add_references_to_partition;
1762 reimplement using partition_symbol_p.
1763 (add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
1764 add sanity checks.
1765 (add_varpool_node_to_partition): Use add_aliases_to_partition.
1766 (partition_varpool_node_p): Do not special case aliases.
1767
b4661bfe
JH
17682012-08-12 Jan Hubicka <jh@suse.cz>
1769
1770 * lto.c (lto_wpa_write_files): Do not delete partition encoder;
1771 it is deleted after streaming.
1772 * lto-partition.c (partition_symbol_p): New function.
1773 (promote_var, promote_fn): Remove.
1774 (promote_symbol): New function.
1775 (lto_promote_cross_file_statics): First compute boundaries; rewrite
1776 to lookup the actual boundaries instead of computing them ad-hoc.
1777
7b99cca4
JH
17782012-08-12 Jan Hubicka <jh@suse.cz>
1779
1780 Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
1781 in partitioning.
1782 * lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
1783 by encoder.
1784 * lto-partition.c (new_partition): Update.
1785 * lto.c (cmp_partitions_order): Update.
1786 (lto_wpa_write_files): Update.
1787 (free_ltrans_partitions): Update.
1788 (add_references_to_partition): Update.
1789 (add_cgraph_node_to_partition_1): Update.
1790 (add_cgraph_node_to_partition): Update.
1791 (add_varpool_node_to_partition): Update.
1792 (undo_partition): Update.
1793 (lto_balanced_map): Update.
1794 (set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
1795 set_referenced_from_this_partition_p): Update.
1796 (lto_promote_cross_file_statics): Update.
1797
f27c1867
JH
17982012-08-12 Jan Hubicka <jh@suse.cz>
1799
1800 * lto-partition.c (set_referenced_from_other_partition_p,
1801 set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
1802 New functions.
1803 (lto_promote_cross_file_statics): Use them.
1804
ab96cc5b
JH
18052012-07-24 Jan Hubicka <jh@suse.cz>
1806
1807 * lto.c (read_cgraph_and_symbols): Use input_symtab.
1808
0229aee9
UB
18092012-07-24 Uros Bizjak <ubizjak@gmail.com>
1810
1811 * lto-tree.h (lang_decl): Add variable_size GTY option.
1812
7ee2468b
SB
18132012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1814
1815 * lto.c: Do not include timevar.h.
1816 * Make-lang.in: Fix dependencies.
1817
a910399d
LC
18182012-06-18 Lawrence Crowl <crowl@google.com>
1819
1820 * lto.c (do_whole_program_analysis): Rename use of TV_PHASE_CGRAPH to
1821 TV_PHASE_OPT_GEN. Use new timevar TV_PHASE_STREAM_OUT around the call
1822 to lto_wpa_write_files.
1823 (lto_main): Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Move
1824 start of TV_PHASE_OPT_GEN to include call to materialize_cgraph. Use
1825 TV_PHASE_SETUP for the call to lto_init. Use new timevar
1826 TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
1827 Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
1828 to be a front end, but is not one.
1829
877ab5e9
JH
18302012-05-18 Jan Hubicka <jh@suse.cz>
1831
1832 * lto.c (lto_materialize_constructors_and_inits): Remove.
1833 (read_cgraph_and_symbols): Remove handling of alias pairs.
1834
6649df51
JH
18352012-05-17 Jan Hubicka <jh@suse.cz>
1836
1837 * lto-partition.c (add_references_to_partition): Handle external vars.
1838 (partition_varpool_node_p): Likewise.
1839 (lto_promote_cross_file_statics): Do not promote externals.
1840
d1ede5f4
BS
18412012-05-14 Bernd Schmidt <bernds@codesourcery.com>
1842
1843 * lto-lang.c (handle_fnspec_attribute): New static function.
1844 (lto_attribute_table): Add "fn spec".
1845 (DEF_ATTR_STRING): Define and undefine along with the other macros.
1846
0d6bf48c
JH
18472012-05-04 Jan Hubicka <jh@suse.cz>
1848
1849 * lto.c (do_whole_program_analysis): Set timevars correctly.
1850 (lto_main): Likewise.
d1ede5f4 1851
1d67dde8
RB
18522012-05-04 Richard Guenther <rguenther@suse.de>
1853
1854 * lang.opt (fwpa): Do not mark as Optimization.
1855 (fltrans): Likewise.
1856
65d630d4
JH
18572012-04-30 Jan Hubicka <jh@suse.cz>
1858
1859 * lto.c (lto_main): Use compile ().
1d67dde8
RB
1860 * lto-partition.c (partition_cgraph_node_p): Use
1861 symtab_used_from_object_file_p.
65d630d4
JH
1862 (partition_varpool_node_p): Likewise.
1863
ead84f73
JH
18642012-04-20 Jan Hubicka <jh@suse.cz>
1865
1866 * lto-partition.c (partition_cgraph_node_p): Use force_output.
1867
5932a4d4
JH
18682012-04-18 Jan Hubicka <jh@suse.cz>
1869
1870 * lto-partition.c (add_references_to_partition, lto_balanced_map):
1871 Update for new ipa-ref API.
1872
65c70e6b
JH
18732012-04-16 Jan Hubicka <jh@suse.cz>
1874
1875 * lto.c (read_cgraph_and_symbols): Use FOR_EACH
1876 walkers to walk cgraph and varpool.
1877 (materialize_cgraph): Likewise.
1878 * lto-partition.c (lto_1_to_1_map): Likewise.
1879 (lto_balanced_map): Likewise.
1880 (lto_promote_cross_file_statics): Likewise.
1881
960bfb69
JH
18822012-04-14 Jan Hubicka <jh@suse.cz>
1883
1884 * lto.c: Update field referenced for new cgraph/varpool layout.
1885 * lto-partition.c: Likewise.
1886
a66dc285
JH
18872012-04-11 Jan Hubicka <jh@suse.cz>
1888
1889 * lto.c: Update copyright; remove params.h, ipa-inline.h
1890 and ipa-utils.h inlines; inline lto-partition.h
1891 (ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
1892 add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
1893 add_references_to_partition, add_cgraph_node_to_partition_1,
1894 add_cgraph_node_to_partition, add_varpool_node_to_partition,
1895 undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
1896 lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
1897 promote_var, promote_fn, lto_promote_cross_file_statics): move to...
1898 * lto-partition.c: ... here; new file.
1899 * lto-partition.h: New file.
1900 * Make-lang.in (lto.o): Update dependencies.
1901 (lto-partition.o): New.
1902
f3b249e5
RG
19032012-04-05 Richard Guenther <rguenther@suse.de>
1904
1905 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Remove
1906 definition.
1907
21fa2faf
RG
19082012-03-12 Richard Guenther <rguenther@suse.de>
1909
1910 * lto-lang.c (builtin_type_for_size): Use lto_type_for_size.
1911
6bb485a3
RG
19122012-03-06 Richard Guenther <rguenther@suse.de>
1913
1914 PR lto/52097
1915 * lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.
1916
95510497
RG
19172012-02-28 Richard Guenther <rguenther@suse.de>
1918
1919 PR lto/52400
1920 * lto.c (lto_register_function_decl_in_symtab): Do not register
1921 a reverse renamed decl mapping.
1922
09228fef
JJ
19232012-01-06 Jakub Jelinek <jakub@redhat.com>
1924
1925 PR lto/51774
1926 * lto-lang.c (handle_returns_twice_attribute): New function.
1927 (lto_attribute_table): Add returns_twice attribute.
1928
b03eda0d
RG
19292011-12-21 Richard Guenther <rguenther@suse.de>
1930
1931 * lto.c (GIMPLE_REGISTER_TYPE): New define.
1932 (LTO_FIXUP_TREE): Use it.
1933 (uniquify_nodes): Mark new non-prevailing types and avoid
1934 calling gimple_register_type on others.
1935 (lto_read_decls): Add comment.
1936
4ad9a9de
EB
19372011-12-13 Eric Botcazou <ebotcazou@adacore.com>
1938
1939 * lto.h (lto_parse_hex): Delete.
1940 * lto.c (lto_read_decls): Use 'int' for offsets.
1941 (lto_parse_hex): Make static and return proper 64-bit host type.
1942 (lto_resolution_read): Use proper 64-bit host type.
1943
ea973bad
RG
19442011-12-13 Richard Guenther <rguenther@suse.de>
1945
1946 PR lto/48354
1947 * lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
1948 with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.
1949
c8218030
UB
19502011-12-01 Uros Bizjak <ubizjak@gmail.com>
1951
1952 * lto-lang.c (lto_attribute_table): Handle *tm regparm.
1953 (ignore_attribute): New.
1954
57ac2606
AH
19552011-11-21 Aldy Hernandez <aldyh@redhat.com>
1956
1957 * lto-lang.c (lto_attribute_table): Handle transaction_pure.
1958 (handle_transaction_pure_attribute): New.
1959
52a35ef7
RG
19602011-11-03 Richard Guenther <rguenther@suse.de>
1961
1962 PR lto/44965
1963 * lto-lang.c (lto_post_options): Do not read file options.
1964 * lto.c (lto_read_all_file_options): Remove.
1965 (lto_init): Call lto_set_in_hooks here.
1966
51973b1e
JH
19672011-10-09 Jan Hubicka <jh@suse.cz>
1968
1969 * lto.c (node_cmp, varpool_node_cmp): New functions.
1970 (lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
1971 (cmp_partitions): Rename to ...
1972 (cmp_partitions_size): ... this one.
1973 (cmp_partitions_order): New function.
1974 (lto_wpa_write_files): Sort partitions by order when
1975 -fno-toplevel-reorder is used.
1976
5958009b
AK
19772011-10-09 Andi Kleen <ak@linux.intel.com>
1978
1979 * lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
1980
e79983f4
MM
19812011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1982
1983 * lto-lang.c (def_builtin_1): Delete old interface with two
1984 parallel arrays to hold standard builtin declarations, and replace
1985 it with a function based interface that can support creating
1986 builtins on the fly in the future. Change all uses, and poison
1987 the old names. Make sure 0 is not a legitimate builtin index.
1988
ecdbd01a 19892011-10-02 Andi Kleen <ak@linux.intel.com>
c17d253c
AK
1990
1991 * lto-object.c (lto_obj_add_section_data): Add list.
1992 (lto_obj_add_section): Fill in list.
1993 (ltoobj_build_section_table): Pass through list.
1994 * lto.c (file_data_list): Declare.
1995 (create_subid_section_table): Pass arguments directly.
1996 Fill in list of file_datas.
1997 (lwstate): Delete.
1998 (lto_create_files_from_ids): Pass in direct arguments.
1999 Don't maintain list.
2000 (lto_file_read): Use explicit section and file data lists.
2001 (lto_read_all_file_options): Pass in section_list.
2002 * lto.h (lto_obj_build_section_table): Add list.
2003 (lto_section_slot): Add next.
2004 (lto_section_list): Declare.
2005
ed0d2da0
JH
20062011-10-02 Jan Hubicka <jh@suse.cz>
2007
2008 PR lto/47247
2009 * common.c (lto_resolution_str): Add new resolution.
2010 * common.h (lto_resolution_str): Likewise.
2011
ad7715f3
L
20122011-09-30 H.J. Lu <hongjiu.lu@intel.com>
2013 Andi Kleen <ak@linux.intel.com>
2014
2015 PR lto/50568
2016 * lto.c (lto_splay_tree_delete_id): New.
2017 (lto_splay_tree_compare_ids): Likewise.
2018 (lto_splay_tree_lookup): Likewise.
2019 (lto_splay_tree_id_equal_p): Likewise.
2020 (lto_splay_tree_insert): Likewise.
2021 (lto_splay_tree_new): Likewise.
2022 (lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
2023 Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
2024 (create_subid_section_table): Use lto_splay_tree_lookup and
2025 lto_splay_tree_insert.
2026 (lto_file_read): Use lto_splay_tree_new.
2027
ecdbd01a 20282011-09-26 Andi Kleen <ak@linux.intel.com>
dde8b360
AK
2029
2030 * lto.c (lto_resolution_read): Remove id dumping.
2031 (lto_section_with_id): Turn id HOST_WIDE_ID.
2032 (create_subid_section_table): Dito.
2033
892a371f
DS
20342011-08-28 Dodji Seketeli <dodji@redhat.com>
2035
2036 * lto-lang.c (lto_init): Likewise. Also, avoid calling
2037 linemap_add twice.
2038
f82d1a94
MJ
20392011-08-11 Martin Jambor <mjambor@suse.cz>
2040
2041 * lto.c (uniquify_nodes): Use main variant's BINFO too.
2042
f0efc7aa
DN
20432011-08-08 Diego Novillo <dnovillo@google.com>
2044
2045 * Make-lang.in (lto/lto.o): Add TREE_STREAMER_H.
2046 * lto.c: Include tree-streamer.h.
2047
1a072294
RG
20482011-07-06 Richard Guenther <rguenther@suse.de>
2049
2050 * lto-lang.c (lto_init):
2051 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2052
7496868d
JH
20532011-06-11 Jan Hubicka <jh@suse.cz>
2054
10f13f22 2055 PR lto/48246
7496868d
JH
2056 * lto.c (lto_1_to_1_map): Don't create empty partitions.
2057 (lto_balanced_map): Likewise.
2058
39e2db00
JH
20592011-06-11 Jan Hubicka <jh@suse.cz>
2060
2061 * lto.c (add_cgraph_node_to_partition_1): Break out from ...
2062 (add_cgraph_node_to_partition) ... here; walk aliases.
2063 (lto_1_to_1_map): Remove same body alias code.
2064 (promote_fn): Likewise.
2065 (lto_promote_cross_file_statics): Update comment.
2066
2067
28628ea6
DN
20682011-06-07 Diego Novillo <dnovillo@google.com>
2069
2070 * lto.c (uniquify_nodes): Move code to register decls to
2071 the loop that computes canonical types.
2072
009db074
RG
20732011-06-07 Richard Guenther <rguenther@suse.de>
2074
2075 * lto-lang.c (lto_init): Do not set
2076 size_type_node or call set_sizetype.
2077
47c79d56
DN
20782011-06-04 Diego Novillo <dnovillo@google.com>
2079
2080 * lto.c (lto_init): New.
2081 (lto_main): Call it.
2082
d5828cc7
DN
20832011-06-03 Diego Novillo <dnovillo@google.com>
2084
2085 * lto.c (get_resolution): Move from lto-streamer-in.c.
2086 (lto_register_var_decl_in_symtab): Likewise.
2087 (lto_register_function_decl_in_symtab): Likewise.
2088 (uniquify_nodes): Call lto_register_var_decl and
2089 lto_register_function_decl_in_symtab after reading a new
2090 VAR_DECL or FUNCTION_DECL.
2091
6807da97
RG
20922011-06-01 Richard Guenther <rguenther@suse.de>
2093
2094 * lto-lang.c (lto_register_canonical_types): New function.
2095 (lto_init): Register common nodes with the canonical type machinery.
2096 Do not play tricks with char_type_node.
2097
d74be317
RG
20982011-05-26 Richard Guenther <rguenther@suse.de>
2099
2100 * lto.c (uniquify_nodes): Fix bug in one of the previous changes.
2101
d9f8303f
NF
21022011-05-25 Nathan Froyd <froydnj@codesourcery.com>
2103
2104 * lto.c (lto_ft_typed): New function.
2105 (lto_ft_common): Call it.
2106 (lto_ft_constructor): Likewise.
2107 (lto_ft_expr): Likewise.
2108 (lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
2109 TREE_CHAIN.
2110
fb291a1e
RG
21112011-05-20 Richard Guenther <rguenther@suse.de>
2112
2113 * lto.c (lto_ft_common): Remove pointer-to chain teardown.
2114 (lto_ft_type): Move main-variant and pointer-to chain building ...
2115 (uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
2116 in a separate final loop.
2117
31b3ca64
RG
21182011-05-19 Richard Guenther <rguenther@suse.de>
2119
2120 * lto.c (uniquify_nodes): First register all types before
2121 fixing up the tree SCC.
2122
35d828c5
JH
21232011-05-11 Jan Hubicka <jh@suse.cz>
2124
2125 PR lto/48952
2126 * lto.c (do_whole_program_analysis): Do not register cgraph hooks.
2127
51545682
NF
21282011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2129
2130 * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
2131 location of binfo field.
2132 (lto_fixup_prevailing_decls): Likewise.
2133
8242dd04
NF
21342011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2135
2136 * lto-lang.c (def_fn_type): Don't call build_function_type, call
2137 build_function_type_array or build_varargs_function_type_array
2138 instead.
2139
c99c0026
EB
21402011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2141
2142 * lto-lang.c (global_bindings_p): Return bool.
2143
c47d0034
JH
21442011-05-07 Jan Hubicka <jh@suse.cz>
2145
a9bcb3f0
EB
2146 * lto.c (lto_materialize_function): Use
2147 cgraph_function_with_gimple_body_p.
2148 (add_cgraph_node_to_partition): Do not re-add items to partition;
2149 handle thunks.
c47d0034
JH
2150 (add_varpool_node_to_partition): Do not re-add items to partition.
2151
bb3398ca
JH
21522011-05-03 Jan Hubicka <jh@suse.cz>
2153
2154 * lto.c (free_ltrans_partitions): Fix accidental commit.
2155
1cb1a99f
JH
21562011-05-03 Jan Hubicka <jh@suse.cz>
2157
2158 * lto.c (ltrans_partition_def): Remove GTY annotations.
2159 (ltrans_partitions): Move to heap.
2160 (new_partition): Update.
2161 (free_ltrans_partitions): New function.
2162 (lto_wpa_write_files): Use it.
2163
af8bca3c
MJ
21642011-04-29 Martin Jambor <mjambor@suse.cz>
2165
2166 * lto.c: Include ipa-utils.h.
2167 (lto_balanced_map): Update call to ipa_reverse_postorder.
2168 * Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
2169
b823cdfe
MM
21702011-04-29 Michael Matz <matz@suse.de>
2171
2172 * lto.c (toplevel): Include tree-flow.h.
2173 (lto_read_in_decl_state): Don't merge types here.
2174 (tree_with_vars): New static hash table.
2175 (remember_with_vars): New static functions.
2176 (LTO_FIXUP_TYPE): New macro.
2177 (lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
2178 lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
2179 lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
2180 lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
2181 (lto_read_decls): Uniquify while reading in trees.
2182 (lto_fixup_data_t, LTO_FIXUP_SUBTREE,
2183 LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
2184 lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
2185 lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
2186 lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
2187 lto_fixup_tree): Remove.
2188 (lto_fixup_state): Remove data argument. Use
2189 lto_symtab_prevailing_decl.
2190 (LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
2191 (lto_fixup_prevailing_decls): New function.
2192 (lto_fixup_state_aux): Argument aux is unused.
2193 (lto_fixup_decls): Don't allocate pointer sets, don't use
2194 lto_fixup_tree, use lto_fixup_prevailing_decls.
2195 (read_cgraph_and_symbols): Allocate and remove tree_with_vars.
2196 * Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
2197
b9843260
EB
21982011-04-16 Eric Botcazou <ebotcazou@adacore.com>
2199
2200 * lto.c (lto_balanced_map): Fix typos in head comment.
2201 (lto_promote_cross_file_statics): Fix long lines and remove redundant
2202 test.
2203
e7f23018
JH
22042011-04-16 Jan Hubicka <jh@suse.cz>
2205
2206 * lto.c (lto_balanced_map): Update.
2207
10a5dd5d
JH
22082011-04-14 Jan Hubicka <jh@suse.cz>
2209
2210 * lto.c: Include ipa-inline.h
b9843260
EB
2211 (add_cgraph_node_to_partition, undo_partition): Use inline_summary
2212 accessor.
10a5dd5d
JH
2213 (ipa_node_duplication_hook): Fix declaration.
2214 * Make-lang.in (lto.o): Update dependencies.
2215
81f653d6
NF
22162011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2217
2218 * lto-tree.h (union lang_tree_node): Check for TS_COMMON before
2219 calling TREE_CHAIN.
2220 * lto.c (lto_fixup_common): Likewise.
2221
dcf0c47e
NF
22222011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2223
2224 * lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2225 (handle_type_generic_attribute): Likewise.
2226
e89964e3
MM
22272011-04-03 Michael Matz <matz@suse.de>
2228
2229 * lto.c (lto_materialize_function): Don't read and then discard
2230 sections in WPA mode.
2231 (lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
2232
2233 * lto-lang.c (registered_builtin_fndecls): Remove.
2234 (lto_getdecls): Return NULL_TREE.
2235 (lto_builtin_function): Don't remember in registered_builtin_fndecls.
2236
d2b3fe18
RG
22372011-03-31 Richard Guenther <rguenther@suse.de>
2238
2239 PR lto/48246
2240 * lto.c (lto_wpa_write_files): Disable assert for non-empty
2241 partitions when checking is not enabled.
2242
ba78087b
KT
22432011-03-25 Kai Tietz <ktietz@redhat.com>
2244
2245 * lto.c (lto_resolution_read): Use filename_cmp instead
2246 of strcmp.
2247 (lto_read_section_data): Likewise.
2248
0edf1bb2
JL
22492011-03-25 Jeff Law <law@redhat.com>
2250
2251 * lto/lto-lang.c (def_fn_type): Add missing va_end.
2252
62d784f7
KT
22532011-03-21 Kai Tietz <ktietz@redhat.com>
2254
2255 PR target/12171
2256 * lto-lang.c (lto_attribute_table): Adjust table.
2257
62dd9571
JJ
22582011-02-18 Jakub Jelinek <jakub@redhat.com>
2259
2260 PR bootstrap/47807
2261 * Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
2262 of lto-streamer.h.
2263
237d6259
RG
22642011-02-18 Richard Guenther <rguenther@suse.de>
2265
2266 PR lto/47798
2267 * lto-tree.h (lto_global_var_decls): Do not declare here.
2268 * lto-lang.c: Include lto-streamer.h.
2269 * Make-lang.in (lto-lang.o): Adjust dependencies.
2270
8ead2223
KT
22712011-02-10 Kai Tietz <kai.tietz@onevision.com>
2272
2273 PR lto/47241
2274 * lto.c (lto_read_section_data): Free
2275 fd_name in failure case.
2276 For mingw targets don't hash file-descriptor.
2277 (read_cgraph_and_symbols): Close current_lto_file
2278 in failure case.
2279
6e701822
JH
22802011-01-11 Jan Hubicka <jh@suse.cz>
2281
2282 PR lto/45721
2283 PR lto/45375
b9843260
EB
2284 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
2285 are not partitioned.
6e701822 2286
f4da8dce
NF
22872010-12-22 Nathan Froyd <froydnj@codesourcery.com>
2288
2289 * lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
2290 Use prototype_p.
2291
6b7fb143
RG
22922010-12-06 Richard Guenther <rguenther@suse.de>
2293
2294 PR lto/46796
2295 * lto-lang.c (lto_init): Give names to basic types.
2296
c59ffc41
JM
22972010-11-30 Joseph Myers <joseph@codesourcery.com>
2298
2299 * lto-object.c: Don't include toplev.h.
2300 * Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
2301
7c475d11
JM
23022010-11-30 Joseph Myers <joseph@codesourcery.com>
2303
2304 * Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
2305 $(TOPLEV_H).
2306
71f3e391
JM
23072010-11-29 Joseph Myers <joseph@codesourcery.com>
2308
2309 * lto-endian.h: Delete.
2310 * lto-object.c: Don't include "libiberty.h".
2311 (O_BINARY): Don't define.
2312 * lto.c: Don't include "libiberty.h" or <sys/mman.h>.
2313 (O_BINARY): Don't define.
2314
9f1718b0
RG
23152010-11-23 Richard Guenther <rguenther@suse.de>
2316
2317 * lto.c (read_cgraph_and_symbols): Remove newline from diagnostic.
2318
39c4e298
RG
23192010-11-23 Richard Guenther <rguenther@suse.de>
2320
2321 PR lto/46605
2322 * lto.c (read_cgraph_and_symbols): Bail out after errors.
2323
b37421c6
JM
23242010-11-17 Joseph Myers <joseph@codesourcery.com>
2325
2326 * lto.c (lto_main): Take no arguments.
2327 * lto.h (lto_main): Update prototype.
2328
d82f74d3
ILT
23292010-11-16 Ian Lance Taylor <iant@google.com>
2330
2331 * lto-object.c (lto_obj_file_open): Call
2332 simple_object_attributes_merge rather than
2333 simple_object_attributes_compare.
2334
a4d8c676
JM
23352010-11-12 Joseph Myers <joseph@codesourcery.com>
2336
2337 * Make-lang.in (lto/lto.o): Use $(OPTS_H).
2338 * lto-lang.c (lto_handle_option): Take location_t parameter.
2339
d8a07487
JM
23402010-11-10 Joseph Myers <joseph@codesourcery.com>
2341
2342 * lto.c (lto_resolution_read): Start diagnostics with lowercase
2343 letters and remove trailing '.'.
2344 (lto_file_finalize): Start diagnostic with a lowercase letter.
2345
6b3456d1
ILT
23462010-11-02 Ian Lance Taylor <iant@google.com>
2347
2348 * lto-object.c: New file.
2349 * lto-elf.c: Remove file.
2350 * lto-macho.c: Remove file.
2351 * lto-macho.h: Remove file.
2352 * lto-coff.c: Remove file.
2353 * lto-coff.h: Remove file.
2354 * Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
2355 lto/lto-object.o.
2356 ($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
2357 (lto/lto-objfile.o): New target.
2358 (lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
2359 (lto/lto.o): Remove $(LIBIBERTY_H).
2360
030cd86c
JH
23612010-10-22 Jan Hubicka <jh@suse.cz>
2362
2363 * lto.c (add_cgraph_node_to_partition,
2364 add_varpool_node_to_partition): Add debug info.
2365 (lto_1_to_1_map, lto_balanced_map): Do not re-add already
2366 partitioned nodes.
2367 (do_whole_program_analysis): Set function flags before dumping.
2368
4490cae6
RG
23692010-10-22 Richard Guenther <rguenther@suse.de>
2370
2371 * lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
2372 the new gimple_register_canonical_type.
2373
703cdce3
L
23742010-10-20 H.J. Lu <hongjiu.lu@intel.com>
2375
2376 PR bootstrap/45954
2377 * config-lang.in (boot_language): Set to $enable_lto.
2378
1915c739
JJ
23792010-10-18 Jakub Jelinek <jakub@redhat.com>
2380
2381 PR lto/45638
2382 * Make-lang.in (check-lto): New dummy target.
2383
82971de5
EB
23842010-10-14 Eric Botcazou <ebotcazou@adacore.com>
2385
2386 * lto-elf.c (SHN_XINDEX): Define if not already defined.
2387
a75bfaa6
JM
23882010-10-08 Joseph Myers <joseph@codesourcery.com>
2389
2390 * lto-lang.c (lto_init_options): Change to
2391 lto_init_options_struct. Update parameters.
2392 (LANG_HOOKS_INIT_OPTIONS): Don't define.
2393 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
2394
937f7f69
JH
23952010-10-06 Jan Hubicka <jh@suse.cz>
2396
2397 * lto.c (lto_balanced_map): Fix accounting of program size.
2398
2169830c
JH
23992010-10-06 Jan Hubicka <jh@suse.cz>
2400
2401 * lto.c (lto_balanced_map): Do not produce empty partitions.
2402
ecdbd01a 24032010-10-06 Andi Kleen <ak@linux.intel.com>
6e9bd0f8
AK
2404
2405 * lto.c (lto_process_name): Add.
2406 (lto_main): Call lto_process_name.
2407
06ed016f
JH
24082010-10-06 Jan Hubicka <jh@suse.cz>
2409
2410 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
2411 COMDATs required by the linker.
2412
ae718d66
ILT
24132010-10-05 Ian Lance Taylor <iant@google.com>
2414
2415 * lto.c (lto_section_with_id): Make s a const pointer.
2416
852e4bd2
JH
24172010-10-05 Jan Hubicka <jh@suse.cz>
2418
2419 * lto.c: Include params.h.
2420 (add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
2421 refcounting in aux field.
2422 (undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
2423 New functions.
2424 (lto_1_to_1_map): Simplify.
2425 (lto_balanced_map): New function.
2426 (do_whole_program_analysis): Chose proper partitioning alg.
2427 * Make-lang.in (lto.o): Add dependency on params.h
2428
ecdbd01a 24292010-10-04 Andi Kleen <ak@linux.intel.com>
a90163e9
AK
2430
2431 * Make-lang.in (lto1): Add + to build rule.
2432
ecdbd01a 24332010-10-03 Andi Kleen <ak@linux.intel.com>
f1e92a43
AK
2434
2435 * lto.c (lto_file_finalize): Replace gcc_assert for missing section
2436 with fatal_error.
2437
0d6e14fd
JH
24382010-09-28 Jan Hubicka <jh@suse.cz>
2439
2440 * lto-lang.c (handle_leaf_attribute): New function.
2441 (lto_attribute_tables): Add leaf.
2442
fb462383
JZ
24432010-09-25 Jie Zhang <jie@codesourcery.com>
2444
2445 * lto.c (lto_read_all_file_options): Start a new line after
2446 printing out file names.
2447
051f8cc6
JH
24482010-09-24 Jan Hubicka <jh@suse.cz>
2449
2450 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
2451
64e0f5ff
JH
24522010-09-20 Jan Hubicka <jh@suse.cz>
2453
2454 PR tree-optimize/45605
2455 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
2456
a929ec3d
GP
24572010-09-18 Gerald Pfeifer <gerald@pfeifer.com>
2458
2459 * lto-elf.c (lto_obj_file_open): Also provide filename when
2460 elf_begin fails.
2461
4c588abf
JH
24622010-09-17 Jan Hubicka <jh@suse.cz>
2463
2464 * lto.c (lto_promote_cross_file_statics): Use const_value_known.
2465
c3224d6f
RG
24662010-09-17 Richard Guenther <rguenther@suse.de>
2467
2468 * lang.opt (flag_wpa): Also enable for the driver.
2469
52b3b3c7
JH
24702010-09-16 Jan Hubicka <jh@suse.cz>
2471
2472 * lto.c (lto_materialize_function): Do not tamper with STATIC and
2473 EXTERNAL flags.
2474
969c37b7
LB
24752010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2476
2477 * lto-tree.h (struct lang_type): Add variable_size GTY option.
2478
098a4f50
JH
24792010-09-08 Jan Hubicka <jh@suse.cz>
2480
2481 * lto.c (real_file_count, real_file_decl_data): New static vars.
2482 (read_cgraph_and_symbols): Use it.
2483
0f443ad0
RG
24842010-09-08 Richard Guenther <rguenther@suse.de>
2485
2486 * lto.c (read_cgraph_and_symbols): Collect again after each
2487 file.
2488
ee187353
JH
24892010-09-07 Jan Hubicka <jh@suse.cz>
2490
2491 * lto.c (promote_var, promote_fn): Set DECL_VISIBILITY_SPECIFIED.
2492
b3ec52d0
RG
24932010-09-03 Richard Guenther <rguenther@suse.de>
2494
2495 * lto-elf.c (validate_file): Always error if validation fails.
2496
f1395d4a
JH
24972010-08-20 Jan Hubicka <jh@suse.cz>
2498
2499 * lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
2500 (lto_wpa_write_files): Update comments.
2501
2429bce3
L
25022010-08-20 H.J. Lu <hongjiu.lu@intel.com>
2503
2504 PR bootstrap/45357
2505 * lto.c (lto_materialize_function): Replace has_analyzed_clone
2506 with has_analyzed_clone_p.
2507
e0f967db
JH
25082010-08-20 Jan Hubicka <jh@suse.cz>
2509
2510 * lto.c (has_analyzed_clone_p): New function
2511 (lto_materialize_function): Use callgraph to determine if
2512 body is needed.
2513 (materialize_cgraph): Remove DECL_IS_BUILTIN check.
2514
ac47786e
NF
25152010-08-20 Nathan Froyd <froydnj@codesourcery.com>
2516
2517 * lto.c: Use FOR_EACH_VEC_ELT.
2518
ecdbd01a 25192010-07-27 Andi Kleen <ak@linux.intel.com>
d720b869
AK
2520
2521 * Make-lang.in (lto.o): Add dependency to splay-tree.h
2522
5f20c657
JM
25232010-07-27 Joseph Myers <joseph@codesourcery.com>
2524
2525 * lto-lang.c (lto_handle_option): Update prototype and return
2526 value type. Remove duplicate assignment to result.
2527
7a9bf9a4
JM
25282010-07-27 Joseph Myers <joseph@codesourcery.com>
2529
2530 * lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
2531 New.
2532 (lto_init_options): Update prototype.
2533 (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
2534 Define.
2535
ecdbd01a 25362010-07-10 Andi Kleen <ak@linux.intel.com>
73ce4d1e
AK
2537
2538 PR lto/44992
2539 * lto.c: Include splay-tree.h
2540 (lto_resolution_read): Change to walk file_ids tree and parse
2541 extra file_id in resolution file.
2542 (lto_section_with_id): Add.
2543 (create_subid_section_table): Add.
2544 (lwstate): Add.
2545 (lto_create_files_from_ids): Add.
2546 (lto_file_read): Change to handle sub file ids and create list
2547 of file_datas. Add output argument for count.
2548 (get_section_data): Pass file_data to lto_get_section_name.
2549 (lto_flatten_file): Add.
2550 (read_cgraph_and_symbols): Handle linked lists of file_datas.
2551
ecdbd01a 25522010-07-10 Andi Kleen <ak@linux.intel.com>
2994ee14
AK
2553
2554 * lto-coff.c (hash_name, eq_name): Move.
2555 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
2556 * lto-elf.c: (hash_name, eq_name): Move.
2557 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
2558 * lto-macho.c: (hash_name, eq_name): Move.
2559 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
2560 * lto.c: (hash_name, eq_name): Move from lto-*.c
2561 (lto_obj_create_section_hash_table): Add.
2562 (free_with_string): Add.
2563
718f9c0f
MLI
25642010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
2565
2566 * lto-coff.c: Include diagnostic-core.h in every file that
2567 includes toplev.h.
2568 * lto-elf.c: Likewise.
2569 * lto-lang.c: Likewise.
2570 * lto-macho.c: Likewise.
2571
1b137837
JJ
25722010-07-07 Jakub Jelinek <jakub@redhat.com>
2573
2574 * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
2575 (validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
2576 objects.
2577
92eb4438
JH
25782010-07-05 Jan Hubicka <jh@suse.cz>
2579
2580 * lto.c (add_cgraph_node_to_partition): Forward declare; walk also
2581 nodes from same comdat group as well as all comdat functions referenced
2582 here.
b9843260
EB
2583 (add_varpool_node_to_partition, add_references_to_partition): New
2584 function.
2585 (lto_1_1_map): Skip COMDAT fnctions/variables; use
2586 add_varpool_node_to_partition; clear aux flags when done.
2587 (lto_promote_cross_file_statics): Do not promote stuff that gets
2588 duplicated to each ltrans.
92eb4438 2589
a05541a9
JH
25902010-07-04 Jan Hubicka <jh@suse.cz>
2591
2592 * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
2593
4a2ac96f
RG
25942010-06-13 Richard Guenther <rguenther@suse.de>
2595
2596 * lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
2597
1d536046
KT
25982010-06-09 Kai Tietz <kai.tietz@onevision.com>
2599
2600 * lto.c (lto_resolution_read): Pre-initialize local variable r.
2601 * lto-coff.c (coff_write_object_file): Add braces to if.
2602
a9429e29
LB
26032010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2604
2605 * lto.c (lto_read_in_decl_state): Use typed GC allocation.
2606 (lto_file_read): Likewise.
2607 (new_partition): Likewise.
2608 (read_cgraph_and_symbols): Likewise.
2609
5498f011
JM
26102010-06-07 Joseph Myers <joseph@codesourcery.com>
2611
2612 * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
2613 (lto_handle_option): Don't set flag_signed_char here.
2614
d4c0c9f6
RG
26152010-06-04 Richard Guenther <rguenther@suse.de>
2616
2617 PR lto/41584
2618 * lto.c (lto_1_to_1_map): Use the proper file_data for
2619 varpool nodes.
2620
0a5fa5a1
JH
26212010-05-30 Jan Hubicka <jh@suse.cz>
2622
2623 * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
2624 partitioning decisions.
2625
9eec9488
JH
26262010-05-29 Jan Hubicka <jh@suse.cz>
2627
2628 * lto.c (bitmap vector): Remove.
2629 (lto_cgraph_node_sets, lto_varpool_node_sets): Remove.
2630 (ltrans_partition_def): New structure.
2631 (ltrans_partition): New type and VECtor.
2632 (new_partition): New function.
2633 (add_cgraph_node_to_partition): New function.
2634 (lto_1_to_1_map): Reorganize for partitions.
2635 (lto_add_inline_clones): Remove.
2636 (lto_add_all_inlinees): Remove.
2637 (lto_promote_cross_file_statics): Use partitions.
2638 (cmp_partitions): New function.
2639 (lto_wpa_write_files): Do not call lto_add_all_inlinees;
2640 use partitions; output files sorted by size.
2641
3e097227
SB
26422010-05-29 Steven Bosscher <steven@gcc.gnu.org>
2643
2644 * Make-lang.in: Replace vec.h dependency with VEC_H.
2645
7ca92787
JM
26462010-05-28 Joseph Myers <joseph@codesourcery.com>
2647
2648 * lto-coff.c (coff_errmsg): Remove.
2649 (lto_coff_begin_section_with_type, lto_obj_append_data): Use %m in
2650 errors instead of coff_errmsg (-1).
2651 * lto-macho.c (mach_o_errmsg): Remove.
2652 (lto_obj_begin_section, lto_obj_append_data): Use %m in errors
2653 instead of mach_o_errmsg (-1).
2654 * lto.c (read_cgraph_and_symbols): Use %m in errors instead of
2655 xstrerror (errno).
2656
b5611987
RG
26572010-05-28 Richard Guenther <rguenther@suse.de>
2658
2659 * lto.c (prefix_name_with_star): Removed.
2660 (strip_extension): Likewise.
2661 (get_filename_for_set): Likewise.
2662 (lto_write_ltrans_list): Fold into ...
2663 (lto_wpa_write_files): ... this. Name LTRANS units
2664 by suffixing the ltrans output list filename.
2665 (do_whole_program_analysis): Adjust.
2666
1da2ed5f
JM
26672010-05-27 Joseph Myers <joseph@codesourcery.com>
2668
2669 * lto.c: Include diagnostic-core.h instead of diagnostic.h.
2670 (read_cgraph_and_symbols, lto_main): Use seen_error.
2671 * Make-lang.in (lto/lto.o): Update dependencies.
2672
7951d88a
EB
26732010-05-27 Eric Botcazou <ebotcazou@adacore.com>
2674
2675 PR lto/44230
2676 * lto.h (lto_eh_personality): New prototype.
2677 * lto.c: Include debug.h.
2678 (first_personality_decl): New static variable.
2679 (lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
2680 first function for which it is non-null.
2681 (lto_eh_personality_decl): New static variable.
2682 (lto_eh_personality): New function.
2683 * lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
2684 * Make-lang.in (lto/lto.o): Add dependency on debug.h.
2685
e12da9c2
SB
26862010-05-26 Steven Bosscher <steven@gcc.gnu.org>
2687
2688 * lto-lang.c: Do not include expr.h.
2689
468194f4
RG
26902010-05-24 Richard Guenther <rguenther@suse.de>
2691
2692 * lto-elf.c (lto_obj_build_section_table): Work around
2693 FreeBSD libelf issue.
2694
bd9eb5da
RG
26952010-05-22 Richard Guenther <rguenther@suse.de>
2696
2697 * lto.c (read_cgraph_and_symbols): Do not collect.
2698
66576e1b
JH
26992010-05-20 Jan Hubicka <jh@suse.cz>
2700
2701 * lto.c (promote_var, promote_fn): New functions.
2702 (lto_promote_cross_file_statics): Compute correctly boundary including
2703 static initializers of readonly vars.
2704
36576655
JH
27052010-05-18 Jan Hubicka <jh@suse.cz>
2706
66576e1b 2707 * lto.c (lto_1_to_1_map): Partition non-inline clones.
36576655
JH
2708 (lto_promote_cross_file_statics): Deal with non-inline clones.
2709
28632d63
JH
27102010-05-18 Jan Hubicka <jh@suse.cz>
2711
2712 * lto.c (lto_materialize_function): Announce function when
2713 reading body; allocate_struct_function only when reading body;
2714 do not finalize local statics; ggc_collect after reading;
2715 do not mark reachable node.
2716 (materialize_cgraph): Do not announce function.
2717
33e42d56
JH
27182010-05-11 Jan Hubicka <jh@suse.cz>
2719
2720 * lto.c (materialize_cgraph): Revert my previous patch.
2721
f6430ea5
KT
27222010-05-11 Kai Tietz <kai.tietz@onevision.com>
2723
2724 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
2725 IMAGE_FILE_MACHINE_AMD64.
2726 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
2727
0a0b07b7
JH
27282010-05-11 Jan Hubicka <jh@suse.cz>
2729
2730 * lto.c (lto_fixup_decls): Remove global var decls freeing here.
2731 (materialize_cgraph): Add it here.
2732
9a809897
JH
27332010-05-11 Jan Hubicka <jh@suse.cz>
2734
2735 * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
2736 vector.
2737
27382010-05-11 Jan Hubicka <jh@suse.cz>
2739
2740 * lto.c (lto_1_to_1_map): Remove some no longer needed checks.
2741 (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
2742 use reachable_from_other_partition_p and
2743 referenced_from_other_partition_p test.
2744
94f64249
KT
27452010-05-11 Kai Tietz <kai.tietz@onevision.com>
2746
2747 * lto-coff.c (validate_file): Add x64-coff support.
2748 * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
2749 (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
2750 * lto-lang.c (lto_build_c_type_nodes): Add check for
2751 'long long unsigned int' for x64-windows.
2752 (lto_init): Likewise.
2753
2754
c082f9f3
SB
27552010-05-07 Steven Bosscher <steven@gcc.gnu.org>
2756
2757 * lto.h (struct lto_file_struct): Document offset member.
2758 * lto-endian.h: New file.
2759 * lto-macho.h: New file.
2760 * lto-macho.c: New file.
2761 * Make-lang.in: Add rule for lto-macho.o.
2762
3f8257db 27632010-05-07 Richard Guenther <rguenther@suse.de>
5cd0e96b
RG
2764
2765 PR lto/43857
2766 PR lto/43371
2767 * lang.opt (fresolution): Change to ...
2768 (fresolution=): ... this.
2769 * lto-lang.c (lto_handle_option): Adjust.
2770
48cf395b
RB
27712010-05-07 Richard Guenther <rguenther@suse.de>
2772
2773 * lto.c (DUMPBASE_SUFFIX): Remove.
2774 (lto_execute_ltrans): Move functionality to lto-wrapper.c.
2775 Rename to ...
2776 (lto_write_ltrans_list): ... only output the list of ltrans files.
2777 (lto_maybe_unlink): Remove.
2778 (do_whole_program_analysis): Do not execute LTRANS phase
2779 from here.
2780
afa83c15
L
27812010-05-06 H.J. Lu <hongjiu.lu@intel.com>
2782
2783 * lto-lang.c (lto_handle_option): Add argument kind.
2784
369451ec
JH
27852010-05-05 Jan Hubicka <jh@suse.cz>
2786
48cf395b
RB
2787 * lto.c (lto_promote_cross_file_statics): Compute boundary based on
2788 refs.
369451ec 2789
2f41ecf5
JH
27902010-05-05 Jan Hubicka <jh@suse.cz>
2791
2792 * lto.c (lto_1_to_1_map): Partition only needed nodes.
2793
ace72c88
JH
27942010-04-30 Jan Hubicka <jh@suse.cz>
2795
b9843260
EB
2796 * lto.c (get_filename_for_set): Look for cgraph node and if none found,
2797 use default name.
ace72c88
JH
2798 (lto_wpa_write_files): Write any non-empty partition.
2799
05575e07
JH
28002010-04-30 Jan Hubicka <jh@suse.cz>
2801
2802 * lto.c: Do not attempt to make constant pool references global.
2803
49ba8180
JH
28042010-04-28 Jan Hubicka <jh@suse.cz>
2805
2806 * lto/lto.c (lto_read_in_decl_state): Use GGC.
2807 (lto_wpa_write_files): Announce what we are writting.
2808 (all_file_decl_data): New.
2809 (read_cgraph_and_symbols): Use GGC; correct timevars.
2810 (do_whole_program_analysis): Collect.
2811 * lto/Make-lang.in (lto.o): Fix dependency.
2812 * Makefile.in (GTFILES): Add lto-streamer.h.
2813 * varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
2814 (varpool_assemble_pending_decls): Use VAROUT.
2815 * lto-streamer.h (lto_tree_ref_table): Annotate.
2816 (lto_in_decl_state): Annotate.
2817 (lto_file_decl_data): Annotate.
2818
2942c502
JH
28192010-04-28 Jan Hubicka <jh@suse.cz>
2820
2821 * lto.c (lto_varpool_node_sets): New.
2822 (lto_1_to_1_map): Partition varpool too.
2823 (globalize_context_t, globalize_cross_file_statics,
2824 lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
2825 lto_scan_statics_in_remaining_global_vars): Remove.
2826 (lto_promote_cross_file_statics): Rewrite.
2827 (get_filename_for_set): Take vset argument.
2828 (lto_wpa_write_files): Pass around vsets.
2829
3bec79c5
DK
28302010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
2831
2832 PR lto/42776
2833 * Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
2834 hardcoding 'lto-elf.o'.
2835 ($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.
2836
2837 * lto-coff.h: New file.
2838 * lto-coff.c: Likewise.
2839
21aac880
RG
28402010-04-26 Richard Guenther <rguenther@suse.de>
2841
2842 * lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
2843
2cee0101
DK
28442010-04-26 Dave Korn <dave.korn.cygwin@gmail.com>
2845
2846 * lto.h (lto_elf_file_open): Rename prototype from this ...
2847 (lto_obj_file_open): ... to this.
2848 (lto_elf_file_close): Likewise ...
2849 (lto_obj_file_close): ... and likewise.
2850 (lto_elf_build_section_table): Likewise ...
2851 (lto_obj_build_section_table): ... and likewise.
2852 (lto_elf_begin_section): Likewise ...
2853 (lto_obj_begin_section): ... and likewise.
2854 (lto_elf_append_data): Likewise ...
2855 (lto_obj_append_data): ... and likewise.
2856 (lto_elf_end_section): Likewise ...
2857 (lto_obj_end_section): ... and likewise.
2858 * lto.c (lto_file_read): Update references to the above.
2859 (lto_wpa_write_files): Likewise.
2860 (lto_read_all_file_options): Likewise.
2861 (read_cgraph_and_symbols): Likewise.
2862 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
2863 (LANG_HOOKS_APPEND_DATA): Likewise.
2864 (LANG_HOOKS_END_SECTION): Likewise.
2865 * lto-elf.c (lto_elf_file_open): Rename from this ...
2866 (lto_obj_file_open): ... to this, updating any references.
2867 (lto_elf_file_close): Likewise ...
2868 (lto_obj_file_close): ... and likewise.
2869 (lto_elf_build_section_table): Likewise ...
2870 (lto_obj_build_section_table): ... and likewise.
2871 (lto_elf_begin_section): Likewise ...
2872 (lto_obj_begin_section): ... and likewise.
2873 (lto_elf_append_data): Likewise ...
2874 (lto_obj_append_data): ... and likewise.
2875 (lto_elf_end_section): Likewise ...
2876 (lto_obj_end_section): ... and likewise.
2877
bc58d7e1
JH
28782010-04-21 Jan Hubicka <jh@suse.cz>
2879
2880 * lto.c (lto_fixup_tree): Do not call wpa fixup.
2881 (materialize_cgraph): Likewise.
2882
e792884f
JH
28832010-04-21 Jan Hubicka <jh@suse.cz>
2884
2885 * lto.c (lto_wpa_write_files): Update.
2886 (read_cgraph_and_symbols): Be more verbose.
2887 (materialize_cgraph): Likewise.
2888 (do_whole_program_analysis): Likewise.
2889
c9945504
JH
28902010-04-21 Jan Hubicka <jh@suse.cz>
2891
2892 * lto.c (globalize_cross_file_statics): When function has address taken,
2893 it needs to be public.
2894
a837268b
JH
28952010-04-20 Jan Hubicka <jh@suse.cz>
2896
2897 * lto.c (lto_add_inline_clones): Do not track inlined_decls.
2898 (lto_add_all_inlinees): Likewise.
2899 (lto_wpa_write_files): Likewise.
2900
3b9e5d95
EB
29012010-04-18 Eric Botcazou <ebotcazou@adacore.com>
2902
2903 * lto-lang.c (lto_init): Remove second argument in call to
2904 build_common_tree_nodes.
2905
8ccb78f2
RO
29062010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2907
2908 * lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
2909 function.
2910
2f9b99e6
EB
29112010-03-09 Eric Botcazou <ebotcazou@adacore.com>
2912
2913 PR bootstrap/43276
2914 * lto-elf.c: Define EM_* constants if not already defined.
2915
bef7d288
EB
29162010-03-03 Eric Botcazou <ebotcazou@adacore.com>
2917
2918 * lto-elf.c (is_compatible_architecture): New static function.
2919 (DEFINE_VALIDATE_EHDR): Use it to validate the architecture.
2920
f68df07c
RG
29212010-02-11 Richard Guenther <rguenther@suse.de>
2922
2923 PR driver/43021
2924 * lto-elf.c (lto_elf_file_open): Handle file@offset case more
2925 appropriately.
2926
3cdea2b4
AH
29272010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
2928
2929 * lto.c (O_BINARY): Define.
2930 (lto_read_section_data): Open file in binary mode.
2931 * lto-elf.c (O_BINARY): Define.
2932 (lto_elf_file_open): Open file in binary mode.
2933
c59449fa
RG
29342010-01-08 Richard Guenther <rguenther@suse.de>
2935
2936 PR lto/42528
2937 * lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
2938 (lto_init): Do not init char_type_node in a standard way
2939 but according to flag_signed_char.
2940
d7fb0a6d
L
29412010-01-03 H.J. Lu <hongjiu.lu@intel.com>
2942
2943 PR lto/41564
2944 * lto.c (DUMPBASE_SUFFIX): New.
2945 (lto_execute_ltrans): Append a sequence number to -dumpbase
2946 for LTRANS.
2947
78ce4053
L
29482010-01-02 H.J. Lu <hongjiu.lu@intel.com>
2949
2950 PR lto/42580
2951 * lto-elf.c (lto_elf_file_open): Stop if the command line
2952 option file is missing.
2953
2a71eb48
RG
29542009-12-15 Richard Guenther <rguenther@suse.de>
2955
2956 * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
2957 (lto_post_options): Do not disable debuginfo.
2958
a818bca1
DG
29592009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
2960
2961 * Make-lang.in ($(LTO_EXE)): Use $(LINKER).
2962
e7d00517
RG
29632009-12-11 Richard Guenther <rguenther@suse.de>
2964
2965 PR lto/42037
2966 * lto.c (lto_resolution_read): Properly grow the vector.
2967
1ab53893
RG
29682009-12-11 Richard Guenther <rguenther@suse.de>
2969
2970 PR lto/41915
2971 * lto-lang.c (lto_init_options): Initialize flag_complex_method
2972 to the C99 default. Do not set flag_unit_at_a_time.
2973
0f900dfa
JJ
29742009-11-28 Jakub Jelinek <jakub@redhat.com>
2975
2976 * lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
2977 variable.
2978
92fa7608
RAE
29792009-11-19 Rafael Avila de Espindola <espindola@google.com>
2980
2981 PR bootstrap/42096
2982 * lto-elf.c (lto_elf_file_open): Use lto_parse_hex.
2983 * lto.c (lto_parse_hex): New.
2984 (lto_resolution_read): Use lto_parse_hex.
2985 * lto.h (lto_parse_hex): New.
2986
9870fe4f
RAE
29872009-11-17 Rafael Avila de Espindola <espindola@google.com>
2988
2989 * lto-elf.c (lto_file_init): Add offset argument.
2990 (lto_elf_file_open): Record the offset.
2991 * lto.c (lto_resolution_read): Change file_name into a lto_file
2992 argument. Check offsets.
2993 (lto_file_read): Update call to lto_resolution_read.
2994 * lto.h (lto_file_struct): Add the offset field.
2995
1b70729f
RAE
29962009-11-16 Rafael Avila de Espindola <espindola@google.com>
2997
2998 * lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.
2999
0e3776db
JH
30002009-11-14 Jan Hubicka <jh@suse.cz>
3001
3002 * lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
3003
06bd7f56
RAE
30042009-11-12 Rafael Avila de Espindola <espindola@google.com>
3005
3006 * lang.opt (fresolution): Renamed from resolution.
3007 * lto-lang.c (lto_handle_option): Handle new option name.
3008 * lto.c (lto_resolution_read): Add more checks. Discard rest of line.
3009
7e9dc421
RG
30102009-11-04 Richard Guenther <rguenther@suse.de>
3011 Rafael Avila de Espindola <espindola@google.com>
3012
3013 * lto-elf.c (lto_elf_build_section_table): Add the base offset.
3014 (lto_elf_file_open): Handle offsets in arguments name@offest.
3015
b207f900
RG
30162009-10-30 Richard Guenther <rguenther@suse.de>
3017
3018 PR lto/41858
3019 * lto.c (lto_file_read): Do not set file_data->fd.
3020 (lto_read_section_data): Use a single-entry file-descriptor cache.
3021 Do not check the result of xmalloc.
3022 (free_section_data): Do not use file_data->fd.
3023 (lto_read_all_file_options): Likewise.
3024
2c928155
RG
30252009-10-22 Richard Guenther <rguenther@suse.de>
3026
3027 * lto.c (lto_fixup_jump_functions): Remove.
3028 (lto_fixup_decls): Do not fixup jump functions.
3029 (read_cgraph_and_symbols): Schedule cgraph merging after
3030 summary reading. Schedule type and decl fixup before
3031 summary reading.
3032
f9c91f8a
RB
30332009-10-22 Richard Guenther <rguenther@suse.de>
3034
3035 * lto.c (lto_fixup_data_t): Remove free_list member.
3036 (lto_fixup_tree): Do not insert into free_list.
3037 (free_decl): Remove.
3038 (lto_fixup_decls): Remove free-list handling.
3039
fb3f88cc
JH
30402009-10-22 Jan Hubicka <jh@suse.cz>
3041
3042 * lto.c (lto_fixup_jump_functions): New function.
3043 (lto_fixup_decls): Use it.
3044
35f1e9f4
RG
30452009-10-16 Richard Guenther <rguenther@suse.de>
3046
3047 PR lto/41715
3048 * lto.c (lto_fixup_tree): Revert last change.
3049
200c8750
RG
30502009-10-14 Richard Guenther <rguenther@suse.de>
3051
3052 * lto.c (lto_fixup_tree): In case the prevailing decl is not
3053 compatible with the one we replace wrap it around a
3054 VIEW_CONVERT_EXPR.
3055
b1b07c92
RG
30562009-10-09 Richard Guenther <rguenther@suse.de>
3057
3058 PR lto/41635
3059 PR lto/41636
3060 * lto.c (read_cgraph_and_symbols): Do not assert we can open
3061 a file.
3062 * lto-elf.c (init_shdr##BITS): Fix i18n problems.
3063 (init_ehdr##BITS): Likewise.
3064
3c2e7d45
JM
30652009-10-08 Joseph Myers <joseph@codesourcery.com>
3066
3067 * lto-elf.c (init_shdr##BITS, lto_elf_begin_section_with_type,
3068 init_ehdr##BITS, lto_elf_file_close): Remove trailing "." from
3069 diagnostics.
3070 * lto-lang.c (lto_post_options): Remove trailing "." from
3071 diagnostics.
3072
0d0bfe17
RG
30732009-10-08 Richard Guenther <rguenther@suse.de>
3074
3075 * lto.c (read_cgraph_and_symbols): Free the gimple type merging
3076 hash tables.
3077
4bedf19a
JM
30782009-10-07 Joseph Myers <joseph@codesourcery.com>
3079
3080 * lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
3081
b20996ff
JH
30822009-10-07 Jan Hubicka <jh@suse.cz>
3083
3084 * lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
3085 ltrans stage; explain why this is needed and should not.
3086
1a735925
RG
30872009-10-05 Richard Guenther <rguenther@suse.de>
3088
3089 PR lto/41552
3090 PR lto/41487
3091 * lto.c (lto_read_decls): Do not register deferred decls.
3092 (read_cgraph_and_symbols): Delay symbol and cgraph merging
3093 until after reading the IPA summaries.
3094
d7f09764
DN
30952009-10-02 Rafael Avila de Espindola <espindola@google.com>
3096
3097 * Make-lang.in (lto/lto-lang.o): Don't depend on lto/common.h.
3098 (lto-lang.c): Don't include lto/common.h.
3099
31002009-10-02 Rafael Avila de Espindola <espindola@google.com>
3101
3102 * Make-lang.in (LTO_OBJS): Remove lto/common.o.
3103 (lto/common.o): Remove.
3104 * common.c: Remove.
3105 * common.h (lto_kind_str): Remove.
3106 (lto_visibility_str): Remove.
3107 (lto_resolution_str): Make it static.
3108
31092009-10-01 Diego Novillo <dnovillo@google.com>
3110
3111 * lto.c (lto_read_decls): Add comment.
3112 Call internal_error instead of gcc_assert.
3113 (lto_resolution_read): Likewise.
3114 (lto_add_all_inlinees): Tidy.
3115 * Make-lang.in: Fix copyright boilerplate.
3116 (lto.pdf): New.
3117 (lto.install-pdf): New.
3118 * lto-tree.h: Fix copyright boilerplate.
3119 * lang-specs.h: Likewise.
3120 Remove ".lto" entry from compilers fragment.
3121 * lto-elf.c: Move inclusion of gelf.h after config.h.
3122 Tidy formatting everywhere.
3123 * lto.h: Fix copyright boilerplate.
3124 Tidy formatting everywhere.
3125 * common.c: Likewise.
3126 * config-lang.in: Likewise.
3127 * common.h: Likewise.
3128 * lto-lang.c: Likewise.
3129
31302009-10-01 Richard Guenther <rguenther@suse.de>
3131
3132 * lto.c (lto_read_section_data): Use plain lseek/read.
3133
31342009-10-01 Richard Guenther <rguenther@suse.de>
3135
3136 * lto.c (LTO_MMAP_IO): Define if we can mmap files and
3137 use sysconf to query the system page size.
3138 (lto_file_read): Implement fallback using stdio.
3139 (free_section_data): Likewise.
3140
31412009-09-29 Diego Novillo <dnovillo@google.com>
3142
3143 * lto-lang.c (lto_init): Really fix call to
3144 build_common_builtin_nodes.
3145
31462009-09-29 Diego Novillo <dnovillo@google.com>
3147
3148 * lto-lang.c (lto_init): Fix call to
3149 build_common_builtin_nodes.
3150
31512009-09-29 Richard Guenther <rguenther@suse.de>
3152
3153 PR lto/40754
3154 * lto-elf.c (init_shdr##BITS): Properly specify alignment
3155 in bytes.
3156 (first_data_block): New static variable.
3157 (lto_elf_append_data): Align the first data block in each
3158 section.
3159
31602009-09-28 Diego Novillo <dnovillo@google.com>
3161
3162 * lto-lang.c: Tidy. Remove stale FIXME lto markers.
3163 * lto.c (strip_extension): New.
3164 (get_filename_for_set): Call it. Do not call make_cwd_temp_file.
3165 (lto_execute_ltrans): Tidy.
3166 Do not pass -fwpa nor -fltrans-* to LTRANS.
3167 * opts.c: Tidy formatting and remove stale FIXME lto markers.
3168 * tree.c (need_assembler_name_p): Call
3169 lang_hooks.decls.may_need_assembler_name_p if set.
3170 * varasm.c (default_binds_local_p_1): Remove check for
3171 flag_ltrans.
3172 * varpool.c (decide_is_variable_needed): Do not test for
3173 in_lto_p.
3174
31752009-09-22 Richard Guenther <rguenther@suse.de>
3176
3177 PR lto/39276
3178 * lto.c (lto_execute_ltrans): Perform ltrans phase manually.
3179 * Make-lang.in: Remove ltrans-driver stuff.
3180 * config-lang.in: Likewise.
3181 * lang.opt (fltrans-driver): Remove.
3182 * lto-lang.c (lto_init_options): Remove code initializing
3183 ltrans_driver.
3184 * ltrans-driver: Remove.
3185
31862009-09-21 Diego Novillo <dnovillo@google.com>
3187
3188 * lto-lang.c (lto_define_builtins): Remove superfluous
3189 calls to targetm.init_builtins and build_common_builtin_nodes.
3190 (lto_init): Add targetm.arm_eabi_unwinder as parameter to
3191 build_common_builtin_nodes.
3192 * lto.c (lto_materialize_function): Do nothing if NODE is a
3193 clone.
3194
31952009-09-03 Diego Novillo <dnovillo@google.com>
3196
3197 * lto-elf.c (validate_file): Replace call to
3198 elf_getshstrndx with call to elf_getshdrstrndx.
3199
32002009-08-19 Richard Guenther <rguenther@suse.de>
3201
3202 * lto-lang.c (lto_init): Merge char_type_node with the
3203 appropriately signed variant.
3204
32052009-08-19 Richard Guenther <rguenther@suse.de>
3206
3207 PR lto/41071
3208 * lto.c (lto_fixup_common): Re-build the pointer-to chain part one.
3209 (lto_fixup_type): Re-build the pointer-to chain part two.
3210
32112009-08-19 Richard Guenther <rguenther@suse.de>
3212
3213 PR lto/41071
3214 * lto.c (lto_fixup_type): Re-build the type variant chain.
3215
32162009-08-19 Richard Guenther <rguenther@suse.de>
3217
3218 PR lto/41071
3219 * lto.c (lto_fixup_constructor): New function.
3220 (lto_fixup_tree): Replace all types. Properly fixup
3221 constructors and constants.
3222
32232009-08-14 Richard Guenther <rguenther@suse.de>
3224
3225 * lto.c (read_cgraph_and_symbols): Exchange TREE_CHAIN use
3226 for DECL_LANG_SPECIFIC.
3227
32282009-08-13 Richard Guenther <rguenther@suse.de>
3229
3230 PR lto/41032
3231 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define to NULL.
3232
32332009-07-30 Richard Guenther <rguenther@suse.de>
3234
3235 PR lto/40903
3236 * lto.c (read_cgraph_and_symbols): After fixing up decls choose
3237 the largest decl for output and free TREE_CHAIN for further
3238 use.
3239
32402009-07-24 Diego Novillo <dnovillo@google.com>
3241
3242 * Make-lang.in: Add empty lto.install-plugin target.
3243
32442009-07-13 Diego Novillo <dnovillo@google.com>
3245
3246 * lto.c (lto_fixup_tree): Handle IMPORTED_DECL.
3247
32482009-07-11 Richard Guenther <rguenther@suse.de>
3249
3250 * lto-lang.c (lto_write_globals): Wrapup global decls.
3251
32522009-07-10 Richard Guenther <rguenther@suse.de>
3253
3254 * lto-lang.c (lto_init): Allocate one more location to make
3255 BUILTINS_LOCATION correct.
3256
32572009-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3258
3259 * lto.c (free_section_data): Cast computed_offset to caddr_t.
3260
32612009-07-06 Diego Novillo <dnovillo@google.com>
3262
3263 * lto.c (lto_fixup_type): Fixup TYPE_SIZE and
3264 TYPE_SIZE_UNIT.
3265
32662009-07-06 Diego Novillo <dnovillo@google.com>
3267
3268 * lto.c (preload_common_nodes): Remove.
3269 (lto_read_in_decl_state): Call lto_streamer_cache_get.
3270 (lto_read_decls): Call lto_data_in_create and
3271 lto_data_in_delete.
3272 (free_decl): Do not call ggc_free.
3273 (lto_main): Call lto_init_reader.
3274 * lto-lang.c (lto_type_for_size): Handle intTI_type_node.
3275 (lto_init): Initialize main_identifier_node if needed.
3276 Make ptrdiff_type_node be integer_type_node.
3277
32782009-06-19 Diego Novillo <dnovillo@google.com>
3279
3280 * lto.c: Remove code guarded by #ifdef LTO_STREAM_DEBUGGING.
3281 Remove code guarded by #ifdef GLOBAL_STREAMER_TRACE.
3282 Remove code guarded by #ifdef LOCAL_TRACE.
3283
32842009-06-18 Diego Novillo <dnovillo@google.com>
3285
3286 * lto.c: Update license to GPLv3.
3287 * lto-elf.c: Likewise.
3288 * common.c: Likewise.
3289 * lto-lang.c: Likewise.
3290 * lto.h: Remove superfluous include files. Update all
3291 users.
3292
32932009-06-17 Diego Novillo <dnovillo@google.com>
3294
3295 * lto.c (read_cgraph_and_symbols): Call input_cgraph.
3296
32972009-06-02 Diego Novillo <dnovillo@google.com>
3298
3299 * lto.c (lto_1_to_1_map): Ignore nodes that have not been
3300 read in.
3301 (materialize_cgraph): Only materialize nodes that have a
3302 representation on file.
3303
33042009-06-01 Diego Novillo <dnovillo@google.com>
3305
3306 * lto-lang.c (lto_handle_option): Hanlde OPT_Wabi.
3307
33082009-05-31 Diego Novillo <dnovillo@google.com>
3309
3310 * lto-lang.c (lto_type_for_mode): Handle all the modes
3311 handled in c_common_type_for_mode.
3312
33132009-05-21 Diego Novillo <dnovillo@google.com>
3314
3315 * lto-elf.c: Always include <gelf.h>.
3316 * config-lang.in (target_libs): Remove.
3317 (build_by_default): Set to no.
3318
33192009-05-15 Diego Novillo <dnovillo@google.com>
3320
3321 * lto.c (lto_materialize_function): Assert that DECL is
3322 not a builtin.
3323 (materialize_cgraph): Don't try to materialize builtin
3324 functions.
3325 * lto-section-out.c (write_symbol_vec): Do not write
3326 builtin functions.
3327
33282009-05-13 Diego Novillo <dnovillo@google.com>
3329
3330 * lto-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define.
3331
33322009-05-07 Diego Novillo <dnovillo@google.com>
3333
3334 * lto.c (lto_resolution_read): Add type casts for C++ warnings.
3335 (LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE): Define.
3336 (lto_fixup_type): Call it for TYPE_POINTER_TO,
3337 TYPE_REFERENCE_TO, TYPE_CONTEXT and TYPE_CANONICAL.
3338 (lto_fixup_tree): Call gimple_register_type when *TP is a
3339 type.
3340 (lto_main): Call bitmap_obstack_initialize.
3341
33422009-04-22 Diego Novillo <dnovillo@google.com>
3343
3344 * lto.c (free_section_data): Tidy.
3345 (lto_1_to_1_map): Tidy.
3346 (lto_add_all_inlinees): Tidy.
3347 (prefix_name_with_star): New.
3348 (get_filename_for_set): New.
3349 (lto_wpa_write_files): Call cgraph_node_set_needs_ltrans_p
3350 to determine what cgraph node sets to write.
3351 Call get_filename_for_set to compute temporary file
3352 names.
3353 (lto_execute_ltrans): Do not execute LTRANS on files with
3354 names that start with '*'.
3355 Move logic to execute LTRANS together so that LTRANS is
3356 invoked only if there are any files to compile.
3357 (do_whole_program_analysis): Only remove output files
3358 that do not start with '*'.
3359
33602009-04-06 Diego Novillo <dnovillo@google.com>
3361
3362 * lto-lang.c (lto_post_options): Set flag_excess_precision_cmdline.
3363 * lto.c (read_cgraph_and_symbols): Set cgraph_function_flags_ready.
3364 (lto_add_all_inlinees): Tidy.
3365
33662009-03-26 Diego Novillo <dnovillo@google.com>
3367
3368 * lto.c: Include gimple.h.
3369 (lto_read_in_decl_state): Call gimple_register_type for
3370 every type in every stream.
3371 (lto_fixup_common): Call gimple_register_type if T has a
3372 type.
3373 (do_whole_program_analysis): Call print_lto_report.
3374 (lto_main): Call print_lto_report after cgraph_optimize.
3375 * Make-lang.in (lto.o): Add dependency on GIMPLE_H.
3376
33772009-03-24 Diego Novillo <dnovillo@google.com>
3378
3379 * Make-lang.in (lto-lang.o): Add dependency on TARGET_H and EXPR_H.
3380 (lto.o): Add dependency on GIMPLE_H.
3381
33822009-03-10 Simon Baldwin <simonb@google.com>
3383
3384 * lto.c (lto_read_all_file_options): Close any open file descriptor
3385 contained in file_data before freeing.
3386
33872009-02-24 Rafael Avila de Espindola <espindola@google.com>
3388
3389 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
3390 for a decl in the original bitmap, not a node.
3391 (lto_add_all_inlinees): Remove original nodes that are not needed.
3392 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
3393
33942009-02-24 Diego Novillo <dnovillo@google.com>
3395
3396 * lto.c (lto_materialize_function): Update
3397 lto_stats.num_function_bodies.
3398 (get_section_data): Initialize *LEN to 0.
3399 (lto_1_to_1_map): Update lto_stats.num_cgraph_partitions.
3400 (lto_wpa_write_files): Update lto_stats.num_cgraph_nodes.
3401 Update lto_stats.num_output_files.
3402 (read_cgraph_and_symbols): Update lto_stats.num_input_files.
3403 (materialize_cgraph): Update lto_stats.num_input_cgraph_nodes.
3404 (lto_main): Initialize lto_stats.
3405 If flag_lto_report is set, call print_lto_report.
3406
34072009-02-19 Diego Novillo <dnovillo@google.com>
3408
3409 Revert
3410
3411 2009-02-19 Rafael Avila de Espindola <espindola@google.com>
3412
3413 * lto.c (lto_add_inline_clones): Don't add the
3414 master clone. Check for a decl in the original
3415 bitmap, not a node.
3416 (lto_add_all_inlinees): Remove original nodes
3417 that are not needed.
3418 (lto_scan_statics_in_cgraph_node): Don't care if
3419 the node is the master.
3420 (lto_promote_cross_file_statics): Use a new
3421 context.seen_node_decls for each set
3422
34232009-02-19 Rafael Avila de Espindola <espindola@google.com>
3424
3425 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
3426 for a decl in the original bitmap, not a node.
3427 (lto_add_all_inlinees): Remove original nodes that are not needed.
3428 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
3429 (lto_promote_cross_file_statics): Use a new context.seen_node_decls
3430 for each set
3431
34322009-02-18 Diego Novillo <dnovillo@google.com>
3433
3434 * lto.c (lto_wpa_write_files): Use timers TV_WHOPR_WPA
3435 and TV_WHOPR_WPA_IO.
3436 (lto_execute_ltrans): Use timer TV_WHOPR_WPA_LTRANS_EXEC.
3437 (read_cgraph_and_symbols): Use timer TV_IPA_LTO_DECL_IO.
3438 (materialize_cgraph): Use timer TV_IPA_LTO_GIMPLE_IO.
3439 Use timer TV_WHOPR_WPA or TV_WHOPR_LTRANS or TV_LTO
3440 depending on command line flags.
3441 (do_whole_program_analysis): Use timer TV_WHOPR_WPA.
3442 (lto_main): Remove timer uses.
3443
34442009-02-18 Rafael Avila de Espindola <espindola@google.com>
3445
3446 * lto.c (lto_materialize_function): Don't set DECL_EXTERN to 0.
3447 (lto_wpa_write_files): Update calls to renamed functions.
3448
34492009-02-17 Diego Novillo <dnovillo@google.com>
3450
3451 PR 39203
3452 * lto-lang.c (lto_post_options): Disable -fwhole-program
3453 when running LTRANS.
3454
34552009-02-10 Diego Novillo <dnovillo@google.com>
3456
3457 * lto.c (read_cgraph_and_symbols): Fix comment.
3458
34592009-02-10 Diego Novillo <dnovillo@google.com>
3460
3461 * lto.c (read_cgraph_and_symbols): Read options from all
3462 IL files.
3463
34642009-02-10 Diego Novillo <dnovillo@google.com>
3465
3466 * lto.c (read_cgraph_and_symbols): Factor out of lto_main.
3467 (materialize_cgraph): Likewise.
3468 (do_whole_program_analysis): Likewise.
3469 (lto_main): Call read_cgraph_and_symbols,
3470 materialize_cgraph and do_whole_program_analysis.
3471
34722009-02-10 Simon Baldwin <simonb@google.com>
3473
3474 * lto.c: Include lto-opts.h.
3475 * (lto_main): Clear file options at loop start, read any saved
3476 options from the first file handled, and re-issue options.
3477 * Makefile.in (lto.o): Add dependency on lto-opts.h.
3478
34792009-02-02 Diego Novillo <dnovillo@google.com>
3480
3481 * lto.c (lto_main): Stop LTO_TIMER and use
3482 TV_WHOPR_WPA_LTRANS_EXEC when launching LTRANS.
3483
34842009-01-30 H.J. Lu <hongjiu.lu@intel.com>
3485
3486 PR lto/38995
3487 * lto-elf.c (init_shdr##BITS): Set the sh_addralign field
3488 to POINTER_SIZE.
3489
34902009-01-29 Ramana Radhakrishnan <ramana.r@gmail.com>
3491
3492 * Make-lang.in (LTO_EXE): Link with all
3493 BACKENDLIBS and not only GMPLIBS
3494
34952009-01-28 H.J. Lu <hongjiu.lu@intel.com>
3496
3497 PR bootstrap/38992
3498 * lto-elf.c: Include gelf.h instead of libelf.h.
3499 (lto_elf_file_close): Replace elfx_update_shstrndx with
3500 gelf_getehdr, elf_getscn, gelf_getshdr, gelf_update_shdr and
3501 gelf_update_ehdr.
3502
35032009-01-28 H.J. Lu <hongjiu.lu@intel.com>
3504
3505 PR middle-end/38996
3506 * lto-elf.c (DEFINE_INIT_EHDR): Initialize e_version.
3507
35082009-01-26 Diego Novillo <dnovillo@google.com>
3509
3510 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Update.
3511
35122009-01-26 Diego Novillo <dnovillo@google.com>
3513
3514 * lto-lang.c (lto_types_compatible_p): Move to gimple.c
3515 and rename into gimple_types_compatible_p.
3516
35172009-01-12 Rafael Avila de Espindola <espindola@google.com>
3518
3519 * lto-lang.c (lang_hooks): Remove the const qualifier.
3520
35212009-01-06 Diego Novillo <dnovillo@google.com>
3522
3523 * ltrans-driver: Mark 'all' target as phony.
3524
35252008-12-31 Diego Novillo <dnovillo@google.com>
3526
3527 * ltrans-driver: Execute a NOP action for target 'all'.
3528
35292008-12-19 Diego Novillo <dnovillo@google.com>
3530
3531 * lto.c (lto_1_to_1_map): Tidy.
3532
35332008-12-19 Diego Novillo <dnovillo@google.com>
3534
3535 * lto-elf.c (lto_elf_file_open): When FILENAME cannot
3536 be opened, show its name.
3537 * ltrans-driver: If $verbose is set, do not use parallelism.
3538
35392008-12-17 Rafael Avila de Espindola <espindola@google.com>
3540
3541 * lto.c (lto_fixup_function): New.
3542 (lto_fixup_tree): Call lto_fixup_function.
3543
35442008-12-14 Doug Kwan <dougkwan@google.com>
3545
3546 * lto.c (lto_1_to_1_map): Create a cgraph node set for any global
3547 variables if there is no function.
3548
35492008-12-10 Simon Baldwin <simonb@google.com>
3550
3551 * ltrans-driver: Always run make in silent mode, to avoid make's
3552 trace on stdout interfering with lto-wrapper output.
3553
35542008-12-10 Doug Kwan <dougkwan@google.com>
3555
3556 * lto.c (lto_add_inline_clones): Do not force master clones of
3557 inlined functions already in SET to be static inline.
3558
35592008-12-04 Doug Kwan <dougkwan@google.com>
3560
3561 * lto.c (globalize_context_t): New type to store states in
3562 globalization of cross-file statics.
3563 (globalize_cross_file_statics): New.
3564 (lto_scan_statics_in_ref_table): Walk tree to look for reachable
3565 static decls that need to be fixed up.
3566 (lto_scan_statics_in_cgraph_node): Change call interface to use
3567 a globalize_context_t CONTEXT for all states used.
3568 (lto_scan_statics_in_remaining_global_vars): New.
3569 (lto_promote_cross_file_statics): Use new call interface of
3570 LTO_SCAN_STATICS_IN_CGRAPH_NODE. Handle remaining externally
3571 visible vars in the last set.
3572
35732008-12-03 Diego Novillo <dnovillo@google.com>
3574
3575 * lto.c (lto_fixup_tree): Do not emit an error when
3576 PREVAILING throw but T doesn't.
3577
35782008-12-02 Doug Kwan <dougkwan@google.com>
3579
3580 * lto.c (lto_scan_statics_in_ref_table): New function factored out
3581 from code in ...
3582 (lto_scan_statics_in_cgraph_node): Handle both file-scope static
3583 variables and functions.
3584 (lto_promote_cross_file_statics): Rename bitmaps to SEEN_DECLS
3585 and GLOBAL_DECLS from SEEN_VARS and GLOBAL_VARS.
3586
35872008-11-29 Diego Novillo <dnovillo@google.com>
3588
3589 * lto.c: Include timevar.h.
3590 (lto_materialize_function): Tidy. Add comments.
3591 (lto_wpa_write_files): Tidy.
3592 (lto_execute_ltrans): Tidy.
3593 (lto_main): Add local variable LTO_TIMER. Initialize it
3594 to one of TV_WHOPR_WPA, TV_WHOPR_LTRANS or TV_LTO.
3595 Start and stop the timer.
3596 Tidy comments.
3597 * Make-lang.in (lto.o): Add dependency on timevar.h.
3598 * ltrans-driver: React to -v and -save-temps.
3599 Use simple heuristic to determine how much parallelism to
3600 use when executing make.
3601
36022008-11-12 Doug Kwan <dougkwan@google.com>
3603
3604 * lto.c (lto_bitmap_obstack): Remove var.
3605 (lto_materialize_function): Do nothing instead of marking function
3606 body in file if flag_wpa is true.
3607 (lto_add_all_inlinees): Use bitmap functions in lto-utils.c.
3608 (lto_scan_statics_in_cgraph_node): New function.
3609 (lto_promote_cross_file_statics): Same.
3610 (lto_wpa_write_files): Call lto_promote_cross_file_statics.
3611 Use bitmap functions in lto-utils.c. Remove unsued label OUT.
3612 * Make-lang.in (lto/lto.o): Add lto-utils.h to dependency list.
3613
36142008-11-09 Diego Novillo <dnovillo@google.com>
3615
3616 * lto/lto.c (lto_fixup_tree): Change error message locus
3617 information to include location of mismatching
3618 declaration.
3619 Use TREE_NO_WARNING to avoid repeated messages.
3620 (lto_main): If lto_fixup_decls emitted any errors, exit.
3621 * lto/lto-lang.c: Don't include libfuncs.h and except.h
3622 (lto_init_options): Don't enable exceptions by default.
3623 (lto_eh_runtime_type): Move to lto-function-in.c
3624 (lto_init_eh): Likewise.
3625 (lto_init): Don't call lto_init_eh.
3626 * lto/Make-lang.in (lto-lang.o): Remove dependency on
3627 libfuncs.h and except.h.
3628
36292008-10-30 Diego Novillo <dnovillo@google.com>
3630
3631 * lto.c (lto_read_decls): Declare debug_main only if
3632 LTO_STREAM_DEBUGGING is enabled.
3633
36342008-10-30 Simon Baldwin <simonb@google.com>
3635
3636 * lto.c (lto_wpa_write_files): Create intermediate files with
3637 make_cwd_temp_file().
3638 (lto_maybe_unlink): New. Delete intermediate WPA files unless
3639 WPA_SAVE_LTRANS is set.
3640 (lto_main): Call lto_maybe_unlink() for intermediate WPA files.
3641 * ltrans-driver: Do not strip directory from output files.
3642
36432008-10-29 Doug Kwan <dougkwan@google.com>
3644
3645 * lto.c (free_decl): Call lto_symtab_clear_resolution when freeing
3646 DECL.
3647 * Make-lang.in (LTO_OBJS): Remove lto/lto-symtab.o
3648 (lto/lto-symtab.o): Remove rule.
3649 * lto-tree.h (struct lang_identifier): Remove LTO specific fields.
3650 (struct lang_decl): Remove RESOLUTION and add DUMMY in struct.
3651 (LANG_IDENTIFIER_CAST, LTO_IDENTIFIER_DECL, LTO_DECL_RESOLUTION):
3652 Remove macros.
3653 lto-symtab.c (File): Move up one level.
3654 lto-lang.c (cgraph.h): Remove include.
3655 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
3656 input_cgraph): Move to lto-cgraph.c in gcc directory above.
3657 (LANG_HOOKS_INPUT_CGRAPH): Remove use of macro.
3658
36592008-10-24 Rafael Espindola <espindola@google.com>
3660
3661 * lto-function-in.c (get_resolution): Return LDPR_PREEMPTED_IR for
3662 non prevailing weak symbols.
3663
36642008-10-24 Rafael Espindola <espindola@google.com>
3665
3666 * lto-lang.c (input_cgraph_1): Iterate over nodes, not cgraph_nodes.
3667
36682008-10-24 Rafael Espindola <espindola@google.com>
3669
3670 * lto-lang.c (input_node): Avoid casts from pointers to ints of
3671 different types.
3672
36732008-10-23 Simon Baldwin <simonb@google.com>
3674
3675 * lto-lang.c (input_node): Save the node reference, rather than the
3676 node pointer, in node->inlined_to.
3677 (input_cgraph_1): Convert node references into node pointers.
3678
36792008-10-22 Diego Novillo <dnovillo@google.com>
3680 Rafael Espindola <espindola@google.com>
3681
3682 * lto.c (lto_resolution_read): Tidy.
3683 * lto-symtab.c (lto_symtab_prevailing_decl): Do not
3684 abort if RET is NULL.
3685
36862008-10-22 Doug Kwan <dougkwan@google.com>
3687
3688 * lto.c (lto_fixup_tree): Check for NOTHROW conflict only if
3689 exceptions flag is given.
3690 * lto-lang.c: (lto_init_options) Set default exceptions flag.
3691 (lto_init_eh): Remove exceptions flag initialization.
3692 (lto_init): Only call lto_init_eh if exceptions flag is set.
3693
36942008-10-21 Diego Novillo <dnovillo@google.com>
3695
3696 * lto.c: Tidy some formatting.
3697 * lto.h: Likewise.
3698
36992008-10-21 Simon Baldwin <simonb@google.com>
3700
3701 * lto-symtab.c: (lto_same_type_p): Types cannot be equal if one of
3702 them is NULL (but not the other).
3703
37042008-10-17 Diego Novillo <dnovillo@google.com>
3705
3706 * ltrans-driver: Divert output from make to a temporary file.
3707 Show it if the call to make failed.
3708
37092008-10-15 Diego Novillo <dnovillo@google.com>
3710
3711 * lto.c (lto_wpa_write_files): Reformat do-while loop.
3712 Do not print TEMP_FILENAME
3713 * ltrans-driver: Call make with -s.
3714
37152008-10-15 Diego Novillo <dnovillo@google.com>
3716
3717 * lto-symtab.c (lto_symtab_merge_decl): Do not force
3718 TREE_STATIC on global symbols.
3719
37202008-10-14 Ollie Wild <aaw@google.com>
3721
3722 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Remove.
3723 (LTRANS_DRIVER_EXE): Add.
3724 (lto.all.cross): Add LTRANS_DRIVER_EXE.
3725 (lto.all.encap): Add LTRANS_DRIVER_EXE.
3726 (lto.install.common): Remove ltrans-driver.
3727 (lto.mostlyclean): Add LTRANS_DRIVER_EXE.
3728 (LTRANS_DRIVER_EXE): New build rule.
3729 * config-lang.in (compilers): Add ltrans-driver.
3730
37312008-10-14 Diego Novillo <dnovillo@google.com>
3732
3733 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Disable transformation
3734 of program name.
3735
37362008-10-13 Ollie Wild <aaw@google.com>
3737
3738 * lang-spec.h (@lto): Replace lto1_options with cc1_options.
3739 * lto.c (lto_execute_ltrans): Add "-fno-wpa -fltrans -xlto" to CFLAGS.
3740 * ltrans-driver (LTRANS_FLAGS): Remove.
3741
37422008-10-08 Doug Kwan <dougkwan@google.com>
3743
3744 * lto.c (lto_fixup_tree): Remove ATTRIBUTE_UNUSED from DATA.
3745 Handle new tree codes RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
3746 and TREE_BINFO. Also move code handling FUNCTION_DECL and VAR_DECL
3747 from lto_fixup_state to here.
3748 (lto_fixup_state): Take an lto_fixup_data_t object DATA instead of
3749 just a free-list. Fix up types also. Move decl merging code to
3750 lto_fixup_tree.
3751 (lto_fixup_state_aux): Change AUX to point to an lto_fixup_data_t
3752 object.
3753 (lto_fixup_decls): Use another pointer set to avoid multiple
3754 walking of nodes except for DECLs to be replaced. Pass an
3755 lto_fixup_data_t object to tree-walker.
3756
37572008-10-08 Rafael Espindola <espindola@google.com>
3758
3759 * lto-symtab.c (lto_symtab_set_resolution): New.
3760 (lto_symtab_merge_decl): Use lto_symtab_set_resolution and
3761 lto_symtab_get_resolution.
3762 (lto_symtab_prevailing_decl): Return decl for non public decls.
3763 (lto_symtab_get_resolution): New.
3764 * lto.c (lto_fixup_tree, lto_fixup_state): Remove unecessary checks.
3765
37662008-10-06 Rafael Espindola <espindola@google.com>
3767
3768 * lto-lang.c: Include cgraph.h.
3769 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
3770 input_cgraph): Moved from lto-cgraph.c.
3771 (LANG_HOOKS_INPUT_CGRAPH): New.
3772
37732008-10-03 Rafael Espindola <espindola@google.com>
3774
3775 * lto.c (lto_fixup_tree, lto_fixup_state): Fix the FIXME.
3776
37772008-10-03 Rafael Espindola <espindola@google.com>
3778
3779 * lto-symtab.c (lto_symtab_overwrite_decl): Remove. Remove all calls.
3780 (lto_symtab_merge_decl): Update LTO_IDENTIFIER_DECL the reflect the
3781 prevailing definition. Don't mark TREE_NOTHROW differences.
3782 * lto.c (lto_fixup_tree): New.
3783 (lto_fixup_state): New.
3784 (lto_fixup_state_aux): New.
3785 (free_decl): New.
3786 (lto_fixup_decls): New.
3787 (lto_main): Call lto_fixup_decls.
3788
37892008-10-02 Ollie Wild <aaw@google.com>
3790
3791 * lang.opt (fltrans): Moved from common.opt. Remove RejectNegative
3792 and Init.
3793 (fwpa): Moved from common.opt. Remove RejectNegative and Init.
3794 * lto-lang.c (lto_post_options): Add validation and fixups for
3795 -fltrans and -fwpa.
3796
37972008-10-02 Rafael Espindola <espindola@google.com>
3798
3799 * lto-symtab.c (lto_symtab_merge_var, lto_symtab_merge_fn,
3800 lto_symtab_merge_decl): Return void.
3801 (lto_symtab_prevailing_decl): New.
3802
38032008-09-30 Rafael Espindola <espindola@google.com>
3804
3805 * lto-symtab.c (lto_symtab_compatible): Remove the check for already
3806 defined symbols.
3807 (lto_symtab_overwrite_decl): Copy LTO_DECL_RESOLUTION.
3808 (lto_symtab_merge_decl): Store symbol resolution in LTO_DECL_RESOLUTION.
3809 Check for already defined symbols.
3810 * lto-tree.h (lang_decl): Remove dummy and add resolution fields.
3811 (LTO_IDENTIFIER_RESOLUTION): Remove.
3812 (LTO_DECL_RESOLUTION): New.
3813
38142008-09-30 Rafael Espindola <espindola@google.com>
3815
3816 * lto.c (lto_read_decls): Use new input_tree signature.
3817
38182008-09-26 Doug Kwan <dougkwan@google.com>
3819
3820 * lto.c (lto_main): Call lto_fixup_nothrow_decls to fix up function
3821 bodies affected by exception attribute merging of DECLs.
3822 * lto-symtab.c (lto_symtab_merge_decl): Handle exception attribute
3823 merging.
3824
38252008-09-25 Rafael Espindola <espindola@google.com>
3826
3827 * Make-lang.in (PLUGIN_API_H, LTO_TREE_H): New.
3828 (lto/lto-lang.o, lto/lto.o, lto/lto-symtab.o) Use LTO_TREE_H.
3829 * lto-symtab.c (lto_symtab_compatible): New.
3830 (lto_symtab_overwrite_decl): New.
3831 (lto_symtab_merge_decl): Refactor to use the above functions
3832 and the resolution from lang_identifier.
3833 * lto-tree.h: Include plugin-api.h.
3834 (lang_identifier): Add resolution.
3835 (LTO_IDENTIFIER_RESOLUTION): New.
3836
38372008-09-25 Ollie Wild <aaw@google.com>
3838
3839 * lang.opt (fltrans-output-list=): New option.
3840 * lto.c (lto_execute_ltrans): Output file names to ltrans_output_list.
3841
38422008-09-25 Rafael Espindola <espindola@google.com>
3843
3844 * lto.c (lto_resolution_read): Initialize ret;
3845
38462008-09-24 Ollie Wild <aaw@google.com>
3847
3848 * lto.c (sys/mman.h): Move include.
3849 (lto_wpa_write_files): Return a list of written files.
3850 (lto_execute_ltrans): New function.
3851 (lto_main): Call lto_execute_ltrans.
3852 (ltrans-driver): New file.
3853 * lto-lang.c (DEFAULT_LTRANS_DRIVER): New macro.
3854 (DEAULT_LTRANS_DRIVER_LEN): New macro.
3855 (lto_init_options): Initialize ltrans_driver.
3856 (lto_handle_option): Fix incorrect default output value.
3857 * lang.opt (fltrans-driver=): New option.
3858 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): New variable.
3859 (lto.install-common): Add lto/ltrans-driver.
3860
38612008-09-24 Rafael Espindola <espindola@google.com>
3862
3863 * Make-lang.in (LTO_OBJS): Add lto/common.o.
3864 (lto/lto.o): Depend on lto/common.h.
3865 (lto/common.o): New.
3866 * lang.opt (resolution): New.
3867 * lto-lang.c (resolution_file_name): New.
3868 (lto_handle_option): Handle OPT_resolution.
3869 * lto-symtab.c (lto_symtab_merge_decl): Add a resolution argument.
3870 (lto_symtab_merge_var,lto_symtab_merge_fn): Add a resolution argument.
3871 pass it to lto_symtab_merge_decl.
3872 * lto.c: Include common.h.
3873 (lto_read_decls): Add resolutions and resolutions_size arguments.
3874 Initialize data_in.globals_resolution and
3875 data_in.globals_resolution_size.
3876 (index_and_symbol_resolution): New.
3877 (lto_resolution_read): New.
3878 (lto_file_read): Add argument resolution_file.
3879 Read resolution.
3880 * lto.h (resolution_file_name): New.
3881
38822008-09-23 Rafael Espindola <espindola@google.com>
3883
3884 * common.c: Update description.
3885 * common.h: Update description.
3886
38872008-09-23 Rafael Espindola <espindola@google.com>
3888
3889 * common.c: Moved from lto-plugin.
3890 * common.h: Moved from lto-plugin.
3891
38922008-09-22 Doug Kwan <dougkwan@google.com>
3893
3894 * lto.c (VEC(bitmap,heap)): Declare.
3895 (lto_materialize_function): Handle WAP mode specially.
3896 (lto_add_inline_clones): New.
3897 (lto_add_all_inlinees): Changle algorithm and to use bitmaps. Also
3898 return a bitmap of inlined decls.
3899 (lto_wpa_write_files): Handle all DECLs brought in by inlining.
3900 (lto_main): Call reset_inline_failed to reset inlining states.
3901 Check call-graph after WPA inlining.
3902 * lto-lang.c (lto_init): Do not clear flag_generate_lto
3903 unconditionally.
3904
39052008-09-19 Doug Kwan <dougkwan@google.com>
3906
3907 lto.c (lto_main): Remove unsued wrapper code.
3908 lang-specs.h (@lto): Use lto1_options instead of cc1_options.
3909
39102008-09-19 Rafael Espindola <espindola@google.com>
3911
3912 * lto-symtab.c: Include lto-tree-in.h.
3913 * lto-tree.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove.
3914 * lto.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove
3915 * Make-lang.in (lto/lto-symtab.o): Add lto-tree-in.h.
3916
39172008-09-17 Paolo Bonzini <bonzini@gnu.org>
3918 Rafael Avila de Espindola <espindola@google.com>
3919
3920 * lto-lang.c (COMPOUND_LITERAL_EXPR_DECL_STMT,
3921 COMPOUND_LITERAL_EXPR_DECL): Remove.
3922 (emit_local_var): Remove.
3923 (lto_expand_expr): Remove.
3924 (lto_staticp): Remove.
3925 (LANG_HOOKS_EXPAND_EXPR): Remove.
3926 (LANG_HOOKS_STATICP): Remove.
3927
39282008-09-11 Diego Novillo <dnovillo@google.com>
3929
3930 * lto-lang.c: Include except.h and libfuncs.h.
3931 (lto_init_eh): New.
3932 (lto_init): Call it.
3933 Set flag_generate_lto to 0.
3934 * Make-lang.in (lto-lang.o): Add dependency on except.h
3935 and libfuncs.h.
3936
39372008-09-09 Bill Maddox <maddox@google.com>
3938
3939 * lto-lang.c: Include header file expr.h.
3940 (COMPOUND_LITERAL_EXPR_DECL_STMT,
3941 COMPOUND_LITERAL_EXPR_DECL): Copied from c-common.h.
3942 (emit_local_var): Copied from c-semantics.c.
3943 (lto_expand_expr, lto_staticp): Copied from c_expand_expr
3944 and c_staticp in c-common.c.
3945 (LANG_HOOKS_EXPAND_EXPR,LANG_HOOKS_STATICP): Redefined.
3946
39472008-09-08 Diego Novillo <dnovillo@google.com>
3948
3949 * lto-lang.c (lto_global_bindings_p): Return 1 during
3950 IPA passes.
3951
39522008-09-07 Diego Novillo <dnovillo@google.com>
3953
3954 * lto.c: Tidy formatting.
3955
39562008-08-04 Bill Maddox <maddox@google.com>
3957
3958 * lto-symtab.c (lto_symtab_merge_decl): Add comment.
3959
39602008-09-03 Doug Kwan <dougkwan@google.com>
3961
3962 lto.c (lto_add_all_inlinees): Reset FAILED_REASON of edges to
3963 CIF_OK instead of NULL.
3964
39652008-09-02 Diego Novillo <dnovillo@google.com>
3966 Simon Baldwin <simonb@google.com>
3967
3968 * lto-lang.c (lto_type_for_size): Rewrite. Adapt from
3969 c_common_type_for_size.
3970 (lto_type_for_mode): Remove ATTRIBUTE_UNUSED markers.
3971 (lto_init): Call linemap_add.
3972 (signed_and_unsigned_types): Remove.
3973
39742008-08-29 Diego Novillo <dnovillo@google.com>
3975
3976 * lto-lang.c (handle_noreturn_attribute): New local function.
3977 (handle_const_attribute): New local function.
3978 (handle_malloc_attribute): New local function.
3979 (handle_pure_attribute): New local function.
3980 (handle_novops_attribute): New local function.
3981 (handle_nonnull_attribute): New local function.
3982 (handle_nothrow_attribute): New local function.
3983 (handle_sentinel_attribute): New local function.
3984 (handle_type_generic_attribute): New local function.
3985 (handle_format_attribute): New local function.
3986 (handle_format_arg_attribute): New local function.
3987 (lto_attribute_table): Declare.
3988 (lto_format_attribute_table): Declare.
3989 (lto_init_attributes): New local function.
3990 (lto_define_builtins): Call it.
3991 Call targetm.init_builtins and build_common_builtin_nodes.
3992 (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Define.
3993 (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Define.
3994
39952008-08-28 Diego Novillo <dnovillo@google.com>
3996
3997 * Make-lang.in (lto-lang.o): Replace tree-gimple.h with
3998 $(GIMPLE_H).
3999 (lto-symtab.o): Add dependency on $(GIMPLE_H).
4000 * lto-lang.c: Include gimple.h instead of tree-gimple.h.
4001 * lto-symtab.c: Include gimple.h.
4002 * lto-tree.h (chain_next): Replace GENERIC_NEXT with
4003 TREE_CHAIN.
4004
40052008-08-27 Doug Kwan <dougkwan@google.com>
4006
4007 * lto.c (vec.h, bitmap.h, pointer-set.h, ipa-prop.h, ggc.h,
4008 gt-lto-lto.h): New includes.
4009 (lto_materialize_function): Do not read in function body in WPA mode.
4010 Format a line to fit in 80 columns.
4011 (lto_cgraph_node_sets): New garbage collected variable.
4012 (lto_1_to_1_map, lto_add_all_inlinees, lto_wpa_write_files):
4013 New functions.
4014 (lto_main): Initialize bitmap obstack. Add code to handle WPA mode.
4015 * Make-lang.in (LTO_H): Replace filename lto-section-in.h with
4016 variable LTO_SECTION_IN_H.
4017 (lto/lto.o): Include gt-lto-lto-c.h ggc.h ,VEC_H, BITMAP_H,
4018 pointer-set.h and IPA_PROP_H. Also replace filename lto-section-in.h
4019 with variable LTO_SECTION_IN_H.
4020 * config-lang.in (gtfiles): Add lto/lto.c.
4021 * lto-symtab.c (lto_symtab_merge_decl): Set DECL_CONTEXT of
4022 merged DECL_RESULT correctly.
4023
40242008-08-26 Bill Maddox <maddox@google.com>
4025
4026 * lto-lang.c Include tree-gimple.h.
4027 (lto_mark_addressable): Call mark_addressable rather than
4028 asserting.
4029 (lto_post_options): Suppress debug info generation.
4030 * Make-lang.in: Add dependency of lto-lang.o on tree-gimple.h.
4031
3f8257db 40322008-08-25 Bill Maddox <maddox@google.com>
d7f09764
DN
4033
4034 * lto-symtab.c (lto_symtab_merge_decl): Remove a suspect
4035 assertion and leave an explanatory comment in its place.
4036
40372008-08-21 Doug Kwan <dougkwan@google.com>
4038
4039 * lto.c (preload_common_nodes): Call lto_get_common_nodes to get a list
4040 of common nodes instead of computing locallly.
4041 (lto_read_in_decl_state): New.
4042 (lto_read_decls): Change code for udpate in struct lto_decl_header.
4043 Read global and per-function in-decl states.
4044 * Make-lang.in (LTO_H): Update dependency.
4045 (lto/lto.o): Same.
4046 (lto-symtab.c): Merge (revision 139039)
4047 * lto-symtab.c (lto_symtab_merge_decl): Merge DECL_RESULT.
4048
40492008-08-21 Rafael Espindola <espindola@google.com>
4050
4051 * config-lang.in (target_libs): New.
4052
40532008-08-20 Bill Maddox <maddox@google.com>
4054
4055 * lto.c (current_lto_file): Remove GTY marker from static
4056 variable. Remove include of file gt-lto-lto.h.
4057 * Make-lang.in: Remove dependency of lto/lto.o on
4058 gt-lto-lto.h.
4059 * lto-elf.c (lto_file_close): Removed.
4060 (lto_elf_file_open): Use XCNEW instead of GGC_CNEW to
4061 allocate lto_elf_file object.
4062 (lto_elf_file_close): Free lto_elf_file object after close.
4063 * lto.h (struct lto_file_struct): Remove GTY marker.
4064 * config-lang.in: Remove lto/lto.h and lto/lto.c from
4065 gtfiles.
4066
40672008-08-20 Bill Maddox <maddox@google.com>
4068
4069 * lto.c (lto_read_decls): Provide dummy argument to input_tree
4070 to conform to its new signature.
4071 * lto-symtab.c (lto_symtab_merge_decl): Do not invoke ggc_free
4072 on discarded node here, now called in global_vector_fixup.
4073
40742008-08-09 Bill Maddox <maddox@google.com>
4075
4076 * lto.c (preload_common_nodes): Verify that fileptr_type_node
4077 has not been set to a front-end-specific value.
4078
40792008-08-05 Doug Kwan <dougkwan@google.com>
4080
4081 * Make-lang.in (lto-symtab.o): Add missing dependencies to fix
4082 build breakage.
4083
40842008-07-30 Bill Maddox <maddox@google.com>
4085
4086 * lto.c (lto_materialize_function): Call lto_original_decl_name.
4087 Remove obsolete comments.
4088 (lto_read_decls): Remove initialization of deleted field data_in.global.
4089 Tidy up comments.
4090 (lto_main): Remove redundant initialization of section_hash_table.
4091 * lto-elf.c: Removed obsolete comments.
4092 * lto.h: Tidy up comments.
4093 * lto-symtab.c (lto_least_common_multiple): New function.
4094 (lto_symtab_merge_decl): Merge variable alignments in some cases.
4095 Tidy up comments.
4096
40972008-07-25 Diego Novillo <dnovillo@google.com>
4098 Bill Maddox <maddox@google.com>
4099
4100 * lto.c: Re-order include files.
4101 Include lto-section-out.h.
4102 (preload_common_nodes): Add debugging output.
4103 Add new local INDEX_TABLE.
4104 Call preload_common_node.
4105 * Make-lang.in (lto.o): Add dependency on lto-section-out.h
4106
41072008-07-13 Bill Maddox <maddox@google.com>
4108
4109 * lto.c (lto_read_decls): Cast pointer to const char * to avoid
4110 unwanted scaling during pointer addition.
4111
41122008-07-11 Bill Maddox <maddox@google.com>
4113 Diego Novillo <dnovillo@google.com>
4114
4115 * lto.c (lto_read_decls): Fix C++ compatibility warnings.
4116 Make code const-correct.
4117 (lto_file_read): Fix C++ compatibility warnings.
4118 (lto_read_section_data): Fix C++ compatibility warnings.
4119 (lto_get_section_data): Use CONST_CAST to avoid warning when
4120 const pointer passed to free.
4121 * lto-elf.c (lto_elf_build_section_table): Fix C++
4122 compatibility warnings.
4123 (lto_elf_append_data): Fix C++ compatibility warnings. Use CONST_CAST
4124 to avoid warning assigning const pointer to d_buf field of Elf_Data.
4125 (lto_get_current_out_file): Fix C++ compatibility warnings.
4126
41272008-07-11 Diego Novillo <dnovillo@google.com>
4128
4129 * Make-lang.in (lto-warn): Define.
4130
41312008-07-03 Simon Baldwin <simonb@google.com>
4132
4133 * lto.c (lto_read_decls): Wrapped debug-only data items within #ifdef
4134 LTO_STREAM_DEBUGGING.
4135
41362008-06-27 Ollie Wild <aaw@google.com>
4137
4138 * lto-elf.c (lto-section-out.h): New include.
4139 (struct lto_elf_file): Remove bits member. Add scn, shstrtab_stream,
4140 and data members.
4141 (cached_file_attrs): New static variable.
4142 (lto_elf_get_shdr, lto_elf_free_shdr): Remove elf_file parameter.
4143 Use cached_file_attrs for checking bits.
4144 (lto_elf_build_section_table): Remove elf_file argument from
4145 lto_elf_get_shdr and lto_elf_free_shdr calls.
4146 (DEFINE_INIT_SHDR): New macro.
4147 (init_shdr32, init_shdr64): New functions defined via the
4148 DEFINE_INIT_SHDR macro.
4149 (lto_elf_begin_section_with_type): New function.
4150 (lto_elf_begin_section): New function.
4151 (lto_elf_append_data): New function.
4152 (lto_elf_end_section): New function.
4153 (DEFINE_VALIDATE_EHDR): New macro.
4154 (validate_ehdr32, validate_ehdr64): New functions defined via the
4155 DEFINE_VALIDATE_EHDR macro.
4156 (validate_file): New function.
4157 (DEFINE_INIT_EHDR): New macro.
4158 (init_ehdr32, init_ehdr64): New functions defined via the
4159 DEFINE_INIT_EHDR macro.
4160 (init_ehdr): New function.
4161 (lto_elf_file_open): Add support for writable files. Move some
4162 validation logic to validate_file.
4163 (lto_elf_file_close): Add support for writable files. Write file data
4164 and free data blocks.
4165 (current_out_file): New static variable.
4166 (lto_set_current_out_file): New function.
4167 (lto_get_current_out_file): New function.
4168 * lto.c (lto_main): Add writable argument to lto_elf_file_open calls.
4169 Add temporary initialization for testing ELF serialization.
4170 * lto.h (lto-section-out.h): New include.
4171 (struct lto_file_struct): Slight modification to comment.
4172 (lto_elf_file_open): Add writable parameter.
4173 (lto_elf_begin_section): New function declaration.
4174 (lto_elf_append_data): New function declaration.
4175 (lto_elf_end_section): New function declaration.
4176 (lto_set_current_out_file, lto_get_current_out_file): New function
4177 declarations.
4178 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Set as lto_elf_begin_section.
4179 (LANG_HOOKS_APPEND_DATA): Set as lto_elf_append_data.
4180 (LANG_HOOKS_END_SECTION): Set as lto_elf_end_section.
4181 * Make-lang.in (LTO_H): Add lto-section-out.h.
4182
41832008-06-12 Ollie Wild <aaw@google.com>
4184
4185 * lto.h (struct lto_file_vtable_struct): Remove.
4186 (struct lto_file_struct): Remove vtable member.
4187 * lto-elf.c (lto_file_init): Remove vtable argument.
4188 (lto_elf_map_optional_lto_section): Remove.
4189 (lto_elf_unmap_section): Remove.
4190 (lto_elf_file_vtable): Remove.
4191 (lto_elf_file_open): Remove lto_elf_file_vtable argument from
4192 lto_file_init call.
4193 (lto_elf_find_section_data): Remove.
4194
41952008-06-11 Ollie Wild <aaw@google.com>
4196
4197 * lto.c (lto_file_read): Add const qualifier to data variable.
4198
41992008-06-11 Diego Novillo <dnovillo@google.com>
4200
4201 Merge from lto-streamber sub-branch.
4202
4203 2008-06-04 Ollie Wild <aaw@google.com>
4204
4205 * lto.c: Remove inclusion of dwarf2.h and dwarf2out.h.
4206 * Make-lang.in (lto.o): Remove dependency on dwarf2.h.
4207
4208 2008-05-28 Bill Maddox <maddox@google.com>
4209
4210 Replace the DWARF reader in the LTO front-end.
4211
4212 * lto.c: Include lto-tree-in.h, lto-tags.h.
4213 (enum DWARF2_class, DW_cl_constant, struct
4214 DWARF2_form_data, struct lto_context,
4215 lto_fd_init, lto_info_fd_init,
4216 lto_abbrev_fd_init, lto_info_fd_close,
4217 lto_file_init, lto_file_close,
4218 lto_file_corrupt_error, lto_abi_mismatch_error,
4219 LTO_CHECK_INT_VAL, LTO_READ_TYPE,
4220 lto_read_uleb128, lto_read_sleb128,
4221 lto_read_initial_length, lto_abbrev_read_attrs,
4222 lto_abbrev_read, lto_abbrev_read_lookup,
4223 lto_read_section_offset,
4224 lto_read_comp_unit_header, find_cu_for_offset,
4225 lto_get_file_name,
4226 lto_resolve_reference,lto_read_form,
4227 attribute_value_as_int,
4228 make_signed_host_wide_int,
4229 attribute_value_as_constant, lto_cache_hash,
4230 lto_cache_eq, lto_cache_store_DIE,
4231 lto_cache_lookup_DIE, lto_find_integral_type,
4232 lto_find_integral_type_1,
4233 LTO_BEGIN_READ_ATTRS_UNCHECKED,
4234 LTO_BEGIN_READ_ATTRS, LTO_END_READ_ATTRS,
4235 lto_unsupported_attr_error, lto_get_identifier,
4236 lto_read_referenced_type_DIE,
4237 lto_read_compile_unit_DIE,
4238 lto_read_array_type_DIE,
4239 lto_read_structure_union_class_type_DIE,
4240 lto_read_enumerator_DIE,
4241 lto_read_enumeration_type_DIE,
4242 lto_read_only_for_child_DIEs,
4243 lto_read_only_for_child_DIEs,
4244 lto_read_member_DIE, lto_read_abbrev,
4245 lto_read_variable_formal_parameter_constant_DIE,
4246 lto_get_body): Removed.
4247 (preload_common_nodes): New function.
4248 (lto_read_decls): Convert for new global streamer.
4249 (lto_materialze_file_data,
4250 lto_read_subroutine_type_subprogram_die,
4251 lto_read_unspecified_parameters_DIE,
4252 lto_read_typedef_DIE,
4253 lto_read_pointer_reference_type_DIE,
4254 lto_read_subrange_type_DIE,
4255 lto_read_base_type_DIE,
4256 lto_read_const_volatile_restrict_type_DIE,
4257 lto_read_namespace_DIE,
4258 lto_read_unspecified_type_DIE, lto_read_DIE,
4259 lto_read_child_DIEs, lto_collect_child_DIEs):
4260 Removed.
4261 (lto_info_read, lto_set_cu_context): Removed.
4262 (lto_file_read): Convert for new global streamer.
4263 (lto_resolve_type_ref, lto_read_DIE_at_ptr,
4264 lto_resolve_var_ref, lto_resolve_fn_ref,
4265 lto_resolve_field_ref, lto_resolve_typedecl_ref,
4266 lto_resolve_namespacedecl_ref): Removed.
4267 (lto_file_init, lto_file_close): Moved to lto-elf.c.
4268 * lto-tree.h (lto_symtab_merge_var,
4269 lto_symtab_mergee_fun): Declare here.
4270 * lto-elf.c (lto_file_init, lto_file_close): Moved from lto.c.
4271 (lto_elf_file_open): Removed code to read DWARF debug sections.
4272 * lto.h (lto_context, DWARF2_attr, DWARF2_abbrev,
4273 DWARF2_CompUnit, lto_die_ptr,
4274 lto_die_cache_entry, lto_fd, lto_info_fd,
4275 lto_abbrev_fd): Removed.
4276 (lto_file): Removed debug_info and debug_abbrev fields.
4277 (lto_ref): Removed.
4278 (lto_file_init, lto_file_close,
4279 lto_resolve_type_ref, lto_resolve_var_ref,
4280 lto_resolve_fn_ref, lto_resolve_field_ref,
4281 lto_resolve_typedecl_ref,
4282 lto_resolve_namespacedecl_ref,
4283 lto_get_file_name): Removed declarations.
4284 (lto_symtab_merge_var, lto_symtab_merge_fn):
4285 Declarations moved to lto-tree.h.
4286 * lto-symtab.c (lto_compatible_attributes_p):
4287 Lobotomize this, as it barfs on "Hello, world!".
4288 * lto-section-out.c: Include lto-tree-out.h.
4289 (lto_hash_global_slot_node,
4290 lto_eq_global_slot_node, preload_common_nodes,
4291 write_global_stream, write_global_references):
4292 New functions.
4293 (produce_asm_for_decls): Convert for new global streamer.
4294 * lto-section-out.h (lto_hash_global_slot_node,
4295 lto_eq_global_slot_node): Declare.
4296
3f8257db 42972008-06-07 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4298 Jan Hubicka <jh@suse.cz>
4299
4300 * lto.c (sys/mman.h, tree-pass.h): New includes.
4301 (lto_materialize_constructors_and_inits,
4302 lto_materialize_function): Keeps length of section.
4303 (lto_materialize_cgraph): Removed.
4304 (lto_read_decls): Initialize fd field.
4305 (lto_file_read): Different return type and removed much code to
4306 lto_main.
4307 (page_mask): New variable.
4308 (lto_read_section_data, get_section_data, free_section_data): New
4309 functions.
4310 (lto_main): Now calls pass manager, sets the hooks so that the ipa
4311 passes can get the section data.
4312
3f8257db 43132008-05-27 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4314
4315 * lto.h (lto_read_decls): Made local.
4316 (lto_input_function_body, lto_input_constructors_and_inits,
4317 lto_input_cgraph): Declarations moved to lto-section-in.h.
4318 * lto-section-in.c: Moved to .. .
4319 * lto-cgraph-in.c: Ditto.
4320 * lto-section-in.h: Ditto.
4321 * lto-function-in.c: Ditto.
4322 * lto-lang.c (lto_handle_option): Added ATTRIBUTE_UNUSED to parms.
4323 (lto_insert_block): Removed.
4324 (LANG_HOOKS_INSERT_BLOCK): Removed.
4325 * Make-lang.in (lto-cgraph-in.o, lto-function-in.o,
4326 lto-section-in.o): Rules moved to lto/Makefile.in.
4327
4328
43292008-05-16 Ollie Wild <aaw@google.com>
4330
4331 * lto-lang.c (tree-inline.h): Include.
4332 (lto_post_options): New function.
4333 (LANG_HOOKS_POST_OPTIONS): Define.
4334 * lto-cgraph-in.c (overwrite_node): Set node->global.insns.
4335 * lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
4336
43372008-05-13 Diego Novillo <dnovillo@google.com>
4338
4339 * lto-function-in.c (input_ssa_names): Call
4340 make_ssa_name_fn instead of make_ssa_name.
4341
43422008-05-12 Diego Novillo <dnovillo@google.com>
4343
4344 * lto-cgraph-in.c (overwrite_node): Update references to
4345 inline summary fields.
4346 * lto-function-in.c (input_expr_operand): Do not handle
4347 STRUCT_FIELD_TAG.
4348
43492008-05-09 Ollie Wild <aaw@google.com>
4350
4351 * lang.opt: New file.
4352 * lto-lang.c (lto_init_options): New function.
4353 (lto_handle_option): New function.
4354 (lto_init): Move initialization of flag_unit_at_a_time to
4355 lto_init_options.
4356 (LANG_HOOKS_INIT_OPTIONS): Define.
4357 (LANG_HOOKS_HANDLE_OPTION): Define.
4358
43592008-04-29 Ollie Wild <aaw@google.com>
4360
4361 * lto.c (lto_read_namespace_DIE): New function.
4362 (lto_read_DIE): Add lto_read_namespace_DIE callback. Cache
4363 NAMESPACE_DECL DIE's.
4364 (lto_resolve_namespacedecl_ref): New function.
4365 * lto.h (lto_resolve_namespacedecl_ref): New function.
4366 * lto-section-in.c (lto_read_decls): Read namespace declarations.
4367 * lto-section-in.h (struct lto_file_decl_data): Add namespace_decls
4368 and num_namespace_decls.
4369 * lto-function-in.c (input_expr_operand): Add NAMESPACE_DECL case.
4370 * lto-lang.c (lto_init_ts): New function.
4371 (LANG_HOOKS_INIT_TS): Set as lto_init_ts.
4372
43732008-04-16 Ollie Wild <aaw@google.com>
4374
4375 * lto-function-in.c (input_type_ref): Updated function description.
4376
43772008-04-16 Ollie Wild <aaw@google.com>
4378
4379 * lto-function-in.c (input_type_ref_1): New function.
4380 (input_type_ref): Split into two functions.
4381 (input_function): Add support for type contexts.
4382
43832008-04-16 Ollie Wild <aaw@google.com>
4384
4385 * lto.c (lto_materialize_function): Use DECL_ASSEMBLER_NAME to compute
4386 section name
4387
43882008-04-16 Ollie Wild <aaw@google.com>
4389
4390 * lto.c (lto_read_compile_unit_DIE): Add DW_LANG_C_plus_plus to the
4391 list of supported languages.
4392
3f8257db 43932008-03-25 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4394
4395 Merge with mainline @133491.
4396
3f8257db 43972008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4398 Jan Hubicka <jh@suse.cz>
4399
4400 * lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
4401 fd->unmaterialized_fndecls.
4402 (lto_get_file_name, lto_materialize_cgraph): New function.
4403 (lto_materialize_constructors_and_inits,
4404 lto_materialize_function): Read info directly from elf file.
4405 (lto_file_read): Made local and initialize dictionary so that
4406 other lto sections can be read without reprocessing the elf file.
4407 (lto_main): Read all functions after all files have been processed
4408 for their types, globals and cgraph.
4409 * Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
4410 dependencies.
4411 * lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
4412 (hash_name, eq_name, lto_elf_build_section_table): New functions.
4413 (lto_elf_read_symtab): Removed function.
4414 (lto_elf_file_open): Removed call to lto_elf_read_symtab.
4415 * lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
4416 (lto_file_read): Made local.
4417 (lto_get_file_name, lto_elf_build_section_table,
4418 lto_input_cgraph):
4419 New function.
4420 * lto-section-in.c (lto_read_section_data, lto_get_section_data):
4421 New functions.
4422 (lto_read_decls): Get the file name.
4423 * lto-cgraph-in.c: New file.
4424 * lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
4425 (input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
4426 (input_labels): Fixed latent sizeof issue.
4427 (input_function): Build stmt array to set call sites into cgraph
4428 edges.
4429 (lto_read_body): Reset cfun->curr_properties.
4430 * lto_section_in.h (lto_section_slot): New structure.
4431 (section_hash_table.lto_file_decl_data): New field.
4432
4433
3f8257db 44342008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4435
4436 * lto.c (lto_read_variable_formal_parameter_const): Remove code to
4437 reconstruct static initializers.
4438 (lto_get_body, lto_materialize_function): Add lto_section_type as
4439 a parameter.
4440 (lto_materialize_constructors_and_inits,
4441 lto_materialize_file_data): New function.
4442 (lto_materialize_function,
4443 lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
4444 unmap_section and map_fn_body to map_section.
4445 (lto_set_cu_context): Process functions and static inits
4446 differently.
4447 * Make-lang.in (LTO_H, lto/lto-function-in.o,
4448 lto/lto-section-in.o): Update dependencies.
4449 * lto/lto-elf.c (lto_elf_map_optional_lto_section): Add
4450 lto_section_type parameter.
4451 (lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
4452 * lto.h (lto_file_vtable_struct): Removed two of the fields and
4453 renamed the other two so that there is only one map function and
4454 one unmap function and each takes a section type parameter.
4455 (lto_read_function_body): Renamed to lto_input_function_body and
4456 added file_data parameter.
4457 (lto_read_var_init): Removed.
4458 (lto_input_constructors_and_inits): New function.
4459 * lto-section-in.c (lto_read_decls): New function.
4460 * lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
4461 var_decls, type_decls, types to lto_file_decl_data.
4462 (input_type_ref, input_expr_operand, lto_read_body): Get
4463 field_decls, fn_decls, var_decls, type_decls, types from different
4464 structure.
4465 (input_globals, input_constructor, lto_read_var_init): Removed.
4466 (input_constructors_or_inits): New function.
4467 (lto_read_function_body, lto_input_constructors_and_inits):
4468 Renamed to lto_input_function_body and takes file_data parameter.
4469 * lto-section-in.h (lto_file_decl_data): New structure.
4470
3f8257db 44712008-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4472
4473 * lto-function-in.c (input_globals.c): Changed input type to
4474 lto_function_header.
4475 (input_bb): Removed code to deserialize the stmt number.
4476 (input_function): Renumber all stmts after they are input.
4477 (lto_read_body, lto_read_function_body, lto_read_var_init):
4478 Changed to used new header format and enum section_type.
4479 *lto-lang.c (success): Removed.
4480
44812008-01-28 Nathan Froyd <froydnj@codesourcery.com>
4482
4483 * lto-elf.c (lto_elf_lookup_sym): Remove unused function.
4484 (lto_elf_free_sym): Likewise.
4485
4486 * lto-elf.c (lto_elf_read_var_init): Remove unused function.
4487 (lto_elf_build_init): Likewise.
4488
3f8257db 44892008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4490
4491 * lto-read.c: Renamed to lto-function-in.c.
4492 (input_1_unsigned): Moved to lto-section-in.c and renamed
4493 lto_input_1_unsigned.
4494 (input_uleb128): Moved to lto-section-in.c and renamed
4495 lto_input_uleb128.
4496 (input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
4497 lto_input_widest_uint_uleb128.
4498 (input_sleb128): Moved to lto-section-in.c and renamed
4499 lto_input_sleb128.
4500 (input_integer): Moved to lto-section-in.c and renamed
4501 lto_input_integer.
4502 (debug_in_fun): Moved to lto-section-in.c and renamed
4503 lto_debug_in_fun.
4504 (input_block): Moved to lto-section-in.h and renamed
4505 lto_input_block.
4506 (input_expr_operand): Fixed to allow lists with more than one
4507 element.
4508 * lto-section-in.h: New file.
4509 * lto-section-in.c: New file with changes from above.
4510 * Make-lang.in (lto-read.o): Renamed lto-function-in.c.
4511 (lto-section-in.o): New rule.
4512
45132007-12-29 Nathan Froyd <froydnj@codesourcery.com>
4514
4515 * lto-read.c (input_expr_operand): Mark static and external
4516 VAR_DECLs as needed.
4517
45182007-12-29 Nathan Froyd <froydnj@codesourcery.com>
4519
4520 * lto-read.c (input_integer): Use the correct shift amount.
4521
45222007-12-29 Nathan Froyd <froydnj@codesourcery.com>
4523
4524 * lto-lang.c (lto_pushdecl): Do nothing instead of aborting.
4525 (LANG_HOOKS_NAME): Define.
4526
45272007-12-27 Nathan Froyd <froydnj@codesourcery.com>
4528
4529 * lto.c (lto_find_integral_type): Define as a macro. Rename the
4530 original function to...
4531 (lto_find_integral_type_1): ...this. Consult UNSIGNEDP if we
4532 don't have a base type.
4533 (lto_read_enumeration_type_DIE): Examine the values of the
4534 enumeration to determine whether we can use an unsigned type for
4535 the base type of the enumeration.
4536
45372007-12-24 Nathan Froyd <froydnj@codesourcery.com>
4538
4539 * lto.c (lto_read_structure_union_class_type_DIE): Set TYPE_MODE
4540 and TYPE_ALIGN on UNION_TYPEs as soon as possible.
4541
45422007-12-22 Nathan Froyd <froydnj@codesourcery.com>
4543
4544 * lto-lang.c (lto_types_compatible_p): New function.
4545 (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
4546
45472007-12-22 Nathan Froyd <froydnj@codesourcery.com>
3f8257db 4548 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4549
4550 * lto-read.c (input_expr_operand): Fixed uninitialize var warning.
4551 (input_local_vars): Read in DECL_INITIAL and context for local
4552 statics that need to be put in unexpanded_vars_list.
4553
45542007-12-21 Nathan Froyd <froydnj@codesourcery.com>
4555
4556 * lto-read.c (input_real): Use a separate null-terminated buffer
4557 for calling real_from_string.
4558 (input_expr_operand): If we take the address of a FUNCTION_DECL,
4559 tell cgraph that it's needed.
4560
45612007-12-19 Doug Kwan <dougkwan@google.com>
4562
4563 * lto.c (lto_read_base_type_DIE): Handle complex integer types.
4564
45652007-12-18 Nathan Froyd <froydnj@codesourcery.com>
4566
4567 * lto.c (lto_read_DIE): Call lto_read_only_for_child_DIEs instead.
4568 (lto_file_read): Reset the members of 'context' every time we read
4569 a toplevel DIE, with special attention to last_param_type.
4570
45712007-12-18 Nathan Froyd <froydnj@codesourcery.com>
4572
4573 * lto.c (lto_read_subroutine_type_subprogram_DIE): Initialize
4574 'declaration'. Set the assembler name for non-public functions.
4575
3f8257db 45762007-12-17 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4577
4578 * lto_read.c (data_in.unexpanded_indexes): New array.
4579 (input_local_var): Added code to read in unexpanded_var_list
4580 indexes for variables. Only read in DECL_CHAIN field for
4581 parameters.
4582 (input_local_vars): Added code to rebuild unexpanded_var_list in
4583 order using unexpanded_indexes.
4584 (input_function): Added code to set DECL_CONTEXT for functions.
4585
45862007-12-13 Doug Kwan <dougkwan@google.com>
4587
4588 * lto.c (lto_read_pointer_reference_type_DIE): Handle optional name
4589 in pointer and reference types.
4590
45912007-12-13 Nathan Froyd <froydnj@codesourcery.com>
4592
4593 * lto-read.c (input_expr_operand): Use DECL_RESULT when reading a
4594 RESULT_DECL.
4595
45962007-12-13 Nathan Froyd <froydnj@codesourcery.com>
4597
4598 * lto.c (lto_read_array_type_DIE): Return the cached DIE if we've
4599 already read the DIE.
4600 (lto_get_body): New function, split out from...
4601 (lto_materialize_function): ...here. Call it.
4602 (lto_read_subroutine_type_subprogram_DIE): Call lto_get_body to
4603 determine DECL_EXTERNAL.
4604 * lto-symtab.c (lto_symtab_merge_decl): Merge the DECL_RESULTs of
4605 FUNCTION_DECLs when necessary. Use the type of the actual
4606 function definition if we are unable to easily merge types. Ignore
4607 spurious DECL_MODE mismatches on VAR_DECLs. Merge DECL_MODEs when
4608 necessary.
4609
46102007-12-13 Nathan Froyd <froydnj@codesourcery.com>
4611
4612 * lto-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
4613
46142007-12-12 Bill Maddox <maddox@google.com>
4615
4616 Revert
4617 2007-12-07 Bill Maddox <maddox@google.com>
4618
4619 * lto.c (lto_str_fd_init): New function.
4620 (lto_str_fd_close): New function.
4621 (lto_file_init): Call lto_str_fd_init.
4622 (lto_file_close): Call lto_str_fd_close.
4623 (lto_str_read): New function. Read debug string table.
4624 (lto_str_lookup): New function. Get string for debug
4625 string table offset.
4626 (lto_read_form): Recognize DW_FORM_strp.
4627 (lto_file_read): Invoke lto_str_read.
4628
4629 * lto-elf.c (lto_elf_file_open): Read raw section data
4630 for the .debug_str section, if present.
4631
4632 * lto.h (struct lto_str_fd_struct): New struct.
4633 (struct lto_file_struct): Added new field DEBUG_STR
4634 to hold the file descriptor for the debug string table.
4635
46362007-12-07 Bill Maddox <maddox@google.com>
4637
4638 * lto.c (lto_str_fd_init): New function.
4639 (lto_str_fd_close): New function.
4640 (lto_file_init): Call lto_str_fd_init.
4641 (lto_file_close): Call lto_str_fd_close.
4642 (lto_str_read): New function. Read debug string table.
4643 (lto_str_lookup): New function. Get string for debug
4644 string table offset.
4645 (lto_read_form): Recognize DW_FORM_strp.
4646 (lto_file_read): Invoke lto_str_read.
4647
4648 * lto-elf.c (lto_elf_file_open): Read raw section data
4649 for the .debug_str section, if present.
4650
4651 * lto.h (struct lto_str_fd_struct): New struct.
4652 (struct lto_file_struct): Added new field DEBUG_STR
4653 to hold the file descriptor for the debug string table.
4654
46552007-12-07 Nathan Froyd <froydnj@codesourcery.com>
4656
4657 * lto-read.c (input_cfg): Call init_empty_tree_cfg_for_function.
4658 Grow the basic_block_info and label_to_block_map vectors if
4659 necessary. Read in the block chain.
4660
46612007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4662
4663 * lto.c (lto_read_DIE): Set TYPE_ALIAS_SET where necessary.
4664
46652007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4666
4667 * lto.c (lto_read_form): Add DW_cl_address for DW_AT_const_value.
4668
46692007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4670
4671 * lto-read.c (input_expr_operand): Don't check for MTAGs.
4672 (lto_read_body): Don't declare PROP_alias.
4673
46742007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4675
4676 * lto-symtab.c (lto_symtab_merge_decl): Handle FUNCTION_DECLs without
4677 argument type information.
4678
46792007-12-03 Nathan Froyd <froydnj@codesourcery.com>
4680
4681 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
4682 TREE_THIS_VOLATILE if the associated type is a volatile type.
4683 (lto_materialize_function): Remove call to init_ssa_operands.
4684 * lto-read.c (input_expr_operand): Add SSA_NAME_VAR as a referenced
4685 variable when reading an SSA_NAME. Do the same when reading a
4686 RESULT_DECL, a RETURN_EXPR, or an MTAG.
4687 (input_cfg): Call init_ssa_operands.
4688 (input_ssa_names): Set the default def of an SSA_NAME if necessary.
4689 Move call to init_tree_ssa...
4690 (lto_read_body): ...here. Use push_cfun and pop_cfun. Call
4691 add_referenced_var on any variables referenced from the body of the
4692 function. Inform the rest of the compiler we are in SSA form and
4693 inform later passes about the current properties.
4694
46952007-11-30 Nathan Froyd <froydnj@codesourcery.com>
4696
4697 * lto.c (lto_materialize_function): Add FIXME.
4698
46992007-11-29 Nathan Froyd <froydnj@codesourcery.com>
4700
4701 * lto-lang.c (enum built_in_attribute): New enum.
4702 (flag_no_builtin, flag_no_nonansi_builtin, flag_isoc94, flag_isoc99,
4703 built_in_attributes): New variables.
4704 (def_builtin_1): New function.
4705 (lto_define_builtins): #define DEF_BUILTIN and include builtins.def.
4706
47072007-11-28 Nathan Froyd <froydnj@codesourcery.com>
4708
4709 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
4710 DECL_SOURCE_LOCATION for debugging purposes.
4711 (lto_read_member_DIE): Set DECL_SOURCE_LOCATION. If we have read a
4712 bitfield, use the type specified by the DIE for TREE_TYPE and defer
4713 laying out the decl until later.
4714 (lto_read_subroutine_type_subprogram_DIE): Compare the function's
4715 name with DECL_ASSEMBLER_NAME. Set DECL_SOURCE_LOCATION and
4716 TREE_ADDRESSABLE.
4717 * lto-read.c (input_expr_operand): Set TREE_ADDRESSABLE on the
4718 operand of an ADDR_EXPR.
4719 * lto-lang.c (enum lto_builtin_type): New enum.
4720 (builtin_type): New typedef.
4721 (builtin_types, string_type_node, const_string_type_node,
4722 wint_type_node, intmax_type_node, uintmax_type_node,
4723 signed_size_type_node): New variables.
4724 (def_fn_type, builtin_type_for_size, lto_define_builtins,
4725 lto_build_c_type_nodes): New functions.
4726 (lto_init): Initialize builtin types.
4727 (lto_set_decl_assembler_name): Let the target machine mangle the
4728 name if the decl is TREE_PUBLIC, otherwise uniquify it.
4729
47302007-11-21 Nathan Froyd <froydnj@codesourcery.com>
4731
4732 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Don't
4733 set TREE_ADDRESSABLE. Do set DECL_COMDAT. Set TREE_READONLY if
4734 the type is a constant type. Set the assembler name and inform
4735 the rest of the compiler about the new decl if the decl is not
4736 public.
4737 (lto_read_subroutine_type_subprogram_DIE): Don't check for equivalency
4738 of DECL_ASSEMBLER_NAME when determining if we have a builtin. Don't
4739 try to read in function bodies for functions that already have bodies.
4740 * lto-symtab.c (lto_same_type_p): Check for unbounded array
4741 equivalency.
4742 (lto_symtab_merge_decl): Don't merge decls that aren't TREE_PUBLIC.
4743 Check for whether we matched a builtin function type before calling
4744 lto_same_type_p on the generated type. Permit cases where the
4745 declaration of an array is unbounded, but the definition is bounded.
4746 Don't combine TREE_PUBLIC flags. Copy over DECL_SIZE and
4747 DECL_SIZE_UNIT if necessary.
4748
3f8257db 47492007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4750
4751 * lto-read.c (input_expr_operand): Get types right
4752 for COMPLEX_CST.
4753
3f8257db 47542007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4755
4756 * lto-read.c (make_new_block, input_cfg): Properly set
4757 n_basic_blocks.
4758
47592007-11-16 Nathan Froyd <froydnj@codesourcery.com>
4760
4761 * lto.c (lto_read_array_type_DIE): Handle DIEs with DW_AT_GNU_vector
4762 set properly by building a VECTOR_TYPE instead of an ARRAY_TYPE.
4763
47642007-11-16 Nathan Froyd <froydnj@codesourcery.com>
4765
4766 * lto.c (lto_read_base_type_DIE): Use make_bitfield_integer_type to
4767 construct the integer type for bitfields.
4768
3f8257db 47692007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4770
4771 * lto-read.c (data_in.current_node_has_loc): Removed.
4772 (input_line_info): Returns true if node needs line set.
4773 (set_line_info): Always sets line if called.
4774 (clear_line_info): Removed reference to current_node_needs_loc.
4775 (input_expr_operand): Keeps track locally if current node needs a loc.
4776 (input_local_var): Added code to handle DECL_INITIAL for
4777 static local vars. Only set loc if necessary.
4778
47792007-11-15 Nathan Froyd <froydnj@codesourcery.com>
4780
4781 * lto.c (lto_read_subroutine_type_subprogram_DIE): Fix thinko'd
4782 DECL_CONTEXT.
4783
47842007-11-15 Nathan Froyd <froydnj@codesourcery.com>
4785
4786 * lto.c: Include langhooks.h.
4787 (lto_find_integral_type): Rework logic to handle the case where
4788 got_byte_size is true, but the bitsize requested and that of the
4789 base_type doesn't match.
4790 (lto_read_variable_formal_parameter_constant_DIE): Only check for
4791 asm_name if we are creating a VAR_DECL.
4792 (lto_materialize_function): Set DECL_EXTERNAL if we can't find a
4793 definition.
4794 (lto_read_subroutine_type_subprogram_DIE): Check for a builtin
4795 function reference and use the builtin's decl if so. Set the
4796 DECL_CONTEXT of the RESULT_DECL for the function.
4797 * lto-lang.c (registered_builtin_fndecls): New variable.
4798 (lto_getdecls): Return it.
4799 (lto_builtin_function): Chain the new decl onto
4800 registered_builtin_fndecls.
4801
3f8257db 48022007-11-15 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4803
4804 * lto-read.c (process_tree_flags, lto_static_init_local):
4805 Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
4806 (input_line_info, clear_line_info): Fixed new line number code.
4807 (input_expr_operand): Added type to SWITCH_EXPR.
4808 (lto_read_body): Properly initialized data_in.
4809 Clear line info when leaving.
4810
48112007-11-13 Diego Novillo <dnovillo@google.com>
4812
4813 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
4814 Initialize ARTIFICIAL.
4815 (lto_read_subroutine_type_subprogram_DIE): Initialize
4816 SAVED_SCOPE.
4817 * lto-read.c (set_line_info): Remove ; from calls to
4818 LINEMAP_POSITION_FOR_COLUMN.
4819
3f8257db 48202007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4821
4822 * lto-read.c (input_type_ref): Renamed from get_type_ref.
4823 (input_expr_operand, input_local_var): Renamed get_type_ref to
4824 input_type_ref.
4825 (input_expr_operand): Get the types correct for
4826 vector-cst. Get SSA_NAME_DEF_STMT correct for return_exprs.
4827
48282007-11-13 Doug Kwan <dougkwan@google.com>
4829
4830 * lto-read.c (input_widest_uint_uleb128): New function.
4831 (input_tree_flags, process_tree_flags, input_line_info,
4832 input_expr_operand, input_local_var, input_phi, input_ssa_names):
4833 Change to use lto_flags_type and BITS_PER_LTO_FLAGS_TYPES instead of
4834 unsigned HOST_WIDE_INT and HOST_BITS_PER_WIDE_INT.
4835 (lto_static_init_local): Add code to assert that lto_flags_type is
4836 wide enough.
4837
48382007-11-13 Nathan Froyd <froydnj@codesourcery.com>
4839
4840 * lto.c (lto_read_array_type_DIE): Handle DW_AT_GNU_vector.
4841 (lto_read_subroutine_type_subprogram_DIE): Handle
4842 DW_AT_static_link and DW_AT_specification. Return the
4843 specification if present.
4844 (lto_read_base_type_DIE): Handle DW_ATE_complex_float.
4845
48462007-11-13 Nathan Froyd <froydnj@codesourcery.com>
4847
4848 * lto-lang.c: Include target.h.
4849 (registered_builtin_types): New variable.
4850 (lto_type_for_mode): Increase number of modes handled.
4851 (lto_builtin_function): Fix argument list and return the decl.
4852 (lto_register_builtin_type): New function.
4853 (lto_init): Initialize target builtins and language-independent
4854 nodes.
4855 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define.
4856
3f8257db 48572007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4858
4859 * lto-read.c (input_expr_operand): Added code to properly handle
4860 index filed. Added new RANGE_EXPR case.
4861
3f8257db 48622007-11-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4863
4864 * lto-read.c (ADD_FUNC_FLAG): Deleted macro.
4865 (data_in): Added current_node_has_loc field.
4866 (input_line_info, set_line_info, clear_line_info): Added a support
4867 for USE_MAPPED_LOCATION and not adding line numbers to nodes that
4868 did not have on on the source side.
4869 (input_expr_operand): Make sure that GIMPLE_MODIFY_STMTS get line
4870 numbers too.
4871
48722007-11-09 Doug Kwan <dougkwan@google.com>
4873
4874 * lto-read.c (input_expr_operand): Change type of operand 2 of
4875 BIT_FIELD_REF expression to be bitsizetype instead of sizetype.
4876
48772007-11-09 Nathan Froyd <froydnj@codesourcery.com>
4878
4879 * lto.c: Include lto-tree.h. Effect small spaces->tabs cleanup.
4880 (lto_read_variable_formal_parameter_constant_DIE): Transfer bits
4881 from a DW_AT_specification or DW_AT_abstract_origin attribute to
4882 the new decl we are creating. Move informing the middle end about
4883 the new decl to...
4884 (lto_main): ...here. Inform the middle end about global variables
4885 after we have read in all the input files.
4886 * lto-symtab.c (lto_symtab_merge_decl): We really do need to merge
4887 variables with internal linkage, so delete the check for internal
4888 linkage. Combine TREE_PUBLIC flags.
4889
48902007-11-08 Nathan Froyd <froydnj@codesourcery.com>
4891
4892 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
4893 DW_AT_decl_line.
4894 * lto-symtab.c (lto_symtab_merge_decl): Handle redefinition of a
4895 builtin specially. Move check for attribute compatibility
4896 earlier.
4897
48982007-11-07 Nathan Froyd <froydnj@codesourcery.com>
4899
4900 * Make-lang.in (lto/lto.o): Depend on gt-lto-lto.h.
4901 * config-lang.in (gtfiles): Add lto.h and lto.c.
4902 * lto-elf.c: Include ggc.h.
4903 (lto_elf_file_open): Allocate elf_file from GC memory.
4904 * lto.c: Include tree-ssa-operands.h and gt-lto-lto.h
4905 (lto_info_fd_init): Allocate the die_cache and unmaterialized_fndecls
4906 in GC memory.
4907 (lto_info_fd_close): Free unmaterialized_fndecls from GC memory.
4908 (lto_file_close): Free file from GC memory.
4909 (lto_cache_store_DIE): Allocate the new entry in GC memory.
4910 (lto_read_member_DIE): Fix declaration.
4911 (lto_read_subroutine_type_subprogram_DIE): unmaterialized_fndecls lives
4912 in GC memory.
4913 (current_lto_file): New variable.
4914 (lto_main): Use it.
4915 (DWARF2_attr, DWARF2_abbrev, lto_die_ptr, DWARF2_CompUnit,
4916 lto_die_cache_entry): Move to...
4917 * lto.h: ...here and add GTY markers as appropriate. Delete forward
4918 declarations accordingly.
4919 (struct lto_file_struct): Declare.
4920 (lto_file_vtable): Use it instead of lto_file.
4921
49222007-11-06 Alon Dayan <alond@il.ibm.com>
3f8257db 4923 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4924
4925 * lto-read.c (process_flags, lto_static_init_local):
4926 read flags of VAR_DECL and FUNCTION_DECL of size>1.
4927 change global array num_flags_for_code to flags_length_for_code.
4928 (set_line_info): Make decls work in USE_MAPPED_LOCATION mode.
4929
49302007-11-05 Nathan Froyd <froydnj@codesourcery.com>
4931
4932 * lto.c (lto_read_structure_union_class_type_DIE): Use proper record
4933 layout functions to compute information about the newly constructed
4934 type.
4935
49362007-11-02 Nathan Froyd <froydnj@codesourcery.com>
4937
4938 * lto-read.c (input_expr_operand): Change the LTO_return_expr1
4939 case to use DECL_RESULT if necessary.
4940
3f8257db 49412007-11-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4942
4943 * lto-read.c (input_tree_list): Removed.
4944 (input_tree_flags): Added parameter to force flags no matter what
4945 tree code.
4946 (input_expr_operand): Added parameter to input_tree_flags.
4947 Added case for IDENTIFIER_NODE and TREE_LIST. Changed ASM to call
4948 input_expr_operand rather than input_tree_lists.
4949 (input_local_var): Use input_expr_operand to read attributes
4950 rather then input_tree_list.
4951 (input_phi, input_ssa_names): Added parameter to input_tree_flags.
4952
49532007-10-31 Nathan Froyd <froydnj@codesourcery.com>
4954
4955 * lto.c (lto_read_typedef_DIE): Fix comment typo.
4956 (lto_resolve_typedecl_ref): Fetch the referred-to type and build a fake
4957 TYPE_DECL for it.
4958 * lto-read.c (lto_read_body): Use correct sizes for calculating
4959 type_decls_offset and types_offset.
4960
49612007-10-30 Nathan Froyd <froydnj@codesourcery.com>
4962
4963 * lto-tree.h (union lang_tree_node): Change GTY description to chain
4964 with GENERIC_NEXT.
4965 * config-lang.in (gtfiles): Add lto-lang.c.
4966 * lto-lang.c: Include gt-lto-lto-lang.h.
4967 * Make-lang.in (lto/lto-lang.o): Add dependency on gt-lto-lto-lang.h
4968 (lto/lto-symtab.o): Depend on LTO_H instead of TREE_H.
4969 (lto/lto-read.o): Likewise.
4970
3f8257db 49712007-10-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4972
4973 * lto-read.c (data_in): Added type_decls and current_col fields.
4974 (string_slot): New type to hold canonized file name.
4975 (hash_string_slot_node, eq_string_slot_node, canon_file_name,
4976 input_line_info, set_line_info, clear_line_info): New functions.
4977 (file_name_hash_table): New hash table.
4978 (input_local_var, input_labels, input_local_vars_index,
4979 input_local_var, input_local_vars, input_ssa_names): Reorganized parameters.
4980 (input_uleb128): Changed type of byte var.
4981 (input_expr_operand): Large number of changes to get line numbers
4982 correct. Added TYPE_DECL case.
4983 (input_globals): Added code to get TYPE_DECLs processed.
4984 (input_local_var): Added code to process line numbers and
4985 TREE_CHAIN and DECL_CONTEXT.
4986 (input_function, input_constructor): Added call to
4987 clear_line_number.
4988 (lto_static_init_local): Added code to get line numbers correct.
4989 (lto_read_body): Added code to get TYPE_DECLS read and to change
4990 parameters to the calls above that had their parms reorganized.
4991
4992
49932007-10-29 Nathan Froyd <froydnj@codesourcery.com>
4994
4995 * lto.h (lto_resolve_typedecl_ref): Declare.
4996 * lto.c (lto_resolve_typedecl_ref): New function.
4997
49982007-10-29 Mark Mitchell <mark@codesourcery.com>
4999 Nathan Froyd <froydnj@codesourcery.com>
5000
5001 * lto.c (lto_read_subroutine_type_subprogram_DIE): Read the child
5002 DIEs even if we find an abstract origin for this DIE.
5003
50042007-10-29 Nathan Froyd <froydnj@codesourcery.com>
5005
5006 * lto.c (lto_read_subroutine_type_subprogram_DIE): Build the
5007 RESULT_DECL slightly earlier. Only remember the decl for later
5008 if we successfully merge declarations.
5009
3f8257db 50102007-10-24 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5011
5012 * lto-read.c (input_expr_operand): Give label_values the proper
5013 context and provide switch statements with a default type.
5014
50152007-10-23 Nathan Froyd <froydnj@codesourcery.com>
5016
5017 * lto-read.c (lto_read_body): Move call to init_ssa_operands...
5018 * lto.c (lto_materialize_function): ...to here.
5019
50202007-10-22 Nathan Froyd <froydnj@codesourcery.com>
5021
5022 * lto.h (struct lto_info_fd): Add field unmaterialized_fndecls.
5023 * lto.c (lto_info_fd_init): Initialize it.
5024 (lto_info_fd_close): Free it.
5025 (lto_materialize_function): New function.
5026 (lto_read_subroutine_type_subprogram_DIE): Save the result decl on
5027 unmaterialized_fndecls.
5028 (lto_file_read): Read in all the function bodies after we have read
5029 all of the DWARF info.
5030 * lto-read.c (lto_read_body): Call init_ssa_operands if we are
5031 reading a function body.
5032
3f8257db 50332007-10-20 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5034
5035 * lto-read.c (input_tree_flags): Renamed from input_flags to be
5036 semetric with output_tree_flags. Added call to log flags.
5037 (process_tree_flags): Renamed from process_flags. Fixed a lot of
5038 type issues to make everything consistent with flags being
5039 unsigned HOST_WIDE_INTS.
5040 (input_expr_operand): Added call to
5041 recompute_tree_invariant_for_addr_expr.
5042 (input_local_var): Added debugging for tree_chains. Now calls
5043 input_tree_flags.
5044 (input_phi): Made flags unsigned HOST_WIDE_INT.
5045 (input_ssa_names): Now calls input_tree_flags.
5046 (lto_read_body): Now sets cfun.
5047 (lto_read_function_body): Now sets current_function_pointer.
5048
50492007-10-19 Nathan Froyd <froydnj@codesourcery.com>
5050
5051 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Check
5052 definitively whether SPECIFICATION or ABSTRACT_ORIGIN exist before
5053 inspecting fields within.
5054 (lto_read_DIE_at_ptr): Delete check for null result; let callers
5055 handle this appropriately.
5056
50572007-10-19 Nathan Froyd <froydnj@codesourcery.com>
5058
5059 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Handle
5060 DW_AT_abstract_origin properly. Ensure that we're not dealing with
5061 both DW_AT_abstract_origin and DW_AT_specification.
5062 (lto_read_subroutine_type_subprogram_DIE): Handle
5063 DW_AT_abstract_origin.
5064 (lto_read_DIE): Use lto_read_only_for_child_DIEs for labels.
5065 (lto_read_DIE_at_ptr): Define as static to match declaration.
5066 Lookup the PTR in the cache before reading it from the file.
5067 (lto_resolve_var_ref): Adjust accordingly.
5068 (lto_resolve_fn_ref): Adjust accordingly. Tweak comment.
5069 (lto_resolve_field_ref): Adjust accordingly. Tweak comment.
5070
50712007-10-19 Nathan Froyd <froydnj@codesourcery.com>
5072
5073 * lto.c (lto_read_DIE_at_ptr): New function.
5074 (lto_resolve_var_ref): Use it.
5075 (lto_resolve_fn_ref): Use it.
5076 (lto_resolve_field_ref): Use it.
5077 (lto_read_variable_formal_parameter_constant_DIE): Follow
5078 DW_AT_specification and return the associated decl when appropriate.
5079
50802007-10-18 Nathan Froyd <froydnj@codesourcery.com>
5081
5082 * lto-lang.c (lto_type_for_mode): Move after lto_type_for_size.
5083 Implement for scalar integer modes.
5084 (lto_init): Initialize size_type_node.
5085
3f8257db 50862007-10-18 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5087
5088 * lto-read.c (input_expr_operand): Remove ssa name asserts.
5089 (input_local_var): Add chaining for params.
5090 (input_ssa_names): Add cfun parameter.
5091 (input_function): Remove unnecessary else.
5092
50932007-10-17 Nathan Froyd <froydnj@codesourcery.com>
5094
5095 * lto.c (lto_read_only_for_child_DIEs): Mark die parameter as unused.
5096 (lto_resolve_var_ref): Use proper types.
5097 (lto_resolve_fn_ref): Likewise.
5098 (lto_resolve_field_ref): Likewise.
5099
51002007-10-17 Nathan Froyd <froydnj@codesourcery.com>
5101
5102 * lto-read.c (input_expr_operand): Remove case.
5103
51042007-10-17 Nathan Froyd <froydnj@codesourcery.com>
5105
5106 * lto.c (lto_read_only_for_child_DIEs): New function.
5107 (lto_read_DIE): Use it for lexical_block and inlined_subroutine DIEs.
5108 * lto-elf.c (lto_elf_map_lto_section): Remove.
5109 (lto_elf_file_vtable): Use lto_elf_map_optional_lto_section instead.
5110 * lto-read.c (input_expr_operand): Assert that we never read a NULL
5111 SSA_NAME. Add missing case for mechanical codes.
5112 (input_cfg): Use basic_block_info_for_function instead of
5113 basic_block_info.
5114
3f8257db 51152007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5116
5117 * lto-read.c (input_sleb128, input_integer): Use proper casts.
5118 (input_list): Renamed input_tree_list and modified to follow same
5119 protocol as lto-function-out.c:output_tree_list.
5120 (input_expr_operand): Make asm operands use input_tree_list.
5121 (input_local_var): Now uses input_tree_list.
5122 (lto_read_body): Change placement for setting context of debug_labels.
5123
5124
3f8257db 51252007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5126
5127 * lto-read.c (input_real): Output debugging in proper order.
5128 (input_integer): Compute bit lengths properly.
5129 (input_list): Clean up declaration.
5130 (input_expr_operand): Change calls to input_real to match fix.
5131 Make reading of LTO_bit_field_ref1 match output.
5132 (input_local_var): Make reading of attributes match what is being
5133 written.
5134 (dump_debug_stream): Also print char in hex.
5135 (debug_out_fun): Fix signed unsigned mismatch.
5136
51372007-10-10 Nathan Froyd <froydnj@codesourcery.com>
5138
5139 * lto.c (lto_read_form): Handle DW_AT_MIPS_linkage_name and
5140 DW_AT_GNU_vector specially, as they are not contiguous with the
5141 specified set of attribute names. Use class_mask to check for
5142 errors at the end of the function
5143 (lto_resolve_var_ref): Read the DIE if it is not cached.
5144 (lto_resolve_fn_ref): Likewise.
5145 (lto_resolve_field_ref): Likewise.
5146
51472007-10-05 Nathan Froyd <froydnj@codesourcery.com>
5148
5149 * lto.c: Include dwarf2out.h.
5150 (lto_cache_store_DIE): Assert that we never change the value.
5151 (LTO_BEGIN_READ_ATTRS): Print an informative error message.
5152 (lto_read_compile_unit_DIE): Handle DW_AT_entry_pc.
5153 (lto_read_array_type_DIE): Don't error on ndims == 0; build a
5154 sensible type instead.
5155 (lto_read_structure_union_class_type_DIE): Store the newly
5156 created type prior to reading the members of the structure to
5157 avoid infinite recursion. Avoid computing types and alignments
5158 for structures whose sizes are unknown.
5159 (lto_read_variable_formal_parameter_const): Handle DW_AT_artificial
5160 and set DECL_ARTIFICIAL accordingly. Ignore DW_AT_abstract_origin,
5161 DW_AT_const_value, and DW_AT_specification.
5162 (lto_read_subroutine_type_subprogram_DIE): Handle DW_AT_declaration.
5163 Return early if we have already constructed the function type.
5164 (lto_read_typedef_DIE): Check to see if the type has been cached
5165 already. Cache the type before reading any children.
5166 (lto_read_const_volatile_restrict_type_DIE): Handle DW_AT_name.
5167 (lto_read_DIE): Unset context->skip_non_parameters around reading
5168 the DIE.
5169 (lto_resolve_fn_ref): Delete trailing whitespace.
5170
3f8257db 51712007-09-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5172
5173 * lto-read.c (input_expr_operand): Added type for STRING_CST.
5174
51752007-09-10 Nathan Froyd <froydnj@codesourcery.com>
5176
5177 * lto-read.c (lto_read): Set the type of the newly created CALL_EXPR.
5178
51792007-09-07 Nathan Froyd <froydnj@codesourcery.com>
5180
5181 * lto-lang.c (signed_and_unsigned_types): New variable.
5182 (lto_type_for_size): Consult signed_and_unsigned_types to find
5183 an approprite type, creating it if necessary.
5184 (lto_set_decl_assembler_name): Add actual method body.
5185
51862007-09-06 Jim Blandy <jimb@codesourcery.com>
5187
5188 * lto.c (lto_read_variable_formal_parameter_constant_DIE): If we
5189 can't find a var init for this variable, leave its DECL_INITIAL.
5190 * lto-elf.c (lto_elf_map_optional_lto_section): Renamed from
5191 lto_elf_map_fn_body.
5192 (lto_map_lto_section): New function.
5193 (lto_elf_file_vtable): Use lto_elf_map_lto_section for function
5194 bodies, and lto_elf_map_optional_lto_section for variable
5195 initializers.
5196 (lto_elf_find_section_data): Quietly return NULL if the section is
5197 missing.
5198 (lto_elf_file_open): Check for a NULL from lto_elf_find_section_data.
5199
5200 * lto-elf.c (lto_elf_find_section_data): Remove dead code.
5201
5202 * lto-read.c (lto_read_body): Doc fix.
5203
3f8257db 52042007-08-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5205
5206 * lto-read.c (fun_in): Renamed to data_in.
5207 (input_expr_operand, input_local_var, input_string_internal,
5208 input_string, input_real, input_list, get_label_decl,
5209 get_type_ref, input_expr_operand, input_globals, input_labels,
5210 input_local_vars_index, input_local_var, input_local_vars,
5211 input_cfg, input_phi, input_ssa_names, input_bb, ): Renamed fun_in to data_in.
5212 (input_constructor): New function.
5213 (lto_read_function_body): Renamed to lto_read_body and generalized
5214 to handle both functions and constructors.
5215 (lto_read_function_body, lto_read_var_init): New function.
5216
5217
3f8257db 52182007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5219
5220 * lto-read.c (input_expr_operand): Assert that there really is a
5221 FUNCTION_DECL.
5222 (input_globals): Removed checks on 0 section.
5223
3f8257db 52242007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5225
5226 * lto-read.c (fun_in): Added local_decls_index and
5227 local_decls_index_d.
5228 (input_expr_operand): Changed inputting of PARM_DECLs and VAR_DECLs.
5229 (input_globals): Enabled code to handle FIELD_DECLs.
5230 (input_local_vars_index, input_local_vars): New function.
5231 (input_local_var): Changed to allow locals to be input randomly.
5232 (lto_read_function_body): Added code to input the
5233 local_decls_index and to free various structures.
5234
52352007-08-17 Jim Blandy <jimb@codesourcery.com>
5236
5237 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Remove
5238 ATTRIBUTE_UNUSED from 'die' formal.
5239
5240 Use enum LTO_tags where appropriate, instead of 'unsigned int'.
5241 * lto-read.c (input_record_start): Fix return type, type of 'tag'.
5242 (input_list): Fix type of 'tag'.
5243 (input_expr_operand): Fix type of 'tag' argument. Update
5244 declaration. Fix type of 'ctag'. Add default case to switch,
5245 since the type of the switched value is now an enum.
5246 (input_local_vars): Fix type of 'tag'.
5247 (input_bb): Fix type of 'tag' argument.
5248 (input_function): Fix type of 'tag' argument.
5249
52502007-08-16 Jim Blandy <jimb@codesourcery.com>
5251
5252 * lto.c (lto_read_member_DIE): Record the tree we create in
5253 fd->die_cache. (Our 'die' argument is no longer unused.)
5254 (lto_resolve_field_ref): New function.
5255 * lto.h (lto_resolve_field_ref): New declaration.
5256
52572007-08-15 Jim Blandy <jimb@codesourcery.com>
5258
5259 * lto-read.c (lto_read_var_init): Mark arguments as unused.
5260
52612007-08-07 Jim Blandy <jimb@codesourcery.com>
5262
5263 * lto.c (lto_read_form): Complete attr_classes table.
5264 (DWARF2_form_data): Doc fix.
5265
52662007-08-05 Mark Mitchell <mark@codesourcery.com>
5267
5268 * lto.h (lto_file_vtable): Remove read_var_init. Add map_var_init
5269 and unmap_var_init.
5270 (lto_read_var_init): Declare.
5271 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Use new
5272 interface for reading variable initializers.
5273 * lto-elf.c (lto_elf_read_var_init): Remove.
5274 (lto_elf_file_vtable): Update initializer.
5275 (lto_elf_read_var_init): Add comment about unused-ness.
5276 * lto-read.c (lto_read_var_init): New.
5277
5278 * lto.c (lto_read_form): Add entry for DW_AT_inline.
5279
3f8257db 52802007-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5281
5282 * lto-read.c (lto_read_function_body): Moved declaration of fn
5283 outside of ifdef.
5284
3f8257db 52852007-08-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5286
5287 * lto-read.c (input_uleb128, input_string_internal, input_real,
5288 input_integer, input_record_start, input_list, get_type_ref,
5289 input_flags, input_expr_operand, input_expr_operand,
5290 input_expr_operand, input_local_vars, input_cfg, input_phi,
5291 input_ssa_names, input_bb, input_function): Added semicolons.
5292
5293
3f8257db 52942007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5295
5296 * lto-read.c (input_globals): Remove debugging.
5297 (input_function): Set DECL_ARGUMENTS.
5298
3f8257db 52992007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5300
5301 * lto-read.c (input_expr_operand): Fixed code for COND_EXEC,
5302 RETURN_EXPR, MODIFY_EXPR and processing of flags.
5303 (input_phi): Made work with operands other than SSA_NAMES and
5304 fixed processing of flags.
5305 (input_ssa_names): Initialize SSA_NAME_DEF_STMT to empty stmt.
5306 (input_flags): New function.
5307 * lto-lang.c (lto_init): Changed state of in_lto_p.
5308
5309
53102007-07-24 Mark Mitchell <mark@codesourcery.com>
5311
5312 * lto-tree.h (lto_varargs_cookie): Remove.
5313 * lto.c (lto_context): Add last_parm_type, varargs_p, skip_all,
5314 skip_non_parameters, skip_parameters.
5315 (lto_varargs_cookie): Remove.
5316 (lto_read_variable_formal_parameter_constant_DIE): Keep track of
5317 parameter types.
5318 (lto_read_abbrev): New function.
5319 (lto_read_subroutine_type_subprogram_DIE): Make two passes over
5320 child DIEs.
5321 (lto_read_unspecified_parameters_DIE): Set context->varargs_p.
5322 (lto_read_DIE): Use lto_read_abbrev. Honor skip_* flags.
5323 (lto_file_read): Initialize new context fields.
5324 * lto-lang.c (lto_type_for_mode): Return NULL_TREE.
5325 (lto_unsigned_type): Remove.
5326 (lto_signed_type): Likewise.
5327 (lto_signed_or_unsigned_type): Likewise.
5328 (lto_init): Do not create lto_varargs_cookie.
5329 (LANG_HOOKS_UNSIGNED_TYPE): Do not define.
5330 (LANG_HOOKS_SIGNED_TYPE): Likewise.
5331 (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Likewise.
5332
53332007-07-19 Jan Hubicka <jh@suse.cz>
5334
5335 * lto-read.c (lto_read_function_body): Produce empty scope block
5336 to avoid crash.
5337
53382007-07-18 Mark Mitchell <mark@codesourcery.com>
5339
5340 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Do not
5341 process local variables.
5342 (lto_read_subroutine_type_subprogram_DIE): Read child DIEs.
5343
3f8257db 53442007-07-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5345
5346 * lto-read.c (input_list, input_expr_operand): Added struct
5347 function parameter.
5348 (init_cfg, finalize_cfg): Removed function.
5349 (input_expr_operand): Added SSA_NAME and GIMPLE_MODIFY_STMT cases.
5350 (input_labels, input_local_vars): Now takes input_block parameter rather than
5351 synthsyzing it.
5352 (input_cfg, input_phi, input_ssa_names): New functions.
5353 (input_bb): Now passes in input_blocks. Does not construct cfg
5354 and processes the list of phi functions.
5355 (input_function): Now builds both the cfg and ssa_names table.
5356 (lto_read_function_body): Processes new header fields to construct
5357 streams for the ssa_names and cfg and their debugging.
5358 * lto/lto-lang.c (lto_init): Set in_lto_p.
5359
5360
53612007-06-28 Mark Mitchell <mark@codesourcery.com>
5362
5363 * lto.h (lto_file_vtable): Add read_var_init.
5364 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Read
5365 initializers.
5366 (lto_main): Remove bogus asserts.
5367 * lto-elf.c (tm.h): Include it.
5368 (libiberty.y): Likewise.
5369 (lto_elf_file): Add strtab and symtab. Rename
5370 string_table_section_index to sec_strtab.
5371 (lto_elf_file_vtable): Add lto_elf_read_var_init.
5372 (lto_elf_get_shdr): New function.
5373 (lto_elf_free_shdr): Likewise.
5374 (lto_elf_find_section_data): Use them.
5375 (lto_elf_read_symtab): New function.
5376 (lto_elf_lookup_sym): Likewise.
5377 (lto_elf_free_sym): Likewise.
5378 (lto_elf_file_open): Tidy. Call lto_elf_read_symtab.
5379 (lto_elf_built_init): New function.
5380 (lto_elf_read_var_init): Likewise.
5381 * Make-lang.in (lto/lto-elf.o): Depend on $(TM_H).
5382
3f8257db 53832007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5384
5385 * lto-read (make_new_block): Initialize the stmt_list.
5386 (lto_static_init_local): Add debugging for missing codes.
5387
53882007-06-26 Mark Mitchell <mark@codesourcery.com>
5389
5390 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
5391 unprototyped functions.
5392
53932007-06-23 Mark Mitchell <mark@codesourcery.com>
5394
5395 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
5396 Handle DW_AT_MIPS_linkage_name.
5397 (lto_read_subroutine_type_subprogram): Likewise. Correct
5398 compilation errors.
5399 (lto_main): Remove incorrect assertions.
5400 * lto-symbtab.c: Build function types out of TREE_LISTs.
5401
5402 * lto-elf.c (<libelf>): Check for HAVE_LIBELF_H.
5403
5404 * Make-lang.in (LTO_OBJS): Depend on attribs.o.
5405
3f8257db 54062007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5407
5408 * lto/lto-tree.h (lang_decl, lang_type, language_function): Added
5409 dummy since ggc does not like empty structs.
5410 * lto/lto-elf.c (libelf.h): Changed to libelf/libelf.h.
5411 * lto/lto-read.c (ADD_CLASS_FLAG, ADD_EXPR_FLAG): Changed
5412 expr->common to expr->base.
5413 (make_new_block): Moved stmt_list to proper place.
5414
5415
54162007-03-14 Robert Kennedy <jimbob@google.com>
5417
5418 Eliminate use of lang_hooks.set_decl_assembler_name from LTO
5419 * lto.c (lto_read_subroutine_type_subprogram_DIE) Get DECL
5420 assembler name from DWARF.
5421 * lto-lang.c (lto_set_decl_assembler_name) New function.
5422
54232006-09-10 Mark Mitchell <mark@codesourcery.com>
5424
5425 * lto.h (lto_file_vtable): New structure.
5426 (lto_file): Add vtable pointer.
5427 (lto_file_init): Add vtable paramter.
5428 (lto_read_function_body): New function.
5429 (lto_symtab_merge_fn): New function.
5430 * lto.c (lto_file_init): Add vtable parameter.
5431 (lto_read_form): Fill in entries for DW_AT_prototyped,
5432 DW_AT_frame_base.
5433 (lto_read_subroutine_type_subprogram_DIE): New function.
5434 (lto_read_DIE): Fill in entries for DW_TAG_subroutine_type and
5435 DW_TAG_subprogram.
5436 * lto-elf.c (lto_elf_vile_vtable): New variable.
5437 (lto_elf_file_open): Pass it to lto_file_init.
5438 (lto_elf_map_fn_body): New function.
5439 (lto_elf_unmap_fn_body): Likewise.
5440 * lto-read.c: New file.
5441 * lto-symtab.c (lto_symtab_merge_fn): New function.
5442 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define to
5443 tree_rest_of_compilation.
5444 * Make-lang.in (LTO_OBJS): Add lto-read.o
5445 (lto-read.o): New target.
5446
54472006-09-03 Mark Mitchell <mark@codesourcery.com>
5448
5449 * lto.c (<inttypes.h>): Don't include it.
5450 (lto_context): Don't typedef it.
5451 (lto_resolve_reference): New function.
5452 (lto_read_form): Use it.
5453 (lto_resolve_type_ref): New function.
5454 (lto_resolve_var_ref): Likewise.
5455 (lto_resolve_fn_ref): Likewise.
5456 * lto.h (<inttypes.h>): Include it.
5457 (lto_context): New type.
5458 (lto_ref): New structure.
5459 (lto_resolve_type_ref): Declare.
5460 (lto_resolve_var_ref): Likewise.
5461 (lto_resolve_fn_ref): Likewise.
5462
54632006-08-18 Mark Mitchell <mark@codesourcery.com>
5464
5465 * lang-specs.h: New file.
5466
54672006-08-14 Mark Mitchell <mark@codesourcery.com>
5468
5469 * lto.c (lto_info_fd_init): Allocate the DIE cache.
5470 (lto_info_fd_close): Deallocate it.
5471 (lto_die_cache_entry): New structure.
5472 (lto_cache_hash): New function.
5473 (lto_cache_eq): Likewise.
5474 (lto_cache_store_DIE): Likewise.
5475 (lto_cache_lookup_DIE): Likewise.
5476 (lto_read_referenced_type_DIE): Use the cache.
5477 (lto_read_pointer_type_DIE): Robustify.
5478 (lto_read_DIE): Use the cache.
5479 * lto.h (hashtab.h): Include.
5480 (lto_info_fd): Add DIE cache.
5481 * Make-lang.in (LTO_H): New variable.
5482 (lto/lto-lang.o): Use LTO_H.
5483 (lto/lto-elf.o): Likewise.
5484 (lto/lto-symtab.o): Likewise.
5485
54862006-07-09 Mark Mitchell <mark@codesourcery.com>
5487
5488 * lto.c (lto_abi_mismatch_error): New function.
5489 (lto_abbrev_read): Initialize num_abbrevs.
5490 (lto_read_form): Specify allowed form classes for
5491 DW_AT_declaration. Adjust for change to lto_set_cu_context.
5492 (lto_read_variable_formal_parameter_constant_DIE): Handle
5493 DW_AT_declaration. Call lto_symtab_merge_var.
5494 (lto_read_pointer_type_DIE): New function.
5495 (lto_read_base_type_DIE): Use build_nonstandard_integer_type. Do
5496 not creat TYPE_DECLs for types that already have them.
5497 (lto_read_DIE): Add lto_read_pointer_type_DIE.
5498 (lto_set_cu_context): Make cu_start point to the header, not the
5499 first DIE.
5500 (lto_file_read): Adjust for change to lto_set_cu_context.
5501 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
5502 (lto/lto-symtab.o): New rule.
5503 * lto-tree.h (lang_identifier): Add decl field.
5504 (LANG_IDENTIFIER_CAST): New macro.
5505 (LTO_IDENTIFIER_DECL): Likewise.
5506 (lto_symtab_merge_var): Declare.
5507 * lto-symtab.c: New file.
5508
55092006-07-02 Daniel Berlin <dberlin@dberlin.org>
5510
5511 * lto.c (lto_context): Add current_cu and info_fd members.
5512 (DWARF2_CompUnit): New structure.
5513 (lto_read_DIE): Take lto_info_fd *.
5514 (lto_read_child_DIEs): Ditto.
5515 (lto_file_corrupt_error): Constify argument.
5516 (lto_set_cu_context): New function
5517 (lto_info_fd_init): Ditto.
5518 (lto_info_fd_close): Ditto.
5519 (lto_file_init): Use lto_info_fd_init.
5520 (lto_file_close): Use lto_info_fd_close.
5521 (lto_read_initial_length): Pass in pointer to header size.
5522 (lto_read_comp_unit_header): Correct cu_length to
5523 real length from beginning of header. Take lto_info_fd * as
5524 argument.
5525 (find_cu_for_offset): New function.
5526 (lto_read_form): Change first argument to lto_info_fd *.
5527 Add FORM_CONTEXT argument.
5528 Handle DW_FORM_ref_addr.
5529 (lto_read_tag_DIE): Change first argument to lto_info_fd *.
5530 (LTO_BEGIN_READ_ATTRS_UNCHECKED): Save old context.
5531 Swap contexts if necessary for form.
5532 (LTO_BEGIN_READ_ATTRS): Cast fd to right type for
5533 lto_file_corrupt_error.
5534 (LTO_END_READ_ATTRS): Swap contexts back if it had changed.
5535 (lto_read_referenced_type_DIE): Change first argument to
5536 lto_info_fd *. Access lto_fd fields through base pointer.
5537 (lto_read_compile_unit_DIE): Change first argument to an
5538 lto_info_fd *.
5539 (lto_read_variable_formal_parameter_constant_DIE): Ditto.
5540 (lto_read_base_type_DIE): Ditto.
5541 (lto_read_child_DIEs): Ditto.
5542 (lto_read_DIE): Ditto. Change type of function pointer.
5543 (lto_info_read): New function.
5544 (lto_set_cu_context): Ditto.
5545 (lto_file_read): Use lto_info_read, walk resulting CU's
5546 (lto_main): Update for lto_info_fd change.
5547 * lto-elf.c (lto_elf_file_open): Cast lto_info_fd to lto_fd where
5548 necessary.
5549 * lto.h (DWARF2_CompUnit): New structure.
5550 (lto_info_fd): Ditto.
5551 (lto_file): Change debug_info to be an lto_info_fd.
5552
55532006-06-25 Mark Mitchell <mark@codesourcery.com>
5554
5555 * lto.c (toplev.h): Include it.
5556 (dwarf2.h): Likewise.
5557 (tree.h): Likewise.
5558 (tm.h): Likewise.
5559 (cgraph.h): Likewise.
5560 (ggc.h): Likewise.
5561 (inttypes.h): Likewise.
5562 (DWARF2_attr): New type.
5563 (DWARF2_abbrev): Likewise.
5564 (DWARF2_class): Likewise.
5565 (DWARF2_form_data): Likewise.
5566 (lto_context): Likewise.
5567 (lto_fd_init): New function.
5568 (lto_abbrev_fd_init): Likewise.
5569 (lto_abbrev_fd_close): Likewise.
5570 (lto_file_init): Use them.
5571 (lto_file_close): New function.
5572 (lto_file_corrupt_error): Likewise.
5573 (LTO_CHECK_INT_VAL): New macro.
5574 (lto_check_size_t_val): New function.
5575 (lto_check_int_val): Likewise.
5576 (LTO_READ_TYPE): New macro.
5577 (lto_read_ubyte): New function.
5578 (lto_read_uhalf): Likewise.
5579 (lto_read_uword): Likewise.
5580 (lto_read_uleb128): Likewise.
5581 (lto_read_initial_length): Likewise.
5582 (lto_abbrev_read_attrs): Likewise.
5583 (lto_abbrev_read): Likewise.
5584 (lto_abbrev_lookup): Likewise.
5585 (lto_read_section_offset): Likewise.
5586 (lto_read_comp_unit_header): Likewise.
5587 (lto_read_form): Likewise.
5588 (LTO_BEGIN_READ_ATTRS_UNCHECKED): New macro.
5589 (LTO_BEGIN_READ_ATTRS): Likewise.
5590 (LTO_END_READ_ATTRS): Likewise.
5591 (lto_unsupported_attr_error): New function.
5592 (lto_get_identifier): Likewise.
5593 (lto_read_referenced_type_DIE): Likewise.
5594 (lto_read_compile_unit_DIE): Likewise.
5595 (lto_read_variable_formal_parameter_constant_DIE): Likewise.
5596 (lto_read_base_type_DIE): Likewise.
5597 (lto_read_DIE): Likewise.
5598 (lto_read_child_DIEs): Likewise.
5599 (lto_file_read): Read DIEs.
5600 (lto_main): Ask middle end to emit entities.
5601 * lto-tree.h (lang_identifier): Inherit from tree_identifier.
5602 * lto-elf.c (lto_elf_file_open): Adjust for interface changes.
5603 (lto_elf_file_close): Likewise.
5604 * lto.h (lto_file): Declare.
5605 (DWARF2_abbrev): Likewise.
5606 (lto_fd): New type.
5607 (lto_abbrev_fd): Likewise.
5608 (lto_file): Use new types.
5609 (lto_file_close): Declare.
5610 * lto-lang.c (lto_init): Always use unit-at-a-time mode.
5611
56122006-06-18 Mark Mitchell <mark@codesourcery.com>
5613
5614 * lto.h: New file.
5615 * lto.c: New file.
5616 * lto-elf.c: New file.
5617 * lto-lang.c (flags.h): Include it.
5618 (lto.h): Likewise.
5619 (lto_init): New function.
5620 (lto_write_globals): Remove.
5621 (LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing.
5622 (LANG_HOOKS_INIT): Define.
5623 (LANG_HOOKS_PARSE_FILE): Likewise.
5624 * Make-lang.in (LTO_OBJS): Add lto.o and lto-elf.o.
5625 (LTO_EXE): Link with libelf.
5626 (lto/lto-lang.o): Update dependencies.
5627 (lto/lto.o): New target.
5628 (lto/lto-elf.o): Likewise.
5629
56302006-06-12 Mark Mitchell <mark@codesourcery.com>
5631
5632 * config-lang.in: New file.
5633 * Make-lang.in: Likewise.
5634 * lto-tree.h: Likewise.
5635 * lto-lang.c: Likewise.
818ab71a 5636\f
cbe34bb5 5637Copyright (C) 2006-2017 Free Software Foundation, Inc.
d7f09764 5638
818ab71a
JJ
5639Copying and distribution of this file, with or without modification,
5640are permitted in any medium without royalty provided the copyright
5641notice and this notice are preserved.