[LLVMdev] "Instruction does not dominate all uses"

Tim Northover t.p.northover at gmail.com
Sun Sep 8 04:14:40 PDT 2013

> Instruction does not dominate all uses!
> %5 = icmp ne i32 %4, 0
>  br i1 %5, label %BB1, label %BB2
> Broken module found, compilation aborted!

And from your first message, I assume you think that the icmp defining
%5 is right before the br that's using it. Have you checked that
assumption by calling dump() on the Module?

If putting the module produced by dump() into a .ll file and compiling
it manually works, then there's not much else I can suggest except
tracing values through a debugger. If only you can reproduce the
problem then it's likely only you can solve it.



More information about the llvm-dev mailing list