OSDN Git Service

PR tree-optimization/37416
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 Dec 2008 22:47:20 +0000 (22:47 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 Dec 2008 22:47:20 +0000 (22:47 +0000)
* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle NOP_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142616 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-scalar-evolution.c

index d9d9fd7..431a97a 100644 (file)
@@ -1,3 +1,8 @@
+2008-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/37416
+       * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle NOP_EXPR.
+
 2008-12-09  Janis Johnson  <janis187@us.ibm.com>
 
        * doc/sourcebuild.texi (Test Directives): Fix formatting.
index 51bbd4b..e3d60e9 100644 (file)
@@ -1229,6 +1229,18 @@ follow_ssa_edge_in_rhs (struct loop *loop, gimple stmt,
     case GIMPLE_SINGLE_RHS:
       return follow_ssa_edge_expr (loop, stmt, gimple_assign_rhs1 (stmt),
                                   halting_phi, evolution_of_loop, limit);
+    case GIMPLE_UNARY_RHS:
+      if (code == NOP_EXPR)
+       {
+         /* This assignment is under the form "a_1 = (cast) rhs.  */
+         t_bool res
+           = follow_ssa_edge_expr (loop, stmt, gimple_assign_rhs1 (stmt),
+                                   halting_phi, evolution_of_loop, limit);
+         *evolution_of_loop = chrec_convert (type, *evolution_of_loop, stmt);
+         return res;
+       }
+      /* FALLTHRU */
+
     default:
       return t_false;
     }