[llvm-dev] right way for setting PreserveLCSSA with new pass manager

Zakharin, Vyacheslav P via llvm-dev llvm-dev at lists.llvm.org
Wed Feb 6 09:43:19 PST 2019

Hi Philip,

If I want to use InsertPreheaderForLoop(), I need to pass PreserveLCSSA parameter to it.  If I get it right, I should use mustPreserveAnalysisID(LCSSAID) with the old pass manager and pass ‘false’ explicitly with the new pass manager.  Does it sound right?


From: Philip Pfaffe [mailto:philip.pfaffe at gmail.com]
Sent: Wednesday, February 6, 2019 9:31 AM
To: Zakharin, Vyacheslav P <vyacheslav.p.zakharin at intel.com>
Cc: llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] right way for setting PreserveLCSSA with new pass manager

Hi Slava,

we don't preserve LCSSA in the new PM. If you need it you have to rerun LCSAA  before your pass.


On Wed, Feb 6, 2019 at 2:36 AM Zakharin, Vyacheslav P via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:

mustPreserveAnalysisID(LCSSAID) cannot be used with the new pass manager, so what is the right way for querying it?  FunctionAnalysisManager::getCachedResult<LCSSAPass>(F) will not work, since LCSSAPass does not have a result.  Moreover, it is not an analysis ☺


LLVM Developers mailing list
llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190206/98a52559/attachment.html>

More information about the llvm-dev mailing list