VapourSynth-llvmexpr
Loading...
Searching...
No Matches
StackSafetyPass.hpp
Go to the documentation of this file.
1
19
20
#ifndef LLVMEXPR_ANALYSIS_STACK_SAFETY_PASS_HPP
21
#define LLVMEXPR_ANALYSIS_STACK_SAFETY_PASS_HPP
22
23
#include "
../framework/Pass.hpp
"
24
25
#include <vector>
26
27
namespace
analysis
{
28
29
struct
StackSafetyResult
{
30
std::vector<int>
stack_depth_in
;
31
};
32
41
class
StackSafetyPass
42
:
public
AnalysisPass
<StackSafetyPass, StackSafetyResult> {
43
public
:
44
using
Result
=
StackSafetyResult
;
45
46
[[nodiscard]]
const
char
*
getName
()
const override
{
47
return
"Stack Safety Pass"
;
48
}
49
50
Result
run
(
const
std::vector<Token>& tokens,
AnalysisManager
& am)
override
;
51
};
52
53
}
// namespace analysis
54
55
#endif
// LLVMEXPR_ANALYSIS_STACK_SAFETY_PASS_HPP
Pass.hpp
analysis::AnalysisManager
Definition
AnalysisManager.hpp:32
analysis::AnalysisPass
Definition
Pass.hpp:45
analysis::StackSafetyPass
Definition
StackSafetyPass.hpp:42
analysis::StackSafetyPass::run
Result run(const std::vector< Token > &tokens, AnalysisManager &am) override
Definition
StackSafetyPass.cpp:29
analysis::StackSafetyPass::getName
const char * getName() const override
Definition
StackSafetyPass.hpp:46
analysis::StackSafetyPass::Result
StackSafetyResult Result
Definition
StackSafetyPass.hpp:44
analysis
Definition
AnalysisResults.hpp:36
analysis::StackSafetyResult
Definition
StackSafetyPass.hpp:29
analysis::StackSafetyResult::stack_depth_in
std::vector< int > stack_depth_in
Definition
StackSafetyPass.hpp:30
llvmexpr
analysis
passes
StackSafetyPass.hpp
Generated by
1.16.0