https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68279

            Bug ID: 68279
           Summary: ICE: in create_pw_aff_from_tree, at
                    graphite-sese-to-poly.c:836
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: Joost.VandeVondele at mat dot ethz.ch
  Target Milestone: ---

with gcc version 6.0.0 20151110 (experimental) [trunk revision 230080] (GCC) 

> gfortran -c -O2  -floop-nest-optimize  bug.f90
internal compiler error: in create_pw_aff_from_tree, at
graphite-sese-to-poly.c:836
0x1252a13 create_pw_aff_from_tree
        ../../gcc/gcc/graphite-sese-to-poly.c:836
0x1252a13 create_pw_aff_from_tree
        ../../gcc/gcc/graphite-sese-to-poly.c:831
0x1258c9b add_condition_to_pbb
        ../../gcc/gcc/graphite-sese-to-poly.c:849
0x1258c9b add_conditions_to_domain
        ../../gcc/gcc/graphite-sese-to-poly.c:917
0x1258c9b add_conditions_to_constraints
        ../../gcc/gcc/graphite-sese-to-poly.c:940
0x1258c9b build_poly_scop(scop*)
        ../../gcc/gcc/graphite-sese-to-poly.c:1840
0x124773b graphite_transform_loops()
        ../../gcc/gcc/graphite.c:332
0x1247bd0 graphite_transforms
        ../../gcc/gcc/graphite.c:367
0x1247bd0 execute
        ../../gcc/gcc/graphite.c:444
Please submit a full bug report,

> cat bug.f90
MODULE dbcsr_mm_accdrv
  INTEGER, SAVE :: accdrv_binning_nbins = 4096
  INTEGER, SAVE :: accdrv_binning_binsize = 16
  INTEGER, PARAMETER, PUBLIC :: dbcsr_ps_width = 7
  CONTAINS
  SUBROUTINE stack_binning(params_in, params_out, stack_size)
    INTEGER, INTENT(IN)                      :: stack_size
    INTEGER, DIMENSION(dbcsr_ps_width, &
      stack_size), INTENT(OUT)               :: params_out
    INTEGER, DIMENSION(dbcsr_ps_width, &
      stack_size), INTENT(IN)                :: params_in
    INTEGER, DIMENSION(accdrv_binning_nbins) :: bin_top
    INTEGER, DIMENSION(dbcsr_ps_width)       :: val
    INTEGER, DIMENSION(dbcsr_ps_width, &
      accdrv_binning_binsize, &
      accdrv_binning_nbins)                  :: bin_arr
     DO i=1,stack_size
        val(:) = params_in(:,i)
        IF(bin_top(bin_id) > accdrv_binning_binsize) THEN
           params_out(:, top:top+bin_top(bin_id)-2) = bin_arr(:,
1:bin_top(bin_id)-1, bin_id)
        ENDIF
        bin_arr(:, bin_top(bin_id), bin_id) =  val(:)
        bin_top(bin_id) = bin_top(bin_id) + 1
     END DO
  END SUBROUTINE  stack_binning

Reply via email to