[IR] Allow attributes with global variables
authorJaved Absar <javed.absar@arm.com>
Thu, 11 May 2017 12:28:08 +0000 (12:28 +0000)
committerJaved Absar <javed.absar@arm.com>
Thu, 11 May 2017 12:28:08 +0000 (12:28 +0000)
commitf3d7904d20120fb6e4b33cd391b916ca6701e03e
tree45229dfdd32c355e31e095a197b3bb53d84f2d85
parenta44fc83d9fa3bcbe45b1ebb2f0aca2a86dba181d
[IR] Allow attributes with global variables

This patch extends llvm-ir to allow attributes to be set on global variables.
An RFC was sent out earlier by my colleague James Molloy: http://lists.llvm.org/pipermail/cfe-dev/2017-March/053100.html
A key part of that proposal was to extend LLVM-IR to carry attributes on global variables.
This generic feature could be useful for multiple purposes.
In our present context, it would be useful to carry user specified sections for bss/rodata/data.

Reviewed by: Jonathan Roelofs, Reid Kleckner
Differential Revision: https://reviews.llvm.org/D32009

llvm-svn: 302794
12 files changed:
llvm/docs/LangRef.rst
llvm/include/llvm/IR/Attributes.h
llvm/include/llvm/IR/GlobalVariable.h
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/Bitcode/Reader/BitcodeReader.cpp
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
llvm/lib/IR/AsmWriter.cpp
llvm/lib/IR/Attributes.cpp
llvm/lib/IR/Globals.cpp
llvm/test/Assembler/globalvariable-attributes.ll [new file with mode: 0644]
llvm/test/Bitcode/globalvariable-attributes.ll [new file with mode: 0644]