mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
IR: Rename LLVMContextImpl::MetadataStore to InstructionMetadata
Rename `MetadataStore` to the more explicit `InstructionMetadata`. This will make room for `FunctionMetadata` (start of PR23340). llvm-svn: 235763
This commit is contained in:
parent
2fcc0180e4
commit
4122fc2fd6
@ -954,10 +954,9 @@ public:
|
||||
typedef std::pair<unsigned, TrackingMDNodeRef> MDPairTy;
|
||||
typedef SmallVector<MDPairTy, 2> MDMapTy;
|
||||
|
||||
/// MetadataStore - Collection of per-instruction metadata used in this
|
||||
/// context.
|
||||
DenseMap<const Instruction *, MDMapTy> MetadataStore;
|
||||
|
||||
/// Collection of per-instruction metadata used in this context.
|
||||
DenseMap<const Instruction *, MDMapTy> InstructionMetadata;
|
||||
|
||||
/// DiscriminatorTable - This table maps file:line locations to an
|
||||
/// integer representing the next DWARF path discriminator to assign to
|
||||
/// instructions in different blocks at the same location.
|
||||
|
@ -997,17 +997,17 @@ void Instruction::dropUnknownMetadata(ArrayRef<unsigned> KnownIDs) {
|
||||
if (!hasMetadataHashEntry())
|
||||
return; // Nothing to remove!
|
||||
|
||||
DenseMap<const Instruction *, LLVMContextImpl::MDMapTy> &MetadataStore =
|
||||
getContext().pImpl->MetadataStore;
|
||||
DenseMap<const Instruction *, LLVMContextImpl::MDMapTy> &InstructionMetadata =
|
||||
getContext().pImpl->InstructionMetadata;
|
||||
|
||||
if (KnownSet.empty()) {
|
||||
// Just drop our entry at the store.
|
||||
MetadataStore.erase(this);
|
||||
InstructionMetadata.erase(this);
|
||||
setHasMetadataHashEntry(false);
|
||||
return;
|
||||
}
|
||||
|
||||
LLVMContextImpl::MDMapTy &Info = MetadataStore[this];
|
||||
LLVMContextImpl::MDMapTy &Info = InstructionMetadata[this];
|
||||
unsigned I;
|
||||
unsigned E;
|
||||
// Walk the array and drop any metadata we don't know.
|
||||
@ -1025,7 +1025,7 @@ void Instruction::dropUnknownMetadata(ArrayRef<unsigned> KnownIDs) {
|
||||
|
||||
if (E == 0) {
|
||||
// Drop our entry at the store.
|
||||
MetadataStore.erase(this);
|
||||
InstructionMetadata.erase(this);
|
||||
setHasMetadataHashEntry(false);
|
||||
}
|
||||
}
|
||||
@ -1045,7 +1045,8 @@ void Instruction::setMetadata(unsigned KindID, MDNode *Node) {
|
||||
|
||||
// Handle the case when we're adding/updating metadata on an instruction.
|
||||
if (Node) {
|
||||
LLVMContextImpl::MDMapTy &Info = getContext().pImpl->MetadataStore[this];
|
||||
LLVMContextImpl::MDMapTy &Info =
|
||||
getContext().pImpl->InstructionMetadata[this];
|
||||
assert(!Info.empty() == hasMetadataHashEntry() &&
|
||||
"HasMetadata bit is wonked");
|
||||
if (Info.empty()) {
|
||||
@ -1067,15 +1068,16 @@ void Instruction::setMetadata(unsigned KindID, MDNode *Node) {
|
||||
|
||||
// Otherwise, we're removing metadata from an instruction.
|
||||
assert((hasMetadataHashEntry() ==
|
||||
(getContext().pImpl->MetadataStore.count(this) > 0)) &&
|
||||
(getContext().pImpl->InstructionMetadata.count(this) > 0)) &&
|
||||
"HasMetadata bit out of date!");
|
||||
if (!hasMetadataHashEntry())
|
||||
return; // Nothing to remove!
|
||||
LLVMContextImpl::MDMapTy &Info = getContext().pImpl->MetadataStore[this];
|
||||
LLVMContextImpl::MDMapTy &Info =
|
||||
getContext().pImpl->InstructionMetadata[this];
|
||||
|
||||
// Common case is removing the only entry.
|
||||
if (Info.size() == 1 && Info[0].first == KindID) {
|
||||
getContext().pImpl->MetadataStore.erase(this);
|
||||
getContext().pImpl->InstructionMetadata.erase(this);
|
||||
setHasMetadataHashEntry(false);
|
||||
return;
|
||||
}
|
||||
@ -1103,8 +1105,9 @@ MDNode *Instruction::getMetadataImpl(unsigned KindID) const {
|
||||
return DbgLoc.getAsMDNode();
|
||||
|
||||
if (!hasMetadataHashEntry()) return nullptr;
|
||||
|
||||
LLVMContextImpl::MDMapTy &Info = getContext().pImpl->MetadataStore[this];
|
||||
|
||||
LLVMContextImpl::MDMapTy &Info =
|
||||
getContext().pImpl->InstructionMetadata[this];
|
||||
assert(!Info.empty() && "bit out of sync with hash table");
|
||||
|
||||
for (const auto &I : Info)
|
||||
@ -1123,12 +1126,12 @@ void Instruction::getAllMetadataImpl(
|
||||
std::make_pair((unsigned)LLVMContext::MD_dbg, DbgLoc.getAsMDNode()));
|
||||
if (!hasMetadataHashEntry()) return;
|
||||
}
|
||||
|
||||
|
||||
assert(hasMetadataHashEntry() &&
|
||||
getContext().pImpl->MetadataStore.count(this) &&
|
||||
getContext().pImpl->InstructionMetadata.count(this) &&
|
||||
"Shouldn't have called this");
|
||||
const LLVMContextImpl::MDMapTy &Info =
|
||||
getContext().pImpl->MetadataStore.find(this)->second;
|
||||
getContext().pImpl->InstructionMetadata.find(this)->second;
|
||||
assert(!Info.empty() && "Shouldn't have called this");
|
||||
|
||||
Result.reserve(Result.size() + Info.size());
|
||||
@ -1144,10 +1147,10 @@ void Instruction::getAllMetadataOtherThanDebugLocImpl(
|
||||
SmallVectorImpl<std::pair<unsigned, MDNode *>> &Result) const {
|
||||
Result.clear();
|
||||
assert(hasMetadataHashEntry() &&
|
||||
getContext().pImpl->MetadataStore.count(this) &&
|
||||
getContext().pImpl->InstructionMetadata.count(this) &&
|
||||
"Shouldn't have called this");
|
||||
const LLVMContextImpl::MDMapTy &Info =
|
||||
getContext().pImpl->MetadataStore.find(this)->second;
|
||||
getContext().pImpl->InstructionMetadata.find(this)->second;
|
||||
assert(!Info.empty() && "Shouldn't have called this");
|
||||
Result.reserve(Result.size() + Info.size());
|
||||
for (auto &I : Info)
|
||||
@ -1162,6 +1165,6 @@ void Instruction::getAllMetadataOtherThanDebugLocImpl(
|
||||
/// this instruction.
|
||||
void Instruction::clearMetadataHashEntries() {
|
||||
assert(hasMetadataHashEntry() && "Caller should check");
|
||||
getContext().pImpl->MetadataStore.erase(this);
|
||||
getContext().pImpl->InstructionMetadata.erase(this);
|
||||
setHasMetadataHashEntry(false);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user