Welson Sun via llvm-dev
2017-Jan-26 00:00 UTC
[llvm-dev] AAResultsWrapperPass assertion in 3.9
Hi, Migrating from 3.5 to 3.9. There is a module pass that uses alias analysis started breaking at runtime: llvm/lnx64/llvm/include/llvm/PassAnalysisSupport.h:236: AnalysisType& llvm::Pass::getAnalysisID(llvm::AnalysisID) const [with AnalysisType llvm::AAResultsWrapperPass; llvm::AnalysisID = const void*]: Assertion `ResultPass && "getAnalysis*() called on an analysis that was not " "'required' by pass!"' failed. What does this mean? I have this line in my "required" list: void XidanePass::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<AAResultsWrapperPass>(); AU.setPreservesAll(); } Thanks, - Welson -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170125/90abba0d/attachment.html>
Friedman, Eli via llvm-dev
2017-Jan-26 00:10 UTC
[llvm-dev] AAResultsWrapperPass assertion in 3.9
On 1/25/2017 4:00 PM, Welson Sun via llvm-dev wrote:> Hi, > > Migrating from 3.5 to 3.9. There is a module pass that uses alias > analysis started breaking at runtime: > > llvm/lnx64/llvm/include/llvm/PassAnalysisSupport.h:236: AnalysisType& > llvm::Pass::getAnalysisID(llvm::AnalysisID) const [with AnalysisType = > llvm::AAResultsWrapperPass; llvm::AnalysisID = const void*]: Assertion > `ResultPass && "getAnalysis*() called on an analysis that was not " > "'required' by pass!"' failed. >See https://reviews.llvm.org/rL247167 . -Eli -- Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
Welson Sun via llvm-dev
2017-Jan-26 02:04 UTC
[llvm-dev] AAResultsWrapperPass assertion in 3.9
Thanks Eli. Ashutosh once asked the same question, and later said: 'createLegacyPMAAResults' can help here. But how should this be used to solve the assertion problem? On Jan 25, 2017, 4:10 PM -0800, Friedman, Eli <efriedma at codeaurora.org>, wrote:> On 1/25/2017 4:00 PM, Welson Sun via llvm-dev wrote: > > Hi, > > > > Migrating from 3.5 to 3.9. There is a module pass that uses alias > > analysis started breaking at runtime: > > > > llvm/lnx64/llvm/include/llvm/PassAnalysisSupport.h:236: AnalysisType& > > llvm::Pass::getAnalysisID(llvm::AnalysisID) const [with AnalysisType > > llvm::AAResultsWrapperPass; llvm::AnalysisID = const void*]: Assertion > > `ResultPass && "getAnalysis*() called on an analysis that was not " > > "'required' by pass!"' failed. > > > > See https://reviews.llvm.org/rL247167 . > > -Eli > > -- > Employee of Qualcomm Innovation Center, Inc. > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170125/5fa5676c/attachment-0001.html>