[PATCH] D78224: ValueLattice, LVI, SCCP: Use floating point constant ranges

Jan Vesely via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 15 12:03:29 PDT 2020


jvesely added a comment.

There were few issues in SCCP tests.

- apint-load -- the result of the division operation of the original operands depends on rounding mode. it's represented as a range rather than a constant.
- apint-ipsccp4 -- we can now deduce the starting range of `v1`  in `ssa_copy intrinsic` as `[-Inf, 2.999]` which then gets merged with more accurate information from the function call. The original behaviour started with `unknown` which then gets combined with more accurate information. Thus having less information at the beginning gives a better result. changing the comparison condition check to only allow Icmp works around the issue and keeps the old behaviour.
- float-nan-simplification -- NaNs with different payloads/sign are not tracked separately, so one case returns +NaN while the other one returns -NaN. I've adjusted the comment in the test to explain the situation.

let me know what other tests you'd like me to add.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78224/new/

https://reviews.llvm.org/D78224





More information about the llvm-commits mailing list