aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-strlen.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-08-10 09:20:29 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-08-10 09:20:29 +0000
commit83d5977e2f4747bbd33cc00a807e239d0b740895 (patch)
tree538c53782d228ed64003ea7683f91c231d7ad532 /gcc/tree-ssa-strlen.c
parent7b5e682ae51f6f131daf276afca59961066ab4aa (diff)
downloadgcc-83d5977e2f4747bbd33cc00a807e239d0b740895.zip
gcc-83d5977e2f4747bbd33cc00a807e239d0b740895.tar.gz
gcc-83d5977e2f4747bbd33cc00a807e239d0b740895.tar.bz2
tree-ssa-pre.c (pretemp, [...]): Remove.
2012-08-10 Richard Guenther <rguenther@suse.de> * tree-ssa-pre.c (pretemp, storetemp, prephitemp): Remove. (need_creation): Remove. (get_representative_for): Use anonymous named SSA names. (create_expression_by_pieces): Likewise. (insert_into_preds_of_block): Likewise. (init_pre): Do not init removed vars. (fini_pre): Do not free need_creation. * tree-ssa-forwprop.c (simplify_bitwise_binary): Use anonymous SSA names. * tree-ssa-loop-manip.c (create_iv): Likewise. * value-prof.c (gimple_divmod_fixed_value): Likewise. (gimple_mod_pow2): Likewise. (gimple_mod_subtract): Likewise. (gimple_ic): Likewise. (gimple_stringop_fixed_value): Likewise. * tree-ssa-phiopt.c (condstoretemp): Remove. (tree_ssa_phiopt_worker): Use anonymous named SSA names. (conditional_replacement): Likewise. (abs_replacement): Likewise. (cond_store_replacement): Likewise. (cond_if_else_store_replacement_1): Likewise. * tree-ssa-loop-im.c (rewrite_reciprocal): Likewise. (rewrite_bittest): Likewise. * tree-ssa-reassoc.c (build_and_add_sum): Get type from callers and build anonymous SSA names. (undistribute_ops_list): Adjust. (eliminate_redundant_comparison): Use anonymous SSA names. (rewrite_expr_tree_parallel): Likewise. (get_reassoc_pow_ssa_name): Remove. (attempt_builtin_powi): Adjust. (reassociate_bb): Likewise. * tree-ssa-strlen.c (get_string_length): Use anonymous SSA names. * tree-switch-conversion.c (emit_case_bit_tests): Likewise. (build_arrays): Likewise. * tree-tailcall.c (adjust_return_value_with_ops): Likewise. (create_tailcall_accumulator): Likewise. * tree-vect-generic.c (expand_vector_divmod): Likewise. * tree-profile.c (gcov_type_tmp_var): Remove. (gimple_init_edge_profiler): Do not initialize it and use anonymous SSA names. (gimple_gen_ic_profiler): Likewise. (tree_profiling): Adjust. * tree-sra.c (build_ref_for_offset): Use anonymous SSA names. * tree-ssa-math-opts.c (execute_cse_sincos_1): Likewise. (powi_as_mults_1): Likewise. (powi_as_mults): Likewise. (build_and_insert_call): Adjust. (build_and_insert_binop): Likewise. (build_and_insert_ref): Likewise. (build_and_insert_cast): Likewise. (gimple_expand_builtin_pow): Likewise. (gimple_expand_builtin_cabs): Likewise. (execute_optimize_bswap): Use anonymous SSA names. (convert_mult_to_widen): Likewise. (convert_plusminus_to_widen): Likewise. * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise. * tree-ssa-propagate.c (update_call_from_tree): Likewise. * tree-if-conv.c (ifc_temp_var): Likewise. * tree-loop-distribution.c (generate_memset_builtin): Likewise. * tree-parloops.c (take_address_of): Likewise. * tree-vect-data-refs.c (vect_permute_store_chain): Likewise. (vect_permute_load_chain): Likewise. * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Likewise. * tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise. (vect_handle_widen_op_by_const): Likewise. (vect_operation_fits_smaller_type): Likewise. (vect_recog_over_widening_pattern): Likewise. * tree-vect-stmts.c (vect_init_vector): Likewise. * tree-vrp.c (simplify_truth_ops_using_ranges): Likewise. (simplify_float_conversion_using_ranges): Likewise. From-SVN: r190288
Diffstat (limited to 'gcc/tree-ssa-strlen.c')
-rw-r--r--gcc/tree-ssa-strlen.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
index e19ad5a..3a60a0a 100644
--- a/gcc/tree-ssa-strlen.c
+++ b/gcc/tree-ssa-strlen.c
@@ -393,7 +393,7 @@ get_string_length (strinfo si)
if (si->stmt)
{
gimple stmt = si->stmt, lenstmt;
- tree callee, lhs, lhs_var, fn, tem;
+ tree callee, lhs, fn, tem;
location_t loc;
gimple_stmt_iterator gsi;
@@ -415,15 +415,12 @@ get_string_length (strinfo si)
gsi = gsi_for_stmt (stmt);
fn = builtin_decl_implicit (BUILT_IN_STRLEN);
gcc_assert (lhs == NULL_TREE);
- lhs_var = create_tmp_var (TREE_TYPE (TREE_TYPE (fn)), NULL);
tem = unshare_expr (gimple_call_arg (stmt, 0));
lenstmt = gimple_build_call (fn, 1, tem);
- lhs = make_ssa_name (lhs_var, lenstmt);
+ lhs = make_ssa_name (TREE_TYPE (TREE_TYPE (fn)), lenstmt);
gimple_call_set_lhs (lenstmt, lhs);
gimple_set_vuse (lenstmt, gimple_vuse (stmt));
gsi_insert_before (&gsi, lenstmt, GSI_SAME_STMT);
- lhs_var = create_tmp_var (TREE_TYPE (gimple_call_arg (stmt, 0)),
- NULL);
tem = gimple_call_arg (stmt, 0);
if (!ptrofftype_p (TREE_TYPE (lhs)))
{
@@ -432,9 +429,10 @@ get_string_length (strinfo si)
true, GSI_SAME_STMT);
}
lenstmt
- = gimple_build_assign_with_ops (POINTER_PLUS_EXPR,
- make_ssa_name (lhs_var, NULL),
- tem, lhs);
+ = gimple_build_assign_with_ops
+ (POINTER_PLUS_EXPR,
+ make_ssa_name (TREE_TYPE (gimple_call_arg (stmt, 0)), NULL),
+ tem, lhs);
gsi_insert_before (&gsi, lenstmt, GSI_SAME_STMT);
gimple_call_set_arg (stmt, 0, gimple_assign_lhs (lenstmt));
lhs = NULL_TREE;
@@ -452,8 +450,7 @@ get_string_length (strinfo si)
print_gimple_stmt (dump_file, stmt, 0, TDF_SLIM);
}
gimple_call_set_fndecl (stmt, fn);
- lhs_var = create_tmp_var (TREE_TYPE (TREE_TYPE (fn)), NULL);
- lhs = make_ssa_name (lhs_var, stmt);
+ lhs = make_ssa_name (TREE_TYPE (TREE_TYPE (fn)), stmt);
gimple_call_set_lhs (stmt, lhs);
update_stmt (stmt);
if (dump_file && (dump_flags & TDF_DETAILS) != 0)