void Clusterizer::initClusters() { m_clusters.resize(m_unit.blocks.size()); m_blockCluster.resize(m_unit.blocks.size()); for (auto b : m_blocks) { m_clusters[b].push_back(b); m_blockCluster[b] = b; } }
bool merge_memory_stack_into(jit::vector<StackState>& dst, const jit::vector<StackState>& src) { auto changed = false; // We may need to merge different-sized memory stacks, because a predecessor // may not touch some stack memory that another pred did. We just need to // conservatively throw away slots that aren't tracked on all preds. auto const result_size = std::min(dst.size(), src.size()); dst.resize(result_size); for (auto i = uint32_t{0}; i < result_size; ++i) { changed |= merge_into(dst[i], src[i]); } return changed; }