aboutsummaryrefslogtreecommitdiff
path: root/gcc/predict.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/predict.c')
-rw-r--r--gcc/predict.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/gcc/predict.c b/gcc/predict.c
index 42d7795..e15df72 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -832,9 +832,6 @@ static void
estimate_bb_frequencies (loops)
struct loops *loops;
{
- block_info bi;
- edge_info ei;
- int edgenum = 0;
int i;
double freq_max = 0;
@@ -891,8 +888,8 @@ estimate_bb_frequencies (loops)
ENTRY_BLOCK_PTR->succ->probability = REG_BR_PROB_BASE;
/* Set up block info for each basic block. */
- bi = (block_info) xcalloc ((n_basic_blocks + 2), sizeof (*bi));
- ei = (edge_info) xcalloc ((n_edges), sizeof (*ei));
+ alloc_aux_for_blocks (sizeof (struct block_info_def));
+ alloc_aux_for_edges (sizeof (struct edge_info_def));
for (i = -2; i < n_basic_blocks; i++)
{
edge e;
@@ -904,14 +901,10 @@ estimate_bb_frequencies (loops)
bb = EXIT_BLOCK_PTR;
else
bb = BASIC_BLOCK (i);
- bb->aux = bi + i + 2;
BLOCK_INFO (bb)->tovisit = 0;
for (e = bb->succ; e; e = e->succ_next)
- {
- e->aux = ei + edgenum, edgenum++;
- EDGE_INFO (e)->back_edge_prob = ((double) e->probability
- / REG_BR_PROB_BASE);
- }
+ EDGE_INFO (e)->back_edge_prob = ((double) e->probability
+ / REG_BR_PROB_BASE);
}
/* First compute probabilities locally for each loop from innermost
to outermost to examine probabilities for back edges. */
@@ -940,6 +933,6 @@ estimate_bb_frequencies (loops)
+ 0.5);
}
- free (ei);
- free (bi);
+ free_aux_for_blocks ();
+ free_aux_for_edges ();
}