VIEW_CONVERT_EXPR to the same type as it's operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120945
138bc75d-0d04-0410-961f-
82ee72b054a4
+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
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);