[llvm-commits] [llvm] r155618 - in /llvm/trunk/lib/Target/X86: X86.td X86Subtarget.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Sat Apr 28 17:07:25 PDT 2012
On Apr 28, 2012, at 3:38 PM, Pete Cooper wrote:
> I tracked down the difference in llc and lli which leads to a crash in one but not the other with these changes applied. The llvm_unreachable i removed here from X86BaseInfo.h fires in lli because of a MOV32r0 instruction.
>
> The JIT passes this instruction all the way through to emission. llc instead calls LowerUnaryToTwoAddr(OutMI, X86::XOR32rr); which stops any MOV32r0 instructions from ever getting to MC emission and triggering the llvm_unreachable.
>
> Anyone got any advice on this? We could have the JIT also make the LowerUnaryToTwoAddr call but without refactoring this is getting to be a mess of copied and pasted code. Not that I helped that at all with this patch :)
You can handle MOV32r0 in X86InstrInfo::expandPostRAPseudo(), just like we do with the corresponding vector pseudos.
/jakob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120428/62bd64a2/attachment.html>
More information about the llvm-commits
mailing list