Kewen Meng via llvm-dev
2018-Feb-07 07:57 UTC
[llvm-dev] Question about using LoopAccessLegacyAnalysis
Hi LLVM community, I am writing a custom pass for analyzing the dependence information for the memory access within a loop. I found “LoopAccessLegacyAnalysis” class useful, however I m not able to obtain information from that pass. Here is what I did to get the information: // require pass virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<LoopInfoWrapperPass>(); AU.addRequired<LoopAccessLegacyAnalysis>(); AU.setPreservesAll(); } // processing virtual bool runOnFunction(Function &F) { LoopInfo &li = getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); LoopAccessLegacyAnalysis &lala = getAnalysis<LoopAccessLegacyAnalysis>(); for(LoopInfo::iterator lp = li.begin(); lp != li.end(); lp++) { Loop *loop = *lp; const LoopAccessInfo &lai = lala.getInfo(loop); // need help here // I can’t get any information from the LoopAccessInfo instance. errs()<<lai.getNumLoads(); // return 0 } } // register static RegisterPass<SkeletonPass> X("test", "test for using the existing pass", “false", “false”); I must be missing something important. Any response would be greatly appreciated! Thanks, Kewen Best regards, Kewen
Possibly Parallel Threads
- Question about using LoopAccessLegacyAnalysis
- Question about using LoopAccessLegacyAnalysis
- Confusing ERROR with LoopAccessLegacyAnalysis: Pass 'Unnamed pass: implement Pass::getPassName()' is not initialized.
- Problems with registering of ModulePass (with Dependencies)
- How can I use llvm::LoopInfo in the runOnModule method?