VapourSynth-llvmexpr
Loading...
Searching...
No Matches
AnalysisManager.cpp
Go to the documentation of this file.
1
19
20#include "AnalysisManager.hpp"
21
22namespace analysis {
23
24AnalysisManager::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
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(const std::vector< Token > &tokens_in, bool mirror_boundary_in, int expected_final_depth_in=1)
void invalidate(const PreservedAnalyses &pa)