[llvm-commits] [llvm] r155618 - in /llvm/trunk/lib/Target/X86: X86.td X86Subtarget.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Sat Apr 28 19:07:25 CDT 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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits