[sledge] Interpret conversions between float types as identity

Summary:
Since floats of any width are interpreted the same (as exact rationals
where possible and uninterpreted constants otherwise), this does not
introduce additional infidelity.

Reviewed By: da319

Differential Revision: D24746225

fbshipit-source-id: bc8e7bdb9
master
Josh Berdine 4 years ago committed by Facebook GitHub Bot
parent 868a8b8526
commit bfbd39c2a7

@ -87,6 +87,7 @@ and term : Llair.Exp.t -> T.t =
| _ -> uap1 (Unsigned bits) a | _ -> uap1 (Unsigned bits) a
else uap1 (Unsigned bits) a else uap1 (Unsigned bits) a
| Ap1 (Convert {src= Pointer _}, Pointer _, e) -> term e | Ap1 (Convert {src= Pointer _}, Pointer _, e) -> term e
| Ap1 (Convert {src= Float _}, Float _, e) -> term e
| Ap1 (Convert {src}, dst, e) -> | Ap1 (Convert {src}, dst, e) ->
let s = let s =
Format.asprintf "convert_%a_of_%a" Llair.Typ.pp dst Llair.Typ.pp src Format.asprintf "convert_%a_of_%a" Llair.Typ.pp dst Llair.Typ.pp src

Loading…
Cancel
Save