On 10/28/25 2:13 PM, Andrew MacLeod wrote:


Mostly its not the right tool.   Its designed  for the threader where it wants to explore ranges if we follow a specific path through the CFG.. its tries different paths to see if we can resolve conditions along a specific  path and then thread them wehen we can   Creating a path that is a single edge doesn't buy you anything beyond what range_on_edge will give you.
Right. In the threader case we're trying to bypass conditions that have a known value on some paths, but perhaps not all paths reaching the condition.

For the case we're concerned about in compute_transp I think we need to know that all paths that reach the loop have tested the input value is nonzero to ensure the loop terminates and we can convert the loop to a ctz. So path sensitive ranges aren't appropriate.

Jeff

Reply via email to