@@ -74,22 +74,19 @@ def find_base_header(block: BasicBlock):
7474 if isinstance (src_block , RegionBlock ):
7575 continue
7676 src_block = find_base_header (src_block )
77- for dst_name in src_block .jump_targets :
77+ for idx , dst_name in enumerate ( src_block ._jump_targets ) :
7878 dst_name = find_base_header (blocks [dst_name ]).name
7979 if dst_name in blocks .keys ():
80- self .g .edge (str (src_block .name ), str (dst_name ))
81- else :
82- raise Exception ("unreachable " + str (src_block ))
83- for dst_name in src_block .backedges :
84- dst_name = find_base_header (blocks [dst_name ]).name
85- if dst_name in blocks .keys ():
86- self .g .edge (
87- str (src_block .name ),
88- str (dst_name ),
89- style = "dashed" ,
90- color = "grey" ,
91- constraint = "0" ,
92- )
80+ if src_block .backedges [idx ]:
81+ self .g .edge (
82+ str (src_block .name ),
83+ str (dst_name ),
84+ style = "dashed" ,
85+ color = "grey" ,
86+ constraint = "0" ,
87+ )
88+ else :
89+ self .g .edge (str (src_block .name ), str (dst_name ))
9390 else :
9491 raise Exception ("unreachable " + str (src_block ))
9592
@@ -169,8 +166,7 @@ def render_branching_block(
169166 digraph .node (str (name ), shape = "rect" , label = body )
170167
171168 def render_byteflow (self , byteflow : ByteFlow ):
172- """Renders the provided `ByteFlow` object.
173- """
169+ """Renders the provided `ByteFlow` object."""
174170 self .bcmap_from_bytecode (byteflow .bc )
175171 # render nodes
176172 for name , block in byteflow .scfg .graph .items ():
0 commit comments