本文整理汇总了C++中CFG::getStartingBlock方法的典型用法代码示例。如果您正苦于以下问题:C++ CFG::getStartingBlock方法的具体用法?C++ CFG::getStartingBlock怎么用?C++ CFG::getStartingBlock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFG
的用法示例。
在下文中一共展示了CFG::getStartingBlock方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processBB
void DefinednessBBAnalyzer::processBB(Map &starting, CFGBlock *block) const {
DefinednessVisitor visitor(starting);
for (int i = 0; i < block->body.size(); i++) {
block->body[i]->accept(&visitor);
}
if (block == cfg->getStartingBlock() && arguments) {
arguments->accept(&visitor);
}
if (VERBOSITY("analysis") >= 2) {
printf("At end of block %d:\n", block->idx);
for (const auto &p : starting) {
printf("%s: %d\n", p.first.c_str(), p.second);
}
}
}
示例2: processBB
void DefinednessBBAnalyzer::processBB(Map& starting, CFGBlock* block) const {
DefinednessVisitor visitor(starting);
if (block == cfg->getStartingBlock() && arg_names.args) {
for (auto e : (*arg_names.args))
visitor._doSet(e);
if (arg_names.vararg->size())
visitor._doSet(*arg_names.vararg);
if (arg_names.kwarg->size())
visitor._doSet(*arg_names.kwarg);
}
for (int i = 0; i < block->body.size(); i++) {
block->body[i]->accept(&visitor);
}
if (VERBOSITY("analysis") >= 2) {
printf("At end of block %d:\n", block->idx);
for (const auto& p : starting) {
printf("%s: %d\n", p.first.c_str(), p.second);
}
}
}