profile.c (edge_gcov_counts): Turn to pointer.
* profile.c (edge_gcov_counts): Turn to pointer. (compute_branch_probabilities, compute_branch_probabilities): Update. * profile.h (edge_gcov_counts): Turn to pointer. (edge_gcov_count): Update. From-SVN: r249056
This commit is contained in:
parent
323eb0898c
commit
ffb9d1b140
@ -1,3 +1,10 @@
|
||||
2017-06-09 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* profile.c (edge_gcov_counts): Turn to pointer.
|
||||
(compute_branch_probabilities, compute_branch_probabilities): Update.
|
||||
* profile.h (edge_gcov_counts): Turn to pointer.
|
||||
(edge_gcov_count): Update.
|
||||
|
||||
2017-06-09 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* gimple.h (gimple_check_failed): Mark cold.
|
||||
|
@ -69,7 +69,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
/* Map from BBs/edges to gcov counters. */
|
||||
vec<gcov_type> bb_gcov_counts;
|
||||
hash_map<edge,gcov_type> edge_gcov_counts;
|
||||
hash_map<edge,gcov_type> *edge_gcov_counts;
|
||||
|
||||
struct bb_profile_info {
|
||||
unsigned int count_valid : 1;
|
||||
@ -532,6 +532,7 @@ compute_branch_probabilities (unsigned cfg_checksum, unsigned lineno_checksum)
|
||||
return;
|
||||
|
||||
bb_gcov_counts.safe_grow_cleared (last_basic_block_for_fn (cfun));
|
||||
edge_gcov_counts = new hash_map<edge,gcov_type>;
|
||||
|
||||
if (profile_info->sum_all < profile_info->sum_max)
|
||||
{
|
||||
@ -836,7 +837,8 @@ compute_branch_probabilities (unsigned cfg_checksum, unsigned lineno_checksum)
|
||||
e->count = profile_count::from_gcov_type (edge_gcov_count (e));
|
||||
}
|
||||
bb_gcov_counts.release ();
|
||||
edge_gcov_counts.empty ();
|
||||
delete edge_gcov_counts;
|
||||
edge_gcov_counts = NULL;
|
||||
|
||||
counts_to_freqs ();
|
||||
|
||||
|
@ -40,13 +40,13 @@ struct edge_profile_info
|
||||
/* Helpers annotating edges/basic blocks to GCOV counts. */
|
||||
|
||||
extern vec<gcov_type> bb_gcov_counts;
|
||||
extern hash_map<edge,gcov_type> edge_gcov_counts;
|
||||
extern hash_map<edge,gcov_type> *edge_gcov_counts;
|
||||
|
||||
inline gcov_type &
|
||||
edge_gcov_count (edge e)
|
||||
{
|
||||
bool existed;
|
||||
gcov_type &c = edge_gcov_counts.get_or_insert (e, &existed);
|
||||
gcov_type &c = edge_gcov_counts->get_or_insert (e, &existed);
|
||||
if (!existed)
|
||||
c = 0;
|
||||
return c;
|
||||
|
Loading…
Reference in New Issue
Block a user