2012/3/13 Chris Lattner <[email protected]>:
>
> On Mar 13, 2012, at 1:21 PM, Rafael Espíndola wrote:
>
>>> the language ref currently says that it is undefined what gets stored in the
>>> other 7 bits when you write an i1.  That was just to give freedom to be
>>> efficient, but should be changed to say "target dependent" or something like
>>> that if you want to go this way.
>>
>> Good point. I noticed the store had to be i1 for the i1 load to be
>> legal, but I missed this one.
>
> I really don't like "store of i1" having target-dependent semantics.  If the 
> real issue here is that we have no way to represent a "byte load that is 
> known to be all ones at the top part" then we should add support for that 
> directly IMO.
>
> Doing this should be relatively straightforward: just add a per-instruction 
> metadata that indicates the number of leading zero bits that 
> ComputeMaskedBits and friends can use.  The hard part is designing something 
> that is suitably general to capture other interesting properties.

Just thinking out loud here --

Isn't this what metadata is for? Shouldn't we encode known value-range
limits as metadata and just attach it in the proper places? That might
lead nicely to future value-range optimization work.

deep

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to