mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-21 14:41:07 +08:00
re PR tree-optimization/42285 (ICE in Graphite's scan_tree_for_params for 416.gamess)
Fix PR42285. 2009-12-08 Sebastian Pop <sebpop@gmail.com> PR middle-end/42285 * graphite-scop-detection.c (graphite_can_represent_init): Also handle more complex MULT_EXPRs containing parameters by recursion on the structure. * testsuite/gfortran.dg/graphite/pr42285.f90: New. From-SVN: r155108
This commit is contained in:
parent
da8a7529b5
commit
d505015aa5
@ -1,3 +1,16 @@
|
||||
2009-12-08 Sebastian Pop <sebpop@gmail.com>
|
||||
|
||||
PR middle-end/42285
|
||||
* graphite-scop-detection.c (graphite_can_represent_init): Also
|
||||
handle more complex MULT_EXPRs containing parameters by recursion
|
||||
on the structure.
|
||||
|
||||
* testsuite/gfortran.dg/graphite/pr42285.f90: New.
|
||||
|
||||
2009-12-01 Tobias Grosser <grosser@fim.uni-passau.de>
|
||||
|
||||
* testsuite/g++.dg/graphite/pr42130.C: Fix type.
|
||||
|
||||
2009-11-29 Alexander Monakov <amonakov@gcc.gnu.org>
|
||||
|
||||
* testsuite/g++.dg/graphite/pr42130.C: Correct testcase.
|
||||
|
@ -168,9 +168,11 @@ graphite_can_represent_init (tree e)
|
||||
|
||||
case MULT_EXPR:
|
||||
if (chrec_contains_symbols (TREE_OPERAND (e, 0)))
|
||||
return host_integerp (TREE_OPERAND (e, 1), 0);
|
||||
return graphite_can_represent_init (TREE_OPERAND (e, 0))
|
||||
&& host_integerp (TREE_OPERAND (e, 1), 0);
|
||||
else
|
||||
return host_integerp (TREE_OPERAND (e, 0), 0);
|
||||
return graphite_can_represent_init (TREE_OPERAND (e, 1))
|
||||
&& host_integerp (TREE_OPERAND (e, 0), 0);
|
||||
|
||||
case PLUS_EXPR:
|
||||
case POINTER_PLUS_EXPR:
|
||||
|
24
gcc/testsuite/gfortran.dg/graphite/pr42285.f90
Normal file
24
gcc/testsuite/gfortran.dg/graphite/pr42285.f90
Normal file
@ -0,0 +1,24 @@
|
||||
! { dg-options "-O2 -floop-interchange" }
|
||||
|
||||
SUBROUTINE EFGRDM(NCF,NFRG,G,RTRMS,GM,IOPT,K1)
|
||||
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
|
||||
DIMENSION G(*),RTRMS(*),GM(*)
|
||||
|
||||
DUM = 0
|
||||
DO I=1,NFRG
|
||||
DO J=1,3
|
||||
IF (IOPT.EQ.0) THEN
|
||||
GM(K1)=G(K1)
|
||||
END IF
|
||||
END DO
|
||||
DO J=1,3
|
||||
JDX=NCF*9+IOPT*9*NFRG
|
||||
DO M=1,3
|
||||
DUM=DUM+RTRMS(JDX+M)
|
||||
END DO
|
||||
GM(K1)=DUM
|
||||
END DO
|
||||
END DO
|
||||
RETURN
|
||||
END SUBROUTINE EFGRDM
|
||||
|
Loading…
x
Reference in New Issue
Block a user