diff options
author | Richard Guenther <rguenther@suse.de> | 2012-01-03 12:07:18 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-01-03 12:07:18 +0000 |
commit | c3e85659f16f012074dc41ac48f520ad2334e589 (patch) | |
tree | d98ac5284006305dc62834e4c78736fffd83b15c /gcc/tree-loop-distribution.c | |
parent | f1749ec1b1a5acad4a279b17f14aac174bf7a679 (diff) | |
download | gcc-c3e85659f16f012074dc41ac48f520ad2334e589.zip gcc-c3e85659f16f012074dc41ac48f520ad2334e589.tar.gz gcc-c3e85659f16f012074dc41ac48f520ad2334e589.tar.bz2 |
re PR tree-optimization/51070 (ICE verify_gimple failed)
2012-01-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/51070
* tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
Properly handle calls.
* gcc.dg/torture/pr51070-2.c: New testcase.
From-SVN: r182839
Diffstat (limited to 'gcc/tree-loop-distribution.c')
-rw-r--r-- | gcc/tree-loop-distribution.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c index 0daef06..67c3c41 100644 --- a/gcc/tree-loop-distribution.c +++ b/gcc/tree-loop-distribution.c @@ -89,8 +89,9 @@ stmt_has_scalar_dependences_outside_loop (gimple stmt) switch (gimple_code (stmt)) { + case GIMPLE_CALL: case GIMPLE_ASSIGN: - name = gimple_assign_lhs (stmt); + name = gimple_get_lhs (stmt); break; case GIMPLE_PHI: @@ -101,8 +102,10 @@ stmt_has_scalar_dependences_outside_loop (gimple stmt) return false; } - return TREE_CODE (name) == SSA_NAME - && ssa_name_has_uses_outside_loop_p (name, loop_containing_stmt (stmt)); + return (name + && TREE_CODE (name) == SSA_NAME + && ssa_name_has_uses_outside_loop_p (name, + loop_containing_stmt (stmt))); } /* Update the PHI nodes of NEW_LOOP. NEW_LOOP is a duplicate of |