llvm/test
Philip Reames e93434193f [CVP] Fold return values if possible
In my previous change to CVP (251606), I made CVP much more aggressive about trying to constant fold comparisons. This patch is a reversal in direction. Rather than being agressive about every compare, we restore the non-block local restriction for most, and then try hard for compares feeding returns.

The motivation for this is two fold:
 * The more I thought about it, the less comfortable I got with the possible compile time impact of the other approach. There have been no reported issues, but after talking to a couple of folks, I've come to the conclusion the time probably isn't justified.
 * It turns out we need to know the context to leverage the full power of LVI. In particular, asking about something at the end of it's block (the use of a compare in a return) will frequently get more precise results than something in the middle of a block. This is an implementation detail, but it's also hard to get around since mid-block queries have to reason about possible throwing instructions and don't get to use most of LVI's block focused infrastructure. This will become particular important when combined with http://reviews.llvm.org/D14263.

Differential Revision: http://reviews.llvm.org/D14271



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252032 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-04 01:43:54 +00:00
..
Analysis [LAA] LLE 3/6: Rename InterestingDependence to Dependences, NFC 2015-11-03 21:39:52 +00:00
Assembler [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
Bindings Add a way to skip the Go bindings tests even when Go is configured in 2015-09-10 05:47:43 +00:00
Bitcode Don't assert if materializing before seeing any function bodies 2015-11-03 13:48:26 +00:00
BugPoint Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
CodeGen [StatepointLowering] Remove distinction between call and invoke safepoints 2015-11-04 01:16:10 +00:00
DebugInfo Fix the test case for Windows. 2015-11-04 01:09:37 +00:00
Examples Disable llvm/test/Examples/ for now while investigating. 2015-08-28 03:32:43 +00:00
ExecutionEngine RuntimeDyld: add COFF i386 support 2015-11-01 01:26:15 +00:00
Feature [Inliner] Don't inline through callsites with operand bundles 2015-10-23 20:09:55 +00:00
FileCheck
Instrumentation [PGO] Do not emit runtime hook user function for Linux 2015-10-29 04:08:31 +00:00
Integer
JitListener DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
LibDriver
Linker Revert "Move metadata linking after lazy global materialization/linking." 2015-11-03 19:36:04 +00:00
LTO Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
MC AMDGPU: Fix asserts on invalid register ranges 2015-11-03 22:50:32 +00:00
Object Tests: be slightly more specific to avoid conflict with path. 2015-10-26 13:40:03 +00:00
Other Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
SymbolRewriter [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
TableGen [TableGen] Allow TokenTy in intrinsic signatures 2015-09-02 13:36:25 +00:00
tools Allow llvm-nm’s single letter command line flags to be grouped. 2015-11-02 23:42:05 +00:00
Transforms [CVP] Fold return values if possible 2015-11-04 01:43:54 +00:00
Unit
Verifier Add verification for align, dereferenceable, dereferenceable_or_null load metadata 2015-10-09 17:41:29 +00:00
YAMLParser
.clang-format
CMakeLists.txt [CMake] check-llvm requires llvm-pdbdump. 2015-10-15 13:22:38 +00:00
lit.cfg Suppress LLVM::tools/llvm-symbolizer/coff-dwarf.test for mingw, for now. 2015-10-10 02:57:02 +00:00
lit.site.cfg.in Add a way to skip the Go bindings tests even when Go is configured in 2015-09-10 05:47:43 +00:00
Makefile Add a way to skip the Go bindings tests even when Go is configured in 2015-09-10 05:47:43 +00:00
Makefile.tests
TestRunner.sh