OSDN Git Service

* ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Oct 2001 18:58:15 +0000 (18:58 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Oct 2001 18:58:15 +0000 (18:58 +0000)
the node was already a set to a constant.

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

gcc/ChangeLog
gcc/ssa-ccp.c

index f595b36..69d605d 100644 (file)
@@ -1,3 +1,8 @@
+2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
+       the node was already a set to a constant. 
+
 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * emit-rtl.c (set_mem_attributes): Fix typo in last change.
index 047b29d..c2f1b78 100644 (file)
@@ -866,8 +866,13 @@ ssa_ccp_substitute_constants ()
          /* Do not try to simplify PHI nodes down to a constant load.
             That will be done later as we translate out of SSA.  Also,
             doing that here could violate the rule that all PHI nodes
-            are consecutive at the start of the basic block.  */
-         if (! PHI_NODE_P (def))
+            are consecutive at the start of the basic block.
+
+            Don't do anything to nodes that were already sets to
+            constants.  */
+         if (! PHI_NODE_P (def)
+             && ! ((GET_CODE (def) == INSN
+                    && GET_CODE (SET_SRC (set)) == CONST_INT)))
            {
              if (rtl_dump_file)
                fprintf (rtl_dump_file,