Lines Matching refs:cluster
511 cluster for: dst
537 /* For now, assume we only ever copy to an empty cluster. */
981 cluster for: f: INIT_VAL((*INIT_VAL(p_33(D))))
985 cluster for: f
991 cluster for: f
1208 pp_string (&pp, " cluster for: ");
1231 /* We shouldn't have more than one symbolic key per cluster
1326 /* Remove all bindings overlapping REG within this cluster. */
1334 /* Remove any bindings for REG within this cluster. */
1362 /* Clobber REG within this cluster and fill it with zeroes. */
1372 /* Mark REG_TO_BIND within this cluster as being unknown.
1434 /* Get any SVAL bound to REG within this cluster via kind KIND,
1448 cluster for PARENT_REG: INIT_VAL(OTHER_REG)
1488 /* Get any SVAL bound to REG within this cluster,
1511 /* Get any value bound for REG within this cluster. */
1522 /* If we had a write to a cluster of unknown size, we might
1534 /* If this cluster has been touched by a symbolic write, then the content
1542 /* Alternatively, if this is a symbolic read and the cluster has any bindings,
1559 /* Attempt to get a compound_svalue for the bindings within the cluster
1564 within the cluster.
1584 (a) result_map, holding the concrete keys from this cluster,
1588 cluster has been touched.
1643 the cluster. */
1711 If REG's base region or this cluster is symbolic and they're different
1712 base regions, then remove everything in this cluster's map, on the
1828 /* Merger of the svalues failed. Reject merger of the cluster. */
1832 /* If we get here, then one cluster binds this key and the other
1851 /* We can only have at most one symbolic key per cluster,
1853 If this happens, mark the cluster as touched, with no keys. */
1866 /* Update this cluster to reflect an attempt to merge OTHER where there
1867 is no other cluster to merge with, and so we're notionally merging the
1908 /* Mark this cluster as having escaped. */
1916 /* If this cluster has escaped (by this call, or by an earlier one, or
1941 /* Mark this cluster as having been clobbered by STMT.
2046 /* If this cluster has a single direct binding for the whole of the region,
2142 /* Delete existing cluster map. */
2277 binding_cluster *cluster
2284 if (const svalue *sval = cluster->maybe_get_simple_value (mgr))
2291 pp_string (pp, " cluster for: ");
2295 if (cluster->escaped_p ())
2297 if (cluster->touched_p ())
2307 if (cluster->escaped_p ())
2309 if (cluster->touched_p ())
2316 pp_string (pp, " cluster for: ");
2319 cluster->dump_to_pp (pp, simple, multiline);
2325 pp_string (pp, "} has cluster: {");
2326 cluster->dump_to_pp (pp, simple, multiline);
2364 ... for each cluster within parent region},
2403 binding_cluster *cluster
2407 cluster->to_json ());
2476 /* Bindings to a cluster can affect other clusters if a symbolic
2529 cluster. */
2623 binding_cluster *cluster = *slot;
2624 cluster->clobber_region (mgr, reg);
2625 if (cluster->redundant_p ())
2627 delete cluster;
2641 binding_cluster *cluster = *slot;
2642 cluster->purge_region (mgr, reg);
2643 if (cluster->redundant_p ())
2645 delete cluster;
2659 binding_cluster *cluster = get_or_create_cluster (base_reg);
2660 cluster->fill_region (mgr, reg, sval);
2683 binding_cluster *cluster = get_or_create_cluster (base_reg);
2684 cluster->mark_region_as_unknown (mgr, reg, reg, uncertainty);
2701 binding_cluster *cluster = iter.second;
2702 cluster->purge_state_involving (sval, sval_mgr);
2710 /* Get the cluster for BASE_REG, or NULL (const version). */
2724 /* Get the cluster for BASE_REG, or NULL (non-const version). */
2737 /* Get the cluster for BASE_REG, creating it if doesn't already exist. */
2754 binding_cluster *cluster = new binding_cluster (base_reg);
2755 m_cluster_map.put (base_reg, cluster);
2757 return cluster;
2760 /* Remove any cluster for BASE_REG, for use by
2771 binding_cluster *cluster = *slot;
2772 delete cluster;
2827 /* Mark the cluster for BASE_REG as having escaped.
2830 Further unknown function calls could touch it, even if the cluster
2843 binding_cluster *cluster = get_or_create_cluster (base_reg);
2844 cluster->mark_as_escaped ();
2892 binding_cluster *cluster = (*iter).second;
2893 cluster->get_representative_path_vars (model, visited, base_reg, sval,
2919 binding_cluster *cluster = *cluster_slot;
2922 /* Remove whole cluster. */
2924 delete cluster;
2927 cluster->remove_overlapping_bindings (mgr, reg, uncertainty);
2951 cluster for: HEAP_ALLOCATED_REGION(543)
2955 cluster, to avoid unbounded state chains involving these. */
2962 binding_cluster *cluster = (*iter).second;
2963 for (binding_cluster::iterator_t bind_iter = cluster->m_map.begin ();
2964 bind_iter != cluster->m_map.end (); ++bind_iter)
2975 binding_cluster *cluster = (*iter).second;
2978 if (cluster->empty_p ())
2983 if (const svalue *sval = cluster->maybe_get_simple_value (mgr))
3033 binding_cluster *cluster = (*iter).second;
3034 for (binding_cluster::iterator_t bind_iter = cluster->m_map.begin ();
3035 bind_iter != cluster->m_map.end (); ++bind_iter)