[flang] Fix ICE for sqrt(0.0) evaluation
During real range reduction to [0.5, 4) with SQRT(2**(2a) * x) = SQRT(2**(2a)) * SQRT(x) = 2**a * SQRT(x) we fall into inf. recursion if IsZero() == true. Explicitly handle SQRT(0.0) instead of additional checks during folding. Also add helpers for +0.0/-0.0 generation to clean up a bit. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D123131
Loading
Please sign in to comment