| 597 | } |
| 598 | |
| 599 | SymbolVar CondExecPredLogical::make( |
| 600 | const VarNodeArrayView& preds, const Param& param, |
| 601 | const OperatorNodeConfig& config) { |
| 602 | mgb_assert(!preds.empty()); |
| 603 | if (preds.size() == 1) { |
| 604 | if (!config.has_comp_node_set() || |
| 605 | config.get_single_comp_node() == preds[0]->comp_node()) { |
| 606 | auto m = param.mode; |
| 607 | if (m == Mode::OR || m == Mode::XOR || m == Mode::AND) { |
| 608 | return preds[0]; |
| 609 | } |
| 610 | } |
| 611 | } |
| 612 | return SymbolVar{preds[0]}.insert_single_output_opr<CondExecPredLogical>( |
| 613 | preds, param, config); |
| 614 | } |
| 615 | |
| 616 | void CondExecPredLogical::init_output_static_infer_desc() { |
| 617 | using namespace cg::static_infer; |
nothing calls this directly
no test coverage detected