llvm-project/llvm/lib
Philip Reames 4cb4d3e048 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

llvm-svn: 220925
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
LTO Add an option to the LTO code generator to disable vectorization during LTO 2014-10-26 21:50:58 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker Remove the PreserveSource linker mode. 2014-10-28 00:24:16 +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 ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00