mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-22 13:29:44 +00:00
IR: Stop relying on GetStringMapEntryFromValue()
It relies on undefined behaviour. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223438 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
74fb019dd0
commit
397b575f81
@ -63,8 +63,9 @@ class MDString : public Metadata {
|
||||
virtual void anchor();
|
||||
MDString(const MDString &) LLVM_DELETED_FUNCTION;
|
||||
|
||||
StringMapEntry<MDString> *Entry;
|
||||
explicit MDString(LLVMContext &Context)
|
||||
: Metadata(Context, Value::MDStringVal) {}
|
||||
: Metadata(Context, Value::MDStringVal), Entry(nullptr) {}
|
||||
|
||||
/// \brief Shadow Value::getName() to prevent its use.
|
||||
StringRef getName() const LLVM_DELETED_FUNCTION;
|
||||
|
@ -48,11 +48,13 @@ MDString *MDString::get(LLVMContext &Context, StringRef Str) {
|
||||
bool WasInserted = Store.insert(Entry);
|
||||
(void)WasInserted;
|
||||
assert(WasInserted && "Expected entry to be inserted");
|
||||
Entry->second.Entry = Entry;
|
||||
return &Entry->second;
|
||||
}
|
||||
|
||||
StringRef MDString::getString() const {
|
||||
return StringMapEntry<MDString>::GetStringMapEntryFromValue(*this).first();
|
||||
assert(Entry && "Expected to find string map entry");
|
||||
return Entry->first();
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
Loading…
x
Reference in New Issue
Block a user