Machine Verifier question.

Running the following command,

llc -asm-verbose=false -O3 Output/ReedSolomon.llvm.bc -o Output/ -verify-machineinstrs

in llvm-test/SingleSource/Benchmarks/Misc currently yields seven errors, all of the form

*** Bad machine code: PHI operand is not live-out from predecessor ***

  • function: main
  • basic block: bb2.i.preheader 0x1ba7680 (BB#5)
  • instruction: %reg1032 = PHI %reg1280, <BB#3>, %reg1287, <BB#4>
  • operand 1: %reg1280

The code seems to run ok though.

Is this something that’s worth looking in to, or just over zealous reporting by the machine verifier?


That sounds like a proper bug. Can you tell why %reg1280 is not live-out from BB#3?


I just merged the last few days worth of mainline commits into my repo
and this bug seems to have disappeared. If it was real it looks like
it has been fixed. I'll keep an eye out for it though.

- Lang.