VapourSynth-llvmexpr
Loading...
Searching...
No Matches
BuildCFGPass.hpp
Go to the documentation of this file.
1
19
20#ifndef LLVMEXPR_ANALYSIS_BUILD_CFG_PASS_HPP
21#define LLVMEXPR_ANALYSIS_BUILD_CFG_PASS_HPP
22
24#include "../framework/Pass.hpp"
25
26#include <map>
27#include <string>
28#include <vector>
29
30namespace analysis {
31
33 std::vector<CFGBlock> cfg_blocks;
34 std::map<std::string, int> label_to_block_idx;
35};
36
45class BuildCFGPass : public AnalysisPass<BuildCFGPass, BuildCFGResult> {
46 public:
48
49 [[nodiscard]] const char* getName() const override {
50 return "Build CFG Pass";
51 }
52
53 Result run(const std::vector<Token>& tokens, AnalysisManager& am) override;
54};
55
56} // namespace analysis
57
58#endif // LLVMEXPR_ANALYSIS_BUILD_CFG_PASS_HPP
Result run(const std::vector< Token > &tokens, AnalysisManager &am) override
const char * getName() const override
std::map< std::string, int > label_to_block_idx
std::vector< CFGBlock > cfg_blocks