X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fst%2Fst.h;h=37c74fdbbbc1f4577f7a269bb4eba1cd184c0f31;hb=d0d85962ef52c14950db90e5981a7bea36023ab3;hp=81da246a6c0558c5ff70f8295784aa16b25d6813;hpb=978e0407c83d32b9e733a4ce8ea457f2486f0122;p=libfirm diff --git a/ir/st/st.h b/ir/st/st.h index 81da246a6..37c74fdbb 100644 --- a/ir/st/st.h +++ b/ir/st/st.h @@ -1,46 +1,51 @@ -// Copyright (c) 2002 by Universität Karlsruhe (TH). All Rights Reserved - -/*** - NAME - st.h - PURPOSE - provide some auxilliary structures for firm graphs. - NOTES +/* + * Project: libFIRM + * File name: ir/st/st.h + * Purpose: Provide some auxilliary structures for firm graphs. + * Author: Florian Liekweg + * Modified by: + * Created: 26.2.2002 + * CVS-ID: $Id$ + * Copyright: (c) 2002-2003 Universität Karlsruhe + * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + */ +/** + @file st.h + + Provide some auxilliary structures for firm graphs. + + @author Florian Liekweg + + @note not quite complete - HISTORY - liekweg - Feb 26, 2002: Created. - CVS: - $Id$ -***/ +*/ # ifndef _ST_H_ # define _ST_H_ -// Includes: -# include "irgraph.h" -# include "irnode.h" +/* Includes: */ +#include "irgraph.h" +#include "irnode.h" -# include "bs.h" +#include "bs.h" -# include "bool.h" +#include -#define true TRUE -#define false FALSE -// Data Types: +/* Data Types: */ -// One dominator tree +/** One dominator tree */ typedef struct { int n_blocks; - ir_graph *graph; // PRE + ir_graph *graph; /**< PRE */ ir_node **blocks; - ir_node **idoms; // idom [n] == immediate dominator of blocks [n] + ir_node **idoms; /**< idom [n] == immediate dominator of blocks [n] */ bs_t *masks; } dt_t; -// List entry: +/** List entry. */ typedef struct dtree_t { dt_t *tree; @@ -50,7 +55,7 @@ typedef struct dtree_t } dtree_t; -// dominator environment for a node @a in graph @graph +/** dominator environment for a node dom_env_t::a in graph dom_env_t::graph */ typedef struct dom_env_t { dt_t *dt; @@ -60,11 +65,11 @@ typedef struct dom_env_t bs_t mask; } dom_env_t; -// Forwards for Globals: +/* Forwards for Globals: */ extern dtree_t *trees; extern dtree_t *last; -// Prototypes: +/* Prototypes: */ void st_build_dominator_tree (ir_graph*); bool dominates (ir_graph*, ir_node*, ir_node*); ir_node *get_idom (ir_graph*, ir_node*);