cap frequency in make_forwarder_block
commitd55cde62072934a5528425781334c54a6d924d14
authortbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Feb 2015 14:49:07 +0000 (10 14:49 +0000)
committertbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Feb 2015 14:49:07 +0000 (10 14:49 +0000)
treec648c0344bfd851dbc0fa243f942821d987a4db9
parentfe504175b53780c0ebbbef009ff29f0ed9c4592f
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220585 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cfghooks.c
gcc/testsuite/gcc.dg/torture/pr64326.c [new file with mode: 0644]