diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2016-07-21 19:06:02 +0000 |
---|---|---|
committer | Bernd Edlinger <edlinger@gcc.gnu.org> | 2016-07-21 19:06:02 +0000 |
commit | 159e8ef0c6673f73ab33ba86dd13652dfdae342c (patch) | |
tree | ce852e8aeab3c5945be947a5e82a7a2fe2b2bca3 /gcc/tree-inline.c | |
parent | df26a50d0d0665879975138bfe4f05285b2fadae (diff) | |
download | gcc-159e8ef0c6673f73ab33ba86dd13652dfdae342c.zip gcc-159e8ef0c6673f73ab33ba86dd13652dfdae342c.tar.gz gcc-159e8ef0c6673f73ab33ba86dd13652dfdae342c.tar.bz2 |
016-07-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR middle-end/71876
* calls.c (gimple_maybe_alloca_call_p): New function. Return true
if STMT may be an alloca call.
(gimple_alloca_call_p, alloca_call_p): Return only true for the
builtin alloca call.
* calls.h (gimple_maybe_alloca_call_p): New function.
* tree-inline.c (inline_forbidden_p_stmt): Use
gimple_maybe_alloca_call_p here.
From-SVN: r238605
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index ef58866..f2b4491 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -3577,7 +3577,7 @@ inline_forbidden_p_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p, RAM instead of 256MB. Don't do so for alloca calls emitted for VLA objects as those can't cause unbounded growth (they're always wrapped inside stack_save/stack_restore regions. */ - if (gimple_alloca_call_p (stmt) + if (gimple_maybe_alloca_call_p (stmt) && !gimple_call_alloca_for_var_p (as_a <gcall *> (stmt)) && !lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn))) { |