当前位置: 首页>>代码示例>>C++>>正文


C++ IR::is_uncond_br方法代码示例

本文整理汇总了C++中IR::is_uncond_br方法的典型用法代码示例。如果您正苦于以下问题:C++ IR::is_uncond_br方法的具体用法?C++ IR::is_uncond_br怎么用?C++ IR::is_uncond_br使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IR的用法示例。


在下文中一共展示了IR::is_uncond_br方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: verify

//Check that all basic blocks should only end with terminator IR.
void IRBB::verify()
{
    UINT c = 0;
    C<IR*> * ct;
    for (IR * ir = BB_irlist(this).get_head(&ct);
         ir != NULL; ir = BB_irlist(this).get_next(&ct)) {
        ASSERT0(IR_next(ir) == NULL && IR_prev(ir) == NULL);
        ASSERT0(ir->get_bb() == this);
        switch (IR_code(ir)) {
        case IR_ST:
        case IR_STPR:
        case IR_STARRAY:
        case IR_IST:
        case IR_PHI:
        case IR_REGION:
        case IR_CALL:
        case IR_ICALL:
        case IR_GOTO:
        case IR_IGOTO:
        case IR_TRUEBR:
        case IR_FALSEBR:
        case IR_RETURN:
        case IR_SWITCH:
            break;
        default: ASSERT(0, ("BB does not supported this kind of IR."));
        }

        if (ir->is_calls_stmt() || ir->is_cond_br() ||
            ir->is_multicond_br() || ir->is_uncond_br()) {
            ASSERT(ir == BB_last_ir(this), ("invalid bb boundary."));
        }

        c++;
    }
    ASSERT0(c == getNumOfIR());
}
开发者ID:onecoolx,项目名称:xoc,代码行数:37,代码来源:ir_bb.cpp


注:本文中的IR::is_uncond_br方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。