[LLVMdev] "UNREACHABLE executed!" error?

Nick Lewycky nicholas at mxc.ca
Sun Aug 15 13:54:10 PDT 2010


Alec Benzer wrote:
> 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] }
> }

Unions are almost entirely unimplemented. Sorry.

> 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
> <mailto: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
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list