re PR tree-optimization/38844 (deadlock with __attribute__((always_inline)) at -O1 and above)

PR tree-optimization/38844
	* ipa-inline.c (try_inline): Stop inlining recursion when edge
	is already inlined.

From-SVN: r143985
This commit is contained in:
Jan Hubicka 2009-02-06 17:47:39 +01:00 committed by Jan Hubicka
parent 3cfa762bf0
commit e901811a8b
2 changed files with 15 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2009-02-06 Jan Hubicka <jh@suse.cz>
PR tree-optimization/38844
* ipa-inline.c (try_inline): Stop inlining recursion when edge
is already inlined.
2009-02-06 Richard Guenther <rguenther@suse.de>
PR middle-end/38977

View File

@ -1303,6 +1303,7 @@ try_inline (struct cgraph_edge *e, enum inlining_mode mode, int depth)
cgraph_node_name (e->caller));
}
if (e->inline_failed)
{
cgraph_mark_inline (e);
/* In order to fully inline always_inline functions, we need to
@ -1313,6 +1314,7 @@ try_inline (struct cgraph_edge *e, enum inlining_mode mode, int depth)
if (mode == INLINE_ALL || always_inline)
cgraph_decide_inlining_incrementally (e->callee, mode, depth + 1);
}
callee->aux = (void *)(size_t) callee_mode;
return true;
}