OSDN Git Service

[IR] Introduce a non-integral pointer type
authorSanjoy Das <sanjoy@playingwithpointers.com>
Thu, 28 Jul 2016 23:43:38 +0000 (23:43 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Thu, 28 Jul 2016 23:43:38 +0000 (23:43 +0000)
commit1c20b71db84da88acac366d738f5afbec70e71db
tree371c13b8c5708fb3ed77df31091658aa6ff3d7a2
parentb17a45cae01a7fddb0cd509e1074fe7a9d2c81b1
[IR] Introduce a non-integral pointer type

Summary:
This change adds a `ni` specifier in the `datalayout` string to denote
pointers in some given address spaces as "non-integral", and adds some
typing rules around these special pointers.

Reviewers: majnemer, chandlerc, atrick, dberlin, eli.friedman, tstellarAMD, arsenm

Subscribers: arsenm, mcrosier, llvm-commits

Differential Revision: https://reviews.llvm.org/D22488

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277085 91177308-0d34-0410-b5e6-96231b3b80d8
docs/LangRef.rst
include/llvm/IR/DataLayout.h
lib/IR/DataLayout.cpp
lib/IR/Verifier.cpp
test/Verifier/non-integral-pointers.ll [new file with mode: 0644]