diff options
Diffstat (limited to 'llvm/lib/IR/LLVMContextImpl.h')
| -rw-r--r-- | llvm/lib/IR/LLVMContextImpl.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/llvm/lib/IR/LLVMContextImpl.h b/llvm/lib/IR/LLVMContextImpl.h index c4cd7850f79..313b7e16bec 100644 --- a/llvm/lib/IR/LLVMContextImpl.h +++ b/llvm/lib/IR/LLVMContextImpl.h @@ -574,26 +574,25 @@ template <> struct MDNodeKeyImpl<DISubroutineType> { template <> struct MDNodeKeyImpl<DIFile> { MDString *Filename; MDString *Directory; - DIFile::ChecksumKind CSKind; - MDString *Checksum; + Optional<DIFile::ChecksumInfo<MDString *>> Checksum; MDNodeKeyImpl(MDString *Filename, MDString *Directory, - DIFile::ChecksumKind CSKind, MDString *Checksum) - : Filename(Filename), Directory(Directory), CSKind(CSKind), - Checksum(Checksum) {} + Optional<DIFile::ChecksumInfo<MDString *>> Checksum) + : Filename(Filename), Directory(Directory), Checksum(Checksum) {} MDNodeKeyImpl(const DIFile *N) : Filename(N->getRawFilename()), Directory(N->getRawDirectory()), - CSKind(N->getChecksumKind()), Checksum(N->getRawChecksum()) {} + Checksum(N->getRawChecksum()) {} bool isKeyOf(const DIFile *RHS) const { return Filename == RHS->getRawFilename() && Directory == RHS->getRawDirectory() && - CSKind == RHS->getChecksumKind() && Checksum == RHS->getRawChecksum(); } unsigned getHashValue() const { - return hash_combine(Filename, Directory, CSKind, Checksum); + if (Checksum) + return hash_combine(Filename, Directory, Checksum->Kind, Checksum->Value); + return hash_combine(Filename, Directory); } }; |

