Displaying 4 results from an estimated 4 matches for "use_1".
Did you mean:
user_1
2016 Oct 24
2
RFC: Killing undef and spreading poison
...gt;>
>>
>> > *If* i need to replace them all with the same freeze def in order to be
>> able to consider them the same value, (...)
>>
>> Right, so just to make it very clear, the following would be wrong:
>> %x = freeze %y
>> %w = freeze %y
>> use_1 %x
>> use_2 %w
>> use_3 %x
>> =>
>> %x = freeze %y
>> %w = freeze %y
>> use_1 %w
>> use_2 %w
>> use_3 %x
>>
>> If you replace one use of %x, all uses have to be replaced, since
>> different freezes of the same operand *may* return...
2016 Oct 23
2
RFC: Killing undef and spreading poison
...can be thought as an atomic/volatile operation seems like a good intuition.
> *If* i need to replace them all with the same freeze def in order to be able to consider them the same value, (...)
Right, so just to make it very clear, the following would be wrong:
%x = freeze %y
%w = freeze %y
use_1 %x
use_2 %w
use_3 %x
=>
%x = freeze %y
%w = freeze %y
use_1 %w
use_2 %w
use_3 %x
If you replace one use of %x, all uses have to be replaced, since different freezes of the same operand *may* return different values.
I guess that since we are never (err, most of the times) sure of whether a valu...
2016 Oct 25
3
RFC: Killing undef and spreading poison
...d to replace them all with the same freeze def in order to
> be able to consider them the same value, (...)
> >>>
> >>> Right, so just to make it very clear, the following would be wrong:
> >>> %x = freeze %y
> >>> %w = freeze %y
> >>> use_1 %x
> >>> use_2 %w
> >>> use_3 %x
> >>> =>
> >>> %x = freeze %y
> >>> %w = freeze %y
> >>> use_1 %w
> >>> use_2 %w
> >>> use_3 %x
> >>>
> >>> If you replace one use of %x, all u...
2016 Oct 20
6
RFC: Killing undef and spreading poison
The fact two IR values are defined the same way doesn't necessarily imply
they are actually the same value.
e.g.
%a = load volatile i32, i32* %p
%b = load volatile i32, i32* %p
As Sanjoy said, though, it should always be legal to optimize all uses of
different "freeze(%x)" values to use the same def - this is equivalent to
choosing the same value for all freezes. It's just not