class_docstr: Tracks the current if/else scope with the path that we took. Captures the used and produced
  data nodes, applying the necessary splits based on the scope level where they were produced
  and where they are used.
docstr: Enter the merge section of the if/else statement. It adds the corresponding
  split_predicate to the nodes visible as produced in the current scope, so all data nodes
  are directly accessible in this scope when looked up by the merge operator.
  We don't care about removing it as it's the last thing happening in that statement.
docstr_tok: ["Enter","the","merge","section","of","the","if\/else","statement",".","It","adds","the","corresponding","split_predicate","to","the","nodes","visible","as","produced","in","the","current","scope",",","so","all","data","nodes","are","directly","accessible","in","this","scope","when","looked","up","by","the","merge","operator",".","We","do","n't","care","about","removing","it","as","it","'s","the","last","thing","happening","in","that","statement","."]
code: def track_merge(self, split_predicate):
      """Enter the merge section of the if/else statement. It adds the corresponding
      split_predicate to the nodes visible as produced in the current scope, so all data nodes
      are directly accessible in this scope when looked up by the merge operator.
      We don't care about removing it as it's the last thing happening in that statement.
      """
      self.no_branch()
      self.top().add_produced(split_predicate)
  
imports: from nvidia.dali import _autograph
  from nvidia.dali.data_node import DataNode
  from nvidia.dali import fn
  from nvidia.dali._autograph.utils import ag_logging
  from nvidia.dali._autograph.operators import variables
  from contextlib import contextmanager
  from enum import Enum
  import tree
label_desc: Use image node_id 13 for calling the _ConditionStack obj's underlying member method code with example usage: obj.track_merge(split_predicate) without return types