llvm/lib
Philip Reames aad4ea476e Add handling for range metadata in ValueTracking isKnownNonZero
If we load from a location with range metadata, we can use information about the ranges of the loaded value for optimization purposes.  This helps to remove redundant checks and canonicalize checks for other optimization passes.  This particular patch checks whether a value is known to be non-zero from the range metadata.

Currently, these tests are against InstCombine.  In theory, all of these should be InstSimplify since we're not inserting any new instructions.  Moving the code may follow in a separate change.

Reviewed by: Hal
Differential Revision: http://reviews.llvm.org/D5947



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220925 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-30 20:25:19 +00:00
..
Analysis Add handling for range metadata in ValueTracking isKnownNonZero 2014-10-30 20:25:19 +00:00
AsmParser X86: Implement the vectorcall calling convention 2014-10-28 01:29:26 +00:00
Bitcode Untabify. 2014-10-29 23:44:35 +00:00
CodeGen PR21408: Workaround the appearance of duplicate variables due to problems when inlining two calls to the same function from the same call site. 2014-10-30 20:20:11 +00:00
DebugInfo [dwarfdump] Dump DW_AT_ranges values inline in the debug_info dump. 2014-10-23 04:08:34 +00:00
ExecutionEngine Fix build with CMake if LLVM_USE_INTEL_JITEVENTS option is enabled 2014-10-29 09:18:49 +00:00
IR [C API] PR19859: Add functions to query and modify branches. 2014-10-28 19:46:56 +00:00
IRReader Pass a && to getLazyBitcodeModule. 2014-09-03 17:31:46 +00:00
LineEditor
Linker Remove the PreserveSource linker mode. 2014-10-28 00:24:16 +00:00
LTO Add an option to the LTO code generator to disable vectorization during LTO 2014-10-26 21:50:58 +00:00
MC Attempt to fix the build after r220439 2014-10-22 22:46:05 +00:00
Object Fix unicode chars into ascii in comment lines. 2014-10-27 08:08:18 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData Add profile writing capabilities for sampling profiles. 2014-10-30 18:00:06 +00:00
Support Fix bug where sys::Wait could wait on wrong pid. 2014-10-27 20:30:04 +00:00
TableGen Eliminate some deep std::vector copies. NFC. 2014-10-03 18:33:16 +00:00
Target [AVX512] Added VBROADCAST{SS/SD} encoding for VL subset. 2014-10-30 14:21:47 +00:00
Transforms Fix Twine corruption problem with diagnostics. 2014-10-30 18:48:41 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile