+2018-07-02 Martin Liska <mliska@suse.cz>
+
+ PR ipa/86279
+ * ipa-pure-const.c (malloc_candidate_p): Revert usage of ::get.
+ (propagate_nothrow): Likewise.
+
2018-07-02 Martin Liska <mliska@suse.cz>
PR ipa/86323
cgraph_edge *cs = node->get_edge (call_stmt);
if (cs)
{
- ipa_call_summary *es = ipa_call_summaries->get (cs);
- gcc_assert (es);
+ ipa_call_summary *es = ipa_call_summaries->get_create (cs);
es->is_return_callee_uncaptured = true;
}
}
w = node;
while (w)
{
- funct_state w_l = funct_state_summaries->get (w);
+ funct_state w_l = funct_state_summaries->get_create (w);
if (!can_throw && !TREE_NOTHROW (w->decl))
{
/* Inline clones share declaration with their offline copies;
--- /dev/null
+/* PR ipa/86279 */
+/* { dg-do compile } */
+/* { dg-options "-fipa-pure-const" } */
+
+typedef __SIZE_TYPE__ size_t;
+extern inline __attribute__ ((__always_inline__))
+void *
+memset (void *x, int y, size_t z)
+{
+ return __builtin___memset_chk (x, y, z, __builtin_object_size (x, 0));
+}
+
+void
+foo (unsigned char *x, unsigned char *y, unsigned char *z,
+ unsigned char *w, unsigned int v, int u, int t)
+{
+ int i;
+ for (i = 0; i < t; i++)
+ {
+ memset (z, x[0], v);
+ memset (w, y[0], v);
+ x += u;
+ }
+ __builtin_memcpy (z, x, u);
+}