diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-14 08:46:14 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-14 08:46:14 +0000 |
commit | adb79ed9d274a91fcf36009fec1ba783cb269be7 (patch) | |
tree | 589592bbb71834189f504fff4dcfe789985bb3ee /gcc/tree-ssa-pre.c | |
parent | 08b5e26232fa08e766f268d46fad5c0714ae14b4 (diff) | |
download | gcc-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.c | 11 |
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); |