aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-complex.c
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2004-05-14 15:27:37 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2004-05-14 08:27:37 -0700
commit571325db5977ad68205f88d6e4d86b1ffaeaaeec (patch)
tree045c5d0ec64afc180b33c76ab77d652bb726157b /gcc/tree-complex.c
parenta2f0e34d9ecd47343f8cdcc78841de15a7e5b2c0 (diff)
downloadgcc-571325db5977ad68205f88d6e4d86b1ffaeaaeec.zip
gcc-571325db5977ad68205f88d6e4d86b1ffaeaaeec.tar.gz
gcc-571325db5977ad68205f88d6e4d86b1ffaeaaeec.tar.bz2
re PR tree-optimization/14466 (missed PHI optimization (different types))
2004-05-14 Andrew Pinski <pinskia@physics.uc.edu> PR optimization/14466 * tree-complex.c (make_temp): Remove. (gimplify_val): Replace make_temp with make_rename_temp and add NULL as the second argument. (expand_complex_div_wide): Likewise. * tree-dfa.c (make_rename_temp): New function. * tree-flow.h (make_rename_temp): Declare. * tree-sra.c (make_temp): Remove. (lookup_scalar): Replace make_temp with make_rename_temp. (create_scalar_copies): Likewise. * tree-ssa-phiopt.c (conditional_replacement): When we get non gimple create a temporary variable to hold the casted expression. 2004-05-14 Andrew Pinski <pinskia@physics.uc.edu> PR optimization/14466 * gcc.dg/tree-ssa/20040514-1.c: New test. From-SVN: r81847
Diffstat (limited to 'gcc/tree-complex.c')
-rw-r--r--gcc/tree-complex.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index 8094d95..66fa6129 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -30,17 +30,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "flags.h"
-/* Build a temporary. Make sure and register it to be renamed. */
-
-static tree
-make_temp (tree type)
-{
- tree t = create_tmp_var (type, NULL);
- add_referenced_tmp_var (t);
- bitmap_set_bit (vars_to_rename, var_ann (t)->uid);
- return t;
-}
-
/* Force EXP to be a gimple_val. */
static tree
@@ -51,7 +40,7 @@ gimplify_val (block_stmt_iterator *bsi, tree type, tree exp)
if (is_gimple_val (exp))
return exp;
- t = make_temp (type);
+ t = make_rename_temp (type, NULL);
new_stmt = build (MODIFY_EXPR, type, t, exp);
orig_stmt = bsi_stmt (*bsi);
@@ -251,8 +240,8 @@ expand_complex_div_wide (block_stmt_iterator *bsi, tree inner_type,
cond = build (COND_EXPR, void_type_node, cond, t1, t2);
bsi_insert_before (bsi, cond, BSI_SAME_STMT);
- min = make_temp (inner_type);
- max = make_temp (inner_type);
+ min = make_rename_temp (inner_type, NULL);
+ max = make_rename_temp (inner_type, NULL);
l3 = create_artificial_label ();
/* Split the original block, and create the TRUE and FALSE blocks. */