From f6cc50740eba2124ee2f20fbd006071e78abda72 Mon Sep 17 00:00:00 2001 From: Lukas Korencik Date: Tue, 7 May 2024 15:16:53 +0200 Subject: [PATCH] cc: `-vast-snapshot-at` accepts `"*"` to snapshot at every pass. --- lib/vast/Frontend/Pipelines.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/vast/Frontend/Pipelines.cpp b/lib/vast/Frontend/Pipelines.cpp index 01d8d81c9c..1008fb5970 100644 --- a/lib/vast/Frontend/Pipelines.cpp +++ b/lib/vast/Frontend/Pipelines.cpp @@ -132,7 +132,11 @@ namespace vast::cc { passes->print_on_error(llvm::errs()); if (auto snapshot_at = vargs.get_options_list(opt::snapshot_at)) { - auto instrument = std::make_unique< with_snapshots >(*snapshot_at, snapshot_prefix); + auto instrument = [&]() -> std::unique_ptr< with_snapshots > { + if (std::ranges::count(*snapshot_at, llvm::StringRef("*"))) + return std::make_unique< snapshot_all >(snapshot_prefix); + return std::make_unique< snapshot_at_passes >(*snapshot_at, snapshot_prefix); + }(); passes->addInstrumentation(std::move(instrument)); }