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-dfa.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-dfa.c')
-rw-r--r-- | gcc/tree-dfa.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c index 2a71ef2..e94640e 100644 --- a/gcc/tree-dfa.c +++ b/gcc/tree-dfa.c @@ -486,6 +486,18 @@ create_ssa_name_ann (tree t) } +/* Build a temporary. Make sure and register it to be renamed. */ + +tree +make_rename_temp (tree type, const char *prefix) +{ + tree t = create_tmp_var (type, prefix); + add_referenced_tmp_var (t); + bitmap_set_bit (vars_to_rename, var_ann (t)->uid); + return t; +} + + /*--------------------------------------------------------------------------- Debugging functions |