summaryrefslogtreecommitdiff
path: root/gcc/lto-streamer-in.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-27 15:18:23 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-27 15:18:23 +0000
commit9978ce6d95c41b01acc06b98dc3379b0c4a6ff90 (patch)
treea420c4091323d45ede618fbe00f2bb1785f9edf6 /gcc/lto-streamer-in.c
parent5306dd15208cb9ae84fcc810f6d116054a4e39d7 (diff)
downloadgcc-9978ce6d95c41b01acc06b98dc3379b0c4a6ff90.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205447 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-streamer-in.c')
-rw-r--r--gcc/lto-streamer-in.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index 333e815a97d..c5cb23c95d3 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -598,7 +598,8 @@ make_new_block (struct function *fn, unsigned int index)
/* Read the CFG for function FN from input block IB. */
static void
-input_cfg (struct lto_input_block *ib, struct function *fn,
+input_cfg (struct lto_input_block *ib, struct data_in *data_in,
+ struct function *fn,
int count_materialization_scale)
{
unsigned int bb_count;
@@ -714,6 +715,11 @@ input_cfg (struct lto_input_block *ib, struct function *fn,
loop->nb_iterations_estimate.high = streamer_read_hwi (ib);
}
+ /* Read OMP SIMD related info. */
+ loop->safelen = streamer_read_hwi (ib);
+ loop->force_vect = streamer_read_hwi (ib);
+ loop->simduid = stream_read_tree (ib, data_in);
+
place_new_loop (fn, loop);
/* flow_loops_find doesn't like loops not in the tree, hook them
@@ -877,6 +883,8 @@ input_struct_function_base (struct function *fn, struct data_in *data_in,
fn->has_nonlocal_label = bp_unpack_value (&bp, 1);
fn->calls_alloca = bp_unpack_value (&bp, 1);
fn->calls_setjmp = bp_unpack_value (&bp, 1);
+ fn->has_force_vect_loops = bp_unpack_value (&bp, 1);
+ fn->has_simduid_loops = bp_unpack_value (&bp, 1);
fn->va_list_fpr_size = bp_unpack_value (&bp, 8);
fn->va_list_gpr_size = bp_unpack_value (&bp, 8);
@@ -923,7 +931,7 @@ input_function (tree fn_decl, struct data_in *data_in,
if (!node)
node = cgraph_create_node (fn_decl);
input_struct_function_base (fn, data_in, ib);
- input_cfg (ib_cfg, fn, node->count_materialization_scale);
+ input_cfg (ib_cfg, data_in, fn, node->count_materialization_scale);
/* Read all the SSA names. */
input_ssa_names (ib, data_in, fn);