aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-01-06 17:52:09 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-01-06 17:52:09 +0000
commit6209a13e202b97e040f91e57281a2c23e0022bea (patch)
treea8b06b3154791c3e071f213dc00b7a6578ee3a4b /gcc/ipa-inline.c
parentf05f79fffc5297858f27eaf122aabc8cec2c930b (diff)
downloadgcc-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.c5
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;