Home | History | Annotate | Download | only in gcc

Lines Matching defs:bb_data

1116 tag_header (int b, int h, rpoamdbs_bb_data *bb_data)
1122 while (bb_data[cur1].scc != -1)
1124 int ih = bb_data[cur1].scc;
1127 if (bb_data[ih].depth < bb_data[cur2].depth)
1129 bb_data[cur1].scc = cur2;
1136 bb_data[cur1].scc = cur2;
1147 rpoamdbs_bb_data *bb_data = (rpoamdbs_bb_data *)data_;
1148 return (bb_data[*e1].bb_to_pre - bb_data[*e2].bb_to_pre);
1180 rpoamdbs_bb_data *bb_data
1198 bb_data[dest->index].bb_to_pre = pre_num++;
1199 bb_data[dest->index].depth = depth;
1200 bb_data[dest->index].scc = -1;
1221 int header = bb_data[ei_edge (ei)->dest->index].scc;
1222 tag_header (dest->index, header, bb_data);
1223 depth = bb_data[dest->index].depth + 1;
1227 if (bb_data[ei_edge (ei)->dest->index].depth > 0) /* on the stack */
1232 ::new (&bb_data[ei_edge (ei)->dest->index].scc_exits)
1234 tag_header (dest->index, ei_edge (ei)->dest->index, bb_data);
1236 else if (bb_data[ei_edge (ei)->dest->index].scc == -1)
1240 int header = bb_data[ei_edge (ei)->dest->index].scc;
1241 if (bb_data[header].depth > 0)
1242 tag_header (dest->index, header, bb_data);
1247 while (bb_data[header].scc != -1)
1249 header = bb_data[header].scc;
1250 if (bb_data[header].depth > 0)
1252 tag_header (dest->index, header, bb_data);
1263 bb_data[dest->index].depth = -bb_data[dest->index].depth;
1278 XDELETEVEC (bb_data);
1297 bb_data[e->src].scc. */
1300 src_scc = bb_data[src_scc].scc;
1305 dest_scc = bb_data[dest_scc].scc;
1315 if ((tem_dest_scc = bb_data[tem_dest_scc].scc) == src_scc)
1326 if (bb_data[tem_src_scc].scc == dest_scc)
1329 bb_data[tem_src_scc].scc_exits.safe_push (e->dest->index);
1332 tem_src_scc = bb_data[tem_src_scc].scc;
1345 src_scc = bb_data[src_scc].scc;
1350 dest_scc = bb_data[dest_scc].scc;
1353 while (bb_data[src_scc].scc != bb_data[dest_scc].scc)
1355 src_scc = bb_data[src_scc].scc;
1356 dest_scc = bb_data[dest_scc].scc;
1358 bb_data[src_scc].scc_exits.safe_push (e->dest->index);
1382 gcc_assert (bb_data[dest->index].scc == -1
1383 || (BASIC_BLOCK_FOR_FN (fn, bb_data[dest->index].scc)->flags
1386 bb_data[dest->index].scc_end = -1;
1388 && !bb_data[dest->index].scc_exits.is_empty ())
1394 gcc_sort_r (&bb_data[dest->index].scc_exits[0],
1395 bb_data[dest->index].scc_exits.length (),
1396 sizeof (int), cmp_edge_dest_pre, bb_data);
1398 for (int i = bb_data[dest->index].scc_exits.length () - 1; i >= 0; --i)
1400 (dest, BASIC_BLOCK_FOR_FN (fn, bb_data[dest->index].scc_exits[i])));
1405 bb_data[dest->index].scc_end = idx - 1;
1435 && bb_data[dest->index].scc_end == -1
1439 bb_data[dest->index].scc_end = idx - 1;
1462 (std::make_pair (i, bb_data[bb->index].scc_end));
1463 i = bb_data[bb->index].scc_end;
1472 bb_data[bb->index].scc_exits.~scc_exit_vec_t ();
1476 XDELETEVEC (bb_data);