[llvm-commits] [llvm-gcc-4.2] r84688 - in /llvm-gcc-4.2/trunk/gcc: ChangeLog.apple config/arm/arm-protos.h config/arm/linux-eabi.h config/darwin-c.c cp/parser.c doc/invoke.texi gcc.c tree-eh.c version.c

Bill Wendling isanbard at gmail.com
Tue Oct 20 15:35:00 PDT 2009


Author: void
Date: Tue Oct 20 17:34:59 2009
New Revision: 84688

URL: http://llvm.org/viewvc/llvm-project?rev=84688&view=rev
Log:
Sync to Apple gcc 5654.

Modified:
    llvm-gcc-4.2/trunk/gcc/ChangeLog.apple
    llvm-gcc-4.2/trunk/gcc/config/arm/arm-protos.h
    llvm-gcc-4.2/trunk/gcc/config/arm/linux-eabi.h
    llvm-gcc-4.2/trunk/gcc/config/darwin-c.c
    llvm-gcc-4.2/trunk/gcc/cp/parser.c
    llvm-gcc-4.2/trunk/gcc/doc/invoke.texi
    llvm-gcc-4.2/trunk/gcc/gcc.c
    llvm-gcc-4.2/trunk/gcc/tree-eh.c
    llvm-gcc-4.2/trunk/gcc/version.c

Modified: llvm-gcc-4.2/trunk/gcc/ChangeLog.apple
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/ChangeLog.apple?rev=84688&r1=84687&r2=84688&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/ChangeLog.apple (original)
+++ llvm-gcc-4.2/trunk/gcc/ChangeLog.apple Tue Oct 20 17:34:59 2009
@@ -1,3 +1,18 @@
+2009-10-15  Jim Grosbach <grosbach at apple.com>
+
+	Radar 7295521
+	* config/arm/arm.c (arm_split_compare_and_swap): Call insns for
+	arm_memory_barrier* and arm_memory_sync* directory rather than using
+	the expander.
+	* config/arm/sync.md (memory_barrier, memory_sync): Allocate a scratch
+	register rather than forcing IP.
+	(arm_memory_barrier_v6): Match the scratch register from the expander
+	rather than forcing IP. Rename to arm_memory_barrier_v6_explicit.
+	(arm_memory_barrier_v6_explicit): New.
+	(arm_memory_sync_v6): Match the scratch register from the expander
+	rather than forcing IP. Rename to arm_memory_sync_v6_explicit.
+	(arm_memory_sync_v6_explicit): New.
+
 2009-09-11  Caroline Tice  <ctice at apple.com>
 
 	Radar 6419781
@@ -9,8 +24,8 @@
 
 2009-09-08  Jim Grosbach <grosbach at apple.com>
 
-       Radar 7174451
-       * config/arm/arm.c (arm_select_dominance_cc_mode): Unordered floats.
+	Radar 7174451
+	* config/arm/arm.c (arm_select_dominance_cc_mode): Unordered floats.
 
 2009-09-08  Jim Grosbach <grosbach at apple.com>
 

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm-protos.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm-protos.h?rev=84688&r1=84687&r2=84688&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm-protos.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm-protos.h Tue Oct 20 17:34:59 2009
@@ -258,7 +258,14 @@
 /* APPLE LOCAL 5946347 ms_struct support */
 extern int arm_field_ms_struct_align (tree);
 
-/* LLVM LOCAL pr5037 removed arm_mangle_type */
+/* LLVM LOCAL begin pr5037 removed arm_mangle_type */
+#ifndef ENABLE_LLVM
+/* APPLE LOCAL begin v7 support. Merge from Codesourcery */
+extern const char *arm_mangle_type (tree);
+
+/* APPLE LOCAL end v7 support. Merge from Codesourcery */
+#endif
+/* LLVM LOCAL end pr5037 removed arm_mangle_type */
 
 /* APPLE LOCAL v7 support. Fix compact switch tables */
 extern void arm_asm_output_addr_diff_vec (FILE *file, rtx LABEL, rtx BODY);

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/linux-eabi.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/linux-eabi.h?rev=84688&r1=84687&r2=84688&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/linux-eabi.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/linux-eabi.h Tue Oct 20 17:34:59 2009
@@ -79,7 +79,7 @@
   register unsigned long _end __asm ("a2") = (unsigned long) (END);	\
   register unsigned long _flg __asm ("a3") = 0;				\
   register unsigned long _scno __asm ("r7") = 0xf0002;			\
-  __asm __volatile ("swi 0		@ sys_cacheflush"		\
+  __asm __volatile ("swi 0x9f0002		@ sys_cacheflush"	\
 		    : "=r" (_beg)					\
 		    : "0" (_beg), "r" (_end), "r" (_flg), "r" (_scno));	\
 }

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

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/darwin-c.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/darwin-c.c Tue Oct 20 17:34:59 2009
@@ -412,7 +412,7 @@
 /* APPLE LOCAL end pragma reverse_bitfields */
 
 /* APPLE LOCAL begin optimization pragmas 3124235/3420242 */
-static GTY(()) varray_type va_opt;
+varray_type va_opt;
 
 static void
 push_opt_level (int level, int size)

Modified: llvm-gcc-4.2/trunk/gcc/cp/parser.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/parser.c?rev=84688&r1=84687&r2=84688&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/parser.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/parser.c Tue Oct 20 17:34:59 2009
@@ -21078,12 +21078,11 @@
   CONSTRUCTOR_ELTS (constructor) = build_block_struct_initlist (block_struct_type,
                                                                 block_impl);
   /* Temporary representing a global block is made global static.  */
-  /* APPLE LOCAL begin radar 6230297 */
+  /* APPLE LOCAL radar 6230297 */
   if (staticBlockTmp || global_bindings_p ()) {
     TREE_PUBLIC (block_holder_tmp_decl) = 0;
     TREE_STATIC (block_holder_tmp_decl) = 1;
   }
-  /* APPLE LOCAL end radar 6230297 */
   cp_finish_decl (block_holder_tmp_decl, constructor, 0, 0, LOOKUP_ONLYCONVERTING);
   return block_holder_tmp_decl;
 }

Modified: llvm-gcc-4.2/trunk/gcc/doc/invoke.texi
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/doc/invoke.texi?rev=84688&r1=84687&r2=84688&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/doc/invoke.texi (original)
+++ llvm-gcc-4.2/trunk/gcc/doc/invoke.texi Tue Oct 20 17:34:59 2009
@@ -175,8 +175,7 @@
 @table @emph
 @item Overall Options
 @xref{Overall Options,,Options Controlling the Kind of Output}.
- at gccoptlist{-c  -S  -E  -o @var{file}  -combine  -no-canonical-prefixes  @gol
--pipe  -pass-exit-codes  @gol
+ at gccoptlist{-c  -S  -E  -o @var{file}  -combine -pipe  -pass-exit-codes  @gol
 @c APPLE LOCAL -ObjC 2001-08-03 --sts **
 -ObjC (APPLE ONLY) -ObjC++ (APPLE ONLY) @gol
 @c APPLE LOCAL begin fat builds
@@ -1239,12 +1238,6 @@
 Print (on the standard output) a description of target specific command
 line options for each tool.
 
- at item -no-canonical-prefixes
- at opindex no-canonical-prefixes
-Do not expand any symbolic links, resolve references to @samp{/../}
-or @samp{/./}, or make the path absolute when generating a relative
-prefix.
-
 @item --version
 @opindex version
 Display the version number and copyrights of the invoked GCC at .

Modified: llvm-gcc-4.2/trunk/gcc/gcc.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/gcc.c?rev=84688&r1=84687&r2=84688&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/gcc.c (original)
+++ llvm-gcc-4.2/trunk/gcc/gcc.c Tue Oct 20 17:34:59 2009
@@ -1190,7 +1190,6 @@
    /* LLVM LOCAL end */
    {"--machine", "-m", "aj"},
    {"--machine-", "-m", "*j"},
-   {"--no-canonical-prefixes", "-no-canonical-prefixes", 0},
    {"--no-integrated-cpp", "-no-integrated-cpp", 0},
    {"--no-line-commands", "-P", 0},
    {"--no-precompiled-includes", "-noprecomp", 0},
@@ -3342,10 +3341,6 @@
   fputs (_("  -Xlinker <arg>           Pass <arg> on to the linker\n"), stdout);
   fputs (_("  -combine                 Pass multiple source files to compiler at once\n"), stdout);
   fputs (_("  -save-temps              Do not delete intermediate files\n"), stdout);
-  fputs (_("\
-  -no-canonical-prefixes   Do not canonicalize paths when building relative\n\
-                           prefixes to other gcc components\n"), stdout);
-
   fputs (_("  -pipe                    Use pipes rather than intermediate files\n"), stdout);
   fputs (_("  -time                    Time the execution of each subprocess\n"), stdout);
   fputs (_("  -specs=<file>            Override built-in specs with the contents of <file>\n"), stdout);
@@ -3438,8 +3433,6 @@
   int is_modify_target_name;
   unsigned int j;
 #endif
-  char *(*get_relative_prefix) (const char *, const char *,
-				const char *) = NULL;
 
   GET_ENVIRONMENT (gcc_exec_prefix, "GCC_EXEC_PREFIX");
 
@@ -3526,28 +3519,6 @@
       fatal ("couldn't run '%s': %s", new_argv0, xstrerror (errno));
     }
 
-  /* Convert new-style -- options to old-style.  */
-  translate_options (&argc, (const char * const **) &argv);
-
-  /* Do language-specific adjustment/addition of flags.  */
-  lang_specific_driver (&argc, (const char * const **) &argv,
-			&added_libraries);
-
-  /* Handle any -no-canonical-prefixes flag early, to assign the function
-     that builds relative prefixes.  This function creates default search
-     paths that are needed later in normal option handling.  */
-
-  for (i = 1; i < argc; i++)
-    {
-      if (! strcmp (argv[i], "-no-canonical-prefixes"))
-	{
-	  get_relative_prefix = make_relative_prefix_ignore_links;
-	  break;
-	}
-    }
-  if (! get_relative_prefix)
-    get_relative_prefix = make_relative_prefix;
-
   /* Set up the default search paths.  If there is no GCC_EXEC_PREFIX,
      see if we can create it from the pathname specified in argv[0].  */
 
@@ -3556,12 +3527,11 @@
   /* FIXME: make_relative_prefix doesn't yet work for VMS.  */
   if (!gcc_exec_prefix)
     {
-      gcc_exec_prefix = get_relative_prefix (argv[0],
-					     standard_bindir_prefix,
-					     standard_exec_prefix);
-      gcc_libexec_prefix = get_relative_prefix (argv[0],
-					     standard_bindir_prefix,
-					     standard_libexec_prefix);
+      gcc_exec_prefix = make_relative_prefix (argv[0], standard_bindir_prefix,
+					      standard_exec_prefix);
+      gcc_libexec_prefix = make_relative_prefix (argv[0],
+						 standard_bindir_prefix,
+						 standard_libexec_prefix);
       if (gcc_exec_prefix)
 	putenv (concat ("GCC_EXEC_PREFIX=", gcc_exec_prefix, NULL));
     }
@@ -3572,9 +3542,9 @@
 	 / (which is ignored by make_relative_prefix), so append a
 	 program name.  */
       char *tmp_prefix = concat (gcc_exec_prefix, "gcc", NULL);
-      gcc_libexec_prefix = get_relative_prefix (tmp_prefix,
-						standard_exec_prefix,
-						standard_libexec_prefix);
+      gcc_libexec_prefix = make_relative_prefix (tmp_prefix,
+						 standard_exec_prefix,
+						 standard_libexec_prefix);
       free (tmp_prefix);
     }
 #else
@@ -3704,6 +3674,12 @@
 	}
     }
 
+  /* Convert new-style -- options to old-style.  */
+  translate_options (&argc, (const char *const **) &argv);
+
+  /* Do language-specific adjustment/addition of flags.  */
+  lang_specific_driver (&argc, (const char *const **) &argv, &added_libraries);
+
   /* Scan argv twice.  Here, the first time, just count how many switches
      there will be in their vector, and how many input files in theirs.
      Here we also parse the switches that cc itself uses (e.g. -v).  */
@@ -3915,9 +3891,6 @@
 	  n_infiles += 2;
 	  i++;
 	}
-      else if (strcmp (argv[i], "-no-canonical-prefixes") == 0)
-	/* Already handled as a special case, so ignored here.  */
-	;
       /* APPLE LOCAL end -weak_* (radar 3235250) */
       else if (strcmp (argv[i], "-combine") == 0)
 	{
@@ -4251,9 +4224,9 @@
      ``make_relative_prefix'' is not compiled for VMS, so don't call it.  */
   if (target_system_root && gcc_exec_prefix)
     {
-      char *tmp_prefix = get_relative_prefix (argv[0],
-					      standard_bindir_prefix,
-					      target_system_root);
+      char *tmp_prefix = make_relative_prefix (argv[0],
+					       standard_bindir_prefix,
+					       target_system_root);
       if (tmp_prefix && access_check (tmp_prefix, F_OK) == 0)
 	{
 	  target_system_root = tmp_prefix;
@@ -4295,8 +4268,6 @@
 	;
       else if (! strncmp (argv[i], "-Wp,", 4))
 	;
-      else if (! strcmp (argv[i], "-no-canonical-prefixes"))
-	;
       else if (! strcmp (argv[i], "-pass-exit-codes"))
 	;
       else if (! strcmp (argv[i], "-print-search-dirs"))

Modified: llvm-gcc-4.2/trunk/gcc/tree-eh.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/tree-eh.c?rev=84688&r1=84687&r2=84688&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/tree-eh.c (original)
+++ llvm-gcc-4.2/trunk/gcc/tree-eh.c Tue Oct 20 17:34:59 2009
@@ -839,10 +839,12 @@
 
       save_eptr = create_tmp_var (ptr_type_node, "save_eptr");
       save_filt = create_tmp_var (integer_type_node, "save_filt");
+
       i = tsi_start (finally);
       x = build0 (EXC_PTR_EXPR, ptr_type_node);
       x = build2 (MODIFY_EXPR, void_type_node, save_eptr, x);
       tsi_link_before (&i, x, TSI_CONTINUE_LINKING);
+
       x = build0 (FILTER_EXPR, integer_type_node);
       x = build2 (MODIFY_EXPR, void_type_node, save_filt, x);
       tsi_link_before (&i, x, TSI_CONTINUE_LINKING);

Modified: llvm-gcc-4.2/trunk/gcc/version.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/version.c?rev=84688&r1=84687&r2=84688&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/version.c (original)
+++ llvm-gcc-4.2/trunk/gcc/version.c Tue Oct 20 17:34:59 2009
@@ -11,12 +11,12 @@
 /* APPLE LOCAL begin Apple version */
 #ifdef ENABLE_LLVM
 #ifdef LLVM_VERSION_INFO
-#define VERSUFFIX " (Based on Apple Inc. build 5653) (LLVM build " LLVM_VERSION_INFO ")"
+#define VERSUFFIX " (Based on Apple Inc. build 5654) (LLVM build " LLVM_VERSION_INFO ")"
 #else
-#define VERSUFFIX " (Based on Apple Inc. build 5653) (LLVM build)"
+#define VERSUFFIX " (Based on Apple Inc. build 5654) (LLVM build)"
 #endif
 #else
-#define VERSUFFIX " (Based on Apple Inc. build 5653)"
+#define VERSUFFIX " (Based on Apple Inc. build 5654)"
 #endif
 /* APPLE LOCAL end Apple version */
 





More information about the llvm-commits mailing list