[llvm-commits] [llvm-gcc-4.2] r43008 - /llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c

Dale Johannesen dalej at apple.com
Mon Oct 15 13:35:08 PDT 2007


Author: johannes
Date: Mon Oct 15 15:35:07 2007
New Revision: 43008

URL: http://llvm.org/viewvc/llvm-project?rev=43008&view=rev
Log:
Make previous patch actually work.


Modified:
    llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c?rev=43008&r1=43007&r2=43008&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c Mon Oct 15 15:35:07 2007
@@ -9091,26 +9091,6 @@
   bool_int_type_node = build_distinct_type_copy (unsigned_intSI_type_node);
   pixel_type_node = build_distinct_type_copy (unsigned_intHI_type_node);
 
-  /* APPLE LOCAL begin LLVM */
-#ifdef ENABLE_LLVM
-  /* LLVM doesn't initialize the RTL backend, so build_vector_type will assign
-    all of these types BLKmode.  This interferes with rs6000.c-specific
-    handling of -faltivec overloads (an apple local patch).  As such, give them
-    the correct modes here manually. */
-  TYPE_MODE (V4SI_type_node) = V4SImode;
-  TYPE_MODE (V4SF_type_node) = V4SFmode;
-  TYPE_MODE (V8HI_type_node) = V8HImode;
-  TYPE_MODE (V16QI_type_node) = V16QImode;
-  TYPE_MODE (unsigned_V4SI_type_node) = V4SImode;
-  TYPE_MODE (unsigned_V8HI_type_node) = V8HImode;
-  TYPE_MODE (unsigned_V16QI_type_node) = V16QImode;
-  TYPE_MODE (bool_V16QI_type_node) = V16QImode;
-  TYPE_MODE (bool_V8HI_type_node) = V8HImode;
-  TYPE_MODE (bool_V4SI_type_node) = V4SImode;
-  TYPE_MODE (pixel_V8HI_type_node) = V8HImode;
-#endif
-  /* APPLE LOCAL end LLVM */
-
   long_integer_type_internal_node = long_integer_type_node;
   long_unsigned_type_internal_node = long_unsigned_type_node;
   intQI_type_internal_node = intQI_type_node;
@@ -9140,6 +9120,27 @@
   bool_V4SI_type_node = build_vector_type (bool_int_type_node, 4);
   pixel_V8HI_type_node = build_vector_type (pixel_type_node, 8);
 
+
+  /* APPLE LOCAL begin LLVM */
+#ifdef ENABLE_LLVM
+  /* LLVM doesn't initialize the RTL backend, so build_vector_type will assign
+    all of these types BLKmode.  This interferes with rs6000.c-specific
+    handling of -faltivec overloads (an apple local patch).  As such, give them
+    the correct modes here manually. */
+  TYPE_MODE (V4SI_type_node) = V4SImode;
+  TYPE_MODE (V4SF_type_node) = V4SFmode;
+  TYPE_MODE (V8HI_type_node) = V8HImode;
+  TYPE_MODE (V16QI_type_node) = V16QImode;
+  TYPE_MODE (unsigned_V4SI_type_node) = V4SImode;
+  TYPE_MODE (unsigned_V8HI_type_node) = V8HImode;
+  TYPE_MODE (unsigned_V16QI_type_node) = V16QImode;
+  TYPE_MODE (bool_V16QI_type_node) = V16QImode;
+  TYPE_MODE (bool_V8HI_type_node) = V8HImode;
+  TYPE_MODE (bool_V4SI_type_node) = V4SImode;
+  TYPE_MODE (pixel_V8HI_type_node) = V8HImode;
+#endif
+  /* APPLE LOCAL end LLVM */
+
   (*lang_hooks.decls.pushdecl) (build_decl (TYPE_DECL,
 					    get_identifier ("__vector unsigned char"),
 					    unsigned_V16QI_type_node));





More information about the llvm-commits mailing list