[all-commits] [llvm/llvm-project] a954b8: [ValueTracking] fix CannotBeNegativeZero() to disr...

RotateRight via All-commits all-commits at lists.llvm.org
Tue May 5 13:11:58 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: a954b8a363adae382e076ba0ef1d39910778a02d
      https://github.com/llvm/llvm-project/commit/a954b8a363adae382e076ba0ef1d39910778a02d
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/fast-math.ll

  Log Message:
  -----------
  [ValueTracking] fix CannotBeNegativeZero() to disregard 'nsz' FMF

The 'nsz' flag is different than 'nnan' or 'ninf' in that it does not create poison.
Make that explicit in the LangRef and fix ValueTracking analysis that misinterpreted
the definition.

This manifests as bugs in InstSimplify shown in the test diffs and as discussed in
PR45778:
https://bugs.llvm.org/show_bug.cgi?id=45778

Differential Revision: https://reviews.llvm.org/D79422




More information about the All-commits mailing list