Details
Diff Detail
Event Timeline
llvm/lib/Analysis/ValueTracking.cpp | ||
---|---|---|
4949 | Couldn't a subnormal value be the input for rounding? The result won't be subnormal, but why remove the checks for subnormal inputs? |
llvm/lib/Analysis/ValueTracking.cpp | ||
---|---|---|
4923–4924 | This doesn't seem to match the code any more? I guess you want: if (InterestedClass & fcPosFinite) InterestedSrcs |= fcPosFinite; etc. (Strictly I think you ought to do this for fcNan too, throughout computeKnownFPClass, in case InterestedClasses only contains one of fcSNan or fcQNan.) |
llvm/lib/Analysis/ValueTracking.cpp | ||
---|---|---|
4923–4924 | I don't see the point of enabling more bits here, not sure why I put this here in the first place |
llvm/lib/Analysis/ValueTracking.cpp | ||
---|---|---|
4923–4924 | The point is that if you're only interested in whether the result is (say) negzero, you can't prove that unless you know the source is none of negzero|negsubnormal|negfinite. Isn't that the way InterestedClasses is supposed to work? |
This doesn't seem to match the code any more? I guess you want:
etc.
(Strictly I think you ought to do this for fcNan too, throughout computeKnownFPClass, in case InterestedClasses only contains one of fcSNan or fcQNan.)