]> gcc.gnu.org Git - gcc.git/blame - gcc/lto/ChangeLog
update-copyright.py (TestsuiteFilter): Skip params/README.
[gcc.git] / gcc / lto / ChangeLog
CommitLineData
6c8bf066
GJL
12016-11-30 Georg-Johann Lay <avr@gjlay.de>
2
3 PR lto/78562
4 * lto-symtab.c (lto_symtab_merge_decls_2): Don't diagnose type
5 mismatch if the two types are built-in.
6
7fa6a965
PK
72016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
8
9 * lto-lang.c (lto_init): Remove initialization of ptrdiff_type_node.
10
efb71232
RB
112016-11-23 Richard Biener <rguenther@suse.de>
12
13 PR lto/78472
14 * lto.c (hash_canonical_type): Ignore zero-sized fields.
15
48330c93
BE
162016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
17
18 PR c++/71973
19 * lto-lang.c (lto_init): Assert const_tm_ptr_type_node is sane.
20
899ca90e 212016-11-18 Richard Sandiford <richard.sandiford@arm.com>
48330c93
BE
22 Alan Hayward <alan.hayward@arm.com>
23 David Sherwood <david.sherwood@arm.com>
899ca90e
RS
24
25 * lto.c (offload_handle_link_vars): Use SET_DECL_MODE.
26
65179585
RB
272016-10-31 Richard Biener <rguenther@suse.de>
28
29 PR lto/78129
30 * lto.c (do_whole_program_analysis): Bail out after errors
31 from WPA analysis.
32
8bc5448f
KV
332016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
34
35 * lto-partition.c: Include tree-vrp.h.
36 * lto.c: Likewise.
37
68317985
RB
382016-09-20 Richard Biener <rguenther@suse.de>
39
40 * lto.c (lto_main): Call early_finish with "<artificial>" as
41 filename.
42
321e76fb
RB
432016-09-19 Richard Biener <rguenther@suse.de>
44
45 * lto.c (lto_main): Invoke early_finish debug hook.
46
ea6e17d5
RB
472016-07-25 Richard Biener <rguenther@suse.de>
48
49 * lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
50 (unify_scc): Likewise.
51 (lto_read_decls): Likewise.
52
e9ac1f86
JJ
532016-06-28 Jakub Jelinek <jakub@redhat.com>
54
55 * Make-lang.in: Don't cat ../stage_current if it does not exist.
56
277d7ee0
AK
572016-06-23 Andi Kleen <ak@linux.intel.com>
58
59 * Make-lang.in: Add support for autofdo (disabled for now)
60
4d926e34
MS
612016-06-10 Martin Sebor <msebor@redhat.com>
62
63 PR c/71392
64 * gcc/lto/lto-lang.c (handle_nonnull_attribute): Accept the nonnull
65 attribute in type-generic builtins.
66
479f99c9
JH
672016-05-16 Jan Hubicka <hubicka@ucw.cz>
68
69 * lto-partition.c (add_symbol_to_partition_1): Likewise.
70
1a0bf5e1
JH
712016-05-03 Jan Hubicka <hubicka@ucw.cz>
72
73 * lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed.
74
a2e76867
PK
752016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
76
77 * lto-partition.h (lto_balanced_map): New parameter.
78 * lto-partition.c (lto_balanced_map): New parameter
79 max_partition_size.
80 Check if partition size is greater than max_partition_size.
81 * lto.c (do_whole_program_analysis): Adjust calls to
82 lto_balanced_map() to pass 2nd argument.
83
ea913779
L
842016-03-17 H.J. Lu <hongjiu.lu@intel.com>
85
86 PR lto/70258
87 * lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
88 PIE.
89
56aae4b7
JJ
902016-03-08 Jakub Jelinek <jakub@redhat.com>
91
92 * lto-symtab.h (lto_symtab_prevail_decl): Fix spelling
93 - becuase -> because.
94
ed5d948d
TV
952016-02-15 Tom de Vries <tom@codesourcery.com>
96
97 PR lto/69655
98 * lto.c (read_cgraph_and_symbols): Call input_offload_tables with
99 argument.
100
4ecbadc7
ML
1012016-01-27 Martin Liska <mliska@suse.cz>
102
103 * lto-partition.c (add_symbol_to_partition_1): Remove usage
104 of hsa_summaries.
105
e49d321f
JH
1062016-01-19 Jan Hubicka <hubicka@ucw.cz>
107
108 PR lto/69136
109 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
110 decls have no assemblernames.
111
b2b40051
MJ
1122016-01-19 Martin Liska <mliska@suse.cz>
113 Martin Jambor <mjambor@suse.cz>
114
115 * lto-partition.c: Include "hsa.h"
116 (add_symbol_to_partition_1): Put hsa implementations into the
117 same partition as host implementations.
118
5803bd01
JH
1192016-01-12 Jan Hubicka <hubicka@ucw.cz>
120
121 PR lto/69003
122 * lto-partition.c (rename_statics): Fix pasto.
123
13092f61
RB
1242016-01-18 Richard Biener <rguenther@suse.de>
125
126 PR lto/69337
127 * lto-symtab.c (lto_symtab_merge): Return early for mismatched
128 function vs. variable.
129
3c4e91c9
RB
1302016-01-12 Richard Biener <rguenther@suse.de>
131
132 PR lto/69077
133 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
134 merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
135
818ab71a
JJ
1362016-01-04 Jakub Jelinek <jakub@redhat.com>
137
138 Update copyright years.
139
3fddb2ef
JH
1402015-12-10 Jan Hubicka <hubicka@ucw.cz>
141
142 PR lto/68878
143 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
144 * lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
145 (lto_symtab_prevailing_decl): Use it.
146
4a38b02b
IV
1472015-12-15 Ilya Verbin <ilya.verbin@intel.com>
148
149 * lto.c: Include stringpool.h and fold-const.h.
150 (offload_handle_link_vars): New static function.
151 (lto_main): Call offload_handle_link_vars.
152
ca834876
JH
1532015-12-10 Jan Hubicka <hubicka@ucw.cz>
154
155 * lto.c (lto_read_in_decl_state): Unpickle compressed bit.
156
958a627f
JH
1572015-12-11 Jan Hubicka <hubicka@ucw.cz>
158
159 PR ipa/61886
160 * lto-symtab.c (lto_symtab_merge_p): Avoid merging across different
161 values of error and warning attributes.
162
da20571a
JH
1632015-12-08 Jan Hubicka <hubicka@ucw.cz>
164
165 PR lto/68811
166 * lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
167 DECL.
168 (LTO_NO_PREVAIL): Use gcc_checking_assert.
169
378004b9
JH
1702015-12-08 Jan Hubicka <hubicka@ucw.cz>
171
172 PR lto/68811
173 * lto-symtab.c (lto_symtab_merge_decls_2): Decl can never be prevailed
174 by itself.
175
6b9ac179
JH
1762015-12-08 Jan Hubicka <hubicka@ucw.cz>
177
178 PR ipa/61886
179 * lto-symtab.c: Include lto-symtab.h.
180 (lto_cgraph_replace_node): Do not merge profiles here.
181 (lto_symtab_merge_p): New function.
182 (lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
183 (lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
184 aliases.
185 (lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
186 (lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
187 * lto.c: Include lto-symtab.h
188 * lto-symtab.h: New.
189
41c60c6c
JH
1902015-12-08 Jan Hubicka <hubicka@ucw.cz>
191
192 PR ipa/61886
193 * lto-partition.c (add_symbol_to_partition_1): Transparent aliases
194 are not part of the definition.
195 (contained_in_symbol): Likewise.
196 (promote_symbol): When promoting a symbol also promote all transparent
197 aliases.
198 (rename_statics): Weakref needs unique name, too.
199
71e54687
JH
2002015-12-07 Jan Hubicka <hubicka@ucw.cz>
201
202 PR ipa/61886
203 * lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
204 rename_statics, rename_statics): Handle transparent aliases.
205
88636b62
JH
2062015-12-04 Jan Hubicka <hubicka@ucw.cz>
207
208 * lto-symtab.c (lto_cgraph_replace_node): Update code computing
209 merged_comdat.
210
8c86248e
JH
2112015-12-01 Jan Hubicka <hubicka@ucw.cz>
212
213 * lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET.
214
1ff9ed6f
JH
2152015-11-25 Jan Hubicka <jh@suse.cz>
216
217 * lto-lang.c (lto_post_options): Process flag_lto_linker_output.
218 * lang.opt (lto_linker_output): New enum.
219 (flinker_output): New flag.
220
22bea0be
JH
2212015-11-24 Jan Hubicka <hubicka@ucw.cz>
222
223 * lto-symtab.c: Include alias.h
224 (warn_type_compatibility_p): Replace types_compatible_p checks by
225 TBAA and size checks; set bit 2 if locations are TBAA incompatible.
226 (lto_symtab_merge): Compare DECL sizes.
227 (lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
228
aea50b45
JH
2292015-11-24 Jan Hubicka <hubicka@ucw.cz>
230
231 * lto.c (iterative_hash_canonical_type): Recruse for all types
232 which pass !canonical_type_used_p.
233 (gimple_register_canonical_type_1): Sanity check we do not compute
234 canonical type of anything with !canonical_type_used_p.
235 (gimple_register_canonical_type): Skip all types that are
236 !canonical_type_used_p
237
deb3dae6
JH
2382015-11-24 Jan Hubicka <hubicka@ucw.cz>
239
240 * lto.c (unify_scc): Use free_node.
241
f85d2487
JH
2422015-11-21 Jan Hubicka <hubicka@ucw.cz>
243
244 * lto.c (iterative_hash_canonical_type): Always recurse for pointers.
245 (gimple_register_canonical_type_1): Check that pointers do not get
246 canonical types.
247 (gimple_register_canonical_type): Do not register pointers.
248
2492015-11-21 Jan Hubicka <hubicka@ucw.cz>
feb391fc
JH
250
251 * lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
252 flag for types that are not ODR; fix loop walking parameters.
253
69f293c9
AM
2542015-11-11 Andrew MacLeod <amacleod@redhat.com>
255
256 * lto-lang.c: Remove unused header files.
257 * lto-object.c: Likewise.
258 * lto-partition.c: Likewise.
259 * lto-symtab.c: Likewise.
260 * lto.c: Likewise.
261
ee45a32d
EB
2622015-11-08 Eric Botcazou <ebotcazou@adacore.com>
263
264 * lto.c (compare_tree_sccs_1): Deal with TYPE_REVERSE_STORAGE_ORDER.
265
0aad0198
RS
2662015-11-07 Richard Sandiford <richard.sandiford@arm.com>
267
268 * lto-lang.c: Don't undef DEF_BUILTIN.
269
2adfab87
AM
2702015-10-29 Andrew MacLeod <amacleod@redhat.com>
271
272 * lto-lang.c: Reorder #include's and remove duplicates.
273 * lto-object.c: Likewise.
274 * lto-partition.c: Likewise.
275 * lto-symtab.c: Likewise.
276 * lto.c: Likewise.
277
b2b29377
MM
2782015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
279
280 * lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
281 conditionals.
282 (lto_fixup_state): Likewise.
283 (do_whole_program_analysis): Use
284 symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
285 conditionals.
286
d9a6bd32
JJ
2872015-10-13 Jakub Jelinek <jakub@redhat.com>
288
289 * lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
290 DEF_FUNCTION_TYPE_11): Define.
291
9c4eeafc
JH
2922015-10-10 Jan Hubicka <hubicka@ucw.cz>
293
294 * lto.c (hash_canonical_type): Honor
295 type_with_interoperable_signedness.
296
3e32ee19
NS
2972015-09-28 Nathan Sidwell <nathan@codesourcery.com>
298
299 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
300 (DEF_FUNCTION_TYPE_VAR_11): Delete.
301
f196d062
RB
3022015-08-31 Richard Biener <rguenther@suse.de>
303
304 * lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
305 * lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
306 (lto_symtab_prevailing_decl): Do not replace a decl that didn't
307 participate in merging with something else.
308
45aee888
RB
3092015-08-31 Richard Biener <rguenther@suse.de>
310
311 * lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
312 test, do not replace a non-builtin with a builtin.
313 * lto.c (compare_tree_sccs_1): Do not merge things we stream
314 as builtins vs. non-builtins.
315
a79683d5
TS
3162015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
317
318 * lto.h: Remove useless typedefs.
319
48d859bb
AM
3202015-07-15 Andrew MacLeod <amacleod@redhat.com>
321
322 * lto.c: Remove redundant includes.
323
026c3cfd
AH
3242015-07-12 Aldy Hernandez <aldyh@redhat.com>
325
326 * lto-lang.c: Fix double word typos.
327
9fdcd34e
AM
3282015-07-10 Andrew MacLeod <amacleod@redhat.com>
329
330 * lto.c: Include cfghooks.h rather than predict.h.
331
f51ade33
AM
3322015-07-09 Andrew MacLeod <amacleod@redhat.com>
333
334 * lto-lang.c: Adjust includes of target.h, alloc-pool.h and
335 lto-streamer.h.
336 * lto-object.c: Likewise.
337 * lto-partition.c: Likewise.
338 * lto-symtab.c: Likewise.
339
1916bcb5
AM
3402015-07-09 Andrew MacLeod <amacleod@redhat.com>
341
342 * lto-lang.c: Adjust includes for flags.h changes.
343
c7131fb2
AM
3442015-07-07 Andrew MacLeod <amacleod@redhat.com>
345
346 * lto-lang.c: Adjust includes.
347 * lto-object.c: Likewise.
348 * lto-partition.c: Likewise.
349 * lto-symtab.c: Likewise.
350 * lto.c: Likewise.
351
f0889939
AM
3522015-06-25 Andrew MacLeod <amacleod@redhat.com>
353
354 * lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
355 * lto-object.c: Likewise.
356 * lto-partition.c: Likewise.
357 * lto-symtab.c: Likewise.
358 * lto-tree.h: Likewise.
359 * lto.c: Likewise.
360
8d67ee55
RS
3612015-06-25 Richard Sandiford <richard.sandiford@arm.com>
362
363 * lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
364 than typed_noop_remove. Remove redudant typedefs.
365
abb226c9
AM
3662015-06-17 Andrew MacLeod <amacleod@redhat.com>
367
368 * lto-lang.c: Do not include input.h, line-map.h or is-a.h.
369 * lto-object.c: Likewise.
370 * lto-partition.c: Likewise.
371 * lto-symtab.c: Likewise.
372 * lto.c: Likewise.
373
351d90f4
JH
3742015-06-14 Jan Hubicka <hubicka@ucw.cz>
375
376 PR ipa/66181
377 * lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
378
44c42705
DD
3792015-06-12 DJ Delorie <dj@redhat.com>
380
381 * lto-lang.c (lto_type_for_size): Include intN types.
382 (lto_type_for_mode): Likewise.
383
64578d98
JH
3842015-06-08 Jan Hubicka <hubicka@ucw.cz>
385
386 * lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
387
13fdf2e2
AM
3882015-06-08 Andrew MacLeod <amacleod@redhat.com>
389
390 * lto-lang.c : Adjust include files.
391 * lto-object.c : Likewise.
392 * lto-partition.c : Likewise.
393 * lto-partition.h : Likewise.
394 * lto-symtab.c : Likewise.
395 * lto.c : Likewise.
396 * lto.h : Likewise.
397
ccb5ad37
JH
3982015-06-06 Jan Hubicka <hubicka@ucw.cz>
399
6542950e
JH
400 PR lto/65378
401 * lto-symtab.c (warn_type_compatibility_p): Fix call of
402 odr_or_derived_type_p.
403 (lto_symtab_merge_decls_2): Update call of warn_types_mismatch.
404
4052015-06-08 Jan Hubicka <hubicka@ucw.cz>
406
407
ccb5ad37
JH
408 * lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
409 pointers.
410
d7438551
AH
4112015-06-05 Aldy Hernandez <aldyh@redhat.com>
412
413 * lto-lang.c (lto_write_globals): Remove.
414 (LANG_HOOKS_WRITE_GLOBALS): Same.
415
ecb9f223
AM
4162015-06-04 Andrew MacLeod <amacleod@redhat.com>
417
418 * lto-lang.c: Adjust includes for restructured coretypes.h.
419 * lto-object.c: Likewise.
420 * lto-partition.c: Likewise.
421 * lto-symtab.c: Likewise.
422 * lto.c: Likewise.
423
9cb9b937
JH
4242015-06-04 Jan Hubicka <hubicka@ucw.cz>
425
426 * lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.
427
93e2aa6d
JH
4282015-06-03 Jan Hubicka <hubicka@ucw.cz>
429
430 * lto.c (iterative_hash_canonical_type,
431 gimple_register_canonical_type): only hash main variants of types
432
faae53f8
ML
4332015-05-27 Martin Liska <mliska@suse.cz>
434
435 * lto-partition.c (new_partition): Reset number of symbols.
436 (add_symbol_to_partition_1): Increment number of symbols.
437 (undo_partition): Decrement number of symbols.
438 (lto_balanced_map): Dump number of symbols and insns that
439 belong to a partition.
440 * lto-partition.h (struct ltrans_partition_def): Add symbol counter.
441
b727ba74
JH
4422015-05-22 Jan Hubicka <hubicka@ucw.cz>
443
444 * lto.c (hash_canonical_type): Be sure we hash only types that
445 need alias set.
446 (gimple_register_canonical_type_1): Do not produce canonical
447 types for types that do not need alias sets.
448
1d1218fb
JH
4492015-05-22 Jan Hubicka <hubicka@ucw.cz>
450
451 * lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
452
872d5034
JH
4532015-05-19 Jan Hubicka <hubicka@ucw.cz>
454
455 * lto.c (gimple_canonical_types_compatible_p): Move to tree.c
456
259d29e3
JH
4572015-05-17 Jan Hubicka <hubicka@ucw.cz>
458
459 * lto-symtab.c (warn_type_compatibility_p): Break out from ...;
460 compare ODR types (if available) and function types.
461 (lto_symtab_merge): ... here; output ODR violation warnings
462 and call warn_types_mismatch.
463
b0845a1e
JH
4642015-04-29 Jan Hubicka <hubicka@ucw.cz>
465
466 * lto.c (lto_fixup_state): Call verify_type.
467
67f58944
TS
4682015-04-18 Trevor Saunders <tsaunders@mozilla.com>
469
b0845a1e 470 * lto.c: Adjust for hash_table changes.
67f58944 471
36ceb0e3
JH
4722015-03-27 Jan Hubicka <hubicka@ucw.cz>
473
474 * lto.c (lto_read_decls): Move code registering odr types out
475 of TYPE_CANONICAL conditional and also register polymorphic types.
476
afd1e7c6
JH
4772015-03-26 Jan Hubicka <hubicka@ucw.cz>
478
479 * lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
480 DECL_ARTIFICAL symbols.
481
eaeec5ec
JH
4822015-03-26 Jan Hubicka <hubicka@ucw.cz>
483
484 PR lto/65536
485 * lto.c (unify_scc): Revert location cache when unification
486 suceeded.
487 (lto_read_decls): Accept location cache after sucess;
488 apply location cache before calling debug hooks.
489
1c4db829
JH
4902015-03-10 Jan Hubicka <hubicka@ucw.cz>
491
492 * lto.c (read_cgraph_and_symbols): Do not do merging
493 at ltrans stage.
494
db847fa8
JJ
4952015-02-26 Jakub Jelinek <jakub@redhat.com>
496
497 * lto.c (lto_mode_identity_table): New variable.
498 (lto_read_decls): Add mode_table argument to the lto_input_block
499 constructor.
500 (lto_file_finalize): Initialize mode_table.
501 (lto_init): Initialize lto_mode_identity_table.
502
56a9f6bc
TS
5032015-02-24 Thomas Schwinge <thomas@codesourcery.com>
504
505 PR libgomp/64625
506 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
507 Remove macros.
508 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
509
ebc8f0bb
JH
5102015-02-03 Jan Hubicka <hubicka@ucw.cz>
511
512 * lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.
513
40fecdd6
JM
5142015-01-30 Joseph Myers <joseph@codesourcery.com>
515
516 * lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
517 changed to pass input_location as first argument.
518
040968a8
JH
5192014-12-11 Jan Hubicka <hubicka@ucw.cz>
520
521 * lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
522
69fe4502
JH
5232014-12-11 Jan Hubicka <hubicka@ucw.cz>
524
525 * lto.c (compare_tree_sccs_1): Add comparsion of
526 DECL_FUNCTION_SPECIFIC_TARGET
527
41dbbb37
TS
5282015-01-15 Thomas Schwinge <thomas@codesourcery.com>
529 James Norris <jnorris@codesourcery.com>
530
531 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
532 New macros.
533 * lto.c: Include "gomp-constants.h".
534
837bac8c
IV
5352015-01-14 Ilya Verbin <ilya.verbin@intel.com>
536
537 * lto-partition.c (lto_promote_cross_file_statics): Remove argument
538 from select_what_to_stream.
539
1b34e6e2
BS
5402015-01-09 Bernd Schmidt <bernds@codesourcery.com>
541 Jakub Jelinek <jakub@redhat.com>
542
543 PR middle-end/64412
544 * lto.c (read_cgraph_and_symbols): Set lto_stream_offload_p
545 if ACCEL_COMPILER.
546
adfac8df
JJ
5472015-01-09 Michael Collison <michael.collison@linaro.org>
548
549 * lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
550 input.h, alias.h, symtab.h, options, fold-const.h,
551 wide-int.h, and inchash.h due to flattening of tree.h.
552 * lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
553 input.h, alias.h, symtab.h, fold-const.h,
554 wide-int.h, and inchash.h due to flattening of tree.h.
555 * lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
556 input.h, alias.h, symtab.h, options, fold-const.h,
557 wide-int.h, and inchash.h due to flattening of tree.h.
558 * lto-partition.c: Ditto.
559 * lto-symtab.c: Ditto.
560
5624e564
JJ
5612015-01-05 Jakub Jelinek <jakub@redhat.com>
562
563 Update copyright years.
564
9a1e784a
ML
5652014-12-22 Martin Liska <mliska@suse.cz>
566
567 * lto-partition.c (add_symbol_to_partition_1): New inline_summaries
568 is used.
569 (undo_partition): Likewise.
570 (lto_balanced_map): Likewise.
571
dd912cb8
ML
5722014-12-22 Martin Liska <mliska@suse.cz>
573
574 * lto-partition.c: Include of symbol-summary.h is added.
575 * lto-symtab.c: Likewise.
576 * lto.c: Likewise.
577
17e0fc92
JH
5782014-12-11 Jan Hubicka <hubicka@ucw.cz>
579
580 PR ipa/61324
581 * lto.c (read_cgraph_and_symbols): Update call of
582 remove_unreachable_nodes.
583 (do_whole_program_analysis): Remove call of
584 symtab->remove_unreachable_nodes
585
58dddbd2
TS
5862014-12-08 Trevor Saunders <tsaunders@mozilla.com>
587
588 * lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
589 htab with malloc instead of ggc.
590
907dadbd
TS
5912014-11-20 Trevor Saunders <tsaunders@mozilla.com>
592
593 * lto.c: Replace htab with hash_table.
594
9c71e9df
TS
5952014-11-20 Trevor Saunders <tsaunders@mozilla.com>
596
597 * lto.c (lto_read_in_decl_state): Adjust.
598 (lto_fixup_state): Likewise.
599
72a4a8b0
JH
6002014-11-17 Jan Hubicka <hubicka@ucw.cz>
601
602 * lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET.
603
54e774c0
JH
6042014-11-14 Jan Hubicka <hubicka@ucw.cz>
605
606 * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
607
1f6be682
IV
6082014-11-13 Ilya Verbin <ilya.verbin@intel.com>
609 Bernd Schmidt <bernds@codesourcery.com>
610 Andrey Turetskiy <andrey.turetskiy@intel.com>
611 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
612
ec6fe917
IV
613 * lto/lto.c (read_cgraph_and_symbols): Call input_offload_tables.
614
6152014-11-13 Ilya Verbin <ilya.verbin@intel.com>
616 Ilya Tocar <ilya.tocar@intel.com>
617 Andrey Turetskiy <andrey.turetskiy@intel.com>
618 Bernd Schmidt <bernds@codesourcery.com>
619
1f6be682
IV
620 * lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
621 LTO_SECTION_NAME_PREFIX.
622 * lto-partition.c (lto_promote_cross_file_statics): Call
623 select_what_to_stream.
624 * lto.c (lto_section_with_id): Use section_name_prefix instead of
625 LTO_SECTION_NAME_PREFIX.
626 (read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
627 being built as an offload compiler.
628
ef4bddc2
RS
6292014-10-29 Richard Sandiford <richard.sandiford@arm.com>
630
631 * lto-lang.c: Remove redundant enum from machine_mode.
632
c582198b
AM
6332014-10-28 Andrew MacLeod <amacleod@redhat.com>
634
635 * lto.c: Adjust include files.
636 * lto-lang.c: Ditto.
637 * lto-object.c: Ditto.
638 * lto-partition.c: Ditto.
639 * lto-symtab.c: Ditto.
640
60393bbc
AM
6412014-10-27 Andrew MacLeod <amacleod@redhat.com>
642
643 * lto-lang.c: Adjust include files.
644 * lto-object.c: Ditto.
645 * lto-partition.c: Ditto.
646 * lto-symtab.c: Ditto.
647 * lto.c: Ditto.
648
957f47e6
DD
6492014-10-16 DJ Delorie <dj@redhat.com>
650
651 * lto-object.c (lto_obj_begin_section): In the event that pointer
652 sizes aren't powers of two, choose a more suitable alignment
653 than (unsigned)(-1).
654
78a7c317
DD
6552014-10-14 DJ Delorie <dj@redhat.com>
656
657 * lto-lang.c (lto_build_c_type_nodes): Check intN types for
658 size-type as well.
659 (lto_init): Initialize all intN types, not just int128.
660
70261a4f
ML
6612014-10-06 Martin Liska <mliska@suse.cz>
662
663 * lto.c (stream_out): ARG_UNUSED added for last argument.
664
00de328a
AH
6652014-09-24 Aldy Hernandez <aldyh@redhat.com>
666
667 * lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
668 DECL_ABSTRACT_P.
669
7861b648
AK
6702014-09-23 Andi Kleen <ak@linux.intel.com>
671
672 * lto-partition.c (node_cmp): Update comment.
673 (varpool_node_cmp): Use symtab_node for comparison.
674 (add_sorted_nodes): New function.
675 (lto_balanced_map): Change to keep ordered queue
676 of ordered node. Handle no_reorder attribute.
677
1ee85ee1
JH
6782014-09-11 Jan Hubicka <hubicka@ucw.cz>
679
680 * lto.c (lto_read_decls): Register ODR types.
681
8605403e
JH
6822014-08-20 Jan Hubicka <hubicka@ucw.cz>
683
684 * lto.c (read_cgraph_and_symbols): Fix symtab_remove_unreachable_nodes
685 call.
686 (do_whole_program_analysis): Only sanity check that IPA passes cleans up.
687
56b1f114
JH
6882014-08-14 Jan Hubicka <hubicka@ucw.cz>
689
690 * lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.
691
833f94c0
RB
6922014-08-14 Richard Biener <rguenther@suse.de>
693
694 PR lto/62067
695 * lto-lang.c (def_fn_type): Fix error handling wrt va_end.
696
207c68cd
RB
6972014-08-08 Richard Biener <rguenther@suse.de>
698
699 * lto.c (lto_read_decls): Adjust for lto_input_block changes.
700
7c581d61
BC
7012014-08-08 Bin Cheng <bin.cheng@arm.com>
702
703 PR lto/62032
704 * lto-lang.c (lto_init): Switch mis-matched arguments.
705
39c8aaa4
TS
7062014-08-07 Trevor Saunders <tsaunders@mozilla.com>
707
708 * lto-partition.c, lto.c: Use hash_map instead of pointer_map.
709
6e2830c3
TS
7102014-08-02 Trevor Saunders <tsaunders@mozilla.com>
711
712 * lto-partition.c, lto-partition.h: Use hash_set instead of
713 pointer_set.
714
50de5793
AK
7152014-07-31 Andi Kleen <ak@linux.intel.com>
716
717 * lto.c (hash_canonical_type): Use inchash::hash
718 and use inchash::add_expr.
719 (iterative_hash_canonical_type): Dito.
720
f6bcdb5e
RB
7212014-07-30 Richard Biener <rguenther@suse.de>
722
723 * lto-streamer.h (lto_write_data): New function.
724 * langhooks.c (lhd_append_data): Do not free block.
725 * lto-section-out.c (lto_write_data): New function writing
726 raw data to the current section.
727 (lto_write_stream): Adjust for langhook semantic change.
728 (lto_destroy_simple_output_block): Write header directly.
729 * lto-opts.c (lto_write_options): Write options directly.
730 * lto-streamer-out.c (produce_asm): Write heaeder directly.
731 (lto_output_toplevel_asms): Likewise.
732 (copy_function_or_variable): Copy data directly.
733 (write_global_references): Output index table directly.
734 (lto_output_decl_state_refs): Likewise.
735 (write_symbol): Write data directly.
736 (produce_symtab): Adjust.
737 (produce_asm_for_decls): Output header and refs directly.
738
56fdfd3e
AK
7392014-07-25 Andi Kleen <ak@linux.intel.com>
740
741 * lto.c (hash_canonical_type): Call iterative_hstate_expr.
742
0bd8bb04
AK
7432014-07-25 Andi Kleen <ak@linux.intel.com>
744
745 * lto.c (hash_canonical_type): Convert to inchash.
746 (iterative_hash_canonical_type): Dito.
747
6d8eb96b
AK
7482014-07-25 Andi Kleen <ak@linux.intel.com>
749
750 * lto.c: Include inchash.h
751
ad115a3c
JH
7522014-07-14 Jan Hubicka <hubicka@ucw.cz>
753
754 * lto.c (mentions_vars_p_decl_non_common): Skip
755 DECL_ARGUMENT_FLD.
756 mentions_vars_p_function): Do DECL_ARGUMENTS.
757 (lto_fixup_prevailing_decls): Update.
758
917dd9bf
JH
7592014-07-12 Jan Hubicka <hubicka@ucw.cz>
760
761 * lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO
762 timevar
763 (materialize_cgraph): Do not push GIMPLE_IN timevar.
764
0b83e688
JH
7652014-07-11 Jan Hubicka <hubicka@ucw.cz>
766
767 * lto-partition.c (add_references_to_partition): Use
768 varpool_ctor_useable_for_folding_p.
769 * lto.c (lto_read_in_decl_state): Update sanity check.
770
e55637b7
ML
7712014-07-01 Martin Liska <mliska@suse.cz>
772
773 IPA REF alias refactoring
774 * lto-partition.c (add_symbol_to_partition_1): Usage of
775 FOR_EACH_ALIAS added.
776
010f4e27
JH
7772014-06-28 Jan Hubicka <hubicka@ucw.cz>
778
779 Revert:
780 * lto.c (lto_copy_fields_not_streamed): New function.
781 (compare_tree_sccs_1): Do not compare fields shared in between type
782 and variant.
783 (lto_read_decls): Fixup types first before inserting into hash.
784
b82fe354
AP
7852014-06-28 Andrew Pinski <apinski@cavium.com>
786
787 * lto.c (lto_read_decls): Fix comment in comment.
788
288eeff7
JH
7892014-06-28 Jan Hubicka <hubicka@ucw.cz>
790
791 * lto.c (lto_copy_fields_not_streamed): New function.
792 (compare_tree_sccs_1): Do not compare fields shared in between type
793 and variant.
794 (lto_read_decls): Fixup types first before inserting into hash.
795
e01fa630
ML
7962014-06-25 Martin Liska <mliska@suse.cz>
797
798 * lto/lto-partition.c (add_references_to_partition): New IPA REF function
799 used.
800 (add_symbol_to_partition_1): Likewise.
801 (lto_balanced_map): Likewise.
802 * lto/lto-symtab.c (lto_cgraph_replace_node): Likewise.
803
aaf8a23e
JH
8042014-06-24 Jan Hubicka <hubicka@ucw.cz>
805
806 * lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
807 (mentions_vars_p_function): ... here.
808 (compare_tree_sccs_1): Update VINDEX checks.
809 (lto_fixup_prevailing_decls): Likewise.
810
1eb68d2d
TS
8112014-06-24 Trevor Saunders <tsaunders@mozilla.com>
812
813 * lto.c (canonical_type_hash_cache): Use hash_map instead of
814 pointer_map.
815
c203e8a7
TS
8162014-06-24 Trevor Saunders <tsaunders@mozilla.com>
817
818 * lto.c: Adjust.
819
714c800f
JH
8202014-06-20 Jan Hubicka <hubicka@ucw.cz>
821
822 * lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.
823
569b1784
JH
8242014-06-20 Jan Hubicka <hubicka@ucw.cz>
825
826 * lto.c (compare_tree_sccs_1): Do not compare priorities.
827
56363ffd
JH
8282014-06-15 Jan Hubicka <hubicka@ucw.cz>
829
830 * lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
831
e257a17c
JH
8322014-06-10 Jan Hubicka <hubicka@ucw.cz>
833
834 * lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
835 (do_whole_program_analysis): Use verify_symtab.
836
24d047a3
JH
8372014-06-07 Jan Hubicka <hubicka@ucw.cz>
838
839 * lto.c (mentions_vars_p_decl_with_vis, compare_tree_sccs_1,
840 lto_fixup_prevailing_decls): Skip section names.
841
9b2b7279
AM
8422014-06-02 Andrew MacLeod <amacleod@redhat.com>
843
844 * lto-symtab.c: Include builtins.h.
845
a9243bfc
RB
8462014-05-26 Richard Biener <rguenther@suse.de>
847
848 * lto.c (lto_parse_hex): Use int64_t.
849 (lto_resolution_read): Likewise.
850
fd1e9302
JH
8512014-05-23 Jan Hubicka <hubicka@ucw.cz>
852
853 * lto.c (read_cgraph_and_symbols): Grow ggc memory after streaming.
854
aede2c10
JH
8552014-05-23 Jan Hubicka <hubicka@ucw.cz>
856
857 * lto-symtab.c (lto_symtab_merge_symbols): Update code setting
858 symtab pointer.
859 * lto.c (compare_tree_sccs_1): Do not compare comdat groups.
860
f6a7cffc
TS
8612014-05-22 Thomas Schwinge <thomas@codesourcery.com>
862
863 * lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
864 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
865 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
866
4000360e
BS
8672012-05-22 Bernd Schmidt <bernds@codesourcery.com>
868
869 * lto-object.c: Include "lto-section-names.h".
870 (LTO_SEGMENT_NAME): Don't define.
871 * lto.c: Include "lto-section-names.h".
872
b9559136
JH
8732014-05-17 Jan Hubicka <hubicka@ucw.cz>
874
875 PR lto/61012
876 * lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
877 mixed with variables.
878
766090c2
TS
8792014-05-17 Trevor Saunders <tsaunders@mozilla.com>
880
881 * lto-tree.h: Don't use variable_size gty attribute.
882 * lto.c (lto_read_in_decl_state): Adjust.
883 (create_subid_section_table): Likewise.
884 (lto_flatten_files): Likewise.
885 (read_cgraph_and_symbols): Likewise.
886
1d60af08
KZ
8872014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
888 Mike Stump <mikestump@comcast.net>
889 Richard Sandiford <rdsandiford@googlemail.com>
890
891 * lto.c (compare_tree_sccs_1): Use wide-int interfaces.
892 * lto-lang.c (get_nonnull_operand): Likewise.
893
22869a37
RB
8942014-04-28 Richard Biener <rguenther@suse.de>
895
896 PR middle-end/60092
897 * lto-lang.c: Define flag_isoc11.
898
7de90a6c
DM
8992014-04-23 David Malcolm <dmalcolm@redhat.com>
900
901 * lto-partition.c (add_references_to_partition): Update for
902 removal of implicit pointer from the is-a.h API.
903 (add_symbol_to_partition_1): Likewise.
904 (contained_in_symbol): Likewise.
905 (undo_partition): Likewise.
906 (lto_balanced_map): Likewise.
907 (promote_symbol): Likewise.
908 * lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
909 (lto_symtab_merge_symbols): Likewise.
910 * lto.c (lto_wpa_write_files): Likewise.
911
783dab6b
RB
9122014-04-15 Richard Biener <rguenther@suse.de>
913
914 * lto.c: Include params.h.
915 (do_whole_program_analysis): Switch on flag_lto_partition value,
916 add support for LTO_PARTITION_ONE.
917 * lto-partition.h (lto_balanced_map): Adjust.
918 * lto-partition.c (lto_balanced_map): Get number of desired
919 partitions as argument to support -flto-partition=one.
920
cb90235d
JH
9212014-04-14 Jan Hubicka <hubicka@ucw.cz>
922
923 * lto/lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
924 tp_first_run.
925
bbe281da
JH
9262014-03-19 Jan Hubicka <hubicka@ucw.cz>
927
928 * lto.c: Include ipa-inline.h
929 (do_whole_program_analysis): Free inline summary after partitioning.
930
ce2f49b3
RB
9312014-03-19 Richard Biener <rguenther@suse.de>
932
933 PR middle-end/60553
934 * lto-tree.h (lang_tree_node): For types use TYPE_NEXT_VARIANT
935 instead of TREE_CHAIN as chain_next.
936
e41106fc
RB
9372014-03-19 Richard Biener <rguenther@suse.de>
938
939 * lto.c (lto_wpa_write_files): Move call to
940 lto_promote_cross_file_statics ...
941 (do_whole_program_analysis): ... here, into the partitioning
942 block. Do not ggc_collect after lto_wpa_write_files but
943 for a last time before it.
944
15df2655
JJ
9452014-03-19 Jakub Jelinek <jakub@redhat.com>
946
947 PR lto/60571
948 * lto.c (wait_for_child): Define WCONTINUED if not defined to 0.
949 Fix formatting.
950
415e2e6b
JJ
9512014-03-18 Jakub Jelinek <jakub@redhat.com>
952
953 PR sanitizer/60535
954 * lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node
955 and complex_{float,{,long_}double}_type_node.
956
f42c637e
PM
9572014-03-08 Paulo Matos <paulo@matos-sorge.com>
958
415e2e6b
JJ
959 * lto-lang.c (lto_init): Pass flag_short_double to
960 build_common_tree_nodes.
f42c637e 961
6dab804d
JH
9622014-02-14 Jan Hubicka <hubicka@ucw.cz>
963
964 PR lto/60295
965 * lto.c (stream_out): Avoid parallel streaming with
966 -flto=jobserver until we are able to throttle it down
967 resonably.
968
39434bce
JH
9692014-02-14 Jan Hubicka <hubicka@ucw.cz>
970
971 * lto-partition.c (add_symbol_to_partition_1,
972 undo_partition, lto_balanced_map): Aliases have no
973 defined size.
974 (lto_balanced_map): Do not follow refering variables
975 if they can be optimized out.
976
1966fd99
RB
9772014-02-14 Richard Biener <rguenther@suse.de>
978
979 PR lto/60179
980 * lto.c (compare_tree_sccs_1): Do not compare
981 DECL_FUNCTION_SPECIFIC_TARGET.
982 (lto_read_decls): Re-build DECL_FUNCTION_SPECIFIC_TARGET.
983
283416b3
RB
9842014-02-12 Richard Biener <rguenther@suse.de>
985
986 PR lto/60060
987 * lto-lang.c (lto_write_globals): Do not call
988 wrapup_global_declarations or emit_debug_global_declarations
989 but emit debug info for non-function scope variables
990 directly.
991
b7e85694
JH
9922014-02-06 Jan Hubicka <hubicka@ucw.cz>
993
994 * lto.c (unify_scc): Free CONSTRUCTOR_ELTS.
995
96451279
JH
9962014-02-06 Jan Hubicka <hubicka@ucw.cz>
997
998 PR ipa/59469
999 * lto-partition.c (symbol_class): Move to cgraph.h
1000 (get_symbol_class): Move to symtab.c
1001 (add_references_to_partition, add_symbol_to_partition_1,
1002 lto_max_map, lto_1_to_1_map, lto_balanced_map,
1003 lto_promote_cross_file_statics): Update.
1004
f300e7b8
JH
10052014-02-05 Jan Hubicka <hubicka@ucw.cz>
1006
1007 * lto.c (lto_parallelism): New static var.
1008 (do_stream_out, wait_for_child, stream_out): New static functions.
1009 (lto_wpa_write_files): Add support for parallel streaming.
1010 (do_whole_program_analysis): Set parallelism.
1011 * lang.opt (fwpa): Add parameter.
1012 * lto-lang.c (lto_handle_option): Handle flag_wpa.
1013 (lto_init): Update use of flag_wpa.
1014 * lto-streamer.h (asm_nodes_output): Declare.
1015
f0f91770
RB
10162014-02-05 Richard Biener <rguenther@suse.de>
1017
1018 * lto.h (lto_global_var_decls): Remove.
1019 * lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
1020 (lto_write_globals): Do nothing in WPA stage, gather globals from
1021 the varpool here ...
1022 * lto.c (lto_main): ... not here.
1023 (materialize_cgraph): Do not call rest_of_decl_compilation
1024 on the empty lto_global_var_decls vector.
1025 (lto_global_var_decls): Remove.
1026
d665f8dd
JH
10272014-02-04 Jan Hubicka <hubicka@ucw.cz>
1028
1029 * lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
1030 needs duplicating, not generic COMDAT.
1031
c39276b8
RB
10322014-02-04 Richard Biener <rguenther@suse.de>
1033
1034 PR lto/59723
1035 * lto.c (mentions_vars_p): Handle NAMELIST_DECL.
1036 (lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.
1037
5f876ae7
JH
10382014-02-04 Jan Hubicka <hubicka@ucw.cz>
1039 Markus Trippelsdorf
1040
1041 PR ipa/59469
1042 * lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
1043 merge force_output and forced_by_abi flags.
1044
b72271b9
BI
10452014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1046
1047 * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
1048 flag_cilkplus.
1049
63124c48
RB
10502014-01-09 Richard Biener <rguenther@suse.de>
1051
1052 * lto.c (gimple_canonical_types_compatible_p): Fix comment.
1053
d05b9920
RB
10542014-01-09 Richard Biener <rguenther@suse.de>
1055
1056 PR lto/45586
1057 * lto.c (hash_canonical_type): Do not hash TREE_ADDRESSABLE,
1058 TYPE_ALIGN, TYPE_RESTRICT or TYPE_REF_CAN_ALIAS_ALL.
1059 (gimple_canonical_types_compatible_p): Do not compare them either.
1060
23a5b65a
RS
10612014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1062
1063 Update copyright years
1064
2c8326a5
OE
10652013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
1066
1067 * lto.c: Remove struct tags when referring to class varpool_node.
1068 * lto-partition.c: Likewise.
1069 * lto-symtab.c: Likewise.
1070
e06f9964
JJ
10712013-11-29 Jakub Jelinek <jakub@redhat.com>
1072 Richard Biener <rguenther@suse.de>
1073
1074 PR lto/59326
1075 * lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
1076
c193f58b
JJ
10772013-11-29 Jakub Jelinek <jakub@redhat.com>
1078
1079 PR lto/59326
1080 * lto.c (mentions_vars_p_omp_clause): New function.
1081 (mentions_vars_p): Call it for OMP_CLAUSE. Remove break;
1082 after return stmts.
1083
2fb9a547
AM
10842013-11-22 Andrew MacLeod <amacleod@redhat.com>
1085
1086 * lto.c: Add required include files from gimple.h.
1087 * lto-lang.c: Likewise
1088 * lto-object.c: Likewise
1089 * lto-partition.c: Likewise
1090 * lto-symtab.c: Likewise
1091
fec39fa6
TS
10922013-11-18 Trevor Saunders <tsaunders@mozilla.com>
1093
1094 * lto-partition.c lto-symtab.c lto.c Adjust.
1095
d8a2d370
DN
10962013-11-14 Diego Novillo <dnovillo@google.com>
1097
1098 * lto-lang.c: Include stringpool.h.
1099 Include stor-layout.h.
1100 * lto-partition.c: Include gcc-symtab.h.
1101 * lto.c: Include stor-layout.h.
1102
5e20cdc9
DM
11032013-10-31 David Malcolm <dmalcolm@redhat.com>
1104
1105 Automated part of renaming of symtab_node_base to symtab_node.
1106
1107 Patch autogenerated by rename_symtab.py from
1108 https://github.com/davidmalcolm/gcc-refactoring-scripts
1109 revision 58bb219cc090b2f4516a9297d868c245495ee622
1110
1111 * lto-partition.c (add_symbol_to_partition): Rename
1112 symtab_node_base to symtab_node.
1113 (get_symbol_class): Likewise.
1114 (symbol_partitioned_p): Likewise.
1115 (add_references_to_partition): Likewise.
1116 (add_symbol_to_partition_1): Likewise.
1117 (contained_in_symbol): Likewise.
1118 (add_symbol_to_partition): Likewise.
1119 (lto_1_to_1_map): Likewise.
1120 (lto_max_map): Likewise.
1121 (lto_balanced_map): Likewise.
1122 (privatize_symbol_name): Likewise.
1123 (promote_symbol): Likewise.
1124 (may_need_named_section_p): Likewise.
1125 (rename_statics): Likewise.
1126 (lto_promote_statics_nonwpa): Likewise.
1127 * lto-symtab.c (lto_symtab_merge): Likewise.
1128 (lto_symtab_resolve_replaceable_p): Likewise.
1129 (lto_symtab_symbol_p): Likewise.
1130 (lto_symtab_resolve_can_prevail_p): Likewise.
1131 (lto_symtab_resolve_symbols): Likewise.
1132 (lto_symtab_merge_decls_2): Likewise.
1133 (lto_symtab_merge_decls_1): Likewise.
1134 (lto_symtab_merge_decls): Likewise.
1135 (lto_symtab_merge_symbols_1): Likewise.
1136 (lto_symtab_merge_symbols): Likewise.
1137 (lto_symtab_prevailing_decl): Likewise.
1138 * lto.c (lto_wpa_write_files): Likewise.
1139 (read_cgraph_and_symbols): Likewise.
1140 (do_whole_program_analysis): Likewise.
1141
378cd6b1
DM
11422013-10-30 David Malcolm <dmalcolm@redhat.com>
1143
1144 * lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
1145 declarations onto multiple lines to make things easier for
1146 rename_symtab.py.
1147 (lto_symtab_merge_decls_1): Likewise.
1148 (lto_symtab_merge_symbols_1): Likewise.
1149
939b37da
BI
11502013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1151
1152 * Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
1153 * lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
1154 Plus is enabled.
1155
67348ccc
DM
11562013-10-29 David Malcolm <dmalcolm@redhat.com>
1157
1158 Patch autogenerated by refactor_symtab.py from
1159 https://github.com/davidmalcolm/gcc-refactoring-scripts
1160 revision 58bb219cc090b2f4516a9297d868c245495ee622
1161
1162 * lto-partition.c (lto_promote_cross_file_statics): Update for
1163 conversion of symtab types to a true class hierarchy.
1164 (rename_statics): Likewise.
1165 (promote_symbol): Likewise.
1166 (privatize_symbol_name): Likewise.
1167 (lto_balanced_map): Likewise.
1168 (varpool_node_cmp): Likewise.
1169 (node_cmp): Likewise.
1170 (lto_1_to_1_map): Likewise.
1171 (undo_partition): Likewise.
1172 (add_symbol_to_partition): Likewise.
1173 (contained_in_symbol): Likewise.
1174 (add_symbol_to_partition_1): Likewise.
1175 (add_references_to_partition): Likewise.
1176 (symbol_partitioned_p): Likewise.
1177 (get_symbol_class): Likewise.
1178 (lto_max_map): Likewise.
1179 * lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
1180 (lto_symtab_merge_symbols): Likewise.
1181 (lto_symtab_merge_symbols_1): Likewise.
1182 (lto_symtab_merge_decls): Likewise.
1183 (lto_symtab_merge_decls_1): Likewise.
1184 (lto_symtab_merge_decls_2): Likewise.
1185 (lto_symtab_resolve_symbols): Likewise.
1186 (lto_symtab_resolve_can_prevail_p): Likewise.
1187 (lto_symtab_symbol_p): Likewise.
1188 (lto_symtab_resolve_replaceable_p): Likewise.
1189 (lto_symtab_merge): Likewise.
1190 (lto_varpool_replace_node): Likewise.
1191 (lto_cgraph_replace_node): Likewise.
1192 * lto.c (lto_main): Likewise.
1193 (do_whole_program_analysis): Likewise.
1194 (materialize_cgraph): Likewise.
1195 (read_cgraph_and_symbols): Likewise.
1196 (cmp_partitions_order): Likewise.
1197 (lto_materialize_function): Likewise.
1198 (has_analyzed_clone_p): Likewise.
1199
8e9055ae
AM
12002013-10-29 Andrew MacLeod <amacleod@redhat.com>
1201
1202 * lto/lto-object.c: Add gimple.h to include list.
1203 * lto/lto-partition.c: Likewise.
1204
377d9792
AM
12052013-10-18 Andrew MacLeod <amacleod@redhat.com>
1206
1207 * lto.c: Remove tree-flow.h from include list.
1208
fffda8d7
RB
12092013-10-15 Richard Biener <rguenther@suse.de>
1210
1211 * lto.c (hash_canonical_type): Split out from ...
1212 (iterative_hash_canonical_type): ... here. Register types
1213 we recurse to.
1214 (gimple_canonical_type_hash): Adjust.
1215 (gimple_register_canonical_type_1): Split out from ...
1216 (gimple_register_canonical_type): ... here. Cache computed
1217 hash value.
1218 (lto_register_canonical_types): Split into two modes,
1219 clearing and computing TYPE_CANONICAL.
1220 (lto_read_decls): Adjust.
1221 (read_cgraph_and_symbols): Do two passes over global trees,
1222 first clearing then computing TYPE_CANONICAL.
1223
1394237e
RB
12242013-10-14 Richard Biener <rguenther@suse.de>
1225
1226 * lto.c (gimple_canonical_types): Move out-of GC space.
1227 (canonical_type_hash_cache): Make a pointer-map.
1228 (num_canonical_type_hash_entries, num_canonical_type_hash_queries):
1229 New counters.
1230 (iterative_hash_canonical_type): Adjust.
1231 (read_cgraph_and_symbols): Likewise.
1232 (print_lto_report_1): Likewise.
1233
0a387eca
RB
12342013-10-14 Richard Biener <rguenther@suse.de>
1235
1236 * lto.c (gimple_types, type_hash_cache, struct type_pair_d,
1237 type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
1238 gtc_next_dfs_num, compare_type_names_p, gtc_visit,
1239 gimple_types_compatible_p_1, gimple_types_compatible_p,
1240 visit, iterative_hash_name, struct type_hash_pair,
1241 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
1242 gimple_type_eq, gimple_register_type, num_not_merged_types,
1243 num_not_merged_types_in_same_scc, num_not_merged_types_trees,
1244 num_not_merged_types_in_same_scc_trees): Remove old merging code
1245 and statistics.
1246 (lto_read_decls): Do not run old merging code in parallel.
1247 (read_cgraph_and_symbols): Do not init/free old merging
1248 data structures.
1249 (print_lto_report_1): Do not report differences of old vs. new
1250 merging code.
1251
83fd5d11
RB
12522013-10-14 Richard Biener <rguenther@suse.de>
1253
1254 * lto-lang.c (lto_init): Do not re-init canonical types here.
1255 (lto_register_canonical_types): Move to ...
1256 * lto.c (lto_register_canonical_types): ... here.
1257 (gimple_canonical_types, canonical_type_hash_cache,
1258 iterative_hash_canonical_type, gimple_canonical_type_hash,
1259 gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
1260 gimple_register_canonical_type): Add canonical type merging machinery
1261 moved from gimple.c.
1262 (read_cgraph_and_symbols): Init and free canonical type tables
1263 here.
1264 (print_lto_report_1): Report canonical type table stats here.
1265
acf0174b
JJ
12662013-10-11 Jakub Jelinek <jakub@redhat.com>
1267
1268 * lto-lang.c (DEF_FUNCTION_TYPE_8): Define.
1269
7c6fedd2
TT
12702013-09-25 Tom Tromey <tromey@redhat.com>
1271
1272 * Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
1273 (lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
1274 (lto/lto-object.o): Remove.
1275
35f32ad4
RB
12762013-09-06 Richard Biener <rguenther@suse.de>
1277
1278 * lto-symtab.c: Move from gcc/
1279 * lto.h: Include vec.h.
1280 (lto_global_var_decls): Declare.
1281 * lto.c (lto_global_var_decls): Move definition here.
1282 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
1283 (lto-symtab.o): Add.
1284 * config-lang.in (gtfiles): Add lto.h.
1285
49322b12
JH
12862013-08-31 Jan Hubicka <jh@suse.cz>
1287
1288 * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
1289 DECL_FIELD_OFFSET can contain an reference to variable.
1290
31f1f73b
JH
12912013-08-31 Jan Hubicka <jh@suse.cz>
1292
1293 * lto.c (tree_with_vars): Turn into vector.
1294 (MAYBE_REMEMBER_WITH_VARS): Change to...
1295 (CHECK_VAR): ... this one.
1296 (CHECK_NO_VAR): New macro.
1297 (maybe_remember_with_vars_typed): Turn to ...
1298 (mentions_vars_p_typed): ... this one.
1299 (maybe_remember_with_vars_common): Turn to ...
1300 (mentions_vars_p_comon): ... this one.
1301 (maybe_remember_with_vars_decl_minimal): Turn to ...
1302 (mentions_vars_p_decl_minmal): ... this one.
1303 (maybe_remember_with_vars_decl_common): Turn to ...
1304 (mentions_vars_p_decl_common): ... this one.
1305 (maybe_remember_with_vars_decl_with_vis): Turn to ...
1306 (mentions_vars_p_decl_with_vis): ... this one.
1307 (maybe_remember_with_vars_decl_non_common): Turn to ...
1308 (mentions_vars_p_decl_non_common): ... this one.
1309 (maybe_remember_with_vars_function): Turn to ...
1310 (mentions_vars_p_function): ... this one.
1311 (maybe_remember_with_vars_field_decl): Turn to ...
1312 (mentions_vars_p_field_decl): ... this one.
1313 (maybe_remember_with_vars_type): Turn to ...
1314 (mentions_vars_p_type): ... this one.
1315 (maybe_remember_with_vars_binfo): Turn to ...
1316 (mentions_vars_p_binfo): ... this one.
1317 (maybe_remember_with_vars_constructor): Turn to ...
1318 (mentions_vars_p_constructor): ... this one.
1319 (maybe_remember_with_vars_expr): Turn to ...
1320 (mentions_vars_p_expr): ... this one.
1321 (maybe_remember_with_vars): Turn to ...
1322 (mentions_vars_p): ... this one.
1323 (lto_read_decls): Update.
1324 (LTO_SET_PREVAIL): Do not call function for internal decls.
1325 (lto_fixup_prevailing_decls): Update to match mentions_vars_p;
1326 check that something was updated.
1327 (lto_fixup_state): Do not care about internal decls.
1328 (lto_fixup_decls): Update.
1329 (read_cgraph_and_symbols): Update.
1330
256eefa9
JH
13312013-08-29 Jan Hubicka <jh@suse.cz>
1332
1333 * lto.c (read_cgraph_and_symbols): Free decl states.
1334
0170f33c
JH
13352013-08-29 Jan Hubicka <jh@suse.cz>
1336
1337 * lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
1338 DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
1339 TYPE_FINAL_P.
1340
c01c111b
JH
13412013-08-28 Jan Hubicka <jh@suse.cz>
1342
1343 * lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
1344 DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
1345 (unify_scc): Do checking assert.
1346
6a49f3c9
JH
13472013-08-06 Jan Hubicka <jh@suse.cz>
1348 Martin Liska <marxin.liska@gmail.com>
1349
1350 * lto-partition.c (lto_balanced_map): Always base order on
1351 source file order.
1352
a2e2a668
JH
13532013-08-06 Jan Hubicka <jh@suse.cz>
1354
1355 * lto.c (lto_materialize_function): Do not read body anymore.
1356
815effe1
JH
13572013-08-02 Jan Hubicka <jh@suse.cz>
1358
1359 * lto.c (lto_materialize_function): Do not push struct function.
1360 * lto-partition.c (get_symbol_class): Handle abstracts correctly.
1361 (may_need_named_section_p): Even abstract origins may need
1362 named section.
1363
315f8c0e
DM
13642013-07-30 David Malcolm <dmalcolm@redhat.com>
1365
1366 * Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
1367 PASS_MANAGER_H.
1368
1369 * lto.c (do_whole_program_analysis): Update for move of
1370 all_regular_ipa_passes from a global to a field of class
1371 pass_manager.
1372
1aa95df7
OB
13732013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1374
1375 * lto-partition.c: Fix typos.
1376
c525ba9a
JH
13772013-06-20 Jan Hubicka <jh@suse.cz>
1378
1379 * lto-partition.c (lto_balanced_map): Fix -fno-toplevel-reorder
1380 partitioning of variables.
1381
7a89ad00
JH
13822013-06-20 Jan Hubicka <jh@suse.cz>
1383
1384 * lto.c (read_cgraph_and_symbols): Set cgraph state.
1385
6a6dac52
JH
13862013-06-19 Jan Hubicka <jh@suse.cz>
1387
1388 * lto-partition.c (add_references_to_partition): Use
1389 ctor_for_folding.
1390
ac0511f2
RB
13912013-06-18 Richard Biener <rguenther@suse.de>
1392
1393 * lto.c (lto_register_var_decl_in_symtab): Pass in cache index
1394 and use it.
1395 (lto_register_function_decl_in_symtab): Likewise.
1396 (cmp_tree): New function.
1397 (unify_scc): Instead of using the streamer cache map from entry
1398 to cache index match up the two maps we have by sorting them.
1399 Adjust calls to lto_register_var_decl_in_symtab and
1400 lto_register_function_decl_in_symtab.
1401
ee03e71d
RB
14022013-06-17 Richard Biener <rguenther@suse.de>
1403
1404 * Make-lang.in (lto.o): Add $(DATA_STREAMER_H) dependency.
1405 * lto.c: Include data-streamer.h.
1406 (lto_read_in_decl_state): Use streamer_tree_cache_get_tree.
1407 (gimple_type_leader_entry_s, gimple_type_leader,
1408 gimple_lookup_type_leader): Remove.
1409 (gtc_visit): Simplify.
1410 (gimple_types_compatible_p): Likewise.
1411 (gimple_register_type_1): Likewise. Merge into ...
1412 (gimple_register_type): ... this. Keep it as legacy for
1413 statistics purposes for now.
1414 (fixup_integer_cst): Remove.
1415 (LTO_FIXUP_TREE, lto_fixup_types, lto_ft_*): Simplify and
1416 rename to ...
1417 (MAYBE_REMEMBER_WITH_VARS, maybe_remember_with_vars,
1418 maybe_remember_with_vars_*): ... these.
1419 (uniquify_nodes): Remove.
1420 (lto_fixup_prevailing_type): New function.
1421 (struct tree_scc, struct tree_scc_hasher): New type and hasher.
1422 (tree_scc_hash, tree_scc_hash_obstack): New globals.
1423 (num_merged_types, num_prevailing_types, num_not_merged_types,
1424 num_not_merged_types_in_same_scc, total_scc_size, num_sccs_read,
1425 total_scc_size_merged, num_sccs_merged, num_scc_compares,
1426 num_scc_compare_collisions): New global counters.
1427 (compare_tree_sccs_1): New function.
1428 (compare_tree_sccs): Likewise.
1429 (unify_scc): Likewise.
1430 (lto_read_decls): Stream in tree SCCs and unify them on the
1431 way in. Finalize prevailing SCC tree members.
1432 (read_cgraph_and_symbols): Do not initialize or free gimple_type_leader.
1433 Allocate and free tree_scc_hash_obstack and tree_scc_hash, do not bother
1434 to ggc-collect during merging.
1435 (print_lto_report_1): Adjust for new merging code.
1436
ca0f62a8
JH
14372013-06-12 Jan Hubicka <jh@suse.cz>
1438
1439 * lto.c (read_cgraph_and_symbols): Set cgraph into streaming state.
1440
bbf9ad07
JH
14412013-06-12 Jan Hubicka <jh@suse.cz>
1442
1443 * lto.c (register_resolution): Take lto_file_data argument.
1444 (lto_register_var_decl_in_symtab,
1445 lto_register_function_decl_in_symtab): Update.
1446 (read_cgraph_and_symbols): Update resolution_map handling.
1447
ecdbd01a 14482013-06-11 Jan Hubicka <jh@suse.cz>
08346abd
JH
1449
1450 * lto-partition.c (get_symbol_class): Simplify weakref handling.
1451 (add_symbol_to_partition_1): Likewise.
1452 (contained_in_symbol): Likewise.
1453 (lto_balanced_map): Likewise.
1454 (rename_statics): Drop weakref.
1455
a367df53
RB
14562013-06-05 Richard Biener <rguenther@suse.de>
1457
1458 * lto.c (num_merged_types): New global variable.
1459 (uniquify_nodes): Increase num_merged_types when merging a type.
1460 (print_lto_report_1): Output the number of merged types.
1461
40a7fe1e
JH
14622013-06-01 Jan Hubicka <jh@suse.cz>
1463
1464 * lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
1465 lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
1466 (do_whole_program_analysis): Update dumping.
1467
e70670cf
JH
14682013-05-29 Jan Hubicka <jh@suse.cz>
1469
1470 * lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
1471 flags.
1472 * lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
1473
8ee05051
JH
14742013-05-15 Jan Hubicka <jh@suse.cz>
1475
1476 * lto-partition.c (privatize_symbol_name): Return true when
1477 privatizing happened.
1478 (rename_statics): Do not go into infinite loop when privatizing
1479 is not needed.
1480
427b248d
JM
14812013-05-16 Jason Merrill <jason@redhat.com>
1482
1483 * Make-lang.in ($(LTO_EXE)): Use link mutex.
1484
9de04252
MJ
14852013-05-15 Martin Jambor <mjambor@suse.cz>
1486
1487 * lto-partition.c (lto_balanced_map): Print symbol order instead
1488 of node uids.
1489
2d6e4603
JH
14902013-05-15 Jan Hubicka <jh@suse.cz>
1491
1492 PR lto/57038
1493 PR lto/47375
1494 * lto-partition.c (get_symbol_class): Fix weakrefs.
1495 (lto_balanced_map): Fix weakrefs.
1496 (privatize_symbol_name): Remove unnecesary label.
1497 (rename_statics): Handle weakrefs as statics.
1498
64cfa6c0
JH
14992013-05-09 Jan Hubicka <jh@suse.cz>
1500 Richard Biener <rguenther@suse.de>
1501
1502 * lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
1503 (lto_register_var_decl_in_symtab): Likewise.
1504 (lto_main): Promote statics.
1505 * lto-partition.c (privatize_symbol_name): New function.
1506 (promote_symbol): Use it.
1507 (may_need_named_section_p): New predicate.
1508 (rename_statics): New functions.
1509 (lto_promote_cross_file_statics): Simplify; do renaming.
1510 (lto_promote_statics_nonwpa): New function.
1511 * lto-partition.h (lto_promote_statics_nonwpa): New function.
1512
e45cde98
RB
15132013-02-08 Richard Biener <rguenther@suse.de>
1514
1515 PR lto/56231
1516 * lto-lang.c (lto_init): Do not enter a dummy file.
1517
6edc3e32
UB
15182013-02-07 Uros Bizjak <ubizjak@gmail.com>
1519
1520 PR bootstrap/56227
1521 * lto.c (lto_resolution_ready): Use %wx instead of
1522 HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
1523
ed73881e
RG
15242013-02-04 Richard Guenther <rguenther@suse.de>
1525
1526 PR lto/56168
1527 * lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
1528 or lto_fixup_decls at LTRANS time.
1529
a19b1432
JH
15302013-01-09 Jan Hubicka <jh@suse.cz>
1531
1532 PR lto/45375
1533 * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.
1534
49c01f87
L
15352012-12-10 H.J. Lu <hongjiu.lu@intel.com>
1536
1537 PR lto/55466
1538 * lto.c (lto_register_var_decl_in_symtab): Don't record static
1539 variables.
1540 (lto_main): Record the global variables if WPA isn't enabled.
1541
6e1aa848
DN
15422012-11-20 Diego Novillo <dnovillo@google.com>
1543 Jakub Jelinek <jakub@redhat.com>
1544
1545 * lto.c: Replace all vec<T, A>() initializers with vNULL.
1546
9771b263
DN
15472012-11-16 Diego Novillo <dnovillo@google.com>
1548
1549 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1550
1551 * lto-lang.c: Use new vec API in vec.h.
1552 * lto-partition.c: Likewise.
1553 * lto-partition.h: Likewise.
1554 * lto.c: Likewise.
1555
24551b9c
LC
15562012-10-31 Lawrence Crowl <crowl@google.com>
1557
1558 * lto.c (lto_wpa_write_files): Change symtab checking to a checked
1559 down-cast via dyn_cast.
1560 * lto-partition.c (add_symbol_to_partition_1): Likewise.
1561 (undo_partition): Likewise.
1562 (lto_balanced_map): Likewise.
1563 (get_symbol_class): Likewise and via is_a.
1564 (lto_balanced_map): Change symtab checking to is_a.
1565
aec06f6f
RB
15662012-10-12 Richard Biener <rguenther@suse.de>
1567
1568 PR lto/54898
1569 * lto.c (gimple_types_compatible_p_1): Also compare
1570 TYPE_MAIN_VARIANT.
1571 (iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.
1572
0b8c30f9
TB
15732012-10-09 Tobias Burnus <burnus@net-b.de>
1574
1575 * lto-lang.c (lto_register_builtin_type): Avoid useless
1576 decl creation.
1577 * lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.
1578
da3202a8
TB
15792012-10-08 Tobias Burnus <burnus@net-b.de>
1580
1581 * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
1582 Free lto_file struct after closing the file.
1583
2512a443
JH
15842012-10-08 Jan Hubicka <jh@suse.cz>
1585
1586 * lto/lto.c (remember_with_vars): Also fixup INTEGER_CST.
1587 (fixup_integer_cst): New functoin.
1588 (lto_ft_type): Fixup BASETYPE of methods and offsets.
1589
e75f8f79
JH
15902012-10-07 Jan Hubicka <jh@suse.cz>
1591
1592 * lto.c (read_cgraph_and_symbols): Release type merging hash early;
1593 release input encoders.
1594 * lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
1595
46591697
JH
15962012-10-06 Jan Hubicka <jh@suse.cz>
1597
1598 PR lto/54790
1599 * lto.c (resolution_map): New static var.
1600 (register_resolution): New function.
1601 (lto_register_var_decl_in_symtab): Use it.
1602 (read_cgraph_and_symbols): Copy resolutions into the symtab.
1603
af16bc76
MJ
16042012-09-20 Martin Jambor <mjambor@suse.cz>
1605
1606 * lto.c (lto_materialize_function): Call push_struct_function and
1607 pop_cfun.
1608
5368224f
DC
16092012-09-19 Dehao Chen <dehao@google.com>
1610
1611 * lto/lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
1612
b5493fb2
JH
16132012-09-19 Jan Hubicka <jh@suse.cz>
1614
1615 * lto.c (lto_materialize_function): Update confused comment.
1616 (read_cgraph_and_symbols): Do not free symtab.
1617
c3c445e1
JH
16182012-09-12 Jan Hubicka <jh@suse.cz>
1619
1620 * lto.c (do_whole_program_analysis): Care timevars, statistics and
1621 AUX pointer cleaning. Add max partitioning.
1622 * lto-partition.c (enum symbol_class): New.
1623 (get_symbol_class): New function.
1624 (symbol_partitioned_p): New function.
1625 (add_references_to_partition): Remove.
1626 (add_aliases_to_partition): Remove.
1627 (add_cgraph_node_to_partition_1): Remove.
1628 (add_cgraph_node_to_partition): Remove.
1629 (add_symbol_to_partition): New function.
1630 (add_symbol_to_partition_1): New function.
1631 (contained_in_symbol): New function.
1632 (partition_cgraph_node_p): Remove.
1633 (partition_varpool_node_p): Remove.
1634 (partition_symbol_p): Remove.
1635 (lto_1_to_1_map): Cleanup.
1636 (lto_max_map): New.
1637 (lto_balanced_map): Update.
1638 (lto_promote_cross_file_statics): Update.
1639 * lto-partition.h (lto_max_map): Declare.
1640 * timevar.def (TV_WHOPR_PARTITIONING): New timevar.
1641
b5c7cdfb
JH
16422012-09-11 Jan Hubicka <jh@suse.cz>
1643
1644 PR lto/54312
1645 * lto.c (uniquify_nodes): Remove quadratic loop checking if the
1646 type is variant leader.
1647
b29402f0
RG
16482012-09-11 Richard Guenther <rguenther@suse.de>
1649
1650 * lto.c (enum gtc_mode): Remove.
1651 (struct type_pair_d): Adjust.
1652 (lookup_type_pair): Likewise.
1653 (gimple_type_leader): Do not mark as deletable.
1654 (gimple_lookup_type_leader): Adjust.
1655 (gtc_visit): Likewise.
1656 (gimple_types_compatible_p_1): Likewise.
1657 (gimple_types_compatible_p): Likewise.
1658 (gimple_type_hash): Likewise.
1659 (gimple_register_type): Likewise.
1660 (read_cgraph_and_symbols): Manage lifetime of tables
1661 here.
1662
b8f4e58f
RG
16632012-09-11 Richard Guenther <rguenther@suse.de>
1664
1665 * lto.c (gimple_types, type_hash_cache, enum gtc_mode,
1666 struct type_pair_d, lookup_type_pair, struct sccs,
1667 next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
1668 gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
1669 gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
1670 visit, iterative_hash_name, struct type_hash_pair,
1671 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
1672 gimple_type_eq, gimple_register_type_1, gimple_register_type):
1673 Move here from gimple.c
1674 (read_cgraph_and_symbols): Free hash tables here.
1675 (print_lto_report_1): New function wrapping print_lto_report.
1676 (do_whole_program_analysis): Call it.
1677 (lto_main): Likewise.
1678
1cdbb3f9
JH
16792012-09-10 Jan Hubicka <jh@suse.cz>
1680
1681 * lto-partition.c (partition_symbol_p): Forward declare.
1682 (add_references_to_partition): Reimplement using partition_symbol_p.
1683 (add_aliases_to_partition): Break out from add_references_to_partition;
1684 reimplement using partition_symbol_p.
1685 (add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
1686 add sanity checks.
1687 (add_varpool_node_to_partition): Use add_aliases_to_partition.
1688 (partition_varpool_node_p): Do not special case aliases.
1689
b4661bfe
JH
16902012-08-12 Jan Hubicka <jh@suse.cz>
1691
1692 * lto.c (lto_wpa_write_files): Do not delete partition encoder;
1693 it is deleted after streaming.
1694 * lto-partition.c (partition_symbol_p): New function.
1695 (promote_var, promote_fn): Remove.
1696 (promote_symbol): New function.
1697 (lto_promote_cross_file_statics): First compute boundaries; rewrite
1698 to lookup the actual boundaries instead of computing them ad-hoc.
1699
7b99cca4
JH
17002012-08-12 Jan Hubicka <jh@suse.cz>
1701
1702 Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
1703 in partitioning.
1704 * lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
1705 by encoder.
1706 * lto-partition.c (new_partition): Update.
1707 * lto.c (cmp_partitions_order): Update.
1708 (lto_wpa_write_files): Update.
1709 (free_ltrans_partitions): Update.
1710 (add_references_to_partition): Update.
1711 (add_cgraph_node_to_partition_1): Update.
1712 (add_cgraph_node_to_partition): Update.
1713 (add_varpool_node_to_partition): Update.
1714 (undo_partition): Update.
1715 (lto_balanced_map): Update.
1716 (set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
1717 set_referenced_from_this_partition_p): Update.
1718 (lto_promote_cross_file_statics): Update.
1719
f27c1867
JH
17202012-08-12 Jan Hubicka <jh@suse.cz>
1721
1722 * lto-partition.c (set_referenced_from_other_partition_p,
1723 set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
1724 New functions.
1725 (lto_promote_cross_file_statics): Use them.
1726
ab96cc5b
JH
17272012-07-24 Jan Hubicka <jh@suse.cz>
1728
1729 * lto.c (read_cgraph_and_symbols): Use input_symtab.
1730
0229aee9
UB
17312012-07-24 Uros Bizjak <ubizjak@gmail.com>
1732
1733 * lto-tree.h (lang_decl): Add variable_size GTY option.
1734
7ee2468b
SB
17352012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1736
1737 * lto.c: Do not include timevar.h.
1738 * Make-lang.in: Fix dependencies.
1739
a910399d
LC
17402012-06-18 Lawrence Crowl <crowl@google.com>
1741
1742 * lto.c (do_whole_program_analysis): Rename use of TV_PHASE_CGRAPH to
1743 TV_PHASE_OPT_GEN. Use new timevar TV_PHASE_STREAM_OUT around the call
1744 to lto_wpa_write_files.
1745 (lto_main): Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Move
1746 start of TV_PHASE_OPT_GEN to include call to materialize_cgraph. Use
1747 TV_PHASE_SETUP for the call to lto_init. Use new timevar
1748 TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
1749 Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
1750 to be a front end, but is not one.
1751
877ab5e9
JH
17522012-05-18 Jan Hubicka <jh@suse.cz>
1753
1754 * lto.c (lto_materialize_constructors_and_inits): Remove.
1755 (read_cgraph_and_symbols): Remove handling of alias pairs.
1756
6649df51
JH
17572012-05-17 Jan Hubicka <jh@suse.cz>
1758
1759 * lto-partition.c (add_references_to_partition): Handle external vars.
1760 (partition_varpool_node_p): Likewise.
1761 (lto_promote_cross_file_statics): Do not promote externals.
1762
d1ede5f4
BS
17632012-05-14 Bernd Schmidt <bernds@codesourcery.com>
1764
1765 * lto-lang.c (handle_fnspec_attribute): New static function.
1766 (lto_attribute_table): Add "fn spec".
1767 (DEF_ATTR_STRING): Define and undefine along with the other macros.
1768
0d6bf48c
JH
17692012-05-04 Jan Hubicka <jh@suse.cz>
1770
1771 * lto.c (do_whole_program_analysis): Set timevars correctly.
1772 (lto_main): Likewise.
d1ede5f4 1773
1d67dde8
RB
17742012-05-04 Richard Guenther <rguenther@suse.de>
1775
1776 * lang.opt (fwpa): Do not mark as Optimization.
1777 (fltrans): Likewise.
1778
65d630d4
JH
17792012-04-30 Jan Hubicka <jh@suse.cz>
1780
1781 * lto.c (lto_main): Use compile ().
1d67dde8
RB
1782 * lto-partition.c (partition_cgraph_node_p): Use
1783 symtab_used_from_object_file_p.
65d630d4
JH
1784 (partition_varpool_node_p): Likewise.
1785
ead84f73
JH
17862012-04-20 Jan Hubicka <jh@suse.cz>
1787
1788 * lto-partition.c (partition_cgraph_node_p): Use force_output.
1789
5932a4d4
JH
17902012-04-18 Jan Hubicka <jh@suse.cz>
1791
1792 * lto-partition.c (add_references_to_partition, lto_balanced_map):
1793 Update for new ipa-ref API.
1794
65c70e6b
JH
17952012-04-16 Jan Hubicka <jh@suse.cz>
1796
1797 * lto.c (read_cgraph_and_symbols): Use FOR_EACH
1798 walkers to walk cgraph and varpool.
1799 (materialize_cgraph): Likewise.
1800 * lto-partition.c (lto_1_to_1_map): Likewise.
1801 (lto_balanced_map): Likewise.
1802 (lto_promote_cross_file_statics): Likewise.
1803
960bfb69
JH
18042012-04-14 Jan Hubicka <jh@suse.cz>
1805
1806 * lto.c: Update field referenced for new cgraph/varpool layout.
1807 * lto-partition.c: Likewise.
1808
a66dc285
JH
18092012-04-11 Jan Hubicka <jh@suse.cz>
1810
1811 * lto.c: Update copyright; remove params.h, ipa-inline.h
1812 and ipa-utils.h inlines; inline lto-partition.h
1813 (ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
1814 add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
1815 add_references_to_partition, add_cgraph_node_to_partition_1,
1816 add_cgraph_node_to_partition, add_varpool_node_to_partition,
1817 undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
1818 lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
1819 promote_var, promote_fn, lto_promote_cross_file_statics): move to...
1820 * lto-partition.c: ... here; new file.
1821 * lto-partition.h: New file.
1822 * Make-lang.in (lto.o): Update dependencies.
1823 (lto-partition.o): New.
1824
f3b249e5
RG
18252012-04-05 Richard Guenther <rguenther@suse.de>
1826
1827 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Remove
1828 definition.
1829
21fa2faf
RG
18302012-03-12 Richard Guenther <rguenther@suse.de>
1831
1832 * lto-lang.c (builtin_type_for_size): Use lto_type_for_size.
1833
6bb485a3
RG
18342012-03-06 Richard Guenther <rguenther@suse.de>
1835
1836 PR lto/52097
1837 * lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.
1838
95510497
RG
18392012-02-28 Richard Guenther <rguenther@suse.de>
1840
1841 PR lto/52400
1842 * lto.c (lto_register_function_decl_in_symtab): Do not register
1843 a reverse renamed decl mapping.
1844
09228fef
JJ
18452012-01-06 Jakub Jelinek <jakub@redhat.com>
1846
1847 PR lto/51774
1848 * lto-lang.c (handle_returns_twice_attribute): New function.
1849 (lto_attribute_table): Add returns_twice attribute.
1850
b03eda0d
RG
18512011-12-21 Richard Guenther <rguenther@suse.de>
1852
1853 * lto.c (GIMPLE_REGISTER_TYPE): New define.
1854 (LTO_FIXUP_TREE): Use it.
1855 (uniquify_nodes): Mark new non-prevailing types and avoid
1856 calling gimple_register_type on others.
1857 (lto_read_decls): Add comment.
1858
4ad9a9de
EB
18592011-12-13 Eric Botcazou <ebotcazou@adacore.com>
1860
1861 * lto.h (lto_parse_hex): Delete.
1862 * lto.c (lto_read_decls): Use 'int' for offsets.
1863 (lto_parse_hex): Make static and return proper 64-bit host type.
1864 (lto_resolution_read): Use proper 64-bit host type.
1865
ea973bad
RG
18662011-12-13 Richard Guenther <rguenther@suse.de>
1867
1868 PR lto/48354
1869 * lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
1870 with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.
1871
c8218030
UB
18722011-12-01 Uros Bizjak <ubizjak@gmail.com>
1873
1874 * lto-lang.c (lto_attribute_table): Handle *tm regparm.
1875 (ignore_attribute): New.
1876
57ac2606
AH
18772011-11-21 Aldy Hernandez <aldyh@redhat.com>
1878
1879 * lto-lang.c (lto_attribute_table): Handle transaction_pure.
1880 (handle_transaction_pure_attribute): New.
1881
52a35ef7
RG
18822011-11-03 Richard Guenther <rguenther@suse.de>
1883
1884 PR lto/44965
1885 * lto-lang.c (lto_post_options): Do not read file options.
1886 * lto.c (lto_read_all_file_options): Remove.
1887 (lto_init): Call lto_set_in_hooks here.
1888
51973b1e
JH
18892011-10-09 Jan Hubicka <jh@suse.cz>
1890
1891 * lto.c (node_cmp, varpool_node_cmp): New functions.
1892 (lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
1893 (cmp_partitions): Rename to ...
1894 (cmp_partitions_size): ... this one.
1895 (cmp_partitions_order): New function.
1896 (lto_wpa_write_files): Sort partitions by order when
1897 -fno-toplevel-reorder is used.
1898
5958009b
AK
18992011-10-09 Andi Kleen <ak@linux.intel.com>
1900
1901 * lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
1902
e79983f4
MM
19032011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1904
1905 * lto-lang.c (def_builtin_1): Delete old interface with two
1906 parallel arrays to hold standard builtin declarations, and replace
1907 it with a function based interface that can support creating
1908 builtins on the fly in the future. Change all uses, and poison
1909 the old names. Make sure 0 is not a legitimate builtin index.
1910
ecdbd01a 19112011-10-02 Andi Kleen <ak@linux.intel.com>
c17d253c
AK
1912
1913 * lto-object.c (lto_obj_add_section_data): Add list.
1914 (lto_obj_add_section): Fill in list.
1915 (ltoobj_build_section_table): Pass through list.
1916 * lto.c (file_data_list): Declare.
1917 (create_subid_section_table): Pass arguments directly.
1918 Fill in list of file_datas.
1919 (lwstate): Delete.
1920 (lto_create_files_from_ids): Pass in direct arguments.
1921 Don't maintain list.
1922 (lto_file_read): Use explicit section and file data lists.
1923 (lto_read_all_file_options): Pass in section_list.
1924 * lto.h (lto_obj_build_section_table): Add list.
1925 (lto_section_slot): Add next.
1926 (lto_section_list): Declare.
1927
ed0d2da0
JH
19282011-10-02 Jan Hubicka <jh@suse.cz>
1929
1930 PR lto/47247
1931 * common.c (lto_resolution_str): Add new resolution.
1932 * common.h (lto_resolution_str): Likewise.
1933
ad7715f3
L
19342011-09-30 H.J. Lu <hongjiu.lu@intel.com>
1935 Andi Kleen <ak@linux.intel.com>
1936
1937 PR lto/50568
1938 * lto.c (lto_splay_tree_delete_id): New.
1939 (lto_splay_tree_compare_ids): Likewise.
1940 (lto_splay_tree_lookup): Likewise.
1941 (lto_splay_tree_id_equal_p): Likewise.
1942 (lto_splay_tree_insert): Likewise.
1943 (lto_splay_tree_new): Likewise.
1944 (lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
1945 Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
1946 (create_subid_section_table): Use lto_splay_tree_lookup and
1947 lto_splay_tree_insert.
1948 (lto_file_read): Use lto_splay_tree_new.
1949
ecdbd01a 19502011-09-26 Andi Kleen <ak@linux.intel.com>
dde8b360
AK
1951
1952 * lto.c (lto_resolution_read): Remove id dumping.
1953 (lto_section_with_id): Turn id HOST_WIDE_ID.
1954 (create_subid_section_table): Dito.
1955
892a371f
DS
19562011-08-28 Dodji Seketeli <dodji@redhat.com>
1957
1958 * lto-lang.c (lto_init): Likewise. Also, avoid calling
1959 linemap_add twice.
1960
f82d1a94
MJ
19612011-08-11 Martin Jambor <mjambor@suse.cz>
1962
1963 * lto.c (uniquify_nodes): Use main variant's BINFO too.
1964
f0efc7aa
DN
19652011-08-08 Diego Novillo <dnovillo@google.com>
1966
1967 * Make-lang.in (lto/lto.o): Add TREE_STREAMER_H.
1968 * lto.c: Include tree-streamer.h.
1969
1a072294
RG
19702011-07-06 Richard Guenther <rguenther@suse.de>
1971
1972 * lto-lang.c (lto_init):
1973 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1974
7496868d
JH
19752011-06-11 Jan Hubicka <jh@suse.cz>
1976
10f13f22 1977 PR lto/48246
7496868d
JH
1978 * lto.c (lto_1_to_1_map): Don't create empty partitions.
1979 (lto_balanced_map): Likewise.
1980
39e2db00
JH
19812011-06-11 Jan Hubicka <jh@suse.cz>
1982
1983 * lto.c (add_cgraph_node_to_partition_1): Break out from ...
1984 (add_cgraph_node_to_partition) ... here; walk aliases.
1985 (lto_1_to_1_map): Remove same body alias code.
1986 (promote_fn): Likewise.
1987 (lto_promote_cross_file_statics): Update comment.
1988
1989
28628ea6
DN
19902011-06-07 Diego Novillo <dnovillo@google.com>
1991
1992 * lto.c (uniquify_nodes): Move code to register decls to
1993 the loop that computes canonical types.
1994
009db074
RG
19952011-06-07 Richard Guenther <rguenther@suse.de>
1996
1997 * lto-lang.c (lto_init): Do not set
1998 size_type_node or call set_sizetype.
1999
47c79d56
DN
20002011-06-04 Diego Novillo <dnovillo@google.com>
2001
2002 * lto.c (lto_init): New.
2003 (lto_main): Call it.
2004
d5828cc7
DN
20052011-06-03 Diego Novillo <dnovillo@google.com>
2006
2007 * lto.c (get_resolution): Move from lto-streamer-in.c.
2008 (lto_register_var_decl_in_symtab): Likewise.
2009 (lto_register_function_decl_in_symtab): Likewise.
2010 (uniquify_nodes): Call lto_register_var_decl and
2011 lto_register_function_decl_in_symtab after reading a new
2012 VAR_DECL or FUNCTION_DECL.
2013
6807da97
RG
20142011-06-01 Richard Guenther <rguenther@suse.de>
2015
2016 * lto-lang.c (lto_register_canonical_types): New function.
2017 (lto_init): Register common nodes with the canonical type machinery.
2018 Do not play tricks with char_type_node.
2019
d74be317
RG
20202011-05-26 Richard Guenther <rguenther@suse.de>
2021
2022 * lto.c (uniquify_nodes): Fix bug in one of the previous changes.
2023
d9f8303f
NF
20242011-05-25 Nathan Froyd <froydnj@codesourcery.com>
2025
2026 * lto.c (lto_ft_typed): New function.
2027 (lto_ft_common): Call it.
2028 (lto_ft_constructor): Likewise.
2029 (lto_ft_expr): Likewise.
2030 (lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
2031 TREE_CHAIN.
2032
fb291a1e
RG
20332011-05-20 Richard Guenther <rguenther@suse.de>
2034
2035 * lto.c (lto_ft_common): Remove pointer-to chain teardown.
2036 (lto_ft_type): Move main-variant and pointer-to chain building ...
2037 (uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
2038 in a separate final loop.
2039
31b3ca64
RG
20402011-05-19 Richard Guenther <rguenther@suse.de>
2041
2042 * lto.c (uniquify_nodes): First register all types before
2043 fixing up the tree SCC.
2044
35d828c5
JH
20452011-05-11 Jan Hubicka <jh@suse.cz>
2046
2047 PR lto/48952
2048 * lto.c (do_whole_program_analysis): Do not register cgraph hooks.
2049
51545682
NF
20502011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2051
2052 * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
2053 location of binfo field.
2054 (lto_fixup_prevailing_decls): Likewise.
2055
8242dd04
NF
20562011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2057
2058 * lto-lang.c (def_fn_type): Don't call build_function_type, call
2059 build_function_type_array or build_varargs_function_type_array
2060 instead.
2061
c99c0026
EB
20622011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2063
2064 * lto-lang.c (global_bindings_p): Return bool.
2065
c47d0034
JH
20662011-05-07 Jan Hubicka <jh@suse.cz>
2067
a9bcb3f0
EB
2068 * lto.c (lto_materialize_function): Use
2069 cgraph_function_with_gimple_body_p.
2070 (add_cgraph_node_to_partition): Do not re-add items to partition;
2071 handle thunks.
c47d0034
JH
2072 (add_varpool_node_to_partition): Do not re-add items to partition.
2073
bb3398ca
JH
20742011-05-03 Jan Hubicka <jh@suse.cz>
2075
2076 * lto.c (free_ltrans_partitions): Fix accidental commit.
2077
1cb1a99f
JH
20782011-05-03 Jan Hubicka <jh@suse.cz>
2079
2080 * lto.c (ltrans_partition_def): Remove GTY annotations.
2081 (ltrans_partitions): Move to heap.
2082 (new_partition): Update.
2083 (free_ltrans_partitions): New function.
2084 (lto_wpa_write_files): Use it.
2085
af8bca3c
MJ
20862011-04-29 Martin Jambor <mjambor@suse.cz>
2087
2088 * lto.c: Include ipa-utils.h.
2089 (lto_balanced_map): Update call to ipa_reverse_postorder.
2090 * Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
2091
b823cdfe
MM
20922011-04-29 Michael Matz <matz@suse.de>
2093
2094 * lto.c (toplevel): Include tree-flow.h.
2095 (lto_read_in_decl_state): Don't merge types here.
2096 (tree_with_vars): New static hash table.
2097 (remember_with_vars): New static functions.
2098 (LTO_FIXUP_TYPE): New macro.
2099 (lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
2100 lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
2101 lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
2102 lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
2103 (lto_read_decls): Uniquify while reading in trees.
2104 (lto_fixup_data_t, LTO_FIXUP_SUBTREE,
2105 LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
2106 lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
2107 lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
2108 lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
2109 lto_fixup_tree): Remove.
2110 (lto_fixup_state): Remove data argument. Use
2111 lto_symtab_prevailing_decl.
2112 (LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
2113 (lto_fixup_prevailing_decls): New function.
2114 (lto_fixup_state_aux): Argument aux is unused.
2115 (lto_fixup_decls): Don't allocate pointer sets, don't use
2116 lto_fixup_tree, use lto_fixup_prevailing_decls.
2117 (read_cgraph_and_symbols): Allocate and remove tree_with_vars.
2118 * Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
2119
b9843260
EB
21202011-04-16 Eric Botcazou <ebotcazou@adacore.com>
2121
2122 * lto.c (lto_balanced_map): Fix typos in head comment.
2123 (lto_promote_cross_file_statics): Fix long lines and remove redundant
2124 test.
2125
e7f23018
JH
21262011-04-16 Jan Hubicka <jh@suse.cz>
2127
2128 * lto.c (lto_balanced_map): Update.
2129
10a5dd5d
JH
21302011-04-14 Jan Hubicka <jh@suse.cz>
2131
2132 * lto.c: Include ipa-inline.h
b9843260
EB
2133 (add_cgraph_node_to_partition, undo_partition): Use inline_summary
2134 accessor.
10a5dd5d
JH
2135 (ipa_node_duplication_hook): Fix declaration.
2136 * Make-lang.in (lto.o): Update dependencies.
2137
81f653d6
NF
21382011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2139
2140 * lto-tree.h (union lang_tree_node): Check for TS_COMMON before
2141 calling TREE_CHAIN.
2142 * lto.c (lto_fixup_common): Likewise.
2143
dcf0c47e
NF
21442011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2145
2146 * lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2147 (handle_type_generic_attribute): Likewise.
2148
e89964e3
MM
21492011-04-03 Michael Matz <matz@suse.de>
2150
2151 * lto.c (lto_materialize_function): Don't read and then discard
2152 sections in WPA mode.
2153 (lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
2154
2155 * lto-lang.c (registered_builtin_fndecls): Remove.
2156 (lto_getdecls): Return NULL_TREE.
2157 (lto_builtin_function): Don't remember in registered_builtin_fndecls.
2158
d2b3fe18
RG
21592011-03-31 Richard Guenther <rguenther@suse.de>
2160
2161 PR lto/48246
2162 * lto.c (lto_wpa_write_files): Disable assert for non-empty
2163 partitions when checking is not enabled.
2164
ba78087b
KT
21652011-03-25 Kai Tietz <ktietz@redhat.com>
2166
2167 * lto.c (lto_resolution_read): Use filename_cmp instead
2168 of strcmp.
2169 (lto_read_section_data): Likewise.
2170
0edf1bb2
JL
21712011-03-25 Jeff Law <law@redhat.com>
2172
2173 * lto/lto-lang.c (def_fn_type): Add missing va_end.
2174
62d784f7
KT
21752011-03-21 Kai Tietz <ktietz@redhat.com>
2176
2177 PR target/12171
2178 * lto-lang.c (lto_attribute_table): Adjust table.
2179
62dd9571
JJ
21802011-02-18 Jakub Jelinek <jakub@redhat.com>
2181
2182 PR bootstrap/47807
2183 * Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
2184 of lto-streamer.h.
2185
237d6259
RG
21862011-02-18 Richard Guenther <rguenther@suse.de>
2187
2188 PR lto/47798
2189 * lto-tree.h (lto_global_var_decls): Do not declare here.
2190 * lto-lang.c: Include lto-streamer.h.
2191 * Make-lang.in (lto-lang.o): Adjust dependencies.
2192
8ead2223
KT
21932011-02-10 Kai Tietz <kai.tietz@onevision.com>
2194
2195 PR lto/47241
2196 * lto.c (lto_read_section_data): Free
2197 fd_name in failure case.
2198 For mingw targets don't hash file-descriptor.
2199 (read_cgraph_and_symbols): Close current_lto_file
2200 in failure case.
2201
6e701822
JH
22022011-01-11 Jan Hubicka <jh@suse.cz>
2203
2204 PR lto/45721
2205 PR lto/45375
b9843260
EB
2206 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
2207 are not partitioned.
6e701822 2208
f4da8dce
NF
22092010-12-22 Nathan Froyd <froydnj@codesourcery.com>
2210
2211 * lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
2212 Use prototype_p.
2213
6b7fb143
RG
22142010-12-06 Richard Guenther <rguenther@suse.de>
2215
2216 PR lto/46796
2217 * lto-lang.c (lto_init): Give names to basic types.
2218
c59ffc41
JM
22192010-11-30 Joseph Myers <joseph@codesourcery.com>
2220
2221 * lto-object.c: Don't include toplev.h.
2222 * Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
2223
7c475d11
JM
22242010-11-30 Joseph Myers <joseph@codesourcery.com>
2225
2226 * Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
2227 $(TOPLEV_H).
2228
71f3e391
JM
22292010-11-29 Joseph Myers <joseph@codesourcery.com>
2230
2231 * lto-endian.h: Delete.
2232 * lto-object.c: Don't include "libiberty.h".
2233 (O_BINARY): Don't define.
2234 * lto.c: Don't include "libiberty.h" or <sys/mman.h>.
2235 (O_BINARY): Don't define.
2236
9f1718b0
RG
22372010-11-23 Richard Guenther <rguenther@suse.de>
2238
2239 * lto.c (read_cgraph_and_symbols): Remove newline from diagnostic.
2240
39c4e298
RG
22412010-11-23 Richard Guenther <rguenther@suse.de>
2242
2243 PR lto/46605
2244 * lto.c (read_cgraph_and_symbols): Bail out after errors.
2245
b37421c6
JM
22462010-11-17 Joseph Myers <joseph@codesourcery.com>
2247
2248 * lto.c (lto_main): Take no arguments.
2249 * lto.h (lto_main): Update prototype.
2250
d82f74d3
ILT
22512010-11-16 Ian Lance Taylor <iant@google.com>
2252
2253 * lto-object.c (lto_obj_file_open): Call
2254 simple_object_attributes_merge rather than
2255 simple_object_attributes_compare.
2256
a4d8c676
JM
22572010-11-12 Joseph Myers <joseph@codesourcery.com>
2258
2259 * Make-lang.in (lto/lto.o): Use $(OPTS_H).
2260 * lto-lang.c (lto_handle_option): Take location_t parameter.
2261
d8a07487
JM
22622010-11-10 Joseph Myers <joseph@codesourcery.com>
2263
2264 * lto.c (lto_resolution_read): Start diagnostics with lowercase
2265 letters and remove trailing '.'.
2266 (lto_file_finalize): Start diagnostic with a lowercase letter.
2267
6b3456d1
ILT
22682010-11-02 Ian Lance Taylor <iant@google.com>
2269
2270 * lto-object.c: New file.
2271 * lto-elf.c: Remove file.
2272 * lto-macho.c: Remove file.
2273 * lto-macho.h: Remove file.
2274 * lto-coff.c: Remove file.
2275 * lto-coff.h: Remove file.
2276 * Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
2277 lto/lto-object.o.
2278 ($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
2279 (lto/lto-objfile.o): New target.
2280 (lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
2281 (lto/lto.o): Remove $(LIBIBERTY_H).
2282
030cd86c
JH
22832010-10-22 Jan Hubicka <jh@suse.cz>
2284
2285 * lto.c (add_cgraph_node_to_partition,
2286 add_varpool_node_to_partition): Add debug info.
2287 (lto_1_to_1_map, lto_balanced_map): Do not re-add already
2288 partitioned nodes.
2289 (do_whole_program_analysis): Set function flags before dumping.
2290
4490cae6
RG
22912010-10-22 Richard Guenther <rguenther@suse.de>
2292
2293 * lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
2294 the new gimple_register_canonical_type.
2295
703cdce3
L
22962010-10-20 H.J. Lu <hongjiu.lu@intel.com>
2297
2298 PR bootstrap/45954
2299 * config-lang.in (boot_language): Set to $enable_lto.
2300
1915c739
JJ
23012010-10-18 Jakub Jelinek <jakub@redhat.com>
2302
2303 PR lto/45638
2304 * Make-lang.in (check-lto): New dummy target.
2305
82971de5
EB
23062010-10-14 Eric Botcazou <ebotcazou@adacore.com>
2307
2308 * lto-elf.c (SHN_XINDEX): Define if not already defined.
2309
a75bfaa6
JM
23102010-10-08 Joseph Myers <joseph@codesourcery.com>
2311
2312 * lto-lang.c (lto_init_options): Change to
2313 lto_init_options_struct. Update parameters.
2314 (LANG_HOOKS_INIT_OPTIONS): Don't define.
2315 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
2316
937f7f69
JH
23172010-10-06 Jan Hubicka <jh@suse.cz>
2318
2319 * lto.c (lto_balanced_map): Fix accounting of program size.
2320
2169830c
JH
23212010-10-06 Jan Hubicka <jh@suse.cz>
2322
2323 * lto.c (lto_balanced_map): Do not produce empty partitions.
2324
ecdbd01a 23252010-10-06 Andi Kleen <ak@linux.intel.com>
6e9bd0f8
AK
2326
2327 * lto.c (lto_process_name): Add.
2328 (lto_main): Call lto_process_name.
2329
06ed016f
JH
23302010-10-06 Jan Hubicka <jh@suse.cz>
2331
2332 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
2333 COMDATs required by the linker.
2334
ae718d66
ILT
23352010-10-05 Ian Lance Taylor <iant@google.com>
2336
2337 * lto.c (lto_section_with_id): Make s a const pointer.
2338
852e4bd2
JH
23392010-10-05 Jan Hubicka <jh@suse.cz>
2340
2341 * lto.c: Include params.h.
2342 (add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
2343 refcounting in aux field.
2344 (undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
2345 New functions.
2346 (lto_1_to_1_map): Simplify.
2347 (lto_balanced_map): New function.
2348 (do_whole_program_analysis): Chose proper partitioning alg.
2349 * Make-lang.in (lto.o): Add dependency on params.h
2350
ecdbd01a 23512010-10-04 Andi Kleen <ak@linux.intel.com>
a90163e9
AK
2352
2353 * Make-lang.in (lto1): Add + to build rule.
2354
ecdbd01a 23552010-10-03 Andi Kleen <ak@linux.intel.com>
f1e92a43
AK
2356
2357 * lto.c (lto_file_finalize): Replace gcc_assert for missing section
2358 with fatal_error.
2359
0d6e14fd
JH
23602010-09-28 Jan Hubicka <jh@suse.cz>
2361
2362 * lto-lang.c (handle_leaf_attribute): New function.
2363 (lto_attribute_tables): Add leaf.
2364
fb462383
JZ
23652010-09-25 Jie Zhang <jie@codesourcery.com>
2366
2367 * lto.c (lto_read_all_file_options): Start a new line after
2368 printing out file names.
2369
051f8cc6
JH
23702010-09-24 Jan Hubicka <jh@suse.cz>
2371
2372 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
2373
64e0f5ff
JH
23742010-09-20 Jan Hubicka <jh@suse.cz>
2375
2376 PR tree-optimize/45605
2377 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
2378
a929ec3d
GP
23792010-09-18 Gerald Pfeifer <gerald@pfeifer.com>
2380
2381 * lto-elf.c (lto_obj_file_open): Also provide filename when
2382 elf_begin fails.
2383
4c588abf
JH
23842010-09-17 Jan Hubicka <jh@suse.cz>
2385
2386 * lto.c (lto_promote_cross_file_statics): Use const_value_known.
2387
c3224d6f
RG
23882010-09-17 Richard Guenther <rguenther@suse.de>
2389
2390 * lang.opt (flag_wpa): Also enable for the driver.
2391
52b3b3c7
JH
23922010-09-16 Jan Hubicka <jh@suse.cz>
2393
2394 * lto.c (lto_materialize_function): Do not tamper with STATIC and
2395 EXTERNAL flags.
2396
969c37b7
LB
23972010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2398
2399 * lto-tree.h (struct lang_type): Add variable_size GTY option.
2400
098a4f50
JH
24012010-09-08 Jan Hubicka <jh@suse.cz>
2402
2403 * lto.c (real_file_count, real_file_decl_data): New static vars.
2404 (read_cgraph_and_symbols): Use it.
2405
0f443ad0
RG
24062010-09-08 Richard Guenther <rguenther@suse.de>
2407
2408 * lto.c (read_cgraph_and_symbols): Collect again after each
2409 file.
2410
ee187353
JH
24112010-09-07 Jan Hubicka <jh@suse.cz>
2412
2413 * lto.c (promote_var, promote_fn): Set DECL_VISIBILITY_SPECIFIED.
2414
b3ec52d0
RG
24152010-09-03 Richard Guenther <rguenther@suse.de>
2416
2417 * lto-elf.c (validate_file): Always error if validation fails.
2418
f1395d4a
JH
24192010-08-20 Jan Hubicka <jh@suse.cz>
2420
2421 * lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
2422 (lto_wpa_write_files): Update comments.
2423
2429bce3
L
24242010-08-20 H.J. Lu <hongjiu.lu@intel.com>
2425
2426 PR bootstrap/45357
2427 * lto.c (lto_materialize_function): Replace has_analyzed_clone
2428 with has_analyzed_clone_p.
2429
e0f967db
JH
24302010-08-20 Jan Hubicka <jh@suse.cz>
2431
2432 * lto.c (has_analyzed_clone_p): New function
2433 (lto_materialize_function): Use callgraph to determine if
2434 body is needed.
2435 (materialize_cgraph): Remove DECL_IS_BUILTIN check.
2436
ac47786e
NF
24372010-08-20 Nathan Froyd <froydnj@codesourcery.com>
2438
2439 * lto.c: Use FOR_EACH_VEC_ELT.
2440
ecdbd01a 24412010-07-27 Andi Kleen <ak@linux.intel.com>
d720b869
AK
2442
2443 * Make-lang.in (lto.o): Add dependency to splay-tree.h
2444
5f20c657
JM
24452010-07-27 Joseph Myers <joseph@codesourcery.com>
2446
2447 * lto-lang.c (lto_handle_option): Update prototype and return
2448 value type. Remove duplicate assignment to result.
2449
7a9bf9a4
JM
24502010-07-27 Joseph Myers <joseph@codesourcery.com>
2451
2452 * lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
2453 New.
2454 (lto_init_options): Update prototype.
2455 (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
2456 Define.
2457
ecdbd01a 24582010-07-10 Andi Kleen <ak@linux.intel.com>
73ce4d1e
AK
2459
2460 PR lto/44992
2461 * lto.c: Include splay-tree.h
2462 (lto_resolution_read): Change to walk file_ids tree and parse
2463 extra file_id in resolution file.
2464 (lto_section_with_id): Add.
2465 (create_subid_section_table): Add.
2466 (lwstate): Add.
2467 (lto_create_files_from_ids): Add.
2468 (lto_file_read): Change to handle sub file ids and create list
2469 of file_datas. Add output argument for count.
2470 (get_section_data): Pass file_data to lto_get_section_name.
2471 (lto_flatten_file): Add.
2472 (read_cgraph_and_symbols): Handle linked lists of file_datas.
2473
ecdbd01a 24742010-07-10 Andi Kleen <ak@linux.intel.com>
2994ee14
AK
2475
2476 * lto-coff.c (hash_name, eq_name): Move.
2477 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
2478 * lto-elf.c: (hash_name, eq_name): Move.
2479 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
2480 * lto-macho.c: (hash_name, eq_name): Move.
2481 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
2482 * lto.c: (hash_name, eq_name): Move from lto-*.c
2483 (lto_obj_create_section_hash_table): Add.
2484 (free_with_string): Add.
2485
718f9c0f
MLI
24862010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
2487
2488 * lto-coff.c: Include diagnostic-core.h in every file that
2489 includes toplev.h.
2490 * lto-elf.c: Likewise.
2491 * lto-lang.c: Likewise.
2492 * lto-macho.c: Likewise.
2493
1b137837
JJ
24942010-07-07 Jakub Jelinek <jakub@redhat.com>
2495
2496 * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
2497 (validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
2498 objects.
2499
92eb4438
JH
25002010-07-05 Jan Hubicka <jh@suse.cz>
2501
2502 * lto.c (add_cgraph_node_to_partition): Forward declare; walk also
2503 nodes from same comdat group as well as all comdat functions referenced
2504 here.
b9843260
EB
2505 (add_varpool_node_to_partition, add_references_to_partition): New
2506 function.
2507 (lto_1_1_map): Skip COMDAT fnctions/variables; use
2508 add_varpool_node_to_partition; clear aux flags when done.
2509 (lto_promote_cross_file_statics): Do not promote stuff that gets
2510 duplicated to each ltrans.
92eb4438 2511
a05541a9
JH
25122010-07-04 Jan Hubicka <jh@suse.cz>
2513
2514 * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
2515
4a2ac96f
RG
25162010-06-13 Richard Guenther <rguenther@suse.de>
2517
2518 * lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
2519
1d536046
KT
25202010-06-09 Kai Tietz <kai.tietz@onevision.com>
2521
2522 * lto.c (lto_resolution_read): Pre-initialize local variable r.
2523 * lto-coff.c (coff_write_object_file): Add braces to if.
2524
a9429e29
LB
25252010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2526
2527 * lto.c (lto_read_in_decl_state): Use typed GC allocation.
2528 (lto_file_read): Likewise.
2529 (new_partition): Likewise.
2530 (read_cgraph_and_symbols): Likewise.
2531
5498f011
JM
25322010-06-07 Joseph Myers <joseph@codesourcery.com>
2533
2534 * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
2535 (lto_handle_option): Don't set flag_signed_char here.
2536
d4c0c9f6
RG
25372010-06-04 Richard Guenther <rguenther@suse.de>
2538
2539 PR lto/41584
2540 * lto.c (lto_1_to_1_map): Use the proper file_data for
2541 varpool nodes.
2542
0a5fa5a1
JH
25432010-05-30 Jan Hubicka <jh@suse.cz>
2544
2545 * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
2546 partitioning decisions.
2547
9eec9488
JH
25482010-05-29 Jan Hubicka <jh@suse.cz>
2549
2550 * lto.c (bitmap vector): Remove.
2551 (lto_cgraph_node_sets, lto_varpool_node_sets): Remove.
2552 (ltrans_partition_def): New structure.
2553 (ltrans_partition): New type and VECtor.
2554 (new_partition): New function.
2555 (add_cgraph_node_to_partition): New function.
2556 (lto_1_to_1_map): Reorganize for partitions.
2557 (lto_add_inline_clones): Remove.
2558 (lto_add_all_inlinees): Remove.
2559 (lto_promote_cross_file_statics): Use partitions.
2560 (cmp_partitions): New function.
2561 (lto_wpa_write_files): Do not call lto_add_all_inlinees;
2562 use partitions; output files sorted by size.
2563
3e097227
SB
25642010-05-29 Steven Bosscher <steven@gcc.gnu.org>
2565
2566 * Make-lang.in: Replace vec.h dependency with VEC_H.
2567
7ca92787
JM
25682010-05-28 Joseph Myers <joseph@codesourcery.com>
2569
2570 * lto-coff.c (coff_errmsg): Remove.
2571 (lto_coff_begin_section_with_type, lto_obj_append_data): Use %m in
2572 errors instead of coff_errmsg (-1).
2573 * lto-macho.c (mach_o_errmsg): Remove.
2574 (lto_obj_begin_section, lto_obj_append_data): Use %m in errors
2575 instead of mach_o_errmsg (-1).
2576 * lto.c (read_cgraph_and_symbols): Use %m in errors instead of
2577 xstrerror (errno).
2578
b5611987
RG
25792010-05-28 Richard Guenther <rguenther@suse.de>
2580
2581 * lto.c (prefix_name_with_star): Removed.
2582 (strip_extension): Likewise.
2583 (get_filename_for_set): Likewise.
2584 (lto_write_ltrans_list): Fold into ...
2585 (lto_wpa_write_files): ... this. Name LTRANS units
2586 by suffixing the ltrans output list filename.
2587 (do_whole_program_analysis): Adjust.
2588
1da2ed5f
JM
25892010-05-27 Joseph Myers <joseph@codesourcery.com>
2590
2591 * lto.c: Include diagnostic-core.h instead of diagnostic.h.
2592 (read_cgraph_and_symbols, lto_main): Use seen_error.
2593 * Make-lang.in (lto/lto.o): Update dependencies.
2594
7951d88a
EB
25952010-05-27 Eric Botcazou <ebotcazou@adacore.com>
2596
2597 PR lto/44230
2598 * lto.h (lto_eh_personality): New prototype.
2599 * lto.c: Include debug.h.
2600 (first_personality_decl): New static variable.
2601 (lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
2602 first function for which it is non-null.
2603 (lto_eh_personality_decl): New static variable.
2604 (lto_eh_personality): New function.
2605 * lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
2606 * Make-lang.in (lto/lto.o): Add dependency on debug.h.
2607
e12da9c2
SB
26082010-05-26 Steven Bosscher <steven@gcc.gnu.org>
2609
2610 * lto-lang.c: Do not include expr.h.
2611
468194f4
RG
26122010-05-24 Richard Guenther <rguenther@suse.de>
2613
2614 * lto-elf.c (lto_obj_build_section_table): Work around
2615 FreeBSD libelf issue.
2616
bd9eb5da
RG
26172010-05-22 Richard Guenther <rguenther@suse.de>
2618
2619 * lto.c (read_cgraph_and_symbols): Do not collect.
2620
66576e1b
JH
26212010-05-20 Jan Hubicka <jh@suse.cz>
2622
2623 * lto.c (promote_var, promote_fn): New functions.
2624 (lto_promote_cross_file_statics): Compute correctly boundary including
2625 static initializers of readonly vars.
2626
36576655
JH
26272010-05-18 Jan Hubicka <jh@suse.cz>
2628
66576e1b 2629 * lto.c (lto_1_to_1_map): Partition non-inline clones.
36576655
JH
2630 (lto_promote_cross_file_statics): Deal with non-inline clones.
2631
28632d63
JH
26322010-05-18 Jan Hubicka <jh@suse.cz>
2633
2634 * lto.c (lto_materialize_function): Announce function when
2635 reading body; allocate_struct_function only when reading body;
2636 do not finalize local statics; ggc_collect after reading;
2637 do not mark reachable node.
2638 (materialize_cgraph): Do not announce function.
2639
33e42d56
JH
26402010-05-11 Jan Hubicka <jh@suse.cz>
2641
2642 * lto.c (materialize_cgraph): Revert my previous patch.
2643
f6430ea5
KT
26442010-05-11 Kai Tietz <kai.tietz@onevision.com>
2645
2646 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
2647 IMAGE_FILE_MACHINE_AMD64.
2648 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
2649
0a0b07b7
JH
26502010-05-11 Jan Hubicka <jh@suse.cz>
2651
2652 * lto.c (lto_fixup_decls): Remove global var decls freeing here.
2653 (materialize_cgraph): Add it here.
2654
9a809897
JH
26552010-05-11 Jan Hubicka <jh@suse.cz>
2656
2657 * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
2658 vector.
2659
26602010-05-11 Jan Hubicka <jh@suse.cz>
2661
2662 * lto.c (lto_1_to_1_map): Remove some no longer needed checks.
2663 (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
2664 use reachable_from_other_partition_p and
2665 referenced_from_other_partition_p test.
2666
94f64249
KT
26672010-05-11 Kai Tietz <kai.tietz@onevision.com>
2668
2669 * lto-coff.c (validate_file): Add x64-coff support.
2670 * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
2671 (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
2672 * lto-lang.c (lto_build_c_type_nodes): Add check for
2673 'long long unsigned int' for x64-windows.
2674 (lto_init): Likewise.
2675
2676
c082f9f3
SB
26772010-05-07 Steven Bosscher <steven@gcc.gnu.org>
2678
2679 * lto.h (struct lto_file_struct): Document offset member.
2680 * lto-endian.h: New file.
2681 * lto-macho.h: New file.
2682 * lto-macho.c: New file.
2683 * Make-lang.in: Add rule for lto-macho.o.
2684
3f8257db 26852010-05-07 Richard Guenther <rguenther@suse.de>
5cd0e96b
RG
2686
2687 PR lto/43857
2688 PR lto/43371
2689 * lang.opt (fresolution): Change to ...
2690 (fresolution=): ... this.
2691 * lto-lang.c (lto_handle_option): Adjust.
2692
48cf395b
RB
26932010-05-07 Richard Guenther <rguenther@suse.de>
2694
2695 * lto.c (DUMPBASE_SUFFIX): Remove.
2696 (lto_execute_ltrans): Move functionality to lto-wrapper.c.
2697 Rename to ...
2698 (lto_write_ltrans_list): ... only output the list of ltrans files.
2699 (lto_maybe_unlink): Remove.
2700 (do_whole_program_analysis): Do not execute LTRANS phase
2701 from here.
2702
afa83c15
L
27032010-05-06 H.J. Lu <hongjiu.lu@intel.com>
2704
2705 * lto-lang.c (lto_handle_option): Add argument kind.
2706
369451ec
JH
27072010-05-05 Jan Hubicka <jh@suse.cz>
2708
48cf395b
RB
2709 * lto.c (lto_promote_cross_file_statics): Compute boundary based on
2710 refs.
369451ec 2711
2f41ecf5
JH
27122010-05-05 Jan Hubicka <jh@suse.cz>
2713
2714 * lto.c (lto_1_to_1_map): Partition only needed nodes.
2715
ace72c88
JH
27162010-04-30 Jan Hubicka <jh@suse.cz>
2717
b9843260
EB
2718 * lto.c (get_filename_for_set): Look for cgraph node and if none found,
2719 use default name.
ace72c88
JH
2720 (lto_wpa_write_files): Write any non-empty partition.
2721
05575e07
JH
27222010-04-30 Jan Hubicka <jh@suse.cz>
2723
2724 * lto.c: Do not attempt to make constant pool references global.
2725
49ba8180
JH
27262010-04-28 Jan Hubicka <jh@suse.cz>
2727
2728 * lto/lto.c (lto_read_in_decl_state): Use GGC.
2729 (lto_wpa_write_files): Announce what we are writting.
2730 (all_file_decl_data): New.
2731 (read_cgraph_and_symbols): Use GGC; correct timevars.
2732 (do_whole_program_analysis): Collect.
2733 * lto/Make-lang.in (lto.o): Fix dependency.
2734 * Makefile.in (GTFILES): Add lto-streamer.h.
2735 * varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
2736 (varpool_assemble_pending_decls): Use VAROUT.
2737 * lto-streamer.h (lto_tree_ref_table): Annotate.
2738 (lto_in_decl_state): Annotate.
2739 (lto_file_decl_data): Annotate.
2740
2942c502
JH
27412010-04-28 Jan Hubicka <jh@suse.cz>
2742
2743 * lto.c (lto_varpool_node_sets): New.
2744 (lto_1_to_1_map): Partition varpool too.
2745 (globalize_context_t, globalize_cross_file_statics,
2746 lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
2747 lto_scan_statics_in_remaining_global_vars): Remove.
2748 (lto_promote_cross_file_statics): Rewrite.
2749 (get_filename_for_set): Take vset argument.
2750 (lto_wpa_write_files): Pass around vsets.
2751
3bec79c5
DK
27522010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
2753
2754 PR lto/42776
2755 * Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
2756 hardcoding 'lto-elf.o'.
2757 ($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.
2758
2759 * lto-coff.h: New file.
2760 * lto-coff.c: Likewise.
2761
21aac880
RG
27622010-04-26 Richard Guenther <rguenther@suse.de>
2763
2764 * lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
2765
2cee0101
DK
27662010-04-26 Dave Korn <dave.korn.cygwin@gmail.com>
2767
2768 * lto.h (lto_elf_file_open): Rename prototype from this ...
2769 (lto_obj_file_open): ... to this.
2770 (lto_elf_file_close): Likewise ...
2771 (lto_obj_file_close): ... and likewise.
2772 (lto_elf_build_section_table): Likewise ...
2773 (lto_obj_build_section_table): ... and likewise.
2774 (lto_elf_begin_section): Likewise ...
2775 (lto_obj_begin_section): ... and likewise.
2776 (lto_elf_append_data): Likewise ...
2777 (lto_obj_append_data): ... and likewise.
2778 (lto_elf_end_section): Likewise ...
2779 (lto_obj_end_section): ... and likewise.
2780 * lto.c (lto_file_read): Update references to the above.
2781 (lto_wpa_write_files): Likewise.
2782 (lto_read_all_file_options): Likewise.
2783 (read_cgraph_and_symbols): Likewise.
2784 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
2785 (LANG_HOOKS_APPEND_DATA): Likewise.
2786 (LANG_HOOKS_END_SECTION): Likewise.
2787 * lto-elf.c (lto_elf_file_open): Rename from this ...
2788 (lto_obj_file_open): ... to this, updating any references.
2789 (lto_elf_file_close): Likewise ...
2790 (lto_obj_file_close): ... and likewise.
2791 (lto_elf_build_section_table): Likewise ...
2792 (lto_obj_build_section_table): ... and likewise.
2793 (lto_elf_begin_section): Likewise ...
2794 (lto_obj_begin_section): ... and likewise.
2795 (lto_elf_append_data): Likewise ...
2796 (lto_obj_append_data): ... and likewise.
2797 (lto_elf_end_section): Likewise ...
2798 (lto_obj_end_section): ... and likewise.
2799
bc58d7e1
JH
28002010-04-21 Jan Hubicka <jh@suse.cz>
2801
2802 * lto.c (lto_fixup_tree): Do not call wpa fixup.
2803 (materialize_cgraph): Likewise.
2804
e792884f
JH
28052010-04-21 Jan Hubicka <jh@suse.cz>
2806
2807 * lto.c (lto_wpa_write_files): Update.
2808 (read_cgraph_and_symbols): Be more verbose.
2809 (materialize_cgraph): Likewise.
2810 (do_whole_program_analysis): Likewise.
2811
c9945504
JH
28122010-04-21 Jan Hubicka <jh@suse.cz>
2813
2814 * lto.c (globalize_cross_file_statics): When function has address taken,
2815 it needs to be public.
2816
a837268b
JH
28172010-04-20 Jan Hubicka <jh@suse.cz>
2818
2819 * lto.c (lto_add_inline_clones): Do not track inlined_decls.
2820 (lto_add_all_inlinees): Likewise.
2821 (lto_wpa_write_files): Likewise.
2822
3b9e5d95
EB
28232010-04-18 Eric Botcazou <ebotcazou@adacore.com>
2824
2825 * lto-lang.c (lto_init): Remove second argument in call to
2826 build_common_tree_nodes.
2827
8ccb78f2
RO
28282010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2829
2830 * lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
2831 function.
2832
2f9b99e6
EB
28332010-03-09 Eric Botcazou <ebotcazou@adacore.com>
2834
2835 PR bootstrap/43276
2836 * lto-elf.c: Define EM_* constants if not already defined.
2837
bef7d288
EB
28382010-03-03 Eric Botcazou <ebotcazou@adacore.com>
2839
2840 * lto-elf.c (is_compatible_architecture): New static function.
2841 (DEFINE_VALIDATE_EHDR): Use it to validate the architecture.
2842
f68df07c
RG
28432010-02-11 Richard Guenther <rguenther@suse.de>
2844
2845 PR driver/43021
2846 * lto-elf.c (lto_elf_file_open): Handle file@offset case more
2847 appropriately.
2848
3cdea2b4
AH
28492010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
2850
2851 * lto.c (O_BINARY): Define.
2852 (lto_read_section_data): Open file in binary mode.
2853 * lto-elf.c (O_BINARY): Define.
2854 (lto_elf_file_open): Open file in binary mode.
2855
c59449fa
RG
28562010-01-08 Richard Guenther <rguenther@suse.de>
2857
2858 PR lto/42528
2859 * lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
2860 (lto_init): Do not init char_type_node in a standard way
2861 but according to flag_signed_char.
2862
d7fb0a6d
L
28632010-01-03 H.J. Lu <hongjiu.lu@intel.com>
2864
2865 PR lto/41564
2866 * lto.c (DUMPBASE_SUFFIX): New.
2867 (lto_execute_ltrans): Append a sequence number to -dumpbase
2868 for LTRANS.
2869
78ce4053
L
28702010-01-02 H.J. Lu <hongjiu.lu@intel.com>
2871
2872 PR lto/42580
2873 * lto-elf.c (lto_elf_file_open): Stop if the command line
2874 option file is missing.
2875
2a71eb48
RG
28762009-12-15 Richard Guenther <rguenther@suse.de>
2877
2878 * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
2879 (lto_post_options): Do not disable debuginfo.
2880
a818bca1
DG
28812009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
2882
2883 * Make-lang.in ($(LTO_EXE)): Use $(LINKER).
2884
e7d00517
RG
28852009-12-11 Richard Guenther <rguenther@suse.de>
2886
2887 PR lto/42037
2888 * lto.c (lto_resolution_read): Properly grow the vector.
2889
1ab53893
RG
28902009-12-11 Richard Guenther <rguenther@suse.de>
2891
2892 PR lto/41915
2893 * lto-lang.c (lto_init_options): Initialize flag_complex_method
2894 to the C99 default. Do not set flag_unit_at_a_time.
2895
0f900dfa
JJ
28962009-11-28 Jakub Jelinek <jakub@redhat.com>
2897
2898 * lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
2899 variable.
2900
92fa7608
RAE
29012009-11-19 Rafael Avila de Espindola <espindola@google.com>
2902
2903 PR bootstrap/42096
2904 * lto-elf.c (lto_elf_file_open): Use lto_parse_hex.
2905 * lto.c (lto_parse_hex): New.
2906 (lto_resolution_read): Use lto_parse_hex.
2907 * lto.h (lto_parse_hex): New.
2908
9870fe4f
RAE
29092009-11-17 Rafael Avila de Espindola <espindola@google.com>
2910
2911 * lto-elf.c (lto_file_init): Add offset argument.
2912 (lto_elf_file_open): Record the offset.
2913 * lto.c (lto_resolution_read): Change file_name into a lto_file
2914 argument. Check offsets.
2915 (lto_file_read): Update call to lto_resolution_read.
2916 * lto.h (lto_file_struct): Add the offset field.
2917
1b70729f
RAE
29182009-11-16 Rafael Avila de Espindola <espindola@google.com>
2919
2920 * lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.
2921
0e3776db
JH
29222009-11-14 Jan Hubicka <jh@suse.cz>
2923
2924 * lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
2925
06bd7f56
RAE
29262009-11-12 Rafael Avila de Espindola <espindola@google.com>
2927
2928 * lang.opt (fresolution): Renamed from resolution.
2929 * lto-lang.c (lto_handle_option): Handle new option name.
2930 * lto.c (lto_resolution_read): Add more checks. Discard rest of line.
2931
7e9dc421
RG
29322009-11-04 Richard Guenther <rguenther@suse.de>
2933 Rafael Avila de Espindola <espindola@google.com>
2934
2935 * lto-elf.c (lto_elf_build_section_table): Add the base offset.
2936 (lto_elf_file_open): Handle offsets in arguments name@offest.
2937
b207f900
RG
29382009-10-30 Richard Guenther <rguenther@suse.de>
2939
2940 PR lto/41858
2941 * lto.c (lto_file_read): Do not set file_data->fd.
2942 (lto_read_section_data): Use a single-entry file-descriptor cache.
2943 Do not check the result of xmalloc.
2944 (free_section_data): Do not use file_data->fd.
2945 (lto_read_all_file_options): Likewise.
2946
2c928155
RG
29472009-10-22 Richard Guenther <rguenther@suse.de>
2948
2949 * lto.c (lto_fixup_jump_functions): Remove.
2950 (lto_fixup_decls): Do not fixup jump functions.
2951 (read_cgraph_and_symbols): Schedule cgraph merging after
2952 summary reading. Schedule type and decl fixup before
2953 summary reading.
2954
f9c91f8a
RB
29552009-10-22 Richard Guenther <rguenther@suse.de>
2956
2957 * lto.c (lto_fixup_data_t): Remove free_list member.
2958 (lto_fixup_tree): Do not insert into free_list.
2959 (free_decl): Remove.
2960 (lto_fixup_decls): Remove free-list handling.
2961
fb3f88cc
JH
29622009-10-22 Jan Hubicka <jh@suse.cz>
2963
2964 * lto.c (lto_fixup_jump_functions): New function.
2965 (lto_fixup_decls): Use it.
2966
35f1e9f4
RG
29672009-10-16 Richard Guenther <rguenther@suse.de>
2968
2969 PR lto/41715
2970 * lto.c (lto_fixup_tree): Revert last change.
2971
200c8750
RG
29722009-10-14 Richard Guenther <rguenther@suse.de>
2973
2974 * lto.c (lto_fixup_tree): In case the prevailing decl is not
2975 compatible with the one we replace wrap it around a
2976 VIEW_CONVERT_EXPR.
2977
b1b07c92
RG
29782009-10-09 Richard Guenther <rguenther@suse.de>
2979
2980 PR lto/41635
2981 PR lto/41636
2982 * lto.c (read_cgraph_and_symbols): Do not assert we can open
2983 a file.
2984 * lto-elf.c (init_shdr##BITS): Fix i18n problems.
2985 (init_ehdr##BITS): Likewise.
2986
3c2e7d45
JM
29872009-10-08 Joseph Myers <joseph@codesourcery.com>
2988
2989 * lto-elf.c (init_shdr##BITS, lto_elf_begin_section_with_type,
2990 init_ehdr##BITS, lto_elf_file_close): Remove trailing "." from
2991 diagnostics.
2992 * lto-lang.c (lto_post_options): Remove trailing "." from
2993 diagnostics.
2994
0d0bfe17
RG
29952009-10-08 Richard Guenther <rguenther@suse.de>
2996
2997 * lto.c (read_cgraph_and_symbols): Free the gimple type merging
2998 hash tables.
2999
4bedf19a
JM
30002009-10-07 Joseph Myers <joseph@codesourcery.com>
3001
3002 * lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
3003
b20996ff
JH
30042009-10-07 Jan Hubicka <jh@suse.cz>
3005
3006 * lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
3007 ltrans stage; explain why this is needed and should not.
3008
1a735925
RG
30092009-10-05 Richard Guenther <rguenther@suse.de>
3010
3011 PR lto/41552
3012 PR lto/41487
3013 * lto.c (lto_read_decls): Do not register deferred decls.
3014 (read_cgraph_and_symbols): Delay symbol and cgraph merging
3015 until after reading the IPA summaries.
3016
d7f09764
DN
30172009-10-02 Rafael Avila de Espindola <espindola@google.com>
3018
3019 * Make-lang.in (lto/lto-lang.o): Don't depend on lto/common.h.
3020 (lto-lang.c): Don't include lto/common.h.
3021
30222009-10-02 Rafael Avila de Espindola <espindola@google.com>
3023
3024 * Make-lang.in (LTO_OBJS): Remove lto/common.o.
3025 (lto/common.o): Remove.
3026 * common.c: Remove.
3027 * common.h (lto_kind_str): Remove.
3028 (lto_visibility_str): Remove.
3029 (lto_resolution_str): Make it static.
3030
30312009-10-01 Diego Novillo <dnovillo@google.com>
3032
3033 * lto.c (lto_read_decls): Add comment.
3034 Call internal_error instead of gcc_assert.
3035 (lto_resolution_read): Likewise.
3036 (lto_add_all_inlinees): Tidy.
3037 * Make-lang.in: Fix copyright boilerplate.
3038 (lto.pdf): New.
3039 (lto.install-pdf): New.
3040 * lto-tree.h: Fix copyright boilerplate.
3041 * lang-specs.h: Likewise.
3042 Remove ".lto" entry from compilers fragment.
3043 * lto-elf.c: Move inclusion of gelf.h after config.h.
3044 Tidy formatting everywhere.
3045 * lto.h: Fix copyright boilerplate.
3046 Tidy formatting everywhere.
3047 * common.c: Likewise.
3048 * config-lang.in: Likewise.
3049 * common.h: Likewise.
3050 * lto-lang.c: Likewise.
3051
30522009-10-01 Richard Guenther <rguenther@suse.de>
3053
3054 * lto.c (lto_read_section_data): Use plain lseek/read.
3055
30562009-10-01 Richard Guenther <rguenther@suse.de>
3057
3058 * lto.c (LTO_MMAP_IO): Define if we can mmap files and
3059 use sysconf to query the system page size.
3060 (lto_file_read): Implement fallback using stdio.
3061 (free_section_data): Likewise.
3062
30632009-09-29 Diego Novillo <dnovillo@google.com>
3064
3065 * lto-lang.c (lto_init): Really fix call to
3066 build_common_builtin_nodes.
3067
30682009-09-29 Diego Novillo <dnovillo@google.com>
3069
3070 * lto-lang.c (lto_init): Fix call to
3071 build_common_builtin_nodes.
3072
30732009-09-29 Richard Guenther <rguenther@suse.de>
3074
3075 PR lto/40754
3076 * lto-elf.c (init_shdr##BITS): Properly specify alignment
3077 in bytes.
3078 (first_data_block): New static variable.
3079 (lto_elf_append_data): Align the first data block in each
3080 section.
3081
30822009-09-28 Diego Novillo <dnovillo@google.com>
3083
3084 * lto-lang.c: Tidy. Remove stale FIXME lto markers.
3085 * lto.c (strip_extension): New.
3086 (get_filename_for_set): Call it. Do not call make_cwd_temp_file.
3087 (lto_execute_ltrans): Tidy.
3088 Do not pass -fwpa nor -fltrans-* to LTRANS.
3089 * opts.c: Tidy formatting and remove stale FIXME lto markers.
3090 * tree.c (need_assembler_name_p): Call
3091 lang_hooks.decls.may_need_assembler_name_p if set.
3092 * varasm.c (default_binds_local_p_1): Remove check for
3093 flag_ltrans.
3094 * varpool.c (decide_is_variable_needed): Do not test for
3095 in_lto_p.
3096
30972009-09-22 Richard Guenther <rguenther@suse.de>
3098
3099 PR lto/39276
3100 * lto.c (lto_execute_ltrans): Perform ltrans phase manually.
3101 * Make-lang.in: Remove ltrans-driver stuff.
3102 * config-lang.in: Likewise.
3103 * lang.opt (fltrans-driver): Remove.
3104 * lto-lang.c (lto_init_options): Remove code initializing
3105 ltrans_driver.
3106 * ltrans-driver: Remove.
3107
31082009-09-21 Diego Novillo <dnovillo@google.com>
3109
3110 * lto-lang.c (lto_define_builtins): Remove superfluous
3111 calls to targetm.init_builtins and build_common_builtin_nodes.
3112 (lto_init): Add targetm.arm_eabi_unwinder as parameter to
3113 build_common_builtin_nodes.
3114 * lto.c (lto_materialize_function): Do nothing if NODE is a
3115 clone.
3116
31172009-09-03 Diego Novillo <dnovillo@google.com>
3118
3119 * lto-elf.c (validate_file): Replace call to
3120 elf_getshstrndx with call to elf_getshdrstrndx.
3121
31222009-08-19 Richard Guenther <rguenther@suse.de>
3123
3124 * lto-lang.c (lto_init): Merge char_type_node with the
3125 appropriately signed variant.
3126
31272009-08-19 Richard Guenther <rguenther@suse.de>
3128
3129 PR lto/41071
3130 * lto.c (lto_fixup_common): Re-build the pointer-to chain part one.
3131 (lto_fixup_type): Re-build the pointer-to chain part two.
3132
31332009-08-19 Richard Guenther <rguenther@suse.de>
3134
3135 PR lto/41071
3136 * lto.c (lto_fixup_type): Re-build the type variant chain.
3137
31382009-08-19 Richard Guenther <rguenther@suse.de>
3139
3140 PR lto/41071
3141 * lto.c (lto_fixup_constructor): New function.
3142 (lto_fixup_tree): Replace all types. Properly fixup
3143 constructors and constants.
3144
31452009-08-14 Richard Guenther <rguenther@suse.de>
3146
3147 * lto.c (read_cgraph_and_symbols): Exchange TREE_CHAIN use
3148 for DECL_LANG_SPECIFIC.
3149
31502009-08-13 Richard Guenther <rguenther@suse.de>
3151
3152 PR lto/41032
3153 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define to NULL.
3154
31552009-07-30 Richard Guenther <rguenther@suse.de>
3156
3157 PR lto/40903
3158 * lto.c (read_cgraph_and_symbols): After fixing up decls choose
3159 the largest decl for output and free TREE_CHAIN for further
3160 use.
3161
31622009-07-24 Diego Novillo <dnovillo@google.com>
3163
3164 * Make-lang.in: Add empty lto.install-plugin target.
3165
31662009-07-13 Diego Novillo <dnovillo@google.com>
3167
3168 * lto.c (lto_fixup_tree): Handle IMPORTED_DECL.
3169
31702009-07-11 Richard Guenther <rguenther@suse.de>
3171
3172 * lto-lang.c (lto_write_globals): Wrapup global decls.
3173
31742009-07-10 Richard Guenther <rguenther@suse.de>
3175
3176 * lto-lang.c (lto_init): Allocate one more location to make
3177 BUILTINS_LOCATION correct.
3178
31792009-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3180
3181 * lto.c (free_section_data): Cast computed_offset to caddr_t.
3182
31832009-07-06 Diego Novillo <dnovillo@google.com>
3184
3185 * lto.c (lto_fixup_type): Fixup TYPE_SIZE and
3186 TYPE_SIZE_UNIT.
3187
31882009-07-06 Diego Novillo <dnovillo@google.com>
3189
3190 * lto.c (preload_common_nodes): Remove.
3191 (lto_read_in_decl_state): Call lto_streamer_cache_get.
3192 (lto_read_decls): Call lto_data_in_create and
3193 lto_data_in_delete.
3194 (free_decl): Do not call ggc_free.
3195 (lto_main): Call lto_init_reader.
3196 * lto-lang.c (lto_type_for_size): Handle intTI_type_node.
3197 (lto_init): Initialize main_identifier_node if needed.
3198 Make ptrdiff_type_node be integer_type_node.
3199
32002009-06-19 Diego Novillo <dnovillo@google.com>
3201
3202 * lto.c: Remove code guarded by #ifdef LTO_STREAM_DEBUGGING.
3203 Remove code guarded by #ifdef GLOBAL_STREAMER_TRACE.
3204 Remove code guarded by #ifdef LOCAL_TRACE.
3205
32062009-06-18 Diego Novillo <dnovillo@google.com>
3207
3208 * lto.c: Update license to GPLv3.
3209 * lto-elf.c: Likewise.
3210 * common.c: Likewise.
3211 * lto-lang.c: Likewise.
3212 * lto.h: Remove superfluous include files. Update all
3213 users.
3214
32152009-06-17 Diego Novillo <dnovillo@google.com>
3216
3217 * lto.c (read_cgraph_and_symbols): Call input_cgraph.
3218
32192009-06-02 Diego Novillo <dnovillo@google.com>
3220
3221 * lto.c (lto_1_to_1_map): Ignore nodes that have not been
3222 read in.
3223 (materialize_cgraph): Only materialize nodes that have a
3224 representation on file.
3225
32262009-06-01 Diego Novillo <dnovillo@google.com>
3227
3228 * lto-lang.c (lto_handle_option): Hanlde OPT_Wabi.
3229
32302009-05-31 Diego Novillo <dnovillo@google.com>
3231
3232 * lto-lang.c (lto_type_for_mode): Handle all the modes
3233 handled in c_common_type_for_mode.
3234
32352009-05-21 Diego Novillo <dnovillo@google.com>
3236
3237 * lto-elf.c: Always include <gelf.h>.
3238 * config-lang.in (target_libs): Remove.
3239 (build_by_default): Set to no.
3240
32412009-05-15 Diego Novillo <dnovillo@google.com>
3242
3243 * lto.c (lto_materialize_function): Assert that DECL is
3244 not a builtin.
3245 (materialize_cgraph): Don't try to materialize builtin
3246 functions.
3247 * lto-section-out.c (write_symbol_vec): Do not write
3248 builtin functions.
3249
32502009-05-13 Diego Novillo <dnovillo@google.com>
3251
3252 * lto-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define.
3253
32542009-05-07 Diego Novillo <dnovillo@google.com>
3255
3256 * lto.c (lto_resolution_read): Add type casts for C++ warnings.
3257 (LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE): Define.
3258 (lto_fixup_type): Call it for TYPE_POINTER_TO,
3259 TYPE_REFERENCE_TO, TYPE_CONTEXT and TYPE_CANONICAL.
3260 (lto_fixup_tree): Call gimple_register_type when *TP is a
3261 type.
3262 (lto_main): Call bitmap_obstack_initialize.
3263
32642009-04-22 Diego Novillo <dnovillo@google.com>
3265
3266 * lto.c (free_section_data): Tidy.
3267 (lto_1_to_1_map): Tidy.
3268 (lto_add_all_inlinees): Tidy.
3269 (prefix_name_with_star): New.
3270 (get_filename_for_set): New.
3271 (lto_wpa_write_files): Call cgraph_node_set_needs_ltrans_p
3272 to determine what cgraph node sets to write.
3273 Call get_filename_for_set to compute temporary file
3274 names.
3275 (lto_execute_ltrans): Do not execute LTRANS on files with
3276 names that start with '*'.
3277 Move logic to execute LTRANS together so that LTRANS is
3278 invoked only if there are any files to compile.
3279 (do_whole_program_analysis): Only remove output files
3280 that do not start with '*'.
3281
32822009-04-06 Diego Novillo <dnovillo@google.com>
3283
3284 * lto-lang.c (lto_post_options): Set flag_excess_precision_cmdline.
3285 * lto.c (read_cgraph_and_symbols): Set cgraph_function_flags_ready.
3286 (lto_add_all_inlinees): Tidy.
3287
32882009-03-26 Diego Novillo <dnovillo@google.com>
3289
3290 * lto.c: Include gimple.h.
3291 (lto_read_in_decl_state): Call gimple_register_type for
3292 every type in every stream.
3293 (lto_fixup_common): Call gimple_register_type if T has a
3294 type.
3295 (do_whole_program_analysis): Call print_lto_report.
3296 (lto_main): Call print_lto_report after cgraph_optimize.
3297 * Make-lang.in (lto.o): Add dependency on GIMPLE_H.
3298
32992009-03-24 Diego Novillo <dnovillo@google.com>
3300
3301 * Make-lang.in (lto-lang.o): Add dependency on TARGET_H and EXPR_H.
3302 (lto.o): Add dependency on GIMPLE_H.
3303
33042009-03-10 Simon Baldwin <simonb@google.com>
3305
3306 * lto.c (lto_read_all_file_options): Close any open file descriptor
3307 contained in file_data before freeing.
3308
33092009-02-24 Rafael Avila de Espindola <espindola@google.com>
3310
3311 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
3312 for a decl in the original bitmap, not a node.
3313 (lto_add_all_inlinees): Remove original nodes that are not needed.
3314 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
3315
33162009-02-24 Diego Novillo <dnovillo@google.com>
3317
3318 * lto.c (lto_materialize_function): Update
3319 lto_stats.num_function_bodies.
3320 (get_section_data): Initialize *LEN to 0.
3321 (lto_1_to_1_map): Update lto_stats.num_cgraph_partitions.
3322 (lto_wpa_write_files): Update lto_stats.num_cgraph_nodes.
3323 Update lto_stats.num_output_files.
3324 (read_cgraph_and_symbols): Update lto_stats.num_input_files.
3325 (materialize_cgraph): Update lto_stats.num_input_cgraph_nodes.
3326 (lto_main): Initialize lto_stats.
3327 If flag_lto_report is set, call print_lto_report.
3328
33292009-02-19 Diego Novillo <dnovillo@google.com>
3330
3331 Revert
3332
3333 2009-02-19 Rafael Avila de Espindola <espindola@google.com>
3334
3335 * lto.c (lto_add_inline_clones): Don't add the
3336 master clone. Check for a decl in the original
3337 bitmap, not a node.
3338 (lto_add_all_inlinees): Remove original nodes
3339 that are not needed.
3340 (lto_scan_statics_in_cgraph_node): Don't care if
3341 the node is the master.
3342 (lto_promote_cross_file_statics): Use a new
3343 context.seen_node_decls for each set
3344
33452009-02-19 Rafael Avila de Espindola <espindola@google.com>
3346
3347 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
3348 for a decl in the original bitmap, not a node.
3349 (lto_add_all_inlinees): Remove original nodes that are not needed.
3350 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
3351 (lto_promote_cross_file_statics): Use a new context.seen_node_decls
3352 for each set
3353
33542009-02-18 Diego Novillo <dnovillo@google.com>
3355
3356 * lto.c (lto_wpa_write_files): Use timers TV_WHOPR_WPA
3357 and TV_WHOPR_WPA_IO.
3358 (lto_execute_ltrans): Use timer TV_WHOPR_WPA_LTRANS_EXEC.
3359 (read_cgraph_and_symbols): Use timer TV_IPA_LTO_DECL_IO.
3360 (materialize_cgraph): Use timer TV_IPA_LTO_GIMPLE_IO.
3361 Use timer TV_WHOPR_WPA or TV_WHOPR_LTRANS or TV_LTO
3362 depending on command line flags.
3363 (do_whole_program_analysis): Use timer TV_WHOPR_WPA.
3364 (lto_main): Remove timer uses.
3365
33662009-02-18 Rafael Avila de Espindola <espindola@google.com>
3367
3368 * lto.c (lto_materialize_function): Don't set DECL_EXTERN to 0.
3369 (lto_wpa_write_files): Update calls to renamed functions.
3370
33712009-02-17 Diego Novillo <dnovillo@google.com>
3372
3373 PR 39203
3374 * lto-lang.c (lto_post_options): Disable -fwhole-program
3375 when running LTRANS.
3376
33772009-02-10 Diego Novillo <dnovillo@google.com>
3378
3379 * lto.c (read_cgraph_and_symbols): Fix comment.
3380
33812009-02-10 Diego Novillo <dnovillo@google.com>
3382
3383 * lto.c (read_cgraph_and_symbols): Read options from all
3384 IL files.
3385
33862009-02-10 Diego Novillo <dnovillo@google.com>
3387
3388 * lto.c (read_cgraph_and_symbols): Factor out of lto_main.
3389 (materialize_cgraph): Likewise.
3390 (do_whole_program_analysis): Likewise.
3391 (lto_main): Call read_cgraph_and_symbols,
3392 materialize_cgraph and do_whole_program_analysis.
3393
33942009-02-10 Simon Baldwin <simonb@google.com>
3395
3396 * lto.c: Include lto-opts.h.
3397 * (lto_main): Clear file options at loop start, read any saved
3398 options from the first file handled, and re-issue options.
3399 * Makefile.in (lto.o): Add dependency on lto-opts.h.
3400
34012009-02-02 Diego Novillo <dnovillo@google.com>
3402
3403 * lto.c (lto_main): Stop LTO_TIMER and use
3404 TV_WHOPR_WPA_LTRANS_EXEC when launching LTRANS.
3405
34062009-01-30 H.J. Lu <hongjiu.lu@intel.com>
3407
3408 PR lto/38995
3409 * lto-elf.c (init_shdr##BITS): Set the sh_addralign field
3410 to POINTER_SIZE.
3411
34122009-01-29 Ramana Radhakrishnan <ramana.r@gmail.com>
3413
3414 * Make-lang.in (LTO_EXE): Link with all
3415 BACKENDLIBS and not only GMPLIBS
3416
34172009-01-28 H.J. Lu <hongjiu.lu@intel.com>
3418
3419 PR bootstrap/38992
3420 * lto-elf.c: Include gelf.h instead of libelf.h.
3421 (lto_elf_file_close): Replace elfx_update_shstrndx with
3422 gelf_getehdr, elf_getscn, gelf_getshdr, gelf_update_shdr and
3423 gelf_update_ehdr.
3424
34252009-01-28 H.J. Lu <hongjiu.lu@intel.com>
3426
3427 PR middle-end/38996
3428 * lto-elf.c (DEFINE_INIT_EHDR): Initialize e_version.
3429
34302009-01-26 Diego Novillo <dnovillo@google.com>
3431
3432 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Update.
3433
34342009-01-26 Diego Novillo <dnovillo@google.com>
3435
3436 * lto-lang.c (lto_types_compatible_p): Move to gimple.c
3437 and rename into gimple_types_compatible_p.
3438
34392009-01-12 Rafael Avila de Espindola <espindola@google.com>
3440
3441 * lto-lang.c (lang_hooks): Remove the const qualifier.
3442
34432009-01-06 Diego Novillo <dnovillo@google.com>
3444
3445 * ltrans-driver: Mark 'all' target as phony.
3446
34472008-12-31 Diego Novillo <dnovillo@google.com>
3448
3449 * ltrans-driver: Execute a NOP action for target 'all'.
3450
34512008-12-19 Diego Novillo <dnovillo@google.com>
3452
3453 * lto.c (lto_1_to_1_map): Tidy.
3454
34552008-12-19 Diego Novillo <dnovillo@google.com>
3456
3457 * lto-elf.c (lto_elf_file_open): When FILENAME cannot
3458 be opened, show its name.
3459 * ltrans-driver: If $verbose is set, do not use parallelism.
3460
34612008-12-17 Rafael Avila de Espindola <espindola@google.com>
3462
3463 * lto.c (lto_fixup_function): New.
3464 (lto_fixup_tree): Call lto_fixup_function.
3465
34662008-12-14 Doug Kwan <dougkwan@google.com>
3467
3468 * lto.c (lto_1_to_1_map): Create a cgraph node set for any global
3469 variables if there is no function.
3470
34712008-12-10 Simon Baldwin <simonb@google.com>
3472
3473 * ltrans-driver: Always run make in silent mode, to avoid make's
3474 trace on stdout interfering with lto-wrapper output.
3475
34762008-12-10 Doug Kwan <dougkwan@google.com>
3477
3478 * lto.c (lto_add_inline_clones): Do not force master clones of
3479 inlined functions already in SET to be static inline.
3480
34812008-12-04 Doug Kwan <dougkwan@google.com>
3482
3483 * lto.c (globalize_context_t): New type to store states in
3484 globalization of cross-file statics.
3485 (globalize_cross_file_statics): New.
3486 (lto_scan_statics_in_ref_table): Walk tree to look for reachable
3487 static decls that need to be fixed up.
3488 (lto_scan_statics_in_cgraph_node): Change call interface to use
3489 a globalize_context_t CONTEXT for all states used.
3490 (lto_scan_statics_in_remaining_global_vars): New.
3491 (lto_promote_cross_file_statics): Use new call interface of
3492 LTO_SCAN_STATICS_IN_CGRAPH_NODE. Handle remaining externally
3493 visible vars in the last set.
3494
34952008-12-03 Diego Novillo <dnovillo@google.com>
3496
3497 * lto.c (lto_fixup_tree): Do not emit an error when
3498 PREVAILING throw but T doesn't.
3499
35002008-12-02 Doug Kwan <dougkwan@google.com>
3501
3502 * lto.c (lto_scan_statics_in_ref_table): New function factored out
3503 from code in ...
3504 (lto_scan_statics_in_cgraph_node): Handle both file-scope static
3505 variables and functions.
3506 (lto_promote_cross_file_statics): Rename bitmaps to SEEN_DECLS
3507 and GLOBAL_DECLS from SEEN_VARS and GLOBAL_VARS.
3508
35092008-11-29 Diego Novillo <dnovillo@google.com>
3510
3511 * lto.c: Include timevar.h.
3512 (lto_materialize_function): Tidy. Add comments.
3513 (lto_wpa_write_files): Tidy.
3514 (lto_execute_ltrans): Tidy.
3515 (lto_main): Add local variable LTO_TIMER. Initialize it
3516 to one of TV_WHOPR_WPA, TV_WHOPR_LTRANS or TV_LTO.
3517 Start and stop the timer.
3518 Tidy comments.
3519 * Make-lang.in (lto.o): Add dependency on timevar.h.
3520 * ltrans-driver: React to -v and -save-temps.
3521 Use simple heuristic to determine how much parallelism to
3522 use when executing make.
3523
35242008-11-12 Doug Kwan <dougkwan@google.com>
3525
3526 * lto.c (lto_bitmap_obstack): Remove var.
3527 (lto_materialize_function): Do nothing instead of marking function
3528 body in file if flag_wpa is true.
3529 (lto_add_all_inlinees): Use bitmap functions in lto-utils.c.
3530 (lto_scan_statics_in_cgraph_node): New function.
3531 (lto_promote_cross_file_statics): Same.
3532 (lto_wpa_write_files): Call lto_promote_cross_file_statics.
3533 Use bitmap functions in lto-utils.c. Remove unsued label OUT.
3534 * Make-lang.in (lto/lto.o): Add lto-utils.h to dependency list.
3535
35362008-11-09 Diego Novillo <dnovillo@google.com>
3537
3538 * lto/lto.c (lto_fixup_tree): Change error message locus
3539 information to include location of mismatching
3540 declaration.
3541 Use TREE_NO_WARNING to avoid repeated messages.
3542 (lto_main): If lto_fixup_decls emitted any errors, exit.
3543 * lto/lto-lang.c: Don't include libfuncs.h and except.h
3544 (lto_init_options): Don't enable exceptions by default.
3545 (lto_eh_runtime_type): Move to lto-function-in.c
3546 (lto_init_eh): Likewise.
3547 (lto_init): Don't call lto_init_eh.
3548 * lto/Make-lang.in (lto-lang.o): Remove dependency on
3549 libfuncs.h and except.h.
3550
35512008-10-30 Diego Novillo <dnovillo@google.com>
3552
3553 * lto.c (lto_read_decls): Declare debug_main only if
3554 LTO_STREAM_DEBUGGING is enabled.
3555
35562008-10-30 Simon Baldwin <simonb@google.com>
3557
3558 * lto.c (lto_wpa_write_files): Create intermediate files with
3559 make_cwd_temp_file().
3560 (lto_maybe_unlink): New. Delete intermediate WPA files unless
3561 WPA_SAVE_LTRANS is set.
3562 (lto_main): Call lto_maybe_unlink() for intermediate WPA files.
3563 * ltrans-driver: Do not strip directory from output files.
3564
35652008-10-29 Doug Kwan <dougkwan@google.com>
3566
3567 * lto.c (free_decl): Call lto_symtab_clear_resolution when freeing
3568 DECL.
3569 * Make-lang.in (LTO_OBJS): Remove lto/lto-symtab.o
3570 (lto/lto-symtab.o): Remove rule.
3571 * lto-tree.h (struct lang_identifier): Remove LTO specific fields.
3572 (struct lang_decl): Remove RESOLUTION and add DUMMY in struct.
3573 (LANG_IDENTIFIER_CAST, LTO_IDENTIFIER_DECL, LTO_DECL_RESOLUTION):
3574 Remove macros.
3575 lto-symtab.c (File): Move up one level.
3576 lto-lang.c (cgraph.h): Remove include.
3577 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
3578 input_cgraph): Move to lto-cgraph.c in gcc directory above.
3579 (LANG_HOOKS_INPUT_CGRAPH): Remove use of macro.
3580
35812008-10-24 Rafael Espindola <espindola@google.com>
3582
3583 * lto-function-in.c (get_resolution): Return LDPR_PREEMPTED_IR for
3584 non prevailing weak symbols.
3585
35862008-10-24 Rafael Espindola <espindola@google.com>
3587
3588 * lto-lang.c (input_cgraph_1): Iterate over nodes, not cgraph_nodes.
3589
35902008-10-24 Rafael Espindola <espindola@google.com>
3591
3592 * lto-lang.c (input_node): Avoid casts from pointers to ints of
3593 different types.
3594
35952008-10-23 Simon Baldwin <simonb@google.com>
3596
3597 * lto-lang.c (input_node): Save the node reference, rather than the
3598 node pointer, in node->inlined_to.
3599 (input_cgraph_1): Convert node references into node pointers.
3600
36012008-10-22 Diego Novillo <dnovillo@google.com>
3602 Rafael Espindola <espindola@google.com>
3603
3604 * lto.c (lto_resolution_read): Tidy.
3605 * lto-symtab.c (lto_symtab_prevailing_decl): Do not
3606 abort if RET is NULL.
3607
36082008-10-22 Doug Kwan <dougkwan@google.com>
3609
3610 * lto.c (lto_fixup_tree): Check for NOTHROW conflict only if
3611 exceptions flag is given.
3612 * lto-lang.c: (lto_init_options) Set default exceptions flag.
3613 (lto_init_eh): Remove exceptions flag initialization.
3614 (lto_init): Only call lto_init_eh if exceptions flag is set.
3615
36162008-10-21 Diego Novillo <dnovillo@google.com>
3617
3618 * lto.c: Tidy some formatting.
3619 * lto.h: Likewise.
3620
36212008-10-21 Simon Baldwin <simonb@google.com>
3622
3623 * lto-symtab.c: (lto_same_type_p): Types cannot be equal if one of
3624 them is NULL (but not the other).
3625
36262008-10-17 Diego Novillo <dnovillo@google.com>
3627
3628 * ltrans-driver: Divert output from make to a temporary file.
3629 Show it if the call to make failed.
3630
36312008-10-15 Diego Novillo <dnovillo@google.com>
3632
3633 * lto.c (lto_wpa_write_files): Reformat do-while loop.
3634 Do not print TEMP_FILENAME
3635 * ltrans-driver: Call make with -s.
3636
36372008-10-15 Diego Novillo <dnovillo@google.com>
3638
3639 * lto-symtab.c (lto_symtab_merge_decl): Do not force
3640 TREE_STATIC on global symbols.
3641
36422008-10-14 Ollie Wild <aaw@google.com>
3643
3644 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Remove.
3645 (LTRANS_DRIVER_EXE): Add.
3646 (lto.all.cross): Add LTRANS_DRIVER_EXE.
3647 (lto.all.encap): Add LTRANS_DRIVER_EXE.
3648 (lto.install.common): Remove ltrans-driver.
3649 (lto.mostlyclean): Add LTRANS_DRIVER_EXE.
3650 (LTRANS_DRIVER_EXE): New build rule.
3651 * config-lang.in (compilers): Add ltrans-driver.
3652
36532008-10-14 Diego Novillo <dnovillo@google.com>
3654
3655 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Disable transformation
3656 of program name.
3657
36582008-10-13 Ollie Wild <aaw@google.com>
3659
3660 * lang-spec.h (@lto): Replace lto1_options with cc1_options.
3661 * lto.c (lto_execute_ltrans): Add "-fno-wpa -fltrans -xlto" to CFLAGS.
3662 * ltrans-driver (LTRANS_FLAGS): Remove.
3663
36642008-10-08 Doug Kwan <dougkwan@google.com>
3665
3666 * lto.c (lto_fixup_tree): Remove ATTRIBUTE_UNUSED from DATA.
3667 Handle new tree codes RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
3668 and TREE_BINFO. Also move code handling FUNCTION_DECL and VAR_DECL
3669 from lto_fixup_state to here.
3670 (lto_fixup_state): Take an lto_fixup_data_t object DATA instead of
3671 just a free-list. Fix up types also. Move decl merging code to
3672 lto_fixup_tree.
3673 (lto_fixup_state_aux): Change AUX to point to an lto_fixup_data_t
3674 object.
3675 (lto_fixup_decls): Use another pointer set to avoid multiple
3676 walking of nodes except for DECLs to be replaced. Pass an
3677 lto_fixup_data_t object to tree-walker.
3678
36792008-10-08 Rafael Espindola <espindola@google.com>
3680
3681 * lto-symtab.c (lto_symtab_set_resolution): New.
3682 (lto_symtab_merge_decl): Use lto_symtab_set_resolution and
3683 lto_symtab_get_resolution.
3684 (lto_symtab_prevailing_decl): Return decl for non public decls.
3685 (lto_symtab_get_resolution): New.
3686 * lto.c (lto_fixup_tree, lto_fixup_state): Remove unecessary checks.
3687
36882008-10-06 Rafael Espindola <espindola@google.com>
3689
3690 * lto-lang.c: Include cgraph.h.
3691 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
3692 input_cgraph): Moved from lto-cgraph.c.
3693 (LANG_HOOKS_INPUT_CGRAPH): New.
3694
36952008-10-03 Rafael Espindola <espindola@google.com>
3696
3697 * lto.c (lto_fixup_tree, lto_fixup_state): Fix the FIXME.
3698
36992008-10-03 Rafael Espindola <espindola@google.com>
3700
3701 * lto-symtab.c (lto_symtab_overwrite_decl): Remove. Remove all calls.
3702 (lto_symtab_merge_decl): Update LTO_IDENTIFIER_DECL the reflect the
3703 prevailing definition. Don't mark TREE_NOTHROW differences.
3704 * lto.c (lto_fixup_tree): New.
3705 (lto_fixup_state): New.
3706 (lto_fixup_state_aux): New.
3707 (free_decl): New.
3708 (lto_fixup_decls): New.
3709 (lto_main): Call lto_fixup_decls.
3710
37112008-10-02 Ollie Wild <aaw@google.com>
3712
3713 * lang.opt (fltrans): Moved from common.opt. Remove RejectNegative
3714 and Init.
3715 (fwpa): Moved from common.opt. Remove RejectNegative and Init.
3716 * lto-lang.c (lto_post_options): Add validation and fixups for
3717 -fltrans and -fwpa.
3718
37192008-10-02 Rafael Espindola <espindola@google.com>
3720
3721 * lto-symtab.c (lto_symtab_merge_var, lto_symtab_merge_fn,
3722 lto_symtab_merge_decl): Return void.
3723 (lto_symtab_prevailing_decl): New.
3724
37252008-09-30 Rafael Espindola <espindola@google.com>
3726
3727 * lto-symtab.c (lto_symtab_compatible): Remove the check for already
3728 defined symbols.
3729 (lto_symtab_overwrite_decl): Copy LTO_DECL_RESOLUTION.
3730 (lto_symtab_merge_decl): Store symbol resolution in LTO_DECL_RESOLUTION.
3731 Check for already defined symbols.
3732 * lto-tree.h (lang_decl): Remove dummy and add resolution fields.
3733 (LTO_IDENTIFIER_RESOLUTION): Remove.
3734 (LTO_DECL_RESOLUTION): New.
3735
37362008-09-30 Rafael Espindola <espindola@google.com>
3737
3738 * lto.c (lto_read_decls): Use new input_tree signature.
3739
37402008-09-26 Doug Kwan <dougkwan@google.com>
3741
3742 * lto.c (lto_main): Call lto_fixup_nothrow_decls to fix up function
3743 bodies affected by exception attribute merging of DECLs.
3744 * lto-symtab.c (lto_symtab_merge_decl): Handle exception attribute
3745 merging.
3746
37472008-09-25 Rafael Espindola <espindola@google.com>
3748
3749 * Make-lang.in (PLUGIN_API_H, LTO_TREE_H): New.
3750 (lto/lto-lang.o, lto/lto.o, lto/lto-symtab.o) Use LTO_TREE_H.
3751 * lto-symtab.c (lto_symtab_compatible): New.
3752 (lto_symtab_overwrite_decl): New.
3753 (lto_symtab_merge_decl): Refactor to use the above functions
3754 and the resolution from lang_identifier.
3755 * lto-tree.h: Include plugin-api.h.
3756 (lang_identifier): Add resolution.
3757 (LTO_IDENTIFIER_RESOLUTION): New.
3758
37592008-09-25 Ollie Wild <aaw@google.com>
3760
3761 * lang.opt (fltrans-output-list=): New option.
3762 * lto.c (lto_execute_ltrans): Output file names to ltrans_output_list.
3763
37642008-09-25 Rafael Espindola <espindola@google.com>
3765
3766 * lto.c (lto_resolution_read): Initialize ret;
3767
37682008-09-24 Ollie Wild <aaw@google.com>
3769
3770 * lto.c (sys/mman.h): Move include.
3771 (lto_wpa_write_files): Return a list of written files.
3772 (lto_execute_ltrans): New function.
3773 (lto_main): Call lto_execute_ltrans.
3774 (ltrans-driver): New file.
3775 * lto-lang.c (DEFAULT_LTRANS_DRIVER): New macro.
3776 (DEAULT_LTRANS_DRIVER_LEN): New macro.
3777 (lto_init_options): Initialize ltrans_driver.
3778 (lto_handle_option): Fix incorrect default output value.
3779 * lang.opt (fltrans-driver=): New option.
3780 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): New variable.
3781 (lto.install-common): Add lto/ltrans-driver.
3782
37832008-09-24 Rafael Espindola <espindola@google.com>
3784
3785 * Make-lang.in (LTO_OBJS): Add lto/common.o.
3786 (lto/lto.o): Depend on lto/common.h.
3787 (lto/common.o): New.
3788 * lang.opt (resolution): New.
3789 * lto-lang.c (resolution_file_name): New.
3790 (lto_handle_option): Handle OPT_resolution.
3791 * lto-symtab.c (lto_symtab_merge_decl): Add a resolution argument.
3792 (lto_symtab_merge_var,lto_symtab_merge_fn): Add a resolution argument.
3793 pass it to lto_symtab_merge_decl.
3794 * lto.c: Include common.h.
3795 (lto_read_decls): Add resolutions and resolutions_size arguments.
3796 Initialize data_in.globals_resolution and
3797 data_in.globals_resolution_size.
3798 (index_and_symbol_resolution): New.
3799 (lto_resolution_read): New.
3800 (lto_file_read): Add argument resolution_file.
3801 Read resolution.
3802 * lto.h (resolution_file_name): New.
3803
38042008-09-23 Rafael Espindola <espindola@google.com>
3805
3806 * common.c: Update description.
3807 * common.h: Update description.
3808
38092008-09-23 Rafael Espindola <espindola@google.com>
3810
3811 * common.c: Moved from lto-plugin.
3812 * common.h: Moved from lto-plugin.
3813
38142008-09-22 Doug Kwan <dougkwan@google.com>
3815
3816 * lto.c (VEC(bitmap,heap)): Declare.
3817 (lto_materialize_function): Handle WAP mode specially.
3818 (lto_add_inline_clones): New.
3819 (lto_add_all_inlinees): Changle algorithm and to use bitmaps. Also
3820 return a bitmap of inlined decls.
3821 (lto_wpa_write_files): Handle all DECLs brought in by inlining.
3822 (lto_main): Call reset_inline_failed to reset inlining states.
3823 Check call-graph after WPA inlining.
3824 * lto-lang.c (lto_init): Do not clear flag_generate_lto
3825 unconditionally.
3826
38272008-09-19 Doug Kwan <dougkwan@google.com>
3828
3829 lto.c (lto_main): Remove unsued wrapper code.
3830 lang-specs.h (@lto): Use lto1_options instead of cc1_options.
3831
38322008-09-19 Rafael Espindola <espindola@google.com>
3833
3834 * lto-symtab.c: Include lto-tree-in.h.
3835 * lto-tree.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove.
3836 * lto.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove
3837 * Make-lang.in (lto/lto-symtab.o): Add lto-tree-in.h.
3838
38392008-09-17 Paolo Bonzini <bonzini@gnu.org>
3840 Rafael Avila de Espindola <espindola@google.com>
3841
3842 * lto-lang.c (COMPOUND_LITERAL_EXPR_DECL_STMT,
3843 COMPOUND_LITERAL_EXPR_DECL): Remove.
3844 (emit_local_var): Remove.
3845 (lto_expand_expr): Remove.
3846 (lto_staticp): Remove.
3847 (LANG_HOOKS_EXPAND_EXPR): Remove.
3848 (LANG_HOOKS_STATICP): Remove.
3849
38502008-09-11 Diego Novillo <dnovillo@google.com>
3851
3852 * lto-lang.c: Include except.h and libfuncs.h.
3853 (lto_init_eh): New.
3854 (lto_init): Call it.
3855 Set flag_generate_lto to 0.
3856 * Make-lang.in (lto-lang.o): Add dependency on except.h
3857 and libfuncs.h.
3858
38592008-09-09 Bill Maddox <maddox@google.com>
3860
3861 * lto-lang.c: Include header file expr.h.
3862 (COMPOUND_LITERAL_EXPR_DECL_STMT,
3863 COMPOUND_LITERAL_EXPR_DECL): Copied from c-common.h.
3864 (emit_local_var): Copied from c-semantics.c.
3865 (lto_expand_expr, lto_staticp): Copied from c_expand_expr
3866 and c_staticp in c-common.c.
3867 (LANG_HOOKS_EXPAND_EXPR,LANG_HOOKS_STATICP): Redefined.
3868
38692008-09-08 Diego Novillo <dnovillo@google.com>
3870
3871 * lto-lang.c (lto_global_bindings_p): Return 1 during
3872 IPA passes.
3873
38742008-09-07 Diego Novillo <dnovillo@google.com>
3875
3876 * lto.c: Tidy formatting.
3877
38782008-08-04 Bill Maddox <maddox@google.com>
3879
3880 * lto-symtab.c (lto_symtab_merge_decl): Add comment.
3881
38822008-09-03 Doug Kwan <dougkwan@google.com>
3883
3884 lto.c (lto_add_all_inlinees): Reset FAILED_REASON of edges to
3885 CIF_OK instead of NULL.
3886
38872008-09-02 Diego Novillo <dnovillo@google.com>
3888 Simon Baldwin <simonb@google.com>
3889
3890 * lto-lang.c (lto_type_for_size): Rewrite. Adapt from
3891 c_common_type_for_size.
3892 (lto_type_for_mode): Remove ATTRIBUTE_UNUSED markers.
3893 (lto_init): Call linemap_add.
3894 (signed_and_unsigned_types): Remove.
3895
38962008-08-29 Diego Novillo <dnovillo@google.com>
3897
3898 * lto-lang.c (handle_noreturn_attribute): New local function.
3899 (handle_const_attribute): New local function.
3900 (handle_malloc_attribute): New local function.
3901 (handle_pure_attribute): New local function.
3902 (handle_novops_attribute): New local function.
3903 (handle_nonnull_attribute): New local function.
3904 (handle_nothrow_attribute): New local function.
3905 (handle_sentinel_attribute): New local function.
3906 (handle_type_generic_attribute): New local function.
3907 (handle_format_attribute): New local function.
3908 (handle_format_arg_attribute): New local function.
3909 (lto_attribute_table): Declare.
3910 (lto_format_attribute_table): Declare.
3911 (lto_init_attributes): New local function.
3912 (lto_define_builtins): Call it.
3913 Call targetm.init_builtins and build_common_builtin_nodes.
3914 (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Define.
3915 (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Define.
3916
39172008-08-28 Diego Novillo <dnovillo@google.com>
3918
3919 * Make-lang.in (lto-lang.o): Replace tree-gimple.h with
3920 $(GIMPLE_H).
3921 (lto-symtab.o): Add dependency on $(GIMPLE_H).
3922 * lto-lang.c: Include gimple.h instead of tree-gimple.h.
3923 * lto-symtab.c: Include gimple.h.
3924 * lto-tree.h (chain_next): Replace GENERIC_NEXT with
3925 TREE_CHAIN.
3926
39272008-08-27 Doug Kwan <dougkwan@google.com>
3928
3929 * lto.c (vec.h, bitmap.h, pointer-set.h, ipa-prop.h, ggc.h,
3930 gt-lto-lto.h): New includes.
3931 (lto_materialize_function): Do not read in function body in WPA mode.
3932 Format a line to fit in 80 columns.
3933 (lto_cgraph_node_sets): New garbage collected variable.
3934 (lto_1_to_1_map, lto_add_all_inlinees, lto_wpa_write_files):
3935 New functions.
3936 (lto_main): Initialize bitmap obstack. Add code to handle WPA mode.
3937 * Make-lang.in (LTO_H): Replace filename lto-section-in.h with
3938 variable LTO_SECTION_IN_H.
3939 (lto/lto.o): Include gt-lto-lto-c.h ggc.h ,VEC_H, BITMAP_H,
3940 pointer-set.h and IPA_PROP_H. Also replace filename lto-section-in.h
3941 with variable LTO_SECTION_IN_H.
3942 * config-lang.in (gtfiles): Add lto/lto.c.
3943 * lto-symtab.c (lto_symtab_merge_decl): Set DECL_CONTEXT of
3944 merged DECL_RESULT correctly.
3945
39462008-08-26 Bill Maddox <maddox@google.com>
3947
3948 * lto-lang.c Include tree-gimple.h.
3949 (lto_mark_addressable): Call mark_addressable rather than
3950 asserting.
3951 (lto_post_options): Suppress debug info generation.
3952 * Make-lang.in: Add dependency of lto-lang.o on tree-gimple.h.
3953
3f8257db 39542008-08-25 Bill Maddox <maddox@google.com>
d7f09764
DN
3955
3956 * lto-symtab.c (lto_symtab_merge_decl): Remove a suspect
3957 assertion and leave an explanatory comment in its place.
3958
39592008-08-21 Doug Kwan <dougkwan@google.com>
3960
3961 * lto.c (preload_common_nodes): Call lto_get_common_nodes to get a list
3962 of common nodes instead of computing locallly.
3963 (lto_read_in_decl_state): New.
3964 (lto_read_decls): Change code for udpate in struct lto_decl_header.
3965 Read global and per-function in-decl states.
3966 * Make-lang.in (LTO_H): Update dependency.
3967 (lto/lto.o): Same.
3968 (lto-symtab.c): Merge (revision 139039)
3969 * lto-symtab.c (lto_symtab_merge_decl): Merge DECL_RESULT.
3970
39712008-08-21 Rafael Espindola <espindola@google.com>
3972
3973 * config-lang.in (target_libs): New.
3974
39752008-08-20 Bill Maddox <maddox@google.com>
3976
3977 * lto.c (current_lto_file): Remove GTY marker from static
3978 variable. Remove include of file gt-lto-lto.h.
3979 * Make-lang.in: Remove dependency of lto/lto.o on
3980 gt-lto-lto.h.
3981 * lto-elf.c (lto_file_close): Removed.
3982 (lto_elf_file_open): Use XCNEW instead of GGC_CNEW to
3983 allocate lto_elf_file object.
3984 (lto_elf_file_close): Free lto_elf_file object after close.
3985 * lto.h (struct lto_file_struct): Remove GTY marker.
3986 * config-lang.in: Remove lto/lto.h and lto/lto.c from
3987 gtfiles.
3988
39892008-08-20 Bill Maddox <maddox@google.com>
3990
3991 * lto.c (lto_read_decls): Provide dummy argument to input_tree
3992 to conform to its new signature.
3993 * lto-symtab.c (lto_symtab_merge_decl): Do not invoke ggc_free
3994 on discarded node here, now called in global_vector_fixup.
3995
39962008-08-09 Bill Maddox <maddox@google.com>
3997
3998 * lto.c (preload_common_nodes): Verify that fileptr_type_node
3999 has not been set to a front-end-specific value.
4000
40012008-08-05 Doug Kwan <dougkwan@google.com>
4002
4003 * Make-lang.in (lto-symtab.o): Add missing dependencies to fix
4004 build breakage.
4005
40062008-07-30 Bill Maddox <maddox@google.com>
4007
4008 * lto.c (lto_materialize_function): Call lto_original_decl_name.
4009 Remove obsolete comments.
4010 (lto_read_decls): Remove initialization of deleted field data_in.global.
4011 Tidy up comments.
4012 (lto_main): Remove redundant initialization of section_hash_table.
4013 * lto-elf.c: Removed obsolete comments.
4014 * lto.h: Tidy up comments.
4015 * lto-symtab.c (lto_least_common_multiple): New function.
4016 (lto_symtab_merge_decl): Merge variable alignments in some cases.
4017 Tidy up comments.
4018
40192008-07-25 Diego Novillo <dnovillo@google.com>
4020 Bill Maddox <maddox@google.com>
4021
4022 * lto.c: Re-order include files.
4023 Include lto-section-out.h.
4024 (preload_common_nodes): Add debugging output.
4025 Add new local INDEX_TABLE.
4026 Call preload_common_node.
4027 * Make-lang.in (lto.o): Add dependency on lto-section-out.h
4028
40292008-07-13 Bill Maddox <maddox@google.com>
4030
4031 * lto.c (lto_read_decls): Cast pointer to const char * to avoid
4032 unwanted scaling during pointer addition.
4033
40342008-07-11 Bill Maddox <maddox@google.com>
4035 Diego Novillo <dnovillo@google.com>
4036
4037 * lto.c (lto_read_decls): Fix C++ compatibility warnings.
4038 Make code const-correct.
4039 (lto_file_read): Fix C++ compatibility warnings.
4040 (lto_read_section_data): Fix C++ compatibility warnings.
4041 (lto_get_section_data): Use CONST_CAST to avoid warning when
4042 const pointer passed to free.
4043 * lto-elf.c (lto_elf_build_section_table): Fix C++
4044 compatibility warnings.
4045 (lto_elf_append_data): Fix C++ compatibility warnings. Use CONST_CAST
4046 to avoid warning assigning const pointer to d_buf field of Elf_Data.
4047 (lto_get_current_out_file): Fix C++ compatibility warnings.
4048
40492008-07-11 Diego Novillo <dnovillo@google.com>
4050
4051 * Make-lang.in (lto-warn): Define.
4052
40532008-07-03 Simon Baldwin <simonb@google.com>
4054
4055 * lto.c (lto_read_decls): Wrapped debug-only data items within #ifdef
4056 LTO_STREAM_DEBUGGING.
4057
40582008-06-27 Ollie Wild <aaw@google.com>
4059
4060 * lto-elf.c (lto-section-out.h): New include.
4061 (struct lto_elf_file): Remove bits member. Add scn, shstrtab_stream,
4062 and data members.
4063 (cached_file_attrs): New static variable.
4064 (lto_elf_get_shdr, lto_elf_free_shdr): Remove elf_file parameter.
4065 Use cached_file_attrs for checking bits.
4066 (lto_elf_build_section_table): Remove elf_file argument from
4067 lto_elf_get_shdr and lto_elf_free_shdr calls.
4068 (DEFINE_INIT_SHDR): New macro.
4069 (init_shdr32, init_shdr64): New functions defined via the
4070 DEFINE_INIT_SHDR macro.
4071 (lto_elf_begin_section_with_type): New function.
4072 (lto_elf_begin_section): New function.
4073 (lto_elf_append_data): New function.
4074 (lto_elf_end_section): New function.
4075 (DEFINE_VALIDATE_EHDR): New macro.
4076 (validate_ehdr32, validate_ehdr64): New functions defined via the
4077 DEFINE_VALIDATE_EHDR macro.
4078 (validate_file): New function.
4079 (DEFINE_INIT_EHDR): New macro.
4080 (init_ehdr32, init_ehdr64): New functions defined via the
4081 DEFINE_INIT_EHDR macro.
4082 (init_ehdr): New function.
4083 (lto_elf_file_open): Add support for writable files. Move some
4084 validation logic to validate_file.
4085 (lto_elf_file_close): Add support for writable files. Write file data
4086 and free data blocks.
4087 (current_out_file): New static variable.
4088 (lto_set_current_out_file): New function.
4089 (lto_get_current_out_file): New function.
4090 * lto.c (lto_main): Add writable argument to lto_elf_file_open calls.
4091 Add temporary initialization for testing ELF serialization.
4092 * lto.h (lto-section-out.h): New include.
4093 (struct lto_file_struct): Slight modification to comment.
4094 (lto_elf_file_open): Add writable parameter.
4095 (lto_elf_begin_section): New function declaration.
4096 (lto_elf_append_data): New function declaration.
4097 (lto_elf_end_section): New function declaration.
4098 (lto_set_current_out_file, lto_get_current_out_file): New function
4099 declarations.
4100 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Set as lto_elf_begin_section.
4101 (LANG_HOOKS_APPEND_DATA): Set as lto_elf_append_data.
4102 (LANG_HOOKS_END_SECTION): Set as lto_elf_end_section.
4103 * Make-lang.in (LTO_H): Add lto-section-out.h.
4104
41052008-06-12 Ollie Wild <aaw@google.com>
4106
4107 * lto.h (struct lto_file_vtable_struct): Remove.
4108 (struct lto_file_struct): Remove vtable member.
4109 * lto-elf.c (lto_file_init): Remove vtable argument.
4110 (lto_elf_map_optional_lto_section): Remove.
4111 (lto_elf_unmap_section): Remove.
4112 (lto_elf_file_vtable): Remove.
4113 (lto_elf_file_open): Remove lto_elf_file_vtable argument from
4114 lto_file_init call.
4115 (lto_elf_find_section_data): Remove.
4116
41172008-06-11 Ollie Wild <aaw@google.com>
4118
4119 * lto.c (lto_file_read): Add const qualifier to data variable.
4120
41212008-06-11 Diego Novillo <dnovillo@google.com>
4122
4123 Merge from lto-streamber sub-branch.
4124
4125 2008-06-04 Ollie Wild <aaw@google.com>
4126
4127 * lto.c: Remove inclusion of dwarf2.h and dwarf2out.h.
4128 * Make-lang.in (lto.o): Remove dependency on dwarf2.h.
4129
4130 2008-05-28 Bill Maddox <maddox@google.com>
4131
4132 Replace the DWARF reader in the LTO front-end.
4133
4134 * lto.c: Include lto-tree-in.h, lto-tags.h.
4135 (enum DWARF2_class, DW_cl_constant, struct
4136 DWARF2_form_data, struct lto_context,
4137 lto_fd_init, lto_info_fd_init,
4138 lto_abbrev_fd_init, lto_info_fd_close,
4139 lto_file_init, lto_file_close,
4140 lto_file_corrupt_error, lto_abi_mismatch_error,
4141 LTO_CHECK_INT_VAL, LTO_READ_TYPE,
4142 lto_read_uleb128, lto_read_sleb128,
4143 lto_read_initial_length, lto_abbrev_read_attrs,
4144 lto_abbrev_read, lto_abbrev_read_lookup,
4145 lto_read_section_offset,
4146 lto_read_comp_unit_header, find_cu_for_offset,
4147 lto_get_file_name,
4148 lto_resolve_reference,lto_read_form,
4149 attribute_value_as_int,
4150 make_signed_host_wide_int,
4151 attribute_value_as_constant, lto_cache_hash,
4152 lto_cache_eq, lto_cache_store_DIE,
4153 lto_cache_lookup_DIE, lto_find_integral_type,
4154 lto_find_integral_type_1,
4155 LTO_BEGIN_READ_ATTRS_UNCHECKED,
4156 LTO_BEGIN_READ_ATTRS, LTO_END_READ_ATTRS,
4157 lto_unsupported_attr_error, lto_get_identifier,
4158 lto_read_referenced_type_DIE,
4159 lto_read_compile_unit_DIE,
4160 lto_read_array_type_DIE,
4161 lto_read_structure_union_class_type_DIE,
4162 lto_read_enumerator_DIE,
4163 lto_read_enumeration_type_DIE,
4164 lto_read_only_for_child_DIEs,
4165 lto_read_only_for_child_DIEs,
4166 lto_read_member_DIE, lto_read_abbrev,
4167 lto_read_variable_formal_parameter_constant_DIE,
4168 lto_get_body): Removed.
4169 (preload_common_nodes): New function.
4170 (lto_read_decls): Convert for new global streamer.
4171 (lto_materialze_file_data,
4172 lto_read_subroutine_type_subprogram_die,
4173 lto_read_unspecified_parameters_DIE,
4174 lto_read_typedef_DIE,
4175 lto_read_pointer_reference_type_DIE,
4176 lto_read_subrange_type_DIE,
4177 lto_read_base_type_DIE,
4178 lto_read_const_volatile_restrict_type_DIE,
4179 lto_read_namespace_DIE,
4180 lto_read_unspecified_type_DIE, lto_read_DIE,
4181 lto_read_child_DIEs, lto_collect_child_DIEs):
4182 Removed.
4183 (lto_info_read, lto_set_cu_context): Removed.
4184 (lto_file_read): Convert for new global streamer.
4185 (lto_resolve_type_ref, lto_read_DIE_at_ptr,
4186 lto_resolve_var_ref, lto_resolve_fn_ref,
4187 lto_resolve_field_ref, lto_resolve_typedecl_ref,
4188 lto_resolve_namespacedecl_ref): Removed.
4189 (lto_file_init, lto_file_close): Moved to lto-elf.c.
4190 * lto-tree.h (lto_symtab_merge_var,
4191 lto_symtab_mergee_fun): Declare here.
4192 * lto-elf.c (lto_file_init, lto_file_close): Moved from lto.c.
4193 (lto_elf_file_open): Removed code to read DWARF debug sections.
4194 * lto.h (lto_context, DWARF2_attr, DWARF2_abbrev,
4195 DWARF2_CompUnit, lto_die_ptr,
4196 lto_die_cache_entry, lto_fd, lto_info_fd,
4197 lto_abbrev_fd): Removed.
4198 (lto_file): Removed debug_info and debug_abbrev fields.
4199 (lto_ref): Removed.
4200 (lto_file_init, lto_file_close,
4201 lto_resolve_type_ref, lto_resolve_var_ref,
4202 lto_resolve_fn_ref, lto_resolve_field_ref,
4203 lto_resolve_typedecl_ref,
4204 lto_resolve_namespacedecl_ref,
4205 lto_get_file_name): Removed declarations.
4206 (lto_symtab_merge_var, lto_symtab_merge_fn):
4207 Declarations moved to lto-tree.h.
4208 * lto-symtab.c (lto_compatible_attributes_p):
4209 Lobotomize this, as it barfs on "Hello, world!".
4210 * lto-section-out.c: Include lto-tree-out.h.
4211 (lto_hash_global_slot_node,
4212 lto_eq_global_slot_node, preload_common_nodes,
4213 write_global_stream, write_global_references):
4214 New functions.
4215 (produce_asm_for_decls): Convert for new global streamer.
4216 * lto-section-out.h (lto_hash_global_slot_node,
4217 lto_eq_global_slot_node): Declare.
4218
3f8257db 42192008-06-07 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4220 Jan Hubicka <jh@suse.cz>
4221
4222 * lto.c (sys/mman.h, tree-pass.h): New includes.
4223 (lto_materialize_constructors_and_inits,
4224 lto_materialize_function): Keeps length of section.
4225 (lto_materialize_cgraph): Removed.
4226 (lto_read_decls): Initialize fd field.
4227 (lto_file_read): Different return type and removed much code to
4228 lto_main.
4229 (page_mask): New variable.
4230 (lto_read_section_data, get_section_data, free_section_data): New
4231 functions.
4232 (lto_main): Now calls pass manager, sets the hooks so that the ipa
4233 passes can get the section data.
4234
3f8257db 42352008-05-27 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4236
4237 * lto.h (lto_read_decls): Made local.
4238 (lto_input_function_body, lto_input_constructors_and_inits,
4239 lto_input_cgraph): Declarations moved to lto-section-in.h.
4240 * lto-section-in.c: Moved to .. .
4241 * lto-cgraph-in.c: Ditto.
4242 * lto-section-in.h: Ditto.
4243 * lto-function-in.c: Ditto.
4244 * lto-lang.c (lto_handle_option): Added ATTRIBUTE_UNUSED to parms.
4245 (lto_insert_block): Removed.
4246 (LANG_HOOKS_INSERT_BLOCK): Removed.
4247 * Make-lang.in (lto-cgraph-in.o, lto-function-in.o,
4248 lto-section-in.o): Rules moved to lto/Makefile.in.
4249
4250
42512008-05-16 Ollie Wild <aaw@google.com>
4252
4253 * lto-lang.c (tree-inline.h): Include.
4254 (lto_post_options): New function.
4255 (LANG_HOOKS_POST_OPTIONS): Define.
4256 * lto-cgraph-in.c (overwrite_node): Set node->global.insns.
4257 * lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
4258
42592008-05-13 Diego Novillo <dnovillo@google.com>
4260
4261 * lto-function-in.c (input_ssa_names): Call
4262 make_ssa_name_fn instead of make_ssa_name.
4263
42642008-05-12 Diego Novillo <dnovillo@google.com>
4265
4266 * lto-cgraph-in.c (overwrite_node): Update references to
4267 inline summary fields.
4268 * lto-function-in.c (input_expr_operand): Do not handle
4269 STRUCT_FIELD_TAG.
4270
42712008-05-09 Ollie Wild <aaw@google.com>
4272
4273 * lang.opt: New file.
4274 * lto-lang.c (lto_init_options): New function.
4275 (lto_handle_option): New function.
4276 (lto_init): Move initialization of flag_unit_at_a_time to
4277 lto_init_options.
4278 (LANG_HOOKS_INIT_OPTIONS): Define.
4279 (LANG_HOOKS_HANDLE_OPTION): Define.
4280
42812008-04-29 Ollie Wild <aaw@google.com>
4282
4283 * lto.c (lto_read_namespace_DIE): New function.
4284 (lto_read_DIE): Add lto_read_namespace_DIE callback. Cache
4285 NAMESPACE_DECL DIE's.
4286 (lto_resolve_namespacedecl_ref): New function.
4287 * lto.h (lto_resolve_namespacedecl_ref): New function.
4288 * lto-section-in.c (lto_read_decls): Read namespace declarations.
4289 * lto-section-in.h (struct lto_file_decl_data): Add namespace_decls
4290 and num_namespace_decls.
4291 * lto-function-in.c (input_expr_operand): Add NAMESPACE_DECL case.
4292 * lto-lang.c (lto_init_ts): New function.
4293 (LANG_HOOKS_INIT_TS): Set as lto_init_ts.
4294
42952008-04-16 Ollie Wild <aaw@google.com>
4296
4297 * lto-function-in.c (input_type_ref): Updated function description.
4298
42992008-04-16 Ollie Wild <aaw@google.com>
4300
4301 * lto-function-in.c (input_type_ref_1): New function.
4302 (input_type_ref): Split into two functions.
4303 (input_function): Add support for type contexts.
4304
43052008-04-16 Ollie Wild <aaw@google.com>
4306
4307 * lto.c (lto_materialize_function): Use DECL_ASSEMBLER_NAME to compute
4308 section name
4309
43102008-04-16 Ollie Wild <aaw@google.com>
4311
4312 * lto.c (lto_read_compile_unit_DIE): Add DW_LANG_C_plus_plus to the
4313 list of supported languages.
4314
3f8257db 43152008-03-25 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4316
4317 Merge with mainline @133491.
4318
3f8257db 43192008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4320 Jan Hubicka <jh@suse.cz>
4321
4322 * lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
4323 fd->unmaterialized_fndecls.
4324 (lto_get_file_name, lto_materialize_cgraph): New function.
4325 (lto_materialize_constructors_and_inits,
4326 lto_materialize_function): Read info directly from elf file.
4327 (lto_file_read): Made local and initialize dictionary so that
4328 other lto sections can be read without reprocessing the elf file.
4329 (lto_main): Read all functions after all files have been processed
4330 for their types, globals and cgraph.
4331 * Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
4332 dependencies.
4333 * lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
4334 (hash_name, eq_name, lto_elf_build_section_table): New functions.
4335 (lto_elf_read_symtab): Removed function.
4336 (lto_elf_file_open): Removed call to lto_elf_read_symtab.
4337 * lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
4338 (lto_file_read): Made local.
4339 (lto_get_file_name, lto_elf_build_section_table,
4340 lto_input_cgraph):
4341 New function.
4342 * lto-section-in.c (lto_read_section_data, lto_get_section_data):
4343 New functions.
4344 (lto_read_decls): Get the file name.
4345 * lto-cgraph-in.c: New file.
4346 * lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
4347 (input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
4348 (input_labels): Fixed latent sizeof issue.
4349 (input_function): Build stmt array to set call sites into cgraph
4350 edges.
4351 (lto_read_body): Reset cfun->curr_properties.
4352 * lto_section_in.h (lto_section_slot): New structure.
4353 (section_hash_table.lto_file_decl_data): New field.
4354
4355
3f8257db 43562008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4357
4358 * lto.c (lto_read_variable_formal_parameter_const): Remove code to
4359 reconstruct static initializers.
4360 (lto_get_body, lto_materialize_function): Add lto_section_type as
4361 a parameter.
4362 (lto_materialize_constructors_and_inits,
4363 lto_materialize_file_data): New function.
4364 (lto_materialize_function,
4365 lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
4366 unmap_section and map_fn_body to map_section.
4367 (lto_set_cu_context): Process functions and static inits
4368 differently.
4369 * Make-lang.in (LTO_H, lto/lto-function-in.o,
4370 lto/lto-section-in.o): Update dependencies.
4371 * lto/lto-elf.c (lto_elf_map_optional_lto_section): Add
4372 lto_section_type parameter.
4373 (lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
4374 * lto.h (lto_file_vtable_struct): Removed two of the fields and
4375 renamed the other two so that there is only one map function and
4376 one unmap function and each takes a section type parameter.
4377 (lto_read_function_body): Renamed to lto_input_function_body and
4378 added file_data parameter.
4379 (lto_read_var_init): Removed.
4380 (lto_input_constructors_and_inits): New function.
4381 * lto-section-in.c (lto_read_decls): New function.
4382 * lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
4383 var_decls, type_decls, types to lto_file_decl_data.
4384 (input_type_ref, input_expr_operand, lto_read_body): Get
4385 field_decls, fn_decls, var_decls, type_decls, types from different
4386 structure.
4387 (input_globals, input_constructor, lto_read_var_init): Removed.
4388 (input_constructors_or_inits): New function.
4389 (lto_read_function_body, lto_input_constructors_and_inits):
4390 Renamed to lto_input_function_body and takes file_data parameter.
4391 * lto-section-in.h (lto_file_decl_data): New structure.
4392
3f8257db 43932008-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4394
4395 * lto-function-in.c (input_globals.c): Changed input type to
4396 lto_function_header.
4397 (input_bb): Removed code to deserialize the stmt number.
4398 (input_function): Renumber all stmts after they are input.
4399 (lto_read_body, lto_read_function_body, lto_read_var_init):
4400 Changed to used new header format and enum section_type.
4401 *lto-lang.c (success): Removed.
4402
44032008-01-28 Nathan Froyd <froydnj@codesourcery.com>
4404
4405 * lto-elf.c (lto_elf_lookup_sym): Remove unused function.
4406 (lto_elf_free_sym): Likewise.
4407
4408 * lto-elf.c (lto_elf_read_var_init): Remove unused function.
4409 (lto_elf_build_init): Likewise.
4410
3f8257db 44112008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4412
4413 * lto-read.c: Renamed to lto-function-in.c.
4414 (input_1_unsigned): Moved to lto-section-in.c and renamed
4415 lto_input_1_unsigned.
4416 (input_uleb128): Moved to lto-section-in.c and renamed
4417 lto_input_uleb128.
4418 (input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
4419 lto_input_widest_uint_uleb128.
4420 (input_sleb128): Moved to lto-section-in.c and renamed
4421 lto_input_sleb128.
4422 (input_integer): Moved to lto-section-in.c and renamed
4423 lto_input_integer.
4424 (debug_in_fun): Moved to lto-section-in.c and renamed
4425 lto_debug_in_fun.
4426 (input_block): Moved to lto-section-in.h and renamed
4427 lto_input_block.
4428 (input_expr_operand): Fixed to allow lists with more than one
4429 element.
4430 * lto-section-in.h: New file.
4431 * lto-section-in.c: New file with changes from above.
4432 * Make-lang.in (lto-read.o): Renamed lto-function-in.c.
4433 (lto-section-in.o): New rule.
4434
44352007-12-29 Nathan Froyd <froydnj@codesourcery.com>
4436
4437 * lto-read.c (input_expr_operand): Mark static and external
4438 VAR_DECLs as needed.
4439
44402007-12-29 Nathan Froyd <froydnj@codesourcery.com>
4441
4442 * lto-read.c (input_integer): Use the correct shift amount.
4443
44442007-12-29 Nathan Froyd <froydnj@codesourcery.com>
4445
4446 * lto-lang.c (lto_pushdecl): Do nothing instead of aborting.
4447 (LANG_HOOKS_NAME): Define.
4448
44492007-12-27 Nathan Froyd <froydnj@codesourcery.com>
4450
4451 * lto.c (lto_find_integral_type): Define as a macro. Rename the
4452 original function to...
4453 (lto_find_integral_type_1): ...this. Consult UNSIGNEDP if we
4454 don't have a base type.
4455 (lto_read_enumeration_type_DIE): Examine the values of the
4456 enumeration to determine whether we can use an unsigned type for
4457 the base type of the enumeration.
4458
44592007-12-24 Nathan Froyd <froydnj@codesourcery.com>
4460
4461 * lto.c (lto_read_structure_union_class_type_DIE): Set TYPE_MODE
4462 and TYPE_ALIGN on UNION_TYPEs as soon as possible.
4463
44642007-12-22 Nathan Froyd <froydnj@codesourcery.com>
4465
4466 * lto-lang.c (lto_types_compatible_p): New function.
4467 (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
4468
44692007-12-22 Nathan Froyd <froydnj@codesourcery.com>
3f8257db 4470 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4471
4472 * lto-read.c (input_expr_operand): Fixed uninitialize var warning.
4473 (input_local_vars): Read in DECL_INITIAL and context for local
4474 statics that need to be put in unexpanded_vars_list.
4475
44762007-12-21 Nathan Froyd <froydnj@codesourcery.com>
4477
4478 * lto-read.c (input_real): Use a separate null-terminated buffer
4479 for calling real_from_string.
4480 (input_expr_operand): If we take the address of a FUNCTION_DECL,
4481 tell cgraph that it's needed.
4482
44832007-12-19 Doug Kwan <dougkwan@google.com>
4484
4485 * lto.c (lto_read_base_type_DIE): Handle complex integer types.
4486
44872007-12-18 Nathan Froyd <froydnj@codesourcery.com>
4488
4489 * lto.c (lto_read_DIE): Call lto_read_only_for_child_DIEs instead.
4490 (lto_file_read): Reset the members of 'context' every time we read
4491 a toplevel DIE, with special attention to last_param_type.
4492
44932007-12-18 Nathan Froyd <froydnj@codesourcery.com>
4494
4495 * lto.c (lto_read_subroutine_type_subprogram_DIE): Initialize
4496 'declaration'. Set the assembler name for non-public functions.
4497
3f8257db 44982007-12-17 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4499
4500 * lto_read.c (data_in.unexpanded_indexes): New array.
4501 (input_local_var): Added code to read in unexpanded_var_list
4502 indexes for variables. Only read in DECL_CHAIN field for
4503 parameters.
4504 (input_local_vars): Added code to rebuild unexpanded_var_list in
4505 order using unexpanded_indexes.
4506 (input_function): Added code to set DECL_CONTEXT for functions.
4507
45082007-12-13 Doug Kwan <dougkwan@google.com>
4509
4510 * lto.c (lto_read_pointer_reference_type_DIE): Handle optional name
4511 in pointer and reference types.
4512
45132007-12-13 Nathan Froyd <froydnj@codesourcery.com>
4514
4515 * lto-read.c (input_expr_operand): Use DECL_RESULT when reading a
4516 RESULT_DECL.
4517
45182007-12-13 Nathan Froyd <froydnj@codesourcery.com>
4519
4520 * lto.c (lto_read_array_type_DIE): Return the cached DIE if we've
4521 already read the DIE.
4522 (lto_get_body): New function, split out from...
4523 (lto_materialize_function): ...here. Call it.
4524 (lto_read_subroutine_type_subprogram_DIE): Call lto_get_body to
4525 determine DECL_EXTERNAL.
4526 * lto-symtab.c (lto_symtab_merge_decl): Merge the DECL_RESULTs of
4527 FUNCTION_DECLs when necessary. Use the type of the actual
4528 function definition if we are unable to easily merge types. Ignore
4529 spurious DECL_MODE mismatches on VAR_DECLs. Merge DECL_MODEs when
4530 necessary.
4531
45322007-12-13 Nathan Froyd <froydnj@codesourcery.com>
4533
4534 * lto-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
4535
45362007-12-12 Bill Maddox <maddox@google.com>
4537
4538 Revert
4539 2007-12-07 Bill Maddox <maddox@google.com>
4540
4541 * lto.c (lto_str_fd_init): New function.
4542 (lto_str_fd_close): New function.
4543 (lto_file_init): Call lto_str_fd_init.
4544 (lto_file_close): Call lto_str_fd_close.
4545 (lto_str_read): New function. Read debug string table.
4546 (lto_str_lookup): New function. Get string for debug
4547 string table offset.
4548 (lto_read_form): Recognize DW_FORM_strp.
4549 (lto_file_read): Invoke lto_str_read.
4550
4551 * lto-elf.c (lto_elf_file_open): Read raw section data
4552 for the .debug_str section, if present.
4553
4554 * lto.h (struct lto_str_fd_struct): New struct.
4555 (struct lto_file_struct): Added new field DEBUG_STR
4556 to hold the file descriptor for the debug string table.
4557
45582007-12-07 Bill Maddox <maddox@google.com>
4559
4560 * lto.c (lto_str_fd_init): New function.
4561 (lto_str_fd_close): New function.
4562 (lto_file_init): Call lto_str_fd_init.
4563 (lto_file_close): Call lto_str_fd_close.
4564 (lto_str_read): New function. Read debug string table.
4565 (lto_str_lookup): New function. Get string for debug
4566 string table offset.
4567 (lto_read_form): Recognize DW_FORM_strp.
4568 (lto_file_read): Invoke lto_str_read.
4569
4570 * lto-elf.c (lto_elf_file_open): Read raw section data
4571 for the .debug_str section, if present.
4572
4573 * lto.h (struct lto_str_fd_struct): New struct.
4574 (struct lto_file_struct): Added new field DEBUG_STR
4575 to hold the file descriptor for the debug string table.
4576
45772007-12-07 Nathan Froyd <froydnj@codesourcery.com>
4578
4579 * lto-read.c (input_cfg): Call init_empty_tree_cfg_for_function.
4580 Grow the basic_block_info and label_to_block_map vectors if
4581 necessary. Read in the block chain.
4582
45832007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4584
4585 * lto.c (lto_read_DIE): Set TYPE_ALIAS_SET where necessary.
4586
45872007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4588
4589 * lto.c (lto_read_form): Add DW_cl_address for DW_AT_const_value.
4590
45912007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4592
4593 * lto-read.c (input_expr_operand): Don't check for MTAGs.
4594 (lto_read_body): Don't declare PROP_alias.
4595
45962007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4597
4598 * lto-symtab.c (lto_symtab_merge_decl): Handle FUNCTION_DECLs without
4599 argument type information.
4600
46012007-12-03 Nathan Froyd <froydnj@codesourcery.com>
4602
4603 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
4604 TREE_THIS_VOLATILE if the associated type is a volatile type.
4605 (lto_materialize_function): Remove call to init_ssa_operands.
4606 * lto-read.c (input_expr_operand): Add SSA_NAME_VAR as a referenced
4607 variable when reading an SSA_NAME. Do the same when reading a
4608 RESULT_DECL, a RETURN_EXPR, or an MTAG.
4609 (input_cfg): Call init_ssa_operands.
4610 (input_ssa_names): Set the default def of an SSA_NAME if necessary.
4611 Move call to init_tree_ssa...
4612 (lto_read_body): ...here. Use push_cfun and pop_cfun. Call
4613 add_referenced_var on any variables referenced from the body of the
4614 function. Inform the rest of the compiler we are in SSA form and
4615 inform later passes about the current properties.
4616
46172007-11-30 Nathan Froyd <froydnj@codesourcery.com>
4618
4619 * lto.c (lto_materialize_function): Add FIXME.
4620
46212007-11-29 Nathan Froyd <froydnj@codesourcery.com>
4622
4623 * lto-lang.c (enum built_in_attribute): New enum.
4624 (flag_no_builtin, flag_no_nonansi_builtin, flag_isoc94, flag_isoc99,
4625 built_in_attributes): New variables.
4626 (def_builtin_1): New function.
4627 (lto_define_builtins): #define DEF_BUILTIN and include builtins.def.
4628
46292007-11-28 Nathan Froyd <froydnj@codesourcery.com>
4630
4631 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
4632 DECL_SOURCE_LOCATION for debugging purposes.
4633 (lto_read_member_DIE): Set DECL_SOURCE_LOCATION. If we have read a
4634 bitfield, use the type specified by the DIE for TREE_TYPE and defer
4635 laying out the decl until later.
4636 (lto_read_subroutine_type_subprogram_DIE): Compare the function's
4637 name with DECL_ASSEMBLER_NAME. Set DECL_SOURCE_LOCATION and
4638 TREE_ADDRESSABLE.
4639 * lto-read.c (input_expr_operand): Set TREE_ADDRESSABLE on the
4640 operand of an ADDR_EXPR.
4641 * lto-lang.c (enum lto_builtin_type): New enum.
4642 (builtin_type): New typedef.
4643 (builtin_types, string_type_node, const_string_type_node,
4644 wint_type_node, intmax_type_node, uintmax_type_node,
4645 signed_size_type_node): New variables.
4646 (def_fn_type, builtin_type_for_size, lto_define_builtins,
4647 lto_build_c_type_nodes): New functions.
4648 (lto_init): Initialize builtin types.
4649 (lto_set_decl_assembler_name): Let the target machine mangle the
4650 name if the decl is TREE_PUBLIC, otherwise uniquify it.
4651
46522007-11-21 Nathan Froyd <froydnj@codesourcery.com>
4653
4654 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Don't
4655 set TREE_ADDRESSABLE. Do set DECL_COMDAT. Set TREE_READONLY if
4656 the type is a constant type. Set the assembler name and inform
4657 the rest of the compiler about the new decl if the decl is not
4658 public.
4659 (lto_read_subroutine_type_subprogram_DIE): Don't check for equivalency
4660 of DECL_ASSEMBLER_NAME when determining if we have a builtin. Don't
4661 try to read in function bodies for functions that already have bodies.
4662 * lto-symtab.c (lto_same_type_p): Check for unbounded array
4663 equivalency.
4664 (lto_symtab_merge_decl): Don't merge decls that aren't TREE_PUBLIC.
4665 Check for whether we matched a builtin function type before calling
4666 lto_same_type_p on the generated type. Permit cases where the
4667 declaration of an array is unbounded, but the definition is bounded.
4668 Don't combine TREE_PUBLIC flags. Copy over DECL_SIZE and
4669 DECL_SIZE_UNIT if necessary.
4670
3f8257db 46712007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4672
4673 * lto-read.c (input_expr_operand): Get types right
4674 for COMPLEX_CST.
4675
3f8257db 46762007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4677
4678 * lto-read.c (make_new_block, input_cfg): Properly set
4679 n_basic_blocks.
4680
46812007-11-16 Nathan Froyd <froydnj@codesourcery.com>
4682
4683 * lto.c (lto_read_array_type_DIE): Handle DIEs with DW_AT_GNU_vector
4684 set properly by building a VECTOR_TYPE instead of an ARRAY_TYPE.
4685
46862007-11-16 Nathan Froyd <froydnj@codesourcery.com>
4687
4688 * lto.c (lto_read_base_type_DIE): Use make_bitfield_integer_type to
4689 construct the integer type for bitfields.
4690
3f8257db 46912007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4692
4693 * lto-read.c (data_in.current_node_has_loc): Removed.
4694 (input_line_info): Returns true if node needs line set.
4695 (set_line_info): Always sets line if called.
4696 (clear_line_info): Removed reference to current_node_needs_loc.
4697 (input_expr_operand): Keeps track locally if current node needs a loc.
4698 (input_local_var): Added code to handle DECL_INITIAL for
4699 static local vars. Only set loc if necessary.
4700
47012007-11-15 Nathan Froyd <froydnj@codesourcery.com>
4702
4703 * lto.c (lto_read_subroutine_type_subprogram_DIE): Fix thinko'd
4704 DECL_CONTEXT.
4705
47062007-11-15 Nathan Froyd <froydnj@codesourcery.com>
4707
4708 * lto.c: Include langhooks.h.
4709 (lto_find_integral_type): Rework logic to handle the case where
4710 got_byte_size is true, but the bitsize requested and that of the
4711 base_type doesn't match.
4712 (lto_read_variable_formal_parameter_constant_DIE): Only check for
4713 asm_name if we are creating a VAR_DECL.
4714 (lto_materialize_function): Set DECL_EXTERNAL if we can't find a
4715 definition.
4716 (lto_read_subroutine_type_subprogram_DIE): Check for a builtin
4717 function reference and use the builtin's decl if so. Set the
4718 DECL_CONTEXT of the RESULT_DECL for the function.
4719 * lto-lang.c (registered_builtin_fndecls): New variable.
4720 (lto_getdecls): Return it.
4721 (lto_builtin_function): Chain the new decl onto
4722 registered_builtin_fndecls.
4723
3f8257db 47242007-11-15 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4725
4726 * lto-read.c (process_tree_flags, lto_static_init_local):
4727 Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
4728 (input_line_info, clear_line_info): Fixed new line number code.
4729 (input_expr_operand): Added type to SWITCH_EXPR.
4730 (lto_read_body): Properly initialized data_in.
4731 Clear line info when leaving.
4732
47332007-11-13 Diego Novillo <dnovillo@google.com>
4734
4735 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
4736 Initialize ARTIFICIAL.
4737 (lto_read_subroutine_type_subprogram_DIE): Initialize
4738 SAVED_SCOPE.
4739 * lto-read.c (set_line_info): Remove ; from calls to
4740 LINEMAP_POSITION_FOR_COLUMN.
4741
3f8257db 47422007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4743
4744 * lto-read.c (input_type_ref): Renamed from get_type_ref.
4745 (input_expr_operand, input_local_var): Renamed get_type_ref to
4746 input_type_ref.
4747 (input_expr_operand): Get the types correct for
4748 vector-cst. Get SSA_NAME_DEF_STMT correct for return_exprs.
4749
47502007-11-13 Doug Kwan <dougkwan@google.com>
4751
4752 * lto-read.c (input_widest_uint_uleb128): New function.
4753 (input_tree_flags, process_tree_flags, input_line_info,
4754 input_expr_operand, input_local_var, input_phi, input_ssa_names):
4755 Change to use lto_flags_type and BITS_PER_LTO_FLAGS_TYPES instead of
4756 unsigned HOST_WIDE_INT and HOST_BITS_PER_WIDE_INT.
4757 (lto_static_init_local): Add code to assert that lto_flags_type is
4758 wide enough.
4759
47602007-11-13 Nathan Froyd <froydnj@codesourcery.com>
4761
4762 * lto.c (lto_read_array_type_DIE): Handle DW_AT_GNU_vector.
4763 (lto_read_subroutine_type_subprogram_DIE): Handle
4764 DW_AT_static_link and DW_AT_specification. Return the
4765 specification if present.
4766 (lto_read_base_type_DIE): Handle DW_ATE_complex_float.
4767
47682007-11-13 Nathan Froyd <froydnj@codesourcery.com>
4769
4770 * lto-lang.c: Include target.h.
4771 (registered_builtin_types): New variable.
4772 (lto_type_for_mode): Increase number of modes handled.
4773 (lto_builtin_function): Fix argument list and return the decl.
4774 (lto_register_builtin_type): New function.
4775 (lto_init): Initialize target builtins and language-independent
4776 nodes.
4777 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define.
4778
3f8257db 47792007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4780
4781 * lto-read.c (input_expr_operand): Added code to properly handle
4782 index filed. Added new RANGE_EXPR case.
4783
3f8257db 47842007-11-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4785
4786 * lto-read.c (ADD_FUNC_FLAG): Deleted macro.
4787 (data_in): Added current_node_has_loc field.
4788 (input_line_info, set_line_info, clear_line_info): Added a support
4789 for USE_MAPPED_LOCATION and not adding line numbers to nodes that
4790 did not have on on the source side.
4791 (input_expr_operand): Make sure that GIMPLE_MODIFY_STMTS get line
4792 numbers too.
4793
47942007-11-09 Doug Kwan <dougkwan@google.com>
4795
4796 * lto-read.c (input_expr_operand): Change type of operand 2 of
4797 BIT_FIELD_REF expression to be bitsizetype instead of sizetype.
4798
47992007-11-09 Nathan Froyd <froydnj@codesourcery.com>
4800
4801 * lto.c: Include lto-tree.h. Effect small spaces->tabs cleanup.
4802 (lto_read_variable_formal_parameter_constant_DIE): Transfer bits
4803 from a DW_AT_specification or DW_AT_abstract_origin attribute to
4804 the new decl we are creating. Move informing the middle end about
4805 the new decl to...
4806 (lto_main): ...here. Inform the middle end about global variables
4807 after we have read in all the input files.
4808 * lto-symtab.c (lto_symtab_merge_decl): We really do need to merge
4809 variables with internal linkage, so delete the check for internal
4810 linkage. Combine TREE_PUBLIC flags.
4811
48122007-11-08 Nathan Froyd <froydnj@codesourcery.com>
4813
4814 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
4815 DW_AT_decl_line.
4816 * lto-symtab.c (lto_symtab_merge_decl): Handle redefinition of a
4817 builtin specially. Move check for attribute compatibility
4818 earlier.
4819
48202007-11-07 Nathan Froyd <froydnj@codesourcery.com>
4821
4822 * Make-lang.in (lto/lto.o): Depend on gt-lto-lto.h.
4823 * config-lang.in (gtfiles): Add lto.h and lto.c.
4824 * lto-elf.c: Include ggc.h.
4825 (lto_elf_file_open): Allocate elf_file from GC memory.
4826 * lto.c: Include tree-ssa-operands.h and gt-lto-lto.h
4827 (lto_info_fd_init): Allocate the die_cache and unmaterialized_fndecls
4828 in GC memory.
4829 (lto_info_fd_close): Free unmaterialized_fndecls from GC memory.
4830 (lto_file_close): Free file from GC memory.
4831 (lto_cache_store_DIE): Allocate the new entry in GC memory.
4832 (lto_read_member_DIE): Fix declaration.
4833 (lto_read_subroutine_type_subprogram_DIE): unmaterialized_fndecls lives
4834 in GC memory.
4835 (current_lto_file): New variable.
4836 (lto_main): Use it.
4837 (DWARF2_attr, DWARF2_abbrev, lto_die_ptr, DWARF2_CompUnit,
4838 lto_die_cache_entry): Move to...
4839 * lto.h: ...here and add GTY markers as appropriate. Delete forward
4840 declarations accordingly.
4841 (struct lto_file_struct): Declare.
4842 (lto_file_vtable): Use it instead of lto_file.
4843
48442007-11-06 Alon Dayan <alond@il.ibm.com>
3f8257db 4845 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4846
4847 * lto-read.c (process_flags, lto_static_init_local):
4848 read flags of VAR_DECL and FUNCTION_DECL of size>1.
4849 change global array num_flags_for_code to flags_length_for_code.
4850 (set_line_info): Make decls work in USE_MAPPED_LOCATION mode.
4851
48522007-11-05 Nathan Froyd <froydnj@codesourcery.com>
4853
4854 * lto.c (lto_read_structure_union_class_type_DIE): Use proper record
4855 layout functions to compute information about the newly constructed
4856 type.
4857
48582007-11-02 Nathan Froyd <froydnj@codesourcery.com>
4859
4860 * lto-read.c (input_expr_operand): Change the LTO_return_expr1
4861 case to use DECL_RESULT if necessary.
4862
3f8257db 48632007-11-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4864
4865 * lto-read.c (input_tree_list): Removed.
4866 (input_tree_flags): Added parameter to force flags no matter what
4867 tree code.
4868 (input_expr_operand): Added parameter to input_tree_flags.
4869 Added case for IDENTIFIER_NODE and TREE_LIST. Changed ASM to call
4870 input_expr_operand rather than input_tree_lists.
4871 (input_local_var): Use input_expr_operand to read attributes
4872 rather then input_tree_list.
4873 (input_phi, input_ssa_names): Added parameter to input_tree_flags.
4874
48752007-10-31 Nathan Froyd <froydnj@codesourcery.com>
4876
4877 * lto.c (lto_read_typedef_DIE): Fix comment typo.
4878 (lto_resolve_typedecl_ref): Fetch the referred-to type and build a fake
4879 TYPE_DECL for it.
4880 * lto-read.c (lto_read_body): Use correct sizes for calculating
4881 type_decls_offset and types_offset.
4882
48832007-10-30 Nathan Froyd <froydnj@codesourcery.com>
4884
4885 * lto-tree.h (union lang_tree_node): Change GTY description to chain
4886 with GENERIC_NEXT.
4887 * config-lang.in (gtfiles): Add lto-lang.c.
4888 * lto-lang.c: Include gt-lto-lto-lang.h.
4889 * Make-lang.in (lto/lto-lang.o): Add dependency on gt-lto-lto-lang.h
4890 (lto/lto-symtab.o): Depend on LTO_H instead of TREE_H.
4891 (lto/lto-read.o): Likewise.
4892
3f8257db 48932007-10-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4894
4895 * lto-read.c (data_in): Added type_decls and current_col fields.
4896 (string_slot): New type to hold canonized file name.
4897 (hash_string_slot_node, eq_string_slot_node, canon_file_name,
4898 input_line_info, set_line_info, clear_line_info): New functions.
4899 (file_name_hash_table): New hash table.
4900 (input_local_var, input_labels, input_local_vars_index,
4901 input_local_var, input_local_vars, input_ssa_names): Reorganized parameters.
4902 (input_uleb128): Changed type of byte var.
4903 (input_expr_operand): Large number of changes to get line numbers
4904 correct. Added TYPE_DECL case.
4905 (input_globals): Added code to get TYPE_DECLs processed.
4906 (input_local_var): Added code to process line numbers and
4907 TREE_CHAIN and DECL_CONTEXT.
4908 (input_function, input_constructor): Added call to
4909 clear_line_number.
4910 (lto_static_init_local): Added code to get line numbers correct.
4911 (lto_read_body): Added code to get TYPE_DECLS read and to change
4912 parameters to the calls above that had their parms reorganized.
4913
4914
49152007-10-29 Nathan Froyd <froydnj@codesourcery.com>
4916
4917 * lto.h (lto_resolve_typedecl_ref): Declare.
4918 * lto.c (lto_resolve_typedecl_ref): New function.
4919
49202007-10-29 Mark Mitchell <mark@codesourcery.com>
4921 Nathan Froyd <froydnj@codesourcery.com>
4922
4923 * lto.c (lto_read_subroutine_type_subprogram_DIE): Read the child
4924 DIEs even if we find an abstract origin for this DIE.
4925
49262007-10-29 Nathan Froyd <froydnj@codesourcery.com>
4927
4928 * lto.c (lto_read_subroutine_type_subprogram_DIE): Build the
4929 RESULT_DECL slightly earlier. Only remember the decl for later
4930 if we successfully merge declarations.
4931
3f8257db 49322007-10-24 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4933
4934 * lto-read.c (input_expr_operand): Give label_values the proper
4935 context and provide switch statements with a default type.
4936
49372007-10-23 Nathan Froyd <froydnj@codesourcery.com>
4938
4939 * lto-read.c (lto_read_body): Move call to init_ssa_operands...
4940 * lto.c (lto_materialize_function): ...to here.
4941
49422007-10-22 Nathan Froyd <froydnj@codesourcery.com>
4943
4944 * lto.h (struct lto_info_fd): Add field unmaterialized_fndecls.
4945 * lto.c (lto_info_fd_init): Initialize it.
4946 (lto_info_fd_close): Free it.
4947 (lto_materialize_function): New function.
4948 (lto_read_subroutine_type_subprogram_DIE): Save the result decl on
4949 unmaterialized_fndecls.
4950 (lto_file_read): Read in all the function bodies after we have read
4951 all of the DWARF info.
4952 * lto-read.c (lto_read_body): Call init_ssa_operands if we are
4953 reading a function body.
4954
3f8257db 49552007-10-20 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
4956
4957 * lto-read.c (input_tree_flags): Renamed from input_flags to be
4958 semetric with output_tree_flags. Added call to log flags.
4959 (process_tree_flags): Renamed from process_flags. Fixed a lot of
4960 type issues to make everything consistent with flags being
4961 unsigned HOST_WIDE_INTS.
4962 (input_expr_operand): Added call to
4963 recompute_tree_invariant_for_addr_expr.
4964 (input_local_var): Added debugging for tree_chains. Now calls
4965 input_tree_flags.
4966 (input_phi): Made flags unsigned HOST_WIDE_INT.
4967 (input_ssa_names): Now calls input_tree_flags.
4968 (lto_read_body): Now sets cfun.
4969 (lto_read_function_body): Now sets current_function_pointer.
4970
49712007-10-19 Nathan Froyd <froydnj@codesourcery.com>
4972
4973 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Check
4974 definitively whether SPECIFICATION or ABSTRACT_ORIGIN exist before
4975 inspecting fields within.
4976 (lto_read_DIE_at_ptr): Delete check for null result; let callers
4977 handle this appropriately.
4978
49792007-10-19 Nathan Froyd <froydnj@codesourcery.com>
4980
4981 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Handle
4982 DW_AT_abstract_origin properly. Ensure that we're not dealing with
4983 both DW_AT_abstract_origin and DW_AT_specification.
4984 (lto_read_subroutine_type_subprogram_DIE): Handle
4985 DW_AT_abstract_origin.
4986 (lto_read_DIE): Use lto_read_only_for_child_DIEs for labels.
4987 (lto_read_DIE_at_ptr): Define as static to match declaration.
4988 Lookup the PTR in the cache before reading it from the file.
4989 (lto_resolve_var_ref): Adjust accordingly.
4990 (lto_resolve_fn_ref): Adjust accordingly. Tweak comment.
4991 (lto_resolve_field_ref): Adjust accordingly. Tweak comment.
4992
49932007-10-19 Nathan Froyd <froydnj@codesourcery.com>
4994
4995 * lto.c (lto_read_DIE_at_ptr): New function.
4996 (lto_resolve_var_ref): Use it.
4997 (lto_resolve_fn_ref): Use it.
4998 (lto_resolve_field_ref): Use it.
4999 (lto_read_variable_formal_parameter_constant_DIE): Follow
5000 DW_AT_specification and return the associated decl when appropriate.
5001
50022007-10-18 Nathan Froyd <froydnj@codesourcery.com>
5003
5004 * lto-lang.c (lto_type_for_mode): Move after lto_type_for_size.
5005 Implement for scalar integer modes.
5006 (lto_init): Initialize size_type_node.
5007
3f8257db 50082007-10-18 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5009
5010 * lto-read.c (input_expr_operand): Remove ssa name asserts.
5011 (input_local_var): Add chaining for params.
5012 (input_ssa_names): Add cfun parameter.
5013 (input_function): Remove unnecessary else.
5014
50152007-10-17 Nathan Froyd <froydnj@codesourcery.com>
5016
5017 * lto.c (lto_read_only_for_child_DIEs): Mark die parameter as unused.
5018 (lto_resolve_var_ref): Use proper types.
5019 (lto_resolve_fn_ref): Likewise.
5020 (lto_resolve_field_ref): Likewise.
5021
50222007-10-17 Nathan Froyd <froydnj@codesourcery.com>
5023
5024 * lto-read.c (input_expr_operand): Remove case.
5025
50262007-10-17 Nathan Froyd <froydnj@codesourcery.com>
5027
5028 * lto.c (lto_read_only_for_child_DIEs): New function.
5029 (lto_read_DIE): Use it for lexical_block and inlined_subroutine DIEs.
5030 * lto-elf.c (lto_elf_map_lto_section): Remove.
5031 (lto_elf_file_vtable): Use lto_elf_map_optional_lto_section instead.
5032 * lto-read.c (input_expr_operand): Assert that we never read a NULL
5033 SSA_NAME. Add missing case for mechanical codes.
5034 (input_cfg): Use basic_block_info_for_function instead of
5035 basic_block_info.
5036
3f8257db 50372007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5038
5039 * lto-read.c (input_sleb128, input_integer): Use proper casts.
5040 (input_list): Renamed input_tree_list and modified to follow same
5041 protocol as lto-function-out.c:output_tree_list.
5042 (input_expr_operand): Make asm operands use input_tree_list.
5043 (input_local_var): Now uses input_tree_list.
5044 (lto_read_body): Change placement for setting context of debug_labels.
5045
5046
3f8257db 50472007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5048
5049 * lto-read.c (input_real): Output debugging in proper order.
5050 (input_integer): Compute bit lengths properly.
5051 (input_list): Clean up declaration.
5052 (input_expr_operand): Change calls to input_real to match fix.
5053 Make reading of LTO_bit_field_ref1 match output.
5054 (input_local_var): Make reading of attributes match what is being
5055 written.
5056 (dump_debug_stream): Also print char in hex.
5057 (debug_out_fun): Fix signed unsigned mismatch.
5058
50592007-10-10 Nathan Froyd <froydnj@codesourcery.com>
5060
5061 * lto.c (lto_read_form): Handle DW_AT_MIPS_linkage_name and
5062 DW_AT_GNU_vector specially, as they are not contiguous with the
5063 specified set of attribute names. Use class_mask to check for
5064 errors at the end of the function
5065 (lto_resolve_var_ref): Read the DIE if it is not cached.
5066 (lto_resolve_fn_ref): Likewise.
5067 (lto_resolve_field_ref): Likewise.
5068
50692007-10-05 Nathan Froyd <froydnj@codesourcery.com>
5070
5071 * lto.c: Include dwarf2out.h.
5072 (lto_cache_store_DIE): Assert that we never change the value.
5073 (LTO_BEGIN_READ_ATTRS): Print an informative error message.
5074 (lto_read_compile_unit_DIE): Handle DW_AT_entry_pc.
5075 (lto_read_array_type_DIE): Don't error on ndims == 0; build a
5076 sensible type instead.
5077 (lto_read_structure_union_class_type_DIE): Store the newly
5078 created type prior to reading the members of the structure to
5079 avoid infinite recursion. Avoid computing types and alignments
5080 for structures whose sizes are unknown.
5081 (lto_read_variable_formal_parameter_const): Handle DW_AT_artificial
5082 and set DECL_ARTIFICIAL accordingly. Ignore DW_AT_abstract_origin,
5083 DW_AT_const_value, and DW_AT_specification.
5084 (lto_read_subroutine_type_subprogram_DIE): Handle DW_AT_declaration.
5085 Return early if we have already constructed the function type.
5086 (lto_read_typedef_DIE): Check to see if the type has been cached
5087 already. Cache the type before reading any children.
5088 (lto_read_const_volatile_restrict_type_DIE): Handle DW_AT_name.
5089 (lto_read_DIE): Unset context->skip_non_parameters around reading
5090 the DIE.
5091 (lto_resolve_fn_ref): Delete trailing whitespace.
5092
3f8257db 50932007-09-11 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5094
5095 * lto-read.c (input_expr_operand): Added type for STRING_CST.
5096
50972007-09-10 Nathan Froyd <froydnj@codesourcery.com>
5098
5099 * lto-read.c (lto_read): Set the type of the newly created CALL_EXPR.
5100
51012007-09-07 Nathan Froyd <froydnj@codesourcery.com>
5102
5103 * lto-lang.c (signed_and_unsigned_types): New variable.
5104 (lto_type_for_size): Consult signed_and_unsigned_types to find
5105 an approprite type, creating it if necessary.
5106 (lto_set_decl_assembler_name): Add actual method body.
5107
51082007-09-06 Jim Blandy <jimb@codesourcery.com>
5109
5110 * lto.c (lto_read_variable_formal_parameter_constant_DIE): If we
5111 can't find a var init for this variable, leave its DECL_INITIAL.
5112 * lto-elf.c (lto_elf_map_optional_lto_section): Renamed from
5113 lto_elf_map_fn_body.
5114 (lto_map_lto_section): New function.
5115 (lto_elf_file_vtable): Use lto_elf_map_lto_section for function
5116 bodies, and lto_elf_map_optional_lto_section for variable
5117 initializers.
5118 (lto_elf_find_section_data): Quietly return NULL if the section is
5119 missing.
5120 (lto_elf_file_open): Check for a NULL from lto_elf_find_section_data.
5121
5122 * lto-elf.c (lto_elf_find_section_data): Remove dead code.
5123
5124 * lto-read.c (lto_read_body): Doc fix.
5125
3f8257db 51262007-08-29 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5127
5128 * lto-read.c (fun_in): Renamed to data_in.
5129 (input_expr_operand, input_local_var, input_string_internal,
5130 input_string, input_real, input_list, get_label_decl,
5131 get_type_ref, input_expr_operand, input_globals, input_labels,
5132 input_local_vars_index, input_local_var, input_local_vars,
5133 input_cfg, input_phi, input_ssa_names, input_bb, ): Renamed fun_in to data_in.
5134 (input_constructor): New function.
5135 (lto_read_function_body): Renamed to lto_read_body and generalized
5136 to handle both functions and constructors.
5137 (lto_read_function_body, lto_read_var_init): New function.
5138
5139
3f8257db 51402007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5141
5142 * lto-read.c (input_expr_operand): Assert that there really is a
5143 FUNCTION_DECL.
5144 (input_globals): Removed checks on 0 section.
5145
3f8257db 51462007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5147
5148 * lto-read.c (fun_in): Added local_decls_index and
5149 local_decls_index_d.
5150 (input_expr_operand): Changed inputting of PARM_DECLs and VAR_DECLs.
5151 (input_globals): Enabled code to handle FIELD_DECLs.
5152 (input_local_vars_index, input_local_vars): New function.
5153 (input_local_var): Changed to allow locals to be input randomly.
5154 (lto_read_function_body): Added code to input the
5155 local_decls_index and to free various structures.
5156
51572007-08-17 Jim Blandy <jimb@codesourcery.com>
5158
5159 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Remove
5160 ATTRIBUTE_UNUSED from 'die' formal.
5161
5162 Use enum LTO_tags where appropriate, instead of 'unsigned int'.
5163 * lto-read.c (input_record_start): Fix return type, type of 'tag'.
5164 (input_list): Fix type of 'tag'.
5165 (input_expr_operand): Fix type of 'tag' argument. Update
5166 declaration. Fix type of 'ctag'. Add default case to switch,
5167 since the type of the switched value is now an enum.
5168 (input_local_vars): Fix type of 'tag'.
5169 (input_bb): Fix type of 'tag' argument.
5170 (input_function): Fix type of 'tag' argument.
5171
51722007-08-16 Jim Blandy <jimb@codesourcery.com>
5173
5174 * lto.c (lto_read_member_DIE): Record the tree we create in
5175 fd->die_cache. (Our 'die' argument is no longer unused.)
5176 (lto_resolve_field_ref): New function.
5177 * lto.h (lto_resolve_field_ref): New declaration.
5178
51792007-08-15 Jim Blandy <jimb@codesourcery.com>
5180
5181 * lto-read.c (lto_read_var_init): Mark arguments as unused.
5182
51832007-08-07 Jim Blandy <jimb@codesourcery.com>
5184
5185 * lto.c (lto_read_form): Complete attr_classes table.
5186 (DWARF2_form_data): Doc fix.
5187
51882007-08-05 Mark Mitchell <mark@codesourcery.com>
5189
5190 * lto.h (lto_file_vtable): Remove read_var_init. Add map_var_init
5191 and unmap_var_init.
5192 (lto_read_var_init): Declare.
5193 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Use new
5194 interface for reading variable initializers.
5195 * lto-elf.c (lto_elf_read_var_init): Remove.
5196 (lto_elf_file_vtable): Update initializer.
5197 (lto_elf_read_var_init): Add comment about unused-ness.
5198 * lto-read.c (lto_read_var_init): New.
5199
5200 * lto.c (lto_read_form): Add entry for DW_AT_inline.
5201
3f8257db 52022007-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5203
5204 * lto-read.c (lto_read_function_body): Moved declaration of fn
5205 outside of ifdef.
5206
3f8257db 52072007-08-01 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5208
5209 * lto-read.c (input_uleb128, input_string_internal, input_real,
5210 input_integer, input_record_start, input_list, get_type_ref,
5211 input_flags, input_expr_operand, input_expr_operand,
5212 input_expr_operand, input_local_vars, input_cfg, input_phi,
5213 input_ssa_names, input_bb, input_function): Added semicolons.
5214
5215
3f8257db 52162007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5217
5218 * lto-read.c (input_globals): Remove debugging.
5219 (input_function): Set DECL_ARGUMENTS.
5220
3f8257db 52212007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5222
5223 * lto-read.c (input_expr_operand): Fixed code for COND_EXEC,
5224 RETURN_EXPR, MODIFY_EXPR and processing of flags.
5225 (input_phi): Made work with operands other than SSA_NAMES and
5226 fixed processing of flags.
5227 (input_ssa_names): Initialize SSA_NAME_DEF_STMT to empty stmt.
5228 (input_flags): New function.
5229 * lto-lang.c (lto_init): Changed state of in_lto_p.
5230
5231
52322007-07-24 Mark Mitchell <mark@codesourcery.com>
5233
5234 * lto-tree.h (lto_varargs_cookie): Remove.
5235 * lto.c (lto_context): Add last_parm_type, varargs_p, skip_all,
5236 skip_non_parameters, skip_parameters.
5237 (lto_varargs_cookie): Remove.
5238 (lto_read_variable_formal_parameter_constant_DIE): Keep track of
5239 parameter types.
5240 (lto_read_abbrev): New function.
5241 (lto_read_subroutine_type_subprogram_DIE): Make two passes over
5242 child DIEs.
5243 (lto_read_unspecified_parameters_DIE): Set context->varargs_p.
5244 (lto_read_DIE): Use lto_read_abbrev. Honor skip_* flags.
5245 (lto_file_read): Initialize new context fields.
5246 * lto-lang.c (lto_type_for_mode): Return NULL_TREE.
5247 (lto_unsigned_type): Remove.
5248 (lto_signed_type): Likewise.
5249 (lto_signed_or_unsigned_type): Likewise.
5250 (lto_init): Do not create lto_varargs_cookie.
5251 (LANG_HOOKS_UNSIGNED_TYPE): Do not define.
5252 (LANG_HOOKS_SIGNED_TYPE): Likewise.
5253 (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Likewise.
5254
52552007-07-19 Jan Hubicka <jh@suse.cz>
5256
5257 * lto-read.c (lto_read_function_body): Produce empty scope block
5258 to avoid crash.
5259
52602007-07-18 Mark Mitchell <mark@codesourcery.com>
5261
5262 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Do not
5263 process local variables.
5264 (lto_read_subroutine_type_subprogram_DIE): Read child DIEs.
5265
3f8257db 52662007-07-13 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5267
5268 * lto-read.c (input_list, input_expr_operand): Added struct
5269 function parameter.
5270 (init_cfg, finalize_cfg): Removed function.
5271 (input_expr_operand): Added SSA_NAME and GIMPLE_MODIFY_STMT cases.
5272 (input_labels, input_local_vars): Now takes input_block parameter rather than
5273 synthsyzing it.
5274 (input_cfg, input_phi, input_ssa_names): New functions.
5275 (input_bb): Now passes in input_blocks. Does not construct cfg
5276 and processes the list of phi functions.
5277 (input_function): Now builds both the cfg and ssa_names table.
5278 (lto_read_function_body): Processes new header fields to construct
5279 streams for the ssa_names and cfg and their debugging.
5280 * lto/lto-lang.c (lto_init): Set in_lto_p.
5281
5282
52832007-06-28 Mark Mitchell <mark@codesourcery.com>
5284
5285 * lto.h (lto_file_vtable): Add read_var_init.
5286 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Read
5287 initializers.
5288 (lto_main): Remove bogus asserts.
5289 * lto-elf.c (tm.h): Include it.
5290 (libiberty.y): Likewise.
5291 (lto_elf_file): Add strtab and symtab. Rename
5292 string_table_section_index to sec_strtab.
5293 (lto_elf_file_vtable): Add lto_elf_read_var_init.
5294 (lto_elf_get_shdr): New function.
5295 (lto_elf_free_shdr): Likewise.
5296 (lto_elf_find_section_data): Use them.
5297 (lto_elf_read_symtab): New function.
5298 (lto_elf_lookup_sym): Likewise.
5299 (lto_elf_free_sym): Likewise.
5300 (lto_elf_file_open): Tidy. Call lto_elf_read_symtab.
5301 (lto_elf_built_init): New function.
5302 (lto_elf_read_var_init): Likewise.
5303 * Make-lang.in (lto/lto-elf.o): Depend on $(TM_H).
5304
3f8257db 53052007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5306
5307 * lto-read (make_new_block): Initialize the stmt_list.
5308 (lto_static_init_local): Add debugging for missing codes.
5309
53102007-06-26 Mark Mitchell <mark@codesourcery.com>
5311
5312 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
5313 unprototyped functions.
5314
53152007-06-23 Mark Mitchell <mark@codesourcery.com>
5316
5317 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
5318 Handle DW_AT_MIPS_linkage_name.
5319 (lto_read_subroutine_type_subprogram): Likewise. Correct
5320 compilation errors.
5321 (lto_main): Remove incorrect assertions.
5322 * lto-symbtab.c: Build function types out of TREE_LISTs.
5323
5324 * lto-elf.c (<libelf>): Check for HAVE_LIBELF_H.
5325
5326 * Make-lang.in (LTO_OBJS): Depend on attribs.o.
5327
3f8257db 53282007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
d7f09764
DN
5329
5330 * lto/lto-tree.h (lang_decl, lang_type, language_function): Added
5331 dummy since ggc does not like empty structs.
5332 * lto/lto-elf.c (libelf.h): Changed to libelf/libelf.h.
5333 * lto/lto-read.c (ADD_CLASS_FLAG, ADD_EXPR_FLAG): Changed
5334 expr->common to expr->base.
5335 (make_new_block): Moved stmt_list to proper place.
5336
5337
53382007-03-14 Robert Kennedy <jimbob@google.com>
5339
5340 Eliminate use of lang_hooks.set_decl_assembler_name from LTO
5341 * lto.c (lto_read_subroutine_type_subprogram_DIE) Get DECL
5342 assembler name from DWARF.
5343 * lto-lang.c (lto_set_decl_assembler_name) New function.
5344
53452006-09-10 Mark Mitchell <mark@codesourcery.com>
5346
5347 * lto.h (lto_file_vtable): New structure.
5348 (lto_file): Add vtable pointer.
5349 (lto_file_init): Add vtable paramter.
5350 (lto_read_function_body): New function.
5351 (lto_symtab_merge_fn): New function.
5352 * lto.c (lto_file_init): Add vtable parameter.
5353 (lto_read_form): Fill in entries for DW_AT_prototyped,
5354 DW_AT_frame_base.
5355 (lto_read_subroutine_type_subprogram_DIE): New function.
5356 (lto_read_DIE): Fill in entries for DW_TAG_subroutine_type and
5357 DW_TAG_subprogram.
5358 * lto-elf.c (lto_elf_vile_vtable): New variable.
5359 (lto_elf_file_open): Pass it to lto_file_init.
5360 (lto_elf_map_fn_body): New function.
5361 (lto_elf_unmap_fn_body): Likewise.
5362 * lto-read.c: New file.
5363 * lto-symtab.c (lto_symtab_merge_fn): New function.
5364 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define to
5365 tree_rest_of_compilation.
5366 * Make-lang.in (LTO_OBJS): Add lto-read.o
5367 (lto-read.o): New target.
5368
53692006-09-03 Mark Mitchell <mark@codesourcery.com>
5370
5371 * lto.c (<inttypes.h>): Don't include it.
5372 (lto_context): Don't typedef it.
5373 (lto_resolve_reference): New function.
5374 (lto_read_form): Use it.
5375 (lto_resolve_type_ref): New function.
5376 (lto_resolve_var_ref): Likewise.
5377 (lto_resolve_fn_ref): Likewise.
5378 * lto.h (<inttypes.h>): Include it.
5379 (lto_context): New type.
5380 (lto_ref): New structure.
5381 (lto_resolve_type_ref): Declare.
5382 (lto_resolve_var_ref): Likewise.
5383 (lto_resolve_fn_ref): Likewise.
5384
53852006-08-18 Mark Mitchell <mark@codesourcery.com>
5386
5387 * lang-specs.h: New file.
5388
53892006-08-14 Mark Mitchell <mark@codesourcery.com>
5390
5391 * lto.c (lto_info_fd_init): Allocate the DIE cache.
5392 (lto_info_fd_close): Deallocate it.
5393 (lto_die_cache_entry): New structure.
5394 (lto_cache_hash): New function.
5395 (lto_cache_eq): Likewise.
5396 (lto_cache_store_DIE): Likewise.
5397 (lto_cache_lookup_DIE): Likewise.
5398 (lto_read_referenced_type_DIE): Use the cache.
5399 (lto_read_pointer_type_DIE): Robustify.
5400 (lto_read_DIE): Use the cache.
5401 * lto.h (hashtab.h): Include.
5402 (lto_info_fd): Add DIE cache.
5403 * Make-lang.in (LTO_H): New variable.
5404 (lto/lto-lang.o): Use LTO_H.
5405 (lto/lto-elf.o): Likewise.
5406 (lto/lto-symtab.o): Likewise.
5407
54082006-07-09 Mark Mitchell <mark@codesourcery.com>
5409
5410 * lto.c (lto_abi_mismatch_error): New function.
5411 (lto_abbrev_read): Initialize num_abbrevs.
5412 (lto_read_form): Specify allowed form classes for
5413 DW_AT_declaration. Adjust for change to lto_set_cu_context.
5414 (lto_read_variable_formal_parameter_constant_DIE): Handle
5415 DW_AT_declaration. Call lto_symtab_merge_var.
5416 (lto_read_pointer_type_DIE): New function.
5417 (lto_read_base_type_DIE): Use build_nonstandard_integer_type. Do
5418 not creat TYPE_DECLs for types that already have them.
5419 (lto_read_DIE): Add lto_read_pointer_type_DIE.
5420 (lto_set_cu_context): Make cu_start point to the header, not the
5421 first DIE.
5422 (lto_file_read): Adjust for change to lto_set_cu_context.
5423 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
5424 (lto/lto-symtab.o): New rule.
5425 * lto-tree.h (lang_identifier): Add decl field.
5426 (LANG_IDENTIFIER_CAST): New macro.
5427 (LTO_IDENTIFIER_DECL): Likewise.
5428 (lto_symtab_merge_var): Declare.
5429 * lto-symtab.c: New file.
5430
54312006-07-02 Daniel Berlin <dberlin@dberlin.org>
5432
5433 * lto.c (lto_context): Add current_cu and info_fd members.
5434 (DWARF2_CompUnit): New structure.
5435 (lto_read_DIE): Take lto_info_fd *.
5436 (lto_read_child_DIEs): Ditto.
5437 (lto_file_corrupt_error): Constify argument.
5438 (lto_set_cu_context): New function
5439 (lto_info_fd_init): Ditto.
5440 (lto_info_fd_close): Ditto.
5441 (lto_file_init): Use lto_info_fd_init.
5442 (lto_file_close): Use lto_info_fd_close.
5443 (lto_read_initial_length): Pass in pointer to header size.
5444 (lto_read_comp_unit_header): Correct cu_length to
5445 real length from beginning of header. Take lto_info_fd * as
5446 argument.
5447 (find_cu_for_offset): New function.
5448 (lto_read_form): Change first argument to lto_info_fd *.
5449 Add FORM_CONTEXT argument.
5450 Handle DW_FORM_ref_addr.
5451 (lto_read_tag_DIE): Change first argument to lto_info_fd *.
5452 (LTO_BEGIN_READ_ATTRS_UNCHECKED): Save old context.
5453 Swap contexts if necessary for form.
5454 (LTO_BEGIN_READ_ATTRS): Cast fd to right type for
5455 lto_file_corrupt_error.
5456 (LTO_END_READ_ATTRS): Swap contexts back if it had changed.
5457 (lto_read_referenced_type_DIE): Change first argument to
5458 lto_info_fd *. Access lto_fd fields through base pointer.
5459 (lto_read_compile_unit_DIE): Change first argument to an
5460 lto_info_fd *.
5461 (lto_read_variable_formal_parameter_constant_DIE): Ditto.
5462 (lto_read_base_type_DIE): Ditto.
5463 (lto_read_child_DIEs): Ditto.
5464 (lto_read_DIE): Ditto. Change type of function pointer.
5465 (lto_info_read): New function.
5466 (lto_set_cu_context): Ditto.
5467 (lto_file_read): Use lto_info_read, walk resulting CU's
5468 (lto_main): Update for lto_info_fd change.
5469 * lto-elf.c (lto_elf_file_open): Cast lto_info_fd to lto_fd where
5470 necessary.
5471 * lto.h (DWARF2_CompUnit): New structure.
5472 (lto_info_fd): Ditto.
5473 (lto_file): Change debug_info to be an lto_info_fd.
5474
54752006-06-25 Mark Mitchell <mark@codesourcery.com>
5476
5477 * lto.c (toplev.h): Include it.
5478 (dwarf2.h): Likewise.
5479 (tree.h): Likewise.
5480 (tm.h): Likewise.
5481 (cgraph.h): Likewise.
5482 (ggc.h): Likewise.
5483 (inttypes.h): Likewise.
5484 (DWARF2_attr): New type.
5485 (DWARF2_abbrev): Likewise.
5486 (DWARF2_class): Likewise.
5487 (DWARF2_form_data): Likewise.
5488 (lto_context): Likewise.
5489 (lto_fd_init): New function.
5490 (lto_abbrev_fd_init): Likewise.
5491 (lto_abbrev_fd_close): Likewise.
5492 (lto_file_init): Use them.
5493 (lto_file_close): New function.
5494 (lto_file_corrupt_error): Likewise.
5495 (LTO_CHECK_INT_VAL): New macro.
5496 (lto_check_size_t_val): New function.
5497 (lto_check_int_val): Likewise.
5498 (LTO_READ_TYPE): New macro.
5499 (lto_read_ubyte): New function.
5500 (lto_read_uhalf): Likewise.
5501 (lto_read_uword): Likewise.
5502 (lto_read_uleb128): Likewise.
5503 (lto_read_initial_length): Likewise.
5504 (lto_abbrev_read_attrs): Likewise.
5505 (lto_abbrev_read): Likewise.
5506 (lto_abbrev_lookup): Likewise.
5507 (lto_read_section_offset): Likewise.
5508 (lto_read_comp_unit_header): Likewise.
5509 (lto_read_form): Likewise.
5510 (LTO_BEGIN_READ_ATTRS_UNCHECKED): New macro.
5511 (LTO_BEGIN_READ_ATTRS): Likewise.
5512 (LTO_END_READ_ATTRS): Likewise.
5513 (lto_unsupported_attr_error): New function.
5514 (lto_get_identifier): Likewise.
5515 (lto_read_referenced_type_DIE): Likewise.
5516 (lto_read_compile_unit_DIE): Likewise.
5517 (lto_read_variable_formal_parameter_constant_DIE): Likewise.
5518 (lto_read_base_type_DIE): Likewise.
5519 (lto_read_DIE): Likewise.
5520 (lto_read_child_DIEs): Likewise.
5521 (lto_file_read): Read DIEs.
5522 (lto_main): Ask middle end to emit entities.
5523 * lto-tree.h (lang_identifier): Inherit from tree_identifier.
5524 * lto-elf.c (lto_elf_file_open): Adjust for interface changes.
5525 (lto_elf_file_close): Likewise.
5526 * lto.h (lto_file): Declare.
5527 (DWARF2_abbrev): Likewise.
5528 (lto_fd): New type.
5529 (lto_abbrev_fd): Likewise.
5530 (lto_file): Use new types.
5531 (lto_file_close): Declare.
5532 * lto-lang.c (lto_init): Always use unit-at-a-time mode.
5533
55342006-06-18 Mark Mitchell <mark@codesourcery.com>
5535
5536 * lto.h: New file.
5537 * lto.c: New file.
5538 * lto-elf.c: New file.
5539 * lto-lang.c (flags.h): Include it.
5540 (lto.h): Likewise.
5541 (lto_init): New function.
5542 (lto_write_globals): Remove.
5543 (LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing.
5544 (LANG_HOOKS_INIT): Define.
5545 (LANG_HOOKS_PARSE_FILE): Likewise.
5546 * Make-lang.in (LTO_OBJS): Add lto.o and lto-elf.o.
5547 (LTO_EXE): Link with libelf.
5548 (lto/lto-lang.o): Update dependencies.
5549 (lto/lto.o): New target.
5550 (lto/lto-elf.o): Likewise.
5551
55522006-06-12 Mark Mitchell <mark@codesourcery.com>
5553
5554 * config-lang.in: New file.
5555 * Make-lang.in: Likewise.
5556 * lto-tree.h: Likewise.
5557 * lto-lang.c: Likewise.
818ab71a
JJ
5558\f
5559Copyright (C) 2006-2016 Free Software Foundation, Inc.
d7f09764 5560
818ab71a
JJ
5561Copying and distribution of this file, with or without modification,
5562are permitted in any medium without royalty provided the copyright
5563notice and this notice are preserved.
This page took 3.785268 seconds and 5 git commands to generate.