Lines Matching refs:scc
782 /* Algorithm for computing the recurrence_length of an scc. We assume at
786 set_recurrence_length (ddg_scc_ptr scc)
791 for (j = 0; j < scc->num_backarcs; j++)
793 ddg_edge_ptr backarc = scc->backarcs[j];
805 scc->recurrence_length = result;
809 and mark edges that belong to this scc. */
813 ddg_scc_ptr scc;
817 scc = (ddg_scc_ptr) xmalloc (sizeof (struct ddg_scc));
818 scc->backarcs = NULL;
819 scc->num_backarcs = 0;
820 scc->nodes = sbitmap_alloc (g->num_nodes);
821 bitmap_copy (scc->nodes, nodes);
837 add_backarc_to_scc (scc, e);
841 return scc;
846 free_scc (ddg_scc_ptr scc)
848 if (!scc)
851 sbitmap_free (scc->nodes);
852 if (scc->num_backarcs > 0)
853 free (scc->backarcs);
854 free (scc);
871 add_backarc_to_scc (ddg_scc_ptr scc, ddg_edge_ptr e)
873 int size = (scc->num_backarcs + 1) * sizeof (ddg_edge_ptr);
875 scc->backarcs = (ddg_edge_ptr *) xrealloc (scc->backarcs, size);
876 scc->backarcs[scc->num_backarcs++] = e;
881 add_scc_to_ddg (ddg_all_sccs_ptr g, ddg_scc_ptr scc)
886 g->sccs[g->num_sccs++] = scc;
983 int i, j, k, scc, way;
997 ddg_scc_ptr scc;
1014 scc = create_scc (g, scc_nodes, sccs->num_sccs);
1015 add_scc_to_ddg (sccs, scc);
1036 inside each scc. */
1039 scc = g->nodes[k].aux.count;
1040 if (scc != -1)
1043 if (g->nodes[i].aux.count == scc)
1045 if (g->nodes[j].aux.count == scc