[llvm-commits] [llvm-gcc-4.2] r79934 - in /llvm-gcc-4.2/trunk/gcc: doc/invoke.texi llvm-backend.cpp opts.c tree.c tree.h

Dale Johannesen dalej at apple.com
Mon Aug 24 13:28:12 PDT 2009


Author: johannes
Date: Mon Aug 24 15:28:12 2009
New Revision: 79934

URL: http://llvm.org/viewvc/llvm-project?rev=79934&view=rev
Log:
Revert 79556; Chris wants there to be no user-level
knob for inlining level.  Document that the gcc
options won't work.


Modified:
    llvm-gcc-4.2/trunk/gcc/doc/invoke.texi
    llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
    llvm-gcc-4.2/trunk/gcc/opts.c
    llvm-gcc-4.2/trunk/gcc/tree.c
    llvm-gcc-4.2/trunk/gcc/tree.h

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=79934&r1=79933&r2=79934&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/doc/invoke.texi (original)
+++ llvm-gcc-4.2/trunk/gcc/doc/invoke.texi Mon Aug 24 15:28:12 2009
@@ -5402,6 +5402,12 @@
 abstract measurement of function's size.  In no way does it represent a count
 of assembly instructions and as such its exact meaning might change from one
 release to an another.
+ at c LLVM LOCAL begin
+This option has no effect in llvm-gcc.  The always_inline and noinline
+parameters are honored, but none of the other inlining parameters have any
+effect; there is no specific user control on the amount of inlining done.  The
+compiler will do less inlining at -O2 or -Os than at -O3.
+ at c LLVM LOCAL end
 
 @item -fkeep-inline-functions
 @opindex fkeep-inline-functions

Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp?rev=79934&r1=79933&r2=79934&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Mon Aug 24 15:28:12 2009
@@ -349,28 +349,13 @@
 }
 
 // GuessAtInliningThreshold - Figure out a reasonable threshold to pass llvm's
-// inliner.  There are 12 user-settable gcc params that affect inlining.  llvm
-// (so far) only has one knob; the param that corresponds most closely, and
-// which we use, is max-inline-insns-auto (set by -finline-limit, which is
-// what most users actually use).  This maps only very approximately to what
-// llvm's inliner is doing, but it's the best we've got.
+// inliner.  gcc has many options that control inlining, but we have decided
+// not to support anything like that for llvm-gcc.
 static unsigned GuessAtInliningThreshold() {
   unsigned threshold = 200;
-  // Get the default value for gcc's max-inline-insns-auto.  This is the value
-  // after all language and target dependent changes to the global default are
-  // applied, but before parsing the command line.
-  unsigned default_miia = default_max_inline_insns_auto;
-  // See if the actual value is the same as the default.
-  unsigned miia = MAX_INLINE_INSNS_AUTO;
-  if (miia == default_miia) {
-    if (optimize_size || optimize < 3)
-      // Reduce inline limit.
-      threshold = 50;
-  } else {
-    // We have an overriding user-specified value.  Multiply by 20/9, which is
-    // the Magic Number converting 90 to 200.
-    threshold = miia * 20 / 9;
-  }
+  if (optimize_size || optimize < 3)
+    // Reduce inline limit.
+    threshold = 50;
   return threshold;
 }
 

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

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/opts.c (original)
+++ llvm-gcc-4.2/trunk/gcc/opts.c Mon Aug 24 15:28:12 2009
@@ -682,12 +682,6 @@
   OPTIMIZATION_OPTIONS (optimize, optimize_size);
 #endif
 
-  /* LLVM LOCAL begin hook up -finline-limit */
-  /* Remember the value of MAX_INLINE_INSNS_AUTO after applying target-dependent
-     changes to the defaults, but before command line options are parsed. */
-  default_max_inline_insns_auto = MAX_INLINE_INSNS_AUTO;
-  /* LLVM LOCAL end */
-
   /* APPLE LOCAL begin AV 3846092 */
   /* We have apple local patch to disable -fstrict-aliasing when -O2 is used.
      However do not disable it when -ftree-vectorize is used. Clobber its value

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

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/tree.c (original)
+++ llvm-gcc-4.2/trunk/gcc/tree.c Mon Aug 24 15:28:12 2009
@@ -73,13 +73,6 @@
 tree generic_block_literal_struct_type;
 /* APPLE LOCAL end 6353006  */
 
-/* LLVM LOCAL begin */
-/* The value of MAX_INLINE_INSNS_AUTO after all target-dependent changes
-   are applied to the global default (which many targets do), but before
-   command line flags are handled. */
-unsigned default_max_inline_insns_auto;
-/* LLVM LOCAL end */
-
 /* obstack.[ch] explicitly declined to prototype this.  */
 extern int _obstack_allocated_p (struct obstack *h, void *obj);
 

Modified: llvm-gcc-4.2/trunk/gcc/tree.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/tree.h?rev=79934&r1=79933&r2=79934&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/tree.h (original)
+++ llvm-gcc-4.2/trunk/gcc/tree.h Mon Aug 24 15:28:12 2009
@@ -4892,10 +4892,4 @@
 
 /* APPLE LOCAL end radar 6300081  */
 
-/* LLVM LOCAL begin */
-/* The value of MAX_INLINE_INSNS_AUTO after all target-dependent changes
-   are applied to the global default (which many targets do), but before
-   command line flags are handled. */
-extern unsigned default_max_inline_insns_auto;
-/* LLVM LOCAL end */
 #endif  /* GCC_TREE_H  */





More information about the llvm-commits mailing list