Add -fmem-report-wpa
authorAndi Kleen <ak@linux.intel.com>
Sat, 8 Sep 2012 17:26:07 +0000 (17:26 +0000)
committerAndi Kleen <ak@gcc.gnu.org>
Sat, 8 Sep 2012 17:26:07 +0000 (17:26 +0000)
For parallel LTO builds setting -fmem-report does not work very well
because all the LTRANS phases dump it in parallel and typically interleave
it to unreadability.

Since usually the memory bottleneck is WPA add a flag to only dump
the memory report for that.

gcc/:
2012-09-08  Andi Kleen  <ak@linux.intel.com>

* gcc/common.opt (-fmem-report-wpa): Add
* gcc/doc/invoke.texi (-fmem-report-wpa): Document.
* gcc/lto/lto.c (do_whole_program_analysis): Run mem_report
when mem_report_wpa is set.

From-SVN: r191095

gcc/ChangeLog
gcc/common.opt
gcc/doc/invoke.texi
gcc/lto/lto.c

index b4592a58a4cd9e26413052ad8220bc673d962b9e..10d93445d285c2c16d5f8353185dca7d98600ace 100644 (file)
@@ -1,3 +1,10 @@
+2012-09-08  Andi Kleen  <ak@linux.intel.com>
+
+       * gcc/common.opt (-fmem-report-wpa): Add
+       * gcc/doc/invoke.texi (-fmem-report-wpa): Document.
+       * gcc/lto/lto.c (do_whole_program_analysis): Run mem_report
+       when mem_report_wpa is set.
+
 2012-09-07  Anthony Green  <green@moxielogic.com>
 
        * config/moxie/moxie.c (moxie_expand_prologue): Optimize prologue
index 87e28b5efe9a0ef369a5ef8ae8a2da685dbdb049..73eebf49157cd64fa6fcea406f11665a48034bce 100644 (file)
@@ -1470,6 +1470,10 @@ fmem-report
 Common Report Var(mem_report)
 Report on permanent memory allocation
 
+fmem-report-wpa
+Common Report Var(mem_report_wpa)
+Report on permanent memory allocation in WPA only
+
 ; This will attempt to merge constant section constants, if 1 only
 ; string constants and constants from constant pool, if 2 also constant
 ; variables.
index 3c46cd90a55c6d754df3919b027e1fad7b929d78..994e4db5fbfb0b1eb199702ad10c7ed56ee2891d 100644 (file)
@@ -328,7 +328,7 @@ Objective-C and Objective-C++ Dialects}.
 -feliminate-unused-debug-symbols -femit-class-debug-always @gol
 -fenable-@var{kind}-@var{pass} @gol
 -fenable-@var{kind}-@var{pass}=@var{range-list} @gol
--fdebug-types-section @gol
+-fdebug-types-section -fmem-report-wpa @gol
 -fmem-report -fpre-ipa-mem-report -fpost-ipa-mem-report -fprofile-arcs @gol
 -frandom-seed=@var{string} -fsched-verbose=@var{n} @gol
 -fsel-sched-verbose -fsel-sched-dump-cfg -fsel-sched-pipelining-verbose @gol
@@ -5132,6 +5132,11 @@ pass when it finishes.
 Makes the compiler print some statistics about permanent memory
 allocation when it finishes.
 
+@item -fmem-report-wpa
+@opindex fmem-report-wpa
+Makes the compiler print some statistics about permanent memory
+allocation for the WPA phase only.
+
 @item -fpre-ipa-mem-report
 @opindex fpre-ipa-mem-report
 @item -fpost-ipa-mem-report
index 5da54124f2db881f7bf51864942a22e799710397..3c5929912be3b5b61afc5ae3c3a5cf7538684772 100644 (file)
@@ -2016,6 +2016,8 @@ do_whole_program_analysis (void)
   /* Show the LTO report before launching LTRANS.  */
   if (flag_lto_report)
     print_lto_report ();
+  if (mem_report_wpa)
+    dump_mem_report ();
 }