llvm-6502/lib
Philip Reames a03cda02ab Canonicalize an assume(load != null) into !nonnull metadata
We currently have two ways of informing the optimizer that the result of a load is never null: metadata and assume. This change converts the second in to the former. This avoids a need to implement optimizations using both forms.

We should probably extend this basic idea to metadata of other forms; in particular, range metadata. We view is that assumes should be considered a "last resort" for when there isn't a more canonical way to represent something.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221737 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-11 23:33:19 +00:00
..
Analysis Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
AsmParser
Bitcode Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
CodeGen Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
DebugInfo
ExecutionEngine
IR Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
IRReader
LineEditor
Linker Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
LTO libLTO: Assert if LTOCodeGenerator and LTOModule are from different contexts 2014-11-11 23:13:10 +00:00
MC MC, COFF: Use relocations for function references inside the section 2014-11-11 08:43:57 +00:00
Object [yaml2obj] Support AArch64 relocations. 2014-11-10 23:02:03 +00:00
Option
ProfileData
Support Fix style. 2014-11-07 21:30:36 +00:00
TableGen
Target Initialize new subtarget feature variable for generating reciprocal estimate instructions. 2014-11-11 23:13:15 +00:00
Transforms Canonicalize an assume(load != null) into !nonnull metadata 2014-11-11 23:33:19 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile