diff options
author | Christian Bruel <christian.bruel@st.com> | 2011-06-21 08:45:05 +0200 |
---|---|---|
committer | Christian Bruel <chrbr@gcc.gnu.org> | 2011-06-21 08:45:05 +0200 |
commit | 4b583c4361025855c6da28b5366f81b4220b873e (patch) | |
tree | c2d036e1ccc3b170f9b6eec46bd6c6b50193f110 | |
parent | 3bb556ad608cac4876d7f233ebb2d13307d2e02c (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-inline.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1c9dced..235d409 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2011-06-21 Christian Bruel <christian.bruel@st.com> + PR other/43564 + * ipa-inline.c (can_inline_edge_p): Check !DECL_DISREGARD_INLINE_LIMITS. + +2011-06-21 Christian Bruel <christian.bruel@st.com> + PR middle-end/49139 * cgraphunit.c (process_function_and_variable_attributes): warn when always_inline functions that are not inline. 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; |