@@ -402,6 +402,8 @@ def _add_preg(self, stage_id, var):
402402 def _get_preg (self , stage_id ):
403403 if stage_id is None :
404404 return self
405+ if self .stage_id is None :
406+ return self
405407 if stage_id == self .stage_id :
406408 return self
407409 return self .preg_dict [stage_id ]
@@ -646,6 +648,8 @@ def _max_stage_id(self, *args):
646648 for arg in args :
647649 if arg is None or not hasattr (arg , 'stage_id' ):
648650 continue
651+ if arg .stage_id is None :
652+ continue
649653 if maxval is None :
650654 maxval = arg .stage_id
651655 continue
@@ -660,12 +664,19 @@ def visit__DataflowInterface(self, node):
660664 self ._add_node (node , label = str (node ), shape = 'invtrapezium' )
661665
662666 def visit__DataflowVariable (self , node ):
667+ # standard
663668 if node .src_data is not None and not node .ops :
664- self ._add_node (node , label = str (node .data ), shape = 'box' )
669+ if node .stage_id is None :
670+ self ._add_node (node , label = str (node .data ), shape = 'box' , style = 'dashed' )
671+ else :
672+ self ._add_node (node , label = '' .join ([str (node .stage_id ), ':' , str (node .data )]), shape = 'box' )
665673 self .visit (node .src_data )
666674 self ._add_edge (node .src_data , node )
675+ # accumulator
667676 if node .src_data is not None and node .ops :
668- label = [ str (node .data ) ]
677+ label = [ str (node .stage_id ) ]
678+ label .append (':' )
679+ label .append ( str (node .data ) )
669680 for op in node .ops :
670681 label .append (vtypes .op2mark (op .__name__ ))
671682 label .append ('=' )
0 commit comments