Home | History | Annotate | Download | only in lto

Lines Matching refs:scc

1017   /* Hash of the whole SCC.  */
1019 /* Number of trees in the SCC. */
1021 /* Number of possible entries into the SCC (tree nodes [0..entry_len-1]
1024 /* The members of the SCC.
1040 tree_scc_hasher::hash (const tree_scc *scc)
1042 return scc->hash;
1071 recursing through in-SCC tree edges. Returns true if the SCCs entered
1073 SCC entries we visited, starting with (*MAP)[0] = T1 and (*MAP)[1] = T2. */
1099 some SCC as local or we compare too much. */
1372 to spot the SCC members with the difference. */
1382 /* Only non-NULL trees outside of the SCC may compare equal. */ \
1599 /* Compare the tree scc SCC to the prevailing candidate PSCC, filling
1603 compare_tree_sccs (tree_scc *pscc, tree_scc *scc,
1606 /* Assume SCC entry hashes are sorted after their cardinality. Which
1608 (which is recorded as entry_len) and do n SCC entry candidate
1614 if (compare_tree_sccs_1 (pscc->entries[0], scc->entries[i], &mapp))
1617 on the scc as all trees will be freed. */
1620 /* Reset TREE_ASM_WRITTEN on scc for the next compare or in case
1621 the SCC prevails. */
1622 for (unsigned j = 0; j < scc->len; ++j)
1623 TREE_ASM_WRITTEN (scc->entries[j]) = 0;
1642 /* New scc of size 1 containing T was streamed in from DATA_IN and not merged.
1664 /* Try to unify the SCC with nodes FROM to FROM + LEN in CACHE and
1665 hash value SCC_HASH with an already recorded SCC. Return true if
1674 tree_scc *scc
1676 scc->next = NULL;
1677 scc->hash = scc_hash;
1678 scc->len = len;
1679 scc->entry_len = scc_entry_len;
1683 scc->entries[i] = t;
1698 slot = tree_scc_hash->find_slot_with_hash (scc, scc_hash, INSERT);
1704 /* Set TREE_VISITED on the scc so we can easily identify tree nodes
1705 outside of the scc when following tree edges. Make sure
1707 to track whether we visited the SCC member during the compare.
1709 scc and pscc can overlap. */
1710 for (unsigned i = 0; i < scc->len; ++i)
1712 TREE_VISITED (scc->entries[i]) = 1;
1713 gcc_checking_assert (!TREE_ASM_WRITTEN (scc->entries[i]));
1719 if (!compare_tree_sccs (pscc, scc, map))
1722 /* Found an equal SCC. */
1754 map2[i*2+1] = scc->entries[i];
1767 /* Free the tree nodes from the read SCC. */
1771 if (TYPE_P (scc->entries[i]))
1773 free_node (scc->entries[i]);
1777 ??? Do as in the size-one SCC case which involves sorting
1784 /* Reset TREE_VISITED if we didn't unify the SCC with another. */
1786 for (unsigned i = 0; i < scc->len; ++i)
1787 TREE_VISITED (scc->entries[i]) = 0;
1796 memcpy (pscc, scc, sizeof (tree_scc));
1834 Because SCC components are streamed in random (hash) order
1836 type canonical of a derived type in the same SCC. */
1849 type which is also member of this SCC. */
1904 /* Because we stream in SCC order we know that all unshared trees
1932 /* Try to unify the SCC with already existing ones. */
3010 fprintf (stderr, "[%s] tree SCC table: size %ld, %ld elements, "
3016 tree_scc *scc, *max_scc = NULL;
3018 FOR_EACH_HASH_TABLE_ELEMENT (*tree_scc_hash, scc, x, hiter)
3021 tree_scc *s = scc;
3027 max_scc = scc;
3030 fprintf (stderr, "[%s] tree SCC max chain length %u (size %u)\n",