aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Documentation
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-04-02 11:24:52 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-01-16 12:08:02 +0100
commit6b91f6997c7debd4eaa03b8f9e222aaafa937498 (patch)
tree35e9033a229adf02037f3be20049b0fb9b3825a6 /Documentation
parent030473b77d72bd6edcf9fb37e1fe8c12f96deab7 (diff)
downloadsparse-dev-6b91f6997c7debd4eaa03b8f9e222aaafa937498.tar.gz
CSE: support CSE of floating-point literal
Before the introduction of OP_SETFVAL, floating-point were created via OP_SETVAL whose CSE is done by comparing the pointer of the corresponding expression without any interpretation of this pointer. As consequence, even if two OP_SETVAL have two identical expressions (value), in most cases the corresponding pointers are not identical, completly inhibiting the CSE of OP_SETVALs. Fix the CSE of floating-point literals by directly using the value given by the new OP_SETFVAL. Note: to respect some of the subtilities of floating-point, the equality comparison of two literals is not done on the floating-point value itself but bit-by-bit on its binary representation (as such we can continue to make the distinction between +0.0 & -0.0, handle NaNs, ...). Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions