backend problem with LiveInterval::removeRange

Hi all,

When compiling some programs using the Mips backend
i’m getting this assert message on lib/CodeGen/LiveInterval.cpp:227:
“Range is not entirely in interval!”

I don’t know yet if it’s something that is missing on the backend code or why
the range to be removed it outside the interval, does anyone have any clue?
A more detailed output is attached.

The program i tried to compile is :


sieve_compile.txt (106 KB)

It’s either invalid code generated by the earlier passes or a bug in the live interval analysis pass. It’s impossible to tell without more information or a reduced test case. Can you bugpoint it?