[LLVMdev] "UNREACHABLE executed!" error?

Nick Lewycky nicholas at mxc.ca
Sun Aug 15 14:08:00 PDT 2010


Alec Benzer wrote:
> Tthe IRBuilder APIs for unions or unions in general? Either way, I was
> using unions as a temporary solution for a problem I was too lazy to
> fully figure out anyway.

No, the IRBuilder methods work fine. It's unimplemented in the rest of 
the compiler, notably code generation.

>
> On Sun, Aug 15, 2010 at 4:54 PM, Nick Lewycky <nicholas at mxc.ca
> <mailto:nicholas at mxc.ca>> wrote:
>
>     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>
>         <mailto: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 <mailto: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