+2017-11-14 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree-ssa-threadupdate.c (compute_path_counts): Remove
+ unused path_in_freq_ptr parameter.
+ (ssa_fix_duplicate_block_edges): Do not pass around path_in_freq
+
2017-11-14 Jan Hubicka <hubicka@ucw.cz>
* ipa-inline.c (edge_badness): Dump sreal frequency.
compute_path_counts (struct redirection_data *rd,
ssa_local_info_t *local_info,
profile_count *path_in_count_ptr,
- profile_count *path_out_count_ptr,
- int *path_in_freq_ptr)
+ profile_count *path_out_count_ptr)
{
edge e = rd->incoming_edges->e;
vec<jump_thread_edge *> *path = THREAD_PATH (e);
profile_count nonpath_count = profile_count::zero ();
bool has_joiner = false;
profile_count path_in_count = profile_count::zero ();
- int path_in_freq = 0;
/* Start by accumulating incoming edge counts to the path's first bb
into a couple buckets:
source block. */
gcc_assert (ein_path->last ()->e == elast);
path_in_count += ein->count ();
- path_in_freq += EDGE_FREQUENCY (ein);
}
else if (!ein_path)
{
}
}
- /* This is needed due to insane incoming frequencies. */
- if (path_in_freq > BB_FREQ_MAX)
- path_in_freq = BB_FREQ_MAX;
-
/* Now compute the fraction of the total count coming into the first
path bb that is from the current threading path. */
profile_count total_count = e->dest->count;
*path_in_count_ptr = path_in_count;
*path_out_count_ptr = path_out_count;
- *path_in_freq_ptr = path_in_freq;
return has_joiner;
}
edge elast = path->last ()->e;
profile_count path_in_count = profile_count::zero ();
profile_count path_out_count = profile_count::zero ();
- int path_in_freq = 0;
/* First determine how much profile count to move from original
path to the duplicate path. This is tricky in the presence of
non-joiner case the path_in_count and path_out_count should be the
same. */
bool has_joiner = compute_path_counts (rd, local_info,
- &path_in_count, &path_out_count,
- &path_in_freq);
+ &path_in_count, &path_out_count);
for (unsigned int count = 0, i = 1; i < path->length (); i++)
{