diff options
author | Bill Wendling <isanbard@gmail.com> | 2012-12-19 23:55:43 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2012-12-19 23:55:43 +0000 |
commit | 5f93e2bee5cee8c9ba2d12f5de9cb14d5b45be02 (patch) | |
tree | b7c033271e8b8a4370486e09825f8dcc041226e4 | |
parent | fbf3b4a07690751f72302757058ab0298dfb832e (diff) |
Add a context so that once we uniquify strings we can access them easily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170615 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/VMCore/Attributes.cpp | 2 | ||||
-rw-r--r-- | lib/VMCore/AttributesImpl.h | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/VMCore/Attributes.cpp b/lib/VMCore/Attributes.cpp index 4b975238b2..9e24add8c8 100644 --- a/lib/VMCore/Attributes.cpp +++ b/lib/VMCore/Attributes.cpp @@ -382,7 +382,7 @@ AttributeSet AttributeSet::get(LLVMContext &C, // If we didn't find any existing attributes of the same shape then // create a new one and insert it. if (!PA) { - PA = new AttributeSetImpl(Attrs); + PA = new AttributeSetImpl(C, Attrs); pImpl->AttrsLists.InsertNode(PA, InsertPoint); } diff --git a/lib/VMCore/AttributesImpl.h b/lib/VMCore/AttributesImpl.h index 0b3b4971f3..396634ed0f 100644 --- a/lib/VMCore/AttributesImpl.h +++ b/lib/VMCore/AttributesImpl.h @@ -20,6 +20,8 @@ namespace llvm { +class LLVMContext; + class AttributesImpl : public FoldingSetNode { uint64_t Bits; // FIXME: We will be expanding this. public: @@ -50,10 +52,11 @@ class AttributeSetImpl : public FoldingSetNode { void operator=(const AttributeSetImpl &) LLVM_DELETED_FUNCTION; AttributeSetImpl(const AttributeSetImpl &) LLVM_DELETED_FUNCTION; public: + LLVMContext &Context; SmallVector<AttributeWithIndex, 4> Attrs; - AttributeSetImpl(ArrayRef<AttributeWithIndex> attrs) - : Attrs(attrs.begin(), attrs.end()) {} + AttributeSetImpl(LLVMContext &C, ArrayRef<AttributeWithIndex> attrs) + : Context(C), Attrs(attrs.begin(), attrs.end()) {} void Profile(FoldingSetNodeID &ID) const { Profile(ID, Attrs); |