summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2008-07-14 08:46:14 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2008-07-14 08:46:14 +0000
commitadb79ed9d274a91fcf36009fec1ba783cb269be7 (patch)
tree589592bbb71834189f504fff4dcfe789985bb3ee /gcc/tree-ssa-pre.c
parent08b5e26232fa08e766f268d46fad5c0714ae14b4 (diff)
downloadgcc-adb79ed9d274a91fcf36009fec1ba783cb269be7.tar.gz
2008-07-14 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (insert_into_preds_of_block): Do not call convert. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137780 138bc75d-0d04-0410-961f-82ee72b054a4
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 215074be8f9..07290bc48c4 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);