[llvm-dev] Which PM preferred for llvm 4.0 out-of-source passes?

Christian Convey via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 13 07:44:57 PDT 2017


I'm maintaining a set of out-of-source passes originally developed for llvm
3.6 and 3.7.  They're written to assume that "opt" will use what's now
called the legacy PM.

I'm trying to move everything up to llvm 4.0+, and it's not obvious which
PM these passes should be written for: the legacy PM, or the new one.  Any
advice?

One problem is that I can't tell if llvm 4.0's new PM is considered ready
for prime-time or not.  For example, I see code in the in-source passes and
in the "opt" program to accommodate *both* the legacy PM and the new one.

The passes I'm maintaining have the following qualities:

   - One provides AA
   - Several of my passes depend on in-source passes: AliasAnalysis,
   LoopInfoWrapperPass, and MemoryDependencyAnalysis
   - Some are (conceptually) analysis passes, and some are (conceptually)
   transform passes.

If necessary, I *could* convert my passes to be in-source, but that's
pretty suboptimal for me.

Thanks,
Christian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170613/b4abc5bf/attachment.html>


More information about the llvm-dev mailing list