aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog.graphite
blob: 9ef26f53b29c41e53086b0d68a35467ce21eb414 (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
2008-07-24  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>

	* common.opt: New user flag -floop-block, -floop-strip-mine 
	and -floop-interchange.
	* toplev.c (process_options): Enable -fgraphite pass if any one of the 
	graphite loop optimization flags is turned on.
	* graphite.c (graphite_apply_transformations): Add flag_loop_block, 
	flag_loop_strip_mine and flag_loop_interchange checks before 
	optimizations.
	* doc/invoke.texi: Remove -fgraphite and add -floop-block, 
	-floop-strip-mine and -floop-interchange.
	* testsuite/gcc.dg/graphite/block-0.c: Add -floop-block and remove
	-fgraphite.
	* testsuite/gcc.dg/graphite/scop-16.c: Ditto.
	* testsuite/gcc.dg/graphite/scop-17.c: Ditto.
	* testsuite/gcc.dg/graphite/scop-18.c: Ditto.

2008-07-23  Jan Sjodin  <jan.sjodin@amd.com>
	    Sebastian Pop  <sebastian.pop@amd.com>

	* cfgloopmanip.c (update_dominators_in_loop): Make it static.
	(create_empty_loop_on_edge): More fixes.
	* tree-phinodes.c (resize_phi_node): Extern.
	(unlink_phi_node, move_phi_node): New split from remove_phi_node.
	* cfghooks.c (update_dominator_information): New split from split_edge.
	* tree-vectorizer.c (rename_variables_in_bb): Extern.
	* tree-dfa.c (collect_dfa_stats): Start walking the CFG on the
	successor of the function entry block.

	* graphite.c: Include pointer-set.h.
	(debug_loop_mapping, increment_loop_mapped_depths,
	get_loop_mapped_depth_for_num, get_loop_mapped_depth,
	set_loop_mapped_depth_for_num, set_loop_mapped_depth,
	swap_loop_mapped_depth_for_num, get_num_from_index,
	swap_loop_mapped_depth, loop_iv_stack_debug,
	loop_iv_stack_push, loop_iv_stack_pop, loop_iv_stack_get_iv,
	loop_iv_stack_get_iv_from_name, loop_iv_stack_debug,
	get_old_iv_from_ssa_name): New.
	(new_scop): Initialize SCOP_LOOPS_MAPPING.
	(free_scop): Free SCOP_LOOPS_MAPPING.
	(scop_record_loop): Record old ivs.
	(create_var_name): Removed.
	(initialize_cloog_names): Allocate double space in case strip mine 
	applies to all loops once.
	(clast_name_to_gcc): Look up in the map ivstack passed in parameter.
	(clast_to_gcc_expression): Same.  Implement more clast to gimple
	translation.
	(graphite_create_new_loop): Pass in ivstack.
	(remove_all_edges): Pass in the construction_edge.
	(graphite_remove_iv): Removed.
	(graphite_rename_ivs, graphite_rename_ivs_stmt,
	remove_cond_exprs): Rewritten.
	(move_phi_nodes): New.
	(disconnect_virtual_phi_nodes, disconnect_cond_expr): Removed.
	(translate_clast): Pass in ivstack.  Rewrite some cases.
	(set_cloog_options, debug_clast_stmt): New.
	(find_transform): Use set_cloog_options.
	(outermost_loop_layer): Removed.
	(get_construction_edge, collect_virtual_phis, find_vdef_for_var_in_bb,
	find_vdef_for_var_1, find_vdef_for_var, patch_phis_for_virtual_defs,
	mark_old_loops, remove_dead_loops): New.
	(gloog): Rewritten.
	(graphite_trans_bb_move_loop): Call swap_loop_mapped_depth.
	(const_column_index, get_first_matching_sign_row_index,
	get_lower_bound_row, get_upper_bound_row, get_lower_bound,
	get_upper_bound): New.
	(graphite_trans_bb_strip_mine): Also update the iv map.

	* graphite.h (graphite_loops_mapping, GBB_LOOPS_MAPPING): New.
	(struct name_tree): Add a loop field.
	(struct scop): Add a graphite_loops_mapping field.
	(SCOP_LOOPS_MAPPING): New.
	(debug_clast_stmt): Declare.
	* lambda.h (find_induction_var_from_exit_cond): Declare.
	(lambda-code.c): (find_induction_var_from_exit_cond): Extern.
	* cfgloop.h (update_dominators_in_loop): Removed declaration.
	(create_empty_loop_on_edge): Updated.
	* tree-flow.h (remove_bb, resize_phi_node, move_phi_node,
	rename_variables_in_bb): Declare.
	* tree-cfg.c (remove_bb): Extern.
	
	* testsuite/gcc.dg/graphite/block-0.c: New.

2008-07-21  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
	    Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (strip_mine_profitable_p): New.
	(graphite_trans_bb_block): Disable strip mining if not profitable.

	* testsuite/gcc.dg/graphite/scop-18.c: New.
	* testsuite/gcc.dg/graphite/scop-17.c: Fixed.
	* testsuite/gcc.dg/graphite/scop-16.c: Fixed.

2008-07-17  Harsha Jagasia  <harsha.jagasia@amd.com>
	    Jan Sjodin  <jan.sjodin@amd.com>
	    Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (is_interchange_valid): New.
	(graphite_trans_bb_block): Check loop nest of basic block for legality
	of interchange.

	* graphite.h (gbb_inner_most_loop_index, outer_most_loop_1,
	outer_most_loop, gbb_outer_most_loop_index): New.

	* tree-loop-linear.c (perfect_loop_nest_depth): Remove static.
	* tree-flow.h (perfect_loop_nest_depth): Declare as extern.
	* testsuite/gcc.dg/graphite/scop-16.c: New.
	* testsuite/gcc.dg/graphite/scop-17.c: New.

2008-07-11  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (scop_remove_ignoreable_gbbs): Also update bitmap.
	(graphite_trans_scop_block): Ignore SCoPs without bbs.

2008-07-11  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (new_scop): Initialize SCOP_EXIT.
	(scopdet_info): Add.
	(scopdet_bb_info): Rename from is_bb_addable. Cleanup, bugfixes.
	(build_scops_1): Cleanup, bugfixes.
	(build_scops): Cleanup.
	
	* testsuite/gcc.dg/graphite/scop-matmult.c: Remove duplicated code.
	* testsuite/gcc.dg/graphite/scop-15.c: Add SCoP numbers.

2008-07-10  Harsha Jagasia  <harsha.jagasia@amd.com>

	* testsuite/gfortran.dg/graphite/scop-1.f: Update to reduced test case.

	* testsuite/gfortran.dg/graphite/graphite.exp: Use DEFAULT_GRAPHITE_FLAGS.

	* testsuite/gcc.dg/graphite/scop-15.c: Update to reduced test case.

2008-07-10  Harsha Jagasia  <harsha.jagasia@amd.com>

	* graphite.c (scan_tree_for_params): Do not assert any more if MULT_EXPR 
	parameter is negative.

	* testsuite/gfortran.dg/graphite/scop-1.f: New.

	* testsuite/gfortran.dg/graphite/graphite.exp: New.

	* testsuite/gcc.dg/graphite/scop-15.c: New.

2008-07-10  Harsha Jagasia  <harsha.jagasia@amd.com>

	* graphite.c (is_bb_addable): Fix segfault in spec gzip and reformat.

2008-07-10  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (graphite_trans_bb_swap_loops): Rename from
	graphite_swap_loops.
	(graphite_trans_bb_move_loop): New.
	(graphite_trans_bb_strip_mine): Rename from graphite_strip_mine_loop.
	(graphite_trans_bb_block): New.
	(graphite_trans_loop_block): New.
	(graphite_trans_scop_swap_1and2): Rename from graphite_trans_swap_1and2.
	(graphite_trans_scop_strip): Rename from graphite_trans_strip.
	(graphite_trans_scop_block): New.
	(graphite_apply_transformations): Rename from graphite_transformations.

	* testsuite/gcc.dg/graphite/scop-matmult.c: New.
	
2008-07-10  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (gbb_compare): New.
	(graphite_sort_gbbs): New.
	(gbb_can_be_ignored): New.
	(scop_remove_ignoreable_gbbs): New.
	(graphite_transformations): Cleanup and add scop_remove_ignoreable_gbbs.
	* lambda.h (lambda_vector_compare): New.

2008-07-09  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (print_graphite_bb): Correct printing of static schedule.
	(graphite_swap_loops): int -> unsigned
	(graphite_strip_mine_loop): int -> unsigned, Fix SCHEDULE
	(graphite_transformations): New.
	(graphite_transform_loops): Move to graphite_transformations.
	* graphite.h (gbb_nb_loops): Return unsigned.

2008-07-04  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (scan_tree_for_params): Fix insertion of parameters into
	the domain matrix.  This makes scop-0.c work again.

2008-06-20  Richard Guenther  <rguenther@suse.de>

	* graphite.h: Adjust copyright to GPLv3.
	* graphite.c: Likewise.
	(stmt_simple_memref_for_scop_p): Split out from ...
	(stmt_simple_for_scop_p): ... here.  Fix handling of calls
	and simplify.
	(get_bb_type): Optimize.
	(is_pred): Remove.
	(is_bb_addable): Fix memleak, replace is_pred call with
	single_pred.
	(build_scops): Use current_loops.
	(param_index): Fix memleak.

2008-06-20  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

	* graphite.c: Fix formatting.

2008-06-19  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

        * graphite.c (new_scop): Memory allocation for SCOP_{NEWIVS, OLDIVS}.
          (free_scop): Memory deallocation for SCOP_NEWIVS, SCOP_OLDIVS.
          (create_var_name, save_var_name): Newly defined functions.
          (initialize_cloog_names): Part of the code factored out to
          save_var_name.
          (clast_to_gcc_expression): Now handles the case of clast_red_sum
          in clast_reduction statement.
          (graphite_create_new_loop): Now takes a new parameter 
          for outer_loop.
          (translate_clast): Now also takes the context_loop and bb_exit 
          parameters. Rewritten the code so that it creates a gimple code 
          inside the given context.
          (outermost_loop_layer, graphite_remove_iv, graphite_rename_ivs, 
          remove_cond_expr, disconnect_cond_expr, 
          disconnect_virtual_phi_nodes): Newly defined functions.
        * graphite.h (struct scop): added old_ivs vector.
          SCOP_OLDIVS: New macro.

2008-06-19  Sebastian Pop  <sebastian.pop@amd.com>

	* cfgloopmanip.c: Add missing function comments, fix formatting.
	
2008-06-18  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

	* cfgloopmanip.c (update_dominators_in_loop): Defined.
           (create_empty_loop_on_edge): Defined.
        * tree-parloops.c (canonicalize_loop_ivs): Returns tree instead of void.
        * cfgloop.h (create_empty_loop_on_edge): Declared as extern.
          (update_dominators_in_loop): Declared as extern
        * tree-flow.h (canonicalize_loop_ivs): Declared as extern.

2008-06-16  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (print_graphite_bb): Allow changing number of loops
	in SCoP domain.
	(initialize_cloog_names): Allow changing number of loops.
	(build_cloog_prog): Simplify.
	(find_transform): Enable cloog option --strides.
	(graphite_swap_loops): New.
	(graphite_strip_mine_loop): New.
	(graphite_trans_swap_1and2): New.
	(graphite_trans_strip): New.
	(graphite_transform_loops): Add graphite_trans_strip.
	* graphite.h (scop_max_loop_depth): New.

2008-06-15  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (build_scop_iteration_domain): Remove forgotten
	line. (Fixes compile)

2008-06-15  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (print_graphite_bb): Add output of GBB_LOOPS.
	(build_graphite_bb): Add GBB_LOOPS and GBB_DOMAIN and reorder.
	(build_bb_loops): New.
	(graphite_transform_loops): Add build_bb_loops.
	(schedule_to_scattering): Use gbb_nb_loops to support changing loop
	numbers.
	* graphite.h (graphite_bb): Add loops.
	(gbb_nb_loops): New.
	(gbb_loop_at_index): New.
	(gbb_loop_index): New.
	(nb_params_in_scop): Renamed to scop_nb_params. Updated all functions
	using nb_params_in_scop.

2008-06-14  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (print_graphite_bb): Adapt to minimized schedule.
	(build_scop_canonical_schedules): Build minimized schedule.
	(schedule_to_scattering): Adapt to minimized schedule.
	* graphite.h (graphite_bb): Add/Update descriptions.

2008-06-14  Adrien Eliche  <aeliche@isty.uvsq.fr>
	    Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (print_graphite_bb): Add condition printing.
	(dump_value): New.
	(dump_gbb_conditions): New.
	(build_scop_conditions_1): New.
	(build_scop_conditions): New.
	* graphite.h (graphite_bb): Add conditions.

2008-06-14  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (print_graphite_bb):
	(free_graphite_bb): New.
	(free_scop): Free bbs.
	(get_bb_type): Free doms.
	(build_scop_context): Free context matrix.
	(build_loop_iteration_domains): Remove unused code.
	(build_cloog_prog): Free scattering function and blocklist.
	(find_transform): Free options.

2008-06-13  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (loop_body_to_cloog_stmts): Rename to add_bb_domains.
	Remove unnecessery cloog data structures. Make a copy of the domain
	(setup_cloog_loop): Rename to build_loop_iteration_domains. Remove
	unnecessary cloog data structures. Fix memory leaks. Remove insert
	into SCOP_LOOP2CLOOG_LOOP as the inserted CloogLoops will never be
	used.
	(build_scop_iteration_domain): Remove unnecessary cloog data structures.
	Fix memory leaks.
	(graphite_transform_loops): Disable build_scop_dynamic_schedules as it
	uses SCOP_LOOP2CLOOG_LOOP, that is at the moment not working.

2008-06-12  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (find_scop_params): Remove initialize_cloog_names.

2008-06-12  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (end_scop): Style fix.
	(schedule_to_scattering): Style and comment fix.

2008-06-12  Tobias Grosser  <grosser@fim.uni-passau.de>
	* graphite.c (print_graphite_bb): Fix definiton of
	schedule_to_scattering.
	(initialize_cloog_names): Change nb_scattdims to max loop
	depth in SCoP.
	(schedule_to_scattering): Take parameter for number of scattering
	dimensions.
	(build_cloog_prog): Only build as much scattering dimensions as
	necessary.

2008-06-12  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (end_scop): Disable bb splitting. Fixes SIGSEGV
	in polyhedron/aermod.f90.

2008-06-11  Tobias Grosser  <grosser@fim.uni-passau.de>
            Dwarak Rajagopal  <dwarak.rajagopal@amd.com>
            Harsha Jagasia  <harsha.jagasia@amd.com>

	* graphite.c (is_bb_addable): Fix segfault.

2008-06-10  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (is_bb_addable): Fix memory leak, handling of loops
	with multiple exits and conditional handling in edge cases.
	(is_loop_exit): Fix memory leak. (Forgotten in last commit)

	* testsuite/gcc.dg/graphite/scop-14.c: New.

2008-06-06  Tobias Grosser  <grosser@fim.uni-passau.de>
	    Adrien Eliche  <aeliche@isty.uvsq.fr>

	* graphite.c (is_bb_addable): Add more comments and enhance
	readablity of the source code. Fix memory leak.
	(is_loop_exit): Fix memory leak.

2008-06-05  Tobias Grosser  <grosser@fim.uni-passau.de>
    
	* graphite.c (first_loop_in_scop): Deleted.
	(setup_cloog_loop): Only walk the loop chain for inner loops.
	(build_scop_iteration_domain): Execute setup_cloog_loop for
	all loops in the first layer.

2008-06-05  Tobias Grosser  <grosser@fim.uni-passau.de>
    
	* graphite.c (scan_tree_for_params): Change the way params are
	added to be indepenent of the number of loops.
	(setup_cloog_loop): Revert to short matrix format. Fix parameter
	handling.
	(build_cloog_prog): Revert to short matrix format.

2008-06-05  Sebastian Pop  <sebastian.pop@amd.com>
	    Dwarak Rajagopal <dwarak.rajagopal@amd.com>

	* tree-loop-fusion.c (fuse_loops): Fix uninitialized variable warning.

2008-06-05  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (nb_data_refs_in_scop): New.
	(graphite_transform_loops): Print more stats: number of
	loops, basic blocks and data references per scop.

2008-06-04  Sebastian Pop  <sebastian.pop@amd.com>
	    Jan Sjodin  <jan.sjodin@amd.com>

	* graphite.c (loop_affine_expr, idx_record_params,
	find_scop_parameters, setup_cloog_loop): Use instantiate_scev 
	instead of instantiate_parameters.

2008-06-04  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (schedule_to_scattering): Fix scattering dimensions,
	add support for parameters, add STATIC_SCHEDULE at the right places,
	cleanup.

2008-06-04  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (build_scop_loop_nests): Only add the loops, that
	are contained completely in the SCoP.
	(build_cloog_prog): Disable scattering, until schedule_to_scattering
	and the domains are fixed.
	(build_scop_canonical_schedules): Add support for bbs not contained
	in any SCoP.

2008-06-04  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.h (scop_contains_loop): Update comments to match
	the actual behavior.
	(scop_contains_loop): New.
	* graphite.c (schedule_to_scattering): Use scop_contains_loop.

2008-06-04  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (get_bb_type): On function body, i.e. loop_0, 
	don't mark blocks as GBB_LOOP_SING_EXIT_HEADER, mark them
	as GBB_COND_HEADER.

2008-06-04  Sebastian Pop  <sebastian.pop@amd.com>
	    Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (graphite_transform_loops): Early return when 
	there are no loops in the function.

2008-05-31  Sebastian Pop  <sebastian.pop@amd.com>
	    Jan Sjodin  <jan.sjodin@amd.com>

	* graphite.c (scan_tree_for_params, setup_cloog_loop): Compute the offset 
	of the last loop.
	(setup_cloog_loop): Copy the entire outer constraint matrix.

2008-05-31  Sebastian Pop  <sebastian.pop@amd.com>
	    Jan Sjodin  <jan.sjodin@amd.com>

	* graphite.c (stmt_in_scop_p, function_parameter_p,
	invariant_in_scop_p): Removed.
	(scan_tree_for_params): Can be used with no constraint 
	matrix for gathering parameters.
	(idx_record_params): Don't use idx_record_param, instead use 
	scan_tree_for_params.
	(find_scop_parameters): Same.
	(setup_cloog_loop, build_scop_iteration_domain, build_cloog_prog): 
	Fix the size of loop domains.
	(schedule_to_scattering): Exit when the outer loop is not in scop.
	(find_transform): Enable build_cloog_prog.

2008-05-31  Sebastian Pop  <sebastian.pop@amd.com>
	    Jan Sjodin  <jan.sjodin@amd.com>

	* graphite.c (schedule_to_scattering): Make scattering domains
	uniformly of the same size, as required by CLooG 0.14.0 and before.

2008-05-31  Sebastian Pop  <sebastian.pop@amd.com>
	    Jan Sjodin  <jan.sjodin@amd.com>

	* graphite.c (schedule_to_scattering): Rewrite, correct the
	translation of the scheduling function to scattering.
	(build_cloog_prog): Call schedule_to_scattering only once.
	* graphite.h (scop_loop_index): Do not fail for loops not
	in the scop: return -1.

2008-05-30 Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (build_graphite_bb): Initialize GBB_DOMAIN.
	(loop_body_to_cloog_stmts): Export GBB_DOMAIN.
	(setup_cloog_loop): Export GBB_DOMAIN.
	(build_cloog_prog): New.  Create new CLOOG_PROG, which should be
	able to rebuild the original control flow.
	* graphite.h (graphite_bb): Add domain field and access macro.
	(GBB_DOMAIN): New.

2008-05-30  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (debug_gbb): New.
	(print_scop, build_graphite_bb): Use SCOP_BBS.
	(build_scop_bbs): Reimplemented.
	(dfs_bb_in_scop_p): Removed.
	(build_scop_loop_nests): Reorder loops inserted in 
	SCOP_LOOP_NEST: outer loops should come first.
	(build_scop_canonical_schedules): Reinitialize at zero
	the components of the SCOP_STATIC_SCHEDULE for the loops
	that have already been parsed.

	* graphite.h (debug_gbb): Declared.

2008-05-30  Sebastian Pop  <sebastian.pop@amd.com>
	    Jan Sjodin  <jan.sjodin@amd.com>

	* graphite.c (create_empty_loop): Renamed graphite_create_new_loop.
	(graphite_loop_to_gcc_loop): Removed.
	(remove_all_edges): New.
	(graphite_stmt_to_gcc_stmt): Renamed translate_clast.
	(gloog): Remove useless code.

2008-05-29  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (get_bb_type): Reworked. We distinguish between
	loops with one or multiple exits.
	(is_loop_exit): New.
	(is_pred): New.
	(is_bb_addable): Rework condition handling, now support for case
	case statements and loops with multiple exits.

        * testsuite/gcc.dg/graphite/scop-11.c: New.
        * testsuite/gcc.dg/graphite/scop-12.c: New.
        * testsuite/gcc.dg/graphite/scop-13.c: New.

2008-05-29  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (dot_all_scops_1): Fix some colors. Reuse colors, if
	we have too many colors.

2008-05-22  Sandeep Maram <smaram_b04@iiita.ac.in>

	* doc/invoke.texi (-ftree-loop-fusion): Document.
	* tree-pass.h (pass_loop_fusion): Declared.
	* tree-loop-fusion.c: New.
	* timevar.def (TV_TREE_LOOP_FUSION): Declared.
	* tree-data-ref.c (find_data_references_in_loop): Make extern.
	* tree-data-ref.h (find_data_references_in_loop): Declared.
	* common.opt (ftree-loop-fusion): Declared.
	* Makefile.in (tree-loop-fusion.o): Added rule and to OBJS-common.

2008-05-21  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (build_access_matrix): Fix typo from the merge.

2008-05-20  Sebastian Pop  <sebastian.pop@amd.com>

	* Merge from mainline (130800:135673).

2008-05-07  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (end_scop): The exit of the scop is not part of the scop.
	Update dominators after splitting.

2008-05-07  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (is_bb_addable): Return the harmful statement.
	Factor up some code.
	(end_scop): New.  Splits end of scope bbs on a harmful statement.
	(build_scops_1): Call end_scop.

2008-05-07  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c: (succs_at_same_depth, end_scop, all_preds_visited_p,
	all_succs_visited_p, start_new_scop_for_each_succ, start_new_scop,
	add_dominators_to_open_scops, stop_last_open_scop, scop_end_loop,
	build_scops_1): Removed.
	(build_scops_2): Renamed build_scops_1.

2008-05-06  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c: Fix formatting.

2008-05-06  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (get_bb_type): New.
	(move_scops): New.
	(build_scops_2): New.
	(is_bb_addable): New.
	(build_scops): Switch the scop detection.
	(build_scop_bbs): Add entry bb to scop.
	* graphite.h (struct scop): Update comment.

2008-05-06  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (dot_all_scops_1): Fix some incorrect colors and add
	more colors.

2008-05-06  Tobias Grosser  <grosser@fim.uni-passau.de>
	
	* testsuite/gcc.dg/graphite/scop-1.c: Update.
	* testsuite/gcc.dg/graphite/scop-2.c: Update.
	* testsuite/gcc.dg/graphite/scop-4.c: Update.
	* testsuite/gcc.dg/graphite/scop-5.c: Add. 
	* testsuite/gcc.dg/graphite/scop-6.c: Add.

2008-05-06  Sebastian Pop  <sebastian.pop@amd.com>

	* testsuite/gcc.dg/graphite/scop-0.c: Add. 
	* testsuite/gcc.dg/graphite/scop-7.c: Add.
	* testsuite/gcc.dg/graphite/scop-8.c: Add.
	* testsuite/gcc.dg/graphite/scop-9.c: Add.
	* testsuite/gcc.dg/graphite/scop-10.c: Add.

2008-05-06  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (scop_affine_expr): Renamed to loop_affine_expr.  Check affine
	expressions depending on the outermost loop instead of a scop.
	(stmt_simple_for_scop_p): Same.
	(harmfule_stmt_in_scop): Same.

2008-04-28  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (dot_all_scops): Remove incorrect difficult bb coloring,
	mark entry and exit, that are not part of the SCoP and update HTML
	formatting.

2008-04-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (basic_block_simple_for_scop_p): Renamed harmful_stmt_in_bb.
	(save_scop, preds_at_same_depth, test_for_scop_bound): Removed.
	(add_dominators_to_open_scops, build_scops_1): Reimplemented.
	(all_preds_visited_p, all_succs_visited_p, start_new_scop_for_each_succ,
	start_new_scop, stop_last_open_scop, scop_end_loop): New.
	(build_scops): Do not use dfs_enumerate_from.

	* testsuite/gcc.dg/graphite/scop-{1,2,4}.c: Updated.

2008-04-23  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c: Add comments to functions that are missing a
	description.
	(graphite_create_iv): Removed.  Merged in graphite_loop_to_gcc_loop.

2008-04-23  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (nb_params_in_scop): Moved...
	(graphite_bb_from_bb, loop_body_to_cloog_stmts): New.
	(setup_cloog_loop): Call loop_body_to_cloog_stmts.
	(clast_to_gcc_expression): Reduce column size to less than 80.
	(graphite_create_iv): Return the new name of the IV.
	(find_transform): Set options->esp and options->cpp.
	(gloog): Comment out the invalidation of the old loop code.
	(initialize_dependence_polyhedron): Replace scop_nb_params with
	nb_params_in_scop.

	* graphite.h (nb_params_in_scop): ... here.
	(scop_nb_params): Removed.
	(loop_domain_dim): Return something even when the loop was not
	found in the hash table: avoid ICEing on all the graphite.exp
	testcases.

2008-04-14  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

	* tree-chrec.c (for_each_scev_op): SCEV can have 3 operands.

	* graphite.c (build_scop_dynamic_schedules): Schedule is built
	according to nesting level.
	(find_scop_parameters): Call instantiate_parameters.
	(scan_tree_for_params): Extend it to handle general affine bounds.
	Inner loop bound can depend on outer loop induction variable.
	(setup_cloog_loop): tmp variable is allocated on stack. Call
	instantiate_parameters with respect to outermost_loop_in_scop.
	(loop_domain_dim, ref_nb_loops, loop_iteration_vector_dim): moved to 
	graphite.h.
	(create_empty_loop): Function loopify should be given edge
	probability, instead of edge frequency. Dominance relation from
	switch_bb to loop_header.
	(clast_to_gcc_expression): Added handling of clast_reduction node.
	(gloog): New functionality for removing old loop.
	(test_dependence): Factored out from build_rdg_all_levels.
	(build_rdg_all_levels): Dependence testing factored out to
	test_dependence function.

	* graphite.h (struct graphite_bb): Extended with dynamic_schedule.
	(loop_domain_dim, ref_nb_loops, loop_iteration_vector_dim): Moved
	from graphite.c

2008-04-07  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (free_scop, param_index, initialize_cloog_names,
	nb_params_in_scop): Use name_tree map instead of just a tree
	for keeping track of the variable name associated to that tree.
	(create_empty_loop, gmp_cst_to_tree, clast_name_to_gcc,
	clast_to_gcc_expression, graphite_create_iv,
	graphite_loop_to_gcc_loop, graphite_cond_to_gcc_cond,
	graphite_stmt_to_gcc_stmt): New.
	(gloog): Call these.
	* graphite.h (struct name_tree): New.
	(struct scop): Use name_tree instead of tree for params.
	Store a vector of name_tree for new_ivs.
	(SCOP_NEWIVS): New.
	(scop_nb_params): Use name_tree instead of tree.

2008-04-05  Alexander Lamaison  <awl03@doc.ic.ac.uk>
            Sebastian Pop  <sebastian.pop@amd.com>

	* tree-bounds.c: New.
	* tree-bounds.h: New.
	* tree-pass.h: Declare pass_bounds_early and pass_bounds_late.
	* passes.c: Schedule pass_bounds_early, pass_bounds_late.
	* builtins.c (expand_builtin_alloca): Add flag_bounds as for flag_mudflap.
	* gcc.c: Same.
	* toplev.c: Same.
	* c-cppbuiltin.c: Same.
	* c-pragma.c: Same.
	* common.opt: Same.
	* varasm.c: Same.
	* tree-outof-ssa.c: Same.
	* c-common.c: Same.
	* Makefile.in: Same.

2008-03-15  Antoniu Pop  <antoniu.pop@gmail.com>
            Sebastian Pop  <sebastian.pop@amd.com>

	* tree-loop-distribution.c (remaining_stmts,
	upstream_mem_writes): Removed static variables.
	(copy_loop_before, create_bb_after_loop,
	mark_nodes_having_upstream_mem_writes, free_rdg_components,
	rdg_build_components, rdg_build_partitions, dump_rdg_partitions): Extern.
	(generate_loops_for_partition, generate_code_for_partition): Do not
	return a bool.
	(already_processed_vertex_p, predecessor_has_mem_write,
	mark_nodes_having_upstream_mem_writes, has_upstream_mem_writes,
	rdg_flag_all_uses, rdg_flag_uses, rdg_flag_vertex_and_dependent,
	rdg_flag_loop_exits, rdg_flag_similar_memory_accesses,
	build_rdg_partition_for_component, rdg_build_partitions, ldist_gen): 
	Pass remaining_stmts and upstream_mem_writes as parameters.
	(rdg_component): Moved...
	(build_rdg_partition_for_component): Do not aggregate components when
	flag_streamize_loops is set.
	(gen_sequential_loops): New.
	(ldist_gen): Call gen_sequential_loops.
	
	* tree-pass.h (pass_loop_streamization): Declared.

	* omp-low.c (expand_omp_sections): Call add_bb_to_loop on created 
	basic blocks when loops structures exist.

	* builtin-types.def (BT_FN_VOID_PTR_PTR_INT): New.

	* tree-ssa-loop-ivopts.c (expr_invariant_in_region_p): New.

	* tree-parloops.c (take_address_of, eliminate_local_variables_1,
	eliminate_local_variables_stmt, eliminate_local_variables,
	separate_decls_in_loop_name, separate_decls_in_loop_stmt,
	separate_decls_in_loop, gen_parallel_loop): Make them work on a region
	of code delimited by two edges in the CFG.
	(separate_decls_in_loop_name): Renamed separate_decls_in_region_name.
	(separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt.
	(separate_decls_in_loop): Renamed separate_decls_in_region.  Isolate 
	the case of parallelisation of reductions.
	(create_loop_fn): Extern.
	(create_omp_parallel_region): New.

	* tree-data-ref.c (dump_data_dependence_relation): Don't call 
	dump_data_reference for printing dra and drb.
	(create_rdg_edge_for_ddr, create_rdg_edges_for_scalar): Initialise 
	RDGE_RELATION.
	(build_rdg): Don't call free_dependence_relations for the moment, as
	we attach dependence relations on each edge of the RDG.  To be fixed later.

	* tree-data-ref.h (rdg_component): ...here.
	(struct rdg_edge): New field ddr_p relation.
	(RDGE_RELATION): New.
	(create_bb_after_loop, copy_loop_before,
	mark_nodes_having_upstream_mem_writes, rdg_build_components,
	rdg_build_partitions, dump_rdg_partitions, free_rdg_components): Declared.

	* omp-builtins.def (BUILT_IN_GOMP_STREAM_ALIGN_PUSH,
	BUILT_IN_GOMP_STREAM_ALIGN_POP): New.

	* tree-loop-streamization.c: New.

	* tree-flow.h (gather_blocks_in_sese_region, create_loop_fn,
	create_omp_parallel_region, expr_invariant_in_region_p): Declared.

	* Makefile.in (tree-loop-streamization.o): Added to OBJS-common.

	* tree-cfg.c (gather_blocks_in_sese_region): Extern.

	* passes.c: Schedule pass_loop_streamization.

2008-03-08  Tobias Grosser  <grosser@fmi.uni-passau.de>

	* graphite.c (dot_all_scops_1): Fix formatting for difficult bbs and
	update comment.

2008-03-07  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (dot_all_scops): Update formatting.  
	Bbs can now be part of more than one SCoP.

2008-03-04  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (new_loop_to_cloog_loop_str, setup_cloog_loop): Fix
	malloc problems.
	(loop_domain_dim): Check for unregistered toplev SCOP loop.
	* graphite.h (loop_to_cloog_loop): New.

2008-03-04  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

	* graphite.c (loop_domain_dim, ref_nb_loops,
	loop_iteration_vector_dim): New.
	(build_access_matrix_with_af, build_access_matrix,
	initialize_dependence_polyhedron): Fixed for new matrix layout.
        No longer assume that all iteration domains are of the same
        dimensionality.

2008-03-02  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-scalar-evolution.c (instantiate_parameters_1): An SSA_NAME
	defined in a loop at depth 0 is invariant.
	* tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
	* tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Should never
	be called at loop depth 0.

	* graphite.c (basic_block_simple_for_scop_p): Take the scop as
	a parameter.
	(dot_all_scops_1): Update use of basic_block_simple_for_scop_p.
	(down_open_scop): Removed.
	(loop_in_scop_p): Redefined.
	(scop_affine_expr): New argument: scop.
	(stmt_simple_for_scop_p): New argument: scop.  RETURN_EXPR is not
	a harmful statement ending a scop.
	(basic_block_simple_for_scop_p): New argument: scop.
	(get_loop_start): Removed.
	(new_scop): Initialize SCOP_LOOPS.
	(free_scop): Free SCOP_LOOPS.
	(succs_at_same_depth, preds_at_same_depth): New.
	(end_scop): Test the validity of a scop.
	(add_dominators_to_open_scops): New.
	(test_for_scop_bound): Call add_dominators_to_open_scops.
	Add cases for opening and closing multiple scops.
	(build_scops, build_scop_bbs): Iterate over basic blocks in depth first.
	(build_graphite_bb): Pass scop directly.
	(dfs_bb_in_scop_p): New.
	(scop_record_loop): Use SCOP_LOOPS for not recording the same loop
	several times.
	(nb_loops_around_gb): Use loop_in_scop_p.
	(schedule_to_scattering): Disabled for the moment the code computing
	the "textual order for outer loop".

	* graphite.h (struct scop): New field loops.
	(SCOP_LOOPS): New.
	(scop_loop_index): Test that the given loop belongs to SCOP_LOOPS.

	* testsuite/gcc.dg/graphite/scop-{1,...,7}.c: Updated.

2008-02-27  Antoniu Pop  <antoniu.pop@gmail.com>
            Sebastian Pop  <sebastian.pop@amd.com>

	* builtin-types.def (BT_FN_PTR_SIZE_UINT, BT_FN_BOOL_PTR): New.
	* common.opt (fstreamize-loops): New.
	* omp-builtins.def (BUILT_IN_GOMP_STREAM_CREATE,
	BUILT_IN_GOMP_STREAM_PUSH, BUILT_IN_GOMP_STREAM_HEAD,
	BUILT_IN_GOMP_STREAM_POP, BUILT_IN_GOMP_STREAM_EOS_P,
	BUILT_IN_GOMP_STREAM_SET_EOS, BUILT_IN_GOMP_STREAM_DESTROY): New.

2008-02-22  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

        * tree-data-ref.c (build_empty_rdg): New.
	(build_rdg): Use it.
	* tree-data-ref.h (build_empty_rdg): Declared.
        * graphite.c (free_scop): Free SCOP_LOOP2CLOOG_LOOP.
	(find_vertex_for_stmt): Removed.
	(build_rdg_all_levels): Use build_empty_rdg and rdg_vertex_for_stmt.

2008-02-21  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-loop-distribution.c (generate_builtin): After cancelling the
	loop tree, also delete basic blocks.
	(rdg_flag_uses): Stop recursion when a vertex has already been
	processed.

2008-02-15  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

        * graphite.c (build_scop_alpha): Removed.
	(graphite_transform_loops): Add a dummy call to build_all_rdg_levels
        and dump_dependence_graph to avoid compiler warnings.

2008-02-14  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

        * tree-data-ref.c (dr_may_alias_p, create_rdg_vertices): Extern.
	* tree-data-ref.h (dr_may_alias_p, create_rdg_vertices): Declared.
        * graphite.c (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
	eq_loop_to_cloog_loop, del_loop_to_cloog_loop): New.
	(new_scop, setup_cloog_loop): Initialize SCOP_LOOP2CLOOG_LOOP.
	(initialize_dependence_polyhedron, find_vertex_for_stmt,
	initialize_data_dependence_polyhedron, is_empty_polyhedron,
	statement_precedes_p, build_rdg_all_levels, build_scop_alpha,
	dump_dependence_graph): New.
	* graphite.h (struct graphite_bb): New field compressed_alpha_matrix.
	(GBB_ALPHA): New.
	(struct scop): New field loop2cloog_loop.
	(SCOP_LOOP2CLOOG_LOOP, struct data_dependence_polyhedron,
	RDGE_DDP, ddp_p, struct loop_to_cloog_loop_str): New.

2008-02-10  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

        * graphite.c (build_graphite_bb): Fix initialization
        of the graphite basic block.

2008-02-05  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (scan_tree_for_params): Rewrite for the new layout of
	loop domain matrix.  Pass in the number of loops contained in the
	constraint matrix.
	(nb_loops_around_gb): Moved before setup_cloog_loop that uses it.
	(setup_cloog_loop): Rewrite for the new layout of loop domain matrix:
	loops that are not surrounding the current loop are not represented
	in the domain constraint matrix.
	(build_scop_iteration_domain): Initial domain constraint matrix
	contains only the eq/ineq, cst, and scop parameters columns.

2008-01-29  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (schedule_to_scattering, nb_loops_around_gb): New.
	(print_graphite_bb): Print scattering.

2008-01-29  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (initialize_cloog_names): Initialize names of
	scattering variables.

2009-01-29  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (dot_all_scops_1): Disable debug output while
	printing graph.

2008-01-29  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (find_transform): Change cloog output language to C.

2008-01-27  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-loop-distribution.c (generate_memset_zero,
	generate_builtin, generate_code_for_partition, rdg_flag_all_uses): New.
	(rdg_flag_uses): Gather in the same partition the statements defining
	the VUSES of the current statement.
	(rdg_flag_similar_stores): Renamed rdg_flag_similar_memory_accesses.
	Gather in the same partition not only the stores to the same memory
	access, but also the reads.
	(ldist_generate_loops): Renamed ldist_gen.

2008-01-24  Sebastian Pop  <sebastian.pop@amd.com>
            Tobias Grosser  <grosser@fmi.uni-passau.de>

	* graphite.c (setup_cloog_loop): Chain all cloog loops with the
	next pointer, don't use the inner pointer.

2008-01-20  Tobias Grosser  <grosser@fmi.uni-passau.de>

        * graphite.c (dot_all_scops, dot_all_scops_1): New.
	(find_transform): Call dot_all_1.
	* graphite.h (dot_all_scops): Declared.

2007-12-14  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-loop-distribution.c: Fix apsi.f ICE.
	(create_bb_after_loop): New.
	(generate_loops_for_partition): Use it.
	* testsuite/gfortran.dg/ldist-1.f90: New.

	* tree-data-ref.c (dot_rdg): Use /tmp/rdg.dot for dotty format.
	* graphite.c (dot_scop): Use /tmp/scop.dot for dotty format.

2007-12-13  Tobias Grosser  <grosser@fmi.uni-passau.de>

	* graphite.c (find_transform): Dump cloog program sent to cloog.

2007-12-13  Tobias Grosser  <grosser@fmi.uni-passau.de>

	* graphite.c (initialize_cloog_names): Initialize cloog iterator names.

2007-12-13  Tobias Grosser  <grosser@fmi.uni-passau.de>

	* graphite.c (build_scop_context): Fix typo, for the matrix
	format: insert '0 >= 0' instead of '-1 >= 0'.

2007-12-13  Sebastian Pop  <sebastian.pop@amd.com>

	* Fix merge problems.

2007-12-13  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (setup_cloog_loop): Fix typo.

2007-12-12  Sebastian Pop  <sebastian.pop@amd.com>

	* doc/invoke.texi (-ftree-loop-distribution): Documented.
	* tree-loop-distribution.c: Reimplemented.
	* tree-pass.h (pass_loop_distribution): New.
	* tree-scalar-evolution.c (number_of_iterations_for_all_loops): Use
	print_loops.
	* graphds.h (struct graph): New field indexes.
	* timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.

	* tree-vect-analyze.c: Remove declaration of static functions when not
	needed.
	* tree-vectorizer.c: Same.
	(rename_variables_in_loop): Now extern.
	(slpeel_tree_duplicate_loop_to_edge_cfg): Renamed
	tree_duplicate_loop_to_edge_cfg.  Reset PENDING_STMT for edges after
	calling redirect_edge_and_branch_force.

	* tree-vectorizer.h (tree_duplicate_loop_on_edge): Declared.

	* tree-data-ref.c: Don't include tree-chrec.h.
	(debug_data_dependence_relations): New.
	(dump_data_dependence_relation): Call dump_data_reference on data refs
	in the relation.
	(same_access_functions): Moved...
	(find_vertex_for_stmt): Renamed rdg_vertex_for_stmt.
	(dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
	debug_rdg_component, dump_rdg, debug_rdg, dot_rdg_1, dot_rdg,
	struct rdg_vertex_info, ): New.
	(create_rdg_edge_for_ddr): Compute the dependence level before looking
	at DDR_REVERSED_P.
	(create_rdg_vertices): Initialize the htab of graph->indexes.
	Initialize RDG_MEM_WRITE_STMT and RDG_MEM_READS_STMT.
	(stmts_from_loop): Don't save LABEL_EXPR.
	(hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del): New.
	(build_rdg): Initialize rdg->indexes.
	(free_rdg, stores_from_loop, ref_base_address,
	rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
	have_similar_memory_accesses_1, ref_base_address_1,
	remove_similar_memory_refs): New.

	* tree-data-ref.h: Include tree-chrec.h.
	(debug_data_dependence_relations): Declared.
	(same_access_functions): ...here.  Now static inline.
	(ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level): New.
	(struct rdg_vertex): New fields has_mem_write, has_mem_reads.
	(RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT, RDG_MEM_WRITE_STMT,
	RDG_MEM_READS_STMT): New.
	(dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
	debug_rdg_component, dump_rdg, debug_rdg, dot_rdg,
	rdg_vertex_for_stmt): Declared.
	(struct rdg_edge): New field level.
	(RDGE_LEVEL, free_rdg): New.
	(stores_from_loop, remove_similar_memory_refs,
	rdg_defs_used_in_other_loops_p, have_similar_memory_accesses): Declared.
	(rdg_has_similar_memory_accesses): New.

	* lambda.h (dependence_level): New.
	* common.opt (ftree-loop-distribution): New.
	* tree-flow.h (debug_loop_ir): Renamed debug_loops.
	(print_loop_ir): Renamed print_loops.
	(debug_loop, debug_loop_num, print_loops_bb, mark_virtual_ops_in_bb,
	tree_duplicate_loop_to_edge_cfg, rename_variables_in_loop): Declared.
	* Makefile.in (TREE_DATA_REF_H): Depends on tree-chrec.h.
	(tree-loop-distribution.o): Added.
	* tree-cfg.c (mark_virtual_ops_in_region): Use mark_virtual_ops_in_bb.
	(mark_virtual_ops_in_bb): New.
	(print_loops_bb, debug_loop_num, debug_loop): New.
	* passes.c: Scheduled pass_loop_distribution.

2007-12-12  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

	* graphite.c (scan_tree_for_params): Correct the number of columns
	for polylib format.
	(nb_flat_iterator): New.
	(setup_cloog_loop): Initialize to 1 the first column for inequalities.
	(build_scop_iteration_domain): Correct the number of columns for 
	polylib format.

2007-12-12  Sebastian Pop  <sebastian.pop@amd.com>

	* Merge from mainline (129697:130800).

2007-10-30  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (build_graphite_bb): SCoP's basic blocks are post
	dominated by SCoP's exit.
	(graphite_transform_loops): Compute post dominators.

2007-10-28  Sebastian Pop  <sebastian.pop@amd.com>

	* Merge from mainline (127169:129697).

2007-10-28  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (affine_expr): Renamed scop_affine_expr.  Use an extra 
	parameter for the basic block that contains the expression.  Use
	outermost_loop_in_scop for evolution_function_is_affine_multivariate_p.
	(stmt_simple_for_scop_p): Pass to scop_affine_expr the basic block of
	the expression.
	* graphite.h (gbb_loop): New.
	(GBB_LOOP): Removed.

2007-08-03  Sebastian Pop  <sebpop@gmail.com>

	* Makefile.in: Fix merge problem.

2007-08-03  Sebastian Pop  <sebpop@gmail.com>

	* Merge from mainline (125309:127169).
	* tree-loop-distribution.c: Disabled.

2007-06-05  Sebastian Pop  <sebpop@gmail.com>

	* Merge from mainline (r123693:125309).

2007-05-30  Sebastian Pop  <sebpop@gmail.com>

	* tree-loop-distribution.c (correct_modify_expr_p): Renamed
	correct_modify_p
	(correct_modify_p, check_statements, number_of_lvalue_uses,
	number_of_scalar_dependences, create_edges): Use GIMPLE_MODIFY_STMT
	instead of MODIFY_EXPR.
	(update_edge_with_ddv): Don't pass index_of_edge.  Initialize
	and push new edges.

2007-05-24  Sebastian Pop  <sebpop@gmail.com>

	* tree-loop-distribution.c (struct rdg): Replace arrays by 
	VECs for edges and vertices.
	(RDG_NBV, RDG_NBE, RDG_VERTEX, RDG_EDGE): Removed.
	(RDGV_NB_PARTITIONS): New.
	(PRDG_NBV, PRDG_NBE): Removed.
	(build_scc_graph, correct_partitions_p, mark_partitions, build_prdg,
	dump_rdg, find_vertex_with_stmt, create_vertices, free_rdg,
	number_of_scalar_dependences, create_edges, build_rdg): Use VECs.

2007-05-17  Georges-Andre Silber  <silber@cri.ensmp.fr>
            Sebastian Pop  <sebpop@gmail.com>

        * doc/invoke.texi (-ftree-loop-distribution): Document.
        * tree-loop-distribution.c: New file.
        * tree-pass.h (pass_loop_distribution): Declared.
        * timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.
        * tree-data-ref.c (initialize_data_dependence_relation): Initialize and
	set reversed_p.
        * tree-data-ref.h (data_dependence_relation): Add reversed_p.
	(DDR_REVERSED_P): New.
        * common.opt (-ftree-loop-distribution): New.
        * tree-flow.h (distribute_loops): Declared.
        * Makefile.in (OBJS-common): Depend on tree-loop-distribution.o.
        * passes.c (init_optimization_passes): Schedule loop distribution.

2007-05-12  Sebastian Pop  <sebastian.pop@inria.fr>

	* graphite.c (print_graphite_bb): Don't call dump_data_references.
	(print_scop): Don't print when scop is NULL.
	(build_scop_context, find_transform): Don't output to stderr.

2007-05-09  Sebastian Pop  <sebastian.pop@inria.fr>

	* tree-data-ref.c: Don't include graphite.h.
	Comment out the code for printing data reference's scop.
	(build_access_matrix_with_af): Moved...
	* tree-data-ref.h (build_access_matrix_with_af): Removed declaration.
	* graphite.c (build_access_matrix_with_af): ... here.  Now static.
	(print_graphite_bb): Print basic block's schedule.
	(print_scop): Don't print the schedule, call cloog's pretty printer.
	(bb_in_scop_p): A basic block is in a scop only if it is both
	dominated and postdominated by the scop's entry and exit basic blocks.
	(function_parameter_p): New.
	(invariant_in_scop_p): Use function_parameter_p.
	(new_scop, save_scop): New.
	(end_scop, test_for_scop_bound, build_scops): Use new_scop, and 
	save_scop.
	(scan_tree_for_params): Directly build the constraint as CloogMatrix.
	(loop_in_scop_p): New.
	(scop_record_loop): Use loop_in_scop_p.
	(build_scop_domain): Renamed build_scop_iteration_domain.
	(setup_cloog_loop, initialize_cloog_names, find_scop_parameters,
	nb_params_in_scop, build_scop_context, first_loop_in_scop, 
	setup_cloog_loop, dot_scop_1, dot_scop): New.
	* graphite.h (GBB_LOOP, SCOP_PROG, dot_scop): New.
	(struct scop): Add a pointer to cloog's representation of a program.

2007-04-14  Sebastian Pop  <sebastian.pop@inria.fr>

	* doc/invoke.texi (-ftree-check-verbose): Renamed -ftree-checks-verbose.
	* common.opt (flag_tree_check_verbose): Renamed flag_tree_checks_verbose.
	* tree-check.c (tree_check_warning): Use flag_tree_checks_verbose.

2007-04-14  Sebastian Pop  <sebastian.pop@inria.fr>

	* configure: Regenerated.
	* config.in: Regenerated.
	* tree-ssa-loop.c (graphite_transforms): Execute graphite_transform_loops
	only when HAVE_cloog.
	* configure.ac (HAVE_polylib, HAVE_cloog, GRAPHITE): Defined.
	* graphite.c: Include polylibgmp.h and cloog.h.
	(graphite_transform_loops): Removed loops parameter.
	* tree-flow.h (graphite_transform_loops): Update declaration.
	* Makefile.in (POLYLIBLIBS, POLYLIBINC, CLOOGLIBS, CLOOGINC): New.
	(LIBS): Depend on CLOOGLIBS and on POLYLIBLIBS.
	(INCLUDES): Depend on POLYLIBINC and on CLOOGINC.
	(OBJS-common): Remove dependence on graphite.o.
	(BACKEND): Depend on @GRAPHITE@.

2007-04-13  Sebastian Pop  <sebastian.pop@inria.fr>

	* doc/invoke.texi (-ftree-check-verbose): Documented.
	* testsuite/gcc.dg/tree-checker/tree-checks-1.c: New.
	* testsuite/gcc.dg/tree-checker/tree-checks-2.c: New.
	* testsuite/gcc.dg/tree-checker/tree-checks-3.c: New.
	* testsuite/gcc.dg/tree-checker/tree-checks-4.c: New.
	* testsuite/gcc.dg/tree-checker/tree-checks.exp: New.
	* testsuite/gcc.dg/tree-checker/condates.crp: New.
	* common.opt (ftree-checks-verbose): New.
	* tree-check.c (tree_check_warning): Move extra stderr output under control
	of flag_tree_check_verbose.

2007-04-12  Sebastian Pop  <sebastian.pop@inria.fr>

	* tree-match.c: Fix comments formatting.
	* tree-match.h: Fix comments formatting.
	* tree-check.c: Fix comments formatting.
	(tree_check_init): Restructure.

2007-04-12  Nic Volanschi  <nic.volanschi@free.fr>

	* doc/invoke.texi (-ftree-check, -ftree-checks): Documented.

2007-04-10  Sebastian Pop  <sebastian.pop@inria.fr>

	* Merge from mainline (r120733:123693).

2007-03-20  Nic Volanschi  <nic.volanschi@free.fr>

	* condate.y: New file.
	* tree-match.h (struct patt_info_s): New field sign.
	(struct condate_s): New field msg.
	(normalize_condate, name_condate, add_condate): New.
	(conds[], condate_parse): Made extern.
	* tree-check.c (tree_check_warning): First arg changed to cond; warning reformatted.
	(tree_check_init): Reset the TREE_VISITED bit on every CFG node.
	(tree_scan): New.
	(tree_check): Process trivial condates.
	(read_delimited_string): Removed.
	(print_cond): Print name and msg.
	(conds[]): Made extern.
	(parse_tree_check_file_once): Rewritten to use the parser in condate.y.
	Processing of option --tree_check_string moved to tree_scan().
	* Makefile.in: Added condate.y

2007-03-12  Sebastian Pop  <sebastian.pop@inria.fr>

	* tree-pretty-print.c (dump_generic_bb_buff, lazy_dump_generic_node): 
	Use VECs instead of varrays.
	* diagnostic.h (lazy_dump_generic_node): Update declaration.
	* Makefile.in (pretty-print.o): Depend on vec.h.
	* pretty-print.c: Include tree.h and vec.h.
	(pp_clear_state, pp_write_list_to_stream, pp_base_format, 
	pp_base_format, pp_construct, pp_base_string, pp_lazy_mode,
	new_tree_chunk, pp_add_tree, pp_add_string, pp_add_char, pp_write_list,
	pp_free_list): Use VECs instead of varrays.
	* pretty-print.h: Do not include varray.h.
	(struct tree_chunk_s): Declaration moved before its use.
	(output_buffer): Rename varray field to chunks.
	* tree-match.c (tree_equal, chunk_1st_char, chunks_lookahead, 
	tree_1st_char, match_chunks_pattinfo, match_tree_pattinfo, 
	save_global_holes): Use VECs instead of varrays.
	* tree-match.h: Declare VECs of cfg_node, and hole_p.
	* tree-check.c (scan_cfg_stmts, push_node, print_matching_stmt): Removed.
	(tree_check_instance, push_global_holes_if_new, tree_check,
	execute_tree_check): Use VECs instead of varrays.
	(gate_tree_check): Don't execute the CFG check when basic_block_info
	is not available.

2007-01-12  Sebastian Pop  <sebastian.pop@inria.fr>

	* Merge from mainline (r115016:120733).

2007-01-12  Sebastian Pop  <sebastian.pop@inria.fr>

	* Merge from mainline (r117632:117661).

2007-01-12  Sebastian Pop  <sebastian.pop@inria.fr>

	* tree-dump.c (dump_option_value_in): Add TDF_DEBUG.
	* tree-pass.h (TDF_DEBUG, debug_p): New.
	* tree-scalar-evolution.c (set_scalar_evolution, get_scalar_evolution, 
	get_scalar_evolution, add_to_evolution, set_nb_iterations_in_loop, 
	get_loop_exit_condition, analyze_evolution_in_loop,
	analyze_initial_condition, analyze_scalar_evolution,
	instantiate_parameters, number_of_latch_executions): Use debug_p.
	* tree-chrec.c (chrec_apply): Use debug_p.
	* tree-data-ref.c: Include graphite.h.
	(dump_data_reference): Print also the access matrix.
	(analyze_array, analyze_indirect_ref, init_data_ref, 
	analyze_offset_expr, address_analysis, object_analysis,
	create_data_ref, finalize_ddr_dependent, 
	non_affine_dependence_relation, analyze_ziv_subscript,
	analyze_siv_subscript_cst_affine, 
	compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine,
	can_use_analyze_subscript_affine_affine, analyze_siv_subscript,
	analyze_miv_subscript, analyze_overlapping_iterations, 
	build_classic_dist_vector, subscript_dependence_tester, 
	compute_affine_dependence, analyze_all_data_dependences): Use debug_p.
	(build_access_matrix_with_af): No longer static.
	* tree-data-ref.h (scop_p): ... declaration here.
	(data_reference.scop): New field.
	(DR_SCOP, DR_ACCESS_MATRIX): New.
	(build_access_matrix_with_af, dr_num_subscripts): Declared.
	* graphite.c (print_graphite_bb): Call dump_data_references.
	(print_scop): Use scop_nb_loops and scop_dim_domain.
	(test_for_scop_bound): Use debug_p.
	(scan_tree_for_params): Use scop_nb_loops, scop_nb_loops and
	scop_nb_params.
	(scop_loop_index): Moved...
	(scop_record_loop): New.
	(build_scop_loop_nests): Use scop_record_loop.
	(build_scop_domain): Use scop_dim_domain.
	(build_access_matrix): Implemented.
	(build_scop_canonical_schedules): Use scop_nb_loops.
	(build_graphite_bb): Initialize GBB_SCOP.
	* graphite.h (scop_p): Moved...
	(graphite_bb.scop): New field.
	(graphite_bb.iteration_domain, GBB_DOMAIN, scop.nb_params,
	scop.nb_loops, scop.dim_domain, SCOP_NB_LOOPS, SCOP_NB_PARAMS,
	SCOP_DIM_DOMAIN, SCOP_STMTS): Removed.
	(scop_nb_params, scop_nb_loops, scop_dim_domain, gbb_dim_domain,
	scop_loop_index): New.
	* Makefile.in (tree-data-ref.o): Depends on graphite.h.

2007-01-05  Sebastian Pop  <sebastian.pop@inria.fr>

	* Merge from mainline (r117661:120450).

2006-10-12  Sebastian Pop  <sebastian.pop@inria.fr>

	* tree-scalar-evolution.c (instantiate_parameters_1): Don't stop
	at the first declaration outside the varying loop, instantiate as
	far as possible.
	* tree-chrec.c (for_each_scev_op): New.
	* tree-chrec.h (for_each_scev_op): Declared.
	* tree-ssa-loop.c (pass_graphite_trans): Don't dump the function.
	* tree-data-ref.c (get_references_in_stmt, 
	find_data_references_in_stmt): New, from trunk.
	(find_data_references_in_loop): Use get_references_in_stmt
	and find_data_references_in_loop, modified as in trunk.
	(build_access_matrix_with_af): New.
	* tree-data-ref.h (data_reference): Add a field access_matrix.
	(data_ref_loc): New, as in trunk.
	* graphite.c (print_graphite_bb, bb_in_scop_p, stmt_in_scop_p,
	invariant_in_scop_p, param_index, scan_tree_for_params, 
	scop_loop_index, build_scop_loop_nests, build_scop_domain, irp_data,
	idx_record_param, idx_record_params, build_access_matrix, 
	build_scop_data_accesses, build_scop_canonical_schedules, 
	build_graphite_bb, build_scop_bbs, find_params_in_bb, 
	build_scop_params): New.
	* graphite.h (graphite_bb): New.
	(scop): Add fields static_schedule, params, loop_nest,
	iteration_domain.
	* lambda.h: Declare vecs of lambda_matrix.
	* tree-flow.h (print_loop_ir_bb): Declared.
	* tree-cfg.c (print_loop_ir_bb): New.
	(print_loop): Use print_loop_ir_bb.

2006-10-12  Sebastian Pop  <pop@cri.ensmp.fr>

	* Merge from mainline (r115016:117632).

2006-10-11  Sebastian Pop  <pop@cri.ensmp.fr>

	* graphite.c (debug_scops): Adjust definition for avoiding a bootstrap
	break due to a warning.

2006-10-10  Sebastian Pop  <pop@cri.ensmp.fr>

	* graphite.c (print_scops, debug_scops): New.
	(graphite_transform): Renamed graphite_find_transform.
	* graphite.h (debug_scops): Declared.

2006-08-17  Sebastian Pop  <pop@cri.ensmp.fr>

	* tree-match.c: Reformat following the GNU style.
	* tree-match.h: Reformat following the GNU style.
	* tree-pattern.h: Removed empty file.
	* Makefile.in: Remove references to tree-pattern.h.
	* tree-check.c: Reformat following the GNU style.
	(execute_tree_check): Move gate condition code to...
	(gate_tree_check): ...here.  New function.
	(pass_check): Use the gate function.

2006-07-04  Nic Volanschi <nic.volanschi@free.fr>

	* tree-pattern.h: New. Tree pattern matching and checking using 
	concrete syntax.
	* tree-check.c: New. Tree/CFG checking pass.
	* tree-match.c: New. Library for tree pattern matching.
	* opts.c, common.opt: Add options --ftree-check & --ftree-checks.
	* toplev.c, flags.h: Add globals for tree-check pass.
	* Makefile.in: Integrate the files in tree-check pass.
	* timevar.def, tree-optimize.c, tree-pass.h: Register tree-check pass.
	* pretty-print.c, pretty-print.h, tree-pretty-print.c, diagnostic.h: 
	Introduce a "lazy" pretty-print mode.
	* tree.c, tree.h: Add tree_name.

2006-07-04  Sebastian Pop  <pop@cri.ensmp.fr>

	* doc/invoke.texi (-fgraphite): Correct typo.
	* tree-scalar-evolution.c (number_of_iterations_for_all_loops): Update use
	of print_loop_ir.
	* testsuite/gcc.dg/graphite/scop-1.c: New.
	* testsuite/gcc.dg/graphite/scop-2.c: New.
	* testsuite/gcc.dg/graphite/graphite.exp: New.
	* graphite.c: Include domwalk.h.
	(print_scop): Print only the entry and exit blocks.
	(debug_scop): No longer static.
	(affine_expr): Fix formating.  Return also true when the expression is
	constant.
	(stmt_simple_for_scop_p): Fix formating.
	(build_scops): Use domwalk.
	(get_loop_start, end_scop, test_for_scop_bound): New.
	(graphite_transform_loops): Avoid printing on stderr.
	* graphite.h (debug_scop): Declared.
	* tree-flow.h (debug_loop_ir, print_loop_ir): Update declarations.
	* Makefile.in (graphite.o): Depend on domwalk.h.
	* tree-cfg.c (print_loop, print_pred_bbs, print_succ_bbs): Remove 
	declarations for static functions.
	(print_loop, print_loop_ir, debug_loop_ir): Use an extra parameter for
	controlling output verbosity.

2006-06-26  Sebastian Pop  <pop@cri.ensmp.fr>
	    Plesco Alexandru  <shurikx@gmail.com>

	* doc/invoke.texi (-fgraphite): Document.
	* tree-pass.h (pass_graphite_transforms): Declared.
	* timevar.def (TV_GRAPHITE_TRANSFORMS): New.
	* tree-ssa-loop.c (graphite_transforms, gate_graphite_transforms): New.
	(pass_graphite_transforms): Defined.
	* tree-data-ref.c (free_data_ref, data_reference): Extern.
	* tree-data-ref.h (free_data_ref, data_reference): Declared.
	* graphite.c, graphite.h: New.
	* common.opt (fgraphite): Declared.
	* tree-flow.h (graphite_transform_loops): Declared.
	* Makefile.in (OBJS-common): Add graphite.o.
	(graphite.o): New rule.
	* passes.c (pass_graphite_transforms): Scheduled.