+2009-07-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-chrec.c (operator_is_linear): Handle BIT_NOT_EXPR.
+ (scev_is_linear_expression): Return false if the evolution is not
+ affine multivariate.
+
2009-07-30 Sebastian Pop <sebastian.pop@amd.com>
* tree-data-ref.c (graphite_find_data_references_in_stmt): New.
case 2:
for_each_scev_op (&TREE_OPERAND (*scev, 1), cbck, data);
-
+
case 1:
for_each_scev_op (&TREE_OPERAND (*scev, 0), cbck, data);
case NEGATE_EXPR:
case SSA_NAME:
case NON_LVALUE_EXPR:
+ case BIT_NOT_EXPR:
CASE_CONVERT:
return true;
return !(tree_contains_chrecs (TREE_OPERAND (scev, 0), NULL)
&& tree_contains_chrecs (TREE_OPERAND (scev, 1), NULL));
+ if (TREE_CODE (scev) == POLYNOMIAL_CHREC
+ && !evolution_function_is_affine_multivariate_p (scev, CHREC_VARIABLE (scev)))
+ return false;
+
switch (TREE_CODE_LENGTH (TREE_CODE (scev)))
{
case 3:
case 2:
return scev_is_linear_expression (TREE_OPERAND (scev, 0))
&& scev_is_linear_expression (TREE_OPERAND (scev, 1));
-
+
case 1:
return scev_is_linear_expression (TREE_OPERAND (scev, 0));