mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-12 13:38:21 +00:00
Attributes Rewrite
Convert the internal representation of the Attributes class into a pointer to an opaque object that's uniqued by and stored in the LLVMContext object. The Attributes class then becomes a thin wrapper around this opaque object. Eventually, the internal representation will be expanded to include attributes that represent code generation options, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165917 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -476,14 +476,15 @@ bool BitcodeReader::ParseAttributeBlock() {
|
||||
|
||||
for (unsigned i = 0, e = Record.size(); i != e; i += 2) {
|
||||
Attributes ReconstitutedAttr =
|
||||
Attributes::decodeLLVMAttributesForBitcode(Record[i+1]);
|
||||
Attributes::decodeLLVMAttributesForBitcode(Context, Record[i+1]);
|
||||
Record[i+1] = ReconstitutedAttr.Raw();
|
||||
}
|
||||
|
||||
for (unsigned i = 0, e = Record.size(); i != e; i += 2) {
|
||||
if (Attributes(Record[i+1]).hasAttributes())
|
||||
Attributes::Builder B(Record[i+1]);
|
||||
if (B.hasAttributes())
|
||||
Attrs.push_back(AttributeWithIndex::get(Record[i],
|
||||
Attributes(Record[i+1])));
|
||||
Attributes::get(Context, B)));
|
||||
}
|
||||
|
||||
MAttributes.push_back(AttrListPtr::get(Attrs));
|
||||
|
Reference in New Issue
Block a user