[PATCH] D28954: [analyzer] Add support for symbolic float expressions

Dominic Chen via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 20 08:45:36 PST 2017

ddcc added a comment.

- This patch introduces a virtual overloaded `llvm::APFloat getSymVal()` for returning the value of known floating-point constants. In the long term, both `getSymVal()` functions should probably be refactored to return something like a `llvm::Con
- There are also long-term issues with the flexibility of the `SymExpr` class. Currently, this patch adds two `SymFloatExpr` and `FloatSymExpr` subclasses, but this isn't expressive enough for certain types of symbolic queries. For example, the current implementation checks whether a floating-point value is `NaN` by comparing whether `V == V`, which should only be false for `NaN`. It would be better to add support for special queries for whether a value is NaN, positive infinity, negative infinity, etc.


More information about the cfe-commits mailing list