tree chrec_fold_minus (tree type, tree op0, tree op1) { if (integer_zerop (op1)) return op0; return chrec_fold_plus_1 (MINUS_EXPR, type, op0, op1); }
tree chrec_fold_minus (tree type, tree op0, tree op1) { if (automatically_generated_chrec_p (op0) || automatically_generated_chrec_p (op1)) return chrec_fold_automatically_generated_operands (op0, op1); if (integer_zerop (op1)) return op0; return chrec_fold_plus_1 (MINUS_EXPR, type, op0, op1); }
tree chrec_fold_plus (tree type, tree op0, tree op1) { enum tree_code code; if (automatically_generated_chrec_p (op0) || automatically_generated_chrec_p (op1)) return chrec_fold_automatically_generated_operands (op0, op1); if (integer_zerop (op0)) return chrec_convert (type, op1, NULL); if (integer_zerop (op1)) return chrec_convert (type, op0, NULL); if (POINTER_TYPE_P (type)) code = POINTER_PLUS_EXPR; else code = PLUS_EXPR; return chrec_fold_plus_1 (code, type, op0, op1); }