summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-30 21:18:27 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-30 21:18:27 +0000
commitbef5a5f54eaf24fa1b0c88d61c56dbcfbc726332 (patch)
tree5a67423ba589151bbc206347ce3c647cfe0eab48 /gcc
parent7ba04629c3c303458b20f132210f4706d850bf6c (diff)
downloadgcc-bef5a5f54eaf24fa1b0c88d61c56dbcfbc726332.tar.gz
A function is affine when CHREC_RIGHT is invariant.
2010-08-20 Sebastian Pop <sebastian.pop@amd.com> * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164788 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ChangeLog.graphite6
-rw-r--r--gcc/tree-chrec.h21
3 files changed, 16 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 52e75658a24..fa87e2746e1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+ * 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 <sebastian.pop@amd.com>
+
* graphite-sese-to-poly.c (reduction_phi_p): Remove check for
is_gimple_reg.
(rewrite_degenerate_phi): Same.
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index e48ee07472b..93b999d308a 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,5 +1,11 @@
2010-08-20 Sebastian Pop <sebastian.pop@amd.com>
+ * 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 <sebastian.pop@amd.com>
+
* graphite-sese-to-poly.c (reduction_phi_p): Remove check for
is_gimple_reg.
(rewrite_degenerate_phi): Same.
diff --git a/gcc/tree-chrec.h b/gcc/tree-chrec.h
index eb60ac94601..58b14e7dc5b 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. */