[llvm-dev] Status of new pass manager work
Philip Reames via llvm-dev
llvm-dev at lists.llvm.org
Thu May 5 15:24:08 PDT 2016
Thank you for the update and for all the work on this! Having the new
pass manager in place will enable a lot of powerful follow on work.
This type of major rearchitecting is often a thankless job, but it's
very necessary. I am really looking forward to this being done and on
by default.
Philip
On 05/05/2016 01:29 AM, Chandler Carruth 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.
>
> - 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
More information about the llvm-dev
mailing list