]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
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 4f145939528fb8cdec241fd67e3b4e6fb54c19f2..e247f0b121820a63e43ee25f776e4e099fdd9a49 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 f3a5db7c2ed6ee295aacd94d88bec61614aa6e62..abef0e20539c305dd4ea50dc3e47437f04b519dc 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;
     }