[llvm-branch-commits] [llvm-gcc-branch] r124572 - in /llvm-gcc-4.2/branches/Apple/Morbo/gcc: llvm-backend.cpp opts.c

Jakob Stoklund Olesen stoklund at 2pi.dk
Sun Jan 30 15:13:14 PST 2011


Author: stoklund
Date: Sun Jan 30 17:13:14 2011
New Revision: 124572

URL: http://llvm.org/viewvc/llvm-project?rev=124572&view=rev
Log:
Hook up -freorder-blocks to mean -tail-dup-size=5, but don't enable it by default.

Modified:
    llvm-gcc-4.2/branches/Apple/Morbo/gcc/llvm-backend.cpp
    llvm-gcc-4.2/branches/Apple/Morbo/gcc/opts.c

Modified: llvm-gcc-4.2/branches/Apple/Morbo/gcc/llvm-backend.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/branches/Apple/Morbo/gcc/llvm-backend.cpp?rev=124572&r1=124571&r2=124572&view=diff
==============================================================================
--- llvm-gcc-4.2/branches/Apple/Morbo/gcc/llvm-backend.cpp (original)
+++ llvm-gcc-4.2/branches/Apple/Morbo/gcc/llvm-backend.cpp Sun Jan 30 17:13:14 2011
@@ -424,6 +424,15 @@
     ArgStrings.push_back(Arg);
   }
 
+  // LLVM doesn't implement -freorder-blocks, but we can make tail-dup more
+  // aggressive as a poor man's block reordering.
+  // Tail-merge-size should always be at least one above tail-dup-size so they
+  // won't pull in opposite directions.
+  if (flag_reorder_blocks) {
+    ArgStrings.push_back("--tail-dup-size=5");
+    ArgStrings.push_back("--tail-merge-size=6");
+  }
+
   if (flag_limited_precision > 0) {
     std::string Arg("--limit-float-precision="+utostr(flag_limited_precision));
     ArgStrings.push_back(Arg);

Modified: llvm-gcc-4.2/branches/Apple/Morbo/gcc/opts.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/branches/Apple/Morbo/gcc/opts.c?rev=124572&r1=124571&r2=124572&view=diff
==============================================================================
--- llvm-gcc-4.2/branches/Apple/Morbo/gcc/opts.c (original)
+++ llvm-gcc-4.2/branches/Apple/Morbo/gcc/opts.c Sun Jan 30 17:13:14 2011
@@ -510,7 +510,12 @@
       if (cmdline) flag_strict_aliasing = 1;
       flag_strict_overflow = 1;
       flag_delete_null_pointer_checks = 1;
+      /* LLVM LOCAL begin */
+#ifndef ENABLE_LLVM
+      /* Don't enable -freorder-blocks by default for LLVM. 8935026 */
       flag_reorder_blocks = 1;
+#endif
+      /* LLVM LOCAL end */
       /* APPLE LOCAL optimization pragmas 3124235/3420242 */
       if (cmdline) flag_reorder_functions = 1;
       flag_tree_store_ccp = 1;





More information about the llvm-branch-commits mailing list