llvm-project/llvm
Sanjay Patel 86d24f1668 [ValueTracking] readonly (const) is a requirement for converting sqrt to llvm.sqrt; nnan is not
As discussed in D39204, this is effectively a revert of rL265521 which required nnan 
to vectorize sqrt libcalls based on the old LangRef definition of llvm.sqrt. Now that
the definition has been updated so the libcall and intrinsic have the same semantics
apart from potentially setting errno, we can remove the nnan requirement.

We have the right check to know that errno is not set:

if (!ICS.onlyReadsMemory())

...ahead of the switch.

This will solve https://bugs.llvm.org/show_bug.cgi?id=27435 assuming that's being 
built for a target with -fno-math-errno.

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

llvm-svn: 317519
2017-11-06 22:40:09 +00:00
..
bindings Update go bindings to use new functions from rL317135. 2017-11-02 10:22:26 +00:00
cmake Revert r316064 "Fix the incorrect detection of ICONV_LIBRARY_PATH" 2017-11-06 22:17:23 +00:00
docs Canonicalize spelling of long-form-options in dsymutil.rst 2017-11-06 16:52:05 +00:00
examples
include [MIRPrinter] Use %subreg.xxx syntax for subregister index operands 2017-11-06 21:46:06 +00:00
lib [ValueTracking] readonly (const) is a requirement for converting sqrt to llvm.sqrt; nnan is not 2017-11-06 22:40:09 +00:00
projects
resources
runtimes
test [ValueTracking] readonly (const) is a requirement for converting sqrt to llvm.sqrt; nnan is not 2017-11-06 22:40:09 +00:00
tools [cfi-verify] Added a simple check that stops division-by-zero error when no indirect CF instructions are found in the provided file. 2017-11-06 19:14:09 +00:00
unittests [IR] redefine 'UnsafeAlgebra' / 'reassoc' fast-math-flags and add 'trans' fast-math-flag 2017-11-06 16:27:15 +00:00
utils update_mir_test_checks: Be careful about replacing entire vregs 2017-11-06 21:06:09 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Move the srpm, ocaml_make_directory, llvm_vcsrevision_h, and llvm-headers projects into the Misc folder on IDEs like Visual Studio rather than leave them in the root directory. NFC. 2017-11-04 19:59:14 +00:00
CODE_OWNERS.TXT Update my email addresses, NFC. 2017-10-26 10:16:54 +00:00
CREDITS.TXT Add myself to CREDITS.txt 2017-09-18 14:33:39 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT Update my email addresses, NFC. 2017-10-26 10:16:54 +00:00
configure
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

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.