forked from riscvarchive/riscv-gcc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog.graphite
9128 lines (7115 loc) · 327 KB
/
ChangeLog.graphite
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
2011-05-26 Alexey Kravets <[email protected]>
PR middle-end/49147
* graphite-opencl-codegen.c
(opencl_get_perfect_nested_loop_depth): Use
enabled_dependency_in_clast_loop_p instead of
dependency_in_clast_loop_p.
* graphite-opencl.c (opencl_transform_stmt_list): Ditto.
(enabled_dependency_in_clast_loop_p): New.
* graphite-opencl.h (enabled_dependency_in_clast_loop_p): Export.
* gcc.dg/graphite/pr49147.c: New test.
2011-05-24 Sebastian Pop <[email protected]>
* graphite-opencl-codegen.c (opencl_print_local_vars): Fix typo.
2011-05-24 Sebastian Pop <[email protected]>
* graphite-dependences.c (graphite_outer_subscript_bound): Remove
memory leaks, add one more assert.
2011-05-24 Sebastian Pop <[email protected]>
* graphite-dependences.c (build_alias_set_powerset): Remove
continue from loop, add one more assert.
2011-05-24 Sebastian Pop <[email protected]>
* graphite-dependences.c (graphite_outer_subscript_bound): Remove
unused parameter.
* graphite-dependences.h (graphite_outer_subscript_bound): Same.
* graphite-opencl-meta-clast.c (opencl_set_meta_rw_flags): Update
call to graphite_outer_subscript_bound.
* graphite-opencl.c (opencl_get_indirect_size): Same.
2011-05-24 Alexey Kravets <[email protected]>
* graphite-opencl.c (opencl_private_var_name_p): Removed.
(graphite_artificial_array_p): Removed.
(opencl_data_create): Use zero_dim_array_p instead of
graphite_artificial_array_p.
2011-01-25 Sebastian Pop <[email protected]>
* graphite-opencl.c (opencl_create_function_call): Use cl_khr_fp64
pragma extension only when it is defined. Use cl_amd_fp64 when it
is defined.
2011-01-23 Tobias Grosser <[email protected]>
* doc/install.texi: Replace '/' by an or and give the exact
version number of cloog-0.16.1
2011-01-20 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
(close_phi_written_to_memory): Call for_each_index with
dr_indices_valid_in_loop.
* gfortran.dg/graphite/id-24.f: New.
* gfortran.dg/graphite/id-25.f: New.
2011-01-19 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
when it is initialized.
* gfortran.dg/graphite/id-23.f: New.
2011-01-19 Sebastian Pop <[email protected]>
* graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
call to graphite_find_data_references_in_stmt.
* graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
(try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
call to graphite_find_data_references_in_stmt.
(analyze_drs_in_stmts): Same.
* tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
in which the scalar analysis of indices is performed.
(create_data_ref): Same. Update call to dr_analyze_indices.
(find_data_references_in_stmt): Update call to create_data_ref.
(graphite_find_data_references_in_stmt): Same.
* tree-data-ref.h (graphite_find_data_references_in_stmt): Update
declaration.
(create_data_ref): Same.
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
call to create_data_ref.
2011-01-19 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c (build_poly_scop): Move
rewrite_commutative_reductions_out_of_ssa before
find_scop_parameters.
2011-01-18 Sebastian Pop <[email protected]>
PR tree-optimization/46970
* gcc.dg/graphite/pr46970.c: New.
2011-01-18 Sebastian Pop <[email protected]>
PR tree-optimization/46215
* gcc.dg/graphite/pr46215.c: New.
2011-01-18 Sebastian Pop <[email protected]>
PR tree-optimization/46168
* gcc.dg/graphite/pr46168.c: New.
2011-01-18 Sebastian Pop <[email protected]>
PR tree-optimization/43657
* gcc.dg/graphite/pr43657.c: New.
2011-01-18 Sebastian Pop <[email protected]>
PR tree-optimization/29832
* gfortran.dg/graphite/pr29832.f90: New.
2011-01-18 Sebastian Pop <[email protected]>
PR tree-optimization/43567
* gcc.dg/graphite/pr43567.c: New.
2011-01-18 Sebastian Pop <[email protected]>
PR tree-optimization/43567
* gcc.dg/graphite/pr43567.c: New.
2011-01-17 Sebastian Pop <[email protected]>
* Makefile.in (LAMBDA_H): Removed.
(TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
(OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
lambda-trans.o, and tree-loop-linear.o.
(lto-symtab.o): Remove dependence on LAMBDA_H.
(tree-loop-linear.o): Remove rule.
(lambda-mat.o): Same.
(lambda-trans.o): Same.
(lambda-code.o): Same.
(tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
(tree-vect-slp.o): Same.
* hwint.h (gcd): Moved here.
(least_common_multiple): Same.
* lambda-code.c: Removed.
* lambda-mat.c: Removed.
* lambda-trans.c: Removed.
* lambda.h: Removed.
* tree-loop-linear.c: Removed.
* lto-symtab.c: Do not include lambda.h.
* omega.c (gcd): Removed.
* passes.c (init_optimization_passes): Remove pass_linear_transform.
* tree-data-ref.c (print_lambda_vector): Moved here.
(lambda_vector_copy): Same.
(lambda_matrix_copy): Same.
(lambda_matrix_id): Same.
(lambda_vector_first_nz): Same.
(lambda_matrix_row_add): Same.
(lambda_matrix_row_exchange): Same.
(lambda_vector_mult_const): Same.
(lambda_vector_negate): Same.
(lambda_matrix_row_negate): Same.
(lambda_vector_equal): Same.
(lambda_matrix_right_hermite): Same.
* tree-data-ref.h: Do not include lambda.h.
(lambda_vector): Moved here.
(lambda_matrix): Same.
(dependence_level): Same.
(lambda_transform_legal_p): Removed declaration.
(lambda_collect_parameters): Same.
(lambda_compute_access_matrices): Same.
(lambda_vector_gcd): Same.
(lambda_vector_new): Same.
(lambda_vector_clear): Same.
(lambda_vector_lexico_pos): Same.
(lambda_vector_zerop): Same.
(lambda_matrix_new): Same.
* tree-flow.h (least_common_multiple): Removed declaration.
* tree-parloops.c (lambda_trans_matrix): Moved here.
(LTM_MATRIX): Same.
(LTM_ROWSIZE): Same.
(LTM_COLSIZE): Same.
(LTM_DENOMINATOR): Same.
(lambda_trans_matrix_new): Same.
(lambda_matrix_vector_mult): Same.
(lambda_transform_legal_p): Same.
* tree-pass.h (pass_linear_transform): Removed declaration.
* tree-ssa-loop.c (tree_linear_transform): Removed.
(gate_tree_linear_transform): Removed.
(pass_linear_transform): Removed.
(gate_graphite_transforms): Make flag_tree_loop_linear an alias of
flag_loop_interchange.
* gfortran.dg/graphite/interchange-4.f: New.
* gfortran.dg/graphite/interchange-5.f: New.
* gcc.dg/tree-ssa/ltrans-1.c: Removed.
* gcc.dg/tree-ssa/ltrans-2.c: Removed.
* gcc.dg/tree-ssa/ltrans-3.c: Removed.
* gcc.dg/tree-ssa/ltrans-4.c: Removed.
* gcc.dg/tree-ssa/ltrans-5.c: Removed.
* gcc.dg/tree-ssa/ltrans-6.c: Removed.
* gcc.dg/tree-ssa/ltrans-8.c: Removed.
* gfortran.dg/ltrans-7.f90: Removed.
* gcc.dg/tree-ssa/data-dep-1.c: Removed.
* gcc.dg/pr18792.c: -> gcc.dg/graphite/pr18792.c
* gcc.dg/pr19910.c: -> gcc.dg/graphite/pr19910.c
* gcc.dg/tree-ssa/20041110-1.c: -> gcc.dg/graphite/pr20041110-1.c
* gcc.dg/tree-ssa/pr20256.c: -> gcc.dg/graphite/pr20256.c
* gcc.dg/pr23625.c: -> gcc.dg/graphite/pr23625.c
* gcc.dg/tree-ssa/pr23820.c: -> gcc.dg/graphite/pr23820.c
* gcc.dg/tree-ssa/pr24309.c: -> gcc.dg/graphite/pr24309.c
* gcc.dg/tree-ssa/pr26435.c: -> gcc.dg/graphite/pr26435.c
* gcc.dg/pr29330.c: -> gcc.dg/graphite/pr29330.c
* gcc.dg/pr29581-1.c: -> gcc.dg/graphite/pr29581-1.c
* gcc.dg/pr29581-2.c: -> gcc.dg/graphite/pr29581-2.c
* gcc.dg/pr29581-3.c: -> gcc.dg/graphite/pr29581-3.c
* gcc.dg/pr29581-4.c: -> gcc.dg/graphite/pr29581-4.c
* gcc.dg/tree-ssa/loop-27.c: -> gcc.dg/graphite/pr30565.c
* gcc.dg/tree-ssa/pr31183.c: -> gcc.dg/graphite/pr31183.c
* gcc.dg/tree-ssa/pr33576.c: -> gcc.dg/graphite/pr33576.c
* gcc.dg/tree-ssa/pr33766.c: -> gcc.dg/graphite/pr33766.c
* gcc.dg/pr34016.c: -> gcc.dg/graphite/pr34016.c
* gcc.dg/tree-ssa/pr34017.c: -> gcc.dg/graphite/pr34017.c
* gcc.dg/tree-ssa/pr34123.c: -> gcc.dg/graphite/pr34123.c
* gcc.dg/tree-ssa/pr36287.c: -> gcc.dg/graphite/pr36287.c
* gcc.dg/tree-ssa/pr37686.c: -> gcc.dg/graphite/pr37686.c
* gcc.dg/pr42917.c: -> gcc.dg/graphite/pr42917.c
* gcc.dg/tree-ssa/data-dep-1.c
* gfortran.dg/loop_nest_1.f90: -> gfortran.dg/graphite/pr29290.f90
* gfortran.dg/pr29581.f90: -> gfortran.dg/graphite/pr29581.f90
* gfortran.dg/pr36286.f90: -> gfortran.dg/graphite/pr36286.f90
* gfortran.dg/pr36922.f: -> gfortran.dg/graphite/pr36922.f
* gfortran.dg/pr39516.f: -> gfortran.dg/graphite/pr39516.f
2011-01-17 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
VAR_DECL, PARM_DECL, and RESULT_DECL.
* gfortran.dg/graphite/interchange-3.f90: Un-XFAILed.
2011-01-17 Sebastian Pop <[email protected]>
* graphite-dependences.c (reduction_dr_1): Allow several reductions
in a reduction PBB.
* graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
that have already been marked as PBB_IS_REDUCTION.
2011-01-17 Sebastian Pop <[email protected]>
* graphite-scop-detection.c (same_close_phi_node): New.
(remove_duplicate_close_phi): New.
(make_close_phi_nodes_unique): New.
(canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
2011-01-17 Sebastian Pop <[email protected]>
* graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
* graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
of both data references to be the same.
2011-01-17 Sebastian Pop <[email protected]>
* graphite-dependences.c (build_lexicographical_constraint): Remove the
gdim parameter.
(build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty.
(dependence_polyhedron): Same.
(graphite_legal_transform_dr): Same.
(graphite_carried_dependence_level_k): Same.
* graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter.
* graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
2011-01-15 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c
(translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
(close_phi_written_to_memory): New.
(translate_scalar_reduction_to_array): Call close_phi_written_to_memory
and unshare_expr.
* gcc.dg/graphite/block-0.c: Un-XFAILed.
* gcc.dg/graphite/block-1.c: Un-XFAILed.
* gcc.dg/graphite/block-7.c: Un-XFAILed.
* gcc.dg/graphite/block-8.c: Un-XFAILed.
* gcc.dg/graphite/interchange-12.c: Un-XFAILed.
* gcc.dg/graphite/interchange-14.c: Un-XFAILed.
* gcc.dg/graphite/interchange-15.c: Un-XFAILed.
* gcc.dg/graphite/interchange-8.c: Un-XFAILed.
* gcc.dg/graphite/interchange-mvt.c: Un-XFAILed.
2011-01-15 Sebastian Pop <[email protected]>
* doc/install.texi: Update the expected version number of PPL to 0.11.
* graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
#if PPL_VERSION_MINOR < 11.
2011-01-15 Sebastian Pop <[email protected]>
* graphite-dependences.c (new_poly_ddr): Inlined into
dependence_polyhedron.
(free_poly_ddr): Moved close by new_poly_ddr.
(dependence_polyhedron_1): Renamed dependence_polyhedron.
Early return NULL when ppl_powerset_is_empty returns true.
(dependence_polyhedron): Renamed new_poly_ddr. Call only once
poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
(graphite_legal_transform_dr): Call new_poly_ddr.
(graphite_carried_dependence_level_k): Same.
(dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
(dot_transformed_deps_stmt_1): Removed.
(dot_deps_stmt_1): Call dot_deps_stmt_2.
(dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
(dot_deps_1): Call dot_deps_2.
2011-01-15 Sebastian Pop <[email protected]>
* graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
(build_lexicographical_constraint): Same.
(dependence_polyhedron_1): Same.
(graphite_legal_transform_dr): Same.
(graphite_carried_dependence_level_k): Same.
* graphite-ppl.c (ppl_powerset_is_empty): New.
* graphite-ppl.h (ppl_powerset_is_empty): Declared.
* tree-data-ref.c (dump_data_reference): Print the basic block index.
* gcc.dg/graphite/block-0.c: Add documentation.
* gcc.dg/graphite/block-4.c: Same.
* gcc.dg/graphite/block-7.c: Same.
* gcc.dg/graphite/block-8.c: New.
* gcc.dg/graphite/interchange-1.c: Un-XFAILed.
* gcc.dg/graphite/interchange-11.c: Un-XFAILed.
* gcc.dg/graphite/interchange-12.c: Add documentation.
* gcc.dg/graphite/interchange-13.c: New.
* gcc.dg/graphite/interchange-14.c: New.
* gcc.dg/graphite/interchange-15.c: New.
* gcc.dg/graphite/interchange-8.c: Add documentation.
* gcc.dg/graphite/interchange-mvt.c: Same.
2011-01-15 Sebastian Pop <[email protected]>
* graphite-dependences.c (build_pairwise_scheduling): Correctly compute
the "a followed by b" relation and document it.
2011-01-15 Sebastian Pop <[email protected]>
* graphite-dependences.c (build_lexicographical_constraint): Stop the
iteration when the bag of constraints is empty.
2011-01-15 Sebastian Pop <[email protected]>
* graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
2011-01-15 Sebastian Pop <[email protected]>
* graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
nest and two loop depths as parameters.
(lst_try_interchange_loops): Call lst_interchange_profitable_p after
lst_perfect_nestify.
2011-01-15 Sebastian Pop <[email protected]>
* graphite-dependences.c (print_pddr): Call
ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
2011-01-15 Sebastian Pop <[email protected]>
* graphite-ppl.c (debug_gmp_value): New.
* graphite-ppl.h (debug_gmp_value): Declared.
2011-01-13 Tobias Grosser <[email protected]>
* doc/install.texi: Document availability of cloog-0.16
2011-01-05 Vladimir Kargov <[email protected]>
* graphite-scop-detection.c (is_valid_stmt_p): Pass the entry basic
block instead of region start to the instantiation.
(is_valid_bb_p): Add support for basic blocks with conditional
statements.
(find_scops_new): Recalculate dominance info before SCOP
detection.
2011-01-05 Vladimir Kargov <[email protected]>
* graphite-scop-detection.c (get_outermost_loop_in_region): New.
(is_valid_loop_p): Correct loop passed to stmt_has_simple_data_refs_p
2011-01-05 Vladimir Kargov <[email protected]>
* graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
invalid postdominance info
2010-12-29 Sebastian Pop <[email protected]>
* Makefile.in (graphite-opencl-codegen.o): Update dependences.
(graphite-opencl-meta-clast.o): Same.
(graphite-opencl.o): Same.
(refined-regions.o): Same.
* graphite-opencl-codegen.c: Do not include unnecessary .h files.
* graphite-opencl-meta-clast.c: Same.
* graphite-opencl.c: Same.
* refined-regions.c: Same.
2010-12-27 Sebastian Pop <[email protected]>
* graphite-opencl-codegen.c: Use FOR_EACH_VEC_ELT.
* graphite-opencl-meta-clast.c: Same.
* graphite-opencl.c: Same.
2010-12-27 Sebastian Pop <[email protected]>
* graphite-opencl-codegen.c: Do not include sys/time.h.
* graphite-opencl.c: Same.
2010-12-27 Sebastian Pop <[email protected]>
* graphite-opencl.c (h_context, h_cmd_queue, h_program): Moved
out of ifdef HAVE_cloog section.
2010-12-27 Sebastian Pop <[email protected]>
* Makefile.in (graphite-opencl.o): Depends on
graphite-opencl-functions.def.
* graphite-opencl-functions.def: New.
* graphite-opencl.c (enum OPENCL_FUNCTIONS): Read data from
graphite-opencl-functions.def.
(opencl_function_names): Same.
(opencl_create_function_decl): Use the enum OPENCL_FUNCTIONS
as indices of opencl_function_names.
2010-12-27 Sebastian Pop <[email protected]>
* graphite-opencl-codegen.c: Fix formatting.
* graphite-opencl-meta-clast.c: Same.
* graphite-opencl.c: Same.
2010-12-27 Sebastian Pop <[email protected]>
* graphite-opencl-codegen.c: Fix formating problems.
* graphite-opencl-meta-clast.c: Same.
* graphite-opencl.c: Same.
* graphite-opencl.h: Same.
2010-12-27 Sebastian Pop <[email protected]>
* graphite-opencl-codegen.c: Sort topologically static functions.
* graphite-opencl.c: Same.
2010-12-25 Sebastian Pop <[email protected]>
* graphite-cloog-compat.h (cloog_names_nb_scattering): New.
(cloog_names_scattering): New.
* graphite-opencl-codegen.c (opencl_constant_expression_p): Use
clast_expr_* instead of expr_*. Call clast_name_to_str.
(opencl_clast_name_to_tree): Now takes a clast_name_p in parameter.
(opencl_get_scat_real_name): Same. Call clast_name_to_str.
(opencl_add_scat_as_arg): Same.
(opencl_print_local_vars): Call cloog_names_scattering and
cloog_names_nb_scattering.
(opencl_print_for): Do not call value_*.
(opencl_print_term): Same.
(opencl_print_expr): Use clast_expr_* instead of expr_*.
(opencl_print_sum): Same.
(opencl_print_binary): Same.
2010-12-25 Alexey Kravets <[email protected]>
* Makefile.in (OBJS-common): Add graphite-opencl-codegen.o,
graphite-opencl-meta-clast.o and graphite-opencl.o.
(graphite-opencl-codegen.o): New.
(graphite-opencl-meta-clast.o): New.
(graphite-opencl.o): New.
(GTFILES): Add graphite-opencl.c.
* common.opt (fgraphite-opencl): New.
(fgraphite-opencl-cpu): New.
(fgraphite-opencl-ignore-depth-heuristic): New.
(fgraphite-opencl-ignore-mem-heuristic): New.
(fgraphite-opencl-ignore-dep): New.
(fgraphite-opencl-ignore-types): New.
(fgraphite-opencl-depth-base): New.
(fgraphite-opencl-debug): New.
* graphite-opencl-codegen.c: New file.
* graphite-opencl-meta-clast.c: New file.
* graphite-opencl.c: New file.
* graphite-opencl.h: New file.
* graphite.c (graphite_transform_loops): Call graphite_opencl_init and
graphite_opencl_finalize.
* tree-ssa-loop.c (gate_graphite_transforms): Handle
flag_graphite_opencl.
* graphite-clast-to-gimple.c (gloog): Call opencl_transform_clast.
* dbgcnt.def (opencl_scop_cnt): New counter.
2010-12-25 Alexander Monakov <[email protected]>
* graphite-dependences.c (graphite_outer_subscript_bound): New.
(graphite_carried_dependence_level_k): Export.
* graphite-dependences.h (graphite_outer_subscript_bound): Declare.
(graphite_carried_dependence_level_k): Ditto.
2010-12-25 Alexey Kravets <[email protected]>
* graphite-clast-to-gimple.c (struct clast_name_index): Move
definition to graphite-clast-to-gimple.h.
(clast_name_to_index): Ditto.
(clast_name_index_elt_info): Ditto.
(eq_clast_name_indexes): Ditto.
(save_clast_name_index): Export.
(clast_name_to_gcc): Ditto.
(clast_to_gcc_expression): Ditto.
(gcc_type_for_clast_expr): Ditto.
(graphite_create_new_guard): Ditto.
(gcc_type_for_iv_of_clast_loop): Ditto.
(graphite_create_new_loop): Ditto.
(build_iv_mapping): Ditto.
(graphite_create_new_loop_guard): Ditto.
(debug_clast_name_index): New.
(debug_clast_name_indices): New debug function.
2010-12-21 Sebastian Pop <[email protected]>
PR tree-optimization/47021
* graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
2010-11-26 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but
unused warning.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
2010-11-26 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c (analyze_drs): Removed.
(build_scop_drs): Do not call analyze_drs.
(analyze_drs_in_stmts): New.
(insert_stmts): New.
(insert_out_of_ssa_copy): Call analyze_drs_in_stmts.
(insert_out_of_ssa_copy_on_edge): Same.
(rewrite_close_phi_out_of_ssa): Call insert_stmts.
(rewrite_phi_out_of_ssa): Same.
(rewrite_cross_bb_scalar_dependence): Same.
(split_reduction_stmt): Move data references in the new basic blocks.
(translate_scalar_reduction_to_array_for_stmt): Call insert_stmts.
2010-11-26 Sebastian Pop <[email protected]>
* sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments.
2010-11-22 Sebastian Pop <[email protected]>
PR middle-end/45297
* graphite-poly.c (new_poly_bb): Returns a poly_bb_p. Do not take
the reduction bool in parameter. Clear PBB_IS_REDUCTION. Set GBB_PBB.
* graphite-poly.h (new_poly_bb): Update declaration.
(gbb_from_bb): Moved here...
(pbb_from_bb): New.
* graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node):
Removed.
(graphite_stmt_p): Removed.
(try_generate_gimple_bb): Returns a gimple_bb_p. Do not pass in
sbitmap reductions. Always build a gimple_bb_p. Do not call
new_poly_bb.
(build_scop_bbs_1): Do not pass in sbitmap reductions.
(build_scop_bbs): Same.
(gbb_from_bb): ... from here.
(add_conditions_to_constraints): Moved up.
(analyze_drs): New.
(build_scop_drs): Call analyze_drs. Remove all the PBBs that do
not contain data references.
(new_pbb_from_pbb): New.
(insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a
block is split.
(rewrite_close_phi_out_of_ssa): Update call to
insert_out_of_ssa_copy_on_edge.
(rewrite_reductions_out_of_ssa): Now static.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
(split_pbb): New.
(split_reduction_stmt): Call split_pbb.
(translate_scalar_reduction_to_array): Pass in the scop, do not
pass in the sbitmap reductions.
(rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
(rewrite_commutative_reductions_out_of_ssa_loop): Same.
(rewrite_commutative_reductions_out_of_ssa): Same.
(build_poly_scop): Call build_scop_bbs,
rewrite_commutative_reductions_out_of_ssa,
rewrite_reductions_out_of_ssa, and
rewrite_cross_bb_scalar_deps_out_of_ssa. Move build_scop_drs
before scop_to_lst.
* graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa):
Removed declaration.
(rewrite_reductions_out_of_ssa): Same.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
(build_scop_bbs): Same.
* graphite.c (graphite_transform_loops): Do not initialize reductions.
Do not call build_scop_bbs,
rewrite_commutative_reductions_out_of_ssa,
rewrite_reductions_out_of_ssa, and
rewrite_cross_bb_scalar_deps_out_of_ssa.
* sese.h (struct gimple_bb): Add field pbb.
(GBB_PBB): New.
* gcc.dg/graphite/pr45297.c: New.
2010-11-22 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits):
New.
(rewrite_cross_bb_scalar_deps): Pass in the scop. Call
handle_scalar_deps_crossing_scop_limits.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB
after the scop. Update call to rewrite_cross_bb_scalar_deps.
2010-11-22 Sebastian Pop <[email protected]>
* sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr
when replacing a constant in an ADDR_EXPR.
2010-10-20 Sebastian Pop <[email protected]>
* graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter
for the stride.
(lst_do_strip_mine): Same.
(scop_do_strip_mine): Same.
* graphite-poly.c (apply_poly_transforms): Update call to
scop_do_strip_mine.
* graphite-poly.h (scop_do_strip_mine): Update declaration.
2010-09-24 Sebastian Pop <[email protected]>
PR middle-end/45758
* graphite.c (graphite_initialize): Call scev_reset.
2010-09-23 Sebastian Pop <[email protected]>
* sese.h (scev_analyzable_p): Return false for real or floating
point. Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
2010-09-23 Sebastian Pop <[email protected]>
PR middle-end/45758
* gfortran.dg/graphite/pr45758.f90: New.
2010-09-23 Sebastian Pop <[email protected]>
* graphite-scop-detection.c (is_scop_p): Free bblist.
2010-09-23 Sebastian Pop <[email protected]>
* graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
and ps.
* graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
domain.
* graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
Do not allocate ub_expr, it is passed in initialized.
2010-09-21 Andreas Simbuerger <[email protected]>
* common.opt (fgraphite-dump-cloog): New flag.
* doc/invoke.texi (-fgraphite-dump-cloog): Documented.
* graphite-clast-to-gimple.c (init_cloog_input_file): New.
(build_cloog_prog): Dump CLooG input file when
flag_graphite_dump_cloog is set.
* graphite-cloog-compat.h (cloog_program_dump_cloog): New.
2010-09-20 Sebastian Pop <[email protected]>
Revert previous patch "New flag: -fgraphite-dump-cloog."
2010-09-20 Andreas Simbuerger <[email protected]>
* common.opt (fgraphite-dump-cloog): New flag.
* doc/invoke.texi (-fgraphite-dump-cloog): Documented.
* graphite-clast-to-gimple.c (init_cloog_input_file): New.
(build_cloog_prog): Dump CLooG input file when
flag_graphite_dump_cloog is set.
2010-09-20 Sebastian Pop <[email protected]>
* graphite-clast-to-gimple.c (graphite_verify): Remove call to
verify_dominators for CDI_POST_DOMINATORS.
* sese.h: Remove comment about CDI_POST_DOMINATORS.
(recompute_all_dominators): Remove call to free_dominance_info
for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info
for CDI_POST_DOMINATORS.
2010-09-09 Sebastian Pop <[email protected]>
* graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
over pbb_dim_iter_domain.
2010-09-09 Sebastian Pop <[email protected]>
* graphite-flattening.c: Fix comments.
2010-09-09 Sebastian Pop <[email protected]>
* Makefile.in (OBJS-common): Add graphite-flattening.o.
(graphite-flattening.o): New rule.
* common.opt (floop-flatten): New flag.
* doc/invoke.texi (-floop-flatten): Documented.
* graphite-flattening.c: New.
* graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
* graphite-poly.h (flatten_all_loops): Declared.
(lst_remove_loop_and_inline_stmts_in_loop_father): New.
* tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
is set, also set flag_graphite.
2010-09-09 Sebastian Pop <[email protected]>
* graphite-poly.c (cloog_checksum): New.
* graphite-poly.h (cloog_checksum): Declared.
2010-09-09 Sebastian Pop <[email protected]>
* graphite-poly.c (pbb_number_of_iterations): Removed.
(pbb_number_of_iterations_at_time): Correctly compute the number
of iterations in the transformed loop.
* graphite-poly.h (pbb_number_of_iterations): Removed.
2010-09-09 Sebastian Pop <[email protected]>
* graphite-poly.h (lst_update_scattering_seq): Removed.
(lst_update_scattering): Correctly handle outermost loop dewey
renumbering.
2010-09-09 Sebastian Pop <[email protected]>
* graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
lst_strip_mine_profitable_p. Call lst_niter_for_loop.
* graphite-poly.h (lst_niter_for_loop): New.
2010-09-09 Sebastian Pop <[email protected]>
* graphite-poly.c (apply_poly_transforms): Do not abort when the
transform read from disk is not legal. Call fatal_error instead.
2010-09-09 Sebastian Pop <[email protected]>
* graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
(print_scop_header): Removed. Inlined in the only call place...
(print_scop): ... here.
2010-09-09 Sebastian Pop <[email protected]>
* graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
2010-09-02 Vladimir Kargov <[email protected]>
* graphite-scop-detection.c (is_valid_expr_p, is_valid_loop_p): New.
(is_valid_stmt_p): Add data reference and operation-specific checks.
(is_valid_bb_p): Change structure, add loop validity check.
(is_scop_p): Move the TODO list
(find_scops_new): New.
(build_scops_new): Move part of functionality to find_scops_new and
build_scops. Add necessary steps for successful SCoP construction.
(build_scops): Compute SCoP sets for both detection algorithms, choose
the resulting one depending on static condition.
2010-08-24 Sebastian Pop <[email protected]>
* graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
2010-08-24 Sebastian Pop <[email protected]>
* graphite-dependences.c (dot_deps): Avoid set but not used warning.
(dot_deps_stmt): Same.
* graphite-poly.c (dot_lst): Same.
2010-08-23 Sebastian Pop <[email protected]>
* graphite-blocking.c (scop_do_strip_mine): Do not call
graphite_legal_transform.
(scop_do_block): Same.
2010-08-20 Vladimir Kargov <[email protected]>
* graphite-scop-detection.c (graphite_can_represent_loop): Correct the
description.
2010-08-20 Sebastian Pop <[email protected]>
PR middle-end/45230
* gcc.dg/graphite/id-pr45230.c: New.
2010-08-20 Sebastian Pop <[email protected]>
* tree-scalar-evolution.c (instantiate_array_ref): New.
(instantiate_scev_r): Also handle ARRAY_REFs.
2010-08-20 Sebastian Pop <[email protected]>
* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
RESULT_DECL, and FIELD_DECL. Return false for an
SSA_NAME_IS_DEFAULT_DEF.
(compute_scalar_evolution_in_loop): Do not further analyze the
scalar evolution when no_evolution_in_loop_p returns true.
2010-08-20 Sebastian Pop <[email protected]>
* tree-chrec.h (evolution_function_is_affine_p): Do not check
whether CHREC_LEFT is invariant. A function is affine when
CHREC_RIGHT is invariant.
2010-08-20 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c (reduction_phi_p): Remove check for
is_gimple_reg.
(rewrite_degenerate_phi): Same.
(rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
2010-08-18 Vladimir Kargov <[email protected]>
* graphite-scop-detection.c (graphite_can_represent_scev,
graphite_can_represent_expr, stmt_has_simple_data_refs_p,
graphite_can_represent_loop): Remove outermost_loop.
2010-08-17 Sebastian Pop <[email protected]>
PR middle-end/45229
* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
handle GIMPLE_CALLs with no LHS.
2010-08-17 Riyadh Baghdadi <[email protected]>
Sebastian Pop <[email protected]>
* gcc.dg/graphite/graphite.exp: Add test rules for openscop read/write.
Call remove-build-file to clean up the generated *.graphite files.
2010-08-17 Riyadh Baghdadi <[email protected]>
* doc/invoke.texi (debugging options): Update documentation.
(-floop-interchange): Same.
(-flopp-strip-mine): Same.
(-floop-block): Same.
(-fgraphite-read): Add documentation.
(-fgraphite-write): Same.
2010-08-17 Riyadh Baghdadi <[email protected]>
* toplev.c (process_options): Disable graphite loop optimization
options when -fgraphite-read flag is used.
2010-08-17 Riyadh Baghdadi <[email protected]>
* graphite-poly.c (init_graphite_out_file): New.
(init_graphite_in_file): New.
(apply_poly_transforms): Updated to enable reading and writing of
multiple scop files.
* toplev.c (init_asm_output): Remove graphite in/out file initialization.
2010-08-17 Tobias Grosser <[email protected]>
* graphite-scop-detection.c (graphite_can_represent_scev): Remove
redundant checks.
2010-08-12 Sebastian Pop <[email protected]>
* graphite-clast-to-gimple.c (precision_for_value): Adjust
computation of precision by 1.
2010-08-12 Riyadh Baghdadi <[email protected]>
* graphite-cloog-util.c (openscop_read_cloog_matrix): New.
(openscop_read_polyhedron_matrix): New.
* graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
(openscop_read_N_int): Same.
* graphite-poly.c (openscop_read_N_int): New.
(openscop_read_one_int): New.
(openscop_read_N_string): New.
(openscop_read_one_string): New.
(openscop_read_powerset_matrix): New.
(graphite_read_transforms): Remove.
(graphite_read_scatt): New.
(graphite_read_scop_file): New.
(apply_poly_transforms): Updated to call graphite_read_scop_file.
2010-08-11 Andreas Simbuerger <[email protected]>
* graphite-poly.c: Change include order.
2010-08-11 Andreas Simbuerger <[email protected]>
* graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
(cloog_matrix_nrows): New.
2010-08-11 Riyadh Baghdadi <[email protected]>
* graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
from matrix lines.
* graphite-poly.c (openscop_print_scattering_function_1): Same.
(print_scattering_function_1): Same.
(openscop_print_pbb_domain): Same.
(openscop_print_scop_context): Same.
(print_scop_context): Same.
2010-08-11 Riyadh Baghdadi <[email protected]>
* graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
(openscop_print_pdr_polyhedron): Print pph.
2010-07-29 Sebastian Pop <[email protected]>
* gcc.dg/graphite/graphite.exp: Add compile rules for vect-* files.
* gfortran.dg/graphite/graphite.exp: Same.
* gcc.dg/graphite/vect-pr43423.c: New.
2010-07-29 Sebastian Pop <[email protected]>
* graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
priority signed types.
2010-07-29 Sebastian Pop <[email protected]>
* graphite-clast-to-gimple.c (max_signed_precision_type): Remove the call
to lang_hooks.types.type_for_size. Call build_nonstandard_integer_type.
2010-07-29 Riyadh Baghdadi <[email protected]>
* graphite-cloog-util.c (openscop_print_cloog_matrix): New.
(openscop_print_polyhedron_matrix): New.
* graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
* graphite-poly.c (openscop_print_pdr_polyhedron): Same.
(openscop_print_pdr_powerset): New.
(openscop_print_powerset_matrix): New.
(openscop_print_scattering_function_1): New.
(print_scattering_function): Add support for scattering names and
OpenScop format.
(graphite_write_transforms): Remove.
(apply_poly_transforms): Updated to call print_scop.
(print_pdr_access_layout): Updated to support OpenScop format.
(print_pdr): Same.
(openscop_print_pbb_domain): New.
(print_pbb_body): Added a parameter to allow indicating that pbb_body is
not provided.
(print_pbb): Updated to call the new print_pbb_body.
(openscop_print_scop_context): New.
(print_scop_header): New.
(print_scop): Updated to call print_scop_header.
* graphite-poly.h: Document OpenScop format.
2010-07-29 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
the case removed in the previous patch, when the only phi argument
is defined in the same loop as the phi node itself. Handle it
separately from the invariant case by both propagating it outside
the region and replacing the phi node with an assign.
2010-07-28 Sebastian Pop <[email protected]>
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
constant phi nodes with one argument are is_gimple_min_invariant
and SSA_NAME_IS_DEFAULT_DEF.
* gfortran.dg/graphite/id-22.f: New.
2010-07-27 Andreas Simbuerger <[email protected]>
* graphite.c (graphite_initialize): Do not initialize
CLooG and initialize the Parma Polyhedra Library
manually when using CLOOG_ORG.
(graphite_finalize): Do not finalize CLooG and finalize
the Parma Polyhedra Library manually when using CLOOG_ORG.
* graphite-cloog-compat.h (cloog_initialize): Hide function
when using CLOOG_ORG.
(cloog_finalize): Same.
2010-07-27 Andreas Simbuerger <[email protected]>
* graphite-clast-to-gimple.c (free_scattering): Change
CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering
(CLOOG_ORG).
(build_cloog_prog): Same.
* graphite-cloog-compat.h (cloog_domain): Removed.
(cloog_scattering): New.
(cloog_set_domain): Removed.
(cloog_set_scattering): New.
(cloog_next_domain): Removed.
(cloog_next_scattering): New.
(cloog_set_next_domain): Removed.
(cloog_set_next_scattering): New.
(CloogScatteringList): New.
(CloogScattering): New.
(cloog_scattering_free): New.
(new_Cloog_Scattering_from_ppl_Polyhedron): New.
* graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron):
New.
2010-07-27 Andreas Simbuerger <[email protected]>
* graphite-clast-to-gimple.c (build_cloog_prog): Extend with
CloogState.
(set_cloog_options): Same.
(print_clast_stmt): Same.
(scop_to_clast): Same.
(print_generated_program): Same.
(gloog): Same.
* graphite-clast-to-gimple.h: Include graphite-cloog-util.h.