LLVM backend for 6502
Go to file
Sanjay Patel d2153694e0 Handle sqrt() shrinking in SimplifyLibCalls like any other call
This patch removes a chunk of special case logic for folding 
(float)sqrt((double)x) -> sqrtf(x)
in InstCombineCasts and handles it in the mainstream path of SimplifyLibCalls.

No functional change intended, but I loosened the restriction on the existing
sqrt testcases to allow for this optimization even without unsafe-fp-math because
that's the existing behavior.

I also added a missing test case for not shrinking the llvm.sqrt.f64 intrinsic
in case the result is used as a double.

Differential Revision: http://reviews.llvm.org/D5919



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220514 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-23 21:52:45 +00:00
autoconf Initial version of Go bindings. 2014-10-16 22:48:02 +00:00
bindings Add llvm-go tool. 2014-10-23 02:33:23 +00:00
cmake Add llvm-go tool. 2014-10-23 02:33:23 +00:00
docs Fix number of operands in documentation for minnum / maxnum 2014-10-22 18:25:02 +00:00
examples
include Modernize doxygen comments in Support/Dwarf.h 2014-10-23 04:08:38 +00:00
lib Handle sqrt() shrinking in SimplifyLibCalls like any other call 2014-10-23 21:52:45 +00:00
projects
test Handle sqrt() shrinking in SimplifyLibCalls like any other call 2014-10-23 21:52:45 +00:00
tools Change the name of the field BindTable to bindtable to not over lap the type. 2014-10-23 19:53:12 +00:00
unittests Add unittest for extreme alignments. 2014-10-23 14:45:19 +00:00
utils [lit] Fix Python-3 compatibility, patch by Dan Liew. 2014-10-22 01:26:06 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Initial version of Go bindings. 2014-10-16 22:48:02 +00:00
CMakeLists.txt Adding llvm-shlib to CMake build system with a few new bells and whistles 2014-10-23 17:22:14 +00:00
CODE_OWNERS.TXT
configure Initial version of Go bindings. 2014-10-16 22:48:02 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Initial version of Go bindings. 2014-10-16 22:48:02 +00:00
Makefile.rules
README.txt

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

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, 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're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.