[LLVMdev] Possible bug in LiveIntervals (triggered on the XCore target)?

Evan Cheng echeng at apple.com
Tue Jan 13 09:27:43 PST 2009


Please file a bug report. I'll look at it when I find the time.

Evan

On Jan 13, 2009, at 5:05 AM, Roman Levenstein wrote:

> Hi again,
>
> Now, after I fixed the graph coloring regalloc bug that was triggered
> by the ARM target, I continue testing and found another bug, this time
> on the XCore target. First I thought that it is again specific to my
> register allocator, but it seems to be trigerred also by LLVM's
> linearscan register allocator.
>
> I don't know if the XCore target is stable enough in LLVM, or may be I
> should just safely skip it during testing because it is not mature
> yet. Anyway, I report it here - may be it is of some interest.
>
> The crash happens in LiveIntervalsAnalysis, inside the spilling
> function. From what I observe, I'd say it is related to
> rematerializable intervals.
>
> The assertion says:
> /opt/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:142:
> llvm::LiveInterval& llvm::LiveIntervals::getInterval(unsigned int):
> Assertion `I != r2iMap_.end() && "Interval does not exist for
> register"' failed.
>
> I attach the BC file generated by bugpoint, so that you can  
> reproduce it.
>
> The command-line I use is:
> llc --regalloc=linearscan --march=xcore  -f bugpoint-reduced- 
> simplified.bc
>
> Any ideas about the reasons of this bug?
>
> Thanks,
>  -Roman
> <bugpoint-reduced-simplified.bc>




More information about the llvm-dev mailing list