On Feb 12, 2008, at 1:42 PM, Chris Lattner wrote:

>
> On Feb 12, 2008, at 11:27 AM, Dan Gohman wrote:
>
>> Hi Chris,
>>
>> Thanks for the careful review! I've responded to parts of it already,
>> and I'll
>> be responding to more soon.
>
> Thanks Dan!
>
>> On Feb 10, 2008, at 11:56 AM, Chris Lattner wrote:
>>> Instead of Size here, would it make sense to store an MVT?  That
>>> would
>>> seem to capture strictly more information, thought I'm not sure if
>>> it's directly useful right now.
>>
>> This, and the question of whether to make LSBaseNode store a
>> MemOperand
>> instead of separate fields, are related.
>
> Ok, right.  What is your opinion on this?  Is there any reason not to
> give MemOperand a VT and then give LSBaseNode a MemOperand?

There's a little redundancy; the MemOperand has flags to distinguish
between load and store, and LSBaseNode has its opcode which
is either LOAD or STORE.  But that's not a big problem.

>
>
>> Also related is the question is what to do about the lowering of
>> something like
>> insert vector element where the element index isn't a constant and  
>> the
>> target
>> doesn't have an instruction to handle it. Legalize emits a store with
>> a computed
>> offset; what should the MemOperand for this look like? One way is to
>> give it a
>> larger size, to cover the known area over which the store might  
>> occur.
>> This
>> would mean it would use a different VT from the actual store, which
>> could be
>> confusing. Maybe it should have both a size and a VT.
>
> Good question.  This sort of thing is currently rare enough that it is
> probably fine to just use a null Value*, and have everything treat it
> conservatively.  Would this be acceptable for now?

Yes, using a null Value* is done in many places right now that
don't yet provide a proper SourceValue.

Dan

_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to