Commit 4b583c43 by Christian Bruel Committed by Christian Bruel

PR middle-end/49139 PR other/43564 make sure the inline function is inlined

From-SVN: r175241
parent 3bb556ad
2011-06-21 Christian Bruel <christian.bruel@st.com> 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 PR middle-end/49139
* cgraphunit.c (process_function_and_variable_attributes): warn when * cgraphunit.c (process_function_and_variable_attributes): warn when
always_inline functions that are not inline. always_inline functions that are not inline.
......
...@@ -318,8 +318,10 @@ can_inline_edge_p (struct cgraph_edge *e, bool report) ...@@ -318,8 +318,10 @@ can_inline_edge_p (struct cgraph_edge *e, bool report)
? callee_tree ? callee_tree
: optimization_default_node); : optimization_default_node);
if ((caller_opt->x_optimize > callee_opt->x_optimize) if (((caller_opt->x_optimize > callee_opt->x_optimize)
|| (caller_opt->x_optimize_size != callee_opt->x_optimize_size)) || (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; e->inline_failed = CIF_TARGET_OPTIMIZATION_MISMATCH;
inlinable = false; inlinable = false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment