SuccessChanges

Summary

  1. [InstSimplify] enhance fcmp fold with never-nan operand This is 1 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. I'll update the 'ult' case below here as a follow-up assuming no problems here. Differential Revision: https://reviews.llvm.org/D62979
  2. fix a typo unavaliable=>unavailable
Revision 362879 by spatel:
[InstSimplify] enhance fcmp fold with never-nan operand

This is 1 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.

I'll update the 'ult' case below here as a follow-up assuming no problems here.

Differential Revision: https://reviews.llvm.org/D62979
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 362878 by sylvestre:
fix a typo unavaliable=>unavailable
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-exegesis/llvm-exegesis.cpptrunk/tools/llvm-exegesis/llvm-exegesis.cpp

Summary

  1. [analyzer][NFC][tests] Pre-normalize expected-plists As suggested in the review for D62949, this patch pre-normalizes the reference expected output plist files by removing lines containing fields for which we expect differences that should be ignored.
  2. [analyzer][NFC][tests] Remove unused expected-plist files
Revision 362877 by hubert.reinterpretcast:
[analyzer][NFC][tests] Pre-normalize expected-plists

As suggested in the review for D62949, this patch pre-normalizes the
reference expected output plist files by removing lines containing
fields for which we expect differences that should be ignored.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plisttrunk/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/conditional-path-notes.c.plisttrunk/test/Analysis/Inputs/expected-plists/conditional-path-notes.c.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/cxx-for-range.cpp.plisttrunk/test/Analysis/Inputs/expected-plists/cxx-for-range.cpp.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/generics.m.plisttrunk/test/Analysis/Inputs/expected-plists/generics.m.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/inline-plist.c.plisttrunk/test/Analysis/Inputs/expected-plists/inline-plist.c.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/inline-unique-reports.c.plisttrunk/test/Analysis/Inputs/expected-plists/inline-unique-reports.c.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/lambda-notes.cpp.plisttrunk/test/Analysis/Inputs/expected-plists/lambda-notes.cpp.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/malloc-plist.c.plisttrunk/test/Analysis/Inputs/expected-plists/malloc-plist.c.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/method-call-path-notes.cpp.plisttrunk/test/Analysis/Inputs/expected-plists/method-call-path-notes.cpp.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/model-file.cpp.plisttrunk/test/Analysis/Inputs/expected-plists/model-file.cpp.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/null-deref-path-notes.m.plisttrunk/test/Analysis/Inputs/expected-plists/null-deref-path-notes.m.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/nullability-notes.m.plisttrunk/test/Analysis/Inputs/expected-plists/nullability-notes.m.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plisttrunk/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plisttrunk/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objc.plisttrunk/test/Analysis/Inputs/expected-plists/retain-release.m.objc.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objcpp.plisttrunk/test/Analysis/Inputs/expected-plists/retain-release.m.objcpp.plist
The file was modified/cfe/trunk/test/Analysis/Inputs/expected-plists/unix-fns.c.plisttrunk/test/Analysis/Inputs/expected-plists/unix-fns.c.plist
The file was modified/cfe/trunk/test/Analysis/copypaste/Inputs/expected-plists/MismatchedDeallocator-path-notes.cpp.plisttrunk/test/Analysis/copypaste/Inputs/expected-plists/MismatchedDeallocator-path-notes.cpp.plist
The file was modified/cfe/trunk/test/Analysis/copypaste/Inputs/expected-plists/plist-diagnostics-notes-as-events.cpp.plisttrunk/test/Analysis/copypaste/Inputs/expected-plists/plist-diagnostics-notes-as-events.cpp.plist
The file was modified/cfe/trunk/test/Analysis/copypaste/Inputs/expected-plists/plist-diagnostics.cpp.plisttrunk/test/Analysis/copypaste/Inputs/expected-plists/plist-diagnostics.cpp.plist
The file was modified/cfe/trunk/test/Analysis/diagnostics/Inputs/expected-plists/deref-track-symbolic-region.c.plisttrunk/test/Analysis/diagnostics/Inputs/expected-plists/deref-track-symbolic-region.c.plist
The file was modified/cfe/trunk/test/Analysis/diagnostics/Inputs/expected-plists/plist-diagnostics-include-check.cpp.plisttrunk/test/Analysis/diagnostics/Inputs/expected-plists/plist-diagnostics-include-check.cpp.plist
The file was modified/cfe/trunk/test/Analysis/diagnostics/Inputs/expected-plists/plist-multi-file.c.plisttrunk/test/Analysis/diagnostics/Inputs/expected-plists/plist-multi-file.c.plist
The file was modified/cfe/trunk/test/Analysis/diagnostics/Inputs/expected-plists/report-issues-within-main-file.cpp.plisttrunk/test/Analysis/diagnostics/Inputs/expected-plists/report-issues-within-main-file.cpp.plist
The file was modified/cfe/trunk/test/Analysis/diagnostics/Inputs/expected-plists/undef-value-caller.c.plisttrunk/test/Analysis/diagnostics/Inputs/expected-plists/undef-value-caller.c.plist
The file was modified/cfe/trunk/test/Analysis/diagnostics/Inputs/expected-plists/undef-value-param.c.plisttrunk/test/Analysis/diagnostics/Inputs/expected-plists/undef-value-param.c.plist
The file was modified/cfe/trunk/test/Analysis/diagnostics/Inputs/expected-plists/undef-value-param.m.plisttrunk/test/Analysis/diagnostics/Inputs/expected-plists/undef-value-param.m.plist
The file was modified/cfe/trunk/test/Analysis/inlining/Inputs/expected-plists/eager-reclamation-path-notes.c.plisttrunk/test/Analysis/inlining/Inputs/expected-plists/eager-reclamation-path-notes.c.plist
The file was modified/cfe/trunk/test/Analysis/inlining/Inputs/expected-plists/eager-reclamation-path-notes.cpp.plisttrunk/test/Analysis/inlining/Inputs/expected-plists/eager-reclamation-path-notes.cpp.plist
The file was modified/cfe/trunk/test/Analysis/inlining/Inputs/expected-plists/path-notes.c.plisttrunk/test/Analysis/inlining/Inputs/expected-plists/path-notes.c.plist
The file was modified/cfe/trunk/test/Analysis/inlining/Inputs/expected-plists/path-notes.cpp.plisttrunk/test/Analysis/inlining/Inputs/expected-plists/path-notes.cpp.plist
Revision 362876 by hubert.reinterpretcast:
[analyzer][NFC][tests] Remove unused expected-plist files
Change TypePath in RepositoryPath in Workspace
The file was removed/cfe/trunk/test/Analysis/Inputs/expected-plists/cstring-plist.c.plisttrunk/test/Analysis/Inputs/expected-plists/cstring-plist.c.plist
The file was removed/cfe/trunk/test/Analysis/Inputs/expected-plists/plist-stats-output.c.plisttrunk/test/Analysis/Inputs/expected-plists/plist-stats-output.c.plist
The file was removed/cfe/trunk/test/Analysis/Inputs/expected-plists/yaccignore.c.plisttrunk/test/Analysis/Inputs/expected-plists/yaccignore.c.plist