aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-tailcall.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2010-04-19 19:58:54 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2010-04-19 19:58:54 +0200
commitacd638015562cb10a9b70ba5acd0109aeba2f40b (patch)
treea7cf57666657ce42c8a78e8d5215cec965e97085 /gcc/tree-tailcall.c
parent0b6e2868bd587540b38e2122876cbe32f1a2a35e (diff)
downloadgcc-acd638015562cb10a9b70ba5acd0109aeba2f40b.zip
gcc-acd638015562cb10a9b70ba5acd0109aeba2f40b.tar.gz
gcc-acd638015562cb10a9b70ba5acd0109aeba2f40b.tar.bz2
gimple.h (create_tmp_reg): Declare.
2010-04-19 Martin Jambor <mjambor@suse.cz> * gimple.h (create_tmp_reg): Declare. * gimplify.c (create_tmp_reg): New function. (gimplify_return_expr): Use create_tmp_reg. (gimplify_omp_atomic): Likewise. (gimple_regimplify_operands): Likewise. * tree-dfa.c (make_rename_temp): Likewise. * tree-predcom.c (predcom_tmp_var): Likewise. (reassociate_to_the_same_stmt): Likewise. * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise. (get_replaced_param_substitute): Likewise. * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise. * tree-ssa-phiopt.c (cond_store_replacement): Likewise. * tree-ssa-pre.c (get_representative_for): Likewise. (create_expression_by_pieces): Likewise. * tree-tailcall.c (adjust_return_value_with_ops): Likewise. (create_tailcall_accumulator): Likewise. From-SVN: r158523
Diffstat (limited to 'gcc/tree-tailcall.c')
-rw-r--r--gcc/tree-tailcall.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index ca3dffa..4d2422a 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -575,13 +575,10 @@ adjust_return_value_with_ops (enum tree_code code, const char *label,
{
tree ret_type = TREE_TYPE (DECL_RESULT (current_function_decl));
- tree tmp = create_tmp_var (ret_type, label);
+ tree tmp = create_tmp_reg (ret_type, label);
gimple stmt;
tree result;
- if (TREE_CODE (ret_type) == COMPLEX_TYPE
- || TREE_CODE (ret_type) == VECTOR_TYPE)
- DECL_GIMPLE_REG_P (tmp) = 1;
add_referenced_var (tmp);
if (types_compatible_p (TREE_TYPE (acc), TREE_TYPE (op1)))
@@ -908,12 +905,9 @@ static tree
create_tailcall_accumulator (const char *label, basic_block bb, tree init)
{
tree ret_type = TREE_TYPE (DECL_RESULT (current_function_decl));
- tree tmp = create_tmp_var (ret_type, label);
+ tree tmp = create_tmp_reg (ret_type, label);
gimple phi;
- if (TREE_CODE (ret_type) == COMPLEX_TYPE
- || TREE_CODE (ret_type) == VECTOR_TYPE)
- DECL_GIMPLE_REG_P (tmp) = 1;
add_referenced_var (tmp);
phi = create_phi_node (tmp, bb);
/* RET_TYPE can be a float when -ffast-maths is enabled. */