X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgwalk.h;h=e856a8db7dbbe08eb2fdec2089bf1f788d421db5;hb=5f8ddee6b08c8040c0a304a347d65045c1141d52;hp=7dab7856c7d1410d8f616dbc340935aaa6328cef;hpb=55fadbd9a8b631825b8abdcb185f53c5f0cdd1a7;p=libfirm diff --git a/ir/ir/irgwalk.h b/ir/ir/irgwalk.h index 7dab7856c..e856a8db7 100644 --- a/ir/ir/irgwalk.h +++ b/ir/ir/irgwalk.h @@ -6,6 +6,9 @@ ** traverse an ir graph ** - execute the pre function before recursion ** - execute the post function after recursion +** +** Uses current_ir_graph (from irgraph.h)!!! Set it to the proper +** graph before starting the walker. */ @@ -19,12 +22,14 @@ Executes pre before visiting the predecessor of a node, post after. irg_walk uses the visited flag in irg and the nodes to determine visited nodes. It executes inc_irg_visited(current_ir_graph) to generate a new - flag. */ + flag. It marks the node as visited before executing pre. + The void* env can be used to pass status information between the + pre and post functions. */ void irg_walk(ir_node *node, void (pre)(ir_node*, void*), void (post)(ir_node*, void*), void *env); -/* walks only over Block nodes in the graph. Has it's own visited +/* Walks only over Block nodes in the graph. Has it's own visited flag, so that it can be interleaved with the other walker. */ void irg_block_walk(ir_node *node, void (pre)(ir_node*, void*), void (post)(ir_node*, void*),