Implement address space attribute for LLVM pointer types. Address spaces are
authorChristopher Lamb <christopher.lamb@gmail.com>
Tue, 11 Dec 2007 08:59:05 +0000 (08:59 +0000)
committerChristopher Lamb <christopher.lamb@gmail.com>
Tue, 11 Dec 2007 08:59:05 +0000 (08:59 +0000)
commitfe63fb986dc9510c5d68f2442edab9574e9e50d0
tree6a39f01b605f8fe68fa2e0c69f4e4c903c558967
parent7431c2ba79cbf7019aafac2ebafa259621726be2
Implement address space attribute for LLVM pointer types. Address spaces are
regions of memory that have a target specific relationship, as described in the
Embedded C Technical Report.

This also implements the 2007-12-11-AddressSpaces test,
which demonstrates how address space attributes can be used in LLVM IR.

In addition, this patch changes the bitcode signature for stores (in a backwards
compatible manner), such that the pointer type, rather than the pointee type, is
encoded. This permits type information in the pointer (e.g. address space) to be
preserved for stores.

LangRef updates are forthcoming.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44858 91177308-0d34-0410-b5e6-96231b3b80d8
15 files changed:
include/llvm/Bitcode/LLVMBitCodes.h
include/llvm/DerivedTypes.h
include/llvm/GlobalVariable.h
include/llvm/Instructions.h
lib/AsmParser/LLLexer.cpp
lib/AsmParser/llvmAsmParser.y
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/VMCore/AsmWriter.cpp
lib/VMCore/Constants.cpp
lib/VMCore/Globals.cpp
lib/VMCore/Instructions.cpp
lib/VMCore/Type.cpp
test/Assembler/2007-12-11-AddressSpaces.ll [new file with mode: 0644]
tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp