llvm-project/llvm
Philip Reames f105db4fc3 [LVI] Cut short search if we know we can't return a useful result
Previously we were recursing on our operands for unary and binary operators regardless of whether we knew how to reason about the operator in question.  This has the effect of doing a potentially large amount of work, only to throw it away.  By checking whether the operation is one LVI can handle, we can cut short the search and return the (overdefined) answer more quickly.  The quality of the results produced should not change.

llvm-svn: 267626
2016-04-26 23:27:33 +00:00
..
bindings Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
cmake When building with LLVM_ENABLE_MODULES, put the module cache into the build 2016-04-17 20:58:01 +00:00
docs [ppc64] Reenable sibling call optimization on ppc64 since fixed tsan library tail-call issue 2016-04-26 07:38:24 +00:00
examples Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
include [MachineInstrBundle] Improvement the recognition of dead definitions. 2016-04-26 23:14:24 +00:00
lib [LVI] Cut short search if we know we can't return a useful result 2016-04-26 23:27:33 +00:00
projects
resources
test [SimplifyCFG] propagate branch metadata when creating select 2016-04-26 23:15:48 +00:00
tools Parse and dump PDB DBI Stream Header Information 2016-04-26 18:42:34 +00:00
unittests Use gcc's rules for parsing gcc-style response files 2016-04-26 13:53:56 +00:00
utils Add natvis visualizers for endian types. 2016-04-21 20:58:41 +00:00
.arcconfig
.clang-format
.clang-tidy Don't use misc-unused-parameters check on LLVM. 2016-04-13 08:58:52 +00:00
.gitignore
CMakeLists.txt Moving llvm-test-depends and test-depends into the Tests folder; NFC, this simply cleans up the generated solution so that these targets don't live in the root folder of the IDE. 2016-04-12 15:09:14 +00:00
CODE_OWNERS.TXT Update owners to reflect recent changes 2016-04-01 20:40:49 +00:00
CREDITS.TXT
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:41:06 +00:00
LLVMBuild.txt
README.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.