<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">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.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">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?</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">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.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">The passes I'm maintaining have the following qualities:</div><div class="gmail_default"><ul style=""><li style=""><font face="arial, helvetica, sans-serif">One provides AA</font></li><li style=""><font face="arial, helvetica, sans-serif">Several of my passes depend on in-source passes: AliasAnalysis, LoopInfoWrapperPass, and MemoryDependencyAnalysis</font></li><li style=""><font face="arial, helvetica, sans-serif">Some are (conceptually) analysis passes, and some are (conceptually) transform passes.</font></li></ul><div>If necessary, I *could* convert my passes to be in-source, but that's pretty suboptimal for me.</div><div><br></div><div><font face="arial, helvetica, sans-serif">Thanks,</font></div><div><font face="arial, helvetica, sans-serif">Christian</font></div></div></div>