+2018-07-02 Martin Liska <mliska@suse.cz>
+
+ PR ipa/86323
+ * ipa-inline.c (early_inliner): Revert wrongly added ::get call.
+
2018-07-02 David Malcolm <dmalcolm@redhat.com>
* dumpfile.c (dump_generic_expr_loc): Undo removal of this
for (edge = node->callees; edge; edge = edge->next_callee)
{
/* We have no summary for new bound store calls yet. */
- ipa_call_summary *es = ipa_call_summaries->get (edge);
- if (es != NULL)
- {
- es->call_stmt_size
- = estimate_num_insns (edge->call_stmt, &eni_size_weights);
- es->call_stmt_time
- = estimate_num_insns (edge->call_stmt, &eni_time_weights);
- }
+ ipa_call_summary *es = ipa_call_summaries->get_create (edge);
+ es->call_stmt_size
+ = estimate_num_insns (edge->call_stmt, &eni_size_weights);
+ es->call_stmt_time
+ = estimate_num_insns (edge->call_stmt, &eni_time_weights);
if (edge->callee->decl
&& !gimple_check_call_matching_types (
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O3 --param max-early-inliner-iterations=5" } */
+
+char *s;
+namespace a {
+template <class ae> class af {
+public:
+ af(ae);
+};
+typedef af<char *> b;
+namespace ag {
+class ah {
+public:
+ void ai(b aj) { c(aj); }
+ virtual void c(b);
+};
+class d : public ah {
+ void c(b);
+};
+class e {
+ void f(bool);
+ void ai(b aj) { g.ai(aj); }
+ d g;
+};
+void d::c(b) {}
+void e::f(bool) { ai(s); }
+}
+}