aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.c
diff options
context:
space:
mode:
authorChristian Bruel <christian.bruel@st.com>2011-06-21 08:45:05 +0200
committerChristian Bruel <chrbr@gcc.gnu.org>2011-06-21 08:45:05 +0200
commit4b583c4361025855c6da28b5366f81b4220b873e (patch)
treec2d036e1ccc3b170f9b6eec46bd6c6b50193f110 /gcc/ipa-inline.c
parent3bb556ad608cac4876d7f233ebb2d13307d2e02c (diff)
downloadgcc-4b583c4361025855c6da28b5366f81b4220b873e.zip
gcc-4b583c4361025855c6da28b5366f81b4220b873e.tar.gz
gcc-4b583c4361025855c6da28b5366f81b4220b873e.tar.bz2
PR middle-end/49139 PR other/43564 make sure the inline function is inlined
From-SVN: r175241
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r--gcc/ipa-inline.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index ff1041b..90053e4 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -318,8 +318,10 @@ can_inline_edge_p (struct cgraph_edge *e, bool report)
? callee_tree
: optimization_default_node);
- if ((caller_opt->x_optimize > callee_opt->x_optimize)
- || (caller_opt->x_optimize_size != callee_opt->x_optimize_size))
+ if (((caller_opt->x_optimize > callee_opt->x_optimize)
+ || (caller_opt->x_optimize_size != callee_opt->x_optimize_size))
+ /* gcc.dg/pr43564.c. Look at forced inline even in -O0. */
+ && !DECL_DISREGARD_INLINE_LIMITS (e->callee->decl))
{
e->inline_failed = CIF_TARGET_OPTIMIZATION_MISMATCH;
inlinable = false;