Module Expr Str ImportFrom alias ImportFrom alias ImportFrom alias ClassDef bases body FunctionDef arguments args NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Dict Assign NameStore ListLoad AttributeLoad NameLoad attr Assign NameStore ListLoad Assign NameStore Num While NameLoad body Assign NameStore ListLoad For NameStore NameLoad body If CompareNotIn NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad NameLoad For NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad AugAssignAdd NameStore Num Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore ListLoad Assign NameStore NameLoad For NameStore NameLoad body Assign NameStore ListLoad For NameStore Call NameLoad Call NameLoad NameLoad body Assign NameStore AttributeLoad SubscriptLoad NameLoad Index NameLoad attr Assign NameStore AttributeLoad NameLoad attr If BoolOpAnd Call NameLoad NameLoad NameLoad CompareEq Call NameLoad AttributeLoad NameLoad attr Num body If CompareIs Call NameLoad NameLoad Str NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad If UnaryOpNot NameLoad body Continue Assign TupleStore NameStore NameStore Call NameLoad NameLoad Assign NameStore ListComp AttributeLoad NameLoad attr comprehension NameStore BinOpAdd SubscriptLoad NameLoad Slice NameLoad SubscriptLoad NameLoad Slice NameLoad Assign NameStore Call NameLoad AttributeLoad SubscriptLoad NameLoad Index NameLoad attr NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Num For NameStore AttributeLoad AttributeLoad NameLoad attr attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad For NameStore AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr For NameStore AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIs NameLoad NameLoad body Break orelse Break orelse AugAssignAdd NameStore Num Assign NameStore TupleLoad UnaryOpUSub NameLoad Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Assign NameStore ListLoad Assign NameStore Dict For TupleStore NameStore NameStore NameLoad body For NameStore AttributeLoad NameLoad attr body If CompareIn AttributeLoad NameLoad attr NameLoad body Break orelse Expr Call AttributeLoad NameLoad attr NameLoad For NameStore AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list
N/A N/A 
This is optional support code for backends: it finds which cycles
in a graph are likely to correspond to source-level 'inner loops'.
 pypy.tool.algo graphlib pypy.objspace.flow.model Variable pypy.translator.backendopt.ssa DataFlowFamilyBuilder Loop N/A N/A __init__ N/A N/A self headblock links N/A N/A N/A N/A self headblock headblock N/A N/A self links links N/A N/A find_inner_loops N/A N/A graph check_exitswitch_type N/A None N/A N/A Enumerate what look like the innermost loops of the graph.
    Returns a list of non-overlapping Loop() instances.
     N/A startdistance N/A N/A pending N/A N/A graph startblock N/A edge_list N/A N/A dist 0 N/A pending N/A N/A newblocks N/A N/A block pending N/A N/A N/A block startdistance N/A N/A N/A startdistance N/A block dist N/A link N/A block exits N/A N/A N/A N/A newblocks append N/A link target N/A edge N/A N/A graphlib Edge block N/A link target N/A N/A edge link link N/A N/A N/A edge_list append edge N/A dist 1 N/A pending newblocks N/A vertices startdistance N/A edges N/A N/A graphlib make_edge_dict edge_list N/A cycles N/A N/A graphlib all_cycles N/A graph startblock vertices edges N/A loops N/A N/A variable_families None N/A cycle cycles N/A N/A candidates N/A N/A i N/A range N/A len cycle N/A N/A block N/A N/A cycle N/A i source N/A v N/A block exitswitch N/A N/A N/A isinstance v Variable N/A N/A len N/A block exits 2 N/A N/A N/A N/A getattr v concretetype None check_exitswitch_type N/A N/A dist N/A startdistance N/A block N/A N/A N/A candidates append N/A dist i N/A N/A candidates N/A N/A N/A N/A _ i N/A min candidates N/A links N/A N/A edge link N/A edge N/A N/A cycle N/A i N/A cycle N/A i N/A loop N/A Loop N/A N/A cycle N/A i source links N/A N/A variable_families None N/A N/A dffb N/A DataFlowFamilyBuilder graph N/A variable_families N/A N/A dffb get_variable_families N/A num_loop_constants 0 N/A v N/A N/A loop headblock inputargs N/A N/A v N/A N/A variable_families find_rep v N/A link N/A loop links N/A N/A block1 N/A link target N/A v1 N/A block1 inputargs N/A N/A v1 N/A N/A variable_families find_rep v1 N/A N/A v1 v N/A N/A N/A N/A N/A N/A num_loop_constants 1 N/A key N/A N/A num_loop_constants N/A len cycle N/A N/A N/A loops append N/A key loop N/A N/A N/A loops sort N/A result N/A N/A blocks_seen N/A N/A N/A key loop loops N/A N/A link N/A loop links N/A N/A N/A N/A link target blocks_seen N/A N/A N/A N/A N/A N/A result append loop N/A link N/A loop links N/A N/A N/A blocks_seen N/A N/A link target True N/A result N/A