aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline-analysis.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-11-27 15:18:23 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-11-27 15:18:23 +0000
commite9287a41dffc9e76dd80be4be75b0c3a58f57231 (patch)
treea420c4091323d45ede618fbe00f2bb1785f9edf6 /gcc/ipa-inline-analysis.c
parent3745a526d6e978059a3de751e302ecd2af88c0de (diff)
downloadgcc-e9287a41dffc9e76dd80be4be75b0c3a58f57231.zip
gcc-e9287a41dffc9e76dd80be4be75b0c3a58f57231.tar.gz
gcc-e9287a41dffc9e76dd80be4be75b0c3a58f57231.tar.bz2
re PR middle-end/58723 (ICE in lto_output_edge, at lto-cgraph.c:300 for OpenMP's simd reduction)
2013-11-27 Richard Biener <rguenther@suse.de> PR middle-end/58723 * cgraphbuild.c (build_cgraph_edges): Do not build edges for internal calls. (rebuild_cgraph_edges): Likewise. * ipa-inline-analysis.c (estimate_function_body_sizes): Skip internal calls. * tree-inline.c (estimate_num_insns): Estimate size of internal calls as 0. (gimple_expand_calls_inline): Do not try inline-expanding internal calls. * lto-streamer-in.c (input_cfg): Stream loop safelen, force_vect and simduid. (input_struct_function_base): Stream has_force_vect_loops and has_simduid_loops. (input_function): Adjust. * lto-streamer-out.c (output_cfg): Stream loop safelen, force_vect and simduid. (output_struct_function_base): Stream has_force_vect_loops and has_simduid_loops. From-SVN: r205447
Diffstat (limited to 'gcc/ipa-inline-analysis.c')
-rw-r--r--gcc/ipa-inline-analysis.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
index a570883..ad6fe8f 100644
--- a/gcc/ipa-inline-analysis.c
+++ b/gcc/ipa-inline-analysis.c
@@ -2502,7 +2502,8 @@ estimate_function_body_sizes (struct cgraph_node *node, bool early)
}
- if (is_gimple_call (stmt))
+ if (is_gimple_call (stmt)
+ && !gimple_call_internal_p (stmt))
{
struct cgraph_edge *edge = cgraph_edge (node, stmt);
struct inline_edge_summary *es = inline_edge_summary (edge);