Commit ed7dc894 by Jan Hubicka Committed by Jan Hubicka

timevar.def (TV_IPA_LTO_DECOMPRESS, [...]): New.

	* timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS,
	TV_IPA_LTO_OUTPUT): New.
	* lto-compress.c: Include timevar.h
	(lto_end_compression, lto_end_uncompression): Add timers.
	* langhooks.c: Include timevar.h
	(lhd_append_data): Add timer.

From-SVN: r230902
parent 72ad6d33
2015-11-25 Jan Hubicka <hubicka@ucw.cz> 2015-11-25 Jan Hubicka <hubicka@ucw.cz>
* timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS,
TV_IPA_LTO_OUTPUT): New.
* lto-compress.c: Include timevar.h
(lto_end_compression, lto_end_uncompression): Add timers.
* langhooks.c: Include timevar.h
(lhd_append_data): Add timer.
2015-11-25 Jan Hubicka <hubicka@ucw.cz>
* varasm.c (default_elf_asm_output_limited_string, * varasm.c (default_elf_asm_output_limited_string,
default_elf_asm_output_ascii): Replace fprintf by putc. default_elf_asm_output_ascii): Replace fprintf by putc.
...@@ -34,6 +34,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -34,6 +34,7 @@ along with GCC; see the file COPYING3. If not see
#include "langhooks.h" #include "langhooks.h"
#include "tree-diagnostic.h" #include "tree-diagnostic.h"
#include "output.h" #include "output.h"
#include "timevar.h"
/* Do nothing; in many cases the default hook. */ /* Do nothing; in many cases the default hook. */
...@@ -658,7 +659,11 @@ void ...@@ -658,7 +659,11 @@ void
lhd_append_data (const void *data, size_t len, void *) lhd_append_data (const void *data, size_t len, void *)
{ {
if (data) if (data)
assemble_string ((const char *)data, len); {
timevar_push (TV_IPA_LTO_OUTPUT);
assemble_string ((const char *)data, len);
timevar_pop (TV_IPA_LTO_OUTPUT);
}
} }
......
...@@ -33,6 +33,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -33,6 +33,7 @@ along with GCC; see the file COPYING3. If not see
system.h. */ system.h. */
#include <zlib.h> #include <zlib.h>
#include "lto-compress.h" #include "lto-compress.h"
#include "timevar.h"
/* Compression stream structure, holds the flush callback and opaque token, /* Compression stream structure, holds the flush callback and opaque token,
the buffered data, and a note of whether compressing or uncompressing. */ the buffered data, and a note of whether compressing or uncompressing. */
...@@ -177,6 +178,8 @@ lto_end_compression (struct lto_compression_stream *stream) ...@@ -177,6 +178,8 @@ lto_end_compression (struct lto_compression_stream *stream)
gcc_assert (stream->is_compression); gcc_assert (stream->is_compression);
timevar_push (TV_IPA_LTO_COMPRESS);
out_stream.next_out = outbuf; out_stream.next_out = outbuf;
out_stream.avail_out = outbuf_length; out_stream.avail_out = outbuf_length;
out_stream.next_in = cursor; out_stream.next_in = cursor;
...@@ -220,6 +223,7 @@ lto_end_compression (struct lto_compression_stream *stream) ...@@ -220,6 +223,7 @@ lto_end_compression (struct lto_compression_stream *stream)
lto_destroy_compression_stream (stream); lto_destroy_compression_stream (stream);
free (outbuf); free (outbuf);
timevar_pop (TV_IPA_LTO_COMPRESS);
} }
/* Return a new uncompression stream, with CALLBACK flush function passed /* Return a new uncompression stream, with CALLBACK flush function passed
...@@ -260,6 +264,7 @@ lto_end_uncompression (struct lto_compression_stream *stream) ...@@ -260,6 +264,7 @@ lto_end_uncompression (struct lto_compression_stream *stream)
size_t uncompressed_bytes = 0; size_t uncompressed_bytes = 0;
gcc_assert (!stream->is_compression); gcc_assert (!stream->is_compression);
timevar_push (TV_IPA_LTO_DECOMPRESS);
while (remaining > 0) while (remaining > 0)
{ {
...@@ -311,4 +316,5 @@ lto_end_uncompression (struct lto_compression_stream *stream) ...@@ -311,4 +316,5 @@ lto_end_uncompression (struct lto_compression_stream *stream)
lto_destroy_compression_stream (stream); lto_destroy_compression_stream (stream);
free (outbuf); free (outbuf);
timevar_pop (TV_IPA_LTO_DECOMPRESS);
} }
...@@ -79,6 +79,9 @@ DEFTIMEVAR (TV_IPA_INLINING , "ipa inlining heuristics") ...@@ -79,6 +79,9 @@ DEFTIMEVAR (TV_IPA_INLINING , "ipa inlining heuristics")
DEFTIMEVAR (TV_IPA_FNSPLIT , "ipa function splitting") DEFTIMEVAR (TV_IPA_FNSPLIT , "ipa function splitting")
DEFTIMEVAR (TV_IPA_COMDATS , "ipa comdats") DEFTIMEVAR (TV_IPA_COMDATS , "ipa comdats")
DEFTIMEVAR (TV_IPA_OPT , "ipa various optimizations") DEFTIMEVAR (TV_IPA_OPT , "ipa various optimizations")
DEFTIMEVAR (TV_IPA_LTO_DECOMPRESS , "lto stream inflate")
DEFTIMEVAR (TV_IPA_LTO_COMPRESS , "lto stream deflate")
DEFTIMEVAR (TV_IPA_LTO_OUTPUT , "lto stream output")
DEFTIMEVAR (TV_IPA_LTO_GIMPLE_IN , "ipa lto gimple in") DEFTIMEVAR (TV_IPA_LTO_GIMPLE_IN , "ipa lto gimple in")
DEFTIMEVAR (TV_IPA_LTO_GIMPLE_OUT , "ipa lto gimple out") DEFTIMEVAR (TV_IPA_LTO_GIMPLE_OUT , "ipa lto gimple out")
DEFTIMEVAR (TV_IPA_LTO_DECL_IN , "ipa lto decl in") DEFTIMEVAR (TV_IPA_LTO_DECL_IN , "ipa lto decl in")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment