[llvm-commits] [llvm-gcc-4.2] r99076 - /llvm-gcc-4.2/trunk/gcc/config/arm/arm.c

Anton Korobeynikov asl at math.spbu.ru
Sat Mar 20 12:21:59 PDT 2010


Author: asl
Date: Sat Mar 20 14:21:59 2010
New Revision: 99076

URL: http://llvm.org/viewvc/llvm-project?rev=99076&view=rev
Log:
Bring arm_mangle_type back, but use it for HF name mangling only.

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

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm.c?rev=99076&r1=99075&r2=99076&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm.c Sat Mar 20 14:21:59 2010
@@ -146,6 +146,7 @@
 /* LLVM LOCAL begin */
 static tree arm_type_promotes_to(tree);
 static bool arm_is_fp16(tree);
+static const char * arm_mangle_type (tree type);
 /* LLVM LOCAL end */
 static int arm_comp_type_attributes (tree, tree);
 static void arm_set_default_type_attributes (tree);
@@ -500,7 +501,10 @@
 #endif
 /* APPLE LOCAL end ARM darwin local binding */
 
-/* LLVM LOCAL pr5037 removed arm_mangle_type */
+/* APPLE LOCAL begin v7 support. Merge from Codesourcery */
+#undef TARGET_MANGLE_TYPE
+#define TARGET_MANGLE_TYPE arm_mangle_type
+/* APPLE LOCAL end support. Merge from Codesourcery */
 
 /* APPLE LOCAL begin ARM reliable backtraces */
 #undef TARGET_BUILTIN_SETJMP_FRAME_VALUE
@@ -19614,6 +19618,7 @@
 #undef TYPE6
 }
 
+/* LLVM LOCAL begin */
 static void
 arm_init_fp16_builtins (void)
 {
@@ -19622,6 +19627,7 @@
   layout_type (fp16_type);
   (*lang_hooks.types.register_builtin_type) (fp16_type, "__fp16");
 }
+/* LLVM LOCAL end */
 
 static void
 arm_init_builtins (void)
@@ -23897,8 +23903,19 @@
     }
 }
 /* APPLE LOCAL end v7 support. Merge from mainline */
-/* APPLE LOCAL begin v7 support. Merge from Codesourcery */
-/* LLVM LOCAL pr5037 removed arm_mangle_type */
+
+/* LLVM LOCAL begin */
+static const char *
+arm_mangle_type (tree type)
+{
+  if (arm_is_fp16(type))
+    return "Dh";
+
+  /* Use the default mangling for unrecognized (possibly user-defined)
+     vector types.  */
+  return NULL;
+}
+/* LLVM LOCAL end */
 
 void
 arm_asm_output_addr_diff_vec (FILE *file, rtx label, rtx body)





More information about the llvm-commits mailing list