[llvm-commits] [llvm] r99859 - /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Chris Lattner clattner at apple.com
Tue Mar 30 11:25:23 PDT 2010


On Mar 30, 2010, at 10:23 AM, Eric Christopher wrote:

> 
> On Mar 29, 2010, at 7:07 PM, Chris Lattner wrote:
> 
>> 
>> On Mar 29, 2010, at 6:04 PM, Eric Christopher wrote:
>> 
>>> Author: echristo
>>> Date: Mon Mar 29 20:04:59 2010
>>> New Revision: 99859
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=99859&view=rev
>>> Log:
>>> Add FIXME for operand promotion.
>> 
>> What is this talking about?
> 
> Basic idea is that loop is canonicalizing all loads (etc) to v2i64.  This means that to match we've got some weird casts around that wouldn't need to be there if we just left them as whatever type they were.
> 
> This is why we see, for example, the bc_v4i32 cast used all over the place in X86InstrSSE.td for things not sse2 to get them to match.

But we do this for a really good reason.  Canonicalization is important because without it, we have to write all patterns for all possible load types.

-Chris



More information about the llvm-commits mailing list