diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2004-05-14 15:27:37 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2004-05-14 08:27:37 -0700 |
commit | 571325db5977ad68205f88d6e4d86b1ffaeaaeec (patch) | |
tree | 045c5d0ec64afc180b33c76ab77d652bb726157b /gcc/tree-complex.c | |
parent | a2f0e34d9ecd47343f8cdcc78841de15a7e5b2c0 (diff) | |
download | gcc-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.c | 17 |
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. */ |