llvm-project/llvm
Sanjay Patel a954b8a363 [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
2020-05-05 16:04:59 -04:00
..
benchmarks
bindings Update go bindings for 2dea3f1298 2020-04-22 19:02:59 +02:00
cmake [cmake] restrict object library dependency generation to PUBLIC libraries 2020-05-04 14:12:42 -07:00
docs [ValueTracking] fix CannotBeNegativeZero() to disregard 'nsz' FMF 2020-05-05 16:04:59 -04:00
examples [examples] Fix an incomplete comment. 2020-05-01 11:06:41 -07:00
include [MachinePipeliner] Add ORE for MachinePipeliner 2020-05-05 16:04:53 +00:00
lib [ValueTracking] fix CannotBeNegativeZero() to disregard 'nsz' FMF 2020-05-05 16:04:59 -04:00
projects
resources
runtimes
test [ValueTracking] fix CannotBeNegativeZero() to disregard 'nsz' FMF 2020-05-05 16:04:59 -04:00
tools [llvm-objcopy][ELF] Allow --dump-section to dump an empty non-SHT_NOBITS section 2020-05-05 08:26:34 -07:00
unittests Let normalize() for posix style convert backslash to slash unconditionally. 2020-05-05 13:54:55 -04:00
utils [gn build] (manually) merge 07f8ca6ab1 2020-05-05 06:15:20 -04:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Revert "[lldb][cmake] Also use local submodule visibility on Darwin" 2020-05-05 15:23:34 +02:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.