+2016-05-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/71060
+ * tree-data-ref.c (initialize_data_dependence_relation): Do not
+ require exact match of DR_BASE_OBJECT but only matching address and
+ type.
+
2016-05-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/70986
}
/* If the references do not access the same object, we do not know
- whether they alias or not. */
- if (!operand_equal_p (DR_BASE_OBJECT (a), DR_BASE_OBJECT (b), 0))
+ whether they alias or not. We do not care about TBAA or alignment
+ info so we can use OEP_ADDRESS_OF to avoid false negatives.
+ But the accesses have to use compatible types as otherwise the
+ built indices would not match. */
+ if (!operand_equal_p (DR_BASE_OBJECT (a), DR_BASE_OBJECT (b), OEP_ADDRESS_OF)
+ || !types_compatible_p (TREE_TYPE (DR_BASE_OBJECT (a)),
+ TREE_TYPE (DR_BASE_OBJECT (b))))
{
DDR_ARE_DEPENDENT (res) = chrec_dont_know;
return res;