diff options
author | ak <ak@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-06 22:02:58 +0000 |
---|---|---|
committer | ak <ak@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-06 22:02:58 +0000 |
commit | a3de1f55a53ab4b9fd124dd145a7a9b92d45b61d (patch) | |
tree | 4b6b55c80051aa7deeeb8de1d0979f488e306b4c /gcc/lto | |
parent | ea130120a157893d06b90b8d4cec06a5af3c90ff (diff) | |
download | gcc-a3de1f55a53ab4b9fd124dd145a7a9b92d45b61d.tar.gz |
[PATCH] Report LTO phase in lto1 process name v2
On larger parallel WHOPR builds I find it useful to see in top which
phase a given lto1 is in.
Set the process name to lto1-wpa, lto1-ltrans, lto1-lto depending
on the current mode.
This is currently only implemented for Linux and only
using the "comm" process name, which is reported in top.
v2: Moved function to libiberty, renamed setproctitle to match
BSD. In theory it should pick up BSD's libc function for this
on a BSD system, but I haven't tested this.
gcc/lto/
2010-10-06 Andi Kleen <ak@linux.intel.com>
* lto.c (lto_process_name): Add.
(lto_main): Call lto_process_name.
include/
2010-10-06 Andi Kleen <ak@linux.intel.com>
* libiberty.h (setproctitle): Add prototype.
libiberty/
2010-10-06 Andi Kleen <ak@linux.intel.com>
* Makefile.in (CFILES): Add setproctitle.
(CONFIGURED_OFILES): Add setproctitle.
(setproctitle): Add rule.
* config.in: Regenerate.
* configure: Regenerate.
* configure.ac: Add checks for prctl PR_SET_NAME and setproctitle.
* setproctitle.c: Add file.
* functions.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165066 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto')
-rw-r--r-- | gcc/lto/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lto/lto.c | 14 |
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 0057fe39775..2bce315f225 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,8 @@ +2010-10-06 Andi Kleen <ak@linux.intel.com> + + * lto.c (lto_process_name): Add. + (lto_main): Call lto_process_name. + 2010-10-06 Jan Hubicka <jh@suse.cz> * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index ab90e85ed41..12fa613b311 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -2379,6 +2379,18 @@ lto_eh_personality (void) return lto_eh_personality_decl; } +/* Set the process name based on the LTO mode. */ + +static void +lto_process_name (void) +{ + if (flag_lto) + setproctitle ("lto1-lto"); + if (flag_wpa) + setproctitle ("lto1-wpa"); + if (flag_ltrans) + setproctitle ("lto1-ltrans"); +} /* Main entry point for the GIMPLE front end. This front end has three main personalities: @@ -2403,6 +2415,8 @@ lto_eh_personality (void) void lto_main (int debug_p ATTRIBUTE_UNUSED) { + lto_process_name (); + lto_init_reader (); /* Read all the symbols and call graph from all the files in the |