Register allocation error: "Remaining virtual register operands"

Hello.
     I'm developing a back end for a research SIMD processor.

     I get the following error:
       <<Remaining virtual register operands
       UNREACHABLE executed at /llvm/lib/CodeGen/MachineRegisterInfo.cpp:144!>>
     (when running with llc -O0, at end? of pass: "FAST REGISTER ALLOCATION")

     Note that I used the suggestion from http://lists.llvm.org/pipermail/llvm-dev/2014-October/077632.html to "override requiresRegisterScavenging() and requiresFrameIndexScavenging() in your XXXRegisterInfo class to return true". However, this did not help.

     A few more details: I create in a pass immediately after the first instruction scheduling phase a physical register (R31, a vector register), which I also reserve in [Target]RegisterInfo::getReservedRegs().
     I also use instruction bundles.

     Could somebody please help me with this problem?

   Thank you very much,
     Alex