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
This commit is contained in:
Richard Guenther 2010-01-06 17:52:09 +00:00 committed by Richard Biener
parent f05f79fffc
commit 6209a13e20
4 changed files with 29 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2010-01-06 Richard Guenther <rguenther@suse.de>
* ipa-inline.c (cgraph_decide_inlining_incrementally): Do
not inline regular functions into always-inline functions.
2010-01-06 Nick Clifton <nickc@redhat.com>
* config/rx/rx.h (enum rx_cpu_type): Add RX200.

View File

@ -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;

View File

@ -1,3 +1,7 @@
2010-01-06 Richard Guenther <rguenther@suse.de>
* gcc.c-torture/compile/pr42632.c: New testcase.
2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
PR target/42542

View File

@ -0,0 +1,16 @@
static inline __attribute__((always_inline)) int
__pskb_trim(void)
{
return ___pskb_trim();
}
static inline __attribute__((always_inline))
int pskb_trim(void)
{
return __pskb_trim();
}
int ___pskb_trim(void)
{
pskb_trim();
return 0;
}