fold-const.c (fold_unary): Optimize away a VIEW_CONVERT_EXPR to the same type as it's operand.

* fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Optimize away a
	VIEW_CONVERT_EXPR to the same type as it's operand.

From-SVN: r120945
This commit is contained in:
Roger Sayle 2007-01-19 00:30:47 +00:00 committed by Roger Sayle
parent 63d71dea80
commit f85242f0ce
2 changed files with 7 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2007-01-18 Roger Sayle <roger@eyesopen.com>
* fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Optimize away a
VIEW_CONVERT_EXPR to the same type as it's operand.
2007-01-18 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/darwin-ldouble.c: Only build _SOFT_FLOAT if

View File

@ -7573,6 +7573,8 @@ fold_unary (enum tree_code code, tree type, tree op0)
return tem ? tem : NULL_TREE;
case VIEW_CONVERT_EXPR:
if (TREE_TYPE (op0) == type)
return op0;
if (TREE_CODE (op0) == VIEW_CONVERT_EXPR)
return fold_build1 (VIEW_CONVERT_EXPR, type, TREE_OPERAND (op0, 0));
return fold_view_convert_expr (type, op0);