This is the first patch in a series to replace BinaryOperator::isFNeg(...) with more general pattern matcher calls.
We'll need a mechanism in the pattern matcher to match FNeg patterns that ignore signed zeros. I propose adding a new pattern matcher function, called m_ISZFNeg(...). This patch is one possible solution, but I'll leave it open for discussion. I'll also add that I have not worked on the pattern matcher before, so please review thoroughly.
There are a handful of tests that exercise the modified xform in test/Transforms/InstSimplify/fast-math.ll. So, I did not add new tests.
Let's use the existing LLVM vocabulary for "ignore signed zero":
"m_FNegNSZ"