[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