Add a text mode for fingerprinting. (#7231)

The intent is to add visibility into how the fingerprint is computed, so
that fingerprinting issues and mangling collisions can be more readily
understood and fixed.

Assisted-by: Gemini via Antigravity
This commit is contained in:
Richard Smith
2026-05-19 23:16:51 +00:00
committed by GitHub
parent ce080b3549
commit be70c092fa
19 changed files with 466 additions and 129 deletions
+3 -2
View File
@@ -63,7 +63,7 @@ CheckUnit::CheckUnit(
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> fs,
llvm::LLVMContext* llvm_context,
std::shared_ptr<clang::CompilerInvocation> clang_invocation,
llvm::raw_ostream* vlog_stream)
llvm::raw_ostream* vlog_stream, bool mangle_string_fingerprint)
: unit_and_imports_(unit_and_imports),
tree_and_subtrees_getter_(tree_and_subtrees_getters->Get(
unit_and_imports->unit->sem_ir->check_ir_id())),
@@ -75,7 +75,8 @@ CheckUnit::CheckUnit(
context_(&emitter_, tree_and_subtrees_getter_,
unit_and_imports_->unit->sem_ir,
GetImportedIRCount(unit_and_imports),
unit_and_imports_->unit->total_ir_count, vlog_stream) {}
unit_and_imports_->unit->total_ir_count, vlog_stream,
mangle_string_fingerprint) {}
auto CheckUnit::Run() -> void {
Timings::ScopedTiming timing(unit_and_imports_->unit->timings, "check");