Probably need to file a bug to track the copyrename2 problem. David
On Wed, Oct 1, 2014 at 9:59 AM, Teresa Johnson <tejohn...@google.com> wrote: > This patch removes some asserts my jump threading patch r215739 added. > An upstream pass (copyrename2) is introducing some bogus profile > counts, so we can't assert that counts are 0 when there is no profile > data for the function. > > Tested on testcase attached to PR63422. Currently running gcc > regression tests for x86_64-unknown-linux-gnu. Ok for trunk if that > passes? > > Thanks, > Teresa > > 2014-10-01 Teresa Johnson <tejohn...@google.com> > > PR middle-end/63422 > * tree-ssa-threadupdate.c (freqs_to_counts_path): Remove > asserts to handle incoming insanities. > > Index: tree-ssa-threadupdate.c > =================================================================== > --- tree-ssa-threadupdate.c (revision 215739) > +++ tree-ssa-threadupdate.c (working copy) > @@ -977,20 +977,14 @@ freqs_to_counts_path (struct redirection_data *rd) > edge ein; > edge_iterator ei; > FOR_EACH_EDGE (ein, ei, e->dest->preds) > - { > - gcc_assert (!ein->count); > - ein->count = EDGE_FREQUENCY (ein); > - } > + ein->count = EDGE_FREQUENCY (ein); > > for (unsigned int i = 1; i < path->length (); i++) > { > edge epath = (*path)[i]->e; > - gcc_assert (!epath->count); > edge esucc; > FOR_EACH_EDGE (esucc, ei, epath->src->succs) > - { > - esucc->count = EDGE_FREQUENCY (esucc); > - } > + esucc->count = EDGE_FREQUENCY (esucc); > epath->src->count = epath->src->frequency; > } > } > > > -- > Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413