diff options
author | Richard Guenther <rguenther@suse.de> | 2010-01-06 17:52:09 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-01-06 17:52:09 +0000 |
commit | 6209a13e202b97e040f91e57281a2c23e0022bea (patch) | |
tree | a8b06b3154791c3e071f213dc00b7a6578ee3a4b /gcc/ipa-inline.c | |
parent | f05f79fffc5297858f27eaf122aabc8cec2c930b (diff) | |
download | gcc-6209a13e202b97e040f91e57281a2c23e0022bea.zip gcc-6209a13e202b97e040f91e57281a2c23e0022bea.tar.gz gcc-6209a13e202b97e040f91e57281a2c23e0022bea.tar.bz2 |
ipa-inline.c (cgraph_decide_inlining_incrementally): Do not inline regular functions into always-inline functions.
2010-01-06 Richard Guenther <rguenther@suse.de>
* ipa-inline.c (cgraph_decide_inlining_incrementally): Do
not inline regular functions into always-inline functions.
* gcc.c-torture/compile/pr42632.c: New testcase.
From-SVN: r155679
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 7dbafb8..c6c84f9 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1506,7 +1506,10 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node, } /* Now do the automatic inlining. */ - if (mode != INLINE_ALL && mode != INLINE_ALWAYS_INLINE) + if (mode != INLINE_ALL && mode != INLINE_ALWAYS_INLINE + /* Never inline regular functions into always-inline functions + during incremental inlining. */ + && !node->local.disregard_inline_limits) for (e = node->callees; e; e = e->next_callee) { int allowed_growth = 0; |