diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-23 16:45:15 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-23 16:45:15 +0000 |
commit | 8c96185714f58d73a5760cc8dde0aa5e494a046a (patch) | |
tree | be02bd6dc05e8e248c3c098b1a3dd523701b322b /gcc/tree-inline.c | |
parent | c80cb483ae904ca2a5ba0d199058401f36678176 (diff) | |
download | gcc-8c96185714f58d73a5760cc8dde0aa5e494a046a.tar.gz |
PR optimization/10679
* tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
PR optimization/10679
* g++.dg/opt/inline4.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69710 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 3cfe702048e..4a468a65e9d 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1005,7 +1005,8 @@ inlinable_function_p (tree fn, inline_data *id, int nolimit) /* In case we don't disregard the inlining limits and we basically can inline this function, investigate further. */ if (! (*lang_hooks.tree_inlining.disregard_inline_limits) (fn) - && inlinable && !nolimit) + && inlinable && !nolimit + && currfn_insns > MIN_INLINE_INSNS) { int sum_insns = (id ? id->inlined_insns : 0) + currfn_insns; /* In the extreme case that we have exceeded the recursive inlining @@ -1017,8 +1018,7 @@ inlinable_function_p (tree fn, inline_data *id, int nolimit) with slope -1/MAX_INLINE_SLOPE to exceedingly decrease the allowable size. We always allow a size of MIN_INLINE_INSNS though. */ - else if ((sum_insns > MAX_INLINE_INSNS) - && (currfn_insns > MIN_INLINE_INSNS)) + else if (sum_insns > MAX_INLINE_INSNS) { int max_curr = MAX_INLINE_INSNS_SINGLE - (sum_insns - MAX_INLINE_INSNS) / MAX_INLINE_SLOPE; |