diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2014-02-20 07:40:07 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2014-02-20 06:40:07 +0000 |
commit | bd936951453c1105710649955568375e67c69d30 (patch) | |
tree | aa5cb062d365b7b66d1c27c29cac928aaa4f40a4 /gcc/ipa-inline.h | |
parent | 3c898e1acb4f9c8d43c84d2138fa298de0205c46 (diff) | |
download | gcc-bd936951453c1105710649955568375e67c69d30.zip gcc-bd936951453c1105710649955568375e67c69d30.tar.gz gcc-bd936951453c1105710649955568375e67c69d30.tar.bz2 |
re PR middle-end/58555 (Floating point exception in want_inline_self_recursive_call_p)
PR ipa/58555
* ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale parameter
specifying the scaling.
(inline_call): Update.
(want_inline_recursively): Guard division by zero.
(recursive_inlining): Update.
* ipa-inline.h (clone_inlined_nodes): Update.
* testsuite/g++.dg/torture/pr58555.C: New testcase.
From-SVN: r207934
Diffstat (limited to 'gcc/ipa-inline.h')
-rw-r--r-- | gcc/ipa-inline.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ipa-inline.h b/gcc/ipa-inline.h index 618189b..0a59608 100644 --- a/gcc/ipa-inline.h +++ b/gcc/ipa-inline.h @@ -233,7 +233,8 @@ bool speculation_useful_p (struct cgraph_edge *e, bool anticipate_inlining); /* In ipa-inline-transform.c */ bool inline_call (struct cgraph_edge *, bool, vec<cgraph_edge_p> *, int *, bool); unsigned int inline_transform (struct cgraph_node *); -void clone_inlined_nodes (struct cgraph_edge *e, bool, bool, int *); +void clone_inlined_nodes (struct cgraph_edge *e, bool, bool, int *, + int freq_scale); extern int ncalls_inlined; extern int nfunctions_inlined; |