1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
Go to file
Sanjay Patel 7a0d37b0c0 [ValueTracking] determine sign of 0.0 from select when matching min/max FP
In PR39475:
https://bugs.llvm.org/show_bug.cgi?id=39475
..we may fail to recognize/simplify fabs() in some cases because we do not 
canonicalize fcmp with a -0.0 operand.

Adding that canonicalization can cause regressions on min/max FP tests, so 
that's this patch: for the purpose of determining whether something is min/max, 
let the value returned by the select determine how we treat a 0.0 operand in the fcmp.

This patch doesn't actually change the -0.0 to +0.0. It just changes the analysis, so 
we don't fail to recognize equivalent min/max patterns that only differ in the 
signbit of 0.0.

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

llvm-svn: 346097
2018-11-04 14:28:48 +00:00
benchmarks Pull google/benchmark library to the LLVM tree 2018-08-28 09:42:41 +00:00
bindings [TI removal] Remove TerminatorInst references from bindings. 2018-10-18 07:40:03 +00:00
cmake Enable -Wimplicit-fallthrough for clang as well as GCC 2018-11-01 20:31:44 +00:00
docs [NFC] Remove some extra characters from docs/LangRef.rst 2018-11-02 15:51:43 +00:00
examples [BuildingAJIT] Update the Ch1 KaleidoscopeJIT class to expose errors to clients. 2018-10-18 00:51:38 +00:00
include [SelectionDAG] Remove special methods for creating *_EXTEND_VECTOR_INREG nodes. Move asserts into getNode. 2018-11-04 02:10:18 +00:00
lib [ValueTracking] determine sign of 0.0 from select when matching min/max FP 2018-11-04 14:28:48 +00:00
projects
resources
runtimes Revert "[CMake] Pass Clang defaults to runtimes builds" 2018-07-13 20:01:55 +00:00
test [ValueTracking] determine sign of 0.0 from select when matching min/max FP 2018-11-04 14:28:48 +00:00
tools [AArch64] [Windows] Misc fixes for llvm-readobj -unwind. 2018-11-02 19:59:08 +00:00
unittests [ValueTracking] determine sign of 0.0 from select when matching min/max FP 2018-11-04 14:28:48 +00:00
utils Refactor the lit configuration files 2018-11-02 17:49:01 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
.gitignore [git/svn] Ignore Visual Studio's CMakeSettings.json. 2018-10-29 14:51:02 +00:00
CMakeLists.txt [CMake] Fix a missing LLVM_ENABLE_IDE from r344555 2018-10-15 22:36:59 +00:00
CODE_OWNERS.TXT Add owner for llvm-objcopy 2018-08-09 22:05:19 +00:00
configure
CREDITS.TXT [NFC] Add periods to CREDITS.txt (testing git-llvm) 2018-10-26 06:57:02 +00:00
LICENSE.TXT Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm.spec.in
LLVMBuild.txt
README.txt Test commit. 2018-09-22 01:01:03 +00:00
RELEASE_TESTERS.TXT Remove myself from the release testers list. (NFC) 2018-06-20 21:25:50 +00:00

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.