re PR tree-optimization/44915 (ICE: SIGSEGV in walk_aliased_vdefs_1.constprop.42 (tree-ssa-alias.c:1707) with -findirect-inlining)

2010-07-23  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/44915
	* ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
	* ipa-inline.c (cgraph_mark_inline_edge): Likewise.
	(analyze_function): Likewise.

	* testsuite/g++.dg/torture/pr44915.C: New test.

From-SVN: r162469
This commit is contained in:
Martin Jambor 2010-07-23 18:35:52 +02:00 committed by Martin Jambor
parent 8cbeddcc33
commit 556ede6501
5 changed files with 34 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2010-07-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44915
* ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
* ipa-inline.c (cgraph_mark_inline_edge): Likewise.
(analyze_function): Likewise.
2010-07-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44914

View File

@ -1278,7 +1278,9 @@ ipcp_read_summary (void)
static bool
cgraph_gate_cp (void)
{
return flag_ipa_cp;
/* FIXME: We should remove the optimize check after we ensure we never run
IPA passes when not optimizng. */
return flag_ipa_cp && optimize;
}
struct ipa_opt_pass_d pass_ipa_cp =

View File

@ -334,7 +334,9 @@ cgraph_mark_inline_edge (struct cgraph_edge *e, bool update_original,
overall_size += new_size - old_size;
ncalls_inlined++;
if (flag_indirect_inlining)
/* FIXME: We should remove the optimize check after we ensure we never run
IPA passes when not optimizng. */
if (flag_indirect_inlining && optimize)
return ipa_propagate_indirect_call_infos (curr, new_edges);
else
return false;
@ -2085,7 +2087,9 @@ analyze_function (struct cgraph_node *node)
current_function_decl = node->decl;
compute_inline_parameters (node);
if (flag_indirect_inlining)
/* FIXME: We should remove the optimize check after we ensure we never run
IPA passes when not optimizng. */
if (flag_indirect_inlining && optimize)
inline_indirect_intraprocedural_analysis (node);
current_function_decl = NULL;

View File

@ -1,3 +1,8 @@
2010-07-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44915
* g++.dg/torture/pr44915.C: New test.
2010-07-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44914

View File

@ -0,0 +1,13 @@
/* { dg-do compile } */
/* { dg-options "-findirect-inlining" } */
struct A;
typedef void (A::*f_ptr) ();
void dummy (f_ptr) { }
void call_dummy (f_ptr cb)
{
dummy (cb);
}