[PassBuilder] Use loop-mssa for licm
authorNikita Popov <nikita.ppv@gmail.com>
Mon, 16 Aug 2021 18:58:31 +0000 (20:58 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 17 Aug 2021 19:23:11 +0000 (21:23 +0200)
commitf58a642da19c64cb6ee1badb0f176a872c1d7a0a
tree20e6425ed8647ee8454cd085c108560e7bfc5544
parentf812c1925301a3efb189c1db28ab6c7842bc7705
[PassBuilder] Use loop-mssa for licm

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.

Differential Revision: https://reviews.llvm.org/D108155
llvm/lib/Passes/PassBuilder.cpp