+2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * tree-data-ref.c (find_data_references_in_stmt): Remove
+ unnecessary call to vec::release.
+ (graphite_find_data_references_in_stmt): Likewise.
+ * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Likewise.
+ * tree-vect-stmts.c (vectorizable_condition): Likewise.
+
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* cfgexpand.c (expand_used_vars): Make the type of a local variable auto_vec.
if (TREE_CODE (ref1) == MEM_REF)
{
if (!integer_zerop (TREE_OPERAND (ref1, 1)))
- goto may_overlap;
+ return false;
ref1 = TREE_OPERAND (TREE_OPERAND (ref1, 0), 0);
}
if (TREE_CODE (ref2) == MEM_REF)
{
if (!integer_zerop (TREE_OPERAND (ref2, 1)))
- goto may_overlap;
+ return false;
ref2 = TREE_OPERAND (TREE_OPERAND (ref2, 0), 0);
}
do
{
if (component_refs1.is_empty ())
- goto may_overlap;
+ return false;
ref1 = component_refs1.pop ();
}
while (!RECORD_OR_UNION_TYPE_P (TREE_TYPE (TREE_OPERAND (ref1, 0))));
do
{
if (component_refs2.is_empty ())
- goto may_overlap;
+ return false;
ref2 = component_refs2.pop ();
}
while (!RECORD_OR_UNION_TYPE_P (TREE_TYPE (TREE_OPERAND (ref2, 0))));
/* Beware of BIT_FIELD_REF. */
if (TREE_CODE (ref1) != COMPONENT_REF
|| TREE_CODE (ref2) != COMPONENT_REF)
- goto may_overlap;
+ return false;
tree field1 = TREE_OPERAND (ref1, 1);
tree field2 = TREE_OPERAND (ref2, 1);
/* We cannot disambiguate fields in a union or qualified union. */
if (type1 != type2 || TREE_CODE (type1) != RECORD_TYPE)
- goto may_overlap;
+ return false;
if (field1 != field2)
{
- component_refs1.release ();
- component_refs2.release ();
/* A field and its representative need to be considered the
same. */
if (DECL_BIT_FIELD_REPRESENTATIVE (field1) == field2
}
}
-may_overlap:
- component_refs1.release ();
- component_refs2.release ();
return false;
}