From 21d9100956cc5e926c5ae38df8f9befd7ee58c7d Mon Sep 17 00:00:00 2001 From: Sebastian Pop Date: Thu, 30 Sep 2010 21:18:27 +0000 Subject: [PATCH] A function is affine when CHREC_RIGHT is invariant. 2010-08-20 Sebastian Pop * tree-chrec.h (evolution_function_is_affine_p): Do not check whether CHREC_LEFT is invariant. A function is affine when CHREC_RIGHT is invariant. From-SVN: r164788 --- gcc/ChangeLog | 6 ++++++ gcc/ChangeLog.graphite | 6 ++++++ gcc/tree-chrec.h | 21 ++++----------------- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52e75658a24f..fa87e2746e17 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-09-30 Sebastian Pop + + * tree-chrec.h (evolution_function_is_affine_p): Do not check + whether CHREC_LEFT is invariant. A function is affine when + CHREC_RIGHT is invariant. + 2010-09-30 Sebastian Pop * graphite-sese-to-poly.c (reduction_phi_p): Remove check for diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index e48ee07472bb..93b999d308a1 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,3 +1,9 @@ +2010-08-20 Sebastian Pop + + * tree-chrec.h (evolution_function_is_affine_p): Do not check + whether CHREC_LEFT is invariant. A function is affine when + CHREC_RIGHT is invariant. + 2010-08-20 Sebastian Pop * graphite-sese-to-poly.c (reduction_phi_p): Remove check for diff --git a/gcc/tree-chrec.h b/gcc/tree-chrec.h index eb60ac946017..58b14e7dc5bf 100644 --- a/gcc/tree-chrec.h +++ b/gcc/tree-chrec.h @@ -202,23 +202,10 @@ evolution_function_is_affine_in_loop (const_tree chrec, int loopnum) static inline bool evolution_function_is_affine_p (const_tree chrec) { - if (chrec == NULL_TREE) - return false; - - switch (TREE_CODE (chrec)) - { - case POLYNOMIAL_CHREC: - if (evolution_function_is_invariant_p (CHREC_LEFT (chrec), - CHREC_VARIABLE (chrec)) - && evolution_function_is_invariant_p (CHREC_RIGHT (chrec), - CHREC_VARIABLE (chrec))) - return true; - else - return false; - - default: - return false; - } + return chrec + && TREE_CODE (chrec) == POLYNOMIAL_CHREC + && evolution_function_is_invariant_p (CHREC_RIGHT (chrec), + CHREC_VARIABLE (chrec)); } /* Determines whether EXPR does not contains chrec expressions. */