[llvm-dev] Node emitted out of order - late

Nagaraju Mekala via llvm-dev llvm-dev at lists.llvm.org
Fri Jun 28 00:03:04 PDT 2019


Here is the simple testcase which is reproducing the error

#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <ctype.h>

#include "aes.h"

int encfile(FILE *fin, FILE *fout, aes *ctx, char* fn)
{   char            inbuf[16], outbuf[16];
    unsigned long   flen;
    unsigned long   i=0, l=0;

    fillrand(outbuf, 16);
    fseek(fin, 0, SEEK_END);
    fgetpos(fin, &flen);
    fseek(fin, 0, SEEK_SET);
    fwrite(outbuf, 1, 16, fout);
    return 0;
}

t9: i32 = FrameIndex<0>
clang-8: llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp:317: unsigned
int llvm::InstrEmitter::getVR(llvm::SDValue,
llvm::DenseMap<llvm::SDValue, unsigned int>&): Assertion `I !=
VRBaseMap.end() && "Node emitted out of order - late"' failed.

Thanks,
Nagaraju

On Thu, Jun 27, 2019 at 4:34 PM Nagaraju Mekala
<nagaraju.mekala87 at gmail.com> wrote:
>
> Hi All,
>
> I am porting  an embedded 32bit RISC processor to LLVM-8.
> I was able to compile few basic applications successfully  but for a
> particular application I am seeing below error:
>
> llvm-project/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp:317:
> unsigned int llvm::InstrEmitter::getVR(llvm::SDValue,
> llvm::DenseMap<llvm::SDValue, unsigned int>&): Assertion `I !=
> VRBaseMap.end() && "Node emitted out of order - late"' failed
>
> I tried debugging it and found that CopyToReg is trying to use virtual
> register and somehow matching with "VRBaseMap.end()" as a result it is
> crashing.
>
> Can someone please help me out from this?
> I am really struck on this.
>
> Thanks in advance
> Nagaraju


More information about the llvm-dev mailing list