search for: max_float

Displaying 4 results from an estimated 4 matches for "max_float".

2013 Dec 10
0
[LLVMdev] Float undef value propagation
...the language spec is concerning me. Could there be a case where some bit of the result is known given only one constant argument? I'm not familiar enough with the floating point semantics of LLVM's IR, but suspect there might be such a case. A few cases worth thinking about: undef + max_float, undef + NAN (signaling or non-signalling). If someone more familiar with floating point knows better, please feel free to chime in. On the other hand, the following transformation is definitely safe: define float @_Z1fv() #0 { entry: ret 2.000000e+00 } (undef could be zero, thus result...
2013 Dec 09
4
[LLVMdev] Float undef value propagation
Constant propagation pass generates constant expression when undef is used in float instructions instead of propagating the undef value. ; Function Attrs: nounwind define float @_Z1fv() #0 { entry: %add = fadd fast float undef, 2.000000e+00 ret float %add } Becomes: ; Function Attrs: nounwind define float @_Z1fv() #0 { entry: ret float fadd (float undef, float 2.000000e+00) } Is it safe
2013 Dec 11
1
[LLVMdev] Float undef value propagation
...spec is concerning me. Could there be a case where some > bit of the result is known given only one constant argument? I'm not > familiar enough with the floating point semantics of LLVM's IR, but > suspect there might be such a case. A few cases worth thinking > about: undef + max_float, undef + NAN (signaling or non-signalling). > If someone more familiar with floating point knows better, please > feel free to chime in. Out of curosity, do we currently perform this transformation when -enable-unsafe-fp-math is specified (-ffast-math from Clang)? -Hal > > On the o...
2013 Dec 11
2
[LLVMdev] Float undef value propagation
...s in the language spec is concerning me. Could there be a case where some bit of the result is known given only one constant argument? I'm not familiar enough with the floating point semantics of LLVM's IR, but suspect there might be such a case. A few cases worth thinking about: undef + max_float, undef + NAN (signaling or non-signalling). If someone more familiar with floating point knows better, please feel free to chime in. On the other hand, the following transformation is definitely safe: define float @_Z1fv() #0 { entry: ret 2.000000e+00 } (undef could be zero, thus result of the...