[PATCH] D72226: Short-circuit SCC update for self-referential edge

Wenlei He via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 5 12:54:12 PST 2020


wenlei added a comment.

The short-circuit change makes sense to me. But what caused the creation of extra SCCs due to self-recursion? Is that because of the short-cut from line 808-825 and the clearing of SCC stack and DFS stack broke the `LowLink` and `DFSNumber` check of later Tarjan DFS?

Since this fix targets self-recursion specifically, just wanted to make sure the underlying issue doesn't go beyond self-recursion. Specifically, will we (incorrectly) create extra SCC if we have an indirect recursion/cycle from that target node, and we get caught by line 808-825 before every node in the original SCC is visited and placed on `PendingSCCStack`..


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72226/new/

https://reviews.llvm.org/D72226





More information about the llvm-commits mailing list