]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/lto/ChangeLog
variant (_Variant_storage::_M_storage()): Use std::addressof instead of operator...
[thirdparty/gcc.git] / gcc / lto / ChangeLog
CommitLineData
ea6e17d5
RB
12016-07-25 Richard Biener <rguenther@suse.de>
2
3 * lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
4 (unify_scc): Likewise.
5 (lto_read_decls): Likewise.
6
e9ac1f86
JJ
72016-06-28 Jakub Jelinek <jakub@redhat.com>
8
9 * Make-lang.in: Don't cat ../stage_current if it does not exist.
10
277d7ee0
AK
112016-06-23 Andi Kleen <ak@linux.intel.com>
12
13 * Make-lang.in: Add support for autofdo (disabled for now)
14
4d926e34
MS
152016-06-10 Martin Sebor <msebor@redhat.com>
16
17 PR c/71392
18 * gcc/lto/lto-lang.c (handle_nonnull_attribute): Accept the nonnull
19 attribute in type-generic builtins.
20
479f99c9
JH
212016-05-16 Jan Hubicka <hubicka@ucw.cz>
22
23 * lto-partition.c (add_symbol_to_partition_1): Likewise.
24
1a0bf5e1
JH
252016-05-03 Jan Hubicka <hubicka@ucw.cz>
26
27 * lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed.
28
a2e76867
PK
292016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
30
31 * lto-partition.h (lto_balanced_map): New parameter.
32 * lto-partition.c (lto_balanced_map): New parameter
33 max_partition_size.
34 Check if partition size is greater than max_partition_size.
35 * lto.c (do_whole_program_analysis): Adjust calls to
36 lto_balanced_map() to pass 2nd argument.
37
ea913779
L
382016-03-17 H.J. Lu <hongjiu.lu@intel.com>
39
40 PR lto/70258
41 * lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
42 PIE.
43
56aae4b7
JJ
442016-03-08 Jakub Jelinek <jakub@redhat.com>
45
46 * lto-symtab.h (lto_symtab_prevail_decl): Fix spelling
47 - becuase -> because.
48
ed5d948d
TV
492016-02-15 Tom de Vries <tom@codesourcery.com>
50
51 PR lto/69655
52 * lto.c (read_cgraph_and_symbols): Call input_offload_tables with
53 argument.
54
4ecbadc7
ML
552016-01-27 Martin Liska <mliska@suse.cz>
56
57 * lto-partition.c (add_symbol_to_partition_1): Remove usage
58 of hsa_summaries.
59
e49d321f
JH
602016-01-19 Jan Hubicka <hubicka@ucw.cz>
61
62 PR lto/69136
63 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
64 decls have no assemblernames.
65
b2b40051
MJ
662016-01-19 Martin Liska <mliska@suse.cz>
67 Martin Jambor <mjambor@suse.cz>
68
69 * lto-partition.c: Include "hsa.h"
70 (add_symbol_to_partition_1): Put hsa implementations into the
71 same partition as host implementations.
72
5803bd01
JH
732016-01-12 Jan Hubicka <hubicka@ucw.cz>
74
75 PR lto/69003
76 * lto-partition.c (rename_statics): Fix pasto.
77
13092f61
RB
782016-01-18 Richard Biener <rguenther@suse.de>
79
80 PR lto/69337
81 * lto-symtab.c (lto_symtab_merge): Return early for mismatched
82 function vs. variable.
83
3c4e91c9
RB
842016-01-12 Richard Biener <rguenther@suse.de>
85
86 PR lto/69077
87 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
88 merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
89
818ab71a
JJ
902016-01-04 Jakub Jelinek <jakub@redhat.com>
91
92 Update copyright years.
93
3fddb2ef
JH
942015-12-10 Jan Hubicka <hubicka@ucw.cz>
95
96 PR lto/68878
97 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
98 * lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
99 (lto_symtab_prevailing_decl): Use it.
100
4a38b02b
IV
1012015-12-15 Ilya Verbin <ilya.verbin@intel.com>
102
103 * lto.c: Include stringpool.h and fold-const.h.
104 (offload_handle_link_vars): New static function.
105 (lto_main): Call offload_handle_link_vars.
106
ca834876
JH
1072015-12-10 Jan Hubicka <hubicka@ucw.cz>
108
109 * lto.c (lto_read_in_decl_state): Unpickle compressed bit.
110
958a627f
JH
1112015-12-11 Jan Hubicka <hubicka@ucw.cz>
112
113 PR ipa/61886
114 * lto-symtab.c (lto_symtab_merge_p): Avoid merging across different
115 values of error and warning attributes.
116
da20571a
JH
1172015-12-08 Jan Hubicka <hubicka@ucw.cz>
118
119 PR lto/68811
120 * lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
121 DECL.
122 (LTO_NO_PREVAIL): Use gcc_checking_assert.
123
378004b9
JH
1242015-12-08 Jan Hubicka <hubicka@ucw.cz>
125
126 PR lto/68811
127 * lto-symtab.c (lto_symtab_merge_decls_2): Decl can never be prevailed
128 by itself.
129
6b9ac179
JH
1302015-12-08 Jan Hubicka <hubicka@ucw.cz>
131
132 PR ipa/61886
133 * lto-symtab.c: Include lto-symtab.h.
134 (lto_cgraph_replace_node): Do not merge profiles here.
135 (lto_symtab_merge_p): New function.
136 (lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
137 (lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
138 aliases.
139 (lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
140 (lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
141 * lto.c: Include lto-symtab.h
142 * lto-symtab.h: New.
143
41c60c6c
JH
1442015-12-08 Jan Hubicka <hubicka@ucw.cz>
145
146 PR ipa/61886
147 * lto-partition.c (add_symbol_to_partition_1): Transparent aliases
148 are not part of the definition.
149 (contained_in_symbol): Likewise.
150 (promote_symbol): When promoting a symbol also promote all transparent
151 aliases.
152 (rename_statics): Weakref needs unique name, too.
153
71e54687
JH
1542015-12-07 Jan Hubicka <hubicka@ucw.cz>
155
156 PR ipa/61886
157 * lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
158 rename_statics, rename_statics): Handle transparent aliases.
159
88636b62
JH
1602015-12-04 Jan Hubicka <hubicka@ucw.cz>
161
162 * lto-symtab.c (lto_cgraph_replace_node): Update code computing
163 merged_comdat.
164
8c86248e
JH
1652015-12-01 Jan Hubicka <hubicka@ucw.cz>
166
167 * lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET.
168
1ff9ed6f
JH
1692015-11-25 Jan Hubicka <jh@suse.cz>
170
171 * lto-lang.c (lto_post_options): Process flag_lto_linker_output.
172 * lang.opt (lto_linker_output): New enum.
173 (flinker_output): New flag.
174
22bea0be
JH
1752015-11-24 Jan Hubicka <hubicka@ucw.cz>
176
177 * lto-symtab.c: Include alias.h
178 (warn_type_compatibility_p): Replace types_compatible_p checks by
179 TBAA and size checks; set bit 2 if locations are TBAA incompatible.
180 (lto_symtab_merge): Compare DECL sizes.
181 (lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
182
aea50b45
JH
1832015-11-24 Jan Hubicka <hubicka@ucw.cz>
184
185 * lto.c (iterative_hash_canonical_type): Recruse for all types
186 which pass !canonical_type_used_p.
187 (gimple_register_canonical_type_1): Sanity check we do not compute
188 canonical type of anything with !canonical_type_used_p.
189 (gimple_register_canonical_type): Skip all types that are
190 !canonical_type_used_p
191
deb3dae6
JH
1922015-11-24 Jan Hubicka <hubicka@ucw.cz>
193
194 * lto.c (unify_scc): Use free_node.
195
f85d2487
JH
1962015-11-21 Jan Hubicka <hubicka@ucw.cz>
197
198 * lto.c (iterative_hash_canonical_type): Always recurse for pointers.
199 (gimple_register_canonical_type_1): Check that pointers do not get
200 canonical types.
201 (gimple_register_canonical_type): Do not register pointers.
202
2032015-11-21 Jan Hubicka <hubicka@ucw.cz>
feb391fc
JH
204
205 * lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
206 flag for types that are not ODR; fix loop walking parameters.
207
69f293c9
AM
2082015-11-11 Andrew MacLeod <amacleod@redhat.com>
209
210 * lto-lang.c: Remove unused header files.
211 * lto-object.c: Likewise.
212 * lto-partition.c: Likewise.
213 * lto-symtab.c: Likewise.
214 * lto.c: Likewise.
215
ee45a32d
EB
2162015-11-08 Eric Botcazou <ebotcazou@adacore.com>
217
218 * lto.c (compare_tree_sccs_1): Deal with TYPE_REVERSE_STORAGE_ORDER.
219
0aad0198
RS
2202015-11-07 Richard Sandiford <richard.sandiford@arm.com>
221
222 * lto-lang.c: Don't undef DEF_BUILTIN.
223
2adfab87
AM
2242015-10-29 Andrew MacLeod <amacleod@redhat.com>
225
226 * lto-lang.c: Reorder #include's and remove duplicates.
227 * lto-object.c: Likewise.
228 * lto-partition.c: Likewise.
229 * lto-symtab.c: Likewise.
230 * lto.c: Likewise.
231
b2b29377
MM
2322015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
233
234 * lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING
235 conditionals.
236 (lto_fixup_state): Likewise.
237 (do_whole_program_analysis): Use
238 symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING
239 conditionals.
240
d9a6bd32
JJ
2412015-10-13 Jakub Jelinek <jakub@redhat.com>
242
243 * lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
244 DEF_FUNCTION_TYPE_11): Define.
245
9c4eeafc
JH
2462015-10-10 Jan Hubicka <hubicka@ucw.cz>
247
248 * lto.c (hash_canonical_type): Honor
249 type_with_interoperable_signedness.
250
3e32ee19
NS
2512015-09-28 Nathan Sidwell <nathan@codesourcery.com>
252
253 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
254 (DEF_FUNCTION_TYPE_VAR_11): Delete.
255
f196d062
RB
2562015-08-31 Richard Biener <rguenther@suse.de>
257
258 * lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
259 * lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
260 (lto_symtab_prevailing_decl): Do not replace a decl that didn't
261 participate in merging with something else.
262
45aee888
RB
2632015-08-31 Richard Biener <rguenther@suse.de>
264
265 * lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
266 test, do not replace a non-builtin with a builtin.
267 * lto.c (compare_tree_sccs_1): Do not merge things we stream
268 as builtins vs. non-builtins.
269
a79683d5
TS
2702015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
271
272 * lto.h: Remove useless typedefs.
273
48d859bb
AM
2742015-07-15 Andrew MacLeod <amacleod@redhat.com>
275
276 * lto.c: Remove redundant includes.
277
026c3cfd
AH
2782015-07-12 Aldy Hernandez <aldyh@redhat.com>
279
280 * lto-lang.c: Fix double word typos.
281
9fdcd34e
AM
2822015-07-10 Andrew MacLeod <amacleod@redhat.com>
283
284 * lto.c: Include cfghooks.h rather than predict.h.
285
f51ade33
AM
2862015-07-09 Andrew MacLeod <amacleod@redhat.com>
287
288 * lto-lang.c: Adjust includes of target.h, alloc-pool.h and
289 lto-streamer.h.
290 * lto-object.c: Likewise.
291 * lto-partition.c: Likewise.
292 * lto-symtab.c: Likewise.
293
1916bcb5
AM
2942015-07-09 Andrew MacLeod <amacleod@redhat.com>
295
296 * lto-lang.c: Adjust includes for flags.h changes.
297
c7131fb2
AM
2982015-07-07 Andrew MacLeod <amacleod@redhat.com>
299
300 * lto-lang.c: Adjust includes.
301 * lto-object.c: Likewise.
302 * lto-partition.c: Likewise.
303 * lto-symtab.c: Likewise.
304 * lto.c: Likewise.
305
f0889939
AM
3062015-06-25 Andrew MacLeod <amacleod@redhat.com>
307
308 * lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
309 * lto-object.c: Likewise.
310 * lto-partition.c: Likewise.
311 * lto-symtab.c: Likewise.
312 * lto-tree.h: Likewise.
313 * lto.c: Likewise.
314
8d67ee55
RS
3152015-06-25 Richard Sandiford <richard.sandiford@arm.com>
316
317 * lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
318 than typed_noop_remove. Remove redudant typedefs.
319
abb226c9
AM
3202015-06-17 Andrew MacLeod <amacleod@redhat.com>
321
322 * lto-lang.c: Do not include input.h, line-map.h or is-a.h.
323 * lto-object.c: Likewise.
324 * lto-partition.c: Likewise.
325 * lto-symtab.c: Likewise.
326 * lto.c: Likewise.
327
351d90f4
JH
3282015-06-14 Jan Hubicka <hubicka@ucw.cz>
329
330 PR ipa/66181
331 * lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
332
44c42705
DD
3332015-06-12 DJ Delorie <dj@redhat.com>
334
335 * lto-lang.c (lto_type_for_size): Include intN types.
336 (lto_type_for_mode): Likewise.
337
64578d98
JH
3382015-06-08 Jan Hubicka <hubicka@ucw.cz>
339
340 * lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
341
13fdf2e2
AM
3422015-06-08 Andrew MacLeod <amacleod@redhat.com>
343
344 * lto-lang.c : Adjust include files.
345 * lto-object.c : Likewise.
346 * lto-partition.c : Likewise.
347 * lto-partition.h : Likewise.
348 * lto-symtab.c : Likewise.
349 * lto.c : Likewise.
350 * lto.h : Likewise.
351
ccb5ad37
JH
3522015-06-06 Jan Hubicka <hubicka@ucw.cz>
353
6542950e
JH
354 PR lto/65378
355 * lto-symtab.c (warn_type_compatibility_p): Fix call of
356 odr_or_derived_type_p.
357 (lto_symtab_merge_decls_2): Update call of warn_types_mismatch.
358
3592015-06-08 Jan Hubicka <hubicka@ucw.cz>
360
361
ccb5ad37
JH
362 * lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
363 pointers.
364
d7438551
AH
3652015-06-05 Aldy Hernandez <aldyh@redhat.com>
366
367 * lto-lang.c (lto_write_globals): Remove.
368 (LANG_HOOKS_WRITE_GLOBALS): Same.
369
ecb9f223
AM
3702015-06-04 Andrew MacLeod <amacleod@redhat.com>
371
372 * lto-lang.c: Adjust includes for restructured coretypes.h.
373 * lto-object.c: Likewise.
374 * lto-partition.c: Likewise.
375 * lto-symtab.c: Likewise.
376 * lto.c: Likewise.
377
9cb9b937
JH
3782015-06-04 Jan Hubicka <hubicka@ucw.cz>
379
380 * lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.
381
93e2aa6d
JH
3822015-06-03 Jan Hubicka <hubicka@ucw.cz>
383
384 * lto.c (iterative_hash_canonical_type,
385 gimple_register_canonical_type): only hash main variants of types
386
faae53f8
ML
3872015-05-27 Martin Liska <mliska@suse.cz>
388
389 * lto-partition.c (new_partition): Reset number of symbols.
390 (add_symbol_to_partition_1): Increment number of symbols.
391 (undo_partition): Decrement number of symbols.
392 (lto_balanced_map): Dump number of symbols and insns that
393 belong to a partition.
394 * lto-partition.h (struct ltrans_partition_def): Add symbol counter.
395
b727ba74
JH
3962015-05-22 Jan Hubicka <hubicka@ucw.cz>
397
398 * lto.c (hash_canonical_type): Be sure we hash only types that
399 need alias set.
400 (gimple_register_canonical_type_1): Do not produce canonical
401 types for types that do not need alias sets.
402
1d1218fb
JH
4032015-05-22 Jan Hubicka <hubicka@ucw.cz>
404
405 * lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
406
872d5034
JH
4072015-05-19 Jan Hubicka <hubicka@ucw.cz>
408
409 * lto.c (gimple_canonical_types_compatible_p): Move to tree.c
410
259d29e3
JH
4112015-05-17 Jan Hubicka <hubicka@ucw.cz>
412
413 * lto-symtab.c (warn_type_compatibility_p): Break out from ...;
414 compare ODR types (if available) and function types.
415 (lto_symtab_merge): ... here; output ODR violation warnings
416 and call warn_types_mismatch.
417
b0845a1e
JH
4182015-04-29 Jan Hubicka <hubicka@ucw.cz>
419
420 * lto.c (lto_fixup_state): Call verify_type.
421
67f58944
TS
4222015-04-18 Trevor Saunders <tsaunders@mozilla.com>
423
b0845a1e 424 * lto.c: Adjust for hash_table changes.
67f58944 425
36ceb0e3
JH
4262015-03-27 Jan Hubicka <hubicka@ucw.cz>
427
428 * lto.c (lto_read_decls): Move code registering odr types out
429 of TYPE_CANONICAL conditional and also register polymorphic types.
430
afd1e7c6
JH
4312015-03-26 Jan Hubicka <hubicka@ucw.cz>
432
433 * lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
434 DECL_ARTIFICAL symbols.
435
eaeec5ec
JH
4362015-03-26 Jan Hubicka <hubicka@ucw.cz>
437
438 PR lto/65536
439 * lto.c (unify_scc): Revert location cache when unification
440 suceeded.
441 (lto_read_decls): Accept location cache after sucess;
442 apply location cache before calling debug hooks.
443
1c4db829
JH
4442015-03-10 Jan Hubicka <hubicka@ucw.cz>
445
446 * lto.c (read_cgraph_and_symbols): Do not do merging
447 at ltrans stage.
448
db847fa8
JJ
4492015-02-26 Jakub Jelinek <jakub@redhat.com>
450
451 * lto.c (lto_mode_identity_table): New variable.
452 (lto_read_decls): Add mode_table argument to the lto_input_block
453 constructor.
454 (lto_file_finalize): Initialize mode_table.
455 (lto_init): Initialize lto_mode_identity_table.
456
56a9f6bc
TS
4572015-02-24 Thomas Schwinge <thomas@codesourcery.com>
458
459 PR libgomp/64625
460 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
461 Remove macros.
462 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
463
ebc8f0bb
JH
4642015-02-03 Jan Hubicka <hubicka@ucw.cz>
465
466 * lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.
467
40fecdd6
JM
4682015-01-30 Joseph Myers <joseph@codesourcery.com>
469
470 * lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
471 changed to pass input_location as first argument.
472
040968a8
JH
4732014-12-11 Jan Hubicka <hubicka@ucw.cz>
474
475 * lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
476
69fe4502
JH
4772014-12-11 Jan Hubicka <hubicka@ucw.cz>
478
479 * lto.c (compare_tree_sccs_1): Add comparsion of
480 DECL_FUNCTION_SPECIFIC_TARGET
481
41dbbb37
TS
4822015-01-15 Thomas Schwinge <thomas@codesourcery.com>
483 James Norris <jnorris@codesourcery.com>
484
485 * lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
486 New macros.
487 * lto.c: Include "gomp-constants.h".
488
837bac8c
IV
4892015-01-14 Ilya Verbin <ilya.verbin@intel.com>
490
491 * lto-partition.c (lto_promote_cross_file_statics): Remove argument
492 from select_what_to_stream.
493
1b34e6e2
BS
4942015-01-09 Bernd Schmidt <bernds@codesourcery.com>
495 Jakub Jelinek <jakub@redhat.com>
496
497 PR middle-end/64412
498 * lto.c (read_cgraph_and_symbols): Set lto_stream_offload_p
499 if ACCEL_COMPILER.
500
adfac8df
JJ
5012015-01-09 Michael Collison <michael.collison@linaro.org>
502
503 * lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
504 input.h, alias.h, symtab.h, options, fold-const.h,
505 wide-int.h, and inchash.h due to flattening of tree.h.
506 * lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
507 input.h, alias.h, symtab.h, fold-const.h,
508 wide-int.h, and inchash.h due to flattening of tree.h.
509 * lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
510 input.h, alias.h, symtab.h, options, fold-const.h,
511 wide-int.h, and inchash.h due to flattening of tree.h.
512 * lto-partition.c: Ditto.
513 * lto-symtab.c: Ditto.
514
5624e564
JJ
5152015-01-05 Jakub Jelinek <jakub@redhat.com>
516
517 Update copyright years.
518
9a1e784a
ML
5192014-12-22 Martin Liska <mliska@suse.cz>
520
521 * lto-partition.c (add_symbol_to_partition_1): New inline_summaries
522 is used.
523 (undo_partition): Likewise.
524 (lto_balanced_map): Likewise.
525
dd912cb8
ML
5262014-12-22 Martin Liska <mliska@suse.cz>
527
528 * lto-partition.c: Include of symbol-summary.h is added.
529 * lto-symtab.c: Likewise.
530 * lto.c: Likewise.
531
17e0fc92
JH
5322014-12-11 Jan Hubicka <hubicka@ucw.cz>
533
534 PR ipa/61324
535 * lto.c (read_cgraph_and_symbols): Update call of
536 remove_unreachable_nodes.
537 (do_whole_program_analysis): Remove call of
538 symtab->remove_unreachable_nodes
539
58dddbd2
TS
5402014-12-08 Trevor Saunders <tsaunders@mozilla.com>
541
542 * lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
543 htab with malloc instead of ggc.
544
907dadbd
TS
5452014-11-20 Trevor Saunders <tsaunders@mozilla.com>
546
547 * lto.c: Replace htab with hash_table.
548
9c71e9df
TS
5492014-11-20 Trevor Saunders <tsaunders@mozilla.com>
550
551 * lto.c (lto_read_in_decl_state): Adjust.
552 (lto_fixup_state): Likewise.
553
72a4a8b0
JH
5542014-11-17 Jan Hubicka <hubicka@ucw.cz>
555
556 * lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET.
557
54e774c0
JH
5582014-11-14 Jan Hubicka <hubicka@ucw.cz>
559
560 * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
561
1f6be682
IV
5622014-11-13 Ilya Verbin <ilya.verbin@intel.com>
563 Bernd Schmidt <bernds@codesourcery.com>
564 Andrey Turetskiy <andrey.turetskiy@intel.com>
565 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
566
ec6fe917
IV
567 * lto/lto.c (read_cgraph_and_symbols): Call input_offload_tables.
568
5692014-11-13 Ilya Verbin <ilya.verbin@intel.com>
570 Ilya Tocar <ilya.tocar@intel.com>
571 Andrey Turetskiy <andrey.turetskiy@intel.com>
572 Bernd Schmidt <bernds@codesourcery.com>
573
1f6be682
IV
574 * lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
575 LTO_SECTION_NAME_PREFIX.
576 * lto-partition.c (lto_promote_cross_file_statics): Call
577 select_what_to_stream.
578 * lto.c (lto_section_with_id): Use section_name_prefix instead of
579 LTO_SECTION_NAME_PREFIX.
580 (read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
581 being built as an offload compiler.
582
ef4bddc2
RS
5832014-10-29 Richard Sandiford <richard.sandiford@arm.com>
584
585 * lto-lang.c: Remove redundant enum from machine_mode.
586
c582198b
AM
5872014-10-28 Andrew MacLeod <amacleod@redhat.com>
588
589 * lto.c: Adjust include files.
590 * lto-lang.c: Ditto.
591 * lto-object.c: Ditto.
592 * lto-partition.c: Ditto.
593 * lto-symtab.c: Ditto.
594
60393bbc
AM
5952014-10-27 Andrew MacLeod <amacleod@redhat.com>
596
597 * lto-lang.c: Adjust include files.
598 * lto-object.c: Ditto.
599 * lto-partition.c: Ditto.
600 * lto-symtab.c: Ditto.
601 * lto.c: Ditto.
602
957f47e6
DD
6032014-10-16 DJ Delorie <dj@redhat.com>
604
605 * lto-object.c (lto_obj_begin_section): In the event that pointer
606 sizes aren't powers of two, choose a more suitable alignment
607 than (unsigned)(-1).
608
78a7c317
DD
6092014-10-14 DJ Delorie <dj@redhat.com>
610
611 * lto-lang.c (lto_build_c_type_nodes): Check intN types for
612 size-type as well.
613 (lto_init): Initialize all intN types, not just int128.
614
70261a4f
ML
6152014-10-06 Martin Liska <mliska@suse.cz>
616
617 * lto.c (stream_out): ARG_UNUSED added for last argument.
618
00de328a
AH
6192014-09-24 Aldy Hernandez <aldyh@redhat.com>
620
621 * lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
622 DECL_ABSTRACT_P.
623
7861b648
AK
6242014-09-23 Andi Kleen <ak@linux.intel.com>
625
626 * lto-partition.c (node_cmp): Update comment.
627 (varpool_node_cmp): Use symtab_node for comparison.
628 (add_sorted_nodes): New function.
629 (lto_balanced_map): Change to keep ordered queue
630 of ordered node. Handle no_reorder attribute.
631
1ee85ee1
JH
6322014-09-11 Jan Hubicka <hubicka@ucw.cz>
633
634 * lto.c (lto_read_decls): Register ODR types.
635
8605403e
JH
6362014-08-20 Jan Hubicka <hubicka@ucw.cz>
637
638 * lto.c (read_cgraph_and_symbols): Fix symtab_remove_unreachable_nodes
639 call.
640 (do_whole_program_analysis): Only sanity check that IPA passes cleans up.
641
56b1f114
JH
6422014-08-14 Jan Hubicka <hubicka@ucw.cz>
643
644 * lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.
645
833f94c0
RB
6462014-08-14 Richard Biener <rguenther@suse.de>
647
648 PR lto/62067
649 * lto-lang.c (def_fn_type): Fix error handling wrt va_end.
650
207c68cd
RB
6512014-08-08 Richard Biener <rguenther@suse.de>
652
653 * lto.c (lto_read_decls): Adjust for lto_input_block changes.
654
7c581d61
BC
6552014-08-08 Bin Cheng <bin.cheng@arm.com>
656
657 PR lto/62032
658 * lto-lang.c (lto_init): Switch mis-matched arguments.
659
39c8aaa4
TS
6602014-08-07 Trevor Saunders <tsaunders@mozilla.com>
661
662 * lto-partition.c, lto.c: Use hash_map instead of pointer_map.
663
6e2830c3
TS
6642014-08-02 Trevor Saunders <tsaunders@mozilla.com>
665
666 * lto-partition.c, lto-partition.h: Use hash_set instead of
667 pointer_set.
668
50de5793
AK
6692014-07-31 Andi Kleen <ak@linux.intel.com>
670
671 * lto.c (hash_canonical_type): Use inchash::hash
672 and use inchash::add_expr.
673 (iterative_hash_canonical_type): Dito.
674
f6bcdb5e
RB
6752014-07-30 Richard Biener <rguenther@suse.de>
676
677 * lto-streamer.h (lto_write_data): New function.
678 * langhooks.c (lhd_append_data): Do not free block.
679 * lto-section-out.c (lto_write_data): New function writing
680 raw data to the current section.
681 (lto_write_stream): Adjust for langhook semantic change.
682 (lto_destroy_simple_output_block): Write header directly.
683 * lto-opts.c (lto_write_options): Write options directly.
684 * lto-streamer-out.c (produce_asm): Write heaeder directly.
685 (lto_output_toplevel_asms): Likewise.
686 (copy_function_or_variable): Copy data directly.
687 (write_global_references): Output index table directly.
688 (lto_output_decl_state_refs): Likewise.
689 (write_symbol): Write data directly.
690 (produce_symtab): Adjust.
691 (produce_asm_for_decls): Output header and refs directly.
692
56fdfd3e
AK
6932014-07-25 Andi Kleen <ak@linux.intel.com>
694
695 * lto.c (hash_canonical_type): Call iterative_hstate_expr.
696
0bd8bb04
AK
6972014-07-25 Andi Kleen <ak@linux.intel.com>
698
699 * lto.c (hash_canonical_type): Convert to inchash.
700 (iterative_hash_canonical_type): Dito.
701
6d8eb96b
AK
7022014-07-25 Andi Kleen <ak@linux.intel.com>
703
704 * lto.c: Include inchash.h
705
ad115a3c
JH
7062014-07-14 Jan Hubicka <hubicka@ucw.cz>
707
708 * lto.c (mentions_vars_p_decl_non_common): Skip
709 DECL_ARGUMENT_FLD.
710 mentions_vars_p_function): Do DECL_ARGUMENTS.
711 (lto_fixup_prevailing_decls): Update.
712
917dd9bf
JH
7132014-07-12 Jan Hubicka <hubicka@ucw.cz>
714
715 * lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO
716 timevar
717 (materialize_cgraph): Do not push GIMPLE_IN timevar.
718
0b83e688
JH
7192014-07-11 Jan Hubicka <hubicka@ucw.cz>
720
721 * lto-partition.c (add_references_to_partition): Use
722 varpool_ctor_useable_for_folding_p.
723 * lto.c (lto_read_in_decl_state): Update sanity check.
724
e55637b7
ML
7252014-07-01 Martin Liska <mliska@suse.cz>
726
727 IPA REF alias refactoring
728 * lto-partition.c (add_symbol_to_partition_1): Usage of
729 FOR_EACH_ALIAS added.
730
010f4e27
JH
7312014-06-28 Jan Hubicka <hubicka@ucw.cz>
732
733 Revert:
734 * lto.c (lto_copy_fields_not_streamed): New function.
735 (compare_tree_sccs_1): Do not compare fields shared in between type
736 and variant.
737 (lto_read_decls): Fixup types first before inserting into hash.
738
b82fe354
AP
7392014-06-28 Andrew Pinski <apinski@cavium.com>
740
741 * lto.c (lto_read_decls): Fix comment in comment.
742
288eeff7
JH
7432014-06-28 Jan Hubicka <hubicka@ucw.cz>
744
745 * lto.c (lto_copy_fields_not_streamed): New function.
746 (compare_tree_sccs_1): Do not compare fields shared in between type
747 and variant.
748 (lto_read_decls): Fixup types first before inserting into hash.
749
e01fa630
ML
7502014-06-25 Martin Liska <mliska@suse.cz>
751
752 * lto/lto-partition.c (add_references_to_partition): New IPA REF function
753 used.
754 (add_symbol_to_partition_1): Likewise.
755 (lto_balanced_map): Likewise.
756 * lto/lto-symtab.c (lto_cgraph_replace_node): Likewise.
757
aaf8a23e
JH
7582014-06-24 Jan Hubicka <hubicka@ucw.cz>
759
760 * lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
761 (mentions_vars_p_function): ... here.
762 (compare_tree_sccs_1): Update VINDEX checks.
763 (lto_fixup_prevailing_decls): Likewise.
764
1eb68d2d
TS
7652014-06-24 Trevor Saunders <tsaunders@mozilla.com>
766
767 * lto.c (canonical_type_hash_cache): Use hash_map instead of
768 pointer_map.
769
c203e8a7
TS
7702014-06-24 Trevor Saunders <tsaunders@mozilla.com>
771
772 * lto.c: Adjust.
773
714c800f
JH
7742014-06-20 Jan Hubicka <hubicka@ucw.cz>
775
776 * lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.
777
569b1784
JH
7782014-06-20 Jan Hubicka <hubicka@ucw.cz>
779
780 * lto.c (compare_tree_sccs_1): Do not compare priorities.
781
56363ffd
JH
7822014-06-15 Jan Hubicka <hubicka@ucw.cz>
783
784 * lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
785
e257a17c
JH
7862014-06-10 Jan Hubicka <hubicka@ucw.cz>
787
788 * lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
789 (do_whole_program_analysis): Use verify_symtab.
790
24d047a3
JH
7912014-06-07 Jan Hubicka <hubicka@ucw.cz>
792
793 * lto.c (mentions_vars_p_decl_with_vis, compare_tree_sccs_1,
794 lto_fixup_prevailing_decls): Skip section names.
795
9b2b7279
AM
7962014-06-02 Andrew MacLeod <amacleod@redhat.com>
797
798 * lto-symtab.c: Include builtins.h.
799
a9243bfc
RB
8002014-05-26 Richard Biener <rguenther@suse.de>
801
802 * lto.c (lto_parse_hex): Use int64_t.
803 (lto_resolution_read): Likewise.
804
fd1e9302
JH
8052014-05-23 Jan Hubicka <hubicka@ucw.cz>
806
807 * lto.c (read_cgraph_and_symbols): Grow ggc memory after streaming.
808
aede2c10
JH
8092014-05-23 Jan Hubicka <hubicka@ucw.cz>
810
811 * lto-symtab.c (lto_symtab_merge_symbols): Update code setting
812 symtab pointer.
813 * lto.c (compare_tree_sccs_1): Do not compare comdat groups.
814
f6a7cffc
TS
8152014-05-22 Thomas Schwinge <thomas@codesourcery.com>
816
817 * lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
818 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
819 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
820
4000360e
BS
8212012-05-22 Bernd Schmidt <bernds@codesourcery.com>
822
823 * lto-object.c: Include "lto-section-names.h".
824 (LTO_SEGMENT_NAME): Don't define.
825 * lto.c: Include "lto-section-names.h".
826
b9559136
JH
8272014-05-17 Jan Hubicka <hubicka@ucw.cz>
828
829 PR lto/61012
830 * lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
831 mixed with variables.
832
766090c2
TS
8332014-05-17 Trevor Saunders <tsaunders@mozilla.com>
834
835 * lto-tree.h: Don't use variable_size gty attribute.
836 * lto.c (lto_read_in_decl_state): Adjust.
837 (create_subid_section_table): Likewise.
838 (lto_flatten_files): Likewise.
839 (read_cgraph_and_symbols): Likewise.
840
1d60af08
KZ
8412014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
842 Mike Stump <mikestump@comcast.net>
843 Richard Sandiford <rdsandiford@googlemail.com>
844
845 * lto.c (compare_tree_sccs_1): Use wide-int interfaces.
846 * lto-lang.c (get_nonnull_operand): Likewise.
847
22869a37
RB
8482014-04-28 Richard Biener <rguenther@suse.de>
849
850 PR middle-end/60092
851 * lto-lang.c: Define flag_isoc11.
852
7de90a6c
DM
8532014-04-23 David Malcolm <dmalcolm@redhat.com>
854
855 * lto-partition.c (add_references_to_partition): Update for
856 removal of implicit pointer from the is-a.h API.
857 (add_symbol_to_partition_1): Likewise.
858 (contained_in_symbol): Likewise.
859 (undo_partition): Likewise.
860 (lto_balanced_map): Likewise.
861 (promote_symbol): Likewise.
862 * lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
863 (lto_symtab_merge_symbols): Likewise.
864 * lto.c (lto_wpa_write_files): Likewise.
865
783dab6b
RB
8662014-04-15 Richard Biener <rguenther@suse.de>
867
868 * lto.c: Include params.h.
869 (do_whole_program_analysis): Switch on flag_lto_partition value,
870 add support for LTO_PARTITION_ONE.
871 * lto-partition.h (lto_balanced_map): Adjust.
872 * lto-partition.c (lto_balanced_map): Get number of desired
873 partitions as argument to support -flto-partition=one.
874
cb90235d
JH
8752014-04-14 Jan Hubicka <hubicka@ucw.cz>
876
877 * lto/lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
878 tp_first_run.
879
bbe281da
JH
8802014-03-19 Jan Hubicka <hubicka@ucw.cz>
881
882 * lto.c: Include ipa-inline.h
883 (do_whole_program_analysis): Free inline summary after partitioning.
884
ce2f49b3
RB
8852014-03-19 Richard Biener <rguenther@suse.de>
886
887 PR middle-end/60553
888 * lto-tree.h (lang_tree_node): For types use TYPE_NEXT_VARIANT
889 instead of TREE_CHAIN as chain_next.
890
e41106fc
RB
8912014-03-19 Richard Biener <rguenther@suse.de>
892
893 * lto.c (lto_wpa_write_files): Move call to
894 lto_promote_cross_file_statics ...
895 (do_whole_program_analysis): ... here, into the partitioning
896 block. Do not ggc_collect after lto_wpa_write_files but
897 for a last time before it.
898
15df2655
JJ
8992014-03-19 Jakub Jelinek <jakub@redhat.com>
900
901 PR lto/60571
902 * lto.c (wait_for_child): Define WCONTINUED if not defined to 0.
903 Fix formatting.
904
415e2e6b
JJ
9052014-03-18 Jakub Jelinek <jakub@redhat.com>
906
907 PR sanitizer/60535
908 * lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node
909 and complex_{float,{,long_}double}_type_node.
910
f42c637e
PM
9112014-03-08 Paulo Matos <paulo@matos-sorge.com>
912
415e2e6b
JJ
913 * lto-lang.c (lto_init): Pass flag_short_double to
914 build_common_tree_nodes.
f42c637e 915
6dab804d
JH
9162014-02-14 Jan Hubicka <hubicka@ucw.cz>
917
918 PR lto/60295
919 * lto.c (stream_out): Avoid parallel streaming with
920 -flto=jobserver until we are able to throttle it down
921 resonably.
922
39434bce
JH
9232014-02-14 Jan Hubicka <hubicka@ucw.cz>
924
925 * lto-partition.c (add_symbol_to_partition_1,
926 undo_partition, lto_balanced_map): Aliases have no
927 defined size.
928 (lto_balanced_map): Do not follow refering variables
929 if they can be optimized out.
930
1966fd99
RB
9312014-02-14 Richard Biener <rguenther@suse.de>
932
933 PR lto/60179
934 * lto.c (compare_tree_sccs_1): Do not compare
935 DECL_FUNCTION_SPECIFIC_TARGET.
936 (lto_read_decls): Re-build DECL_FUNCTION_SPECIFIC_TARGET.
937
283416b3
RB
9382014-02-12 Richard Biener <rguenther@suse.de>
939
940 PR lto/60060
941 * lto-lang.c (lto_write_globals): Do not call
942 wrapup_global_declarations or emit_debug_global_declarations
943 but emit debug info for non-function scope variables
944 directly.
945
b7e85694
JH
9462014-02-06 Jan Hubicka <hubicka@ucw.cz>
947
948 * lto.c (unify_scc): Free CONSTRUCTOR_ELTS.
949
96451279
JH
9502014-02-06 Jan Hubicka <hubicka@ucw.cz>
951
952 PR ipa/59469
953 * lto-partition.c (symbol_class): Move to cgraph.h
954 (get_symbol_class): Move to symtab.c
955 (add_references_to_partition, add_symbol_to_partition_1,
956 lto_max_map, lto_1_to_1_map, lto_balanced_map,
957 lto_promote_cross_file_statics): Update.
958
f300e7b8
JH
9592014-02-05 Jan Hubicka <hubicka@ucw.cz>
960
961 * lto.c (lto_parallelism): New static var.
962 (do_stream_out, wait_for_child, stream_out): New static functions.
963 (lto_wpa_write_files): Add support for parallel streaming.
964 (do_whole_program_analysis): Set parallelism.
965 * lang.opt (fwpa): Add parameter.
966 * lto-lang.c (lto_handle_option): Handle flag_wpa.
967 (lto_init): Update use of flag_wpa.
968 * lto-streamer.h (asm_nodes_output): Declare.
969
f0f91770
RB
9702014-02-05 Richard Biener <rguenther@suse.de>
971
972 * lto.h (lto_global_var_decls): Remove.
973 * lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
974 (lto_write_globals): Do nothing in WPA stage, gather globals from
975 the varpool here ...
976 * lto.c (lto_main): ... not here.
977 (materialize_cgraph): Do not call rest_of_decl_compilation
978 on the empty lto_global_var_decls vector.
979 (lto_global_var_decls): Remove.
980
d665f8dd
JH
9812014-02-04 Jan Hubicka <hubicka@ucw.cz>
982
983 * lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
984 needs duplicating, not generic COMDAT.
985
c39276b8
RB
9862014-02-04 Richard Biener <rguenther@suse.de>
987
988 PR lto/59723
989 * lto.c (mentions_vars_p): Handle NAMELIST_DECL.
990 (lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.
991
5f876ae7
JH
9922014-02-04 Jan Hubicka <hubicka@ucw.cz>
993 Markus Trippelsdorf
994
995 PR ipa/59469
996 * lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
997 merge force_output and forced_by_abi flags.
998
b72271b9
BI
9992014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1000
1001 * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
1002 flag_cilkplus.
1003
63124c48
RB
10042014-01-09 Richard Biener <rguenther@suse.de>
1005
1006 * lto.c (gimple_canonical_types_compatible_p): Fix comment.
1007
d05b9920
RB
10082014-01-09 Richard Biener <rguenther@suse.de>
1009
1010 PR lto/45586
1011 * lto.c (hash_canonical_type): Do not hash TREE_ADDRESSABLE,
1012 TYPE_ALIGN, TYPE_RESTRICT or TYPE_REF_CAN_ALIAS_ALL.
1013 (gimple_canonical_types_compatible_p): Do not compare them either.
1014
23a5b65a
RS
10152014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1016
1017 Update copyright years
1018
2c8326a5
OE
10192013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
1020
1021 * lto.c: Remove struct tags when referring to class varpool_node.
1022 * lto-partition.c: Likewise.
1023 * lto-symtab.c: Likewise.
1024
e06f9964
JJ
10252013-11-29 Jakub Jelinek <jakub@redhat.com>
1026 Richard Biener <rguenther@suse.de>
1027
1028 PR lto/59326
1029 * lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
1030
c193f58b
JJ
10312013-11-29 Jakub Jelinek <jakub@redhat.com>
1032
1033 PR lto/59326
1034 * lto.c (mentions_vars_p_omp_clause): New function.
1035 (mentions_vars_p): Call it for OMP_CLAUSE. Remove break;
1036 after return stmts.
1037
2fb9a547
AM
10382013-11-22 Andrew MacLeod <amacleod@redhat.com>
1039
1040 * lto.c: Add required include files from gimple.h.
1041 * lto-lang.c: Likewise
1042 * lto-object.c: Likewise
1043 * lto-partition.c: Likewise
1044 * lto-symtab.c: Likewise
1045
fec39fa6
TS
10462013-11-18 Trevor Saunders <tsaunders@mozilla.com>
1047
1048 * lto-partition.c lto-symtab.c lto.c Adjust.
1049
d8a2d370
DN
10502013-11-14 Diego Novillo <dnovillo@google.com>
1051
1052 * lto-lang.c: Include stringpool.h.
1053 Include stor-layout.h.
1054 * lto-partition.c: Include gcc-symtab.h.
1055 * lto.c: Include stor-layout.h.
1056
5e20cdc9
DM
10572013-10-31 David Malcolm <dmalcolm@redhat.com>
1058
1059 Automated part of renaming of symtab_node_base to symtab_node.
1060
1061 Patch autogenerated by rename_symtab.py from
1062 https://github.com/davidmalcolm/gcc-refactoring-scripts
1063 revision 58bb219cc090b2f4516a9297d868c245495ee622
1064
1065 * lto-partition.c (add_symbol_to_partition): Rename
1066 symtab_node_base to symtab_node.
1067 (get_symbol_class): Likewise.
1068 (symbol_partitioned_p): Likewise.
1069 (add_references_to_partition): Likewise.
1070 (add_symbol_to_partition_1): Likewise.
1071 (contained_in_symbol): Likewise.
1072 (add_symbol_to_partition): Likewise.
1073 (lto_1_to_1_map): Likewise.
1074 (lto_max_map): Likewise.
1075 (lto_balanced_map): Likewise.
1076 (privatize_symbol_name): Likewise.
1077 (promote_symbol): Likewise.
1078 (may_need_named_section_p): Likewise.
1079 (rename_statics): Likewise.
1080 (lto_promote_statics_nonwpa): Likewise.
1081 * lto-symtab.c (lto_symtab_merge): Likewise.
1082 (lto_symtab_resolve_replaceable_p): Likewise.
1083 (lto_symtab_symbol_p): Likewise.
1084 (lto_symtab_resolve_can_prevail_p): Likewise.
1085 (lto_symtab_resolve_symbols): Likewise.
1086 (lto_symtab_merge_decls_2): Likewise.
1087 (lto_symtab_merge_decls_1): Likewise.
1088 (lto_symtab_merge_decls): Likewise.
1089 (lto_symtab_merge_symbols_1): Likewise.
1090 (lto_symtab_merge_symbols): Likewise.
1091 (lto_symtab_prevailing_decl): Likewise.
1092 * lto.c (lto_wpa_write_files): Likewise.
1093 (read_cgraph_and_symbols): Likewise.
1094 (do_whole_program_analysis): Likewise.
1095
378cd6b1
DM
10962013-10-30 David Malcolm <dmalcolm@redhat.com>
1097
1098 * lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
1099 declarations onto multiple lines to make things easier for
1100 rename_symtab.py.
1101 (lto_symtab_merge_decls_1): Likewise.
1102 (lto_symtab_merge_symbols_1): Likewise.
1103
939b37da
BI
11042013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1105
1106 * Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
1107 * lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
1108 Plus is enabled.
1109
67348ccc
DM
11102013-10-29 David Malcolm <dmalcolm@redhat.com>
1111
1112 Patch autogenerated by refactor_symtab.py from
1113 https://github.com/davidmalcolm/gcc-refactoring-scripts
1114 revision 58bb219cc090b2f4516a9297d868c245495ee622
1115
1116 * lto-partition.c (lto_promote_cross_file_statics): Update for
1117 conversion of symtab types to a true class hierarchy.
1118 (rename_statics): Likewise.
1119 (promote_symbol): Likewise.
1120 (privatize_symbol_name): Likewise.
1121 (lto_balanced_map): Likewise.
1122 (varpool_node_cmp): Likewise.
1123 (node_cmp): Likewise.
1124 (lto_1_to_1_map): Likewise.
1125 (undo_partition): Likewise.
1126 (add_symbol_to_partition): Likewise.
1127 (contained_in_symbol): Likewise.
1128 (add_symbol_to_partition_1): Likewise.
1129 (add_references_to_partition): Likewise.
1130 (symbol_partitioned_p): Likewise.
1131 (get_symbol_class): Likewise.
1132 (lto_max_map): Likewise.
1133 * lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
1134 (lto_symtab_merge_symbols): Likewise.
1135 (lto_symtab_merge_symbols_1): Likewise.
1136 (lto_symtab_merge_decls): Likewise.
1137 (lto_symtab_merge_decls_1): Likewise.
1138 (lto_symtab_merge_decls_2): Likewise.
1139 (lto_symtab_resolve_symbols): Likewise.
1140 (lto_symtab_resolve_can_prevail_p): Likewise.
1141 (lto_symtab_symbol_p): Likewise.
1142 (lto_symtab_resolve_replaceable_p): Likewise.
1143 (lto_symtab_merge): Likewise.
1144 (lto_varpool_replace_node): Likewise.
1145 (lto_cgraph_replace_node): Likewise.
1146 * lto.c (lto_main): Likewise.
1147 (do_whole_program_analysis): Likewise.
1148 (materialize_cgraph): Likewise.
1149 (read_cgraph_and_symbols): Likewise.
1150 (cmp_partitions_order): Likewise.
1151 (lto_materialize_function): Likewise.
1152 (has_analyzed_clone_p): Likewise.
1153
8e9055ae
AM
11542013-10-29 Andrew MacLeod <amacleod@redhat.com>
1155
1156 * lto/lto-object.c: Add gimple.h to include list.
1157 * lto/lto-partition.c: Likewise.
1158
377d9792
AM
11592013-10-18 Andrew MacLeod <amacleod@redhat.com>
1160
1161 * lto.c: Remove tree-flow.h from include list.
1162
fffda8d7
RB
11632013-10-15 Richard Biener <rguenther@suse.de>
1164
1165 * lto.c (hash_canonical_type): Split out from ...
1166 (iterative_hash_canonical_type): ... here. Register types
1167 we recurse to.
1168 (gimple_canonical_type_hash): Adjust.
1169 (gimple_register_canonical_type_1): Split out from ...
1170 (gimple_register_canonical_type): ... here. Cache computed
1171 hash value.
1172 (lto_register_canonical_types): Split into two modes,
1173 clearing and computing TYPE_CANONICAL.
1174 (lto_read_decls): Adjust.
1175 (read_cgraph_and_symbols): Do two passes over global trees,
1176 first clearing then computing TYPE_CANONICAL.
1177
1394237e
RB
11782013-10-14 Richard Biener <rguenther@suse.de>
1179
1180 * lto.c (gimple_canonical_types): Move out-of GC space.
1181 (canonical_type_hash_cache): Make a pointer-map.
1182 (num_canonical_type_hash_entries, num_canonical_type_hash_queries):
1183 New counters.
1184 (iterative_hash_canonical_type): Adjust.
1185 (read_cgraph_and_symbols): Likewise.
1186 (print_lto_report_1): Likewise.
1187
0a387eca
RB
11882013-10-14 Richard Biener <rguenther@suse.de>
1189
1190 * lto.c (gimple_types, type_hash_cache, struct type_pair_d,
1191 type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
1192 gtc_next_dfs_num, compare_type_names_p, gtc_visit,
1193 gimple_types_compatible_p_1, gimple_types_compatible_p,
1194 visit, iterative_hash_name, struct type_hash_pair,
1195 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
1196 gimple_type_eq, gimple_register_type, num_not_merged_types,
1197 num_not_merged_types_in_same_scc, num_not_merged_types_trees,
1198 num_not_merged_types_in_same_scc_trees): Remove old merging code
1199 and statistics.
1200 (lto_read_decls): Do not run old merging code in parallel.
1201 (read_cgraph_and_symbols): Do not init/free old merging
1202 data structures.
1203 (print_lto_report_1): Do not report differences of old vs. new
1204 merging code.
1205
83fd5d11
RB
12062013-10-14 Richard Biener <rguenther@suse.de>
1207
1208 * lto-lang.c (lto_init): Do not re-init canonical types here.
1209 (lto_register_canonical_types): Move to ...
1210 * lto.c (lto_register_canonical_types): ... here.
1211 (gimple_canonical_types, canonical_type_hash_cache,
1212 iterative_hash_canonical_type, gimple_canonical_type_hash,
1213 gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
1214 gimple_register_canonical_type): Add canonical type merging machinery
1215 moved from gimple.c.
1216 (read_cgraph_and_symbols): Init and free canonical type tables
1217 here.
1218 (print_lto_report_1): Report canonical type table stats here.
1219
acf0174b
JJ
12202013-10-11 Jakub Jelinek <jakub@redhat.com>
1221
1222 * lto-lang.c (DEF_FUNCTION_TYPE_8): Define.
1223
7c6fedd2
TT
12242013-09-25 Tom Tromey <tromey@redhat.com>
1225
1226 * Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
1227 (lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
1228 (lto/lto-object.o): Remove.
1229
35f32ad4
RB
12302013-09-06 Richard Biener <rguenther@suse.de>
1231
1232 * lto-symtab.c: Move from gcc/
1233 * lto.h: Include vec.h.
1234 (lto_global_var_decls): Declare.
1235 * lto.c (lto_global_var_decls): Move definition here.
1236 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
1237 (lto-symtab.o): Add.
1238 * config-lang.in (gtfiles): Add lto.h.
1239
49322b12
JH
12402013-08-31 Jan Hubicka <jh@suse.cz>
1241
1242 * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
1243 DECL_FIELD_OFFSET can contain an reference to variable.
1244
31f1f73b
JH
12452013-08-31 Jan Hubicka <jh@suse.cz>
1246
1247 * lto.c (tree_with_vars): Turn into vector.
1248 (MAYBE_REMEMBER_WITH_VARS): Change to...
1249 (CHECK_VAR): ... this one.
1250 (CHECK_NO_VAR): New macro.
1251 (maybe_remember_with_vars_typed): Turn to ...
1252 (mentions_vars_p_typed): ... this one.
1253 (maybe_remember_with_vars_common): Turn to ...
1254 (mentions_vars_p_comon): ... this one.
1255 (maybe_remember_with_vars_decl_minimal): Turn to ...
1256 (mentions_vars_p_decl_minmal): ... this one.
1257 (maybe_remember_with_vars_decl_common): Turn to ...
1258 (mentions_vars_p_decl_common): ... this one.
1259 (maybe_remember_with_vars_decl_with_vis): Turn to ...
1260 (mentions_vars_p_decl_with_vis): ... this one.
1261 (maybe_remember_with_vars_decl_non_common): Turn to ...
1262 (mentions_vars_p_decl_non_common): ... this one.
1263 (maybe_remember_with_vars_function): Turn to ...
1264 (mentions_vars_p_function): ... this one.
1265 (maybe_remember_with_vars_field_decl): Turn to ...
1266 (mentions_vars_p_field_decl): ... this one.
1267 (maybe_remember_with_vars_type): Turn to ...
1268 (mentions_vars_p_type): ... this one.
1269 (maybe_remember_with_vars_binfo): Turn to ...
1270 (mentions_vars_p_binfo): ... this one.
1271 (maybe_remember_with_vars_constructor): Turn to ...
1272 (mentions_vars_p_constructor): ... this one.
1273 (maybe_remember_with_vars_expr): Turn to ...
1274 (mentions_vars_p_expr): ... this one.
1275 (maybe_remember_with_vars): Turn to ...
1276 (mentions_vars_p): ... this one.
1277 (lto_read_decls): Update.
1278 (LTO_SET_PREVAIL): Do not call function for internal decls.
1279 (lto_fixup_prevailing_decls): Update to match mentions_vars_p;
1280 check that something was updated.
1281 (lto_fixup_state): Do not care about internal decls.
1282 (lto_fixup_decls): Update.
1283 (read_cgraph_and_symbols): Update.
1284
256eefa9
JH
12852013-08-29 Jan Hubicka <jh@suse.cz>
1286
1287 * lto.c (read_cgraph_and_symbols): Free decl states.
1288
0170f33c
JH
12892013-08-29 Jan Hubicka <jh@suse.cz>
1290
1291 * lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
1292 DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
1293 TYPE_FINAL_P.
1294
c01c111b
JH
12952013-08-28 Jan Hubicka <jh@suse.cz>
1296
1297 * lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
1298 DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
1299 (unify_scc): Do checking assert.
1300
6a49f3c9
JH
13012013-08-06 Jan Hubicka <jh@suse.cz>
1302 Martin Liska <marxin.liska@gmail.com>
1303
1304 * lto-partition.c (lto_balanced_map): Always base order on
1305 source file order.
1306
a2e2a668
JH
13072013-08-06 Jan Hubicka <jh@suse.cz>
1308
1309 * lto.c (lto_materialize_function): Do not read body anymore.
1310
815effe1
JH
13112013-08-02 Jan Hubicka <jh@suse.cz>
1312
1313 * lto.c (lto_materialize_function): Do not push struct function.
1314 * lto-partition.c (get_symbol_class): Handle abstracts correctly.
1315 (may_need_named_section_p): Even abstract origins may need
1316 named section.
1317
315f8c0e
DM
13182013-07-30 David Malcolm <dmalcolm@redhat.com>
1319
1320 * Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
1321 PASS_MANAGER_H.
1322
1323 * lto.c (do_whole_program_analysis): Update for move of
1324 all_regular_ipa_passes from a global to a field of class
1325 pass_manager.
1326
1aa95df7
OB
13272013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1328
1329 * lto-partition.c: Fix typos.
1330
c525ba9a
JH
13312013-06-20 Jan Hubicka <jh@suse.cz>
1332
1333 * lto-partition.c (lto_balanced_map): Fix -fno-toplevel-reorder
1334 partitioning of variables.
1335
7a89ad00
JH
13362013-06-20 Jan Hubicka <jh@suse.cz>
1337
1338 * lto.c (read_cgraph_and_symbols): Set cgraph state.
1339
6a6dac52
JH
13402013-06-19 Jan Hubicka <jh@suse.cz>
1341
1342 * lto-partition.c (add_references_to_partition): Use
1343 ctor_for_folding.
1344
ac0511f2
RB
13452013-06-18 Richard Biener <rguenther@suse.de>
1346
1347 * lto.c (lto_register_var_decl_in_symtab): Pass in cache index
1348 and use it.
1349 (lto_register_function_decl_in_symtab): Likewise.
1350 (cmp_tree): New function.
1351 (unify_scc): Instead of using the streamer cache map from entry
1352 to cache index match up the two maps we have by sorting them.
1353 Adjust calls to lto_register_var_decl_in_symtab and
1354 lto_register_function_decl_in_symtab.
1355
ee03e71d
RB
13562013-06-17 Richard Biener <rguenther@suse.de>
1357
1358 * Make-lang.in (lto.o): Add $(DATA_STREAMER_H) dependency.
1359 * lto.c: Include data-streamer.h.
1360 (lto_read_in_decl_state): Use streamer_tree_cache_get_tree.
1361 (gimple_type_leader_entry_s, gimple_type_leader,
1362 gimple_lookup_type_leader): Remove.
1363 (gtc_visit): Simplify.
1364 (gimple_types_compatible_p): Likewise.
1365 (gimple_register_type_1): Likewise. Merge into ...
1366 (gimple_register_type): ... this. Keep it as legacy for
1367 statistics purposes for now.
1368 (fixup_integer_cst): Remove.
1369 (LTO_FIXUP_TREE, lto_fixup_types, lto_ft_*): Simplify and
1370 rename to ...
1371 (MAYBE_REMEMBER_WITH_VARS, maybe_remember_with_vars,
1372 maybe_remember_with_vars_*): ... these.
1373 (uniquify_nodes): Remove.
1374 (lto_fixup_prevailing_type): New function.
1375 (struct tree_scc, struct tree_scc_hasher): New type and hasher.
1376 (tree_scc_hash, tree_scc_hash_obstack): New globals.
1377 (num_merged_types, num_prevailing_types, num_not_merged_types,
1378 num_not_merged_types_in_same_scc, total_scc_size, num_sccs_read,
1379 total_scc_size_merged, num_sccs_merged, num_scc_compares,
1380 num_scc_compare_collisions): New global counters.
1381 (compare_tree_sccs_1): New function.
1382 (compare_tree_sccs): Likewise.
1383 (unify_scc): Likewise.
1384 (lto_read_decls): Stream in tree SCCs and unify them on the
1385 way in. Finalize prevailing SCC tree members.
1386 (read_cgraph_and_symbols): Do not initialize or free gimple_type_leader.
1387 Allocate and free tree_scc_hash_obstack and tree_scc_hash, do not bother
1388 to ggc-collect during merging.
1389 (print_lto_report_1): Adjust for new merging code.
1390
ca0f62a8
JH
13912013-06-12 Jan Hubicka <jh@suse.cz>
1392
1393 * lto.c (read_cgraph_and_symbols): Set cgraph into streaming state.
1394
bbf9ad07
JH
13952013-06-12 Jan Hubicka <jh@suse.cz>
1396
1397 * lto.c (register_resolution): Take lto_file_data argument.
1398 (lto_register_var_decl_in_symtab,
1399 lto_register_function_decl_in_symtab): Update.
1400 (read_cgraph_and_symbols): Update resolution_map handling.
1401
ecdbd01a 14022013-06-11 Jan Hubicka <jh@suse.cz>
08346abd
JH
1403
1404 * lto-partition.c (get_symbol_class): Simplify weakref handling.
1405 (add_symbol_to_partition_1): Likewise.
1406 (contained_in_symbol): Likewise.
1407 (lto_balanced_map): Likewise.
1408 (rename_statics): Drop weakref.
1409
a367df53
RB
14102013-06-05 Richard Biener <rguenther@suse.de>
1411
1412 * lto.c (num_merged_types): New global variable.
1413 (uniquify_nodes): Increase num_merged_types when merging a type.
1414 (print_lto_report_1): Output the number of merged types.
1415
40a7fe1e
JH
14162013-06-01 Jan Hubicka <jh@suse.cz>
1417
1418 * lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
1419 lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
1420 (do_whole_program_analysis): Update dumping.
1421
e70670cf
JH
14222013-05-29 Jan Hubicka <jh@suse.cz>
1423
1424 * lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
1425 flags.
1426 * lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
1427
8ee05051
JH
14282013-05-15 Jan Hubicka <jh@suse.cz>
1429
1430 * lto-partition.c (privatize_symbol_name): Return true when
1431 privatizing happened.
1432 (rename_statics): Do not go into infinite loop when privatizing
1433 is not needed.
1434
427b248d
JM
14352013-05-16 Jason Merrill <jason@redhat.com>
1436
1437 * Make-lang.in ($(LTO_EXE)): Use link mutex.
1438
9de04252
MJ
14392013-05-15 Martin Jambor <mjambor@suse.cz>
1440
1441 * lto-partition.c (lto_balanced_map): Print symbol order instead
1442 of node uids.
1443
2d6e4603
JH
14442013-05-15 Jan Hubicka <jh@suse.cz>
1445
1446 PR lto/57038
1447 PR lto/47375
1448 * lto-partition.c (get_symbol_class): Fix weakrefs.
1449 (lto_balanced_map): Fix weakrefs.
1450 (privatize_symbol_name): Remove unnecesary label.
1451 (rename_statics): Handle weakrefs as statics.
1452
64cfa6c0
JH
14532013-05-09 Jan Hubicka <jh@suse.cz>
1454 Richard Biener <rguenther@suse.de>
1455
1456 * lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
1457 (lto_register_var_decl_in_symtab): Likewise.
1458 (lto_main): Promote statics.
1459 * lto-partition.c (privatize_symbol_name): New function.
1460 (promote_symbol): Use it.
1461 (may_need_named_section_p): New predicate.
1462 (rename_statics): New functions.
1463 (lto_promote_cross_file_statics): Simplify; do renaming.
1464 (lto_promote_statics_nonwpa): New function.
1465 * lto-partition.h (lto_promote_statics_nonwpa): New function.
1466
e45cde98
RB
14672013-02-08 Richard Biener <rguenther@suse.de>
1468
1469 PR lto/56231
1470 * lto-lang.c (lto_init): Do not enter a dummy file.
1471
6edc3e32
UB
14722013-02-07 Uros Bizjak <ubizjak@gmail.com>
1473
1474 PR bootstrap/56227
1475 * lto.c (lto_resolution_ready): Use %wx instead of
1476 HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
1477
ed73881e
RG
14782013-02-04 Richard Guenther <rguenther@suse.de>
1479
1480 PR lto/56168
1481 * lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
1482 or lto_fixup_decls at LTRANS time.
1483
a19b1432
JH
14842013-01-09 Jan Hubicka <jh@suse.cz>
1485
1486 PR lto/45375
1487 * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.
1488
49c01f87
L
14892012-12-10 H.J. Lu <hongjiu.lu@intel.com>
1490
1491 PR lto/55466
1492 * lto.c (lto_register_var_decl_in_symtab): Don't record static
1493 variables.
1494 (lto_main): Record the global variables if WPA isn't enabled.
1495
6e1aa848
DN
14962012-11-20 Diego Novillo <dnovillo@google.com>
1497 Jakub Jelinek <jakub@redhat.com>
1498
1499 * lto.c: Replace all vec<T, A>() initializers with vNULL.
1500
9771b263
DN
15012012-11-16 Diego Novillo <dnovillo@google.com>
1502
1503 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1504
1505 * lto-lang.c: Use new vec API in vec.h.
1506 * lto-partition.c: Likewise.
1507 * lto-partition.h: Likewise.
1508 * lto.c: Likewise.
1509
24551b9c
LC
15102012-10-31 Lawrence Crowl <crowl@google.com>
1511
1512 * lto.c (lto_wpa_write_files): Change symtab checking to a checked
1513 down-cast via dyn_cast.
1514 * lto-partition.c (add_symbol_to_partition_1): Likewise.
1515 (undo_partition): Likewise.
1516 (lto_balanced_map): Likewise.
1517 (get_symbol_class): Likewise and via is_a.
1518 (lto_balanced_map): Change symtab checking to is_a.
1519
aec06f6f
RB
15202012-10-12 Richard Biener <rguenther@suse.de>
1521
1522 PR lto/54898
1523 * lto.c (gimple_types_compatible_p_1): Also compare
1524 TYPE_MAIN_VARIANT.
1525 (iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.
1526
0b8c30f9
TB
15272012-10-09 Tobias Burnus <burnus@net-b.de>
1528
1529 * lto-lang.c (lto_register_builtin_type): Avoid useless
1530 decl creation.
1531 * lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.
1532
da3202a8
TB
15332012-10-08 Tobias Burnus <burnus@net-b.de>
1534
1535 * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
1536 Free lto_file struct after closing the file.
1537
2512a443
JH
15382012-10-08 Jan Hubicka <jh@suse.cz>
1539
1540 * lto/lto.c (remember_with_vars): Also fixup INTEGER_CST.
1541 (fixup_integer_cst): New functoin.
1542 (lto_ft_type): Fixup BASETYPE of methods and offsets.
1543
e75f8f79
JH
15442012-10-07 Jan Hubicka <jh@suse.cz>
1545
1546 * lto.c (read_cgraph_and_symbols): Release type merging hash early;
1547 release input encoders.
1548 * lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
1549
46591697
JH
15502012-10-06 Jan Hubicka <jh@suse.cz>
1551
1552 PR lto/54790
1553 * lto.c (resolution_map): New static var.
1554 (register_resolution): New function.
1555 (lto_register_var_decl_in_symtab): Use it.
1556 (read_cgraph_and_symbols): Copy resolutions into the symtab.
1557
af16bc76
MJ
15582012-09-20 Martin Jambor <mjambor@suse.cz>
1559
1560 * lto.c (lto_materialize_function): Call push_struct_function and
1561 pop_cfun.
1562
5368224f
DC
15632012-09-19 Dehao Chen <dehao@google.com>
1564
1565 * lto/lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
1566
b5493fb2
JH
15672012-09-19 Jan Hubicka <jh@suse.cz>
1568
1569 * lto.c (lto_materialize_function): Update confused comment.
1570 (read_cgraph_and_symbols): Do not free symtab.
1571
c3c445e1
JH
15722012-09-12 Jan Hubicka <jh@suse.cz>
1573
1574 * lto.c (do_whole_program_analysis): Care timevars, statistics and
1575 AUX pointer cleaning. Add max partitioning.
1576 * lto-partition.c (enum symbol_class): New.
1577 (get_symbol_class): New function.
1578 (symbol_partitioned_p): New function.
1579 (add_references_to_partition): Remove.
1580 (add_aliases_to_partition): Remove.
1581 (add_cgraph_node_to_partition_1): Remove.
1582 (add_cgraph_node_to_partition): Remove.
1583 (add_symbol_to_partition): New function.
1584 (add_symbol_to_partition_1): New function.
1585 (contained_in_symbol): New function.
1586 (partition_cgraph_node_p): Remove.
1587 (partition_varpool_node_p): Remove.
1588 (partition_symbol_p): Remove.
1589 (lto_1_to_1_map): Cleanup.
1590 (lto_max_map): New.
1591 (lto_balanced_map): Update.
1592 (lto_promote_cross_file_statics): Update.
1593 * lto-partition.h (lto_max_map): Declare.
1594 * timevar.def (TV_WHOPR_PARTITIONING): New timevar.
1595
b5c7cdfb
JH
15962012-09-11 Jan Hubicka <jh@suse.cz>
1597
1598 PR lto/54312
1599 * lto.c (uniquify_nodes): Remove quadratic loop checking if the
1600 type is variant leader.
1601
b29402f0
RG
16022012-09-11 Richard Guenther <rguenther@suse.de>
1603
1604 * lto.c (enum gtc_mode): Remove.
1605 (struct type_pair_d): Adjust.
1606 (lookup_type_pair): Likewise.
1607 (gimple_type_leader): Do not mark as deletable.
1608 (gimple_lookup_type_leader): Adjust.
1609 (gtc_visit): Likewise.
1610 (gimple_types_compatible_p_1): Likewise.
1611 (gimple_types_compatible_p): Likewise.
1612 (gimple_type_hash): Likewise.
1613 (gimple_register_type): Likewise.
1614 (read_cgraph_and_symbols): Manage lifetime of tables
1615 here.
1616
b8f4e58f
RG
16172012-09-11 Richard Guenther <rguenther@suse.de>
1618
1619 * lto.c (gimple_types, type_hash_cache, enum gtc_mode,
1620 struct type_pair_d, lookup_type_pair, struct sccs,
1621 next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
1622 gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
1623 gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
1624 visit, iterative_hash_name, struct type_hash_pair,
1625 type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
1626 gimple_type_eq, gimple_register_type_1, gimple_register_type):
1627 Move here from gimple.c
1628 (read_cgraph_and_symbols): Free hash tables here.
1629 (print_lto_report_1): New function wrapping print_lto_report.
1630 (do_whole_program_analysis): Call it.
1631 (lto_main): Likewise.
1632
1cdbb3f9
JH
16332012-09-10 Jan Hubicka <jh@suse.cz>
1634
1635 * lto-partition.c (partition_symbol_p): Forward declare.
1636 (add_references_to_partition): Reimplement using partition_symbol_p.
1637 (add_aliases_to_partition): Break out from add_references_to_partition;
1638 reimplement using partition_symbol_p.
1639 (add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
1640 add sanity checks.
1641 (add_varpool_node_to_partition): Use add_aliases_to_partition.
1642 (partition_varpool_node_p): Do not special case aliases.
1643
b4661bfe
JH
16442012-08-12 Jan Hubicka <jh@suse.cz>
1645
1646 * lto.c (lto_wpa_write_files): Do not delete partition encoder;
1647 it is deleted after streaming.
1648 * lto-partition.c (partition_symbol_p): New function.
1649 (promote_var, promote_fn): Remove.
1650 (promote_symbol): New function.
1651 (lto_promote_cross_file_statics): First compute boundaries; rewrite
1652 to lookup the actual boundaries instead of computing them ad-hoc.
1653
7b99cca4
JH
16542012-08-12 Jan Hubicka <jh@suse.cz>
1655
1656 Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
1657 in partitioning.
1658 * lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
1659 by encoder.
1660 * lto-partition.c (new_partition): Update.
1661 * lto.c (cmp_partitions_order): Update.
1662 (lto_wpa_write_files): Update.
1663 (free_ltrans_partitions): Update.
1664 (add_references_to_partition): Update.
1665 (add_cgraph_node_to_partition_1): Update.
1666 (add_cgraph_node_to_partition): Update.
1667 (add_varpool_node_to_partition): Update.
1668 (undo_partition): Update.
1669 (lto_balanced_map): Update.
1670 (set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
1671 set_referenced_from_this_partition_p): Update.
1672 (lto_promote_cross_file_statics): Update.
1673
f27c1867
JH
16742012-08-12 Jan Hubicka <jh@suse.cz>
1675
1676 * lto-partition.c (set_referenced_from_other_partition_p,
1677 set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
1678 New functions.
1679 (lto_promote_cross_file_statics): Use them.
1680
ab96cc5b
JH
16812012-07-24 Jan Hubicka <jh@suse.cz>
1682
1683 * lto.c (read_cgraph_and_symbols): Use input_symtab.
1684
0229aee9
UB
16852012-07-24 Uros Bizjak <ubizjak@gmail.com>
1686
1687 * lto-tree.h (lang_decl): Add variable_size GTY option.
1688
7ee2468b
SB
16892012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1690
1691 * lto.c: Do not include timevar.h.
1692 * Make-lang.in: Fix dependencies.
1693
a910399d
LC
16942012-06-18 Lawrence Crowl <crowl@google.com>
1695
1696 * lto.c (do_whole_program_analysis): Rename use of TV_PHASE_CGRAPH to
1697 TV_PHASE_OPT_GEN. Use new timevar TV_PHASE_STREAM_OUT around the call
1698 to lto_wpa_write_files.
1699 (lto_main): Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Move
1700 start of TV_PHASE_OPT_GEN to include call to materialize_cgraph. Use
1701 TV_PHASE_SETUP for the call to lto_init. Use new timevar
1702 TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
1703 Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
1704 to be a front end, but is not one.
1705
877ab5e9
JH
17062012-05-18 Jan Hubicka <jh@suse.cz>
1707
1708 * lto.c (lto_materialize_constructors_and_inits): Remove.
1709 (read_cgraph_and_symbols): Remove handling of alias pairs.
1710
6649df51
JH
17112012-05-17 Jan Hubicka <jh@suse.cz>
1712
1713 * lto-partition.c (add_references_to_partition): Handle external vars.
1714 (partition_varpool_node_p): Likewise.
1715 (lto_promote_cross_file_statics): Do not promote externals.
1716
d1ede5f4
BS
17172012-05-14 Bernd Schmidt <bernds@codesourcery.com>
1718
1719 * lto-lang.c (handle_fnspec_attribute): New static function.
1720 (lto_attribute_table): Add "fn spec".
1721 (DEF_ATTR_STRING): Define and undefine along with the other macros.
1722
0d6bf48c
JH
17232012-05-04 Jan Hubicka <jh@suse.cz>
1724
1725 * lto.c (do_whole_program_analysis): Set timevars correctly.
1726 (lto_main): Likewise.
d1ede5f4 1727
1d67dde8
RB
17282012-05-04 Richard Guenther <rguenther@suse.de>
1729
1730 * lang.opt (fwpa): Do not mark as Optimization.
1731 (fltrans): Likewise.
1732
65d630d4
JH
17332012-04-30 Jan Hubicka <jh@suse.cz>
1734
1735 * lto.c (lto_main): Use compile ().
1d67dde8
RB
1736 * lto-partition.c (partition_cgraph_node_p): Use
1737 symtab_used_from_object_file_p.
65d630d4
JH
1738 (partition_varpool_node_p): Likewise.
1739
ead84f73
JH
17402012-04-20 Jan Hubicka <jh@suse.cz>
1741
1742 * lto-partition.c (partition_cgraph_node_p): Use force_output.
1743
5932a4d4
JH
17442012-04-18 Jan Hubicka <jh@suse.cz>
1745
1746 * lto-partition.c (add_references_to_partition, lto_balanced_map):
1747 Update for new ipa-ref API.
1748
65c70e6b
JH
17492012-04-16 Jan Hubicka <jh@suse.cz>
1750
1751 * lto.c (read_cgraph_and_symbols): Use FOR_EACH
1752 walkers to walk cgraph and varpool.
1753 (materialize_cgraph): Likewise.
1754 * lto-partition.c (lto_1_to_1_map): Likewise.
1755 (lto_balanced_map): Likewise.
1756 (lto_promote_cross_file_statics): Likewise.
1757
960bfb69
JH
17582012-04-14 Jan Hubicka <jh@suse.cz>
1759
1760 * lto.c: Update field referenced for new cgraph/varpool layout.
1761 * lto-partition.c: Likewise.
1762
a66dc285
JH
17632012-04-11 Jan Hubicka <jh@suse.cz>
1764
1765 * lto.c: Update copyright; remove params.h, ipa-inline.h
1766 and ipa-utils.h inlines; inline lto-partition.h
1767 (ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
1768 add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
1769 add_references_to_partition, add_cgraph_node_to_partition_1,
1770 add_cgraph_node_to_partition, add_varpool_node_to_partition,
1771 undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
1772 lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
1773 promote_var, promote_fn, lto_promote_cross_file_statics): move to...
1774 * lto-partition.c: ... here; new file.
1775 * lto-partition.h: New file.
1776 * Make-lang.in (lto.o): Update dependencies.
1777 (lto-partition.o): New.
1778
f3b249e5
RG
17792012-04-05 Richard Guenther <rguenther@suse.de>
1780
1781 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Remove
1782 definition.
1783
21fa2faf
RG
17842012-03-12 Richard Guenther <rguenther@suse.de>
1785
1786 * lto-lang.c (builtin_type_for_size): Use lto_type_for_size.
1787
6bb485a3
RG
17882012-03-06 Richard Guenther <rguenther@suse.de>
1789
1790 PR lto/52097
1791 * lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.
1792
95510497
RG
17932012-02-28 Richard Guenther <rguenther@suse.de>
1794
1795 PR lto/52400
1796 * lto.c (lto_register_function_decl_in_symtab): Do not register
1797 a reverse renamed decl mapping.
1798
09228fef
JJ
17992012-01-06 Jakub Jelinek <jakub@redhat.com>
1800
1801 PR lto/51774
1802 * lto-lang.c (handle_returns_twice_attribute): New function.
1803 (lto_attribute_table): Add returns_twice attribute.
1804
b03eda0d
RG
18052011-12-21 Richard Guenther <rguenther@suse.de>
1806
1807 * lto.c (GIMPLE_REGISTER_TYPE): New define.
1808 (LTO_FIXUP_TREE): Use it.
1809 (uniquify_nodes): Mark new non-prevailing types and avoid
1810 calling gimple_register_type on others.
1811 (lto_read_decls): Add comment.
1812
4ad9a9de
EB
18132011-12-13 Eric Botcazou <ebotcazou@adacore.com>
1814
1815 * lto.h (lto_parse_hex): Delete.
1816 * lto.c (lto_read_decls): Use 'int' for offsets.
1817 (lto_parse_hex): Make static and return proper 64-bit host type.
1818 (lto_resolution_read): Use proper 64-bit host type.
1819
ea973bad
RG
18202011-12-13 Richard Guenther <rguenther@suse.de>
1821
1822 PR lto/48354
1823 * lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
1824 with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.
1825
c8218030
UB
18262011-12-01 Uros Bizjak <ubizjak@gmail.com>
1827
1828 * lto-lang.c (lto_attribute_table): Handle *tm regparm.
1829 (ignore_attribute): New.
1830
57ac2606
AH
18312011-11-21 Aldy Hernandez <aldyh@redhat.com>
1832
1833 * lto-lang.c (lto_attribute_table): Handle transaction_pure.
1834 (handle_transaction_pure_attribute): New.
1835
52a35ef7
RG
18362011-11-03 Richard Guenther <rguenther@suse.de>
1837
1838 PR lto/44965
1839 * lto-lang.c (lto_post_options): Do not read file options.
1840 * lto.c (lto_read_all_file_options): Remove.
1841 (lto_init): Call lto_set_in_hooks here.
1842
51973b1e
JH
18432011-10-09 Jan Hubicka <jh@suse.cz>
1844
1845 * lto.c (node_cmp, varpool_node_cmp): New functions.
1846 (lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
1847 (cmp_partitions): Rename to ...
1848 (cmp_partitions_size): ... this one.
1849 (cmp_partitions_order): New function.
1850 (lto_wpa_write_files): Sort partitions by order when
1851 -fno-toplevel-reorder is used.
1852
5958009b
AK
18532011-10-09 Andi Kleen <ak@linux.intel.com>
1854
1855 * lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
1856
e79983f4
MM
18572011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1858
1859 * lto-lang.c (def_builtin_1): Delete old interface with two
1860 parallel arrays to hold standard builtin declarations, and replace
1861 it with a function based interface that can support creating
1862 builtins on the fly in the future. Change all uses, and poison
1863 the old names. Make sure 0 is not a legitimate builtin index.
1864
ecdbd01a 18652011-10-02 Andi Kleen <ak@linux.intel.com>
c17d253c
AK
1866
1867 * lto-object.c (lto_obj_add_section_data): Add list.
1868 (lto_obj_add_section): Fill in list.
1869 (ltoobj_build_section_table): Pass through list.
1870 * lto.c (file_data_list): Declare.
1871 (create_subid_section_table): Pass arguments directly.
1872 Fill in list of file_datas.
1873 (lwstate): Delete.
1874 (lto_create_files_from_ids): Pass in direct arguments.
1875 Don't maintain list.
1876 (lto_file_read): Use explicit section and file data lists.
1877 (lto_read_all_file_options): Pass in section_list.
1878 * lto.h (lto_obj_build_section_table): Add list.
1879 (lto_section_slot): Add next.
1880 (lto_section_list): Declare.
1881
ed0d2da0
JH
18822011-10-02 Jan Hubicka <jh@suse.cz>
1883
1884 PR lto/47247
1885 * common.c (lto_resolution_str): Add new resolution.
1886 * common.h (lto_resolution_str): Likewise.
1887
ad7715f3
L
18882011-09-30 H.J. Lu <hongjiu.lu@intel.com>
1889 Andi Kleen <ak@linux.intel.com>
1890
1891 PR lto/50568
1892 * lto.c (lto_splay_tree_delete_id): New.
1893 (lto_splay_tree_compare_ids): Likewise.
1894 (lto_splay_tree_lookup): Likewise.
1895 (lto_splay_tree_id_equal_p): Likewise.
1896 (lto_splay_tree_insert): Likewise.
1897 (lto_splay_tree_new): Likewise.
1898 (lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
1899 Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
1900 (create_subid_section_table): Use lto_splay_tree_lookup and
1901 lto_splay_tree_insert.
1902 (lto_file_read): Use lto_splay_tree_new.
1903
ecdbd01a 19042011-09-26 Andi Kleen <ak@linux.intel.com>
dde8b360
AK
1905
1906 * lto.c (lto_resolution_read): Remove id dumping.
1907 (lto_section_with_id): Turn id HOST_WIDE_ID.
1908 (create_subid_section_table): Dito.
1909
892a371f
DS
19102011-08-28 Dodji Seketeli <dodji@redhat.com>
1911
1912 * lto-lang.c (lto_init): Likewise. Also, avoid calling
1913 linemap_add twice.
1914
f82d1a94
MJ
19152011-08-11 Martin Jambor <mjambor@suse.cz>
1916
1917 * lto.c (uniquify_nodes): Use main variant's BINFO too.
1918
f0efc7aa
DN
19192011-08-08 Diego Novillo <dnovillo@google.com>
1920
1921 * Make-lang.in (lto/lto.o): Add TREE_STREAMER_H.
1922 * lto.c: Include tree-streamer.h.
1923
1a072294
RG
19242011-07-06 Richard Guenther <rguenther@suse.de>
1925
1926 * lto-lang.c (lto_init):
1927 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1928
7496868d
JH
19292011-06-11 Jan Hubicka <jh@suse.cz>
1930
10f13f22 1931 PR lto/48246
7496868d
JH
1932 * lto.c (lto_1_to_1_map): Don't create empty partitions.
1933 (lto_balanced_map): Likewise.
1934
39e2db00
JH
19352011-06-11 Jan Hubicka <jh@suse.cz>
1936
1937 * lto.c (add_cgraph_node_to_partition_1): Break out from ...
1938 (add_cgraph_node_to_partition) ... here; walk aliases.
1939 (lto_1_to_1_map): Remove same body alias code.
1940 (promote_fn): Likewise.
1941 (lto_promote_cross_file_statics): Update comment.
1942
1943
28628ea6
DN
19442011-06-07 Diego Novillo <dnovillo@google.com>
1945
1946 * lto.c (uniquify_nodes): Move code to register decls to
1947 the loop that computes canonical types.
1948
009db074
RG
19492011-06-07 Richard Guenther <rguenther@suse.de>
1950
1951 * lto-lang.c (lto_init): Do not set
1952 size_type_node or call set_sizetype.
1953
47c79d56
DN
19542011-06-04 Diego Novillo <dnovillo@google.com>
1955
1956 * lto.c (lto_init): New.
1957 (lto_main): Call it.
1958
d5828cc7
DN
19592011-06-03 Diego Novillo <dnovillo@google.com>
1960
1961 * lto.c (get_resolution): Move from lto-streamer-in.c.
1962 (lto_register_var_decl_in_symtab): Likewise.
1963 (lto_register_function_decl_in_symtab): Likewise.
1964 (uniquify_nodes): Call lto_register_var_decl and
1965 lto_register_function_decl_in_symtab after reading a new
1966 VAR_DECL or FUNCTION_DECL.
1967
6807da97
RG
19682011-06-01 Richard Guenther <rguenther@suse.de>
1969
1970 * lto-lang.c (lto_register_canonical_types): New function.
1971 (lto_init): Register common nodes with the canonical type machinery.
1972 Do not play tricks with char_type_node.
1973
d74be317
RG
19742011-05-26 Richard Guenther <rguenther@suse.de>
1975
1976 * lto.c (uniquify_nodes): Fix bug in one of the previous changes.
1977
d9f8303f
NF
19782011-05-25 Nathan Froyd <froydnj@codesourcery.com>
1979
1980 * lto.c (lto_ft_typed): New function.
1981 (lto_ft_common): Call it.
1982 (lto_ft_constructor): Likewise.
1983 (lto_ft_expr): Likewise.
1984 (lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
1985 TREE_CHAIN.
1986
fb291a1e
RG
19872011-05-20 Richard Guenther <rguenther@suse.de>
1988
1989 * lto.c (lto_ft_common): Remove pointer-to chain teardown.
1990 (lto_ft_type): Move main-variant and pointer-to chain building ...
1991 (uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
1992 in a separate final loop.
1993
31b3ca64
RG
19942011-05-19 Richard Guenther <rguenther@suse.de>
1995
1996 * lto.c (uniquify_nodes): First register all types before
1997 fixing up the tree SCC.
1998
35d828c5
JH
19992011-05-11 Jan Hubicka <jh@suse.cz>
2000
2001 PR lto/48952
2002 * lto.c (do_whole_program_analysis): Do not register cgraph hooks.
2003
51545682
NF
20042011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2005
2006 * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust
2007 location of binfo field.
2008 (lto_fixup_prevailing_decls): Likewise.
2009
8242dd04
NF
20102011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2011
2012 * lto-lang.c (def_fn_type): Don't call build_function_type, call
2013 build_function_type_array or build_varargs_function_type_array
2014 instead.
2015
c99c0026
EB
20162011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2017
2018 * lto-lang.c (global_bindings_p): Return bool.
2019
c47d0034
JH
20202011-05-07 Jan Hubicka <jh@suse.cz>
2021
a9bcb3f0
EB
2022 * lto.c (lto_materialize_function): Use
2023 cgraph_function_with_gimple_body_p.
2024 (add_cgraph_node_to_partition): Do not re-add items to partition;
2025 handle thunks.
c47d0034
JH
2026 (add_varpool_node_to_partition): Do not re-add items to partition.
2027
bb3398ca
JH
20282011-05-03 Jan Hubicka <jh@suse.cz>
2029
2030 * lto.c (free_ltrans_partitions): Fix accidental commit.
2031
1cb1a99f
JH
20322011-05-03 Jan Hubicka <jh@suse.cz>
2033
2034 * lto.c (ltrans_partition_def): Remove GTY annotations.
2035 (ltrans_partitions): Move to heap.
2036 (new_partition): Update.
2037 (free_ltrans_partitions): New function.
2038 (lto_wpa_write_files): Use it.
2039
af8bca3c
MJ
20402011-04-29 Martin Jambor <mjambor@suse.cz>
2041
2042 * lto.c: Include ipa-utils.h.
2043 (lto_balanced_map): Update call to ipa_reverse_postorder.
2044 * Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
2045
b823cdfe
MM
20462011-04-29 Michael Matz <matz@suse.de>
2047
2048 * lto.c (toplevel): Include tree-flow.h.
2049 (lto_read_in_decl_state): Don't merge types here.
2050 (tree_with_vars): New static hash table.
2051 (remember_with_vars): New static functions.
2052 (LTO_FIXUP_TYPE): New macro.
2053 (lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
2054 lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
2055 lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
2056 lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
2057 (lto_read_decls): Uniquify while reading in trees.
2058 (lto_fixup_data_t, LTO_FIXUP_SUBTREE,
2059 LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
2060 lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
2061 lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
2062 lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
2063 lto_fixup_tree): Remove.
2064 (lto_fixup_state): Remove data argument. Use
2065 lto_symtab_prevailing_decl.
2066 (LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
2067 (lto_fixup_prevailing_decls): New function.
2068 (lto_fixup_state_aux): Argument aux is unused.
2069 (lto_fixup_decls): Don't allocate pointer sets, don't use
2070 lto_fixup_tree, use lto_fixup_prevailing_decls.
2071 (read_cgraph_and_symbols): Allocate and remove tree_with_vars.
2072 * Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
2073
b9843260
EB
20742011-04-16 Eric Botcazou <ebotcazou@adacore.com>
2075
2076 * lto.c (lto_balanced_map): Fix typos in head comment.
2077 (lto_promote_cross_file_statics): Fix long lines and remove redundant
2078 test.
2079
e7f23018
JH
20802011-04-16 Jan Hubicka <jh@suse.cz>
2081
2082 * lto.c (lto_balanced_map): Update.
2083
10a5dd5d
JH
20842011-04-14 Jan Hubicka <jh@suse.cz>
2085
2086 * lto.c: Include ipa-inline.h
b9843260
EB
2087 (add_cgraph_node_to_partition, undo_partition): Use inline_summary
2088 accessor.
10a5dd5d
JH
2089 (ipa_node_duplication_hook): Fix declaration.
2090 * Make-lang.in (lto.o): Update dependencies.
2091
81f653d6
NF
20922011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2093
2094 * lto-tree.h (union lang_tree_node): Check for TS_COMMON before
2095 calling TREE_CHAIN.
2096 * lto.c (lto_fixup_common): Likewise.
2097
dcf0c47e
NF
20982011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2099
2100 * lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2101 (handle_type_generic_attribute): Likewise.
2102
e89964e3
MM
21032011-04-03 Michael Matz <matz@suse.de>
2104
2105 * lto.c (lto_materialize_function): Don't read and then discard
2106 sections in WPA mode.
2107 (lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
2108
2109 * lto-lang.c (registered_builtin_fndecls): Remove.
2110 (lto_getdecls): Return NULL_TREE.
2111 (lto_builtin_function): Don't remember in registered_builtin_fndecls.
2112
d2b3fe18
RG
21132011-03-31 Richard Guenther <rguenther@suse.de>
2114
2115 PR lto/48246
2116 * lto.c (lto_wpa_write_files): Disable assert for non-empty
2117 partitions when checking is not enabled.
2118
ba78087b
KT
21192011-03-25 Kai Tietz <ktietz@redhat.com>
2120
2121 * lto.c (lto_resolution_read): Use filename_cmp instead
2122 of strcmp.
2123 (lto_read_section_data): Likewise.
2124
0edf1bb2
JL
21252011-03-25 Jeff Law <law@redhat.com>
2126
2127 * lto/lto-lang.c (def_fn_type): Add missing va_end.
2128
62d784f7
KT
21292011-03-21 Kai Tietz <ktietz@redhat.com>
2130
2131 PR target/12171
2132 * lto-lang.c (lto_attribute_table): Adjust table.
2133
62dd9571
JJ
21342011-02-18 Jakub Jelinek <jakub@redhat.com>
2135
2136 PR bootstrap/47807
2137 * Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
2138 of lto-streamer.h.
2139
237d6259
RG
21402011-02-18 Richard Guenther <rguenther@suse.de>
2141
2142 PR lto/47798
2143 * lto-tree.h (lto_global_var_decls): Do not declare here.
2144 * lto-lang.c: Include lto-streamer.h.
2145 * Make-lang.in (lto-lang.o): Adjust dependencies.
2146
8ead2223
KT
21472011-02-10 Kai Tietz <kai.tietz@onevision.com>
2148
2149 PR lto/47241
2150 * lto.c (lto_read_section_data): Free
2151 fd_name in failure case.
2152 For mingw targets don't hash file-descriptor.
2153 (read_cgraph_and_symbols): Close current_lto_file
2154 in failure case.
2155
6e701822
JH
21562011-01-11 Jan Hubicka <jh@suse.cz>
2157
2158 PR lto/45721
2159 PR lto/45375
b9843260
EB
2160 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
2161 are not partitioned.
6e701822 2162
f4da8dce
NF
21632010-12-22 Nathan Froyd <froydnj@codesourcery.com>
2164
2165 * lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
2166 Use prototype_p.
2167
6b7fb143
RG
21682010-12-06 Richard Guenther <rguenther@suse.de>
2169
2170 PR lto/46796
2171 * lto-lang.c (lto_init): Give names to basic types.
2172
c59ffc41
JM
21732010-11-30 Joseph Myers <joseph@codesourcery.com>
2174
2175 * lto-object.c: Don't include toplev.h.
2176 * Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
2177
7c475d11
JM
21782010-11-30 Joseph Myers <joseph@codesourcery.com>
2179
2180 * Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
2181 $(TOPLEV_H).
2182
71f3e391
JM
21832010-11-29 Joseph Myers <joseph@codesourcery.com>
2184
2185 * lto-endian.h: Delete.
2186 * lto-object.c: Don't include "libiberty.h".
2187 (O_BINARY): Don't define.
2188 * lto.c: Don't include "libiberty.h" or <sys/mman.h>.
2189 (O_BINARY): Don't define.
2190
9f1718b0
RG
21912010-11-23 Richard Guenther <rguenther@suse.de>
2192
2193 * lto.c (read_cgraph_and_symbols): Remove newline from diagnostic.
2194
39c4e298
RG
21952010-11-23 Richard Guenther <rguenther@suse.de>
2196
2197 PR lto/46605
2198 * lto.c (read_cgraph_and_symbols): Bail out after errors.
2199
b37421c6
JM
22002010-11-17 Joseph Myers <joseph@codesourcery.com>
2201
2202 * lto.c (lto_main): Take no arguments.
2203 * lto.h (lto_main): Update prototype.
2204
d82f74d3
ILT
22052010-11-16 Ian Lance Taylor <iant@google.com>
2206
2207 * lto-object.c (lto_obj_file_open): Call
2208 simple_object_attributes_merge rather than
2209 simple_object_attributes_compare.
2210
a4d8c676
JM
22112010-11-12 Joseph Myers <joseph@codesourcery.com>
2212
2213 * Make-lang.in (lto/lto.o): Use $(OPTS_H).
2214 * lto-lang.c (lto_handle_option): Take location_t parameter.
2215
d8a07487
JM
22162010-11-10 Joseph Myers <joseph@codesourcery.com>
2217
2218 * lto.c (lto_resolution_read): Start diagnostics with lowercase
2219 letters and remove trailing '.'.
2220 (lto_file_finalize): Start diagnostic with a lowercase letter.
2221
6b3456d1
ILT
22222010-11-02 Ian Lance Taylor <iant@google.com>
2223
2224 * lto-object.c: New file.
2225 * lto-elf.c: Remove file.
2226 * lto-macho.c: Remove file.
2227 * lto-macho.h: Remove file.
2228 * lto-coff.c: Remove file.
2229 * lto-coff.h: Remove file.
2230 * Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
2231 lto/lto-object.o.
2232 ($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
2233 (lto/lto-objfile.o): New target.
2234 (lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
2235 (lto/lto.o): Remove $(LIBIBERTY_H).
2236
030cd86c
JH
22372010-10-22 Jan Hubicka <jh@suse.cz>
2238
2239 * lto.c (add_cgraph_node_to_partition,
2240 add_varpool_node_to_partition): Add debug info.
2241 (lto_1_to_1_map, lto_balanced_map): Do not re-add already
2242 partitioned nodes.
2243 (do_whole_program_analysis): Set function flags before dumping.
2244
4490cae6
RG
22452010-10-22 Richard Guenther <rguenther@suse.de>
2246
2247 * lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
2248 the new gimple_register_canonical_type.
2249
703cdce3
L
22502010-10-20 H.J. Lu <hongjiu.lu@intel.com>
2251
2252 PR bootstrap/45954
2253 * config-lang.in (boot_language): Set to $enable_lto.
2254
1915c739
JJ
22552010-10-18 Jakub Jelinek <jakub@redhat.com>
2256
2257 PR lto/45638
2258 * Make-lang.in (check-lto): New dummy target.
2259
82971de5
EB
22602010-10-14 Eric Botcazou <ebotcazou@adacore.com>
2261
2262 * lto-elf.c (SHN_XINDEX): Define if not already defined.
2263
a75bfaa6
JM
22642010-10-08 Joseph Myers <joseph@codesourcery.com>
2265
2266 * lto-lang.c (lto_init_options): Change to
2267 lto_init_options_struct. Update parameters.
2268 (LANG_HOOKS_INIT_OPTIONS): Don't define.
2269 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
2270
937f7f69
JH
22712010-10-06 Jan Hubicka <jh@suse.cz>
2272
2273 * lto.c (lto_balanced_map): Fix accounting of program size.
2274
2169830c
JH
22752010-10-06 Jan Hubicka <jh@suse.cz>
2276
2277 * lto.c (lto_balanced_map): Do not produce empty partitions.
2278
ecdbd01a 22792010-10-06 Andi Kleen <ak@linux.intel.com>
6e9bd0f8
AK
2280
2281 * lto.c (lto_process_name): Add.
2282 (lto_main): Call lto_process_name.
2283
06ed016f
JH
22842010-10-06 Jan Hubicka <jh@suse.cz>
2285
2286 * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
2287 COMDATs required by the linker.
2288
ae718d66
ILT
22892010-10-05 Ian Lance Taylor <iant@google.com>
2290
2291 * lto.c (lto_section_with_id): Make s a const pointer.
2292
852e4bd2
JH
22932010-10-05 Jan Hubicka <jh@suse.cz>
2294
2295 * lto.c: Include params.h.
2296 (add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
2297 refcounting in aux field.
2298 (undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
2299 New functions.
2300 (lto_1_to_1_map): Simplify.
2301 (lto_balanced_map): New function.
2302 (do_whole_program_analysis): Chose proper partitioning alg.
2303 * Make-lang.in (lto.o): Add dependency on params.h
2304
ecdbd01a 23052010-10-04 Andi Kleen <ak@linux.intel.com>
a90163e9
AK
2306
2307 * Make-lang.in (lto1): Add + to build rule.
2308
ecdbd01a 23092010-10-03 Andi Kleen <ak@linux.intel.com>
f1e92a43
AK
2310
2311 * lto.c (lto_file_finalize): Replace gcc_assert for missing section
2312 with fatal_error.
2313
0d6e14fd
JH
23142010-09-28 Jan Hubicka <jh@suse.cz>
2315
2316 * lto-lang.c (handle_leaf_attribute): New function.
2317 (lto_attribute_tables): Add leaf.
2318
fb462383
JZ
23192010-09-25 Jie Zhang <jie@codesourcery.com>
2320
2321 * lto.c (lto_read_all_file_options): Start a new line after
2322 printing out file names.
2323
051f8cc6
JH
23242010-09-24 Jan Hubicka <jh@suse.cz>
2325
2326 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
2327
64e0f5ff
JH
23282010-09-20 Jan Hubicka <jh@suse.cz>
2329
2330 PR tree-optimize/45605
2331 * lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
2332
a929ec3d
GP
23332010-09-18 Gerald Pfeifer <gerald@pfeifer.com>
2334
2335 * lto-elf.c (lto_obj_file_open): Also provide filename when
2336 elf_begin fails.
2337
4c588abf
JH
23382010-09-17 Jan Hubicka <jh@suse.cz>
2339
2340 * lto.c (lto_promote_cross_file_statics): Use const_value_known.
2341
c3224d6f
RG
23422010-09-17 Richard Guenther <rguenther@suse.de>
2343
2344 * lang.opt (flag_wpa): Also enable for the driver.
2345
52b3b3c7
JH
23462010-09-16 Jan Hubicka <jh@suse.cz>
2347
2348 * lto.c (lto_materialize_function): Do not tamper with STATIC and
2349 EXTERNAL flags.
2350
969c37b7
LB
23512010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2352
2353 * lto-tree.h (struct lang_type): Add variable_size GTY option.
2354
098a4f50
JH
23552010-09-08 Jan Hubicka <jh@suse.cz>
2356
2357 * lto.c (real_file_count, real_file_decl_data): New static vars.
2358 (read_cgraph_and_symbols): Use it.
2359
0f443ad0
RG
23602010-09-08 Richard Guenther <rguenther@suse.de>
2361
2362 * lto.c (read_cgraph_and_symbols): Collect again after each
2363 file.
2364
ee187353
JH
23652010-09-07 Jan Hubicka <jh@suse.cz>
2366
2367 * lto.c (promote_var, promote_fn): Set DECL_VISIBILITY_SPECIFIED.
2368
b3ec52d0
RG
23692010-09-03 Richard Guenther <rguenther@suse.de>
2370
2371 * lto-elf.c (validate_file): Always error if validation fails.
2372
f1395d4a
JH
23732010-08-20 Jan Hubicka <jh@suse.cz>
2374
2375 * lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
2376 (lto_wpa_write_files): Update comments.
2377
2429bce3
L
23782010-08-20 H.J. Lu <hongjiu.lu@intel.com>
2379
2380 PR bootstrap/45357
2381 * lto.c (lto_materialize_function): Replace has_analyzed_clone
2382 with has_analyzed_clone_p.
2383
e0f967db
JH
23842010-08-20 Jan Hubicka <jh@suse.cz>
2385
2386 * lto.c (has_analyzed_clone_p): New function
2387 (lto_materialize_function): Use callgraph to determine if
2388 body is needed.
2389 (materialize_cgraph): Remove DECL_IS_BUILTIN check.
2390
ac47786e
NF
23912010-08-20 Nathan Froyd <froydnj@codesourcery.com>
2392
2393 * lto.c: Use FOR_EACH_VEC_ELT.
2394
ecdbd01a 23952010-07-27 Andi Kleen <ak@linux.intel.com>
d720b869
AK
2396
2397 * Make-lang.in (lto.o): Add dependency to splay-tree.h
2398
5f20c657
JM
23992010-07-27 Joseph Myers <joseph@codesourcery.com>
2400
2401 * lto-lang.c (lto_handle_option): Update prototype and return
2402 value type. Remove duplicate assignment to result.
2403
7a9bf9a4
JM
24042010-07-27 Joseph Myers <joseph@codesourcery.com>
2405
2406 * lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
2407 New.
2408 (lto_init_options): Update prototype.
2409 (LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
2410 Define.
2411
ecdbd01a 24122010-07-10 Andi Kleen <ak@linux.intel.com>
73ce4d1e
AK
2413
2414 PR lto/44992
2415 * lto.c: Include splay-tree.h
2416 (lto_resolution_read): Change to walk file_ids tree and parse
2417 extra file_id in resolution file.
2418 (lto_section_with_id): Add.
2419 (create_subid_section_table): Add.
2420 (lwstate): Add.
2421 (lto_create_files_from_ids): Add.
2422 (lto_file_read): Change to handle sub file ids and create list
2423 of file_datas. Add output argument for count.
2424 (get_section_data): Pass file_data to lto_get_section_name.
2425 (lto_flatten_file): Add.
2426 (read_cgraph_and_symbols): Handle linked lists of file_datas.
2427
ecdbd01a 24282010-07-10 Andi Kleen <ak@linux.intel.com>
2994ee14
AK
2429
2430 * lto-coff.c (hash_name, eq_name): Move.
2431 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
2432 * lto-elf.c: (hash_name, eq_name): Move.
2433 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
2434 * lto-macho.c: (hash_name, eq_name): Move.
2435 (lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
2436 * lto.c: (hash_name, eq_name): Move from lto-*.c
2437 (lto_obj_create_section_hash_table): Add.
2438 (free_with_string): Add.
2439
718f9c0f
MLI
24402010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
2441
2442 * lto-coff.c: Include diagnostic-core.h in every file that
2443 includes toplev.h.
2444 * lto-elf.c: Likewise.
2445 * lto-lang.c: Likewise.
2446 * lto-macho.c: Likewise.
2447
1b137837
JJ
24482010-07-07 Jakub Jelinek <jakub@redhat.com>
2449
2450 * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
2451 (validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
2452 objects.
2453
92eb4438
JH
24542010-07-05 Jan Hubicka <jh@suse.cz>
2455
2456 * lto.c (add_cgraph_node_to_partition): Forward declare; walk also
2457 nodes from same comdat group as well as all comdat functions referenced
2458 here.
b9843260
EB
2459 (add_varpool_node_to_partition, add_references_to_partition): New
2460 function.
2461 (lto_1_1_map): Skip COMDAT fnctions/variables; use
2462 add_varpool_node_to_partition; clear aux flags when done.
2463 (lto_promote_cross_file_statics): Do not promote stuff that gets
2464 duplicated to each ltrans.
92eb4438 2465
a05541a9
JH
24662010-07-04 Jan Hubicka <jh@suse.cz>
2467
2468 * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
2469
4a2ac96f
RG
24702010-06-13 Richard Guenther <rguenther@suse.de>
2471
2472 * lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
2473
1d536046
KT
24742010-06-09 Kai Tietz <kai.tietz@onevision.com>
2475
2476 * lto.c (lto_resolution_read): Pre-initialize local variable r.
2477 * lto-coff.c (coff_write_object_file): Add braces to if.
2478
a9429e29
LB
24792010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2480
2481 * lto.c (lto_read_in_decl_state): Use typed GC allocation.
2482 (lto_file_read): Likewise.
2483 (new_partition): Likewise.
2484 (read_cgraph_and_symbols): Likewise.
2485
5498f011
JM
24862010-06-07 Joseph Myers <joseph@codesourcery.com>
2487
2488 * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
2489 (lto_handle_option): Don't set flag_signed_char here.
2490
d4c0c9f6
RG
24912010-06-04 Richard Guenther <rguenther@suse.de>
2492
2493 PR lto/41584
2494 * lto.c (lto_1_to_1_map): Use the proper file_data for
2495 varpool nodes.
2496
0a5fa5a1
JH
24972010-05-30 Jan Hubicka <jh@suse.cz>
2498
2499 * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
2500 partitioning decisions.
2501
9eec9488
JH
25022010-05-29 Jan Hubicka <jh@suse.cz>
2503
2504 * lto.c (bitmap vector): Remove.
2505 (lto_cgraph_node_sets, lto_varpool_node_sets): Remove.
2506 (ltrans_partition_def): New structure.
2507 (ltrans_partition): New type and VECtor.
2508 (new_partition): New function.
2509 (add_cgraph_node_to_partition): New function.
2510 (lto_1_to_1_map): Reorganize for partitions.
2511 (lto_add_inline_clones): Remove.
2512 (lto_add_all_inlinees): Remove.
2513 (lto_promote_cross_file_statics): Use partitions.
2514 (cmp_partitions): New function.
2515 (lto_wpa_write_files): Do not call lto_add_all_inlinees;
2516 use partitions; output files sorted by size.
2517
3e097227
SB
25182010-05-29 Steven Bosscher <steven@gcc.gnu.org>
2519
2520 * Make-lang.in: Replace vec.h dependency with VEC_H.
2521
7ca92787
JM
25222010-05-28 Joseph Myers <joseph@codesourcery.com>
2523
2524 * lto-coff.c (coff_errmsg): Remove.
2525 (lto_coff_begin_section_with_type, lto_obj_append_data): Use %m in
2526 errors instead of coff_errmsg (-1).
2527 * lto-macho.c (mach_o_errmsg): Remove.
2528 (lto_obj_begin_section, lto_obj_append_data): Use %m in errors
2529 instead of mach_o_errmsg (-1).
2530 * lto.c (read_cgraph_and_symbols): Use %m in errors instead of
2531 xstrerror (errno).
2532
b5611987
RG
25332010-05-28 Richard Guenther <rguenther@suse.de>
2534
2535 * lto.c (prefix_name_with_star): Removed.
2536 (strip_extension): Likewise.
2537 (get_filename_for_set): Likewise.
2538 (lto_write_ltrans_list): Fold into ...
2539 (lto_wpa_write_files): ... this. Name LTRANS units
2540 by suffixing the ltrans output list filename.
2541 (do_whole_program_analysis): Adjust.
2542
1da2ed5f
JM
25432010-05-27 Joseph Myers <joseph@codesourcery.com>
2544
2545 * lto.c: Include diagnostic-core.h instead of diagnostic.h.
2546 (read_cgraph_and_symbols, lto_main): Use seen_error.
2547 * Make-lang.in (lto/lto.o): Update dependencies.
2548
7951d88a
EB
25492010-05-27 Eric Botcazou <ebotcazou@adacore.com>
2550
2551 PR lto/44230
2552 * lto.h (lto_eh_personality): New prototype.
2553 * lto.c: Include debug.h.
2554 (first_personality_decl): New static variable.
2555 (lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
2556 first function for which it is non-null.
2557 (lto_eh_personality_decl): New static variable.
2558 (lto_eh_personality): New function.
2559 * lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
2560 * Make-lang.in (lto/lto.o): Add dependency on debug.h.
2561
e12da9c2
SB
25622010-05-26 Steven Bosscher <steven@gcc.gnu.org>
2563
2564 * lto-lang.c: Do not include expr.h.
2565
468194f4
RG
25662010-05-24 Richard Guenther <rguenther@suse.de>
2567
2568 * lto-elf.c (lto_obj_build_section_table): Work around
2569 FreeBSD libelf issue.
2570
bd9eb5da
RG
25712010-05-22 Richard Guenther <rguenther@suse.de>
2572
2573 * lto.c (read_cgraph_and_symbols): Do not collect.
2574
66576e1b
JH
25752010-05-20 Jan Hubicka <jh@suse.cz>
2576
2577 * lto.c (promote_var, promote_fn): New functions.
2578 (lto_promote_cross_file_statics): Compute correctly boundary including
2579 static initializers of readonly vars.
2580
36576655
JH
25812010-05-18 Jan Hubicka <jh@suse.cz>
2582
66576e1b 2583 * lto.c (lto_1_to_1_map): Partition non-inline clones.
36576655
JH
2584 (lto_promote_cross_file_statics): Deal with non-inline clones.
2585
28632d63
JH
25862010-05-18 Jan Hubicka <jh@suse.cz>
2587
2588 * lto.c (lto_materialize_function): Announce function when
2589 reading body; allocate_struct_function only when reading body;
2590 do not finalize local statics; ggc_collect after reading;
2591 do not mark reachable node.
2592 (materialize_cgraph): Do not announce function.
2593
33e42d56
JH
25942010-05-11 Jan Hubicka <jh@suse.cz>
2595
2596 * lto.c (materialize_cgraph): Revert my previous patch.
2597
f6430ea5
KT
25982010-05-11 Kai Tietz <kai.tietz@onevision.com>
2599
2600 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
2601 IMAGE_FILE_MACHINE_AMD64.
2602 * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
2603
0a0b07b7
JH
26042010-05-11 Jan Hubicka <jh@suse.cz>
2605
2606 * lto.c (lto_fixup_decls): Remove global var decls freeing here.
2607 (materialize_cgraph): Add it here.
2608
9a809897
JH
26092010-05-11 Jan Hubicka <jh@suse.cz>
2610
2611 * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
2612 vector.
2613
26142010-05-11 Jan Hubicka <jh@suse.cz>
2615
2616 * lto.c (lto_1_to_1_map): Remove some no longer needed checks.
2617 (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
2618 use reachable_from_other_partition_p and
2619 referenced_from_other_partition_p test.
2620
94f64249
KT
26212010-05-11 Kai Tietz <kai.tietz@onevision.com>
2622
2623 * lto-coff.c (validate_file): Add x64-coff support.
2624 * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
2625 (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
2626 * lto-lang.c (lto_build_c_type_nodes): Add check for
2627 'long long unsigned int' for x64-windows.
2628 (lto_init): Likewise.
2629
2630
c082f9f3
SB
26312010-05-07 Steven Bosscher <steven@gcc.gnu.org>
2632
2633 * lto.h (struct lto_file_struct): Document offset member.
2634 * lto-endian.h: New file.
2635 * lto-macho.h: New file.
2636 * lto-macho.c: New file.
2637 * Make-lang.in: Add rule for lto-macho.o.
2638
5cd0e96b
RG
26392010-05-07 Richard Guenther <rguenther@suse.de>
2640
2641 PR lto/43857
2642 PR lto/43371
2643 * lang.opt (fresolution): Change to ...
2644 (fresolution=): ... this.
2645 * lto-lang.c (lto_handle_option): Adjust.
2646
48cf395b
RB
26472010-05-07 Richard Guenther <rguenther@suse.de>
2648
2649 * lto.c (DUMPBASE_SUFFIX): Remove.
2650 (lto_execute_ltrans): Move functionality to lto-wrapper.c.
2651 Rename to ...
2652 (lto_write_ltrans_list): ... only output the list of ltrans files.
2653 (lto_maybe_unlink): Remove.
2654 (do_whole_program_analysis): Do not execute LTRANS phase
2655 from here.
2656
afa83c15
L
26572010-05-06 H.J. Lu <hongjiu.lu@intel.com>
2658
2659 * lto-lang.c (lto_handle_option): Add argument kind.
2660
369451ec
JH
26612010-05-05 Jan Hubicka <jh@suse.cz>
2662
48cf395b
RB
2663 * lto.c (lto_promote_cross_file_statics): Compute boundary based on
2664 refs.
369451ec 2665
2f41ecf5
JH
26662010-05-05 Jan Hubicka <jh@suse.cz>
2667
2668 * lto.c (lto_1_to_1_map): Partition only needed nodes.
2669
ace72c88
JH
26702010-04-30 Jan Hubicka <jh@suse.cz>
2671
b9843260
EB
2672 * lto.c (get_filename_for_set): Look for cgraph node and if none found,
2673 use default name.
ace72c88
JH
2674 (lto_wpa_write_files): Write any non-empty partition.
2675
05575e07
JH
26762010-04-30 Jan Hubicka <jh@suse.cz>
2677
2678 * lto.c: Do not attempt to make constant pool references global.
2679
49ba8180
JH
26802010-04-28 Jan Hubicka <jh@suse.cz>
2681
2682 * lto/lto.c (lto_read_in_decl_state): Use GGC.
2683 (lto_wpa_write_files): Announce what we are writting.
2684 (all_file_decl_data): New.
2685 (read_cgraph_and_symbols): Use GGC; correct timevars.
2686 (do_whole_program_analysis): Collect.
2687 * lto/Make-lang.in (lto.o): Fix dependency.
2688 * Makefile.in (GTFILES): Add lto-streamer.h.
2689 * varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
2690 (varpool_assemble_pending_decls): Use VAROUT.
2691 * lto-streamer.h (lto_tree_ref_table): Annotate.
2692 (lto_in_decl_state): Annotate.
2693 (lto_file_decl_data): Annotate.
2694
2942c502
JH
26952010-04-28 Jan Hubicka <jh@suse.cz>
2696
2697 * lto.c (lto_varpool_node_sets): New.
2698 (lto_1_to_1_map): Partition varpool too.
2699 (globalize_context_t, globalize_cross_file_statics,
2700 lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
2701 lto_scan_statics_in_remaining_global_vars): Remove.
2702 (lto_promote_cross_file_statics): Rewrite.
2703 (get_filename_for_set): Take vset argument.
2704 (lto_wpa_write_files): Pass around vsets.
2705
3bec79c5
DK
27062010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
2707
2708 PR lto/42776
2709 * Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
2710 hardcoding 'lto-elf.o'.
2711 ($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.
2712
2713 * lto-coff.h: New file.
2714 * lto-coff.c: Likewise.
2715
21aac880
RG
27162010-04-26 Richard Guenther <rguenther@suse.de>
2717
2718 * lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
2719
2cee0101
DK
27202010-04-26 Dave Korn <dave.korn.cygwin@gmail.com>
2721
2722 * lto.h (lto_elf_file_open): Rename prototype from this ...
2723 (lto_obj_file_open): ... to this.
2724 (lto_elf_file_close): Likewise ...
2725 (lto_obj_file_close): ... and likewise.
2726 (lto_elf_build_section_table): Likewise ...
2727 (lto_obj_build_section_table): ... and likewise.
2728 (lto_elf_begin_section): Likewise ...
2729 (lto_obj_begin_section): ... and likewise.
2730 (lto_elf_append_data): Likewise ...
2731 (lto_obj_append_data): ... and likewise.
2732 (lto_elf_end_section): Likewise ...
2733 (lto_obj_end_section): ... and likewise.
2734 * lto.c (lto_file_read): Update references to the above.
2735 (lto_wpa_write_files): Likewise.
2736 (lto_read_all_file_options): Likewise.
2737 (read_cgraph_and_symbols): Likewise.
2738 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
2739 (LANG_HOOKS_APPEND_DATA): Likewise.
2740 (LANG_HOOKS_END_SECTION): Likewise.
2741 * lto-elf.c (lto_elf_file_open): Rename from this ...
2742 (lto_obj_file_open): ... to this, updating any references.
2743 (lto_elf_file_close): Likewise ...
2744 (lto_obj_file_close): ... and likewise.
2745 (lto_elf_build_section_table): Likewise ...
2746 (lto_obj_build_section_table): ... and likewise.
2747 (lto_elf_begin_section): Likewise ...
2748 (lto_obj_begin_section): ... and likewise.
2749 (lto_elf_append_data): Likewise ...
2750 (lto_obj_append_data): ... and likewise.
2751 (lto_elf_end_section): Likewise ...
2752 (lto_obj_end_section): ... and likewise.
2753
bc58d7e1
JH
27542010-04-21 Jan Hubicka <jh@suse.cz>
2755
2756 * lto.c (lto_fixup_tree): Do not call wpa fixup.
2757 (materialize_cgraph): Likewise.
2758
e792884f
JH
27592010-04-21 Jan Hubicka <jh@suse.cz>
2760
2761 * lto.c (lto_wpa_write_files): Update.
2762 (read_cgraph_and_symbols): Be more verbose.
2763 (materialize_cgraph): Likewise.
2764 (do_whole_program_analysis): Likewise.
2765
c9945504
JH
27662010-04-21 Jan Hubicka <jh@suse.cz>
2767
2768 * lto.c (globalize_cross_file_statics): When function has address taken,
2769 it needs to be public.
2770
a837268b
JH
27712010-04-20 Jan Hubicka <jh@suse.cz>
2772
2773 * lto.c (lto_add_inline_clones): Do not track inlined_decls.
2774 (lto_add_all_inlinees): Likewise.
2775 (lto_wpa_write_files): Likewise.
2776
3b9e5d95
EB
27772010-04-18 Eric Botcazou <ebotcazou@adacore.com>
2778
2779 * lto-lang.c (lto_init): Remove second argument in call to
2780 build_common_tree_nodes.
2781
8ccb78f2
RO
27822010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2783
2784 * lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
2785 function.
2786
2f9b99e6
EB
27872010-03-09 Eric Botcazou <ebotcazou@adacore.com>
2788
2789 PR bootstrap/43276
2790 * lto-elf.c: Define EM_* constants if not already defined.
2791
bef7d288
EB
27922010-03-03 Eric Botcazou <ebotcazou@adacore.com>
2793
2794 * lto-elf.c (is_compatible_architecture): New static function.
2795 (DEFINE_VALIDATE_EHDR): Use it to validate the architecture.
2796
f68df07c
RG
27972010-02-11 Richard Guenther <rguenther@suse.de>
2798
2799 PR driver/43021
2800 * lto-elf.c (lto_elf_file_open): Handle file@offset case more
2801 appropriately.
2802
3cdea2b4
AH
28032010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
2804
2805 * lto.c (O_BINARY): Define.
2806 (lto_read_section_data): Open file in binary mode.
2807 * lto-elf.c (O_BINARY): Define.
2808 (lto_elf_file_open): Open file in binary mode.
2809
c59449fa
RG
28102010-01-08 Richard Guenther <rguenther@suse.de>
2811
2812 PR lto/42528
2813 * lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
2814 (lto_init): Do not init char_type_node in a standard way
2815 but according to flag_signed_char.
2816
d7fb0a6d
L
28172010-01-03 H.J. Lu <hongjiu.lu@intel.com>
2818
2819 PR lto/41564
2820 * lto.c (DUMPBASE_SUFFIX): New.
2821 (lto_execute_ltrans): Append a sequence number to -dumpbase
2822 for LTRANS.
2823
78ce4053
L
28242010-01-02 H.J. Lu <hongjiu.lu@intel.com>
2825
2826 PR lto/42580
2827 * lto-elf.c (lto_elf_file_open): Stop if the command line
2828 option file is missing.
2829
2a71eb48
RG
28302009-12-15 Richard Guenther <rguenther@suse.de>
2831
2832 * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
2833 (lto_post_options): Do not disable debuginfo.
2834
a818bca1
DG
28352009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
2836
2837 * Make-lang.in ($(LTO_EXE)): Use $(LINKER).
2838
e7d00517
RG
28392009-12-11 Richard Guenther <rguenther@suse.de>
2840
2841 PR lto/42037
2842 * lto.c (lto_resolution_read): Properly grow the vector.
2843
1ab53893
RG
28442009-12-11 Richard Guenther <rguenther@suse.de>
2845
2846 PR lto/41915
2847 * lto-lang.c (lto_init_options): Initialize flag_complex_method
2848 to the C99 default. Do not set flag_unit_at_a_time.
2849
0f900dfa
JJ
28502009-11-28 Jakub Jelinek <jakub@redhat.com>
2851
2852 * lto-lang.c (handle_nonnull_attribute): Remove unused attr_arg_num
2853 variable.
2854
92fa7608
RAE
28552009-11-19 Rafael Avila de Espindola <espindola@google.com>
2856
2857 PR bootstrap/42096
2858 * lto-elf.c (lto_elf_file_open): Use lto_parse_hex.
2859 * lto.c (lto_parse_hex): New.
2860 (lto_resolution_read): Use lto_parse_hex.
2861 * lto.h (lto_parse_hex): New.
2862
9870fe4f
RAE
28632009-11-17 Rafael Avila de Espindola <espindola@google.com>
2864
2865 * lto-elf.c (lto_file_init): Add offset argument.
2866 (lto_elf_file_open): Record the offset.
2867 * lto.c (lto_resolution_read): Change file_name into a lto_file
2868 argument. Check offsets.
2869 (lto_file_read): Update call to lto_resolution_read.
2870 * lto.h (lto_file_struct): Add the offset field.
2871
1b70729f
RAE
28722009-11-16 Rafael Avila de Espindola <espindola@google.com>
2873
2874 * lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.
2875
0e3776db
JH
28762009-11-14 Jan Hubicka <jh@suse.cz>
2877
2878 * lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
2879
06bd7f56
RAE
28802009-11-12 Rafael Avila de Espindola <espindola@google.com>
2881
2882 * lang.opt (fresolution): Renamed from resolution.
2883 * lto-lang.c (lto_handle_option): Handle new option name.
2884 * lto.c (lto_resolution_read): Add more checks. Discard rest of line.
2885
7e9dc421
RG
28862009-11-04 Richard Guenther <rguenther@suse.de>
2887 Rafael Avila de Espindola <espindola@google.com>
2888
2889 * lto-elf.c (lto_elf_build_section_table): Add the base offset.
2890 (lto_elf_file_open): Handle offsets in arguments name@offest.
2891
b207f900
RG
28922009-10-30 Richard Guenther <rguenther@suse.de>
2893
2894 PR lto/41858
2895 * lto.c (lto_file_read): Do not set file_data->fd.
2896 (lto_read_section_data): Use a single-entry file-descriptor cache.
2897 Do not check the result of xmalloc.
2898 (free_section_data): Do not use file_data->fd.
2899 (lto_read_all_file_options): Likewise.
2900
2c928155
RG
29012009-10-22 Richard Guenther <rguenther@suse.de>
2902
2903 * lto.c (lto_fixup_jump_functions): Remove.
2904 (lto_fixup_decls): Do not fixup jump functions.
2905 (read_cgraph_and_symbols): Schedule cgraph merging after
2906 summary reading. Schedule type and decl fixup before
2907 summary reading.
2908
f9c91f8a
RB
29092009-10-22 Richard Guenther <rguenther@suse.de>
2910
2911 * lto.c (lto_fixup_data_t): Remove free_list member.
2912 (lto_fixup_tree): Do not insert into free_list.
2913 (free_decl): Remove.
2914 (lto_fixup_decls): Remove free-list handling.
2915
fb3f88cc
JH
29162009-10-22 Jan Hubicka <jh@suse.cz>
2917
2918 * lto.c (lto_fixup_jump_functions): New function.
2919 (lto_fixup_decls): Use it.
2920
35f1e9f4
RG
29212009-10-16 Richard Guenther <rguenther@suse.de>
2922
2923 PR lto/41715
2924 * lto.c (lto_fixup_tree): Revert last change.
2925
200c8750
RG
29262009-10-14 Richard Guenther <rguenther@suse.de>
2927
2928 * lto.c (lto_fixup_tree): In case the prevailing decl is not
2929 compatible with the one we replace wrap it around a
2930 VIEW_CONVERT_EXPR.
2931
b1b07c92
RG
29322009-10-09 Richard Guenther <rguenther@suse.de>
2933
2934 PR lto/41635
2935 PR lto/41636
2936 * lto.c (read_cgraph_and_symbols): Do not assert we can open
2937 a file.
2938 * lto-elf.c (init_shdr##BITS): Fix i18n problems.
2939 (init_ehdr##BITS): Likewise.
2940
3c2e7d45
JM
29412009-10-08 Joseph Myers <joseph@codesourcery.com>
2942
2943 * lto-elf.c (init_shdr##BITS, lto_elf_begin_section_with_type,
2944 init_ehdr##BITS, lto_elf_file_close): Remove trailing "." from
2945 diagnostics.
2946 * lto-lang.c (lto_post_options): Remove trailing "." from
2947 diagnostics.
2948
0d0bfe17
RG
29492009-10-08 Richard Guenther <rguenther@suse.de>
2950
2951 * lto.c (read_cgraph_and_symbols): Free the gimple type merging
2952 hash tables.
2953
4bedf19a
JM
29542009-10-07 Joseph Myers <joseph@codesourcery.com>
2955
2956 * lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
2957
b20996ff
JH
29582009-10-07 Jan Hubicka <jh@suse.cz>
2959
2960 * lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
2961 ltrans stage; explain why this is needed and should not.
2962
1a735925
RG
29632009-10-05 Richard Guenther <rguenther@suse.de>
2964
2965 PR lto/41552
2966 PR lto/41487
2967 * lto.c (lto_read_decls): Do not register deferred decls.
2968 (read_cgraph_and_symbols): Delay symbol and cgraph merging
2969 until after reading the IPA summaries.
2970
d7f09764
DN
29712009-10-02 Rafael Avila de Espindola <espindola@google.com>
2972
2973 * Make-lang.in (lto/lto-lang.o): Don't depend on lto/common.h.
2974 (lto-lang.c): Don't include lto/common.h.
2975
29762009-10-02 Rafael Avila de Espindola <espindola@google.com>
2977
2978 * Make-lang.in (LTO_OBJS): Remove lto/common.o.
2979 (lto/common.o): Remove.
2980 * common.c: Remove.
2981 * common.h (lto_kind_str): Remove.
2982 (lto_visibility_str): Remove.
2983 (lto_resolution_str): Make it static.
2984
29852009-10-01 Diego Novillo <dnovillo@google.com>
2986
2987 * lto.c (lto_read_decls): Add comment.
2988 Call internal_error instead of gcc_assert.
2989 (lto_resolution_read): Likewise.
2990 (lto_add_all_inlinees): Tidy.
2991 * Make-lang.in: Fix copyright boilerplate.
2992 (lto.pdf): New.
2993 (lto.install-pdf): New.
2994 * lto-tree.h: Fix copyright boilerplate.
2995 * lang-specs.h: Likewise.
2996 Remove ".lto" entry from compilers fragment.
2997 * lto-elf.c: Move inclusion of gelf.h after config.h.
2998 Tidy formatting everywhere.
2999 * lto.h: Fix copyright boilerplate.
3000 Tidy formatting everywhere.
3001 * common.c: Likewise.
3002 * config-lang.in: Likewise.
3003 * common.h: Likewise.
3004 * lto-lang.c: Likewise.
3005
30062009-10-01 Richard Guenther <rguenther@suse.de>
3007
3008 * lto.c (lto_read_section_data): Use plain lseek/read.
3009
30102009-10-01 Richard Guenther <rguenther@suse.de>
3011
3012 * lto.c (LTO_MMAP_IO): Define if we can mmap files and
3013 use sysconf to query the system page size.
3014 (lto_file_read): Implement fallback using stdio.
3015 (free_section_data): Likewise.
3016
30172009-09-29 Diego Novillo <dnovillo@google.com>
3018
3019 * lto-lang.c (lto_init): Really fix call to
3020 build_common_builtin_nodes.
3021
30222009-09-29 Diego Novillo <dnovillo@google.com>
3023
3024 * lto-lang.c (lto_init): Fix call to
3025 build_common_builtin_nodes.
3026
30272009-09-29 Richard Guenther <rguenther@suse.de>
3028
3029 PR lto/40754
3030 * lto-elf.c (init_shdr##BITS): Properly specify alignment
3031 in bytes.
3032 (first_data_block): New static variable.
3033 (lto_elf_append_data): Align the first data block in each
3034 section.
3035
30362009-09-28 Diego Novillo <dnovillo@google.com>
3037
3038 * lto-lang.c: Tidy. Remove stale FIXME lto markers.
3039 * lto.c (strip_extension): New.
3040 (get_filename_for_set): Call it. Do not call make_cwd_temp_file.
3041 (lto_execute_ltrans): Tidy.
3042 Do not pass -fwpa nor -fltrans-* to LTRANS.
3043 * opts.c: Tidy formatting and remove stale FIXME lto markers.
3044 * tree.c (need_assembler_name_p): Call
3045 lang_hooks.decls.may_need_assembler_name_p if set.
3046 * varasm.c (default_binds_local_p_1): Remove check for
3047 flag_ltrans.
3048 * varpool.c (decide_is_variable_needed): Do not test for
3049 in_lto_p.
3050
30512009-09-22 Richard Guenther <rguenther@suse.de>
3052
3053 PR lto/39276
3054 * lto.c (lto_execute_ltrans): Perform ltrans phase manually.
3055 * Make-lang.in: Remove ltrans-driver stuff.
3056 * config-lang.in: Likewise.
3057 * lang.opt (fltrans-driver): Remove.
3058 * lto-lang.c (lto_init_options): Remove code initializing
3059 ltrans_driver.
3060 * ltrans-driver: Remove.
3061
30622009-09-21 Diego Novillo <dnovillo@google.com>
3063
3064 * lto-lang.c (lto_define_builtins): Remove superfluous
3065 calls to targetm.init_builtins and build_common_builtin_nodes.
3066 (lto_init): Add targetm.arm_eabi_unwinder as parameter to
3067 build_common_builtin_nodes.
3068 * lto.c (lto_materialize_function): Do nothing if NODE is a
3069 clone.
3070
30712009-09-03 Diego Novillo <dnovillo@google.com>
3072
3073 * lto-elf.c (validate_file): Replace call to
3074 elf_getshstrndx with call to elf_getshdrstrndx.
3075
30762009-08-19 Richard Guenther <rguenther@suse.de>
3077
3078 * lto-lang.c (lto_init): Merge char_type_node with the
3079 appropriately signed variant.
3080
30812009-08-19 Richard Guenther <rguenther@suse.de>
3082
3083 PR lto/41071
3084 * lto.c (lto_fixup_common): Re-build the pointer-to chain part one.
3085 (lto_fixup_type): Re-build the pointer-to chain part two.
3086
30872009-08-19 Richard Guenther <rguenther@suse.de>
3088
3089 PR lto/41071
3090 * lto.c (lto_fixup_type): Re-build the type variant chain.
3091
30922009-08-19 Richard Guenther <rguenther@suse.de>
3093
3094 PR lto/41071
3095 * lto.c (lto_fixup_constructor): New function.
3096 (lto_fixup_tree): Replace all types. Properly fixup
3097 constructors and constants.
3098
30992009-08-14 Richard Guenther <rguenther@suse.de>
3100
3101 * lto.c (read_cgraph_and_symbols): Exchange TREE_CHAIN use
3102 for DECL_LANG_SPECIFIC.
3103
31042009-08-13 Richard Guenther <rguenther@suse.de>
3105
3106 PR lto/41032
3107 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define to NULL.
3108
31092009-07-30 Richard Guenther <rguenther@suse.de>
3110
3111 PR lto/40903
3112 * lto.c (read_cgraph_and_symbols): After fixing up decls choose
3113 the largest decl for output and free TREE_CHAIN for further
3114 use.
3115
31162009-07-24 Diego Novillo <dnovillo@google.com>
3117
3118 * Make-lang.in: Add empty lto.install-plugin target.
3119
31202009-07-13 Diego Novillo <dnovillo@google.com>
3121
3122 * lto.c (lto_fixup_tree): Handle IMPORTED_DECL.
3123
31242009-07-11 Richard Guenther <rguenther@suse.de>
3125
3126 * lto-lang.c (lto_write_globals): Wrapup global decls.
3127
31282009-07-10 Richard Guenther <rguenther@suse.de>
3129
3130 * lto-lang.c (lto_init): Allocate one more location to make
3131 BUILTINS_LOCATION correct.
3132
31332009-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3134
3135 * lto.c (free_section_data): Cast computed_offset to caddr_t.
3136
31372009-07-06 Diego Novillo <dnovillo@google.com>
3138
3139 * lto.c (lto_fixup_type): Fixup TYPE_SIZE and
3140 TYPE_SIZE_UNIT.
3141
31422009-07-06 Diego Novillo <dnovillo@google.com>
3143
3144 * lto.c (preload_common_nodes): Remove.
3145 (lto_read_in_decl_state): Call lto_streamer_cache_get.
3146 (lto_read_decls): Call lto_data_in_create and
3147 lto_data_in_delete.
3148 (free_decl): Do not call ggc_free.
3149 (lto_main): Call lto_init_reader.
3150 * lto-lang.c (lto_type_for_size): Handle intTI_type_node.
3151 (lto_init): Initialize main_identifier_node if needed.
3152 Make ptrdiff_type_node be integer_type_node.
3153
31542009-06-19 Diego Novillo <dnovillo@google.com>
3155
3156 * lto.c: Remove code guarded by #ifdef LTO_STREAM_DEBUGGING.
3157 Remove code guarded by #ifdef GLOBAL_STREAMER_TRACE.
3158 Remove code guarded by #ifdef LOCAL_TRACE.
3159
31602009-06-18 Diego Novillo <dnovillo@google.com>
3161
3162 * lto.c: Update license to GPLv3.
3163 * lto-elf.c: Likewise.
3164 * common.c: Likewise.
3165 * lto-lang.c: Likewise.
3166 * lto.h: Remove superfluous include files. Update all
3167 users.
3168
31692009-06-17 Diego Novillo <dnovillo@google.com>
3170
3171 * lto.c (read_cgraph_and_symbols): Call input_cgraph.
3172
31732009-06-02 Diego Novillo <dnovillo@google.com>
3174
3175 * lto.c (lto_1_to_1_map): Ignore nodes that have not been
3176 read in.
3177 (materialize_cgraph): Only materialize nodes that have a
3178 representation on file.
3179
31802009-06-01 Diego Novillo <dnovillo@google.com>
3181
3182 * lto-lang.c (lto_handle_option): Hanlde OPT_Wabi.
3183
31842009-05-31 Diego Novillo <dnovillo@google.com>
3185
3186 * lto-lang.c (lto_type_for_mode): Handle all the modes
3187 handled in c_common_type_for_mode.
3188
31892009-05-21 Diego Novillo <dnovillo@google.com>
3190
3191 * lto-elf.c: Always include <gelf.h>.
3192 * config-lang.in (target_libs): Remove.
3193 (build_by_default): Set to no.
3194
31952009-05-15 Diego Novillo <dnovillo@google.com>
3196
3197 * lto.c (lto_materialize_function): Assert that DECL is
3198 not a builtin.
3199 (materialize_cgraph): Don't try to materialize builtin
3200 functions.
3201 * lto-section-out.c (write_symbol_vec): Do not write
3202 builtin functions.
3203
32042009-05-13 Diego Novillo <dnovillo@google.com>
3205
3206 * lto-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define.
3207
32082009-05-07 Diego Novillo <dnovillo@google.com>
3209
3210 * lto.c (lto_resolution_read): Add type casts for C++ warnings.
3211 (LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE): Define.
3212 (lto_fixup_type): Call it for TYPE_POINTER_TO,
3213 TYPE_REFERENCE_TO, TYPE_CONTEXT and TYPE_CANONICAL.
3214 (lto_fixup_tree): Call gimple_register_type when *TP is a
3215 type.
3216 (lto_main): Call bitmap_obstack_initialize.
3217
32182009-04-22 Diego Novillo <dnovillo@google.com>
3219
3220 * lto.c (free_section_data): Tidy.
3221 (lto_1_to_1_map): Tidy.
3222 (lto_add_all_inlinees): Tidy.
3223 (prefix_name_with_star): New.
3224 (get_filename_for_set): New.
3225 (lto_wpa_write_files): Call cgraph_node_set_needs_ltrans_p
3226 to determine what cgraph node sets to write.
3227 Call get_filename_for_set to compute temporary file
3228 names.
3229 (lto_execute_ltrans): Do not execute LTRANS on files with
3230 names that start with '*'.
3231 Move logic to execute LTRANS together so that LTRANS is
3232 invoked only if there are any files to compile.
3233 (do_whole_program_analysis): Only remove output files
3234 that do not start with '*'.
3235
32362009-04-06 Diego Novillo <dnovillo@google.com>
3237
3238 * lto-lang.c (lto_post_options): Set flag_excess_precision_cmdline.
3239 * lto.c (read_cgraph_and_symbols): Set cgraph_function_flags_ready.
3240 (lto_add_all_inlinees): Tidy.
3241
32422009-03-26 Diego Novillo <dnovillo@google.com>
3243
3244 * lto.c: Include gimple.h.
3245 (lto_read_in_decl_state): Call gimple_register_type for
3246 every type in every stream.
3247 (lto_fixup_common): Call gimple_register_type if T has a
3248 type.
3249 (do_whole_program_analysis): Call print_lto_report.
3250 (lto_main): Call print_lto_report after cgraph_optimize.
3251 * Make-lang.in (lto.o): Add dependency on GIMPLE_H.
3252
32532009-03-24 Diego Novillo <dnovillo@google.com>
3254
3255 * Make-lang.in (lto-lang.o): Add dependency on TARGET_H and EXPR_H.
3256 (lto.o): Add dependency on GIMPLE_H.
3257
32582009-03-10 Simon Baldwin <simonb@google.com>
3259
3260 * lto.c (lto_read_all_file_options): Close any open file descriptor
3261 contained in file_data before freeing.
3262
32632009-02-24 Rafael Avila de Espindola <espindola@google.com>
3264
3265 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
3266 for a decl in the original bitmap, not a node.
3267 (lto_add_all_inlinees): Remove original nodes that are not needed.
3268 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
3269
32702009-02-24 Diego Novillo <dnovillo@google.com>
3271
3272 * lto.c (lto_materialize_function): Update
3273 lto_stats.num_function_bodies.
3274 (get_section_data): Initialize *LEN to 0.
3275 (lto_1_to_1_map): Update lto_stats.num_cgraph_partitions.
3276 (lto_wpa_write_files): Update lto_stats.num_cgraph_nodes.
3277 Update lto_stats.num_output_files.
3278 (read_cgraph_and_symbols): Update lto_stats.num_input_files.
3279 (materialize_cgraph): Update lto_stats.num_input_cgraph_nodes.
3280 (lto_main): Initialize lto_stats.
3281 If flag_lto_report is set, call print_lto_report.
3282
32832009-02-19 Diego Novillo <dnovillo@google.com>
3284
3285 Revert
3286
3287 2009-02-19 Rafael Avila de Espindola <espindola@google.com>
3288
3289 * lto.c (lto_add_inline_clones): Don't add the
3290 master clone. Check for a decl in the original
3291 bitmap, not a node.
3292 (lto_add_all_inlinees): Remove original nodes
3293 that are not needed.
3294 (lto_scan_statics_in_cgraph_node): Don't care if
3295 the node is the master.
3296 (lto_promote_cross_file_statics): Use a new
3297 context.seen_node_decls for each set
3298
32992009-02-19 Rafael Avila de Espindola <espindola@google.com>
3300
3301 * lto.c (lto_add_inline_clones): Don't add the master clone. Check
3302 for a decl in the original bitmap, not a node.
3303 (lto_add_all_inlinees): Remove original nodes that are not needed.
3304 (lto_scan_statics_in_cgraph_node): Don't care if the node is the master.
3305 (lto_promote_cross_file_statics): Use a new context.seen_node_decls
3306 for each set
3307
33082009-02-18 Diego Novillo <dnovillo@google.com>
3309
3310 * lto.c (lto_wpa_write_files): Use timers TV_WHOPR_WPA
3311 and TV_WHOPR_WPA_IO.
3312 (lto_execute_ltrans): Use timer TV_WHOPR_WPA_LTRANS_EXEC.
3313 (read_cgraph_and_symbols): Use timer TV_IPA_LTO_DECL_IO.
3314 (materialize_cgraph): Use timer TV_IPA_LTO_GIMPLE_IO.
3315 Use timer TV_WHOPR_WPA or TV_WHOPR_LTRANS or TV_LTO
3316 depending on command line flags.
3317 (do_whole_program_analysis): Use timer TV_WHOPR_WPA.
3318 (lto_main): Remove timer uses.
3319
33202009-02-18 Rafael Avila de Espindola <espindola@google.com>
3321
3322 * lto.c (lto_materialize_function): Don't set DECL_EXTERN to 0.
3323 (lto_wpa_write_files): Update calls to renamed functions.
3324
33252009-02-17 Diego Novillo <dnovillo@google.com>
3326
3327 PR 39203
3328 * lto-lang.c (lto_post_options): Disable -fwhole-program
3329 when running LTRANS.
3330
33312009-02-10 Diego Novillo <dnovillo@google.com>
3332
3333 * lto.c (read_cgraph_and_symbols): Fix comment.
3334
33352009-02-10 Diego Novillo <dnovillo@google.com>
3336
3337 * lto.c (read_cgraph_and_symbols): Read options from all
3338 IL files.
3339
33402009-02-10 Diego Novillo <dnovillo@google.com>
3341
3342 * lto.c (read_cgraph_and_symbols): Factor out of lto_main.
3343 (materialize_cgraph): Likewise.
3344 (do_whole_program_analysis): Likewise.
3345 (lto_main): Call read_cgraph_and_symbols,
3346 materialize_cgraph and do_whole_program_analysis.
3347
33482009-02-10 Simon Baldwin <simonb@google.com>
3349
3350 * lto.c: Include lto-opts.h.
3351 * (lto_main): Clear file options at loop start, read any saved
3352 options from the first file handled, and re-issue options.
3353 * Makefile.in (lto.o): Add dependency on lto-opts.h.
3354
33552009-02-02 Diego Novillo <dnovillo@google.com>
3356
3357 * lto.c (lto_main): Stop LTO_TIMER and use
3358 TV_WHOPR_WPA_LTRANS_EXEC when launching LTRANS.
3359
33602009-01-30 H.J. Lu <hongjiu.lu@intel.com>
3361
3362 PR lto/38995
3363 * lto-elf.c (init_shdr##BITS): Set the sh_addralign field
3364 to POINTER_SIZE.
3365
33662009-01-29 Ramana Radhakrishnan <ramana.r@gmail.com>
3367
3368 * Make-lang.in (LTO_EXE): Link with all
3369 BACKENDLIBS and not only GMPLIBS
3370
33712009-01-28 H.J. Lu <hongjiu.lu@intel.com>
3372
3373 PR bootstrap/38992
3374 * lto-elf.c: Include gelf.h instead of libelf.h.
3375 (lto_elf_file_close): Replace elfx_update_shstrndx with
3376 gelf_getehdr, elf_getscn, gelf_getshdr, gelf_update_shdr and
3377 gelf_update_ehdr.
3378
33792009-01-28 H.J. Lu <hongjiu.lu@intel.com>
3380
3381 PR middle-end/38996
3382 * lto-elf.c (DEFINE_INIT_EHDR): Initialize e_version.
3383
33842009-01-26 Diego Novillo <dnovillo@google.com>
3385
3386 * lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Update.
3387
33882009-01-26 Diego Novillo <dnovillo@google.com>
3389
3390 * lto-lang.c (lto_types_compatible_p): Move to gimple.c
3391 and rename into gimple_types_compatible_p.
3392
33932009-01-12 Rafael Avila de Espindola <espindola@google.com>
3394
3395 * lto-lang.c (lang_hooks): Remove the const qualifier.
3396
33972009-01-06 Diego Novillo <dnovillo@google.com>
3398
3399 * ltrans-driver: Mark 'all' target as phony.
3400
34012008-12-31 Diego Novillo <dnovillo@google.com>
3402
3403 * ltrans-driver: Execute a NOP action for target 'all'.
3404
34052008-12-19 Diego Novillo <dnovillo@google.com>
3406
3407 * lto.c (lto_1_to_1_map): Tidy.
3408
34092008-12-19 Diego Novillo <dnovillo@google.com>
3410
3411 * lto-elf.c (lto_elf_file_open): When FILENAME cannot
3412 be opened, show its name.
3413 * ltrans-driver: If $verbose is set, do not use parallelism.
3414
34152008-12-17 Rafael Avila de Espindola <espindola@google.com>
3416
3417 * lto.c (lto_fixup_function): New.
3418 (lto_fixup_tree): Call lto_fixup_function.
3419
34202008-12-14 Doug Kwan <dougkwan@google.com>
3421
3422 * lto.c (lto_1_to_1_map): Create a cgraph node set for any global
3423 variables if there is no function.
3424
34252008-12-10 Simon Baldwin <simonb@google.com>
3426
3427 * ltrans-driver: Always run make in silent mode, to avoid make's
3428 trace on stdout interfering with lto-wrapper output.
3429
34302008-12-10 Doug Kwan <dougkwan@google.com>
3431
3432 * lto.c (lto_add_inline_clones): Do not force master clones of
3433 inlined functions already in SET to be static inline.
3434
34352008-12-04 Doug Kwan <dougkwan@google.com>
3436
3437 * lto.c (globalize_context_t): New type to store states in
3438 globalization of cross-file statics.
3439 (globalize_cross_file_statics): New.
3440 (lto_scan_statics_in_ref_table): Walk tree to look for reachable
3441 static decls that need to be fixed up.
3442 (lto_scan_statics_in_cgraph_node): Change call interface to use
3443 a globalize_context_t CONTEXT for all states used.
3444 (lto_scan_statics_in_remaining_global_vars): New.
3445 (lto_promote_cross_file_statics): Use new call interface of
3446 LTO_SCAN_STATICS_IN_CGRAPH_NODE. Handle remaining externally
3447 visible vars in the last set.
3448
34492008-12-03 Diego Novillo <dnovillo@google.com>
3450
3451 * lto.c (lto_fixup_tree): Do not emit an error when
3452 PREVAILING throw but T doesn't.
3453
34542008-12-02 Doug Kwan <dougkwan@google.com>
3455
3456 * lto.c (lto_scan_statics_in_ref_table): New function factored out
3457 from code in ...
3458 (lto_scan_statics_in_cgraph_node): Handle both file-scope static
3459 variables and functions.
3460 (lto_promote_cross_file_statics): Rename bitmaps to SEEN_DECLS
3461 and GLOBAL_DECLS from SEEN_VARS and GLOBAL_VARS.
3462
34632008-11-29 Diego Novillo <dnovillo@google.com>
3464
3465 * lto.c: Include timevar.h.
3466 (lto_materialize_function): Tidy. Add comments.
3467 (lto_wpa_write_files): Tidy.
3468 (lto_execute_ltrans): Tidy.
3469 (lto_main): Add local variable LTO_TIMER. Initialize it
3470 to one of TV_WHOPR_WPA, TV_WHOPR_LTRANS or TV_LTO.
3471 Start and stop the timer.
3472 Tidy comments.
3473 * Make-lang.in (lto.o): Add dependency on timevar.h.
3474 * ltrans-driver: React to -v and -save-temps.
3475 Use simple heuristic to determine how much parallelism to
3476 use when executing make.
3477
34782008-11-12 Doug Kwan <dougkwan@google.com>
3479
3480 * lto.c (lto_bitmap_obstack): Remove var.
3481 (lto_materialize_function): Do nothing instead of marking function
3482 body in file if flag_wpa is true.
3483 (lto_add_all_inlinees): Use bitmap functions in lto-utils.c.
3484 (lto_scan_statics_in_cgraph_node): New function.
3485 (lto_promote_cross_file_statics): Same.
3486 (lto_wpa_write_files): Call lto_promote_cross_file_statics.
3487 Use bitmap functions in lto-utils.c. Remove unsued label OUT.
3488 * Make-lang.in (lto/lto.o): Add lto-utils.h to dependency list.
3489
34902008-11-09 Diego Novillo <dnovillo@google.com>
3491
3492 * lto/lto.c (lto_fixup_tree): Change error message locus
3493 information to include location of mismatching
3494 declaration.
3495 Use TREE_NO_WARNING to avoid repeated messages.
3496 (lto_main): If lto_fixup_decls emitted any errors, exit.
3497 * lto/lto-lang.c: Don't include libfuncs.h and except.h
3498 (lto_init_options): Don't enable exceptions by default.
3499 (lto_eh_runtime_type): Move to lto-function-in.c
3500 (lto_init_eh): Likewise.
3501 (lto_init): Don't call lto_init_eh.
3502 * lto/Make-lang.in (lto-lang.o): Remove dependency on
3503 libfuncs.h and except.h.
3504
35052008-10-30 Diego Novillo <dnovillo@google.com>
3506
3507 * lto.c (lto_read_decls): Declare debug_main only if
3508 LTO_STREAM_DEBUGGING is enabled.
3509
35102008-10-30 Simon Baldwin <simonb@google.com>
3511
3512 * lto.c (lto_wpa_write_files): Create intermediate files with
3513 make_cwd_temp_file().
3514 (lto_maybe_unlink): New. Delete intermediate WPA files unless
3515 WPA_SAVE_LTRANS is set.
3516 (lto_main): Call lto_maybe_unlink() for intermediate WPA files.
3517 * ltrans-driver: Do not strip directory from output files.
3518
35192008-10-29 Doug Kwan <dougkwan@google.com>
3520
3521 * lto.c (free_decl): Call lto_symtab_clear_resolution when freeing
3522 DECL.
3523 * Make-lang.in (LTO_OBJS): Remove lto/lto-symtab.o
3524 (lto/lto-symtab.o): Remove rule.
3525 * lto-tree.h (struct lang_identifier): Remove LTO specific fields.
3526 (struct lang_decl): Remove RESOLUTION and add DUMMY in struct.
3527 (LANG_IDENTIFIER_CAST, LTO_IDENTIFIER_DECL, LTO_DECL_RESOLUTION):
3528 Remove macros.
3529 lto-symtab.c (File): Move up one level.
3530 lto-lang.c (cgraph.h): Remove include.
3531 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
3532 input_cgraph): Move to lto-cgraph.c in gcc directory above.
3533 (LANG_HOOKS_INPUT_CGRAPH): Remove use of macro.
3534
35352008-10-24 Rafael Espindola <espindola@google.com>
3536
3537 * lto-function-in.c (get_resolution): Return LDPR_PREEMPTED_IR for
3538 non prevailing weak symbols.
3539
35402008-10-24 Rafael Espindola <espindola@google.com>
3541
3542 * lto-lang.c (input_cgraph_1): Iterate over nodes, not cgraph_nodes.
3543
35442008-10-24 Rafael Espindola <espindola@google.com>
3545
3546 * lto-lang.c (input_node): Avoid casts from pointers to ints of
3547 different types.
3548
35492008-10-23 Simon Baldwin <simonb@google.com>
3550
3551 * lto-lang.c (input_node): Save the node reference, rather than the
3552 node pointer, in node->inlined_to.
3553 (input_cgraph_1): Convert node references into node pointers.
3554
35552008-10-22 Diego Novillo <dnovillo@google.com>
3556 Rafael Espindola <espindola@google.com>
3557
3558 * lto.c (lto_resolution_read): Tidy.
3559 * lto-symtab.c (lto_symtab_prevailing_decl): Do not
3560 abort if RET is NULL.
3561
35622008-10-22 Doug Kwan <dougkwan@google.com>
3563
3564 * lto.c (lto_fixup_tree): Check for NOTHROW conflict only if
3565 exceptions flag is given.
3566 * lto-lang.c: (lto_init_options) Set default exceptions flag.
3567 (lto_init_eh): Remove exceptions flag initialization.
3568 (lto_init): Only call lto_init_eh if exceptions flag is set.
3569
35702008-10-21 Diego Novillo <dnovillo@google.com>
3571
3572 * lto.c: Tidy some formatting.
3573 * lto.h: Likewise.
3574
35752008-10-21 Simon Baldwin <simonb@google.com>
3576
3577 * lto-symtab.c: (lto_same_type_p): Types cannot be equal if one of
3578 them is NULL (but not the other).
3579
35802008-10-17 Diego Novillo <dnovillo@google.com>
3581
3582 * ltrans-driver: Divert output from make to a temporary file.
3583 Show it if the call to make failed.
3584
35852008-10-15 Diego Novillo <dnovillo@google.com>
3586
3587 * lto.c (lto_wpa_write_files): Reformat do-while loop.
3588 Do not print TEMP_FILENAME
3589 * ltrans-driver: Call make with -s.
3590
35912008-10-15 Diego Novillo <dnovillo@google.com>
3592
3593 * lto-symtab.c (lto_symtab_merge_decl): Do not force
3594 TREE_STATIC on global symbols.
3595
35962008-10-14 Ollie Wild <aaw@google.com>
3597
3598 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Remove.
3599 (LTRANS_DRIVER_EXE): Add.
3600 (lto.all.cross): Add LTRANS_DRIVER_EXE.
3601 (lto.all.encap): Add LTRANS_DRIVER_EXE.
3602 (lto.install.common): Remove ltrans-driver.
3603 (lto.mostlyclean): Add LTRANS_DRIVER_EXE.
3604 (LTRANS_DRIVER_EXE): New build rule.
3605 * config-lang.in (compilers): Add ltrans-driver.
3606
36072008-10-14 Diego Novillo <dnovillo@google.com>
3608
3609 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): Disable transformation
3610 of program name.
3611
36122008-10-13 Ollie Wild <aaw@google.com>
3613
3614 * lang-spec.h (@lto): Replace lto1_options with cc1_options.
3615 * lto.c (lto_execute_ltrans): Add "-fno-wpa -fltrans -xlto" to CFLAGS.
3616 * ltrans-driver (LTRANS_FLAGS): Remove.
3617
36182008-10-08 Doug Kwan <dougkwan@google.com>
3619
3620 * lto.c (lto_fixup_tree): Remove ATTRIBUTE_UNUSED from DATA.
3621 Handle new tree codes RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
3622 and TREE_BINFO. Also move code handling FUNCTION_DECL and VAR_DECL
3623 from lto_fixup_state to here.
3624 (lto_fixup_state): Take an lto_fixup_data_t object DATA instead of
3625 just a free-list. Fix up types also. Move decl merging code to
3626 lto_fixup_tree.
3627 (lto_fixup_state_aux): Change AUX to point to an lto_fixup_data_t
3628 object.
3629 (lto_fixup_decls): Use another pointer set to avoid multiple
3630 walking of nodes except for DECLs to be replaced. Pass an
3631 lto_fixup_data_t object to tree-walker.
3632
36332008-10-08 Rafael Espindola <espindola@google.com>
3634
3635 * lto-symtab.c (lto_symtab_set_resolution): New.
3636 (lto_symtab_merge_decl): Use lto_symtab_set_resolution and
3637 lto_symtab_get_resolution.
3638 (lto_symtab_prevailing_decl): Return decl for non public decls.
3639 (lto_symtab_get_resolution): New.
3640 * lto.c (lto_fixup_tree, lto_fixup_state): Remove unecessary checks.
3641
36422008-10-06 Rafael Espindola <espindola@google.com>
3643
3644 * lto-lang.c: Include cgraph.h.
3645 (input_overwrite_node, input_node, input_edge, input_cgraph_1,
3646 input_cgraph): Moved from lto-cgraph.c.
3647 (LANG_HOOKS_INPUT_CGRAPH): New.
3648
36492008-10-03 Rafael Espindola <espindola@google.com>
3650
3651 * lto.c (lto_fixup_tree, lto_fixup_state): Fix the FIXME.
3652
36532008-10-03 Rafael Espindola <espindola@google.com>
3654
3655 * lto-symtab.c (lto_symtab_overwrite_decl): Remove. Remove all calls.
3656 (lto_symtab_merge_decl): Update LTO_IDENTIFIER_DECL the reflect the
3657 prevailing definition. Don't mark TREE_NOTHROW differences.
3658 * lto.c (lto_fixup_tree): New.
3659 (lto_fixup_state): New.
3660 (lto_fixup_state_aux): New.
3661 (free_decl): New.
3662 (lto_fixup_decls): New.
3663 (lto_main): Call lto_fixup_decls.
3664
36652008-10-02 Ollie Wild <aaw@google.com>
3666
3667 * lang.opt (fltrans): Moved from common.opt. Remove RejectNegative
3668 and Init.
3669 (fwpa): Moved from common.opt. Remove RejectNegative and Init.
3670 * lto-lang.c (lto_post_options): Add validation and fixups for
3671 -fltrans and -fwpa.
3672
36732008-10-02 Rafael Espindola <espindola@google.com>
3674
3675 * lto-symtab.c (lto_symtab_merge_var, lto_symtab_merge_fn,
3676 lto_symtab_merge_decl): Return void.
3677 (lto_symtab_prevailing_decl): New.
3678
36792008-09-30 Rafael Espindola <espindola@google.com>
3680
3681 * lto-symtab.c (lto_symtab_compatible): Remove the check for already
3682 defined symbols.
3683 (lto_symtab_overwrite_decl): Copy LTO_DECL_RESOLUTION.
3684 (lto_symtab_merge_decl): Store symbol resolution in LTO_DECL_RESOLUTION.
3685 Check for already defined symbols.
3686 * lto-tree.h (lang_decl): Remove dummy and add resolution fields.
3687 (LTO_IDENTIFIER_RESOLUTION): Remove.
3688 (LTO_DECL_RESOLUTION): New.
3689
36902008-09-30 Rafael Espindola <espindola@google.com>
3691
3692 * lto.c (lto_read_decls): Use new input_tree signature.
3693
36942008-09-26 Doug Kwan <dougkwan@google.com>
3695
3696 * lto.c (lto_main): Call lto_fixup_nothrow_decls to fix up function
3697 bodies affected by exception attribute merging of DECLs.
3698 * lto-symtab.c (lto_symtab_merge_decl): Handle exception attribute
3699 merging.
3700
37012008-09-25 Rafael Espindola <espindola@google.com>
3702
3703 * Make-lang.in (PLUGIN_API_H, LTO_TREE_H): New.
3704 (lto/lto-lang.o, lto/lto.o, lto/lto-symtab.o) Use LTO_TREE_H.
3705 * lto-symtab.c (lto_symtab_compatible): New.
3706 (lto_symtab_overwrite_decl): New.
3707 (lto_symtab_merge_decl): Refactor to use the above functions
3708 and the resolution from lang_identifier.
3709 * lto-tree.h: Include plugin-api.h.
3710 (lang_identifier): Add resolution.
3711 (LTO_IDENTIFIER_RESOLUTION): New.
3712
37132008-09-25 Ollie Wild <aaw@google.com>
3714
3715 * lang.opt (fltrans-output-list=): New option.
3716 * lto.c (lto_execute_ltrans): Output file names to ltrans_output_list.
3717
37182008-09-25 Rafael Espindola <espindola@google.com>
3719
3720 * lto.c (lto_resolution_read): Initialize ret;
3721
37222008-09-24 Ollie Wild <aaw@google.com>
3723
3724 * lto.c (sys/mman.h): Move include.
3725 (lto_wpa_write_files): Return a list of written files.
3726 (lto_execute_ltrans): New function.
3727 (lto_main): Call lto_execute_ltrans.
3728 (ltrans-driver): New file.
3729 * lto-lang.c (DEFAULT_LTRANS_DRIVER): New macro.
3730 (DEAULT_LTRANS_DRIVER_LEN): New macro.
3731 (lto_init_options): Initialize ltrans_driver.
3732 (lto_handle_option): Fix incorrect default output value.
3733 * lang.opt (fltrans-driver=): New option.
3734 * Make-lang.in (LTRANS_DRIVER_INSTALL_NAME): New variable.
3735 (lto.install-common): Add lto/ltrans-driver.
3736
37372008-09-24 Rafael Espindola <espindola@google.com>
3738
3739 * Make-lang.in (LTO_OBJS): Add lto/common.o.
3740 (lto/lto.o): Depend on lto/common.h.
3741 (lto/common.o): New.
3742 * lang.opt (resolution): New.
3743 * lto-lang.c (resolution_file_name): New.
3744 (lto_handle_option): Handle OPT_resolution.
3745 * lto-symtab.c (lto_symtab_merge_decl): Add a resolution argument.
3746 (lto_symtab_merge_var,lto_symtab_merge_fn): Add a resolution argument.
3747 pass it to lto_symtab_merge_decl.
3748 * lto.c: Include common.h.
3749 (lto_read_decls): Add resolutions and resolutions_size arguments.
3750 Initialize data_in.globals_resolution and
3751 data_in.globals_resolution_size.
3752 (index_and_symbol_resolution): New.
3753 (lto_resolution_read): New.
3754 (lto_file_read): Add argument resolution_file.
3755 Read resolution.
3756 * lto.h (resolution_file_name): New.
3757
37582008-09-23 Rafael Espindola <espindola@google.com>
3759
3760 * common.c: Update description.
3761 * common.h: Update description.
3762
37632008-09-23 Rafael Espindola <espindola@google.com>
3764
3765 * common.c: Moved from lto-plugin.
3766 * common.h: Moved from lto-plugin.
3767
37682008-09-22 Doug Kwan <dougkwan@google.com>
3769
3770 * lto.c (VEC(bitmap,heap)): Declare.
3771 (lto_materialize_function): Handle WAP mode specially.
3772 (lto_add_inline_clones): New.
3773 (lto_add_all_inlinees): Changle algorithm and to use bitmaps. Also
3774 return a bitmap of inlined decls.
3775 (lto_wpa_write_files): Handle all DECLs brought in by inlining.
3776 (lto_main): Call reset_inline_failed to reset inlining states.
3777 Check call-graph after WPA inlining.
3778 * lto-lang.c (lto_init): Do not clear flag_generate_lto
3779 unconditionally.
3780
37812008-09-19 Doug Kwan <dougkwan@google.com>
3782
3783 lto.c (lto_main): Remove unsued wrapper code.
3784 lang-specs.h (@lto): Use lto1_options instead of cc1_options.
3785
37862008-09-19 Rafael Espindola <espindola@google.com>
3787
3788 * lto-symtab.c: Include lto-tree-in.h.
3789 * lto-tree.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove.
3790 * lto.h (lto_symtab_merge_var, lto_symtab_merge_fn): Remove
3791 * Make-lang.in (lto/lto-symtab.o): Add lto-tree-in.h.
3792
37932008-09-17 Paolo Bonzini <bonzini@gnu.org>
3794 Rafael Avila de Espindola <espindola@google.com>
3795
3796 * lto-lang.c (COMPOUND_LITERAL_EXPR_DECL_STMT,
3797 COMPOUND_LITERAL_EXPR_DECL): Remove.
3798 (emit_local_var): Remove.
3799 (lto_expand_expr): Remove.
3800 (lto_staticp): Remove.
3801 (LANG_HOOKS_EXPAND_EXPR): Remove.
3802 (LANG_HOOKS_STATICP): Remove.
3803
38042008-09-11 Diego Novillo <dnovillo@google.com>
3805
3806 * lto-lang.c: Include except.h and libfuncs.h.
3807 (lto_init_eh): New.
3808 (lto_init): Call it.
3809 Set flag_generate_lto to 0.
3810 * Make-lang.in (lto-lang.o): Add dependency on except.h
3811 and libfuncs.h.
3812
38132008-09-09 Bill Maddox <maddox@google.com>
3814
3815 * lto-lang.c: Include header file expr.h.
3816 (COMPOUND_LITERAL_EXPR_DECL_STMT,
3817 COMPOUND_LITERAL_EXPR_DECL): Copied from c-common.h.
3818 (emit_local_var): Copied from c-semantics.c.
3819 (lto_expand_expr, lto_staticp): Copied from c_expand_expr
3820 and c_staticp in c-common.c.
3821 (LANG_HOOKS_EXPAND_EXPR,LANG_HOOKS_STATICP): Redefined.
3822
38232008-09-08 Diego Novillo <dnovillo@google.com>
3824
3825 * lto-lang.c (lto_global_bindings_p): Return 1 during
3826 IPA passes.
3827
38282008-09-07 Diego Novillo <dnovillo@google.com>
3829
3830 * lto.c: Tidy formatting.
3831
38322008-08-04 Bill Maddox <maddox@google.com>
3833
3834 * lto-symtab.c (lto_symtab_merge_decl): Add comment.
3835
38362008-09-03 Doug Kwan <dougkwan@google.com>
3837
3838 lto.c (lto_add_all_inlinees): Reset FAILED_REASON of edges to
3839 CIF_OK instead of NULL.
3840
38412008-09-02 Diego Novillo <dnovillo@google.com>
3842 Simon Baldwin <simonb@google.com>
3843
3844 * lto-lang.c (lto_type_for_size): Rewrite. Adapt from
3845 c_common_type_for_size.
3846 (lto_type_for_mode): Remove ATTRIBUTE_UNUSED markers.
3847 (lto_init): Call linemap_add.
3848 (signed_and_unsigned_types): Remove.
3849
38502008-08-29 Diego Novillo <dnovillo@google.com>
3851
3852 * lto-lang.c (handle_noreturn_attribute): New local function.
3853 (handle_const_attribute): New local function.
3854 (handle_malloc_attribute): New local function.
3855 (handle_pure_attribute): New local function.
3856 (handle_novops_attribute): New local function.
3857 (handle_nonnull_attribute): New local function.
3858 (handle_nothrow_attribute): New local function.
3859 (handle_sentinel_attribute): New local function.
3860 (handle_type_generic_attribute): New local function.
3861 (handle_format_attribute): New local function.
3862 (handle_format_arg_attribute): New local function.
3863 (lto_attribute_table): Declare.
3864 (lto_format_attribute_table): Declare.
3865 (lto_init_attributes): New local function.
3866 (lto_define_builtins): Call it.
3867 Call targetm.init_builtins and build_common_builtin_nodes.
3868 (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Define.
3869 (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Define.
3870
38712008-08-28 Diego Novillo <dnovillo@google.com>
3872
3873 * Make-lang.in (lto-lang.o): Replace tree-gimple.h with
3874 $(GIMPLE_H).
3875 (lto-symtab.o): Add dependency on $(GIMPLE_H).
3876 * lto-lang.c: Include gimple.h instead of tree-gimple.h.
3877 * lto-symtab.c: Include gimple.h.
3878 * lto-tree.h (chain_next): Replace GENERIC_NEXT with
3879 TREE_CHAIN.
3880
38812008-08-27 Doug Kwan <dougkwan@google.com>
3882
3883 * lto.c (vec.h, bitmap.h, pointer-set.h, ipa-prop.h, ggc.h,
3884 gt-lto-lto.h): New includes.
3885 (lto_materialize_function): Do not read in function body in WPA mode.
3886 Format a line to fit in 80 columns.
3887 (lto_cgraph_node_sets): New garbage collected variable.
3888 (lto_1_to_1_map, lto_add_all_inlinees, lto_wpa_write_files):
3889 New functions.
3890 (lto_main): Initialize bitmap obstack. Add code to handle WPA mode.
3891 * Make-lang.in (LTO_H): Replace filename lto-section-in.h with
3892 variable LTO_SECTION_IN_H.
3893 (lto/lto.o): Include gt-lto-lto-c.h ggc.h ,VEC_H, BITMAP_H,
3894 pointer-set.h and IPA_PROP_H. Also replace filename lto-section-in.h
3895 with variable LTO_SECTION_IN_H.
3896 * config-lang.in (gtfiles): Add lto/lto.c.
3897 * lto-symtab.c (lto_symtab_merge_decl): Set DECL_CONTEXT of
3898 merged DECL_RESULT correctly.
3899
39002008-08-26 Bill Maddox <maddox@google.com>
3901
3902 * lto-lang.c Include tree-gimple.h.
3903 (lto_mark_addressable): Call mark_addressable rather than
3904 asserting.
3905 (lto_post_options): Suppress debug info generation.
3906 * Make-lang.in: Add dependency of lto-lang.o on tree-gimple.h.
3907
39082008-08-25 Bill Maddox <maddox@google.com>
3909
3910 * lto-symtab.c (lto_symtab_merge_decl): Remove a suspect
3911 assertion and leave an explanatory comment in its place.
3912
39132008-08-21 Doug Kwan <dougkwan@google.com>
3914
3915 * lto.c (preload_common_nodes): Call lto_get_common_nodes to get a list
3916 of common nodes instead of computing locallly.
3917 (lto_read_in_decl_state): New.
3918 (lto_read_decls): Change code for udpate in struct lto_decl_header.
3919 Read global and per-function in-decl states.
3920 * Make-lang.in (LTO_H): Update dependency.
3921 (lto/lto.o): Same.
3922 (lto-symtab.c): Merge (revision 139039)
3923 * lto-symtab.c (lto_symtab_merge_decl): Merge DECL_RESULT.
3924
39252008-08-21 Rafael Espindola <espindola@google.com>
3926
3927 * config-lang.in (target_libs): New.
3928
39292008-08-20 Bill Maddox <maddox@google.com>
3930
3931 * lto.c (current_lto_file): Remove GTY marker from static
3932 variable. Remove include of file gt-lto-lto.h.
3933 * Make-lang.in: Remove dependency of lto/lto.o on
3934 gt-lto-lto.h.
3935 * lto-elf.c (lto_file_close): Removed.
3936 (lto_elf_file_open): Use XCNEW instead of GGC_CNEW to
3937 allocate lto_elf_file object.
3938 (lto_elf_file_close): Free lto_elf_file object after close.
3939 * lto.h (struct lto_file_struct): Remove GTY marker.
3940 * config-lang.in: Remove lto/lto.h and lto/lto.c from
3941 gtfiles.
3942
39432008-08-20 Bill Maddox <maddox@google.com>
3944
3945 * lto.c (lto_read_decls): Provide dummy argument to input_tree
3946 to conform to its new signature.
3947 * lto-symtab.c (lto_symtab_merge_decl): Do not invoke ggc_free
3948 on discarded node here, now called in global_vector_fixup.
3949
39502008-08-09 Bill Maddox <maddox@google.com>
3951
3952 * lto.c (preload_common_nodes): Verify that fileptr_type_node
3953 has not been set to a front-end-specific value.
3954
39552008-08-05 Doug Kwan <dougkwan@google.com>
3956
3957 * Make-lang.in (lto-symtab.o): Add missing dependencies to fix
3958 build breakage.
3959
39602008-07-30 Bill Maddox <maddox@google.com>
3961
3962 * lto.c (lto_materialize_function): Call lto_original_decl_name.
3963 Remove obsolete comments.
3964 (lto_read_decls): Remove initialization of deleted field data_in.global.
3965 Tidy up comments.
3966 (lto_main): Remove redundant initialization of section_hash_table.
3967 * lto-elf.c: Removed obsolete comments.
3968 * lto.h: Tidy up comments.
3969 * lto-symtab.c (lto_least_common_multiple): New function.
3970 (lto_symtab_merge_decl): Merge variable alignments in some cases.
3971 Tidy up comments.
3972
39732008-07-25 Diego Novillo <dnovillo@google.com>
3974 Bill Maddox <maddox@google.com>
3975
3976 * lto.c: Re-order include files.
3977 Include lto-section-out.h.
3978 (preload_common_nodes): Add debugging output.
3979 Add new local INDEX_TABLE.
3980 Call preload_common_node.
3981 * Make-lang.in (lto.o): Add dependency on lto-section-out.h
3982
39832008-07-13 Bill Maddox <maddox@google.com>
3984
3985 * lto.c (lto_read_decls): Cast pointer to const char * to avoid
3986 unwanted scaling during pointer addition.
3987
39882008-07-11 Bill Maddox <maddox@google.com>
3989 Diego Novillo <dnovillo@google.com>
3990
3991 * lto.c (lto_read_decls): Fix C++ compatibility warnings.
3992 Make code const-correct.
3993 (lto_file_read): Fix C++ compatibility warnings.
3994 (lto_read_section_data): Fix C++ compatibility warnings.
3995 (lto_get_section_data): Use CONST_CAST to avoid warning when
3996 const pointer passed to free.
3997 * lto-elf.c (lto_elf_build_section_table): Fix C++
3998 compatibility warnings.
3999 (lto_elf_append_data): Fix C++ compatibility warnings. Use CONST_CAST
4000 to avoid warning assigning const pointer to d_buf field of Elf_Data.
4001 (lto_get_current_out_file): Fix C++ compatibility warnings.
4002
40032008-07-11 Diego Novillo <dnovillo@google.com>
4004
4005 * Make-lang.in (lto-warn): Define.
4006
40072008-07-03 Simon Baldwin <simonb@google.com>
4008
4009 * lto.c (lto_read_decls): Wrapped debug-only data items within #ifdef
4010 LTO_STREAM_DEBUGGING.
4011
40122008-06-27 Ollie Wild <aaw@google.com>
4013
4014 * lto-elf.c (lto-section-out.h): New include.
4015 (struct lto_elf_file): Remove bits member. Add scn, shstrtab_stream,
4016 and data members.
4017 (cached_file_attrs): New static variable.
4018 (lto_elf_get_shdr, lto_elf_free_shdr): Remove elf_file parameter.
4019 Use cached_file_attrs for checking bits.
4020 (lto_elf_build_section_table): Remove elf_file argument from
4021 lto_elf_get_shdr and lto_elf_free_shdr calls.
4022 (DEFINE_INIT_SHDR): New macro.
4023 (init_shdr32, init_shdr64): New functions defined via the
4024 DEFINE_INIT_SHDR macro.
4025 (lto_elf_begin_section_with_type): New function.
4026 (lto_elf_begin_section): New function.
4027 (lto_elf_append_data): New function.
4028 (lto_elf_end_section): New function.
4029 (DEFINE_VALIDATE_EHDR): New macro.
4030 (validate_ehdr32, validate_ehdr64): New functions defined via the
4031 DEFINE_VALIDATE_EHDR macro.
4032 (validate_file): New function.
4033 (DEFINE_INIT_EHDR): New macro.
4034 (init_ehdr32, init_ehdr64): New functions defined via the
4035 DEFINE_INIT_EHDR macro.
4036 (init_ehdr): New function.
4037 (lto_elf_file_open): Add support for writable files. Move some
4038 validation logic to validate_file.
4039 (lto_elf_file_close): Add support for writable files. Write file data
4040 and free data blocks.
4041 (current_out_file): New static variable.
4042 (lto_set_current_out_file): New function.
4043 (lto_get_current_out_file): New function.
4044 * lto.c (lto_main): Add writable argument to lto_elf_file_open calls.
4045 Add temporary initialization for testing ELF serialization.
4046 * lto.h (lto-section-out.h): New include.
4047 (struct lto_file_struct): Slight modification to comment.
4048 (lto_elf_file_open): Add writable parameter.
4049 (lto_elf_begin_section): New function declaration.
4050 (lto_elf_append_data): New function declaration.
4051 (lto_elf_end_section): New function declaration.
4052 (lto_set_current_out_file, lto_get_current_out_file): New function
4053 declarations.
4054 * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Set as lto_elf_begin_section.
4055 (LANG_HOOKS_APPEND_DATA): Set as lto_elf_append_data.
4056 (LANG_HOOKS_END_SECTION): Set as lto_elf_end_section.
4057 * Make-lang.in (LTO_H): Add lto-section-out.h.
4058
40592008-06-12 Ollie Wild <aaw@google.com>
4060
4061 * lto.h (struct lto_file_vtable_struct): Remove.
4062 (struct lto_file_struct): Remove vtable member.
4063 * lto-elf.c (lto_file_init): Remove vtable argument.
4064 (lto_elf_map_optional_lto_section): Remove.
4065 (lto_elf_unmap_section): Remove.
4066 (lto_elf_file_vtable): Remove.
4067 (lto_elf_file_open): Remove lto_elf_file_vtable argument from
4068 lto_file_init call.
4069 (lto_elf_find_section_data): Remove.
4070
40712008-06-11 Ollie Wild <aaw@google.com>
4072
4073 * lto.c (lto_file_read): Add const qualifier to data variable.
4074
40752008-06-11 Diego Novillo <dnovillo@google.com>
4076
4077 Merge from lto-streamber sub-branch.
4078
4079 2008-06-04 Ollie Wild <aaw@google.com>
4080
4081 * lto.c: Remove inclusion of dwarf2.h and dwarf2out.h.
4082 * Make-lang.in (lto.o): Remove dependency on dwarf2.h.
4083
4084 2008-05-28 Bill Maddox <maddox@google.com>
4085
4086 Replace the DWARF reader in the LTO front-end.
4087
4088 * lto.c: Include lto-tree-in.h, lto-tags.h.
4089 (enum DWARF2_class, DW_cl_constant, struct
4090 DWARF2_form_data, struct lto_context,
4091 lto_fd_init, lto_info_fd_init,
4092 lto_abbrev_fd_init, lto_info_fd_close,
4093 lto_file_init, lto_file_close,
4094 lto_file_corrupt_error, lto_abi_mismatch_error,
4095 LTO_CHECK_INT_VAL, LTO_READ_TYPE,
4096 lto_read_uleb128, lto_read_sleb128,
4097 lto_read_initial_length, lto_abbrev_read_attrs,
4098 lto_abbrev_read, lto_abbrev_read_lookup,
4099 lto_read_section_offset,
4100 lto_read_comp_unit_header, find_cu_for_offset,
4101 lto_get_file_name,
4102 lto_resolve_reference,lto_read_form,
4103 attribute_value_as_int,
4104 make_signed_host_wide_int,
4105 attribute_value_as_constant, lto_cache_hash,
4106 lto_cache_eq, lto_cache_store_DIE,
4107 lto_cache_lookup_DIE, lto_find_integral_type,
4108 lto_find_integral_type_1,
4109 LTO_BEGIN_READ_ATTRS_UNCHECKED,
4110 LTO_BEGIN_READ_ATTRS, LTO_END_READ_ATTRS,
4111 lto_unsupported_attr_error, lto_get_identifier,
4112 lto_read_referenced_type_DIE,
4113 lto_read_compile_unit_DIE,
4114 lto_read_array_type_DIE,
4115 lto_read_structure_union_class_type_DIE,
4116 lto_read_enumerator_DIE,
4117 lto_read_enumeration_type_DIE,
4118 lto_read_only_for_child_DIEs,
4119 lto_read_only_for_child_DIEs,
4120 lto_read_member_DIE, lto_read_abbrev,
4121 lto_read_variable_formal_parameter_constant_DIE,
4122 lto_get_body): Removed.
4123 (preload_common_nodes): New function.
4124 (lto_read_decls): Convert for new global streamer.
4125 (lto_materialze_file_data,
4126 lto_read_subroutine_type_subprogram_die,
4127 lto_read_unspecified_parameters_DIE,
4128 lto_read_typedef_DIE,
4129 lto_read_pointer_reference_type_DIE,
4130 lto_read_subrange_type_DIE,
4131 lto_read_base_type_DIE,
4132 lto_read_const_volatile_restrict_type_DIE,
4133 lto_read_namespace_DIE,
4134 lto_read_unspecified_type_DIE, lto_read_DIE,
4135 lto_read_child_DIEs, lto_collect_child_DIEs):
4136 Removed.
4137 (lto_info_read, lto_set_cu_context): Removed.
4138 (lto_file_read): Convert for new global streamer.
4139 (lto_resolve_type_ref, lto_read_DIE_at_ptr,
4140 lto_resolve_var_ref, lto_resolve_fn_ref,
4141 lto_resolve_field_ref, lto_resolve_typedecl_ref,
4142 lto_resolve_namespacedecl_ref): Removed.
4143 (lto_file_init, lto_file_close): Moved to lto-elf.c.
4144 * lto-tree.h (lto_symtab_merge_var,
4145 lto_symtab_mergee_fun): Declare here.
4146 * lto-elf.c (lto_file_init, lto_file_close): Moved from lto.c.
4147 (lto_elf_file_open): Removed code to read DWARF debug sections.
4148 * lto.h (lto_context, DWARF2_attr, DWARF2_abbrev,
4149 DWARF2_CompUnit, lto_die_ptr,
4150 lto_die_cache_entry, lto_fd, lto_info_fd,
4151 lto_abbrev_fd): Removed.
4152 (lto_file): Removed debug_info and debug_abbrev fields.
4153 (lto_ref): Removed.
4154 (lto_file_init, lto_file_close,
4155 lto_resolve_type_ref, lto_resolve_var_ref,
4156 lto_resolve_fn_ref, lto_resolve_field_ref,
4157 lto_resolve_typedecl_ref,
4158 lto_resolve_namespacedecl_ref,
4159 lto_get_file_name): Removed declarations.
4160 (lto_symtab_merge_var, lto_symtab_merge_fn):
4161 Declarations moved to lto-tree.h.
4162 * lto-symtab.c (lto_compatible_attributes_p):
4163 Lobotomize this, as it barfs on "Hello, world!".
4164 * lto-section-out.c: Include lto-tree-out.h.
4165 (lto_hash_global_slot_node,
4166 lto_eq_global_slot_node, preload_common_nodes,
4167 write_global_stream, write_global_references):
4168 New functions.
4169 (produce_asm_for_decls): Convert for new global streamer.
4170 * lto-section-out.h (lto_hash_global_slot_node,
4171 lto_eq_global_slot_node): Declare.
4172
41732008-06-07 Kenneth Zadeck <zadeck@naturalbridge.com>
4174 Jan Hubicka <jh@suse.cz>
4175
4176 * lto.c (sys/mman.h, tree-pass.h): New includes.
4177 (lto_materialize_constructors_and_inits,
4178 lto_materialize_function): Keeps length of section.
4179 (lto_materialize_cgraph): Removed.
4180 (lto_read_decls): Initialize fd field.
4181 (lto_file_read): Different return type and removed much code to
4182 lto_main.
4183 (page_mask): New variable.
4184 (lto_read_section_data, get_section_data, free_section_data): New
4185 functions.
4186 (lto_main): Now calls pass manager, sets the hooks so that the ipa
4187 passes can get the section data.
4188
41892008-05-27 Kenneth Zadeck <zadeck@naturalbridge.com>
4190
4191 * lto.h (lto_read_decls): Made local.
4192 (lto_input_function_body, lto_input_constructors_and_inits,
4193 lto_input_cgraph): Declarations moved to lto-section-in.h.
4194 * lto-section-in.c: Moved to .. .
4195 * lto-cgraph-in.c: Ditto.
4196 * lto-section-in.h: Ditto.
4197 * lto-function-in.c: Ditto.
4198 * lto-lang.c (lto_handle_option): Added ATTRIBUTE_UNUSED to parms.
4199 (lto_insert_block): Removed.
4200 (LANG_HOOKS_INSERT_BLOCK): Removed.
4201 * Make-lang.in (lto-cgraph-in.o, lto-function-in.o,
4202 lto-section-in.o): Rules moved to lto/Makefile.in.
4203
4204
42052008-05-16 Ollie Wild <aaw@google.com>
4206
4207 * lto-lang.c (tree-inline.h): Include.
4208 (lto_post_options): New function.
4209 (LANG_HOOKS_POST_OPTIONS): Define.
4210 * lto-cgraph-in.c (overwrite_node): Set node->global.insns.
4211 * lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
4212
42132008-05-13 Diego Novillo <dnovillo@google.com>
4214
4215 * lto-function-in.c (input_ssa_names): Call
4216 make_ssa_name_fn instead of make_ssa_name.
4217
42182008-05-12 Diego Novillo <dnovillo@google.com>
4219
4220 * lto-cgraph-in.c (overwrite_node): Update references to
4221 inline summary fields.
4222 * lto-function-in.c (input_expr_operand): Do not handle
4223 STRUCT_FIELD_TAG.
4224
42252008-05-09 Ollie Wild <aaw@google.com>
4226
4227 * lang.opt: New file.
4228 * lto-lang.c (lto_init_options): New function.
4229 (lto_handle_option): New function.
4230 (lto_init): Move initialization of flag_unit_at_a_time to
4231 lto_init_options.
4232 (LANG_HOOKS_INIT_OPTIONS): Define.
4233 (LANG_HOOKS_HANDLE_OPTION): Define.
4234
42352008-04-29 Ollie Wild <aaw@google.com>
4236
4237 * lto.c (lto_read_namespace_DIE): New function.
4238 (lto_read_DIE): Add lto_read_namespace_DIE callback. Cache
4239 NAMESPACE_DECL DIE's.
4240 (lto_resolve_namespacedecl_ref): New function.
4241 * lto.h (lto_resolve_namespacedecl_ref): New function.
4242 * lto-section-in.c (lto_read_decls): Read namespace declarations.
4243 * lto-section-in.h (struct lto_file_decl_data): Add namespace_decls
4244 and num_namespace_decls.
4245 * lto-function-in.c (input_expr_operand): Add NAMESPACE_DECL case.
4246 * lto-lang.c (lto_init_ts): New function.
4247 (LANG_HOOKS_INIT_TS): Set as lto_init_ts.
4248
42492008-04-16 Ollie Wild <aaw@google.com>
4250
4251 * lto-function-in.c (input_type_ref): Updated function description.
4252
42532008-04-16 Ollie Wild <aaw@google.com>
4254
4255 * lto-function-in.c (input_type_ref_1): New function.
4256 (input_type_ref): Split into two functions.
4257 (input_function): Add support for type contexts.
4258
42592008-04-16 Ollie Wild <aaw@google.com>
4260
4261 * lto.c (lto_materialize_function): Use DECL_ASSEMBLER_NAME to compute
4262 section name
4263
42642008-04-16 Ollie Wild <aaw@google.com>
4265
4266 * lto.c (lto_read_compile_unit_DIE): Add DW_LANG_C_plus_plus to the
4267 list of supported languages.
4268
42692008-03-25 Kenneth Zadeck <zadeck@naturalbridge.com>
4270
4271 Merge with mainline @133491.
4272
42732008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
4274 Jan Hubicka <jh@suse.cz>
4275
4276 * lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
4277 fd->unmaterialized_fndecls.
4278 (lto_get_file_name, lto_materialize_cgraph): New function.
4279 (lto_materialize_constructors_and_inits,
4280 lto_materialize_function): Read info directly from elf file.
4281 (lto_file_read): Made local and initialize dictionary so that
4282 other lto sections can be read without reprocessing the elf file.
4283 (lto_main): Read all functions after all files have been processed
4284 for their types, globals and cgraph.
4285 * Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
4286 dependencies.
4287 * lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
4288 (hash_name, eq_name, lto_elf_build_section_table): New functions.
4289 (lto_elf_read_symtab): Removed function.
4290 (lto_elf_file_open): Removed call to lto_elf_read_symtab.
4291 * lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
4292 (lto_file_read): Made local.
4293 (lto_get_file_name, lto_elf_build_section_table,
4294 lto_input_cgraph):
4295 New function.
4296 * lto-section-in.c (lto_read_section_data, lto_get_section_data):
4297 New functions.
4298 (lto_read_decls): Get the file name.
4299 * lto-cgraph-in.c: New file.
4300 * lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
4301 (input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
4302 (input_labels): Fixed latent sizeof issue.
4303 (input_function): Build stmt array to set call sites into cgraph
4304 edges.
4305 (lto_read_body): Reset cfun->curr_properties.
4306 * lto_section_in.h (lto_section_slot): New structure.
4307 (section_hash_table.lto_file_decl_data): New field.
4308
4309
43102008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
4311
4312 * lto.c (lto_read_variable_formal_parameter_const): Remove code to
4313 reconstruct static initializers.
4314 (lto_get_body, lto_materialize_function): Add lto_section_type as
4315 a parameter.
4316 (lto_materialize_constructors_and_inits,
4317 lto_materialize_file_data): New function.
4318 (lto_materialize_function,
4319 lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
4320 unmap_section and map_fn_body to map_section.
4321 (lto_set_cu_context): Process functions and static inits
4322 differently.
4323 * Make-lang.in (LTO_H, lto/lto-function-in.o,
4324 lto/lto-section-in.o): Update dependencies.
4325 * lto/lto-elf.c (lto_elf_map_optional_lto_section): Add
4326 lto_section_type parameter.
4327 (lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
4328 * lto.h (lto_file_vtable_struct): Removed two of the fields and
4329 renamed the other two so that there is only one map function and
4330 one unmap function and each takes a section type parameter.
4331 (lto_read_function_body): Renamed to lto_input_function_body and
4332 added file_data parameter.
4333 (lto_read_var_init): Removed.
4334 (lto_input_constructors_and_inits): New function.
4335 * lto-section-in.c (lto_read_decls): New function.
4336 * lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
4337 var_decls, type_decls, types to lto_file_decl_data.
4338 (input_type_ref, input_expr_operand, lto_read_body): Get
4339 field_decls, fn_decls, var_decls, type_decls, types from different
4340 structure.
4341 (input_globals, input_constructor, lto_read_var_init): Removed.
4342 (input_constructors_or_inits): New function.
4343 (lto_read_function_body, lto_input_constructors_and_inits):
4344 Renamed to lto_input_function_body and takes file_data parameter.
4345 * lto-section-in.h (lto_file_decl_data): New structure.
4346
43472008-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
4348
4349 * lto-function-in.c (input_globals.c): Changed input type to
4350 lto_function_header.
4351 (input_bb): Removed code to deserialize the stmt number.
4352 (input_function): Renumber all stmts after they are input.
4353 (lto_read_body, lto_read_function_body, lto_read_var_init):
4354 Changed to used new header format and enum section_type.
4355 *lto-lang.c (success): Removed.
4356
43572008-01-28 Nathan Froyd <froydnj@codesourcery.com>
4358
4359 * lto-elf.c (lto_elf_lookup_sym): Remove unused function.
4360 (lto_elf_free_sym): Likewise.
4361
4362 * lto-elf.c (lto_elf_read_var_init): Remove unused function.
4363 (lto_elf_build_init): Likewise.
4364
43652008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
4366
4367 * lto-read.c: Renamed to lto-function-in.c.
4368 (input_1_unsigned): Moved to lto-section-in.c and renamed
4369 lto_input_1_unsigned.
4370 (input_uleb128): Moved to lto-section-in.c and renamed
4371 lto_input_uleb128.
4372 (input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
4373 lto_input_widest_uint_uleb128.
4374 (input_sleb128): Moved to lto-section-in.c and renamed
4375 lto_input_sleb128.
4376 (input_integer): Moved to lto-section-in.c and renamed
4377 lto_input_integer.
4378 (debug_in_fun): Moved to lto-section-in.c and renamed
4379 lto_debug_in_fun.
4380 (input_block): Moved to lto-section-in.h and renamed
4381 lto_input_block.
4382 (input_expr_operand): Fixed to allow lists with more than one
4383 element.
4384 * lto-section-in.h: New file.
4385 * lto-section-in.c: New file with changes from above.
4386 * Make-lang.in (lto-read.o): Renamed lto-function-in.c.
4387 (lto-section-in.o): New rule.
4388
43892007-12-29 Nathan Froyd <froydnj@codesourcery.com>
4390
4391 * lto-read.c (input_expr_operand): Mark static and external
4392 VAR_DECLs as needed.
4393
43942007-12-29 Nathan Froyd <froydnj@codesourcery.com>
4395
4396 * lto-read.c (input_integer): Use the correct shift amount.
4397
43982007-12-29 Nathan Froyd <froydnj@codesourcery.com>
4399
4400 * lto-lang.c (lto_pushdecl): Do nothing instead of aborting.
4401 (LANG_HOOKS_NAME): Define.
4402
44032007-12-27 Nathan Froyd <froydnj@codesourcery.com>
4404
4405 * lto.c (lto_find_integral_type): Define as a macro. Rename the
4406 original function to...
4407 (lto_find_integral_type_1): ...this. Consult UNSIGNEDP if we
4408 don't have a base type.
4409 (lto_read_enumeration_type_DIE): Examine the values of the
4410 enumeration to determine whether we can use an unsigned type for
4411 the base type of the enumeration.
4412
44132007-12-24 Nathan Froyd <froydnj@codesourcery.com>
4414
4415 * lto.c (lto_read_structure_union_class_type_DIE): Set TYPE_MODE
4416 and TYPE_ALIGN on UNION_TYPEs as soon as possible.
4417
44182007-12-22 Nathan Froyd <froydnj@codesourcery.com>
4419
4420 * lto-lang.c (lto_types_compatible_p): New function.
4421 (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
4422
44232007-12-22 Nathan Froyd <froydnj@codesourcery.com>
4424 Kenneth Zadeck <zadeck@naturalbridge.com>
4425
4426 * lto-read.c (input_expr_operand): Fixed uninitialize var warning.
4427 (input_local_vars): Read in DECL_INITIAL and context for local
4428 statics that need to be put in unexpanded_vars_list.
4429
44302007-12-21 Nathan Froyd <froydnj@codesourcery.com>
4431
4432 * lto-read.c (input_real): Use a separate null-terminated buffer
4433 for calling real_from_string.
4434 (input_expr_operand): If we take the address of a FUNCTION_DECL,
4435 tell cgraph that it's needed.
4436
44372007-12-19 Doug Kwan <dougkwan@google.com>
4438
4439 * lto.c (lto_read_base_type_DIE): Handle complex integer types.
4440
44412007-12-18 Nathan Froyd <froydnj@codesourcery.com>
4442
4443 * lto.c (lto_read_DIE): Call lto_read_only_for_child_DIEs instead.
4444 (lto_file_read): Reset the members of 'context' every time we read
4445 a toplevel DIE, with special attention to last_param_type.
4446
44472007-12-18 Nathan Froyd <froydnj@codesourcery.com>
4448
4449 * lto.c (lto_read_subroutine_type_subprogram_DIE): Initialize
4450 'declaration'. Set the assembler name for non-public functions.
4451
44522007-12-17 Kenneth Zadeck <zadeck@naturalbridge.com>
4453
4454 * lto_read.c (data_in.unexpanded_indexes): New array.
4455 (input_local_var): Added code to read in unexpanded_var_list
4456 indexes for variables. Only read in DECL_CHAIN field for
4457 parameters.
4458 (input_local_vars): Added code to rebuild unexpanded_var_list in
4459 order using unexpanded_indexes.
4460 (input_function): Added code to set DECL_CONTEXT for functions.
4461
44622007-12-13 Doug Kwan <dougkwan@google.com>
4463
4464 * lto.c (lto_read_pointer_reference_type_DIE): Handle optional name
4465 in pointer and reference types.
4466
44672007-12-13 Nathan Froyd <froydnj@codesourcery.com>
4468
4469 * lto-read.c (input_expr_operand): Use DECL_RESULT when reading a
4470 RESULT_DECL.
4471
44722007-12-13 Nathan Froyd <froydnj@codesourcery.com>
4473
4474 * lto.c (lto_read_array_type_DIE): Return the cached DIE if we've
4475 already read the DIE.
4476 (lto_get_body): New function, split out from...
4477 (lto_materialize_function): ...here. Call it.
4478 (lto_read_subroutine_type_subprogram_DIE): Call lto_get_body to
4479 determine DECL_EXTERNAL.
4480 * lto-symtab.c (lto_symtab_merge_decl): Merge the DECL_RESULTs of
4481 FUNCTION_DECLs when necessary. Use the type of the actual
4482 function definition if we are unable to easily merge types. Ignore
4483 spurious DECL_MODE mismatches on VAR_DECLs. Merge DECL_MODEs when
4484 necessary.
4485
44862007-12-13 Nathan Froyd <froydnj@codesourcery.com>
4487
4488 * lto-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
4489
44902007-12-12 Bill Maddox <maddox@google.com>
4491
4492 Revert
4493 2007-12-07 Bill Maddox <maddox@google.com>
4494
4495 * lto.c (lto_str_fd_init): New function.
4496 (lto_str_fd_close): New function.
4497 (lto_file_init): Call lto_str_fd_init.
4498 (lto_file_close): Call lto_str_fd_close.
4499 (lto_str_read): New function. Read debug string table.
4500 (lto_str_lookup): New function. Get string for debug
4501 string table offset.
4502 (lto_read_form): Recognize DW_FORM_strp.
4503 (lto_file_read): Invoke lto_str_read.
4504
4505 * lto-elf.c (lto_elf_file_open): Read raw section data
4506 for the .debug_str section, if present.
4507
4508 * lto.h (struct lto_str_fd_struct): New struct.
4509 (struct lto_file_struct): Added new field DEBUG_STR
4510 to hold the file descriptor for the debug string table.
4511
45122007-12-07 Bill Maddox <maddox@google.com>
4513
4514 * lto.c (lto_str_fd_init): New function.
4515 (lto_str_fd_close): New function.
4516 (lto_file_init): Call lto_str_fd_init.
4517 (lto_file_close): Call lto_str_fd_close.
4518 (lto_str_read): New function. Read debug string table.
4519 (lto_str_lookup): New function. Get string for debug
4520 string table offset.
4521 (lto_read_form): Recognize DW_FORM_strp.
4522 (lto_file_read): Invoke lto_str_read.
4523
4524 * lto-elf.c (lto_elf_file_open): Read raw section data
4525 for the .debug_str section, if present.
4526
4527 * lto.h (struct lto_str_fd_struct): New struct.
4528 (struct lto_file_struct): Added new field DEBUG_STR
4529 to hold the file descriptor for the debug string table.
4530
45312007-12-07 Nathan Froyd <froydnj@codesourcery.com>
4532
4533 * lto-read.c (input_cfg): Call init_empty_tree_cfg_for_function.
4534 Grow the basic_block_info and label_to_block_map vectors if
4535 necessary. Read in the block chain.
4536
45372007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4538
4539 * lto.c (lto_read_DIE): Set TYPE_ALIAS_SET where necessary.
4540
45412007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4542
4543 * lto.c (lto_read_form): Add DW_cl_address for DW_AT_const_value.
4544
45452007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4546
4547 * lto-read.c (input_expr_operand): Don't check for MTAGs.
4548 (lto_read_body): Don't declare PROP_alias.
4549
45502007-12-06 Nathan Froyd <froydnj@codesourcery.com>
4551
4552 * lto-symtab.c (lto_symtab_merge_decl): Handle FUNCTION_DECLs without
4553 argument type information.
4554
45552007-12-03 Nathan Froyd <froydnj@codesourcery.com>
4556
4557 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
4558 TREE_THIS_VOLATILE if the associated type is a volatile type.
4559 (lto_materialize_function): Remove call to init_ssa_operands.
4560 * lto-read.c (input_expr_operand): Add SSA_NAME_VAR as a referenced
4561 variable when reading an SSA_NAME. Do the same when reading a
4562 RESULT_DECL, a RETURN_EXPR, or an MTAG.
4563 (input_cfg): Call init_ssa_operands.
4564 (input_ssa_names): Set the default def of an SSA_NAME if necessary.
4565 Move call to init_tree_ssa...
4566 (lto_read_body): ...here. Use push_cfun and pop_cfun. Call
4567 add_referenced_var on any variables referenced from the body of the
4568 function. Inform the rest of the compiler we are in SSA form and
4569 inform later passes about the current properties.
4570
45712007-11-30 Nathan Froyd <froydnj@codesourcery.com>
4572
4573 * lto.c (lto_materialize_function): Add FIXME.
4574
45752007-11-29 Nathan Froyd <froydnj@codesourcery.com>
4576
4577 * lto-lang.c (enum built_in_attribute): New enum.
4578 (flag_no_builtin, flag_no_nonansi_builtin, flag_isoc94, flag_isoc99,
4579 built_in_attributes): New variables.
4580 (def_builtin_1): New function.
4581 (lto_define_builtins): #define DEF_BUILTIN and include builtins.def.
4582
45832007-11-28 Nathan Froyd <froydnj@codesourcery.com>
4584
4585 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Set
4586 DECL_SOURCE_LOCATION for debugging purposes.
4587 (lto_read_member_DIE): Set DECL_SOURCE_LOCATION. If we have read a
4588 bitfield, use the type specified by the DIE for TREE_TYPE and defer
4589 laying out the decl until later.
4590 (lto_read_subroutine_type_subprogram_DIE): Compare the function's
4591 name with DECL_ASSEMBLER_NAME. Set DECL_SOURCE_LOCATION and
4592 TREE_ADDRESSABLE.
4593 * lto-read.c (input_expr_operand): Set TREE_ADDRESSABLE on the
4594 operand of an ADDR_EXPR.
4595 * lto-lang.c (enum lto_builtin_type): New enum.
4596 (builtin_type): New typedef.
4597 (builtin_types, string_type_node, const_string_type_node,
4598 wint_type_node, intmax_type_node, uintmax_type_node,
4599 signed_size_type_node): New variables.
4600 (def_fn_type, builtin_type_for_size, lto_define_builtins,
4601 lto_build_c_type_nodes): New functions.
4602 (lto_init): Initialize builtin types.
4603 (lto_set_decl_assembler_name): Let the target machine mangle the
4604 name if the decl is TREE_PUBLIC, otherwise uniquify it.
4605
46062007-11-21 Nathan Froyd <froydnj@codesourcery.com>
4607
4608 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Don't
4609 set TREE_ADDRESSABLE. Do set DECL_COMDAT. Set TREE_READONLY if
4610 the type is a constant type. Set the assembler name and inform
4611 the rest of the compiler about the new decl if the decl is not
4612 public.
4613 (lto_read_subroutine_type_subprogram_DIE): Don't check for equivalency
4614 of DECL_ASSEMBLER_NAME when determining if we have a builtin. Don't
4615 try to read in function bodies for functions that already have bodies.
4616 * lto-symtab.c (lto_same_type_p): Check for unbounded array
4617 equivalency.
4618 (lto_symtab_merge_decl): Don't merge decls that aren't TREE_PUBLIC.
4619 Check for whether we matched a builtin function type before calling
4620 lto_same_type_p on the generated type. Permit cases where the
4621 declaration of an array is unbounded, but the definition is bounded.
4622 Don't combine TREE_PUBLIC flags. Copy over DECL_SIZE and
4623 DECL_SIZE_UNIT if necessary.
4624
46252007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
4626
4627 * lto-read.c (input_expr_operand): Get types right
4628 for COMPLEX_CST.
4629
46302007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
4631
4632 * lto-read.c (make_new_block, input_cfg): Properly set
4633 n_basic_blocks.
4634
46352007-11-16 Nathan Froyd <froydnj@codesourcery.com>
4636
4637 * lto.c (lto_read_array_type_DIE): Handle DIEs with DW_AT_GNU_vector
4638 set properly by building a VECTOR_TYPE instead of an ARRAY_TYPE.
4639
46402007-11-16 Nathan Froyd <froydnj@codesourcery.com>
4641
4642 * lto.c (lto_read_base_type_DIE): Use make_bitfield_integer_type to
4643 construct the integer type for bitfields.
4644
46452007-11-16 Kenneth Zadeck <zadeck@naturalbridge.com>
4646
4647 * lto-read.c (data_in.current_node_has_loc): Removed.
4648 (input_line_info): Returns true if node needs line set.
4649 (set_line_info): Always sets line if called.
4650 (clear_line_info): Removed reference to current_node_needs_loc.
4651 (input_expr_operand): Keeps track locally if current node needs a loc.
4652 (input_local_var): Added code to handle DECL_INITIAL for
4653 static local vars. Only set loc if necessary.
4654
46552007-11-15 Nathan Froyd <froydnj@codesourcery.com>
4656
4657 * lto.c (lto_read_subroutine_type_subprogram_DIE): Fix thinko'd
4658 DECL_CONTEXT.
4659
46602007-11-15 Nathan Froyd <froydnj@codesourcery.com>
4661
4662 * lto.c: Include langhooks.h.
4663 (lto_find_integral_type): Rework logic to handle the case where
4664 got_byte_size is true, but the bitsize requested and that of the
4665 base_type doesn't match.
4666 (lto_read_variable_formal_parameter_constant_DIE): Only check for
4667 asm_name if we are creating a VAR_DECL.
4668 (lto_materialize_function): Set DECL_EXTERNAL if we can't find a
4669 definition.
4670 (lto_read_subroutine_type_subprogram_DIE): Check for a builtin
4671 function reference and use the builtin's decl if so. Set the
4672 DECL_CONTEXT of the RESULT_DECL for the function.
4673 * lto-lang.c (registered_builtin_fndecls): New variable.
4674 (lto_getdecls): Return it.
4675 (lto_builtin_function): Chain the new decl onto
4676 registered_builtin_fndecls.
4677
46782007-11-15 Kenneth Zadeck <zadeck@naturalbridge.com>
4679
4680 * lto-read.c (process_tree_flags, lto_static_init_local):
4681 Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
4682 (input_line_info, clear_line_info): Fixed new line number code.
4683 (input_expr_operand): Added type to SWITCH_EXPR.
4684 (lto_read_body): Properly initialized data_in.
4685 Clear line info when leaving.
4686
46872007-11-13 Diego Novillo <dnovillo@google.com>
4688
4689 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
4690 Initialize ARTIFICIAL.
4691 (lto_read_subroutine_type_subprogram_DIE): Initialize
4692 SAVED_SCOPE.
4693 * lto-read.c (set_line_info): Remove ; from calls to
4694 LINEMAP_POSITION_FOR_COLUMN.
4695
46962007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
4697
4698 * lto-read.c (input_type_ref): Renamed from get_type_ref.
4699 (input_expr_operand, input_local_var): Renamed get_type_ref to
4700 input_type_ref.
4701 (input_expr_operand): Get the types correct for
4702 vector-cst. Get SSA_NAME_DEF_STMT correct for return_exprs.
4703
47042007-11-13 Doug Kwan <dougkwan@google.com>
4705
4706 * lto-read.c (input_widest_uint_uleb128): New function.
4707 (input_tree_flags, process_tree_flags, input_line_info,
4708 input_expr_operand, input_local_var, input_phi, input_ssa_names):
4709 Change to use lto_flags_type and BITS_PER_LTO_FLAGS_TYPES instead of
4710 unsigned HOST_WIDE_INT and HOST_BITS_PER_WIDE_INT.
4711 (lto_static_init_local): Add code to assert that lto_flags_type is
4712 wide enough.
4713
47142007-11-13 Nathan Froyd <froydnj@codesourcery.com>
4715
4716 * lto.c (lto_read_array_type_DIE): Handle DW_AT_GNU_vector.
4717 (lto_read_subroutine_type_subprogram_DIE): Handle
4718 DW_AT_static_link and DW_AT_specification. Return the
4719 specification if present.
4720 (lto_read_base_type_DIE): Handle DW_ATE_complex_float.
4721
47222007-11-13 Nathan Froyd <froydnj@codesourcery.com>
4723
4724 * lto-lang.c: Include target.h.
4725 (registered_builtin_types): New variable.
4726 (lto_type_for_mode): Increase number of modes handled.
4727 (lto_builtin_function): Fix argument list and return the decl.
4728 (lto_register_builtin_type): New function.
4729 (lto_init): Initialize target builtins and language-independent
4730 nodes.
4731 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define.
4732
47332007-11-13 Kenneth Zadeck <zadeck@naturalbridge.com>
4734
4735 * lto-read.c (input_expr_operand): Added code to properly handle
4736 index filed. Added new RANGE_EXPR case.
4737
47382007-11-11 Kenneth Zadeck <zadeck@naturalbridge.com>
4739
4740 * lto-read.c (ADD_FUNC_FLAG): Deleted macro.
4741 (data_in): Added current_node_has_loc field.
4742 (input_line_info, set_line_info, clear_line_info): Added a support
4743 for USE_MAPPED_LOCATION and not adding line numbers to nodes that
4744 did not have on on the source side.
4745 (input_expr_operand): Make sure that GIMPLE_MODIFY_STMTS get line
4746 numbers too.
4747
47482007-11-09 Doug Kwan <dougkwan@google.com>
4749
4750 * lto-read.c (input_expr_operand): Change type of operand 2 of
4751 BIT_FIELD_REF expression to be bitsizetype instead of sizetype.
4752
47532007-11-09 Nathan Froyd <froydnj@codesourcery.com>
4754
4755 * lto.c: Include lto-tree.h. Effect small spaces->tabs cleanup.
4756 (lto_read_variable_formal_parameter_constant_DIE): Transfer bits
4757 from a DW_AT_specification or DW_AT_abstract_origin attribute to
4758 the new decl we are creating. Move informing the middle end about
4759 the new decl to...
4760 (lto_main): ...here. Inform the middle end about global variables
4761 after we have read in all the input files.
4762 * lto-symtab.c (lto_symtab_merge_decl): We really do need to merge
4763 variables with internal linkage, so delete the check for internal
4764 linkage. Combine TREE_PUBLIC flags.
4765
47662007-11-08 Nathan Froyd <froydnj@codesourcery.com>
4767
4768 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
4769 DW_AT_decl_line.
4770 * lto-symtab.c (lto_symtab_merge_decl): Handle redefinition of a
4771 builtin specially. Move check for attribute compatibility
4772 earlier.
4773
47742007-11-07 Nathan Froyd <froydnj@codesourcery.com>
4775
4776 * Make-lang.in (lto/lto.o): Depend on gt-lto-lto.h.
4777 * config-lang.in (gtfiles): Add lto.h and lto.c.
4778 * lto-elf.c: Include ggc.h.
4779 (lto_elf_file_open): Allocate elf_file from GC memory.
4780 * lto.c: Include tree-ssa-operands.h and gt-lto-lto.h
4781 (lto_info_fd_init): Allocate the die_cache and unmaterialized_fndecls
4782 in GC memory.
4783 (lto_info_fd_close): Free unmaterialized_fndecls from GC memory.
4784 (lto_file_close): Free file from GC memory.
4785 (lto_cache_store_DIE): Allocate the new entry in GC memory.
4786 (lto_read_member_DIE): Fix declaration.
4787 (lto_read_subroutine_type_subprogram_DIE): unmaterialized_fndecls lives
4788 in GC memory.
4789 (current_lto_file): New variable.
4790 (lto_main): Use it.
4791 (DWARF2_attr, DWARF2_abbrev, lto_die_ptr, DWARF2_CompUnit,
4792 lto_die_cache_entry): Move to...
4793 * lto.h: ...here and add GTY markers as appropriate. Delete forward
4794 declarations accordingly.
4795 (struct lto_file_struct): Declare.
4796 (lto_file_vtable): Use it instead of lto_file.
4797
47982007-11-06 Alon Dayan <alond@il.ibm.com>
4799 Kenneth Zadeck <zadeck@naturalbridge.com>
4800
4801 * lto-read.c (process_flags, lto_static_init_local):
4802 read flags of VAR_DECL and FUNCTION_DECL of size>1.
4803 change global array num_flags_for_code to flags_length_for_code.
4804 (set_line_info): Make decls work in USE_MAPPED_LOCATION mode.
4805
48062007-11-05 Nathan Froyd <froydnj@codesourcery.com>
4807
4808 * lto.c (lto_read_structure_union_class_type_DIE): Use proper record
4809 layout functions to compute information about the newly constructed
4810 type.
4811
48122007-11-02 Nathan Froyd <froydnj@codesourcery.com>
4813
4814 * lto-read.c (input_expr_operand): Change the LTO_return_expr1
4815 case to use DECL_RESULT if necessary.
4816
48172007-11-01 Kenneth Zadeck <zadeck@naturalbridge.com>
4818
4819 * lto-read.c (input_tree_list): Removed.
4820 (input_tree_flags): Added parameter to force flags no matter what
4821 tree code.
4822 (input_expr_operand): Added parameter to input_tree_flags.
4823 Added case for IDENTIFIER_NODE and TREE_LIST. Changed ASM to call
4824 input_expr_operand rather than input_tree_lists.
4825 (input_local_var): Use input_expr_operand to read attributes
4826 rather then input_tree_list.
4827 (input_phi, input_ssa_names): Added parameter to input_tree_flags.
4828
48292007-10-31 Nathan Froyd <froydnj@codesourcery.com>
4830
4831 * lto.c (lto_read_typedef_DIE): Fix comment typo.
4832 (lto_resolve_typedecl_ref): Fetch the referred-to type and build a fake
4833 TYPE_DECL for it.
4834 * lto-read.c (lto_read_body): Use correct sizes for calculating
4835 type_decls_offset and types_offset.
4836
48372007-10-30 Nathan Froyd <froydnj@codesourcery.com>
4838
4839 * lto-tree.h (union lang_tree_node): Change GTY description to chain
4840 with GENERIC_NEXT.
4841 * config-lang.in (gtfiles): Add lto-lang.c.
4842 * lto-lang.c: Include gt-lto-lto-lang.h.
4843 * Make-lang.in (lto/lto-lang.o): Add dependency on gt-lto-lto-lang.h
4844 (lto/lto-symtab.o): Depend on LTO_H instead of TREE_H.
4845 (lto/lto-read.o): Likewise.
4846
48472007-10-29 Kenneth Zadeck <zadeck@naturalbridge.com>
4848
4849 * lto-read.c (data_in): Added type_decls and current_col fields.
4850 (string_slot): New type to hold canonized file name.
4851 (hash_string_slot_node, eq_string_slot_node, canon_file_name,
4852 input_line_info, set_line_info, clear_line_info): New functions.
4853 (file_name_hash_table): New hash table.
4854 (input_local_var, input_labels, input_local_vars_index,
4855 input_local_var, input_local_vars, input_ssa_names): Reorganized parameters.
4856 (input_uleb128): Changed type of byte var.
4857 (input_expr_operand): Large number of changes to get line numbers
4858 correct. Added TYPE_DECL case.
4859 (input_globals): Added code to get TYPE_DECLs processed.
4860 (input_local_var): Added code to process line numbers and
4861 TREE_CHAIN and DECL_CONTEXT.
4862 (input_function, input_constructor): Added call to
4863 clear_line_number.
4864 (lto_static_init_local): Added code to get line numbers correct.
4865 (lto_read_body): Added code to get TYPE_DECLS read and to change
4866 parameters to the calls above that had their parms reorganized.
4867
4868
48692007-10-29 Nathan Froyd <froydnj@codesourcery.com>
4870
4871 * lto.h (lto_resolve_typedecl_ref): Declare.
4872 * lto.c (lto_resolve_typedecl_ref): New function.
4873
48742007-10-29 Mark Mitchell <mark@codesourcery.com>
4875 Nathan Froyd <froydnj@codesourcery.com>
4876
4877 * lto.c (lto_read_subroutine_type_subprogram_DIE): Read the child
4878 DIEs even if we find an abstract origin for this DIE.
4879
48802007-10-29 Nathan Froyd <froydnj@codesourcery.com>
4881
4882 * lto.c (lto_read_subroutine_type_subprogram_DIE): Build the
4883 RESULT_DECL slightly earlier. Only remember the decl for later
4884 if we successfully merge declarations.
4885
48862007-10-24 Kenneth Zadeck <zadeck@naturalbridge.com>
4887
4888 * lto-read.c (input_expr_operand): Give label_values the proper
4889 context and provide switch statements with a default type.
4890
48912007-10-23 Nathan Froyd <froydnj@codesourcery.com>
4892
4893 * lto-read.c (lto_read_body): Move call to init_ssa_operands...
4894 * lto.c (lto_materialize_function): ...to here.
4895
48962007-10-22 Nathan Froyd <froydnj@codesourcery.com>
4897
4898 * lto.h (struct lto_info_fd): Add field unmaterialized_fndecls.
4899 * lto.c (lto_info_fd_init): Initialize it.
4900 (lto_info_fd_close): Free it.
4901 (lto_materialize_function): New function.
4902 (lto_read_subroutine_type_subprogram_DIE): Save the result decl on
4903 unmaterialized_fndecls.
4904 (lto_file_read): Read in all the function bodies after we have read
4905 all of the DWARF info.
4906 * lto-read.c (lto_read_body): Call init_ssa_operands if we are
4907 reading a function body.
4908
49092007-10-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4910
4911 * lto-read.c (input_tree_flags): Renamed from input_flags to be
4912 semetric with output_tree_flags. Added call to log flags.
4913 (process_tree_flags): Renamed from process_flags. Fixed a lot of
4914 type issues to make everything consistent with flags being
4915 unsigned HOST_WIDE_INTS.
4916 (input_expr_operand): Added call to
4917 recompute_tree_invariant_for_addr_expr.
4918 (input_local_var): Added debugging for tree_chains. Now calls
4919 input_tree_flags.
4920 (input_phi): Made flags unsigned HOST_WIDE_INT.
4921 (input_ssa_names): Now calls input_tree_flags.
4922 (lto_read_body): Now sets cfun.
4923 (lto_read_function_body): Now sets current_function_pointer.
4924
49252007-10-19 Nathan Froyd <froydnj@codesourcery.com>
4926
4927 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Check
4928 definitively whether SPECIFICATION or ABSTRACT_ORIGIN exist before
4929 inspecting fields within.
4930 (lto_read_DIE_at_ptr): Delete check for null result; let callers
4931 handle this appropriately.
4932
49332007-10-19 Nathan Froyd <froydnj@codesourcery.com>
4934
4935 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Handle
4936 DW_AT_abstract_origin properly. Ensure that we're not dealing with
4937 both DW_AT_abstract_origin and DW_AT_specification.
4938 (lto_read_subroutine_type_subprogram_DIE): Handle
4939 DW_AT_abstract_origin.
4940 (lto_read_DIE): Use lto_read_only_for_child_DIEs for labels.
4941 (lto_read_DIE_at_ptr): Define as static to match declaration.
4942 Lookup the PTR in the cache before reading it from the file.
4943 (lto_resolve_var_ref): Adjust accordingly.
4944 (lto_resolve_fn_ref): Adjust accordingly. Tweak comment.
4945 (lto_resolve_field_ref): Adjust accordingly. Tweak comment.
4946
49472007-10-19 Nathan Froyd <froydnj@codesourcery.com>
4948
4949 * lto.c (lto_read_DIE_at_ptr): New function.
4950 (lto_resolve_var_ref): Use it.
4951 (lto_resolve_fn_ref): Use it.
4952 (lto_resolve_field_ref): Use it.
4953 (lto_read_variable_formal_parameter_constant_DIE): Follow
4954 DW_AT_specification and return the associated decl when appropriate.
4955
49562007-10-18 Nathan Froyd <froydnj@codesourcery.com>
4957
4958 * lto-lang.c (lto_type_for_mode): Move after lto_type_for_size.
4959 Implement for scalar integer modes.
4960 (lto_init): Initialize size_type_node.
4961
49622007-10-18 Kenneth Zadeck <zadeck@naturalbridge.com>
4963
4964 * lto-read.c (input_expr_operand): Remove ssa name asserts.
4965 (input_local_var): Add chaining for params.
4966 (input_ssa_names): Add cfun parameter.
4967 (input_function): Remove unnecessary else.
4968
49692007-10-17 Nathan Froyd <froydnj@codesourcery.com>
4970
4971 * lto.c (lto_read_only_for_child_DIEs): Mark die parameter as unused.
4972 (lto_resolve_var_ref): Use proper types.
4973 (lto_resolve_fn_ref): Likewise.
4974 (lto_resolve_field_ref): Likewise.
4975
49762007-10-17 Nathan Froyd <froydnj@codesourcery.com>
4977
4978 * lto-read.c (input_expr_operand): Remove case.
4979
49802007-10-17 Nathan Froyd <froydnj@codesourcery.com>
4981
4982 * lto.c (lto_read_only_for_child_DIEs): New function.
4983 (lto_read_DIE): Use it for lexical_block and inlined_subroutine DIEs.
4984 * lto-elf.c (lto_elf_map_lto_section): Remove.
4985 (lto_elf_file_vtable): Use lto_elf_map_optional_lto_section instead.
4986 * lto-read.c (input_expr_operand): Assert that we never read a NULL
4987 SSA_NAME. Add missing case for mechanical codes.
4988 (input_cfg): Use basic_block_info_for_function instead of
4989 basic_block_info.
4990
49912007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
4992
4993 * lto-read.c (input_sleb128, input_integer): Use proper casts.
4994 (input_list): Renamed input_tree_list and modified to follow same
4995 protocol as lto-function-out.c:output_tree_list.
4996 (input_expr_operand): Make asm operands use input_tree_list.
4997 (input_local_var): Now uses input_tree_list.
4998 (lto_read_body): Change placement for setting context of debug_labels.
4999
5000
50012007-10-16 Kenneth Zadeck <zadeck@naturalbridge.com>
5002
5003 * lto-read.c (input_real): Output debugging in proper order.
5004 (input_integer): Compute bit lengths properly.
5005 (input_list): Clean up declaration.
5006 (input_expr_operand): Change calls to input_real to match fix.
5007 Make reading of LTO_bit_field_ref1 match output.
5008 (input_local_var): Make reading of attributes match what is being
5009 written.
5010 (dump_debug_stream): Also print char in hex.
5011 (debug_out_fun): Fix signed unsigned mismatch.
5012
50132007-10-10 Nathan Froyd <froydnj@codesourcery.com>
5014
5015 * lto.c (lto_read_form): Handle DW_AT_MIPS_linkage_name and
5016 DW_AT_GNU_vector specially, as they are not contiguous with the
5017 specified set of attribute names. Use class_mask to check for
5018 errors at the end of the function
5019 (lto_resolve_var_ref): Read the DIE if it is not cached.
5020 (lto_resolve_fn_ref): Likewise.
5021 (lto_resolve_field_ref): Likewise.
5022
50232007-10-05 Nathan Froyd <froydnj@codesourcery.com>
5024
5025 * lto.c: Include dwarf2out.h.
5026 (lto_cache_store_DIE): Assert that we never change the value.
5027 (LTO_BEGIN_READ_ATTRS): Print an informative error message.
5028 (lto_read_compile_unit_DIE): Handle DW_AT_entry_pc.
5029 (lto_read_array_type_DIE): Don't error on ndims == 0; build a
5030 sensible type instead.
5031 (lto_read_structure_union_class_type_DIE): Store the newly
5032 created type prior to reading the members of the structure to
5033 avoid infinite recursion. Avoid computing types and alignments
5034 for structures whose sizes are unknown.
5035 (lto_read_variable_formal_parameter_const): Handle DW_AT_artificial
5036 and set DECL_ARTIFICIAL accordingly. Ignore DW_AT_abstract_origin,
5037 DW_AT_const_value, and DW_AT_specification.
5038 (lto_read_subroutine_type_subprogram_DIE): Handle DW_AT_declaration.
5039 Return early if we have already constructed the function type.
5040 (lto_read_typedef_DIE): Check to see if the type has been cached
5041 already. Cache the type before reading any children.
5042 (lto_read_const_volatile_restrict_type_DIE): Handle DW_AT_name.
5043 (lto_read_DIE): Unset context->skip_non_parameters around reading
5044 the DIE.
5045 (lto_resolve_fn_ref): Delete trailing whitespace.
5046
50472007-09-11 Kenneth Zadeck <zadeck@naturalbridge.com>
5048
5049 * lto-read.c (input_expr_operand): Added type for STRING_CST.
5050
50512007-09-10 Nathan Froyd <froydnj@codesourcery.com>
5052
5053 * lto-read.c (lto_read): Set the type of the newly created CALL_EXPR.
5054
50552007-09-07 Nathan Froyd <froydnj@codesourcery.com>
5056
5057 * lto-lang.c (signed_and_unsigned_types): New variable.
5058 (lto_type_for_size): Consult signed_and_unsigned_types to find
5059 an approprite type, creating it if necessary.
5060 (lto_set_decl_assembler_name): Add actual method body.
5061
50622007-09-06 Jim Blandy <jimb@codesourcery.com>
5063
5064 * lto.c (lto_read_variable_formal_parameter_constant_DIE): If we
5065 can't find a var init for this variable, leave its DECL_INITIAL.
5066 * lto-elf.c (lto_elf_map_optional_lto_section): Renamed from
5067 lto_elf_map_fn_body.
5068 (lto_map_lto_section): New function.
5069 (lto_elf_file_vtable): Use lto_elf_map_lto_section for function
5070 bodies, and lto_elf_map_optional_lto_section for variable
5071 initializers.
5072 (lto_elf_find_section_data): Quietly return NULL if the section is
5073 missing.
5074 (lto_elf_file_open): Check for a NULL from lto_elf_find_section_data.
5075
5076 * lto-elf.c (lto_elf_find_section_data): Remove dead code.
5077
5078 * lto-read.c (lto_read_body): Doc fix.
5079
50802007-08-29 Kenneth Zadeck <zadeck@naturalbridge.com>
5081
5082 * lto-read.c (fun_in): Renamed to data_in.
5083 (input_expr_operand, input_local_var, input_string_internal,
5084 input_string, input_real, input_list, get_label_decl,
5085 get_type_ref, input_expr_operand, input_globals, input_labels,
5086 input_local_vars_index, input_local_var, input_local_vars,
5087 input_cfg, input_phi, input_ssa_names, input_bb, ): Renamed fun_in to data_in.
5088 (input_constructor): New function.
5089 (lto_read_function_body): Renamed to lto_read_body and generalized
5090 to handle both functions and constructors.
5091 (lto_read_function_body, lto_read_var_init): New function.
5092
5093
50942007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
5095
5096 * lto-read.c (input_expr_operand): Assert that there really is a
5097 FUNCTION_DECL.
5098 (input_globals): Removed checks on 0 section.
5099
51002007-08-28 Kenneth Zadeck <zadeck@naturalbridge.com>
5101
5102 * lto-read.c (fun_in): Added local_decls_index and
5103 local_decls_index_d.
5104 (input_expr_operand): Changed inputting of PARM_DECLs and VAR_DECLs.
5105 (input_globals): Enabled code to handle FIELD_DECLs.
5106 (input_local_vars_index, input_local_vars): New function.
5107 (input_local_var): Changed to allow locals to be input randomly.
5108 (lto_read_function_body): Added code to input the
5109 local_decls_index and to free various structures.
5110
51112007-08-17 Jim Blandy <jimb@codesourcery.com>
5112
5113 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Remove
5114 ATTRIBUTE_UNUSED from 'die' formal.
5115
5116 Use enum LTO_tags where appropriate, instead of 'unsigned int'.
5117 * lto-read.c (input_record_start): Fix return type, type of 'tag'.
5118 (input_list): Fix type of 'tag'.
5119 (input_expr_operand): Fix type of 'tag' argument. Update
5120 declaration. Fix type of 'ctag'. Add default case to switch,
5121 since the type of the switched value is now an enum.
5122 (input_local_vars): Fix type of 'tag'.
5123 (input_bb): Fix type of 'tag' argument.
5124 (input_function): Fix type of 'tag' argument.
5125
51262007-08-16 Jim Blandy <jimb@codesourcery.com>
5127
5128 * lto.c (lto_read_member_DIE): Record the tree we create in
5129 fd->die_cache. (Our 'die' argument is no longer unused.)
5130 (lto_resolve_field_ref): New function.
5131 * lto.h (lto_resolve_field_ref): New declaration.
5132
51332007-08-15 Jim Blandy <jimb@codesourcery.com>
5134
5135 * lto-read.c (lto_read_var_init): Mark arguments as unused.
5136
51372007-08-07 Jim Blandy <jimb@codesourcery.com>
5138
5139 * lto.c (lto_read_form): Complete attr_classes table.
5140 (DWARF2_form_data): Doc fix.
5141
51422007-08-05 Mark Mitchell <mark@codesourcery.com>
5143
5144 * lto.h (lto_file_vtable): Remove read_var_init. Add map_var_init
5145 and unmap_var_init.
5146 (lto_read_var_init): Declare.
5147 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Use new
5148 interface for reading variable initializers.
5149 * lto-elf.c (lto_elf_read_var_init): Remove.
5150 (lto_elf_file_vtable): Update initializer.
5151 (lto_elf_read_var_init): Add comment about unused-ness.
5152 * lto-read.c (lto_read_var_init): New.
5153
5154 * lto.c (lto_read_form): Add entry for DW_AT_inline.
5155
51562007-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
5157
5158 * lto-read.c (lto_read_function_body): Moved declaration of fn
5159 outside of ifdef.
5160
51612007-08-01 Kenneth Zadeck <zadeck@naturalbridge.com>
5162
5163 * lto-read.c (input_uleb128, input_string_internal, input_real,
5164 input_integer, input_record_start, input_list, get_type_ref,
5165 input_flags, input_expr_operand, input_expr_operand,
5166 input_expr_operand, input_local_vars, input_cfg, input_phi,
5167 input_ssa_names, input_bb, input_function): Added semicolons.
5168
5169
51702007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
5171
5172 * lto-read.c (input_globals): Remove debugging.
5173 (input_function): Set DECL_ARGUMENTS.
5174
5175
51762007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
5177
5178 * lto-read.c (input_expr_operand): Fixed code for COND_EXEC,
5179 RETURN_EXPR, MODIFY_EXPR and processing of flags.
5180 (input_phi): Made work with operands other than SSA_NAMES and
5181 fixed processing of flags.
5182 (input_ssa_names): Initialize SSA_NAME_DEF_STMT to empty stmt.
5183 (input_flags): New function.
5184 * lto-lang.c (lto_init): Changed state of in_lto_p.
5185
5186
51872007-07-24 Mark Mitchell <mark@codesourcery.com>
5188
5189 * lto-tree.h (lto_varargs_cookie): Remove.
5190 * lto.c (lto_context): Add last_parm_type, varargs_p, skip_all,
5191 skip_non_parameters, skip_parameters.
5192 (lto_varargs_cookie): Remove.
5193 (lto_read_variable_formal_parameter_constant_DIE): Keep track of
5194 parameter types.
5195 (lto_read_abbrev): New function.
5196 (lto_read_subroutine_type_subprogram_DIE): Make two passes over
5197 child DIEs.
5198 (lto_read_unspecified_parameters_DIE): Set context->varargs_p.
5199 (lto_read_DIE): Use lto_read_abbrev. Honor skip_* flags.
5200 (lto_file_read): Initialize new context fields.
5201 * lto-lang.c (lto_type_for_mode): Return NULL_TREE.
5202 (lto_unsigned_type): Remove.
5203 (lto_signed_type): Likewise.
5204 (lto_signed_or_unsigned_type): Likewise.
5205 (lto_init): Do not create lto_varargs_cookie.
5206 (LANG_HOOKS_UNSIGNED_TYPE): Do not define.
5207 (LANG_HOOKS_SIGNED_TYPE): Likewise.
5208 (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Likewise.
5209
52102007-07-19 Jan Hubicka <jh@suse.cz>
5211
5212 * lto-read.c (lto_read_function_body): Produce empty scope block
5213 to avoid crash.
5214
52152007-07-18 Mark Mitchell <mark@codesourcery.com>
5216
5217 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Do not
5218 process local variables.
5219 (lto_read_subroutine_type_subprogram_DIE): Read child DIEs.
5220
52212007-07-13 Kenneth Zadeck <zadeck@naturalbridge.com>
5222
5223 * lto-read.c (input_list, input_expr_operand): Added struct
5224 function parameter.
5225 (init_cfg, finalize_cfg): Removed function.
5226 (input_expr_operand): Added SSA_NAME and GIMPLE_MODIFY_STMT cases.
5227 (input_labels, input_local_vars): Now takes input_block parameter rather than
5228 synthsyzing it.
5229 (input_cfg, input_phi, input_ssa_names): New functions.
5230 (input_bb): Now passes in input_blocks. Does not construct cfg
5231 and processes the list of phi functions.
5232 (input_function): Now builds both the cfg and ssa_names table.
5233 (lto_read_function_body): Processes new header fields to construct
5234 streams for the ssa_names and cfg and their debugging.
5235 * lto/lto-lang.c (lto_init): Set in_lto_p.
5236
5237
52382007-06-28 Mark Mitchell <mark@codesourcery.com>
5239
5240 * lto.h (lto_file_vtable): Add read_var_init.
5241 * lto.c (lto_read_variable_formal_parameter_constant_DIE): Read
5242 initializers.
5243 (lto_main): Remove bogus asserts.
5244 * lto-elf.c (tm.h): Include it.
5245 (libiberty.y): Likewise.
5246 (lto_elf_file): Add strtab and symtab. Rename
5247 string_table_section_index to sec_strtab.
5248 (lto_elf_file_vtable): Add lto_elf_read_var_init.
5249 (lto_elf_get_shdr): New function.
5250 (lto_elf_free_shdr): Likewise.
5251 (lto_elf_find_section_data): Use them.
5252 (lto_elf_read_symtab): New function.
5253 (lto_elf_lookup_sym): Likewise.
5254 (lto_elf_free_sym): Likewise.
5255 (lto_elf_file_open): Tidy. Call lto_elf_read_symtab.
5256 (lto_elf_built_init): New function.
5257 (lto_elf_read_var_init): Likewise.
5258 * Make-lang.in (lto/lto-elf.o): Depend on $(TM_H).
5259
52602007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
5261
5262 * lto-read (make_new_block): Initialize the stmt_list.
5263 (lto_static_init_local): Add debugging for missing codes.
5264
52652007-06-26 Mark Mitchell <mark@codesourcery.com>
5266
5267 * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
5268 unprototyped functions.
5269
52702007-06-23 Mark Mitchell <mark@codesourcery.com>
5271
5272 * lto.c (lto_read_variable_formal_parameter_constant_DIE):
5273 Handle DW_AT_MIPS_linkage_name.
5274 (lto_read_subroutine_type_subprogram): Likewise. Correct
5275 compilation errors.
5276 (lto_main): Remove incorrect assertions.
5277 * lto-symbtab.c: Build function types out of TREE_LISTs.
5278
5279 * lto-elf.c (<libelf>): Check for HAVE_LIBELF_H.
5280
5281 * Make-lang.in (LTO_OBJS): Depend on attribs.o.
5282
52832007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
5284
5285 * lto/lto-tree.h (lang_decl, lang_type, language_function): Added
5286 dummy since ggc does not like empty structs.
5287 * lto/lto-elf.c (libelf.h): Changed to libelf/libelf.h.
5288 * lto/lto-read.c (ADD_CLASS_FLAG, ADD_EXPR_FLAG): Changed
5289 expr->common to expr->base.
5290 (make_new_block): Moved stmt_list to proper place.
5291
5292
52932007-03-14 Robert Kennedy <jimbob@google.com>
5294
5295 Eliminate use of lang_hooks.set_decl_assembler_name from LTO
5296 * lto.c (lto_read_subroutine_type_subprogram_DIE) Get DECL
5297 assembler name from DWARF.
5298 * lto-lang.c (lto_set_decl_assembler_name) New function.
5299
53002006-09-10 Mark Mitchell <mark@codesourcery.com>
5301
5302 * lto.h (lto_file_vtable): New structure.
5303 (lto_file): Add vtable pointer.
5304 (lto_file_init): Add vtable paramter.
5305 (lto_read_function_body): New function.
5306 (lto_symtab_merge_fn): New function.
5307 * lto.c (lto_file_init): Add vtable parameter.
5308 (lto_read_form): Fill in entries for DW_AT_prototyped,
5309 DW_AT_frame_base.
5310 (lto_read_subroutine_type_subprogram_DIE): New function.
5311 (lto_read_DIE): Fill in entries for DW_TAG_subroutine_type and
5312 DW_TAG_subprogram.
5313 * lto-elf.c (lto_elf_vile_vtable): New variable.
5314 (lto_elf_file_open): Pass it to lto_file_init.
5315 (lto_elf_map_fn_body): New function.
5316 (lto_elf_unmap_fn_body): Likewise.
5317 * lto-read.c: New file.
5318 * lto-symtab.c (lto_symtab_merge_fn): New function.
5319 * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define to
5320 tree_rest_of_compilation.
5321 * Make-lang.in (LTO_OBJS): Add lto-read.o
5322 (lto-read.o): New target.
5323
53242006-09-03 Mark Mitchell <mark@codesourcery.com>
5325
5326 * lto.c (<inttypes.h>): Don't include it.
5327 (lto_context): Don't typedef it.
5328 (lto_resolve_reference): New function.
5329 (lto_read_form): Use it.
5330 (lto_resolve_type_ref): New function.
5331 (lto_resolve_var_ref): Likewise.
5332 (lto_resolve_fn_ref): Likewise.
5333 * lto.h (<inttypes.h>): Include it.
5334 (lto_context): New type.
5335 (lto_ref): New structure.
5336 (lto_resolve_type_ref): Declare.
5337 (lto_resolve_var_ref): Likewise.
5338 (lto_resolve_fn_ref): Likewise.
5339
53402006-08-18 Mark Mitchell <mark@codesourcery.com>
5341
5342 * lang-specs.h: New file.
5343
53442006-08-14 Mark Mitchell <mark@codesourcery.com>
5345
5346 * lto.c (lto_info_fd_init): Allocate the DIE cache.
5347 (lto_info_fd_close): Deallocate it.
5348 (lto_die_cache_entry): New structure.
5349 (lto_cache_hash): New function.
5350 (lto_cache_eq): Likewise.
5351 (lto_cache_store_DIE): Likewise.
5352 (lto_cache_lookup_DIE): Likewise.
5353 (lto_read_referenced_type_DIE): Use the cache.
5354 (lto_read_pointer_type_DIE): Robustify.
5355 (lto_read_DIE): Use the cache.
5356 * lto.h (hashtab.h): Include.
5357 (lto_info_fd): Add DIE cache.
5358 * Make-lang.in (LTO_H): New variable.
5359 (lto/lto-lang.o): Use LTO_H.
5360 (lto/lto-elf.o): Likewise.
5361 (lto/lto-symtab.o): Likewise.
5362
53632006-07-09 Mark Mitchell <mark@codesourcery.com>
5364
5365 * lto.c (lto_abi_mismatch_error): New function.
5366 (lto_abbrev_read): Initialize num_abbrevs.
5367 (lto_read_form): Specify allowed form classes for
5368 DW_AT_declaration. Adjust for change to lto_set_cu_context.
5369 (lto_read_variable_formal_parameter_constant_DIE): Handle
5370 DW_AT_declaration. Call lto_symtab_merge_var.
5371 (lto_read_pointer_type_DIE): New function.
5372 (lto_read_base_type_DIE): Use build_nonstandard_integer_type. Do
5373 not creat TYPE_DECLs for types that already have them.
5374 (lto_read_DIE): Add lto_read_pointer_type_DIE.
5375 (lto_set_cu_context): Make cu_start point to the header, not the
5376 first DIE.
5377 (lto_file_read): Adjust for change to lto_set_cu_context.
5378 * Make-lang.in (LTO_OBJS): Add lto-symtab.o.
5379 (lto/lto-symtab.o): New rule.
5380 * lto-tree.h (lang_identifier): Add decl field.
5381 (LANG_IDENTIFIER_CAST): New macro.
5382 (LTO_IDENTIFIER_DECL): Likewise.
5383 (lto_symtab_merge_var): Declare.
5384 * lto-symtab.c: New file.
5385
53862006-07-02 Daniel Berlin <dberlin@dberlin.org>
5387
5388 * lto.c (lto_context): Add current_cu and info_fd members.
5389 (DWARF2_CompUnit): New structure.
5390 (lto_read_DIE): Take lto_info_fd *.
5391 (lto_read_child_DIEs): Ditto.
5392 (lto_file_corrupt_error): Constify argument.
5393 (lto_set_cu_context): New function
5394 (lto_info_fd_init): Ditto.
5395 (lto_info_fd_close): Ditto.
5396 (lto_file_init): Use lto_info_fd_init.
5397 (lto_file_close): Use lto_info_fd_close.
5398 (lto_read_initial_length): Pass in pointer to header size.
5399 (lto_read_comp_unit_header): Correct cu_length to
5400 real length from beginning of header. Take lto_info_fd * as
5401 argument.
5402 (find_cu_for_offset): New function.
5403 (lto_read_form): Change first argument to lto_info_fd *.
5404 Add FORM_CONTEXT argument.
5405 Handle DW_FORM_ref_addr.
5406 (lto_read_tag_DIE): Change first argument to lto_info_fd *.
5407 (LTO_BEGIN_READ_ATTRS_UNCHECKED): Save old context.
5408 Swap contexts if necessary for form.
5409 (LTO_BEGIN_READ_ATTRS): Cast fd to right type for
5410 lto_file_corrupt_error.
5411 (LTO_END_READ_ATTRS): Swap contexts back if it had changed.
5412 (lto_read_referenced_type_DIE): Change first argument to
5413 lto_info_fd *. Access lto_fd fields through base pointer.
5414 (lto_read_compile_unit_DIE): Change first argument to an
5415 lto_info_fd *.
5416 (lto_read_variable_formal_parameter_constant_DIE): Ditto.
5417 (lto_read_base_type_DIE): Ditto.
5418 (lto_read_child_DIEs): Ditto.
5419 (lto_read_DIE): Ditto. Change type of function pointer.
5420 (lto_info_read): New function.
5421 (lto_set_cu_context): Ditto.
5422 (lto_file_read): Use lto_info_read, walk resulting CU's
5423 (lto_main): Update for lto_info_fd change.
5424 * lto-elf.c (lto_elf_file_open): Cast lto_info_fd to lto_fd where
5425 necessary.
5426 * lto.h (DWARF2_CompUnit): New structure.
5427 (lto_info_fd): Ditto.
5428 (lto_file): Change debug_info to be an lto_info_fd.
5429
54302006-06-25 Mark Mitchell <mark@codesourcery.com>
5431
5432 * lto.c (toplev.h): Include it.
5433 (dwarf2.h): Likewise.
5434 (tree.h): Likewise.
5435 (tm.h): Likewise.
5436 (cgraph.h): Likewise.
5437 (ggc.h): Likewise.
5438 (inttypes.h): Likewise.
5439 (DWARF2_attr): New type.
5440 (DWARF2_abbrev): Likewise.
5441 (DWARF2_class): Likewise.
5442 (DWARF2_form_data): Likewise.
5443 (lto_context): Likewise.
5444 (lto_fd_init): New function.
5445 (lto_abbrev_fd_init): Likewise.
5446 (lto_abbrev_fd_close): Likewise.
5447 (lto_file_init): Use them.
5448 (lto_file_close): New function.
5449 (lto_file_corrupt_error): Likewise.
5450 (LTO_CHECK_INT_VAL): New macro.
5451 (lto_check_size_t_val): New function.
5452 (lto_check_int_val): Likewise.
5453 (LTO_READ_TYPE): New macro.
5454 (lto_read_ubyte): New function.
5455 (lto_read_uhalf): Likewise.
5456 (lto_read_uword): Likewise.
5457 (lto_read_uleb128): Likewise.
5458 (lto_read_initial_length): Likewise.
5459 (lto_abbrev_read_attrs): Likewise.
5460 (lto_abbrev_read): Likewise.
5461 (lto_abbrev_lookup): Likewise.
5462 (lto_read_section_offset): Likewise.
5463 (lto_read_comp_unit_header): Likewise.
5464 (lto_read_form): Likewise.
5465 (LTO_BEGIN_READ_ATTRS_UNCHECKED): New macro.
5466 (LTO_BEGIN_READ_ATTRS): Likewise.
5467 (LTO_END_READ_ATTRS): Likewise.
5468 (lto_unsupported_attr_error): New function.
5469 (lto_get_identifier): Likewise.
5470 (lto_read_referenced_type_DIE): Likewise.
5471 (lto_read_compile_unit_DIE): Likewise.
5472 (lto_read_variable_formal_parameter_constant_DIE): Likewise.
5473 (lto_read_base_type_DIE): Likewise.
5474 (lto_read_DIE): Likewise.
5475 (lto_read_child_DIEs): Likewise.
5476 (lto_file_read): Read DIEs.
5477 (lto_main): Ask middle end to emit entities.
5478 * lto-tree.h (lang_identifier): Inherit from tree_identifier.
5479 * lto-elf.c (lto_elf_file_open): Adjust for interface changes.
5480 (lto_elf_file_close): Likewise.
5481 * lto.h (lto_file): Declare.
5482 (DWARF2_abbrev): Likewise.
5483 (lto_fd): New type.
5484 (lto_abbrev_fd): Likewise.
5485 (lto_file): Use new types.
5486 (lto_file_close): Declare.
5487 * lto-lang.c (lto_init): Always use unit-at-a-time mode.
5488
54892006-06-18 Mark Mitchell <mark@codesourcery.com>
5490
5491 * lto.h: New file.
5492 * lto.c: New file.
5493 * lto-elf.c: New file.
5494 * lto-lang.c (flags.h): Include it.
5495 (lto.h): Likewise.
5496 (lto_init): New function.
5497 (lto_write_globals): Remove.
5498 (LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing.
5499 (LANG_HOOKS_INIT): Define.
5500 (LANG_HOOKS_PARSE_FILE): Likewise.
5501 * Make-lang.in (LTO_OBJS): Add lto.o and lto-elf.o.
5502 (LTO_EXE): Link with libelf.
5503 (lto/lto-lang.o): Update dependencies.
5504 (lto/lto.o): New target.
5505 (lto/lto-elf.o): Likewise.
5506
55072006-06-12 Mark Mitchell <mark@codesourcery.com>
5508
5509 * config-lang.in: New file.
5510 * Make-lang.in: Likewise.
5511 * lto-tree.h: Likewise.
5512 * lto-lang.c: Likewise.
818ab71a
JJ
5513\f
5514Copyright (C) 2006-2016 Free Software Foundation, Inc.
d7f09764 5515
818ab71a
JJ
5516Copying and distribution of this file, with or without modification,
5517are permitted in any medium without royalty provided the copyright
5518notice and this notice are preserved.