Mirror of official llvm git repository located at http://llvm.org/git/llvm. Updated every five minutes.
Go to file
Craig Topper ebc007dabb [InstCombine] Add range metadata to cttz/ctlz/ctpop intrinsic calls based on known bits
Summary:
I noticed that passing known bits across these intrinsics isn't great at capturing the information we really know. Turning known bits of the input into known bits of a count output isn't able to convey a lot of what we really know.

This patch adds range metadata to these intrinsics based on the known bits.

Currently the patch punts if we already have range metadata present.

Reviewers: spatel, RKSimon, davide, majnemer

Reviewed By: RKSimon

Subscribers: sanjoy, hfinkel, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305927 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-21 16:32:35 +00:00
bindings [Go] Subtypes function 2017-06-08 07:32:29 +00:00
cmake [cmake] Add support for using the standalone leaks sanitizer with LLVM. 2017-06-20 20:28:07 +00:00
docs [Doc] Fix getelementptr description about arguments 2017-06-19 05:34:21 +00:00
examples Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
include [DAG] Move BaseIndexOffset into separate Libarary. NFC. 2017-06-21 15:40:43 +00:00
lib [InstCombine] Add range metadata to cttz/ctlz/ctpop intrinsic calls based on known bits 2017-06-21 16:32:35 +00:00
projects Add temporary workaround to allow in-tree libc++ builds on Windows 2017-05-11 01:44:30 +00:00
resources
runtimes [CMake][runtimes] Add install target for runtimes builtins 2017-06-02 19:38:11 +00:00
test [InstCombine] Add range metadata to cttz/ctlz/ctpop intrinsic calls based on known bits 2017-06-21 16:32:35 +00:00
tools ClangFormat some changes from r305226 2017-06-21 15:20:46 +00:00
unittests [Support] Add RetryAfterSignal helper function 2017-06-21 10:55:34 +00:00
utils [TableGen] Take a parameter by reference instead of pointer so we don't have to add & on both callers. NFC 2017-06-20 16:34:37 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake] Introduce LLVM_TARGET_TRIPLE_ENV as an option to override LLVM_DEFAULT_TARGET_TRIPLE at runtime. 2017-06-17 03:19:08 +00:00
CODE_OWNERS.TXT
configure
CREDITS.TXT update of the url 2017-05-14 07:55:01 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt
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.