[LLVMdev] conditional flow resulting in "Instruction does not dominate all uses!"

Henrique Santos henrique.nazare.santos at gmail.com
Mon Nov 4 08:32:53 PST 2013


If you're talking about the IR, then I don't think so.
It seems like perfectly valid.

H.


On Mon, Nov 4, 2013 at 2:25 PM, Rafael EspĂ­ndola <rafael.espindola at gmail.com
> wrote:

> On 4 November 2013 08:19, Henrique Santos
> <henrique.nazare.santos at gmail.com> wrote:
> > Well, what I had in mind was actually something like the following:
> >
> > entry:
> >   result0 = invoke func0 to defer_block unwind landing0
> >
> > landing0:
> >   landingpad
> >   result1 = invoke func1 to defer_block unwind landing1
> >
> > landing1:
> >   landingpad
> >   br defer_block
> >
> > defer_block:
> >   result = phi [ result0, entry ], [ result1, landing0 ], [ null,
> landing1 ]
> >   ...
> >
> > This doesn't have landing pads with multiple predecessors like he said,
> > but I don't think that would make much difference.
> > The "defer block", however, is the target of multiple invokes.
> > I hope this makes sense. : )
>
> It does. Do we produce an error/assert in this case?
>
> Cheers,
> Rafael
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131104/069d4dc3/attachment.html>


More information about the llvm-dev mailing list