OSDN Git Service

2005-05-19 Richard Guenther <rguenth@gcc.gnu.org>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 May 2005 19:17:49 +0000 (19:17 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 May 2005 19:17:49 +0000 (19:17 +0000)
* tree-ssa-loop-ivopts.c (determine_base_object): Use
build_fold_addr_expr to generate trees of correct type.
Use fold_buildN if possible.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99981 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-ssa-loop-ivopts.c

index 51df4dc..81ea098 100644 (file)
@@ -1,3 +1,9 @@
+2005-05-19  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * tree-ssa-loop-ivopts.c (determine_base_object): Use
+       build_fold_addr_expr to generate trees of correct type.
+       Use fold_buildN if possible.
+
 2005-05-19  Jan Hubicka  <jh@suse.cz>
 
        * basic-block.h (REG_BR_PROB_BASE): Define.
index af121c4..f60082a 100644 (file)
@@ -791,7 +791,8 @@ determine_base_object (tree expr)
       if (TREE_CODE (base) == INDIRECT_REF)
        return determine_base_object (TREE_OPERAND (base, 0));
 
-      return fold (build1 (ADDR_EXPR, ptr_type_node, base));
+      return fold_convert (ptr_type_node,
+                          build_fold_addr_expr (base));
 
     case PLUS_EXPR:
     case MINUS_EXPR:
@@ -804,9 +805,9 @@ determine_base_object (tree expr)
       if (!op0)
        return (code == PLUS_EXPR
                ? op1
-               : fold (build1 (NEGATE_EXPR, ptr_type_node, op1)));
+               : fold_build1 (NEGATE_EXPR, ptr_type_node, op1));
 
-      return fold (build (code, ptr_type_node, op0, op1));
+      return fold_build2 (code, ptr_type_node, op0, op1);
 
     case NOP_EXPR:
     case CONVERT_EXPR: