From 87975961a71940d0740f928cf8d27843e5a6378d Mon Sep 17 00:00:00 2001 From: spop Date: Fri, 9 Sep 2005 11:31:16 +0000 Subject: * tree-chrec.c (evolution_function_is_invariant_rec_p): Use CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead of wrongly accessing operands. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104093 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree-chrec.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'gcc/tree-chrec.c') diff --git a/gcc/tree-chrec.c b/gcc/tree-chrec.c index 3324c8bc2b7..88b27d84aa6 100644 --- a/gcc/tree-chrec.c +++ b/gcc/tree-chrec.c @@ -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))) { -- cgit v1.2.1