}
else if (TREE_CODE (e1) == TREE_CODE (e2)
- && (te1 == te2
- || types_compatible_p (te1, te2))
&& operand_equal_p (e1, e2, OEP_PURE_SAME))
return true;
/* In the case of array-refs of constants, for example, we can
end up with no vuses. */
case tcc_reference:
- return vn_reference_lookup (expr, NULL);
+ return vn_reference_lookup (expr, NULL, false);
break;
/* It is possible to have CALL_EXPR with no vuses for things
like "cos", and these will fall into vn_lookup. */
case tcc_expression:
case tcc_declaration:
if (TREE_CODE (expr) == CALL_EXPR || DECL_P (expr))
- return vn_reference_lookup (expr, NULL);
+ return vn_reference_lookup (expr, NULL, false);
else if (TREE_CODE (expr) == SSA_NAME)
return SSA_NAME_VALUE (expr);
else if (TREE_CODE (expr) == ADDR_EXPR)
if (is_gimple_min_invariant (expr) || TREE_CODE (expr) == FIELD_DECL)
return expr;
- return vn_reference_lookup (expr, vuses);
+ return vn_reference_lookup (expr, vuses, true);
}
static tree