@@ -281,24 +281,29 @@ void ValGraph::initializeVal(
281281 const ExprGroup& expr_set =
282282 disjoint_exprs_.initializeSet (def).first ->second ;
283283 def_groups.pushBack (expr_set);
284+
285+ for (const auto & inp: def->inputs ()) {
286+ const ValGroup& inp_val_group = toGroup (inp);
287+ unique_uses_[inp_val_group].pushBack (expr_set);
288+ }
284289 }
285290 // TODO-NM: def_groups can be empty. Should it be still mapped?
286291 NVF_ERROR (
287292 unique_definitions_.emplace (val_disjoint_set, def_groups).second ,
288293 " Multiple defining groups for " ,
289294 nvfuser::toString (val_disjoint_set));
290295
291- ExprGroups use_groups;
292- for (auto use : uses) {
293- const ExprGroup& expr_set =
294- disjoint_exprs_.initializeSet (use).first ->second ;
295- use_groups.pushBack (expr_set);
296- }
297- // TODO-NM: use_groups can be empty. Should it be still mapped?
298- NVF_ERROR (
299- unique_uses_.emplace (val_disjoint_set, use_groups).second ,
300- " Multiple use groups for " ,
301- nvfuser::toString (val_disjoint_set));
296+ // ExprGroups use_groups;
297+ // for (auto use : uses) {
298+ // const ExprGroup& expr_set =
299+ // disjoint_exprs_.initializeSet(use).first->second;
300+ // use_groups.pushBack(expr_set);
301+ // }
302+ // // TODO-NM: use_groups can be empty. Should it be still mapped?
303+ // NVF_ERROR(
304+ // unique_uses_.emplace(val_disjoint_set, use_groups).second,
305+ // "Multiple use groups for ",
306+ // nvfuser::toString(val_disjoint_set));
302307}
303308
304309void ValGraph::initializeVal (Val* val) {
0 commit comments