using the new PassManager

(This is a simplified version of a question I posed a few days ago)

Can anyone point me to a good overview doc for writing an optimizer / analysis pass based on the new pass manager?

The only docs I’ve found seem to have been written for the previous (legacy) pass manager.


Hi Christian,

sadly, there aren’t any tutorials currently. The PassManager itself is rather well documented, so I recommend taking a look at that.

It also makes sense to take a look at a some of the simpler analyses and passes in-tree. I’d recommend DCE and DominanceFrontiers as starting points, as those are both quite simple and an easy read.

We’re certainly interested in any progress and experiences you make with this. If you’re willing, tutorials are very welcome! :slight_smile:


Hi Christian,

Chandler also gave two talks at earlier LLVM conferences, which have
been recorded and should be available online.


Philip and Tobias: Thanks very much for the suggestions! I’ll get them a shot.

  • Christian

For others trying to find info on the new PassManager: FYI, Tobias kindly forwarded me the following links​ during a side-discussion:

This is Part 1 of Chandler’s discussion about deficiencies in the old PassManager:

Here’s Part 2 of Chandler’s talk. It’s this talk which gives a lot of detail regarding the new PassManager, as of October 2014:

I feel such information should be added/updated to [1]. Chandler, any plan to do that? :slight_smile: