summaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.c
diff options
context:
space:
mode:
authorchrbr <chrbr@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-21 06:45:05 +0000
committerchrbr <chrbr@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-21 06:45:05 +0000
commit438719a90372b7bea24adf6b69b864c042cc26ae (patch)
treec2d036e1ccc3b170f9b6eec46bd6c6b50193f110 /gcc/ipa-inline.c
parentda8b372eefefcc534859d68bbf8d9167ffbbf95a (diff)
downloadgcc-438719a90372b7bea24adf6b69b864c042cc26ae.tar.gz
PR middle-end/49139 PR other/43564 make sure the inline function is inlined
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175241 138bc75d-0d04-0410-961f-82ee72b054a4
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 ff1041ba493..90053e4cece 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;