| 49 | } |
| 50 | |
| 51 | VarNode* proxy_var_from_mask(cg::ExecutionMask* mask) { |
| 52 | auto var = mask->owner(); |
| 53 | mgb_assert(var); |
| 54 | auto opr = var->owner_opr(); |
| 55 | auto type = opr->dyn_typeinfo(); |
| 56 | mgb_assert( |
| 57 | type->is<CondExecPred>() || type->is<CondExecPredLogical>(), |
| 58 | "mask not from CondExec opr: %s", cg::dump_var_info({var}).c_str()); |
| 59 | return var; |
| 60 | } |
| 61 | |
| 62 | #if MGB_ENABLE_LOGGING |
| 63 | std::string mask2str(cg::ExecutionMask* mask) { |
no test coverage detected