[Bug tree-optimization/89182] New: [8/9 Regression] [graphite] ICE in extract_affine, at graphite-sese-to-poly.c:280

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Mon Feb 4 04:38:00 GMT 2019


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

            Bug ID: 89182
           Summary: [8/9 Regression] [graphite] ICE in extract_affine, at
                    graphite-sese-to-poly.c:280
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

gfortran-9.0.0-alpha20190127 snapshot (r268327) ICEs when compiling the
following testcase reduced from gcc/testsuite/gfortran.dg/pr68251.f90 w/ -m32
-O3 (-Ofast) -fgraphite-identity --param max-completely-peeled-insns=8:

MODULE hfx_contract_block
  INTEGER, PARAMETER :: dp=8
CONTAINS
  SUBROUTINE contract_block(mb_max,mc_max,kbc,ks_bc)
    REAL(KIND=dp) :: kbc(mb_max*mc_max), ks_bc
    CALL block_1_2_1_2(kbc,ks_bc)
    CALL block_1_2_1_3(kbc,ks_bc)
    CALL block_1_2_1_3(kbc,ks_bc)
  END SUBROUTINE contract_block
  SUBROUTINE block_1_2_1_2(kbc,ks_bc)
    REAL(KIND=dp) :: kbc(2*1), ks_bc
    DO mc = 1,2
       DO mb = 1,2
          kbc((mc-1)*2+mb) = ks_bc
       END DO
    END DO
  END SUBROUTINE block_1_2_1_2
  SUBROUTINE block_1_2_1_3(kbc,ks_bc)
    REAL(KIND=dp) :: kbc(2*1), ks_bc
    DO md = 1,3
       DO mc = 1,1
          DO mb = 1,2
             kbc((mc-1)*2+mb) = kbc((mc-1)*2+mb) - ks_bc
          END DO
       END DO
    END DO
  END SUBROUTINE block_1_2_1_3
END MODULE hfx_contract_block

% powerpc-e300c3-linux-gnu-gfortran-9.0.0-alpha20190127 -m32 -O3
-fgraphite-identity --param max-completely-peeled-insns=8 -c vlehb6sh.f90
during GIMPLE pass: graphite
vlehb6sh.f90:4:0:

    4 |   SUBROUTINE contract_block(mb_max,mc_max,kbc,ks_bc)
      | 
internal compiler error: in extract_affine, at graphite-sese-to-poly.c:280
0x14e8572 extract_affine
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/graphite-sese-to-poly.c:280
0x14e8337 extract_affine
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/graphite-sese-to-poly.c:293
0x14e8609 extract_affine
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/graphite-sese-to-poly.c:259
0x14e8d16 add_loop_constraints
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/graphite-sese-to-poly.c:788
0x14e8b78 add_loop_constraints
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/graphite-sese-to-poly.c:749
0x14e9187 build_iteration_domains
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/graphite-sese-to-poly.c:850
0x14e979f build_poly_scop(scop*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/graphite-sese-to-poly.c:1213
0x14da111 graphite_transform_loops()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/graphite.c:406
0x14da6a0 graphite_transforms
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/graphite.c:476
0x14da6a0 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/graphite.c:553

(While my target here is powerpc, the ICE is not target-specific.)


More information about the Gcc-bugs mailing list