+2019-12-05 Martin Sebor <msebor@redhat.com>
+
+ PR middle-end/92622
+ * tree-vrp.c (vrp_prop::check_array_ref): Avoid using a variable
+ left uninitialized by get_addr_base_and_unit_offset on failure.
+
2019-12-05 Jan Hubicka <hubicka@ucw.cz>
* ipa-prop.c (ipa_set_jf_unknown): Do not clear bits and m_vr.
(ipa_update_overall_fn_summary): Add RESET parameter.
* ipa-fnsummary.h (ipa_update_overall_fn_summary): Update prototype.
* ipa-inline-transform.c (inline_call): Enable incremental updates.
-
+
2019-11-20 Richard Sandiford <richard.sandiford@arm.com>
* tree-vect-slp.c (vect_schedule_slp_instance): Restore stmt
tree ptrdiff_max = TYPE_MAX_VALUE (ptrdiff_type_node);
tree maxbound = ptrdiff_max;
tree arg = TREE_OPERAND (ref, 0);
- poly_int64 off;
const bool compref = TREE_CODE (arg) == COMPONENT_REF;
if (compref)
size wouldn't necessarily be correct if the reference is
to its flexible array member initialized in a different
translation unit. */
- tree base = get_addr_base_and_unit_offset (arg, &off);
- if (!compref && base && DECL_P (base))
- if (tree basesize = DECL_SIZE_UNIT (base))
- if (TREE_CODE (basesize) == INTEGER_CST)
- {
- maxbound = basesize;
- decl = base;
- }
-
- if (known_gt (off, 0))
- maxbound = wide_int_to_tree (sizetype,
- wi::sub (wi::to_wide (maxbound),
- off));
+ poly_int64 off;
+ if (tree base = get_addr_base_and_unit_offset (arg, &off))
+ {
+ if (!compref && DECL_P (base))
+ if (tree basesize = DECL_SIZE_UNIT (base))
+ if (TREE_CODE (basesize) == INTEGER_CST)
+ {
+ maxbound = basesize;
+ decl = base;
+ }
+
+ if (known_gt (off, 0))
+ maxbound = wide_int_to_tree (sizetype,
+ wi::sub (wi::to_wide (maxbound),
+ off));
+ }
}
else
maxbound = fold_convert (sizetype, maxbound);