aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2008-07-14 08:46:14 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2008-07-14 08:46:14 +0000
commitf709638a8d4de40489a146bbabc26bfea446d9b9 (patch)
tree589592bbb71834189f504fff4dcfe789985bb3ee /gcc/tree-ssa-pre.c
parent1f9e1fc69b80fcc48f4df72fb0a3d9020f802a46 (diff)
downloadgcc-f709638a8d4de40489a146bbabc26bfea446d9b9.zip
gcc-f709638a8d4de40489a146bbabc26bfea446d9b9.tar.gz
gcc-f709638a8d4de40489a146bbabc26bfea446d9b9.tar.bz2
tree-ssa-pre.c (insert_into_preds_of_block): Do not call convert.
2008-07-14 Richard Guenther <rguenther@suse.de> * tree-ssa-pre.c (insert_into_preds_of_block): Do not call convert. From-SVN: r137780
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r--gcc/tree-ssa-pre.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 215074b..07290bc 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -2949,18 +2949,11 @@ insert_into_preds_of_block (basic_block block, unsigned int exprnum,
our IL requires all operands of a phi node have the same
type. */
tree name = PRE_EXPR_NAME (eprime);
- if (TREE_TYPE (name) != type)
+ if (!useless_type_conversion_p (type, TREE_TYPE (name)))
{
tree builtexpr;
tree forcedexpr;
- /* When eliminating casts through unions,
- we sometimes want to convert a real to an integer,
- which fold_convert will ICE on */
-/* if (fold_convertible_p (type, name)) */
- builtexpr = fold_convert (type, name);
-/* else
- builtexpr = convert (type, name);*/
-
+ builtexpr = fold_convert (type, name);
forcedexpr = force_gimple_operand (builtexpr,
&stmts, true,
NULL);