[LLVMdev] "Node emitted out of order - late" assertion failure

deadal nix deadalnix at gmail.com
Thu Mar 5 02:00:29 PST 2015


Whenever I'm doing something like :

    const TargetRegisterClass *RC = getRegClassFor(RegVT);
    unsigned VReg = MF.getRegInfo().createVirtualRegister(RC);

    Chain = DAG.getCopyToReg(Chain, DL, VReg, Val);
    Val = DAG.getCopyFromReg(Chain, DL, VReg, RegVT);
    Chain = Val.getValue(1);

I end up getting assertion failure about node being emited out of order :

unsigned int llvm::InstrEmitter::getVR(llvm::SDValue,
DenseMap<llvm::SDValue, unsigned int> &): Assertion `I != VRBaseMap.end()
&& "Node emitted out of order - late"' failed.

What does it mean and how do I fix it ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150305/54c5e01d/attachment.html>


More information about the llvm-dev mailing list