]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-gimple.c (is_gimple_min_invariant): Treat constant vector CONSTRUCTORs as min...
authorAndrew Pinski <pinskia@gmail.com>
Wed, 20 Dec 2006 17:46:39 +0000 (09:46 -0800)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Wed, 20 Dec 2006 17:46:39 +0000 (09:46 -0800)
2006-12-20  Andrew Pinski  <pinskia@gmail.com>

        * tree-gimple.c (is_gimple_min_invariant): Treat constant vector
        CONSTRUCTORs as min invariants.

From-SVN: r120079

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;
     }