[LLVMdev] "Not all catch info was assigned to a landing pad!"' failed

Konstantin Serebryany konstantin.s.serebryany at gmail.com
Thu May 19 09:53:40 PDT 2011


On Tue, May 17, 2011 at 11:54 PM, Duncan Sands <baldrick at free.fr> wrote:

> Hi Kostya,
>
> > My transformation phase inserts an if-the-else construct into a BB.
> > If that BB contains llvm.eh.exception, I get an Assertion at some later
> point:
> >
> > lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp:212:
> > void llvm::FunctionLoweringInfo::clear(): Assertion
> `CatchInfoFound.size() ==
> > CatchInfoLost.size() && "Not all catch info was assigned to a  landing
> pad!"'
> > failed.
> >
> > Is there some rule that forbids splitting BBs with EH?
> > Or maybe something special needs to be done when splitting such BB?
>
> sadly the code generators can only handle the case in which the eh.selector
> call
> is in the landing pad (or in the basic block following it).  I suggest you
> put
> your branch after the calls to eh.exception and eh.selector.
>
Thanks!
--kcc

>
> Ciao, Duncan.
>
> >
> > The code is here:
> >
> http://code.google.com/p/address-sanitizer/source/browse/trunk/llvm/AddressSanitizer.cpp,
> > see splitBlockAndInsertIfThen
> >
> > Thanks,
> >
> > --kcc
> >
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110519/6788ba67/attachment.html>


More information about the llvm-dev mailing list