Displaying 3 results from an estimated 3 matches for "simplifyfdivinst".
2014 Aug 26
2
[LLVMdev] Bug 16257 - fmul of undef ConstantExpr not folded to undef
..., undef"/ is always folded to /"undef"/.
Seems I am missing something important about floats here.
The same applies to "fdiv".
/"fdiv undef, undef"/ is not folded but /"div %X, undef"/ and /"div
undef, %X"/ are folded to /"undef"/ (SimplifyFDivInst function in
lib/Analysis/InstructionSimplify.cpp). Moreover, SimplifyFDivInst does
not take into account whether signalling of SNaNs can be switched off or
not - it always folds if one of the operands is /"undef"/.
Another mysterious thing for me is folding of /"mul %X, undef&quo...
2014 Aug 27
2
[LLVMdev] Bug 16257 - fmul of undef ConstantExpr not folded to undef
...y can be made non-signalling by poking
> the processor AFAIK.
>
>>
>> The same applies to "fdiv".
>> /"fdiv undef, undef"/ is not folded but /"div %X, undef"/ and /"div
>> undef, %X"/
>> are folded to /"undef"/ (SimplifyFDivInst function in
>> lib/Analysis/InstructionSimplify.cpp).
>
> Here is the argument for "div %X, undef -> undef". The undef value
> might be zero (div %X, 0), so lets choose it to be zero. That means
> that the program has undefined behaviour at this point, and so we
&...
2014 Aug 27
3
[LLVMdev] Bug 16257 - fmul of undef ConstantExpr not folded to undef
...processor AFAIK.
>>>
>>>>
>>>> The same applies to "fdiv".
>>>> /"fdiv undef, undef"/ is not folded but /"div %X, undef"/ and /"div
>>>> undef, %X"/
>>>> are folded to /"undef"/ (SimplifyFDivInst function in
>>>> lib/Analysis/InstructionSimplify.cpp).
>>>
>>> Here is the argument for "div %X, undef -> undef". The undef value
>>> might be
>>> zero (div %X, 0), so lets choose it to be zero. That means that the
>>> progra...