[LCG] Switch the parent SCC tracking from a SmallSetVector to
authorChandler Carruth <chandlerc@gmail.com>
Thu, 24 Apr 2014 09:22:31 +0000 (09:22 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 24 Apr 2014 09:22:31 +0000 (09:22 +0000)
commitbcb39a444bd8dfdd872d7d3b23aa871e8a29b103
tree34099d9986dc4ad63ac44490134ff299325f102e
parent9e65c463453fa777efadba252c212076686fabba
[LCG] Switch the parent SCC tracking from a SmallSetVector to
a SmallPtrSet. Currently, there is no need for stable iteration in this
dimension, and I now thing there won't need to be going forward.

If this is ever re-introduced in any form, it needs to not be
a SetVector based solution because removal cannot be linear. There will
be many SCCs with large numbers of parents. When encountering these, the
incremental SCC update for intra-SCC edge removal was quadratic due to
linear removal (kind of).

I'm really hoping we can avoid having an ordering property here at all
though...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207091 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/LazyCallGraph.h
lib/Analysis/LazyCallGraph.cpp