Recent trunk crashes on the following testcase:

> gfortran -c  -floop-block -O3  bug.f90
MODULE util
  INTEGER, PARAMETER :: int_4=4
  INTERFACE sort
     MODULE PROCEDURE sort_int_4v
  END INTERFACE
CONTAINS
  SUBROUTINE sort_int_4v ( arr, n, index )
    INTEGER(KIND=int_4), INTENT(INOUT)       :: arr(1:n)
    INTEGER, INTENT(OUT)                     :: INDEX(1:n)
    DO i = 1, n
       INDEX(i) = i
    END DO
1   IF (ir-l<m) THEN
       DO j = l + 1, ir
          DO i = j - 1, 1, -1
             IF (arr(i)<=a) GO TO 2
             arr(i+1) = arr(i)
             INDEX(i+1) = INDEX(i)
          END DO
2         arr(i+1) = a
       END DO
    END IF
  END SUBROUTINE sort_int_4v
  SUBROUTINE create_destination_list(list)
    INTEGER, DIMENSION(:, :, :), POINTER     :: list
    INTEGER                                  ::  icpu, ncpu, stat, ultimate_max
    INTEGER, ALLOCATABLE, DIMENSION(:)       :: index, sublist
    ultimate_max=7
    ALLOCATE(INDEX(ultimate_max),STAT=stat)
    CALL t(stat==0)
    ALLOCATE(sublist(ultimate_max),STAT=stat)
    DO icpu=0,ncpu-1
       CALL sort(sublist,ultimate_max,index)
       list(1,:,icpu)=sublist
       list(2,:,icpu)=0
    ENDDO
  END SUBROUTINE create_destination_list
END MODULE


with the following trace


#0  0x0000000000936ad4 in expr_invariant_in_loop_p (loop=0x7faaf9409220,
expr=0x7faaf939ef20) at /data03/vondele/gcc_trunk/gcc/gcc/gimple.h:1149
#1  0x0000000000ce643f in evolution_function_is_invariant_rec_p (chrec=0x2,
loopnum=4) at /data03/vondele/gcc_trunk/gcc/gcc/tree-chrec.c:1009
#2  0x0000000000ce6337 in evolution_function_is_invariant_rec_p
(chrec=0x7faaf941aaf0, loopnum=4) at
/data03/vondele/gcc_trunk/gcc/gcc/tree-chrec.c:1028
#3  0x0000000000ce6373 in evolution_function_is_invariant_rec_p
(chrec=0x7faaf941ab28, loopnum=4) at
/data03/vondele/gcc_trunk/gcc/gcc/tree-chrec.c:1033
#4  0x0000000000ce8318 in chrec_convert_1 (type=0x7faaf947b000,
chrec=0x7faaf93efd80, at_stmt=0x0, use_overflow_semantics=1 '\001')
    at /data03/vondele/gcc_trunk/gcc/gcc/tree-chrec.c:1050
#5  0x00000000008e43e3 in analyze_scalar_evolution_1 (loop=0x7faaf9409220,
var=0x7faaf9415c30, res=0x7faaf93960f0) at
/data03/vondele/gcc_trunk/gcc/gcc/tree-scalar-evolution.c:1804
#6  0x00000000008e5047 in analyze_scalar_evolution (loop=0x7faaf9409220,
var=0x7faaf9415c30) at
/data03/vondele/gcc_trunk/gcc/gcc/tree-scalar-evolution.c:1950
#7  0x00000000008e6e88 in interpret_rhs_expr (loop=0x7faaf9409220, at_stmt=0x0,
type=0x7faaf947b000, rhs1=0x7faaf9415c30, code=MULT_EXPR, rhs2=0x7faaf946a410)
    at /data03/vondele/gcc_trunk/gcc/gcc/tree-scalar-evolution.c:1768
#8  0x00000000008e43e3 in analyze_scalar_evolution_1 (loop=0x7faaf9409220,
var=0x7faaf941d000, res=0x7faaf93960f0) at
/data03/vondele/gcc_trunk/gcc/gcc/tree-scalar-evolution.c:1804
#9  0x00000000008e5047 in analyze_scalar_evolution (loop=0x7faaf9409220,
var=0x7faaf941d000) at
/data03/vondele/gcc_trunk/gcc/gcc/tree-scalar-evolution.c:1950
#10 0x00000000008e6127 in analyze_scalar_evolution_in_loop
(wrto_loop=0x7faaf9409220, use_loop=0x7faaf9409220, version=0x0,
folded_casts=0x7fff5174462f "")
    at /data03/vondele/gcc_trunk/gcc/gcc/tree-scalar-evolution.c:2038
#11 0x00000000008e628d in simple_iv (wrto_loop=0x7faaf9409220, use_loop=0x2,
op=0x8b, iv=0x7fff51744680, allow_nonconstant_step=0 '\0')
    at /data03/vondele/gcc_trunk/gcc/gcc/tree-scalar-evolution.c:3132
#12 0x000000000088c29b in dr_analyze_innermost (dr=0x148c8a0) at
/data03/vondele/gcc_trunk/gcc/gcc/tree-data-ref.c:794
#13 0x000000000088c97f in create_data_ref (nest=0x7faaf94092a8,
memref=0x7faaf93741f8, stmt=0x7faaf9389410, is_read=0 '\0') at
/data03/vondele/gcc_trunk/gcc/gcc/tree-data-ref.c:964
#14 0x000000000088d5e6 in graphite_find_data_references_in_stmt
(nest=0x7faaf94092a8, stmt=0x7faaf9389410, datarefs=0x7fff51744880)
    at /data03/vondele/gcc_trunk/gcc/gcc/tree-data-ref.c:4262
#15 0x0000000000c7f337 in scopdet_basic_block_info (bb=0x7faaf9412ea0,
outermost_loop=0x7faaf94092a8, scops=0x7fff517449f8,
type=GBB_LOOP_SING_EXIT_HEADER)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:285
#16 0x0000000000c7fde2 in build_scops_1 (current=0x7faaf9412ea0,
outermost_loop=0x7faaf94092a8, scops=0x7fff517449f8, loop=0x7faaf9409330)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:750
#17 0x0000000000c7fac4 in scopdet_basic_block_info (bb=0x7faaf938dc98,
outermost_loop=0x7faaf94092a8, scops=0x7fff51744b68, type=<value optimized
out>)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:636
#18 0x0000000000c7fde2 in build_scops_1 (current=0x7faaf938dc98,
outermost_loop=0x7faaf94092a8, scops=0x7fff51744b68, loop=0x7faaf9409330)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:750
#19 0x0000000000c7fa80 in scopdet_basic_block_info (bb=0x7faaf9417340,
outermost_loop=0x7faaf94092a8, scops=0x7fff51744cd8, type=<value optimized
out>)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:697
#20 0x0000000000c7fde2 in build_scops_1 (current=0x7faaf9417340,
outermost_loop=0x7faaf94092a8, scops=0x7fff51744cd8, loop=0x7faaf9409330)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:750
#21 0x0000000000c7f7a3 in scopdet_basic_block_info (bb=0x7faaf9412e38,
outermost_loop=0x7faaf94092a8, scops=0x7fff51744e48, type=<value optimized
out>)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:478
#22 0x0000000000c7fde2 in build_scops_1 (current=0x7faaf9412e38,
outermost_loop=0x7faaf94092a8, scops=0x7fff51744e48, loop=0x7faaf94092a8)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:750
#23 0x0000000000c7fac4 in scopdet_basic_block_info (bb=0x7faaf94a0ea0,
outermost_loop=0x7faaf94092a8, scops=0x7fff51744fb8, type=<value optimized
out>)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:636
#24 0x0000000000c7fde2 in build_scops_1 (current=0x7faaf94a0ea0,
outermost_loop=0x7faaf94092a8, scops=0x7fff51744fb8, loop=0x7faaf94092a8)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:750
#25 0x0000000000c7fa80 in scopdet_basic_block_info (bb=0x7faaf94a0b60,
outermost_loop=0x7faaf94092a8, scops=0x7fff51745178, type=<value optimized
out>)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:697
#26 0x0000000000c7fde2 in build_scops_1 (current=0x7faaf94a0b60,
outermost_loop=0x7faaf94092a8, scops=0x7fff51745178, loop=0x7faaf94092a8)
    at /data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:750
#27 0x0000000000c8020a in build_scops (scops=0x7fff51745230) at
/data03/vondele/gcc_trunk/gcc/gcc/graphite-scop-detection.c:1329
#28 0x0000000000c71e61 in graphite_transform_loops () at
/data03/vondele/gcc_trunk/gcc/gcc/graphite.c:270
#29 0x0000000000948967 in graphite_transforms () at
/data03/vondele/gcc_trunk/gcc/gcc/tree-ssa-loop.c:296
#30 0x00000000007bd5af in execute_one_pass (pass=0x1293780) at
/data03/vondele/gcc_trunk/gcc/gcc/passes.c:1573
#31 0x00000000007bd8a5 in execute_pass_list (pass=0x1293780) at
/data03/vondele/gcc_trunk/gcc/gcc/passes.c:1628
#32 0x00000000007bd8bd in execute_pass_list (pass=0x1293720) at
/data03/vondele/gcc_trunk/gcc/gcc/passes.c:1629
#33 0x00000000007bd8bd in execute_pass_list (pass=0x1293480) at
/data03/vondele/gcc_trunk/gcc/gcc/passes.c:1629
#34 0x00000000007bd8bd in execute_pass_list (pass=0x1292ac0) at
/data03/vondele/gcc_trunk/gcc/gcc/passes.c:1629


-- 
           Summary: [4.6 Regression] ICE in expr_invariant_in_loop_p
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: Joost dot VandeVondele at pci dot uzh dot ch


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45758

Reply via email to