summaryrefslogtreecommitdiff
path: root/gcc/cgraphbuild.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/cgraphbuild.c
parent3745a526d6e978059a3de751e302ecd2af88c0de (diff)
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/cgraphbuild.c')
-rw-r--r--gcc/cgraphbuild.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cgraphbuild.c b/gcc/cgraphbuild.c
index b6cafffac8d..9a63982d9cb 100644
--- a/gcc/cgraphbuild.c
+++ b/gcc/cgraphbuild.c
@@ -335,6 +335,8 @@ build_cgraph_edges (void)
if (decl)
cgraph_create_edge (node, cgraph_get_create_node (decl),
stmt, bb->count, freq);
+ else if (gimple_call_internal_p (stmt))
+ ;
else
cgraph_create_indirect_edge (node, stmt,
gimple_call_flags (stmt),
@@ -464,6 +466,8 @@ rebuild_cgraph_edges (void)
if (decl)
cgraph_create_edge (node, cgraph_get_create_node (decl), stmt,
bb->count, freq);
+ else if (gimple_call_internal_p (stmt))
+ ;
else
cgraph_create_indirect_edge (node, stmt,
gimple_call_flags (stmt),