Displaying 3 results from an estimated 3 matches for "undefinst".
2016 Nov 11
3
RFC: Killing undef and spreading poison
...undef. Accept that this is ok because optimizing undefined behavior is not actually interesting.
As I said above, we don't really care about folding cases that we've
proved to have UB.
Moreover, in your scheme, we still won't be able to do optimizations
like:
%y = ...
%undef.0 = undefinst
%val = select i1 %cond, %undef.0, %y
print(%val)
to
%y = ...
print(%val)
since it could have been that
%x = INT_MAX at runtime, but unknown at compile time
%y = %x +nsw 1
%undef.0 = undefinst
%val = select i1 %cond, %undef.0, %y
print(%val) == %x s< %val
Folding %val to...
2016 Nov 11
2
RFC: Killing undef and spreading poison
...is not actually interesting.
>> As I said above, we don't really care about folding cases that we've
>> proved to have UB.
>>
>> Moreover, in your scheme, we still won't be able to do optimizations
>> like:
>>
>> %y = ...
>> %undef.0 = undefinst
>> %val = select i1 %cond, %undef.0, %y
>> print(%val)
>>
>> to
>>
>> %y = ...
>> print(%val)
>>
>> since it could have been that
>>
>> %x = INT_MAX at runtime, but unknown at compile time
>> %y = %x +nsw 1
>&g...
2016 Nov 09
4
RFC: Killing undef and spreading poison
> On 11/8/2016 3:32 PM, Sanjoy Das wrote:
>> Hi Nuno, Chandler,
>>
>> Nuno Lopes via llvm-dev wrote:
>> > This program stores 8 bits, and leaves the remaining 24 bits
>> > uninitialized. It then loads 16 bits, half initialized to %v, half
>> > uninitialized. SROA transforms the above function to:
>> >
>> > define i16 @g(i8 %in) {