Commit 39002160 by Richard Henderson Committed by Richard Henderson

predict.c (estimate_bb_frequencies): Do frequency calculation with a volatile temporary.

        * predict.c (estimate_bb_frequencies): Do frequency calculation
        with a volatile temporary.

From-SVN: r51879
parent 677b3ae3
2002-04-04 Richard Henderson <rth@redhat.com>
* predict.c (estimate_bb_frequencies): Do frequency calculation
with a volatile temporary.
2002-04-04 Ulrich Weigand <uweigand@de.ibm.com> 2002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/linux.h (LOCAL_LABEL_PREFIX): Define. * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
......
...@@ -942,6 +942,7 @@ estimate_bb_frequencies (loops) ...@@ -942,6 +942,7 @@ estimate_bb_frequencies (loops)
for (i = -2; i < n_basic_blocks; i++) for (i = -2; i < n_basic_blocks; i++)
{ {
basic_block bb; basic_block bb;
volatile double tmp;
if (i == -2) if (i == -2)
bb = ENTRY_BLOCK_PTR; bb = ENTRY_BLOCK_PTR;
...@@ -949,8 +950,12 @@ estimate_bb_frequencies (loops) ...@@ -949,8 +950,12 @@ estimate_bb_frequencies (loops)
bb = EXIT_BLOCK_PTR; bb = EXIT_BLOCK_PTR;
else else
bb = BASIC_BLOCK (i); bb = BASIC_BLOCK (i);
bb->frequency
= BLOCK_INFO (bb)->frequency * BB_FREQ_MAX / freq_max + 0.5; /* ??? Prevent rounding differences due to optimization on x86. */
tmp = BLOCK_INFO (bb)->frequency * BB_FREQ_MAX;
tmp /= freq_max;
tmp += 0.5;
bb->frequency = tmp;
} }
free_aux_for_blocks (); free_aux_for_blocks ();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment