Use an AttrBuilder to generate the correct AttributeSet.

We no longer accept an encoded integer as representing all of the
attributes. Convert this via the AttrBuilder class into an AttributeSet with the
correct representation (an AttributeSetImpl that holds a list of Attribute
objects).

llvm-svn: 173750
This commit is contained in:
Bill Wendling
2013-01-29 01:43:29 +00:00
parent 4754ae5130
commit dcd0d9c27f
3 changed files with 24 additions and 24 deletions

View File

@@ -464,15 +464,10 @@ bool BitcodeReader::ParseAttributeBlock() {
return Error("Invalid ENTRY record");
for (unsigned i = 0, e = Record.size(); i != e; i += 2) {
Attribute ReconstitutedAttr =
AttributeFuncs::decodeLLVMAttributesForBitcode(Context, Record[i+1]);
Record[i+1] = ReconstitutedAttr.Raw();
}
for (unsigned i = 0, e = Record.size(); i != e; i += 2) {
AttrBuilder B(Record[i+1]);
if (B.hasAttributes())
Attrs.push_back(AttributeSet::get(Context, Record[i], B));
AttrBuilder B;
AttributeFuncs::decodeLLVMAttributesForBitcode(Context, B,
Record[i+1]);
Attrs.push_back(AttributeSet::get(Context, Record[i], B));
}
MAttributes.push_back(AttributeSet::get(Context, Attrs));