OSDN Git Service

* tree-chrec.c (reset_evolution_in_loop): Use build3 instead of
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 6 Jun 2005 19:27:55 +0000 (19:27 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 6 Jun 2005 19:27:55 +0000 (19:27 +0000)
build2.

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

gcc/ChangeLog
gcc/tree-chrec.c

index 2007efc..0bbc3a6 100644 (file)
@@ -1,5 +1,8 @@
 2005-06-06  Jakub Jelinek  <jakub@redhat.com>
 
+       * tree-chrec.c (reset_evolution_in_loop): Use build3 instead of
+       build2.
+
        * fold-const.c (operand_equal_p): Don't return 1, if element
        chains for 2 VECTOR_CSTs are not the same length.
 
index bd8bafc..1a7e8c8 100644 (file)
@@ -725,12 +725,16 @@ reset_evolution_in_loop (unsigned loop_num,
 {
   if (TREE_CODE (chrec) == POLYNOMIAL_CHREC
       && CHREC_VARIABLE (chrec) > loop_num)
-    return build2 
-      (TREE_CODE (chrec), 
-       build_int_cst (NULL_TREE, CHREC_VARIABLE (chrec)), 
-       reset_evolution_in_loop (loop_num, CHREC_LEFT (chrec), new_evol), 
-       reset_evolution_in_loop (loop_num, CHREC_RIGHT (chrec), new_evol));
-  
+    {
+      tree left = reset_evolution_in_loop (loop_num, CHREC_LEFT (chrec),
+                                          new_evol);
+      tree right = reset_evolution_in_loop (loop_num, CHREC_RIGHT (chrec),
+                                           new_evol);
+      return build3 (POLYNOMIAL_CHREC, TREE_TYPE (left),
+                    build_int_cst (NULL_TREE, CHREC_VARIABLE (chrec)),
+                    left, right);
+    }
+
   while (TREE_CODE (chrec) == POLYNOMIAL_CHREC
         && CHREC_VARIABLE (chrec) == loop_num)
     chrec = CHREC_LEFT (chrec);