[llvm-dev] Status of new pass manager work

Sean Silva via llvm-dev llvm-dev at lists.llvm.org
Thu May 5 12:12:24 PDT 2016

On Thu, May 5, 2016 at 1:29 AM, Chandler Carruth via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Greetings folks,
> I just wanted to post a brief update on the status of the new pass
> manager. Philip asked me to do this at last month's social and Life
> intervened, but he's still got a great point, so I wanted to get it out
> there with one day to spare before he nagged me again. =D
> I'll keep it very brief and high level. If folks have questions about
> anything, happy to dig into it.
> - The core framework is there. It works, and we even have CGSCC passes
> using both Module and Function analyses with caching and everything. Yay!
> We also have initial loop pass infrastructure thanks to Justin! Yay!
> - The biggest missing piece of infrastructure IMO is communicating
> invalidation information between two parts of the pass manager itself when
> they are operating over the results of an analysis. Both the loop passes
> and the CGSCC passes really need this. I'm currently working on this and
> hope to finish the first cut at CGSCC stuff for this in a few days.
> - The second biggest missing piece is a good system for managing sets of
> related analyses for the purpose of invalidation. Justin and I have
> discussed using designated enums that form sets, but there hasn't been a
> lot of concrete progress here.

Can we maybe just have a function for each "set"? e.g. you just call
We can maybe stamp out `preserveAllCFGPasses` and any others from the .def
file to make sure there is a single point of truth.

-- Sean Silva

> - Most of the rest is porting passes. Lots of folks have started to help
> here which is great, but there is still likely room for help on this front.
> Much of this is independent of the missing infrastructure fortunately. Some
> good examples are GVN, SROA, and the LoopInfo passes. Fair warning, CGSCC
> passes are *much* harder to port than others and interact with some of the
> missing infrastructure. Other passes are much easier IMO.
> There may be more that I'm missing, but hopefully this helps people have
> an idea of where things are.
> -Chandler
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160505/8635bc97/attachment.html>

More information about the llvm-dev mailing list