Lines Matching refs:rd
204 create_block_for_threading (basic_block bb, struct redirection_data *rd)
208 rd->dup_block = duplicate_block (bb, NULL, NULL);
211 rd->dup_block->frequency = 0;
212 rd->dup_block->count = 0;
220 remove_ctrl_stmt_and_useless_edges (rd->dup_block, NULL);
312 create_edge_and_update_destination_phis (struct redirection_data *rd)
314 edge e = make_edge (rd->dup_block, rd->outgoing_edge->dest, EDGE_FALLTHRU);
318 e->count = rd->dup_block->count;
326 int indx = rd->outgoing_edge->dest_idx;
336 struct redirection_data *rd = (struct redirection_data *) *slot;
341 if (rd->do_not_duplicate)
348 create_block_for_threading (local_info->bb, rd);
349 local_info->template_block = rd->dup_block;
357 create_block_for_threading (local_info->template_block, rd);
361 create_edge_and_update_destination_phis (rd);
375 struct redirection_data *rd = (struct redirection_data *) *slot;
380 if (rd->dup_block && rd->dup_block == local_info->template_block)
382 create_edge_and_update_destination_phis (rd);
588 struct redirection_data *rd = (struct redirection_data *) *slot;
594 for (el = rd->incoming_edges; el; el = next)
610 if (rd->dup_block)
616 e->src->index, e->dest->index, rd->dup_block->index);
618 rd->dup_block->count += e->count;
619 rd->dup_block->frequency += EDGE_FREQUENCY (e);
620 EDGE_SUCC (rd->dup_block, 0)->count += e->count;
623 e2 = redirect_edge_and_branch (e, rd->dup_block);
639 rd->outgoing_edge->dest);
649 if (rd->incoming_edges)