llvm-project/llvm
Hiroshi Inoue 5388e66d3a [PowerPC] Use helper functions to check sign-/zero-extended value
Helper functions to identify sign- and zero-extending machine instruction is introduced in rL315888.
This patch makes PPCInstrInfo::optimizeCompareInstr use the helper functions. It simplifies the code and also makes possible more optimizations since the helper can do more analysis than the original check code; I observed about 5000 more compare instructions are eliminated while building LLVM.

Also, this patch fixes a bug in helpers on ANDIo instruction handling due to the order of checks. This bug causes a failure in an existing test case for optimizeCompareInstr.

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

llvm-svn: 316071
2017-10-18 10:31:19 +00:00
..
bindings Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
cmake Fix the incorrect detection of ICONV_LIBRARY_PATH 2017-10-18 06:26:39 +00:00
docs Add !callees metadata 2017-10-16 22:22:11 +00:00
examples Fix broken links to the Itanium CXX ABI 2017-09-12 00:19:11 +00:00
include [ScalarEvolution] Handling for ICmp occuring in the evolution chain. 2017-10-18 01:36:16 +00:00
lib [PowerPC] Use helper functions to check sign-/zero-extended value 2017-10-18 10:31:19 +00:00
projects
resources
runtimes [CMake][runtimes] Use the same configuration for non-target and "default" target 2017-09-08 22:26:50 +00:00
test [PowerPC] Use helper functions to check sign-/zero-extended value 2017-10-18 10:31:19 +00:00
tools Statically link llvm-cfi-verify's libraries. 2017-10-18 04:27:53 +00:00
unittests Statically link llvm-cfi-verify's libraries. 2017-10-18 04:27:53 +00:00
utils update_mir_test_checks: Support '-' in function names 2017-10-18 05:52:56 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt cmake: BSD: Mark /usr/local/include as system include directory 2017-10-16 23:03:21 +00:00
CODE_OWNERS.TXT
CREDITS.TXT Add myself to CREDITS.txt 2017-09-18 14:33:39 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
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.