[GVN/FP] Considate logic for reasoning about equality vs equivalance for floats
authorPhilip Reames <listmail@philipreames.com>
Wed, 8 Jan 2020 00:03:51 +0000 (16:03 -0800)
committerPhilip Reames <listmail@philipreames.com>
Wed, 8 Jan 2020 00:05:04 +0000 (16:05 -0800)
commit312a532dc0456b8901de43fd3f1c6ec9d551a80d
tree9f8ec3f82362bee4511a374437af01df29fc8069
parent13922f3e9d0c8a0f2612c5e43c922099bbf74a79
[GVN/FP] Considate logic for reasoning about equality vs equivalance for floats

Factor out common logic into some reasonable commented helper functions. In the process, ensure that the in-block vs cross-block cases are handled the same. They previously weren't.

Differential Revision: https://reviews.llvm.org/D67126
llvm/lib/Transforms/Scalar/GVN.cpp
llvm/test/Transforms/GVN/edge.ll