SuccessChanges

Summary

  1. [InstSimplify] reduce code duplication for fcmp folds; NFC
  2. [InstSimplify] enhance fcmp fold with never-nan operand This is another step towards correcting our usage of fast-math-flags when applied on an fcmp. In this case, we are checking for 'nnan' on the fcmp itself rather than the operand of the fcmp. But I'm leaving that clause in until we're more confident that we can stop relying on fcmp's FMF. By using the more general "isKnownNeverNaN()", we gain a simplification shown on the tests with 'uitofp' regardless of the FMF on the fcmp (uitofp never produces a NaN). On the tests with 'fabs', we are now relying on the FMF for the call fabs instruction in addition to the FMF on the fcmp. This is a continuation of D62979 / rL362879.
  3. [InstSimplify] add tests for fcmp with known-never-nan operands; NFC Opposite predicate for rL362742 / rL362879 / D62979
Revision 362904 by spatel:
[InstSimplify] reduce code duplication for fcmp folds; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/InstructionSimplify.cpptrunk/lib/Analysis/InstructionSimplify.cpp
Revision 362903 by spatel:
[InstSimplify] enhance fcmp fold with never-nan operand

This is another step towards correcting our usage of fast-math-flags when applied on an fcmp.
In this case, we are checking for 'nnan' on the fcmp itself rather than the operand of
the fcmp. But I'm leaving that clause in until we're more confident that we can stop
relying on fcmp's FMF.

By using the more general "isKnownNeverNaN()", we gain a simplification shown on the
tests with 'uitofp' regardless of the FMF on the fcmp (uitofp never produces a NaN).
On the tests with 'fabs', we are now relying on the FMF for the call fabs instruction
in addition to the FMF on the fcmp.

This is a continuation of D62979 / rL362879.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/InstructionSimplify.cpptrunk/lib/Analysis/InstructionSimplify.cpp
The file was modified/llvm/trunk/test/Transforms/InstSimplify/floating-point-compare.lltrunk/test/Transforms/InstSimplify/floating-point-compare.ll
Revision 362902 by spatel:
[InstSimplify] add tests for fcmp with known-never-nan operands; NFC

Opposite predicate for rL362742 / rL362879 / D62979
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstSimplify/floating-point-compare.lltrunk/test/Transforms/InstSimplify/floating-point-compare.ll