[llvm-dev] Register allocation error: "Remaining virtual register operands"

Alex Susu via llvm-dev llvm-dev at lists.llvm.org
Fri Mar 10 03:01:49 PST 2017


   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


More information about the llvm-dev mailing list