]> gcc.gnu.org Git - gcc.git/commitdiff
tree-chrec.c (evolution_function_is_invariant_rec_p): Use CHREC_LEFT and CHREC_RIGHT...
authorSebastian Pop <pop@cri.ensmp.fr>
Fri, 9 Sep 2005 11:31:16 +0000 (13:31 +0200)
committerSebastian Pop <spop@gcc.gnu.org>
Fri, 9 Sep 2005 11:31:16 +0000 (11:31 +0000)
* tree-chrec.c (evolution_function_is_invariant_rec_p): Use
CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
of wrongly accessing operands.

From-SVN: r104093

gcc/ChangeLog
gcc/tree-chrec.c

index e9295e65252e288b09e775a0c0148edaf3fe2274..b0294d4fe6c91c886bb8c1451409f3d2cc8bd710 100644 (file)
@@ -1,3 +1,9 @@
+2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-chrec.c (evolution_function_is_invariant_rec_p): Use 
+       CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
+       of wrongly accessing operands.
+
 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
 
        * Makefile.in (tree-chrec.o): Depends on SCEV_H.
index 3324c8bc2b7c1f007c281da1aa7b08ffa7abdf23..88b27d84aa6cb6056d54cf0e3b91cad129020700 100644 (file)
@@ -935,9 +935,16 @@ evolution_function_is_invariant_rec_p (tree chrec, int loopnum)
                                   chrec))
     return true;
 
-  if (TREE_CODE (chrec) == POLYNOMIAL_CHREC
-      && CHREC_VARIABLE (chrec) == (unsigned) loopnum)
-    return false;
+  if (TREE_CODE (chrec) == POLYNOMIAL_CHREC)
+    {
+      if (CHREC_VARIABLE (chrec) == (unsigned) loopnum
+         || !evolution_function_is_invariant_rec_p (CHREC_RIGHT (chrec),
+                                                    loopnum)
+         || !evolution_function_is_invariant_rec_p (CHREC_LEFT (chrec),
+                                                    loopnum))
+       return false;
+      return true;
+    }
 
   switch (TREE_CODE_LENGTH (TREE_CODE (chrec)))
     {
This page took 0.073721 seconds and 5 git commands to generate.