Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp
Show First 20 Lines • Show All 1,133 Lines • ▼ Show 20 Lines | for (unsigned ID : Record) | ||||
Elts.push_back(getMDOrNull(ID)); | Elts.push_back(getMDOrNull(ID)); | ||||
MetadataList.assignValue(IsDistinct ? MDNode::getDistinct(Context, Elts) | MetadataList.assignValue(IsDistinct ? MDNode::getDistinct(Context, Elts) | ||||
: MDNode::get(Context, Elts), | : MDNode::get(Context, Elts), | ||||
NextMetadataNo); | NextMetadataNo); | ||||
NextMetadataNo++; | NextMetadataNo++; | ||||
break; | break; | ||||
} | } | ||||
case bitc::METADATA_LOCATION: { | case bitc::METADATA_LOCATION: { | ||||
if (Record.size() != 5) | if (Record.size() != 6) | ||||
return error("Invalid record"); | return error("Invalid record"); | ||||
IsDistinct = Record[0]; | IsDistinct = Record[0]; | ||||
unsigned Line = Record[1]; | unsigned Line = Record[1]; | ||||
unsigned Column = Record[2]; | unsigned Column = Record[2]; | ||||
Metadata *Scope = getMD(Record[3]); | Metadata *Scope = getMD(Record[3]); | ||||
Metadata *InlinedAt = getMDOrNull(Record[4]); | Metadata *InlinedAt = getMDOrNull(Record[4]); | ||||
bool ImplicitCode = Record[5]; | |||||
MetadataList.assignValue( | MetadataList.assignValue( | ||||
GET_OR_DISTINCT(DILocation, (Context, Line, Column, Scope, InlinedAt)), | GET_OR_DISTINCT(DILocation, (Context, Line, Column, Scope, InlinedAt, | ||||
ImplicitCode)), | |||||
NextMetadataNo); | NextMetadataNo); | ||||
NextMetadataNo++; | NextMetadataNo++; | ||||
break; | break; | ||||
} | } | ||||
case bitc::METADATA_GENERIC_DEBUG: { | case bitc::METADATA_GENERIC_DEBUG: { | ||||
if (Record.size() < 4) | if (Record.size() < 4) | ||||
return error("Invalid record"); | return error("Invalid record"); | ||||
▲ Show 20 Lines • Show All 859 Lines • Show Last 20 Lines |