re PR tree-optimization/70960 (ICE: tree check: expected ssa_name, have integer_cst in ifcvt_walk_pattern_tree, at tree-if-conv.c:2465)

2016-05-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70960
	* tree-if-conv.c (ifcvt_walk_pattern_tree): Handle non-SSA ops.

	* gfortran.fortran-torture/compile/pr70960.f90: New testcase.

From-SVN: r235953
This commit is contained in:
Richard Biener 2016-05-06 10:18:59 +00:00 committed by Richard Biener
parent 765d7b5470
commit 078f7e37ba
4 changed files with 23 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2016-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/70960
* tree-if-conv.c (ifcvt_walk_pattern_tree): Handle non-SSA ops.
2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
PR target/52933

View File

@ -1,3 +1,8 @@
2016-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/70960
* gfortran.fortran-torture/compile/pr70960.f90: New testcase.
2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
PR target/52933

View File

@ -0,0 +1,10 @@
SUBROUTINE calbrec(a,ai,error)
REAL(KIND=8) :: a(3,3), ai(3,3)
DO i = 1, 3
il = 1
IF (i==1) il = 2
DO j = 1, 3
ai(j,i) = (-1.0_8)**(i+j)*det*(a(il,jl)*a(iu,ju)-a(il,ju)*a(iu,jl))
END DO
END DO
END SUBROUTINE calbrec

View File

@ -2462,6 +2462,9 @@ ifcvt_walk_pattern_tree (tree var, vec<gimple *> *defuse_list,
enum tree_code code;
gimple *def_stmt;
if (TREE_CODE (var) != SSA_NAME)
return;
def_stmt = SSA_NAME_DEF_STMT (var);
if (gimple_code (def_stmt) != GIMPLE_ASSIGN)
return;