diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-15 09:46:17 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-15 09:46:17 +0000 |
commit | 3ec32924f699ba537ae29631bc2748155326f850 (patch) | |
tree | e18b6fa79ab9456ec92957369f1b704294631166 /gcc/cfg.c | |
parent | 0cdd9887f98205f3a478980adaef98002c8f66c0 (diff) | |
download | gcc-3ec32924f699ba537ae29631bc2748155326f850.tar.gz |
* cfg.c (update_bb_profile_for_threading): More diagnostic.
* tree-ssa-threadupdate.c (redirect_edges): Update profile of dup_block.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102053 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfg.c')
-rw-r--r-- | gcc/cfg.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/cfg.c b/gcc/cfg.c index 2d6a3ca5c33..6aeb79417f9 100644 --- a/gcc/cfg.c +++ b/gcc/cfg.c @@ -850,7 +850,12 @@ update_bb_profile_for_threading (basic_block bb, int edge_frequency, bb->count -= count; if (bb->count < 0) - bb->count = 0; + { + if (dump_file) + fprintf (dump_file, "bb %i count became negative after threading", + bb->index); + bb->count = 0; + } /* Compute the probability of TAKEN_EDGE being reached via threaded edge. Watch for overflows. */ @@ -897,7 +902,12 @@ update_bb_profile_for_threading (basic_block bb, int edge_frequency, gcc_assert (bb == taken_edge->src); taken_edge->count -= count; if (taken_edge->count < 0) - taken_edge->count = 0; + { + if (dump_file) + fprintf (dump_file, "edge %i->%i count became negative after threading", + taken_edge->src->index, taken_edge->dest->index); + taken_edge->count = 0; + } } /* Multiply all frequencies of basic blocks in array BBS of length NBBS |