[LLVMdev] How to convert an iterator to an object pointer

Surinder surifilms at gmail.com
Sun Jan 30 20:04:45 PST 2011


I have a pointer to a basic block and am iterating thru its
predecessor blocks.  I want to get a pointer to the predecessor block.
 How do I do it.  I am using following code and it given compile time
errors.

 error: cannot convert 'llvm::const_pred_iterator' to 'const
llvm::BasicBlock*' in initialization

    const BasicBlock *b = PH->getParent();
    // process all pred block of the current block
    for (const_pred_iterator pr=pred_begin(b), esc=pred_end(b); pr!=esc; ++pr)
      { const BasicBlock *p = pr;     // ************error line ****************



More information about the llvm-dev mailing list