llvm-6502/test
Sanjoy Das 5ff5907996 [IR] Introduce a dereferenceable_or_null(N) attribute.
Summary:
If a pointer is marked as dereferenceable_or_null(N), LLVM assumes it
is either `null` or `dereferenceable(N)` or both.  This change only
introduces the attribute and adds a token test case for the `llvm-as`
/ `llvm-dis`.  It does not hook up other parts of the optimizer to
actually exploit the attribute -- those changes will come later.

For pointers in address space 0, `dereferenceable(N)` is now exactly
equivalent to `dereferenceable_or_null(N)` && `nonnull`.  For other
address spaces, `dereferenceable(N)` is potentially weaker than
`dereferenceable_or_null(N)` && `nonnull` (since we could have a null
`dereferenceable(N)` pointer).

The motivating case for this change is Java (and other managed
languages), where pointers are either `null` or dereferenceable up to
some usually known-at-compile-time constant offset.

Reviewers: rafael, hfinkel

Reviewed By: hfinkel

Subscribers: nicholas, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235132 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-16 20:29:50 +00:00
..
Analysis Re-apply r234898 and fix tests. 2015-04-15 06:24:07 +00:00
Assembler DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
Bindings
Bitcode [IR] Introduce a dereferenceable_or_null(N) attribute. 2015-04-16 20:29:50 +00:00
BugPoint bugpoint: Verify input files 2015-03-26 05:03:10 +00:00
CodeGen [WinEH] Handle a landingpad, resume, and cleanup all rolled into a BB 2015-04-16 17:02:23 +00:00
DebugInfo Revert the switch lowering change (r235101, r235103, r235106) 2015-04-16 15:43:26 +00:00
ExecutionEngine [RuntimeDyld] Make sure we emit MachO __eh_frame and __gcc_except_tab sections, 2015-04-15 03:39:22 +00:00
Feature Rewrite test/Feature/md_on_instruction.ll 2015-03-20 18:34:53 +00:00
FileCheck
Instrumentation [ASan] Don't use stack malloc for 32-bit functions using inline asm 2015-04-02 21:44:55 +00:00
Integer
JitListener
Linker tools: Unify how verifyModule() is called 2015-03-31 03:07:23 +00:00
LTO
MC Revert the switch lowering change (r235101, r235103, r235106) 2015-04-16 15:43:26 +00:00
Object
Other
SymbolRewriter
TableGen [TableGen] Prevent invalid code generation when emitting AssemblerPredicate conditions. 2015-04-07 12:10:11 +00:00
tools For llvm-objdump added support for printing Objc1 32-bit runtime meta data 2015-04-16 17:19:59 +00:00
Transforms [NaryReassociate] speeds up candidate searching 2015-04-16 18:42:31 +00:00
Unit
Verifier Verifier: Check that @llvm.dbg.* intrinsics have a !dbg attachment 2015-04-15 22:15:46 +00:00
YAMLParser
.clang-format
CMakeLists.txt test: Fix the dependencies for the check-llvm-* targets 2015-03-25 08:07:47 +00:00
lit.cfg Tell lit.cfg about more Windows triples. 2015-03-20 22:08:40 +00:00
lit.site.cfg.in test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
Makefile test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
Makefile.tests
TestRunner.sh