[llvm-dev] Intended behavior of CGSCC pass manager.
Sean Silva via llvm-dev
llvm-dev at lists.llvm.org
Mon Jun 20 08:43:28 PDT 2016
On Sun, Jun 19, 2016 at 12:01 AM, Sanjoy Das <sanjoy at playingwithpointers.com
> Hi David,
> Xinliang David Li wrote:
> >> I believe it is primarily used for ordering the visitation of
> CallSCC's (i.e. SCC's in the "call graph").
> > This is what it can do -- but what benefit does it provide?
> One benefit is that once you get to a function F that constructs an
> instance of a class with virtual functions and then calls a virtual
> function on the instance, then the virtual function being called and
> the constructor will have been maximally simplified (F refs the
> constructor, and the constructor refs all the virtual functions), and
> you're more likely to inline the constructor and devirtualize the
That is true for a graph like http://reviews.llvm.org/F2073104 but not one
That is, there is no real guarantee.
> I don't have any real data to back up that this will materially
> help, though.
And we haven't had an RFC for any of this...
-- Sean Silva
> -- Sanjoy
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev