Commit ae94bb0e by Martin Liska Committed by Martin Liska

Do not ICE in IPA inliner.

2019-10-23  Martin Liska  <mliska@suse.cz>

	PR ipa/91969
	* ipa-inline.c (recursive_inlining): Do not print
	when curr->count is not initialized.
2019-10-23  Martin Liska  <mliska@suse.cz>

	PR ipa/91969
	* g++.dg/ipa/pr91969.C: New test.

From-SVN: r277309
parent f99d6262
2019-10-23 Martin Liska <mliska@suse.cz>
PR ipa/91969
* ipa-inline.c (recursive_inlining): Do not print
when curr->count is not initialized.
2019-10-23 Richard Biener <rguenther@suse.de> 2019-10-23 Richard Biener <rguenther@suse.de>
* tree-vect-slp.c (vect_build_slp_tree_2): Do not build * tree-vect-slp.c (vect_build_slp_tree_2): Do not build
...@@ -1610,7 +1610,7 @@ recursive_inlining (struct cgraph_edge *edge, ...@@ -1610,7 +1610,7 @@ recursive_inlining (struct cgraph_edge *edge,
{ {
fprintf (dump_file, fprintf (dump_file,
" Inlining call of depth %i", depth); " Inlining call of depth %i", depth);
if (node->count.nonzero_p ()) if (node->count.nonzero_p () && curr->count.initialized_p ())
{ {
fprintf (dump_file, " called approx. %.2f times per call", fprintf (dump_file, " called approx. %.2f times per call",
(double)curr->count.to_gcov_type () (double)curr->count.to_gcov_type ()
......
2019-10-23 Martin Liska <mliska@suse.cz>
PR ipa/91969
* g++.dg/ipa/pr91969.C: New test.
2019-10-22 Marc Glisse <marc.glisse@inria.fr> 2019-10-22 Marc Glisse <marc.glisse@inria.fr>
PR c++/85746 PR c++/85746
......
/* PR ipa/91969 */
/* { dg-options "-fdump-ipa-inline -O3" } */
enum by
{
};
class A
{
public:
class B
{
public:
virtual void m_fn2 (by) = 0;
};
virtual int m_fn1 ();
B *cf;
};
by a;
class C : A, A::B
{
void m_fn2 (by);
};
void C::m_fn2 (by) { cf->m_fn2 (a); }
struct a
{
virtual ~a ();
};
struct b
{
virtual void d (...);
};
struct c : a, b
{
void d (...) {}
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment