diff options
author | Richard Guenther <rguenther@suse.de> | 2009-04-17 12:43:02 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-04-17 12:43:02 +0000 |
commit | 7e673273293d34110b16bdf56b90192b3382bad9 (patch) | |
tree | 4e1243fcafbe74f6c2f33ad441126888a2896ae8 /gcc/tree-ssa-pre.c | |
parent | 01cd0938b55019565dd76224d0b20edfbd496cc6 (diff) | |
download | gcc-7e673273293d34110b16bdf56b90192b3382bad9.zip gcc-7e673273293d34110b16bdf56b90192b3382bad9.tar.gz gcc-7e673273293d34110b16bdf56b90192b3382bad9.tar.bz2 |
tree-ssa-dom.c (gimple_assign_unary_useless_conversion_p): Remove.
2009-04-17 Richard Guenther <rguenther@suse.de>
* tree-ssa-dom.c (gimple_assign_unary_useless_conversion_p): Remove.
(record_equivalences_from_stmt): Remove useless checks and
simplifications.
* tree-ssa-pre.c (eliminate): Avoid converting a constant if
the type is already suitable.
From-SVN: r146260
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r-- | gcc/tree-ssa-pre.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 1119f07..61207b2 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -3981,8 +3981,10 @@ eliminate (void) value is constant, use that constant. */ if (!sprime && is_gimple_min_invariant (VN_INFO (lhs)->valnum)) { - sprime = fold_convert (TREE_TYPE (lhs), - VN_INFO (lhs)->valnum); + sprime = VN_INFO (lhs)->valnum; + if (!useless_type_conversion_p (TREE_TYPE (lhs), + TREE_TYPE (sprime))) + sprime = fold_convert (TREE_TYPE (lhs), sprime); if (dump_file && (dump_flags & TDF_DETAILS)) { |