OSDN Git Service

2006-12-20 Andrew Pinski <pinskia@gmail.com>
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Dec 2006 17:46:39 +0000 (17:46 +0000)
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Dec 2006 17:46:39 +0000 (17:46 +0000)
        * tree-gimple.c (is_gimple_min_invariant): Treat constant vector
        CONSTRUCTORs as min invariants.

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

gcc/ChangeLog
gcc/tree-gimple.c

index 4f14593..e247f0b 100644 (file)
@@ -1,3 +1,8 @@
+2006-12-20  Andrew Pinski  <pinskia@gmail.com>
+
+       * tree-gimple.c (is_gimple_min_invariant): Treat constant vector
+       CONSTRUCTORs as min invariants.
+
 2006-12-20  Joseph Myers  <joseph@codesourcery.com>
 
        * rtlanal.c (struct subreg_info, subreg_get_info, subreg_nregs):
index f3a5db7..abef0e2 100644 (file)
@@ -183,6 +183,13 @@ is_gimple_min_invariant (tree t)
     case VECTOR_CST:
       return true;
 
+    /* Vector constant constructors are gimple invariant.  */
+    case CONSTRUCTOR:
+      if (TREE_TYPE (t) && TREE_CODE (TREE_TYPE (t)) == VECTOR_TYPE)
+       return TREE_CONSTANT (t);
+      else
+       return false;
+
     default:
       return false;
     }