VapourSynth-llvmexpr
Loading...
Searching...
No Matches
AnalysisManager.cpp
Go to the documentation of this file.
1
19
20
#include "
AnalysisManager.hpp
"
21
22
namespace
analysis
{
23
24
AnalysisManager::AnalysisManager
(
const
std::vector<Token>& tokens_in,
25
bool
mirror_boundary_in,
26
int
expected_final_depth_in)
27
: tokens(tokens_in), mirror_boundary(mirror_boundary_in),
28
expected_final_depth(expected_final_depth_in) {}
29
30
void
AnalysisManager::invalidate
(
const
PreservedAnalyses
& pa) {
31
if
(pa.
preservedAll
()) {
32
return
;
33
}
34
35
std::vector<std::type_index> to_invalidate;
36
37
for
(
const
auto
& [pass_type, _] : results.getAll()) {
38
if
(!pa.
isPreserved
(pass_type)) {
39
to_invalidate.push_back(pass_type);
40
}
41
}
42
43
for
(
const
auto
& pass_type : to_invalidate) {
44
results.invalidate(pass_type);
45
}
46
}
47
48
}
// namespace analysis
AnalysisManager.hpp
analysis::AnalysisManager::AnalysisManager
AnalysisManager(const std::vector< Token > &tokens_in, bool mirror_boundary_in, int expected_final_depth_in=1)
Definition
AnalysisManager.cpp:24
analysis::AnalysisManager::invalidate
void invalidate(const PreservedAnalyses &pa)
Definition
AnalysisManager.cpp:30
analysis::PreservedAnalyses
Definition
PreservedAnalyses.hpp:28
analysis::PreservedAnalyses::preservedAll
bool preservedAll() const
Definition
PreservedAnalyses.hpp:34
analysis::PreservedAnalyses::isPreserved
bool isPreserved() const
Definition
PreservedAnalyses.hpp:42
analysis
Definition
AnalysisResults.hpp:36
llvmexpr
analysis
framework
AnalysisManager.cpp
Generated by
1.16.0