diff options
author | Richard Guenther <rguenther@suse.de> | 2008-07-14 08:46:14 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2008-07-14 08:46:14 +0000 |
commit | f709638a8d4de40489a146bbabc26bfea446d9b9 (patch) | |
tree | 589592bbb71834189f504fff4dcfe789985bb3ee /gcc/tree-ssa-pre.c | |
parent | 1f9e1fc69b80fcc48f4df72fb0a3d9020f802a46 (diff) | |
download | gcc-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.c | 11 |
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); |