1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
Go to file
Sanjay Patel 4b2cca44ae [InstSimplify] fold negation of sign-bit
0 - X --> X, if X is 0 or the minimum signed value
0 - X --> 0, if X is 0 or the minimum signed value and the sub is NSW

I noticed this pattern might be created in the backend after the change from D25485, 
so we'll want to add a similar fold for the DAG.

The use of computeKnownBits in InstSimplify may be something to investigate if the
compile time of InstSimplify is noticeable. We could replace computeKnownBits with 
specific pattern matchers or limit the recursion.

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

llvm-svn: 284649
2016-10-19 21:23:45 +00:00
bindings DebugInfo: change alignment type from uint64_t to uint32_t to save space. 2016-10-18 14:31:22 +00:00
cmake [docs] Increase minimum supported GCC version for building LLVM to 4.8 2016-10-18 17:17:37 +00:00
docs [docs] Increase minimum supported GCC version for building LLVM to 4.8 2016-10-18 17:17:37 +00:00
examples [BuildingAJIT] Make the chapter 5 server export symbols. 2016-10-19 20:22:12 +00:00
include [AliasSetTracker] Add support for memcpy and memmove. 2016-10-19 19:09:03 +00:00
lib [InstSimplify] fold negation of sign-bit 2016-10-19 21:23:45 +00:00
projects [CMake] Correct configuration order of the sub-projects based on ther dependancies 2016-10-09 20:38:29 +00:00
resources
runtimes [CMake] Fixing lit for runtimes directory 2016-09-15 06:14:13 +00:00
test [InstSimplify] fold negation of sign-bit 2016-10-19 21:23:45 +00:00
tools [llvm-cov] Don't spawn a thread unless ThreadCount > 1 2016-10-19 17:55:44 +00:00
unittests [ADT] Zip range adapter 2016-10-19 18:02:21 +00:00
utils Improve tablegen gen-subtarget diagnostics for missing machine models. 2016-10-18 04:17:44 +00:00
.arcconfig project_id is from another era in phabricator land and does not provide any value. 2016-09-27 15:47:29 +00:00
.clang-format
.clang-tidy .clang-tidy: correct style name is 'camelBack' not 'lowerCase'. 2016-09-13 19:04:26 +00:00
.gitignore gitignore: ignore VS Code editor files 2016-09-02 22:54:26 +00:00
CMakeLists.txt [cmake] Declare LLVM_CMAKE_PATH for use in subprojects 2016-10-19 12:18:34 +00:00
CODE_OWNERS.TXT Take ownership of libLTO as discussed on llvm-dev. 2016-09-15 17:42:39 +00:00
configure
CREDITS.TXT Shamelessly add myself to CREDITS.TXT 2016-08-04 16:28:22 +00:00
LICENSE.TXT Remove autoconf references from LICENSE.TXT 2016-08-12 20:11:03 +00:00
llvm.spec.in
LLVMBuild.txt
README.txt Revert rL277454 2016-08-02 13:26:07 +00:00
RELEASE_TESTERS.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.