[llvm-commits] [llvm] r155618 - in /llvm/trunk/lib/Target/X86: X86.td X86Subtarget.cpp
Pete Cooper
pete.cooper at gmail.com
Sat Apr 28 16:01:04 PDT 2012
On Sat, Apr 28, 2012 at 3:56 PM, Eric Christopher <echristo at apple.com>wrote:
>
> 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.
> >
>
> I just found this too :)
>
> > 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 :)
>
> I'm for this change. While we want to get rid of MRMInitReg (and AVX isn't
> helping) the assert is pretty much just checking that LowerUnaryToTwoAddr
> is running here. It's valid code so we should just accept it IMO.
>
> The rest of the patch looks fine, someone should file a bug to refactor
> this :)
>
Great. Thanks for taking the time to review this Eric.
I'll give it a couple of hours and if there's no objections I'll commit
(after whitespace removal that is)
Pete
>
> -eric
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120428/99187ef2/attachment.html>
More information about the llvm-commits
mailing list