r199223 - in /branches/google/gcc-4_7: gcc/doc/...
xur@gcc.gnu.org
xur@gcc.gnu.org
Wed May 22 22:31:00 GMT 2013
Author: xur
Date: Wed May 22 22:31:32 2013
New Revision: 199223
URL: http://gcc.gnu.org/viewcvs?rev=199223&root=gcc&view=rev
Log:
This patch is to be used with customized coverage reduction.
The functionalities are under two parameter options:
--param=coverage-callback={0|1}
when enabled with 1, it injects a callback function for
each arc counter. Default off.
--param=coverage-exec_once={0|1}
when enabled with 1, it only update each arc counter once.
Default off. Even with an extra condition
check, this is drastically faster than the normal coverage test
for highly threaded applications.
It also fixes a bug in profile sampling where some counters
(like those after the call stmt) are not sampled.
It disables the may-uninit check if the warning will not be
emitted.
2013-05-22 Rong Xu <xur@google.com>
* gcc/tree-ssa-uninit.c (gate_warn_uninitialized): Disable if
may-uninit warning will not emitted.
* gcc/params.def : (PARAM_COVERAGE_CALLBACK) New.
(PARAM_COVERAGE_EXEC_ONCE): NEW.
* gcc/profile.c (branch_prob): Not increment edge counter after
first update.
(tree_init_instrumentation_sampling): Ditto.
(COVERAGE_CALLBACK_FUNC_NAME): New.
(COVERAGE_INSERT_CALL): New.
(insert_if_then): Update branch probability.
(add_sampling_wrapper): Ditto.
(add_callback_wrapper): New.
(add_sampling_to_edge_counters): Make predicate insertion
complete.
(gimple_gen_edge_profiler): Add coverage callback function.
(gimple_gen_ic_profiler): Fix trailing space.
(gimple_gen_ic_func_topn_profiler): Ditto.
(gimple_gen_dc_profiler): Ditto.
* libgcc/libgcov.c (__coverage_callback): Add an empty callback
function.
* gcc/doc/invoke.texi: New.
Modified:
branches/google/gcc-4_7/gcc/doc/invoke.texi
branches/google/gcc-4_7/gcc/params.def
branches/google/gcc-4_7/gcc/profile.c
branches/google/gcc-4_7/gcc/tree-profile.c
branches/google/gcc-4_7/gcc/tree-ssa-uninit.c
branches/google/gcc-4_7/libgcc/libgcov.c
More information about the Gcc-cvs
mailing list