X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Firloop_t.h;h=594308a746961c19006e70986be1fc0095db1ddc;hb=d1c320e0ad36adec0906a6a246db5de17a228934;hp=9e9fe5e5616ed50ddd2a379bb96a3d5677df91e1;hpb=974215da1a935f250766874d0f7a7ddfa34bc4ef;p=libfirm diff --git a/ir/ana/irloop_t.h b/ir/ana/irloop_t.h index 9e9fe5e56..594308a74 100644 --- a/ir/ana/irloop_t.h +++ b/ir/ana/irloop_t.h @@ -46,7 +46,22 @@ typedef enum loop_flags { once = 0x00000080, /**< this is a do loop, with a false condition.It itarate once */ } loop_flags_t; -/** The loops datastructure. */ +/** + * The loops data structure. + * + * The loops data structure represents circles in the intermediate + * representation. It does not represent loops in the terms of a + * source program. + * Each ir_graph can contain one outermost loop data structure. + * loop is the entry point to the nested loops. + * The loop data structure contains a field indicating the depth of + * the loop within the nesting. Further it contains a list of the + * loops with nesting depth -1. Finally it contains a list of all + * nodes in the loop. + * + * @todo We could add a field pointing from a node to the containing loop, + * this would cost a lot of memory, though. + */ struct ir_loop { firm_kind kind; /**< A type tag, set to k_ir_loop. */