[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?

Eric Christopher echristo at apple.com
Thu Aug 26 11:53:36 PDT 2010


On Aug 26, 2010, at 11:47 AM, Yuri wrote:

> On 08/26/2010 11:11, Bob Wilson wrote:
>> A pseudo instruction is used internally without llvm, but it does not correspond directly to a real instruction in the target architecture.  Before emitting the final compiled code, all the pseudo instructions must be expanded to real instructions.  If you're seeing that error, it means that something was not expanded.
>> 
> 
> So what is likely to be wrong? This error only happens on amd64 and not 
> on i386, variable Opcode is 2493 when the error occurs.
> It is triggered from under the call that I make: JIT::runFunction.

Could you get it to print out the instruction when it happens? (just change the line above the error message to print it out to errs()).

It basically means that a pseudo wasn't lowered to something that the jit can output before the jit was run.  Is this on ToT?

-eric



More information about the llvm-dev mailing list