LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Toggle main menu visibility
Loading...
Searching...
No Matches
SymbolUseGraphPass.cpp
Go to the documentation of this file.
1
//===-- SymbolUseGraphPass.cpp ----------------------------------*- C++ -*-===//
2
//
3
// Part of the LLZK Project, under the Apache License v2.0.
4
// See LICENSE.txt for license information.
5
// Copyright 2025 Veridise Inc.
6
// SPDX-License-Identifier: Apache-2.0
7
//
8
//===----------------------------------------------------------------------===//
13
//===----------------------------------------------------------------------===//
14
15
#include "
llzk/Analysis/AnalysisPasses.h
"
16
#include "
llzk/Analysis/SymbolUseGraph.h
"
17
18
namespace
llzk
{
19
#define GEN_PASS_DEF_SYMBOLUSEGRAPHPRINTERPASS
20
#include "
llzk/Analysis/AnalysisPasses.h.inc
"
21
}
// namespace llzk
22
23
namespace
{
24
25
using namespace
llzk
;
26
27
class
PassImpl :
public
llzk::impl::SymbolUseGraphPrinterPassBase
<PassImpl> {
28
using
Base = SymbolUseGraphPrinterPassBase<PassImpl>;
29
using
Base::Base;
30
31
void
runOnOperation()
override
{
32
markAllAnalysesPreserved();
33
34
SymbolUseGraph &a = getAnalysis<SymbolUseGraph>();
35
if
(saveDotGraph) {
36
a.
dumpToDotFile
();
37
}
38
a.
print
(
toStream
(outputStream));
39
}
40
};
41
42
}
// namespace
AnalysisPasses.h.inc
AnalysisPasses.h
SymbolUseGraph.h
llzk::SymbolUseGraph::dumpToDotFile
void dumpToDotFile(std::string filename="") const
Dump the graph to file in dot graph format.
Definition
SymbolUseGraph.cpp:285
llzk::SymbolUseGraph::print
void print(llvm::raw_ostream &os) const
Definition
SymbolUseGraph.cpp:244
llzk::impl::SymbolUseGraphPrinterPassBase
Definition
SymbolUseGraphPass.cpp:751
llzk
Definition
AnalysisPassEnums.cpp:19
llzk::toStream
llvm::raw_ostream & toStream(OutputStream val)
Definition
AnalysisPassEnums.cpp:21
lib
Analysis
SymbolUseGraphPass.cpp
Generated by
1.17.0
Copyright 2025 Veridise Inc. under the Apache License v2.0. Copyright 2026 Project LLZK under the Apache License v2.0.