[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass

Ryan Taylor ryta1203 at gmail.com
Tue Nov 29 18:59:22 PST 2011


The following code is causing an "UNREACHABLE executed!" and a stack dump,
any ideas?

namespace {
  struct myPass : public CallGraphSCCPass {
  static char ID;
  myPass() : CallGraphSCCPass(ID) {}
  virtual void getAnalysisUsage(AnalysisUsage &AU) const {
           AU.setPreservesAll();
           AU.addRequired<LoopInfo>();
  }
  virtual bool runOnSCC(CallGraphSCC &SCC) {
       for (CallGraphSCC::iterator CGNodeItr = SCC.begin(),
CFNodeItrE=SCC.end();CGNodeItr!=CGNodeItrE;++CGNodeItr)  }
                  const CallGraphNode *CGNode = *CGNodeItr;
                  Function *F = CGNode->getFunction();
                  if (!F->isDeclaration())
                               LoopInfo &LI = getAnalysis<LoopInfo>(*F);
        }
       return false;
   }
  };
   char myPass::ID = 0;
   static RegisterPass<myPass> X("myPass", "This is my pass", false, false);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111129/644fc7d8/attachment.html>


More information about the llvm-dev mailing list