This is the same as isKnownNeverNaN.
Details
Diff Detail
Event Timeline
llvm/lib/Analysis/ValueTracking.cpp | ||
---|---|---|
4627 | Isn't infinity an issue as well? If the input to be truncated is zero then we know the result can't be infinity. Then again, if the goal is to keep parity with the old implementation then do we need to worry about infinity yet? |
llvm/lib/Analysis/ValueTracking.cpp | ||
---|---|---|
4627 | fptrunc(inf) => inf so there isn't really an issue as much of a missing optimization |
llvm/lib/Analysis/ValueTracking.cpp | ||
---|---|---|
4627 | Wait, it's possible for a non-infinity value to be truncated to a value that is infinity in the smaller format, no? Shouldn't we just be checking that the value is in range, or just checking for zero if that's too much work? |
llvm/lib/Analysis/ValueTracking.cpp | ||
---|---|---|
4627 | Yes, this is just broken. I got it right before and then corrected into wrong. isKnownNeverInfinity has a comment about this. We don't have infrastructure to check ranges |
Isn't infinity an issue as well? If the input to be truncated is zero then we know the result can't be infinity. Then again, if the goal is to keep parity with the old implementation then do we need to worry about infinity yet?