From 5f93e2bee5cee8c9ba2d12f5de9cb14d5b45be02 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Wed, 19 Dec 2012 23:55:43 +0000 Subject: 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 --- lib/VMCore/Attributes.cpp | 2 +- lib/VMCore/AttributesImpl.h | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'lib/VMCore') 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 Attrs; - AttributeSetImpl(ArrayRef attrs) - : Attrs(attrs.begin(), attrs.end()) {} + AttributeSetImpl(LLVMContext &C, ArrayRef attrs) + : Context(C), Attrs(attrs.begin(), attrs.end()) {} void Profile(FoldingSetNodeID &ID) const { Profile(ID, Attrs); -- cgit v1.2.3