cap frequency in make_forwarder_block
authorTrevor Saunders <tsaunders@mozilla.com>
Tue, 10 Feb 2015 14:49:07 +0000 (14:49 +0000)
committerTrevor Saunders <tbsaunde@gcc.gnu.org>
Tue, 10 Feb 2015 14:49:07 +0000 (14:49 +0000)
commit11f3ac4911c6440c33b1c7feb2e9b3dd544330c1
treec648c0344bfd851dbc0fa243f942821d987a4db9
parente4c2ac365c3249b178997941c70ba410c5721a78
cap frequency in make_forwarder_block

In the testcase the block with problematic frequency has to incoming
edges.  Each edge has probability 1.  The first edge's source bb has
frequency 873/10000, and the second has a frequency of 9409/10000.  So
at least one of those is slightly high probably from some sort of rounding
issue related to fixed point, but in any case make_forwarder_block
should not create basic blocks with frequency greater than BB_FREQ_MAX.

gcc/

PR tree-optimization/64326
* cfghooks.c (make_forwarder_block): Cap frequency of created
basic block.

From-SVN: r220585
gcc/ChangeLog
gcc/cfghooks.c
gcc/testsuite/gcc.dg/torture/pr64326.c [new file with mode: 0644]