[LLVMdev] "UNREACHABLE executed!" error?

Alec Benzer alecbenzer at gmail.com
Sun Aug 15 13:30:32 PDT 2010


The dump from the function I'm running:

define %object_structure @0() {
entry:
  ret %object_structure { i8 0, %object_union [double 5.000000e+00, double
false] }
}

the only output I get after the runFunction() call is:

UNREACHABLE executed!
Stack dump:
0. Running pass 'X86 DAG->DAG Instruction Selection' on function '@0'

I just noticed that my union seems to look like an array....is that actually
a union or do I have a problem somewhere? The code I use to generate the
union is:

llvm::Constant* tempUnion =
llvm::ConstantUnion::get(object_union_type,llvm::Constant::getNullValue(types[t]));


llvm::Value* goodUnion =
builder.CreateInsertValue(tempUnion,data,t,"createuniontmp");

object_union_type is union { double, i1 }, and (in this case) t is 0, and
types[t] is double


On Sun, Aug 15, 2010 at 4:13 PM, Eric Christopher <echristo at apple.com>wrote:

>
> On Aug 15, 2010, at 1:06 PM, Alec Benzer wrote:
>
> > What does this error mean? I'm getting it from an
> ExecutionEngine::runFunction() call. The function I'm passing it was run
> through verifyFunction() right before the runFunction() call. I can't seem
> to find anything that tells me what causes this, only specific (but
> seemingly unrelated to my problem) cases of it happening.
>
> Which unreachable was it?  The basic idea is that whichever section of code
> gives that assertion shouldn't be executing.
>
> Also, what was the .ll code that gave the assertion?
>
> -eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100815/ee253e65/attachment.html>


More information about the llvm-dev mailing list