std::string CompilerInvocation::getPCHHash() const { using llvm::hash_code; using llvm::hash_value; using llvm::hash_combine; auto Code = hash_value(LangOpts.getPCHHashComponents()); Code = hash_combine(Code, FrontendOpts.getPCHHashComponents()); Code = hash_combine(Code, ClangImporterOpts.getPCHHashComponents()); Code = hash_combine(Code, SearchPathOpts.getPCHHashComponents()); Code = hash_combine(Code, DiagnosticOpts.getPCHHashComponents()); Code = hash_combine(Code, SILOpts.getPCHHashComponents()); Code = hash_combine(Code, IRGenOpts.getPCHHashComponents()); return llvm::APInt(64, Code).toString(36, /*Signed=*/false); }
static unsigned getHashValue(const std::pair<BasicBlock*, unsigned> &Val) { using llvm::hash_value; return static_cast<unsigned>(hash_value(Val)); }