aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog.lto
blob: 29d80887efda11fab6a1b296b75567ed2689c9b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
2008-06-11  Diego Novillo  <dnovillo@google.com>

	Merge with lto r136640.

2008-06-10  Diego Novillo  <dnovillo@google.com>

	* lto-function-out.c (output_type_ref, output_expr_operand,
	lto_static_init, output_function): Fix merge problems.
	
2008-06-10  Diego Novillo  <dnovillo@google.com>
	    Ollie Wild  <aaw@google.com>

	Merge with lto.

2008-06-09  Bill Maddox  <maddox@google.com>

	* lto-tags.h: Add new tags LTO_local_type_ref
	and LTO_global_type_ref.  Split LTO_type_decl
	and LTO_field_decl into LTO_type_decl0, LTO_type_decl1,
	LTO_field_decl0, and LTO_field_decl1.
	* lto-tree-tags.h: Set names and tree code mappings for
	the new tags.
	* lto-function-out.c: Tidy comments and formatting.
	(output_record_start): Add forward declaration.
	(type_function_context): New function.
	(field_decl_is_local, type_decl_is_local): New functions.
	(output_type_ref_1): Write "local" (e.g., variably-modified)
	types to local_decls stream.
	(output_type_ref): Use "type_ref" as debug token to avoid
	confusing clash with use of "type" elsewhere.
	(output_local_decl_ref):  Update comment.
	(output_expr_operand): Cases for FIELD_DECL and TYPE_DECL
	now write "local" declarations to local_decls stream.
	(output_local_var):  Rename to output_local_var_decl.
	(output_local_var_decl): Remove code to set slot in
	local_decls_index, now handled by output_local_decl.
	(output_local_tree): New function.
	(output_local_field_decl, output_local_type_decl,
	output_local_type): New functions.
	(output_local_decl): New function.
	(output_field_decl): Use new tag LTO_field_decl1, to
	distinguish from "local" fields.
	(output_type_decl): Use new tag LTO_type_decl1, to
	distinguish from "local" fields.
	* lto-function-in.c: Tidy comments and formatting.
	(input_local_tree, input_local_var_decl, input_local_field_decl,
	input_local_type_decl, input_local_type):  Add forward declarations.
	(input_type_ref_1): Distinguish references to global or local
	declaration streams.
	(input_type_ref):  Use "type_ref" as debug token to avoid
	confusing clash with use of "type" elsewhere.
	(input_expr_operand):  Cases for FIELD_DECL and TYPE_DECL
	now read "local" declarations from local_decls stream.
	(input_local_tree): New function.
	(input_local_var): Rename to input_local_var_decl.
	(input_local_var_decl): Input record tag is now an argument.
	(input_local_field_decl, input_local_type_decl,
	input_local_type): New functions.
	(input_local_decl): New function.
	(input_local_vars): Call input_local_decl instead of input_local_var.
	(lto_static_init_local): Don't call add_referenced_var on non-vars.
	* lto-section-out.c (lto_hash_decl_slot_node, lto_eq_decl_slot_node):
	Use object pointer, not UID, as hash key.

2008-06-09 Rafael Espindola  <espindola@google.com>http://www.google.com/
       based on http://gcc.gnu.org/ml/gcc-patches/2008-03/msg00349.html

       * langhooks-def.h (LANG_HOOKS_RESET_LANG_SPECIFICS): New.
       (LANG_HOOKS_INITIALIZER): add LANG_HOOKS_RESET_LANG_SPECIFICS.
       * langhooks.h (reset_lang_specifics): New.
       * lto-section-out.c (produce_asm_for_decls): Call free_lang_specifics.
       * tree.c (uid2type_map): New.
       (insert_type_to_uid_type_map): New.
       (uid_type_map_eq): New.
       (uid_type_map_hash): New.
       (init_ttree): Initialize uid2type_map.
       (make_node_stat): Call insert_type_to_uid_type_map.
       (copy_node_stat): Call insert_type_to_uid_type_map.
       (reset_type_lang_specific): New.
       (free_lang_specifics): New.
       * tree.h (free_lang_specifics) New.

2008-06-06  Rafael Espindola  <espindola@google.com>

	* Make-lang.in (lto.all.cross): depend on $(LTO_EXE).

2008-05-05  Kenneth Zadeck <zadeck@naturalbridge.com>
	    Jan Hubicka  <jh@suse.cz>
	
	* tree-pass.h (ipa_opt_pass pass_ipa_lto_gimple_out,
	pass_ipa_pure_const, pass_ipa_lto_finish_out): Changed from being 
	simple_ipa_opt_pass to ipa_opt_pass. 
	(ipa_opt_pass pass_ipa_lto_cgraph): Renamed from
	ipa_opt_pass pass_ipa_lto_cgraph_out.
	(ipa_write_summaries, ipa_read_summaries): New functions.
	* lto-function-out.c (string_slot_free): New function.
	(next_string_index): Removed.
	(string_hash_table): Now use string_slot_free.
	(output_string): Copy string to malloced space and properly
	initialize slots.
	(output_type_ref_1): Renamed to lto_output_type_ref_index and
	moved to lto_section_out.c
	(output_type_ref, output_function): Now calls lto_output_type_ref_index.
	(output_expr_operand): Moved bodies of FIELD_DECL, FUNCTION_DECL,
	VAR_DECL, TYPE_DECL, NAMESPACE_DECL to new functions in
	lto_section_out.c.
	(lto_output): Now returns void.
	(pass_ipa_lto_gimple_out): Now a IPA_PASS with lto_output as
	write_summary method.
	* lto-function-in.c (input_string_internal): Moved initialization
	of len to proper place.
	* lto-cgraph.c: New file that is combination of lto-cgraph-out.c
	lto-cgraph-in.c and cgraph.h.
	(lto-section-in.h, lto-section-out.h): Added includes.
	(tree-vectorizer.h, tree-iterator.h): Removed includes.
	(LTO_cgraph_tag_names, LTO_cgraph_tags): Added from cgraph.h.
	(create_output_block, destroy_output_block, output_uleb128,
	output_sleb128, output_fun_decl, add_flag): Moved to
	lto-section-out.c, renamed with "lto_" prefix and generalized.
	(output_node, output_cgraph, input_overwrite_mode, input_cgraph):
	Changed to call moved and renamed functions.
	(input_overwrite_mode): Renamed from overwrite_mode.
	(input_cgraph): Renamed from lto_input_cgraph and made private and
	now loops over all file_datas.
	(pass_ipa_lto_cgraph): Renamed from pass_ipa_lto_cgraph_out and
	made into IPA_PASS.
	* lto-cgraph.h: File deleted and all infomation moved to
	lto-cgraph.c.
	* lto-header.h (LTO_section_ipa_pure_const): New section type.
	(lto_simple_header): New structure.
	* ipa-pure-const.c (lto-section-in.h, lto-section-out.h): New
	includes.
	(init_state, finish_state, set_function_state, generate_summary,
	write_summary, read_summary): New functions.
	(scan_stmt): Renamed from scan_function.  Changed to keep state in
	local static vars rather than cgraph aux field.
	(propagate): Renamed from static_execute. Changed to keep state in
	local static vars rather than cgraph aux field.
	(pass_ipa_pure_const): Changed from SIMPLE_IPA_PASS to IPA_PASS.
	* lto-cgraph-in.c: Content moved to lto-cgraph.c.
	* lto-section-in.c (lto_get_flag, lto_get_flags): Moved from
	lto-cgraph-in.c and renamed from add_flag and add_flags.
	(lto_read_section_data): Moved to lto/lto.c and modified to use
	mmap.
	(lto_set_in_hooks, lto_get_file_decl_data, lto_free_section_data, 
	lto_create_simple_input_block, lto_destroy_simple_input_block):
	New functions.
	(lto_get_section_data): Modified to call hook in lto front end.
	* lto-section-in.h (lto_section_slot): Moved to lto.h.
	(LTO_INIT_INPUT_BLOCK_PTR): New macro.
	(lto_file_decl_data.fd): New field.
	(lto_get_section_data_f, lto_free_section_data_f): New typedefs.
	(lto_create_simple_input_block, lto_destroy_simple_input_block,
	lto_get_flag, lto_get_flags, lto_set_in_hooks, lto_file_decl_data,
	lto_free_section_data): New functions.
	(lto_get_section_data): Added parms.
	* Makefile.in (lto-cgaph.o): Combined rules from lto-cgraph-in.o
	and lto-cgraph-out.o.
	(lto-function-in.o, lto-function-out.o): Added dependencies.
	* passes.c (init_optimization_passes): Reordered ipa passes.
	(execute_ipa_summary_passes): Added check to see that pass was
	there.
	(ipa_write_summaries_1, ipa_write_summaries,
	ipa_read_summaries_1): New function.
	(execute_ipa_pass_list): Added call to ipa_write_summaries and
	fixed bug.
	* lto-cgraph-out.c: Content moved to lto-cgraph.c.
	* lto-section-out.c (lto_set_flag, lto_set_flags): Functions moved
	and renamed (with lto_ prefix) from lto-cgraph-out.c.
	(lto_output_field_decl_index, lto_output_fn_decl_index,
	lto_output_namespace_decl_index, lto_output_var_decl_index,
	lto_output_type_decl_index, lto_output_type_ref_index): New
	functions.  The code for these functions was taken from
	lto-function-out.c
	(lto_create_simple_output_block, lto_destroy_simple_output_block):
	New functions.
	(produce_asm_for_decls): Now returns void.
	(pass_ipa_lto_finish_out): Now an IPA_PASS.
	* lto-section-out.h (lto_simple_output_block): New structure.
	(lto_set_flag, lto_set_flags, lto_output_field_decl_index,
	lto_output_fn_decl_index, lto_output_namespace_decl_index,
	lto_output_var_decl_index, lto_output_type_decl_index,
	lto_output_type_ref_index, lto_create_simple_output_block,
	lto_destroy_simple_output_block): New functions.
	(lto_get_out_decl_state): Removed function
	(lto_output_decl_index): Added parms.
	
2008-06-04  Rafael Espindola  <espindola@google.com>

	* lto-function-out.c (output_tree): call error with the TREE_CODE name.

2008-06-04  Ollie Wild  <aaw@google.com>

	* dwarf2out.c (dwarf2_called_from_lto_p): Remove.
	(current_fde): New function.
	(add_fde_cfi): Call current_fde.
	(lookup_cfa): Call curent_fde.
	(dwarf2out_end_epilogue): Call current_fde.
	(dwarf2out_switch_text_section: Call current_fde.
	(lto_void_type_die): Remove.
	(dwarf_attr_name): Declare static.  Remove flag_generate_lto check.
	(assign_symbol_name): Remove.
	(assign_symbol_names): Expand call to assign_symbol_name.
	(base_type_die): Replace DW_ATE_GNU_complex_unsigned and
	DW_ATE_GNU_complex_signed encodings with DW_ATE_lo_user.  Remove
	byte_size computation.  Remove extra precision information.
	(may_reference_to_unused): Rename reference_to_unused.
	(rtl_for_decl_init): Rename calls to may_reference_to_unused.
	(convert_cfa_to_fb_loc_list): Call current_fde.
	(gen_subprogram_die): Remove flag_generate_lto and
	dwarf2_called_from_lto_p checks.
	(gen_variable_die): Remove context_die == comp_unit_die checks.
	(add_high_low_attributes): Remove dwarf2_called_from_lto_p check.
	(force_die_for_context): Remove.
	(containing_decl_for_block): Remove.
	(force_block_die): Remove.
	(force_decl_die): Expand call to force_die_for_context.  Remove
	context_die == comp_unit_die check.  Remove the removal of of
	DW_AT_DECLARATION.
	(force_type_die): Expand the force_die_for_context call.
	(force_field_die): Remove.
	(gen_decl_die): Remove the cgraph_global_info_ready check.
	(dwarf2out_init): Remove lto_void_type_die initialization.
	(dwarf2out_finish): Remove context assignment.
	(mark_die_used): Remove.
	(lto_init_ref): Remove.
	(lto_type_ref): Remove.
	(lto_var_ref): Remove.
	(lto_fn_ref): Remove.
	(lto_field_ref): Remove.
	(lto_typedecl_ref): Remove.
	(lto_namespacedecl_ref): Remove.
	* dwarf2out.h (dwarf2_called_from_lto_p): Remove.
	(dwarf_attr_name): Remove.
	(lto_out_ref): Remove.
	(lto_type_ref): Remove.
	(lto_var_ref): Remove.
	(lto_fn_ref): Remove.
	(lto_field_ref): Remove.
	(lto_typedecl_ref): Remove.
	(lto_namespacedecl_ref): Remove.
	* dwarf2.h (enum dwarf_type): Remove DW_ATE_GNU_complex_signed and
	DW_ATE_GNU_complex_unsigned.
	* lto-cgraph-in.c: Remove inclusion of dwarf2asm.h and dwarf2out.h.
	* lto-cgraph-out.c: Remove inclusion of dwarf2asm.h and dwarf2out.h.
	(lto_output_cgraph): Remove assignments to dwarf2_called_from_lto_p.
	* lto-function-in.c: Remove inclusion of dwarf2asm.h and dwarf2out.h.
	* lto-function-out.c: Remove inclusion of dwarf2asm.h and dwarf2out.h.
	(generate_early_dwarf_information): Remove.
	(output_function): Remove generate_early_dwarf_information call.
	(lto_output): Remove assignments to dwarf2_called_from_lto_p.
	* lto-section-in.c: Remove inclusion of dwarf2asm.h and dwarf2out.h.
	* lto-section-out.c: Remove inclusion of dwarf2out.h.

2008-06-04  Rafael Espindola  <espindola@google.com>

	Mainline merge @136135

	* configure.ac (ACX_PKGVERSION): Update revision merge string.
	* configure: Regenerate.

2008-06-03  Bill Maddox  <maddox@google.com>
	
	* lto-tree-flags.def: Add flags for LABEL_DECL.
	* lto-function-out.c (output_label_decl): New function.
	(output_tree): Make sure that we do not stream out
	well-known nodes, even for node types for which we
	would not necessarily force sharing.  Reinstate handlers
	for SWITCH_EXPR	and CASE_LABEL. Add case for LABEL_DECL.
	* lto-function-in.c (input_label_decl): New function.
	(input_tree_operand): Reinstate handlers for 
	SWITCH_EXPR and CASE_LABEL. Add case for LABEL_DECL.
	* lto-section-out.c (preload_common_nodes): Verify
	that main_identifier_name is as expected by the reader.
	* lto.c (preload_common_nodes): Initialize
	main_identifier_node.

2008-06-03  Diego Novillo  <dnovillo@google.com>

	* lto-header.h: Tidy formatting.
	* lto-section-in.c (lto_get_section_data): Fix type for
	SECTION_NAME.
	(lto_debug_in_fun): Tidy formatting.
	* lto-tags.h (enum): Tidy formatting.
	* lto-cgraph-out.c (output_fn_decl): Add comment.
	* lto-section-out.c (lto_output_decl_index):  Tidy formatting.

2008-06-03  Diego Novillo  <dnovillo@google.com>

	* lto-function-out.c (output_tree_flags): Tidy
	formatting.
	(output_type_decl): Emit TYPE_MODE.
	(output_tree): Add comment.
	Ignore language codes.  Add pointer to proper fix.
	* lto-function-in.c (input_type_decl): Read TYPE_MODE.

2008-06-02  Diego Novillo  <dnovillo@google.com>

	* lto-function-out.c: Do not include ctype.h.
	Tidy whitespace.
	(output_function_decl): Add comment.
	(output_type_tree): Reformat comment.
	* lto-header.h (lto_get_section_name): Fix return type.
	Tidy whitespace.
	* lto-tree-out.h: Tidy whitespace and comments.
	* lto-section-out.c (lto_get_section_name): Fix return
	type.
	(lto_get_section): Fix type of section_name.
	(lto_get_out_decl_state): Reformat comment.
	(out_state): Declare as local static to
	lto_get_out_decl_state.
	Fix wraparound problems.
	(preload_common_node): Reformat comment.
	Tidy whitespace.
	(produce_asm_for_decls): Remove extern declarations.
	Fix wraparound problems.
	(lto_debug_out_fun): Fix comment.
	* lto-section-out.h: Tidy whitesace and formatting.

2008-05-30  Diego Novillo  <dnovillo@google.com>

	* lto-function-out.c (output_namespace_decl): Fix
	assertions for NAMESPACE_DECL.

2008-05-30  Diego Novillo  <dnovillo@google.com>

	Backport from trunk:

	2008-05-27  Richard Guenther  <rguenther@suse.de>

		PR tree-optimization/36245
		* tree-ssa-address.c (add_to_parts): Deal with non-pointer
		bases.

2008-05-29  Bill Maddox  <maddox@google.com>

	* lto-tree-in.h, lto-tree-out.h: New files,
	accidently omitted from previous commit.

2008-05-28  Bill Maddox  <maddox@google.com>
	
	Replace the DWARF reader in the LTO front-end.

	* lto-tree-flags.def: Add flags for *_DECL
	and *_TYPE for use by g lobal streamer.
	* lto-function-out.c: Include lto-tree-out.h.
	(struct output_block): Moved to lto-tree-out.h.
	(create_output_block, destroy_output_block):
	Make non-static, now exported.
	(output_tree_flags, debug_tree_flags): Add ADD_CLASS_TYPE,
	ADD_TYPE_FLAG, ADD_FUN_FLAG macros.  Fix bug where stream
	debugging info was sometimes omitted.
	(lto_static_init): Adjust lto_flags_needed_for and
	lto_types_needed_for for node types now newly handled by
	the global streamer.
	(output_tree, output_type_tree, output_global_record_start,
	output_field_decl, output_function_decl, output_var_decl,
	output_parm_decl, output_result_decl, output_type_decl,
	output_namespace_decl, output_translation_unit_decl,
	output_binfo, output_type, output_global_constructor)
	New functions.
	* lto_function-in.c: Include lto-tree-in.h.
	(struct data_in): Moved to lto-tree-in.h.
	(input_string_internal): Initialize input_block before
	reading string table size from the stream.
	(process_tree_flags): Add ADD_CLASS_TYPE_FLAG, ADD_TYPE_FLAG,
	ADD_FUN_FLAG.
	(input_local_var): Handle stream debugging information
	that was previously omitted due to a bug in the writer.
	(lto_static_init_local): Make non-static, now exported.
	 Add ADD_CLASS_TYPE_FLAG, ADD_TYPE_FLAG, ADD_FUN_FLAG.
	(input_tree, input_type_tree, input_tree_operand,
	global_vector_enter, global_vector_fixup, input_field_decl,
	input_function_decl, input_var_decl, input_parm_decl,
	input_result_decl, input_type_decl, input_namespace_decl,
	input_translation_unit_decl, input_binfo, input_type):
	New functions.
	* lto-section.h (struct lto_decl_header): Add fields for
	sizes of globals stream and its associated debug and string
	table streams.
	* lto-tree-tags.def: MAP_EXPR_TAG and SET_NAME macro calls
	for newly-handled tree codes for global decls and types.
	* lto-section-in.c (dump_debug_stream): Fix typo in error message.
	* lto-section-in.h (lto_input_function_body,
	lto_input_constructors_and_inits): Moved to lto-tree-in.h.
	* lto-tags.h (enum LTO_tags): Added literals LTO_tree_vec,
	LTO_translation_unit_decl, LTO_*_type, LTO_tree_binfo,
	LTO_pickle_reference.
	

2008-05-27  Kenneth Zadeck <zadeck@naturalbridge.com>

	* cgraph.h (lto_file_decl_data): Removed.
	* lto-function-in.c: Moved from lto directory.
	(lto-section-in.h): Added include.
	(lto.h): Deleted include.
	(input_string_internal): Initialized str_tab with
	LTO_INIT_INPUT_BLOCK.
	(canon_file_name): Reordered to remove stmt before decl.
	(input_expr_operand): Ditto.
	(input_bb): Removed assignment to TREE_BLOCK.
	(lto_static_init_local): Changed data to be char* rather than
	void*.
	(lto_read_body): Changed all vars of type struct lto_input_block
	to be initialized with LTO_INIT_INPUT_BLOCK.
	(lto_read_body, lto_input_constructors_and_inits): Changed data to
	be char* rather than void*.
	* lto-cgraph-in.c: Moved from lto directory.
	(lto.h): Removed include.
	(lto_input_cgraph): Changed data to be char* rather than
	void*. Changed ib_main and debug_main to be initialized with
	LTO_INIT_INPUT_BLOCK.
	* lto-section-in.c: Moved from lto directory.
	(lto.h): Removed include.
	(lto_read_decls): Moved to lto/lto.c.
	* lto-section-in.h: Moved from lto directory.
	(LTO_INIT_INPUT_BLOCK): New macro.
	(lto_input_function_body, lto_input_constructors_and_inits, 
	lto_input_cgraph): Declarations moved from lto.h.
	* Makefile.in (lto-cgraph-in.o, lto-function-in.o,
	lto-section-in.o): Rules moved from lto/Make-lang.in.
	
	
2008-05-25  Rafael Espindola  <espindola@google.com>

	Mainline merge @135852

	* configure.ac (ACX_PKGVERSION): Update revision merge string.
	* configure: Regenerate.

2008-05-20  Rafael Espindola  <espindola@google.com>

       * ../configure: Regenerate with the correct autoconf version: 2.59.

2008-05-16  Diego Novillo  <dnovillo@google.com>

	Mainline merge @135422

	* configure.ac (ACX_PKGVERSION): Update revision merge string.
	* configure: Regenerate.

2008-05-14  Rafael Espindola  <espindola@google.com>

	Mainline merge @135302

	* configure.ac (ACX_PKGVERSION): Update revision merge string.
	* configure: Regenerate.

2008-05-13  Diego Novillo  <dnovillo@google.com>

	Mainline merge @135270

	* configure.ac (ACX_PKGVERSION): Update revision merge string.
	* configure: Regenerate.

2008-05-12  Diego Novillo  <dnovillo@google.com>

	Mainline merge @135136

	* configure.ac (ACX_PKGVERSION): Update revision merge string.
	* configure: Regenerate.

2008-05-12  Diego Novillo  <dnovillo@google.com>

	* lto-tree-flags.def (STRUCT_FIELD_TAG): Remove.
	* treestruct.def (STRUCT_FIELD_TAG): Remove.
	Update all users.
	* lto-cgraph-out.c (output_node): Update references to
	inline summary fields.

2008-04-29  Ollie Wild  <aaw@google.com>

	* lto-tags.h (enum LTO_tags): Add LTO_namespace_decl.
	* lto-tree-tags.def (LTO_namespace_decl): New tag.
	* lto-section-out.c (lto_get_out_decl_state): Initialize
	out_state->namespace_decl_hash_table.
	(produce_asm_for_decls): Write assembly for namespace declarations.
	* lto-section-out.h (struct lto_out_decl_state): Add
	namespace_decl_hash_table, next_namespace_decl_index, and
	namespace_decls.
	* lto-section.h (struct lto_decl_header): Add num_namespace_decls.
	* lto-function-out.c (output_expr_operand): Add NAMESPACE_DECL case.
	(lto_static_init): Clear lto_flags_needed_for and lto_types_needed_for
	entries for NAMESPACE_DECL.
	(output_constructors_and_inits): Output initializer if
	DECL_CONTEXT (var) is not a FUNCTION_DECL.
	* dwarf2out.c (lto_namespacedecl_ref): New function.
	* dwarf2out.h (lto_namespacedecl_ref): New function.

2008-04-24  Kenneth Zadeck <zadeck@naturalbridge.com>

	Merge with mainline @134626.

2008-04-16  Ollie Wild  <aaw@google.com>

	* lto-function-out.c (output_type_ref): Updated function description.

2008-04-16  Ollie Wild  <aaw@google.com>

	* lto-function-out.c (output_type_ref_1): New function.
	(output_type_ref): Split into two functions.
	(output_function): Output an LTO_type record if DECL_CONTEXT (function)
	is a type.
	* lto-tags.h (LTO_tags): Add LTO_type enumerator.
	* lto-tree-tags.def (LTO_type): Add new name.

2008-03-25  Kenneth Zadeck <zadeck@naturalbridge.com>

	Merge with mainline @133491.

2008-03-05  Kenneth Zadeck <zadeck@naturalbridge.com>
	    Jan Hubicka  <jh@suse.cz>

	* cgraph.h (cgraph_local_info): Added lto_file_data.
	(cgraph_decide_is_function_needed): Made public.
	* tree-pass.h (pass_ipa_lto_cgraph_out): New lto pass.	
	* lto-function-out.c (LTO_tag_names): Renamed to LTO_tree_tag_names.
	(current_stmt_uid): Removed.
	(create_output_block): Moved call to lto_get_output_decl_state and set
	lto_debug_context.tag_names.
	(output_expr_operand, output_bb, output_constructors_and_inits): 
	Removed current_stmt_id.
	(lto_static_init): Renamed LTO_tag_names to LTO_tree_tag_names
	(output_function): Added debugging code.
	* cgraphunit.c (decide_is_function_needed): Renamed to
	cgraph_decide_is_function_needed and made public.
	(cgraph_analyze_functions): Only analyze unanalyzed functions.
	* lto-cgraph.h: New file.
	* lto-header.h (LTO_DEBUG_FN_NAME): New macro.
	(struct lto_debug_context.tag_names): New field.
	(lto_debug_fn_name): New function.
	* lto-tags.h (LTO_last_tag): Renamed to LTO_tree_last_tag.
	* lto-stream-debug.c (lto_debug_indent): Get tag from context.
	(lto_debug_fn_name): New function.
	* Makefile.in (lto-stream-debug.o, lto-cgraph-out.o, varpool.o):
	Fixed dependencies.
	* passes.c (init_optimization_passes): New
	pass_ipa_lto_cgraph_out.
	* lto-cgraph-out.c: New file.
	* varpool.c (decide_is_variable_needed): Check for in_lto_p.
		
2008-02-09  Kenneth Zadeck <zadeck@naturalbridge.com>

	* tree-pass.h: (pass_ipa_lto_out): Renamed to pass_ipa_lto_gimple_out.
	(pass_ipa_lto_finish_out): New pass.
	* lto-function-out.c (decl_slot, hash_decl_slot_node, eq_decl_slot_node, 
	hash_type_slot_node, eq_type_slot_node, output_decl_index): Moved to
	lto-section-out.c, made public and and renamed to have "lto_"
	prefix.
	(eq_label_slot_node, hash_label_slot_node): Uses lto_decl_slot rather than
	decl_slot.
	(output_block): Deleted these fields: field_decl_hash_table,
	next_field_decl_index, field_decls, fn_decl_hash_table,
	next_fn_decl_index, fn_decls, var_decl_hash_table,
	next_var_decl_index, var_decls, type_decl_hash_table,
	next_type_decl_index, type_decls, type_hash_table,
	next_type_index, types.
	Added cgraph_node and current_stmt_id.
	(create_output_block): Now takes lto_section_type.  Removed code 
	to init hash tables moved to lto_section_out.c.
	(destroy_output_block): Removed is_function parameter.
	Removed code to destroy tables moved to lto_section_out.c 
	(output_type_ref, output_local_decl_ref, output_label_ref, 
	output_expr_operand): Modified to call functions moved to lto_section_out.
	(output_bb): Properly set current_stmt_id.
	(write_references): Moved to lto_section_out.c.
	(produce_asm): tripped of all of the function that was moved
	to lto_section_out.c.
	(output_constructor_or_init): Renamed
	output_constructors_and_inits and writes all initializers in a
	single section rather than one per section.
	(lto_output): Moved loop over all constructors to
	output_constructors_and_inits.
	(gate_lto_out): Moved to lto-section-out.c. 
	* tree-ssa-sccvn.c (init_scc_vn): Removed unused bb var.
	* lto-header.h (lto_section_type): Changed prefix of all
	elements to "LTO_section".
	(lto_get_section_name): New function.
	(lto_get_section): Move from lto-section.h.
	(LTO_STREAM_DEBUGGING, LTO_DEBUG_INDENT, LTO_DEBUG_INDENT_TOKEN, 
	LTO_DEBUG_INTEGER, LTO_DEBUG_STRING, LTO_DEBUG_TOKEN, 
	LTO_DEBUG_TREE_FLAGS, LTO_DEBUG_UNDENT, LTO_DEBUG_WIDE,
	lto_debug_context, lto_debug_out): Moved from lto-tags.h.
	* lto-section.h: New file.
	* lto-tags.h (lto_function_header): Moved fields num_field_decls,
	num_fn_decls, num_var_decls, num_type_decls, num_types. to
	lto_decl_header in lto-section.h.
	(LTO_STREAM_DEBUGGING, LTO_DEBUG_INDENT, LTO_DEBUG_INDENT_TOKEN, 
	LTO_DEBUG_INTEGER, LTO_DEBUG_STRING, LTO_DEBUG_TOKEN, 
	LTO_DEBUG_TREE_FLAGS, LTO_DEBUG_UNDENT, LTO_DEBUG_WIDE,
	lto_debug_context, lto_debug_out): Moved to lto-tags.h.
	* lto-stream-debug.c: Include lto-header.h.
	* Makefile.in (LTO_TAGS_H, lto-stream-debug.o, lto-function-out.o,
	lto-section-out.o): Updated dependencies.
	(LTO_SECTION_H): New.
	* passes.c: (pass_ipa_lto_out): Renamed to pass_ipa_lto_gimple_out.
	(pass_ipa_lto_finish_out): New pass.
	* lto-section-out.c (lto_hash_decl_slot_node, lto_eq_decl_slot_node, 
	lto_hash_type_slot_node, lto_eq_type_slot_node,
	lto_output_decl_index): Moved from lto-function-out.c and
	renamed with "lto_" prefix.
	(lto_get_section_name, lto_get_out_decl_state, produce_asm_for_decls): New function.
	(write_references, gate_lto_out): Moved from lto-function-out.c.
	* lto-section-out.h (lto_out_decl_state): New structure.

2008-01-28  Kenneth Zadeck <zadeck@naturalbridge.com>
	* cgraph.h (cgraph_edge.lto_stmt_uid): New field.
	* lto-function-out.c (output_constructor, output_expr_operand,
	output_phi, output_bb, output_function): Removal of code to thread
	the stmt_number thru the code.
	(produce_asm): Moved code to create dwarf_sections to
	lto_section_out.c.  Encapsulated section type independent code
	into separate header structure.  Changed to use enum section_type.
	(output_function, output_constructor_or_init): Added call to
	renumber_gimple_stmt_uids and to pass section type to produce_asm.
	(lto_output): Pass cgraph node rather than decl to
	output_function.
	* tree-ssa-dse (max_stmt_uid): Removed.
	(get_stmt_uid, dse_possible_dead_store_p, dse_optimize_stmt, 
	tree_ssa_dse): Encapsulate all uses of stmt_ann->uid.
	* tree-ssa-sccvn.c (compare_ops, init_scc_vn): Ditto.
	* lto-header.h: New
	* function.h (cfun.last_stmt_uid): New field.
	* lto-tags.h (lto_header): Renamed to lto_function_header and
	moved shared fields to lto_header in lto-header.h.
	(LTO_SECTION_NAME_PREFIX): Moved to lto-header.h.
	* tree-flow-inline.h (set_gimple_stmt_uid, gimple_stmt_uid,
	gimple_stmt_max_uid, set_gimple_stmt_max_uid, 
	inc_gimple_stmt_max_uid): New functions.
	* tree-dfa.c (renumber_gimple_stmt_uids): New function.
	(create_stmt_ann): Initialize the ann->uid field.
	* tree-ssa-pre.c (compute_avail): Encapsulate the stmt_ann->uid
	with new calls.
	* tree-flow.h (renumber_gimple_stmt_uids): New function.
	* lto-section-out.c (lto_get_section): New function.
	* lto-section-out.h (lto_get_section): New function.
	
2008-01-14  Kenneth Zadeck <zadeck@naturalbridge.com>
	* lto-function-out (lto_debug_context, output_stream,
	LTO_SET_DEBUGGING_STREAM): Moved to lto_section_out.h.
	(debug_out_fun): Renamed lto_debug_out_fun and moved to
	lto_section_out.c.
	(write_stream): Renamed lto_write_stream and moved to
	lto_section_out.c.
	(output_1_stream): Renamed lto_output_1_stream and moved to
	lto_section_out.c.
	(output_uleb128_stream): Renamed lto_output_uleb128 and moved to
	lto_section_out.c.
	(output_widest_uint_uleb128_stream): Renamed
	lto_output_widest_uint_uleb128_stream and moved to
	lto_section_out.c.
	(output_sleb128_stream): Renamed lto_output_sleb128_stream and
	moved to lto_section_out.c.
	(output_string, output_decl_index, output_record_start,
	output_constructor, output_expr_operand, output_local_vars,
	output_local_vars_index, output_ssa_names, output_bb, produce_asm,
	output_function, output_constructor_or_init): Renamed all calls as above.
	(output_integer): Guts moved to lto_output_integer_stream.
	(output_expr_operand, output_local_var, output_cfg, output_phi,
	output_bb, output_function): 
        Added stmt_num parameter.
	* lto-tags.h (lto_debug_context): Added.
	* lto-section-out.c: New file that contains functions moved and
	renamed from lto-function-out.
	* lto-section-out.h: New file that contains declarations in
	lto-section-out.c. 
	* Makefile.in (lto-section-out.o): New rule.
	
2008-01-07  Diego Novillo  <dnovillo@google.com>

	http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00263.html

	* dwarf2out.c (force_decl_die): Initialize SAVED_IGNORED_FLAG.
	* dwarf2.h (enum dwarf_type): Remove trailing comma.

2007-12-29  Nathan Froyd  <froydnj@codesourcery.com>

	* collect2.c (scan_prog_file): Read all the output when reading
	information for LTO.

2007-12-24  Nathan Froyd  <froydnj@codesourcery.com>

	* lto-function-out.c (output_local_vars): Output DECL_INITIAL
	regardless of whether we are outputting the function in which
	it was defined.

2007-12-22  Nathan Froyd  <froydnj@codesourcery.com>
	    Kenneth Zadeck <zadeck@naturalbridge.com>

	* dwarf2out.c (force_decl_die): Unset the DECL_IGNORED_P flag if
	we are called from LTO.  Remove the DW_AT_declaration flag if the
	decl has an initial value.
	* lto-function-out.c (output_expr_operand): Add explicit check
	for statics or externs rathen than use DECL_CONTEXT.
	(output_local_vars): Serialize the DECL_INITIAL field of local
	statics and add it the unexpanded_vars_list as necessary.

2007-12-19  Doug Kwan  <dougkwan@google.com>

        * dwarf2out.c (base_type_de): Use DW_ATE_GNU_complex_unsigned
        and DW_ATE_GNU_complex_signed as appropriate instead of using
        DW_ATE_lo_user.

        * dwarf2.h (DW_ATE_GNU_complex_signed, DW_ATE_GNU_complex_unsigned):
        New encoding formats.

2007-12-18  Doug Kwan  <dougkwan@google.com>

        * real.c (real_to_decimal, real_to_hexadecimal): Distinguish
        QNaN & SNaN.
        (real_from_string): Handle NaNs and Inf as approriate.

2007-12-17  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_block.unexpanded_local_decls_index): New vector.
	(destroy_output_block): Added missing ifdef.
	(output_decl_index): Added this_index to return added index.
	(output_type_ref): Added parameter to output_decl_index.
	(output_local_decl_ref): Added write parameter and code to initialize 
	unexpanded_local_decls_index.
	(output_expr_operand): Added extra operands to output_decl_index and
	output_local_decl_ref.
	(output_local_var): New function split out from output_local_vars.
	(output_local_vars): Added code to string unexpanded_var_list separately.
	(output_function): Added code to output decl_context for function.

2007-12-13  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.c (mark_die_used): New function.
	(lto_init_ref): Call it.

2007-12-13  Nathan Froyd  <froydnj@codesourcery.com>

	* langhooks.h (struct lang_hooks) Add comment for
	reduce_bit_field_operations.

2007-12-12  Bill Maddox  <maddox@google.com>

	Revert
	2007-12-07  Bill Maddox  <maddox@google.com>

	* dwarf2out.c (AT_string_form): Remove code to suppress
	the use of the DWARF string table.

2007-12-07  Bill Maddox  <maddox@google.com>

	* dwarf2out.c (AT_string_form): Remove code to suppress
	the use of the DWARF string table.

2007-12-07  Nathan Froyd  <froydnj@codesourcery.com>

	* tree-flow.h (init_empty_tree_cfg_for_function): Declare.
	* tree-cfg.c (init_empty_tree_cfg_for_function): Define.
	(init_empty_tree_cfg): Call it.
	* lto_function-out.c (output_cfg): Write out the block chain.

2007-12-07  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.c (containing_decl_for_block): New function.
	(force_block_die): Call it.
	(dwarf2out_finish): Call it if we have a BLOCK for our context.

2007-12-06  Nathan Froyd  <froydnj@codesourcery.com>

	* lto-function-out.c (write_references): New function.
	(produce_asm): Call it.

2007-12-03  Nathan Froyd  <froydnj@codesourcery.com>

	* tree-into-ssa.c (rebuild_ssa_for_lto): Remove.
	(pass_rebuild_ssa_for_lto): Remove.
	* tree-optimize.c (gate_early_lto_passes): Remove.
	(pass_early_lto_passes): Remove.
	* passes.c (init_optimization_passes): Remove pass_early_lto_passes
	and its sub-passes.
	* tree-pass.h (pass_early_lto_passes, pass_rebuild_ssa_for_lto):
	Remove.
	* lto-tree-flags.def (VAR_DECL): Add volatile_flag.

2007-11-30  Nathan Froyd  <froydnj@codesourcery.com>

	* lto-tree-flags.def (RESULT_DECL): Add gimple_reg_flag.

2007-11-29  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_expr_operand): Fix STRING_CST to
	always have type.

2007-11-21  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.c (gen_subprogram_die): Inhibit generation of labels
	if we are being called for LTO's purposes.
	(gen_variable_die): Don't generate multiple DIEs for and equate
	the generated DIE with the decl for global variables.
	(force_decl_die): Don't play games with DECL_EXTERNAL if we are
	forcing a DIE for a global variable.
	(lto_typedecl_ref): Remove assert.

2007-11-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_expr_operand): Get types right 
	for COMPLEX_CST.

2007-11-16  Nathan Froyd  <froydnj@codesourcery.com>

	* c-common.c (c_build_bitfield_integer_type): Rename this...
	* stor-layout.c (make_bitfield_integer_type): ...to this.
	* c-decl.c (finish_struct): Use new name.
	* c-common.h (c_build_bitfield_integer_type): Move declaration...
	* tree.h (make_bitfield_integer_type): ...here.

2007-11-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-tree-flags.def (tcc_constant): Added static_flag.
	(tcc_vl_exp): Added asm_written_flag.
	* lto-function-out.c (output_local_vars): Output DECL_INITIAL
	for static local vars.
	(lto_types_needed_for): Added STRING_CST.
	* tree-cfg.c (dump_function_to_file): Add verbose dump for
	local vars and parms.

2007-11-15  Nathan Froyd  <froydnj@codesourcery.com>

	* tree.h (DECL_CONTEXT): Note that this applies to RESULT_DECLs too.

2007-11-15  Kenneth Zadeck <zadeck@naturalbridge.com>

	* tree-dump.c (dump_options): Removed verbose from -all option.
	* tree-pretty-print.c (dump_phi_nodes, dump_generic_bb_buff): 
	Fixed && vs & dyslexia.
	* lto-tree-flags.def (ADD_CLASS_FLAG) Renamed to ADD_CLASS_EXPR_FLAG.
	(ADD_CLASS_DECL_FLAG): New macro.
	(OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE): New cases.
	* lto-function-out (output_tree_flags, lto_debug_tree_flags):
	Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
	(output_expr_operand): Added type for SWITCH_EXPR.
	* tree-cfg.c (dump_function_to_file): Fixed && vs & dyslexia.

2007-11-14  Diego Novillo  <dnovillo@google.com>

	Merge with mainline @130155.

	* configure.ac (ACX_PKGVERSION): Update revision merge
	string.
	* configure: Regenerate.

2007-11-13  Diego Novillo  <dnovillo@google.com>

	* lto-function-out.c (output_tree_flags): Declare local
	variable CURRENT_COL.  Fix existing misspellings of its
	name.
	* dwarf2out.c (lto_typedecl_ref): Remove unused variable.
	Reformat comments.

2007-11-13  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-tree-flags.def (PARM_DECL): Serialize the addressable_flag.
	(PHI_NODE): Serialize the asm_written_flag.

2007-11-13  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_expr_operand): Get the types
	correct for vector-cst.
	* tree-cfg.c (dump_function_to_file): Print the
	function_decl in verbose mode.

2007-11-13  Diego Novillo  <dnovillo@google.com>

	* lto-tags.h: Call #error if BITS_PER_LTO_FLAGS_TYPE is
	not wide enough.

2007-11-13  Doug Kwan  <dougkwan@google.com>

	* lto-function-out.c (output_widest_uint_uleb128_stream,
	output_widest_uint_uleb128): New functions. 
	(output_tree_flags): Use lto_flags_type instead of unsigned
	HOST_WIDE_INT.  Call output_widest_unint_uleb128 instead of
	output_uleb128.
	(lto_debug_tree_flags): Replace HOST_BITS_PER_WIDE_INT with
	BITS_PER_LTO_FLAGS_TYPE as appropriate.
	* lto-tags.h (lto_flags_type): New type.
	(BITS_PER_LTO_FLAGS_TYPES): New macro.
	(lto_debug_tree_flags): Change prototype to use
	lto_flags_type.

2007-11-13  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_constructor): Modified to output
	index field if it exists.
	(output_expr_operand): Removed incorrect assert about type names.
	Added RANGE_EXPR case.
	* lto-tree-flags.def (LTO_constructor_range): Removed.
	* lto-tags.h (LTO_constructor_range): Removed.
		
2007-11-11  Kenneth Zadeck <zadeck@naturalbridge.com>

	* doc/invoke.text (-fdump-tree-*-verbose): New option.
	* tree-dump.c (dump_options): New verbose option.
	* tree-pretty-print.c (dump_phi_nodes, dump_generic_bb_buff):
	Add verbose dump.
	* lto-tree-flags.def (tcc_expression, tcc_gimple_stmt,
	tcc_statement): Add asm_written flag to support undocumented use.
	(FUNCTION_DECL): Removed all flags since these are not serialized
	by lto-function-out.
	(VAR_DECL): Reorganized flags and added missing ones.
	* tree-pass.h (TDF_VERBOSE): New dump flag.
	* lto-function-out.c (output_tree_flags): Removed ADD_FUNCT_FLAG
	macro.  Added fixes to get line numbers correct.
	(pass_ipa_lto_out): Fixed dump options and name.
	* lto-flags.h (LTO_SOURCE_*): Removed conditional code
	USE_MAPPED_LOCATION.
	(LTO_SOURCE_HAS_LOC): New macro.
	* tree-dfa-c (pass_referenced_var): Added dump option.
	* print-tree.c (print_node): Added code to be able to print
	PHI_NODES.
	(tree-flow.h): Added include.
	Makefile.in (print-tree.o):  Added TREE_FLOW_H.
		
2007-11-09  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.c (lto_var_ref): Don't remove DW_AT_declaration.

2007-11-09  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.h (dwarf2_generate_frame_info_p): Rename this...
	(dwarf2_called_from_lto_p): ...to this.
	* dwarf2out.c (dwarf2_generate_frame_info): Rename this...
	(dwarf2_called_from_lto_p): ...to this.
	(gen_subprogram_die): Use dwarf2_called_from_lto_p and invert sense.
	(add_high_low_attributes): Disable generation of the attributes if
	we are generating information for LTO.
	* lto-function-out.c (output_function): Use push_cfun and pop_cfun.
	(lto_output): Use dwarf2_called_from_lto_p and invert sense.

2007-11-09  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.c (lto_var_ref): Remove DW_AT_declaration if we are
	forcing an initialized global variable.

2007-11-08  Nathan Froyd  <froydnj@codesourcery.com>

	* c-decl.c (match_builtin_function_types): Move this...
	* tree.c (match_builtin_function_types): ...here.
	* tree.h (match_builtin_function_types): Declare it.

2007-11-08  Nathan Froyd  <froydnj@codesourcery.com>

	* gengtype.c (main): Add uint64_t as a typedef.

2007-11-07  Nathan Froyd  <froydnj@codesourcery.com>

	* doc/gty.texi (Source Files Containing Type Information): Note
	that headers should appear first in the gtfiles list.

2007-11-06  Doug Kwan  <dougkwan@google.com>

        * lto-function-out.c (output_record_start): Check for presence of
        type before calling output_type_ref.
		  
2007-11-06  Alon Dayan <alond@il.ibm.com>
	    Kenneth Zadeck <zadeck@naturalbridge.com>

     	* lto-function-out.c: (output_tree_flags): Use expanded location for exprs.
	(output_tree_flags, lto_debug_tree_flags): 
	Macro add flags of size>1.
     	* lto-tree-flags.def: Likewise.

2007-11-02  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.c (force_block_die): Implement.  

2007-11-02  Nathan Froyd  <froydnj@codesourcery.com>

	* lto-function-out.c (output_expr_operand): Change the
	single-argument RETURN_EXPR case to check whether we are writing
	out DECL_RESULT.
	
2007-11-01  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_tree_list): Removed function.
	(output_expr_operand): Added case for TREE_LIST, and
	IDENTIFER_NODE and changed ASM_EXPRs to recursively call
	output_expr_operand.
	(output_local_vars): Changed some calls from output_uleb128 to
	output_zero and changed calls to output_tree_list to
	output_expr_operand.
	(output_ssa_names): Changed some calls from output_uleb128 to
	output_zero.
	(lto_static_init): Initialized IDENTIFIER_NODE and TREE_LIST
	cases.
	* lto-tree-tags.def: Ditto.
	* lto-tags.h: Ditto.
	
	
2007-10-31  Nathan Froyd  <froydnj@codesourcery.com>

	* lto-function.c (output_expr_operand): Assert that DECL_NAME of a
	TYPE_DECL is NULL, as it should be for function-local TYPE_DECLs.
	(lto_static_init): Reset the bit for TYPE_DECLs in
	lto_flags_needed_for and lto_types_needed_for.
	(generate_early_dwarf_information): Move the setting of
	dwarf2_generate_frame_info_p to...
	(lto_output): ...here.
	* dwarf2out.c (force_decl_die): Don't handle TYPE_DECL.
	(lto_typedecl_ref): Dump a reference to the decl's type instead of
	the decl itself.

2007-10-30  Nathan Froyd  <froydnj@codesourcery.com>

	* Makefile.in (lto/lto-stream-debug.o): Add dependency on $(TREE_H).

2007-10-29  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-tree-flags.def (VAR_DECL): Added seen_in_bind_expr flag.
	* lto-function-out.c (struct output_block): Added
	type_decl_hash_table, next_type_decl_index, type_decls,
	current_col. Changed last_file to current_file. Changed last_line
	to current_line.
	(clear_line_info): New function.
	(create_output_block): Added call to clear_line_info.  Added
	initialization of type_decl_hash_table.
	(destroy_output_block): Added destruction of type_decl_hash_table.
	(output_string): Fixed type snafu.
	(output_tree_flags): Added force_loc parameter and uses of it.
	Full rewrite of processing of line numbers.
	(output_expr_operand): Added TYPE_DECL case.
	(output_local_vars): Properly handle TREE_CHAIN and DECL_CONTEXT.
	(output_named_labels, output_constructor_or_init): Added call to
	clear_line_info.
	(output_ssa_names): Added parm to not process line numbers for ssa
	names.
	(produce_asm): Added code to output type_decls.
	(output_function): Added call to clear_line_info.  Moved
	production of labels to after local_vars to get processing of
	context correct.
	* lto-tree-tags.def (LTO_type_decl): New tag.
	* lto-tags.h (lto_header): Added num_type_decls.
	(LTO_type_decl): New tag.
	(LTO_SOURCE_FILE, LTO_SOURCE_LINE, LTO_SOURCE_LOC_BITS,
	LTO_SOURCE_COL): New macros.
	* tree-dfa.c (find_referenced_vars): Added code to walk phi
	operands.
	

2007-10-29  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.h (lto_typedecl_ref): Declare.
	* dwarf2out.c (force_die_for_context): New function.
	(force_decl_die): Use it.  Handle TYPE_DECLs.
	(force_type_die): Use it.
	(force_block_die): New function.
	(lto_typedecl_ref): New function.

2007-10-22  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_tree_flags): Changed type of
	flags and enhanced stream debugging for flags.
	(output_local_vars): Added debugging for tree_chains.
	(lto_debug_tree_flags): New function.
	* lto-flags.h (lto_debug_tree_flags): New function.
	(LTO_flags_needed): New LTO_tags.
	(LTO_DEBUG_TREE_FLAGS): New macro.
	* Makefile.in (LTO_TAGS_H): Add tree.h dependency.


2007-10-19  Diego Novillo  <dnovillo@google.com>

	* gcc.c (cc1_options): Force -O2 if -flto is given.
	* collect2.c (maybe_run_lto_and_relink): Tidy formatting.
	Add -O2 when calling gcc to do an LTO link.
	(scan_prog_file): Send the error output of 'nm' to HOST_BIT_BUCKET.

2007-10-19  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.c (gen_decl_die): Check cgraph_global_info_ready to determine
	whether we can output information for abstract instances.

2007-10-18  Kenneth Zadeck <zadeck@naturalbridge.com>

	* tree-into-ssa.c (get_default_def_for, rewrite_stmt,
	maybe_register_def): Add cfun parameter to make_ssa_name.
	* tree-ssa-loop-im.c (rewrite_reciprocal, rewrite_bittest): Ditto.
	* tree-complex.c (get_component_ssa_name): Ditto.
	* tree-ssa-loop-manip.c (create_iv, tree_transform_and_unroll_loop): Ditto.
	* tree-tailcall.c (adjust_accumulator_values,
	adjust_return_value, tree_optimize_tail_calls_1): Ditto.
	* tree.h (extern void phinodes_print_statistics): Ditto.
	* tree-phinodes.c (make_phi_node): Ditto.
	* omp-low.c (expand_parallel_call, expand_omp_parallel,
	expand_omp_for_static_chunk): Ditto.
	* tree-parloops.c (take_address_of, separate_decls_in_loop,
	transform_to_exit_first_loop, create_parallel_loop): Ditto.
	* matrix-reorg.c (transform_access_sites): Ditto.
	* tree-if-conv.c (ifc_temp_var): Ditto.
	* gimplify.c (gimplify_modify_expr): Ditto.
	* tree-ssa-phiopt.c (conditional_replacement, abs_replacement,
	cond_store_replacement): Ditto.
	* tree-ssa-pre.c (create_expression_by_pieces, insert_fake_stores): Ditto.
	* tree-predcom.c (initialize_root_vars,
	* initialize_root_vars_lm, execute_load_motion,
	reassociate_to_the_same_stmt): Ditto.
	* tree-ssa-forwprop.c (phiprop_insert_phi): Ditto.
	* tree-vect-patterns.c (vect_pattern_recog_1): Ditto.
	* lambda-code.c (lambda_loopnest_to_gcc_loopnest,
	replace_uses_equiv_to_x_with_y, perfect_nestify): Ditto.
	* tree-inline.c (remap_ssa_name): Ditto.
	* tree-vect-transform.c (vect_create_data_ref_ptr,
	bump_vector_ptr, vect_init_vector,
	get_initial_def_for_induction,
	get_initial_def_for_induction,
	vect_create_epilog_for_reduction, vect_finalize_reduction,
	vectorizable_reduction, vectorizable_call,
	vect_gen_widened_results_half, vectorizable_conversion,
	vectorizable_assignment, vectorizable_operation,
	vectorizable_type_demotion, vect_permute_store_chain,
	vect_setup_realignment, vect_permute_load_chain,
	vectorizable_load, vectorizable_condition,
	vect_create_cond_for_align_checks): Ditto.
	* tree-outof-ssa.c (insert_backedge_copies): Ditto.
	* tree-cfg.c (tree_make_forwarder_block, replace_ssa_name): Ditto.
	* tree-ssanames.c (duplicate_ssa_name): Ditto.
	(make_ssa_name): Use struct function parameter rather than cfun.
	* lto-function-out.c (output_local_vars): Add chaining for parm_decls.

2007-10-17  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.c (gen_subprogram_die): Don't remove attributes and
	formal parameters if we are generating LTO objects, as the formal
	parameters likely have references to them from elsewhere.
	Instead, return early if we find a DIE for this decl.

2007-10-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_integer): Added casting.
	(output_tree_list): Remove the tag parameter and the record.
	(output_expr_operand): Make the asm operands use output_tree_list.
	(output_local_vars): Remove LTO_attribute_list.
        * lto-tree-tags.def (LTO_attribute_list): Removed.
	* lto-tags.h (LTO_attribute_list): Removed.

2007-10-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (struct string_slot): Added len.
	(eq_string_slot_node): Fixed to honor real length of strings with nulls.  
	(output_string): Set len and fix debugging.
	(output_expr_operand): Output CASE_HIGH and CASE_LOW properly.

2007-10-05  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.h (dwarf_attr_name): Declare.
	* dwarf2out.c (dwarf_attr_name): Remove declaration and change
	definition accordingly.

2007-10-05  Diego Novillo  <dnovillo@google.com>

	* lto-function-out.c (output_constructor): Handle constructor elts
	with NULL indices.
	(output_expr_operand): Check whether the variable is in the
	global scope.
	(lto_output): Only handle statics that are in the global
	scope.
	* tree-nested.c (get_trampoline_type): Set DECL_CONTEXT for
	the new field.

	Backport

	2007-07-26  Doug Kwan  <dougkwan@google.com>

	* dwarf2out.c: (may_reference_to_unsued) : Renamed from
	reference_to_unsued as it is now more conservative than
	before. Replace unreachable assert into a return that tells
	caller that tree may reference an unused DECL.
	(rtl_for_decl_init): Rename callee to may_reference_to_usused.

2007-10-04  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-tree-flags.def (FIXED_CONVERT_EXPR, FIXED_CST, FIXED_POINT_TYPE,
	OMP_SECTIONS_SWITCH): Added new tree codes.
	* lto-function-out.c (lto_static_init): Added types for FIXED_CONVERT_EXPR,
	FIXED_CST.
	* lto-tree-tags.def (FIXED_CONVERT_EXPR, FIXED_CST): Added mappings.
	* lto-tags.h (LTO_fixed_convert_expr, LTO_fixed_cst): New codes.

2007-10-02  Kenneth Zadeck <zadeck@naturalbridge.com>

	* omp-low.c (expand_omp_parallel): Added struct function param
	to init_tree_ssa.
	* passes.c (dump_properties): Removed reference to PROP_pta.

2007-09-26  Nathan Froyd  <froydnj@codesourcery.com>

	* dwarf2out.h (dwarf2_generate_frame_info_p): Declare.
	* dwarf2out.c (dwarf2_generate_frame_info_p): Define it.
	(gen_subprogram_die): Consult it to determine whether to generate
	frame information.
	(lto_type_ref): Remove sorry call.
	* lto-function-out.c (generate_early_dwarf_information): New function.
	(output_function): Call it.  Set current_function_decl and cfun to
	facilitate DWARF generation.

2007-09-11  Bill Maddox  <maddox@google.com>

	Add `gcc' driver support for link-time code generation (LTO).

	* collect2.c (enum pass): Add new literal PASS_LTOINFO.
	(lto_flag, lto_objects, lto_o_file): New variables.
	(struct lto_object, struct lto_object_list): New structures.
	(collect_exit, handler): Remove LTO temporary output file on exit.
	(add_lto_object): New function.
	(maybe_run_lto_and_relink): New function. Perform link time code
	generation and relinking for object files containing LTO information.
	(main): Invoke maybe_run_lto_and_relink().
	(dump_argv): New function.  For debugging, currently disabled.
	(scan_prog_file): Add LTO information pass.
	* gcc.c (LINK_COMMAND_SPEC): Pass `-flto' switch to linker, i.e.,
	collect2.
	* toplev.c (compile_file): Emit assembler directive to create
	the `gnu_lto_v1' marker symbol when compiling with `-flto'.

2007-09-11  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (lto_static_init): Added type for STRING_CST.

2007-09-11  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_constructor): Allow anything in the tree.
	* lto-tree-tags.def (POINTER_PLUS_EXPR): New tree type.

2007-09-05  Jan Hubicka  <jh@suse.cz>

	* cgraphbuild.c (build_cgraph_edges): Export.
	* cgraph.h (build_cgraph_edges): Declare.
	* cgraphunit.c (cgraph_finalize_function): Rebuild cgraph edges.

2007-08-29  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (LTO_SET_DEBUGGING_STREAM): Now swallows
	semicolons.
	(LTO_CLEAR_DEBUGGING_STREAM): New macro.
	(create_output_block, destroy_output_block,
	output_constructor_or_init): New functions.
	(produce_asm, lto_output): Modified to produce both functions and
	constructors.
	(output_function): Much of the function that could be used to also
	handle constructors has been moved to create_output_block and
	destroy_output_block.
	* lto-tags.h (lto_function_header): Renamed to lto_header.
		
2007-08-28  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out (output_expr_operand): Reorder the fields
	in the stream for CALL_EXPRs.
	(lto_static_init): Do not put out types for FUNCTION_DECLs.

2007-08-28  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_block): Added
	local_decl_index_stream, debug_decl_index_stream,
	local_decls_index and local_decls_index_d.
	(output_local_vars): Add code to write a seperate stream
	containing the index of each local var.
	(output_local_vars_index): New function.
	(produce_asm, output_function): Write new streams.
	(lto_static_init): Do not write flags or types for FIELD_DECLS.
	* lto-tags.h (lto_debug_context): Added decl_index_data.
	
2007-08-15  Jim Blandy  <jimb@codesourcery.com>

	* dwarf2out.c (lto_field_ref, force_field_die): New functions.
	* dwarf2out.h (lto_field_ref): New declaration.

2007-08-05  Mark Mitchell  <mark@codesourcery.com>

	* tree.h (FILE_SCOPE_P): New macro.
	(DECL_FILE_SCOPE_P): Use it.
	* dwarf2out.c (lto_type_ref): Use FILE_SCOPE_P to test whether
	an entity is at file scope.

2007-08-02  Kenneth Zadeck <zadeck@naturalbridge.com>
        * lto-tags.h (LTO_DEBUG_INDENT, LTO_DEBUG_INDENT_TOKEN,
	LTO_DEBUG_INTEGER, LTO_DEBUG_STRING, LTO_DEBUG_TOKEN,
	LTO_DEBUG_UNDENT, LTO_DEBUG_WIDE): Change "useless_function ()" to
	"(void)0"
	(useless_function): Removed.

	
2007-08-01  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (output_1_stream, output_zero,
	output_sleb128_stream, output_string, output_real, output_integer,
	output_tree_flags, output_type_ref, output_record_start,
	output_tree_list, output_eh_cleanup, output_eh_try,
	output_eh_catch, output_eh_allowed, output_eh_must_not_throw,
	output_eh_regions, output_constructor, output_expr_operand,
	output_local_vars, output_cfg, output_phi, output_bb,
	output_function): Added semicolons.
	* lto-tags.h (LTO_DEBUG_INDENT, LTO_DEBUG_INDENT_TOKEN,
	LTO_DEBUG_INTEGER, LTO_DEBUG_STRING, LTO_DEBUG_TOKEN, 
	LTO_DEBUG_UNDENT, LTO_DEBUG_WIDE): Changed to support semicolon
	after macro call.
	(useless_function): New function.
	

2007-07-31  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-function-out.c (produce_asm): Remove old debugging code.
	(output_function): Serialize DECL_ARGUMENTS.

2007-07-31  Kenneth Zadeck <zadeck@naturalbridge.com>

	* tree-into-ssa.c (rebuild_ssa_for_lto): New function.
	(pass_rebuild_ssa_for_lto): New pass.
	* cgraph_build.c (tree_opt_pass pass_rebuild_cgraph): Added some dumping.
	* lto-tree-flags.def (tcc_declaration): Added used_flag to serialized list.
	(SSA_NAME): Added nothrow_flag and volatile_flag to serialized list.
	* tree-pass.h (pass_early_lto_passes, pass_rebuild_ssa_for_lto): New passes.
	* lto-function-out.c (output_tree_flags): Added code to properly
	control writing of flags. Also added new parameter to pass in the
	tree code.
	(output_record_start, output_local_vars): Added param to
	output_tree_flags.
	(output_tree_list, output_eh_cleanup, output_eh_try,
	output_eh_catch, output_eh_allowed, output_eh_must_not_throw,
	output_eh_regions): Added missing debugging undent.
	(output_expr_operand): Added assert that there was no rtl and code
	to properly handle COND_EXPR.  Fixed the outputing of types and
	flags for many tree codes.
	(output_phi): Fixed the outputing of types and flags.  Generalized
	to handle parameters to phi that are not SSA_NAMES.
	(output_bb, LTO_SET_DEBUGGING_STREAM): Added assert to check for
	proper debug stream usage.
	(lto_static_init): Changed the outputting of flags and types for
	various tree codes.
	(pass_ipa_lto_out): Added dumping.
	* ipa-inline.c (pass_inline_parameters): Added dumping.
	* lto-tree-tags.def (COND_EXPR): Changed processing options.
	* lto-tags.h: Changed define into enum.
	* ipa.c (gate_ipa_fun_and_var_visibility): Always execute this
	pass.
	* tree.def (COND_EXEC): Properly documented this code.
	* tree-dfa.c (find_referenced_vars): Added code to walk phi
	functions.
	(pass_referenced_vars): Added name and dump flag.
	(find_vars_r): Now handles SSA_NAMES.
	* tree-optimize.c (gate_early_lto_passes): New function.
	(pass_early_lto_passes): New pass.
	* passes.c (pass_early_lto_passes): New pass.
	(dump_properties, debug_properties): New debugging function.
	* tree-ssanames.c (pass_release_ssa_names): Added dumping.
	
	
2007-07-19  Jan Hubicka  <jh@suse.cz>

	* cgraphunit.c (cgraph_finalize_function): Set properties of lowered
	body.

2007-07-13  Kenneth Zadeck <zadeck@naturalbridge.com>

	* flags.h (in_lto_p): New flag.
	* lto-tree_flags.def (CHANGE_DYNAMIC_TYPE_EXPR, POINTER_PLUS_EXPR): 
	New tree codes from merge.
	* tree.h (init_ssanames): Added cfun parameter.
	* lto-function-out.c: (ssa_names_stream, cfg_stream): New streams.
	(output_eh_regions): Renamed parameter cfun to fn.
	(output_expr_operand): Implemented SSA_NAME and GIMPLE_MODIFY_STMT
	cases.
	(output_local_vars): Set the local_vars stream locally.
	(output_ssa_names, output_cfg, output_phi): New function.
	(output_bb): Changed the cfun parameter to fn.  Do not put out cfg
	locally.  Output the phi_functions.
	(produce_asm): Add code to support ssa_names and cfg streams.
	(lto_static_init): Added GIMPLE_MODIFY_STMT.
	(LTO_SET_DEBUGGING_STREAM): New macro.
	(output_function): Add code to support ssa_names and cfg streams.
	* toplev.c (in_lto_p): Initialize.
	* ipa-inline.c (cgraph_gate_ipa_early_inlining): Added test for
	in_lto_p.
	* lto-tree-tags.def (GIMPLE_MODIFY_STMT, PHI_NODE): New tags.
	(LTO_change_dynamic_type_expr, LTO_gimple_modify_stmt,
	LTO_phi_node, LTO_pointer_plus_expr): New names.
	lto-tags.h (ssa_names_size, cfg_size, debug_ssa_names_size,
	debug_cfg_size): New fields in lto_function_header.
	(LTO_change_dynamic_type_expr, LTO_gimple_modify_stmt,
	LTO_phi_node, LTO_pointer_plus_expr): New fields and renumbered
	the rest.
	(ssa_names_data, cfg_data): New fields of lto_debug_context.
	* ipa.c (flags.h): New include.
	(gate_ipa_fun_and_var_visibility): New function for
	pass_ipa_function_and_variable_visibility.
	* tree-ssa.c (init_tree_ssa): Add fn parameter and replaced refs
	to cfun.
	* tree-inline.c (initialize_cfun): Ditto.
	* tree-optimize.c (gate_all_early_local_passes): Added ref to
	in_ltp_p.
	(execute_init_datastructures): Added cfun parameter to
	init_tree_ssa.
	* tree-flow.h (init_tree_ssa): Added struct function parameter.
	* Makefile.in (ipa.o): Added FLAGS_H dependency.
	* tree-ssanames.c (init_ssanames): Added two parameters.  Now
	takes struct function and default size.

	
2007-06-26  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-tree-flags.def (tcc_gimple_stmt): New TREE_CLASS.
	(GIMPLE_MODIFY_STMT, MEMORY_PARTITION_TAG, VEC_WIDEN_MULT_HI_EXPR,
	VEC_WIDEN_MULT_LO_EXPR, VEC_UNPACK_HI_EXPR,
	VEC_UNPACK_LO_EXPR, VEC_UNPACK_FLOAT_HI_EXPR,
	VEC_UNPACK_FLOAT_LO_EXPR, VEC_PACK_TRUNC_EXPR,
	VEC_PACK_SAT_EXPR, VEC_PACK_FIX_TRUNC_EXPR,
	VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR,
	VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): New
	TREE_EXPRs.


2007-06-23  Mark Mitchell  <mark@codesourcery.com>
	
	* configure.ac: Use AC_CHECK_HEADERS to find libelf.h.
	* config.in: Regenerated.
	* configure: Likewise.

	* lto-tags.h (LTO_last_tag): Update.

2007-06-21  Kenneth Zadeck <zadeck@naturalbridge.com>

	* lto-tree-flags.def (FIX_CEIL_EXPR, FIX_FLOOR_EXPR,
	FIX_ROUND_EXPR, section_name, call_clobbered_flag): Removed dead
	cases.
	* lto-function-out.c (ADD_CLASS_FLAG, ADD_EXPR_FLAG): Changed
	expr->common to expr->base.
	* cfg.c (init_flow): Fixed ggc macro rot.
	* lto-tree-tags.def (FIX_CEIL_EXPR, FIX_FLOOR_EXPR,
	FIX_ROUND_EXPR): Removed dead tree types.
	

Local Variables:
change-log-default-name: "ChangeLog.lto"
End: