[llvm-dev] Confusing ERROR with LoopAccessLegacyAnalysis: Pass 'Unnamed pass: implement Pass::getPassName()' is not initialized. (original) (raw)
Tingyuan LIANG via llvm-dev llvm-dev at lists.llvm.org
Thu Jan 31 12🔞32 PST 2019
- Previous message: [llvm-dev] Status of the function merging pass?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Dear all,
I write a new LoopPass which wants to use passes including LoopInfoWrapperPass, ScalarEvolutionWrapperPass and LoopAccessLegacyAnalysis.
Therefore, I implement the following code based on LLVM 9.0.0:
===================================================================== bool LoopInformationCollect::runOnLoop(Loop *L, LPPassManager &) {
auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
auto &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo();
// auto *LAA = &getAnalysis<LoopAccessLegacyAnalysis>();
if (Loop_id.find(L)==Loop_id.end()) // traverse instructions in the block assign instruction ID
{
Loop_id[L] = ++Loop_Counter;
}
// *Loop_out << "---------------Loop report----------------\n";
// *Loop_out << LAA->getInfo(L).getReport();
return false;
}
char LoopInformationCollect::ID = 0;
void LoopInformationCollect::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired(); AU.addRequired(); AU.addRequired(); AU.setPreservesAll(); }
I can make the project with GNU make successfully but get the error "Pass 'Unnamed pass: implement Pass::getPassName()' is not initialized." during runtime. When I remove the line "AU.addRequired();" and make the project again, I run the program successfully.
Detailed error report is shown below:
Pass 'Unnamed pass: implement Pass::getPassName()' is not initialized. Verify if there is a pass dependency cycle. Required Passes: Natural Loop Information Scalar Evolution Analysis
Please note that I am not using "opt" in the terminal to run the passes but utilize PassManager in a main() function. It seems that the problem is caused by "LoopAccessLegacyAnalysis", since I have not faced this problem with other passes. I am wondering how I can fix this situation. Thanks a lot for your time and suggestions!
Best regards,
Tingyuan LIANG MPhil Student Department of Electronic and Computer Engineering The Hong Kong University of Science and Technology -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190131/5b4d4179/attachment.html>
- Previous message: [llvm-dev] Status of the function merging pass?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]