diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2016-05-31 23:01:54 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2016-05-31 23:01:54 +0000 |
commit | cceae7feda8e33194d1a6c5963bd4114bb8d2b36 (patch) | |
tree | d7f155b4ea8004651b1aadf412465b0d3950f9e6 /llvm/lib/IR/Function.cpp | |
parent | 81fbadb63f4d28f62950e2e2c4967f1429b3ca55 (diff) | |
download | llvm-cceae7feda8e33194d1a6c5963bd4114bb8d2b36.zip llvm-cceae7feda8e33194d1a6c5963bd4114bb8d2b36.tar.gz llvm-cceae7feda8e33194d1a6c5963bd4114bb8d2b36.tar.bz2 |
Add support for metadata attachments for global variables.
This patch adds an IR, assembly and bitcode representation for metadata
attachments for globals. Future patches will port existing features to use
these new attachments.
Differential Revision: http://reviews.llvm.org/D20074
llvm-svn: 271348
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
-rw-r--r-- | llvm/lib/IR/Function.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp index c874196..8159225 100644 --- a/llvm/lib/IR/Function.cpp +++ b/llvm/lib/IR/Function.cpp @@ -218,11 +218,13 @@ bool Argument::hasAttribute(Attribute::AttrKind Kind) const { //===----------------------------------------------------------------------===// bool Function::isMaterializable() const { - return getGlobalObjectSubClassData() & IsMaterializableBit; + return getGlobalObjectSubClassData() & (1 << IsMaterializableBit); } void Function::setIsMaterializable(bool V) { - setGlobalObjectBit(IsMaterializableBit, V); + unsigned Mask = 1 << IsMaterializableBit; + setGlobalObjectSubClassData((~Mask & getGlobalObjectSubClassData()) | + (V ? Mask : 0u)); } LLVMContext &Function::getContext() const { |