Currently specifying -licm or -passes=licm will implicitly create -passes=loop(licm). This does not match the intended default (used by the legacy PM and by the default pipeline) of using the MemorySSA-based licm implementation. As I plan to drop the non-MSSA implementation, this will stop working entirely...
This special-cases licm to create a loop-mssa manager instead. At this point it's still possible to use -passes='loop(licm)' to opt into the AST-based implementation.
I dropped this code because I found it confusing, and it's effectively dead: We call isFunctionPassName() first, which will already handle these.