| 17 | /* ========= FwdDesc ========= */ |
| 18 | |
| 19 | SymbolVar LoopImpl::FwdDesc::add_input(SymbolVar inp, bool has_assign) { |
| 20 | if (!has_assign) { |
| 21 | auto&& var = m_input_no_assign_dedup[inp.node()]; |
| 22 | if (var) |
| 23 | return var; |
| 24 | var = do_add_input(inp, {false, false}).node(); |
| 25 | return var; |
| 26 | } |
| 27 | auto var = do_add_input(inp, {true, true}); |
| 28 | m_input_assigned[var.node()] = false; |
| 29 | return var; |
| 30 | } |
| 31 | |
| 32 | size_t LoopImpl::FwdDesc::add_output(SymbolVar val, OutputMode mode) { |
| 33 | auto ret = DescImplBase::add_output(val, mode); |