Skip to content

Conversation

MathiasVP
Copy link
Contributor

@MathiasVP MathiasVP commented Sep 4, 2025

We've seen quite high iteration counts for this predicate in C/C++ on some projects. I don't see why we shouldn't use a HOP here 🤷

In particular, this significantly reduces the analysis time on https://github.com/openvinotoolkit/oneDNN when running with --ram=6000 (which we saw in the 2.23.0 upgrade)

@MathiasVP MathiasVP force-pushed the source-bounded-fast-tc-in-typetracking branch from 09ff926 to efa5766 Compare September 5, 2025 11:57
@MathiasVP MathiasVP marked this pull request as ready for review September 5, 2025 14:59
@Copilot Copilot AI review requested due to automatic review settings September 5, 2025 14:59
@MathiasVP MathiasVP added the no-change-note-required This PR does not need a change note label Sep 5, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR optimizes the TypeTracking implementation by using sourceBoundedFastTC for transitive closure computation instead of manual recursion. The change aims to reduce high iteration counts observed in C/C++ projects by leveraging a Higher-Order Predicate (HOP) for better performance.

Key Changes

  • Replaced manual recursion in standardFlowsTo with sourceBoundedFastTC transitive closure
  • Introduced simpleLocalSmallStepPlus predicate using the optimized transitive closure
  • Modified isLocalSourceNode predicate to support the new approach

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-change-note-required This PR does not need a change note
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant