-/* Copyright (c) 2002 by Universität Karlsruhe (TH). All Rights Reserved */
/*
-* Time-stamp: <Thursday, 31.10.2002, 16:03:00 goetz@i44pc2.info.uni-karlsruhe.de>
-*/
+ * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved.
+ *
+ * This file is part of libFirm.
+ *
+ * This file may be distributed and/or modified under the terms of the
+ * GNU General Public License version 2 as published by the Free Software
+ * Foundation and appearing in the file LICENSE.GPL included in the
+ * packaging of this file.
+ *
+ * Licensees holding valid libFirm Professional Edition licenses may use
+ * this file in accordance with the libFirm Commercial License.
+ * Agreement provided with the Software.
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ */
+
+/**
+ * @file
+ * @brief Provide some auxilliary structures for firm graphs.
+ * @author Florian Liekweg
+ * @date 26.2.2002
+ * @version $Id$
+ */
/**
NAME
provide some auxilliary structures for firm graphs.
S
not quite complete
- HISTORY
- liekweg - Feb 26, 2002: Created.
- CVS:
- $Id$
***/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-# include "st.h"
+#include <assert.h>
-# include "irgwalk.h"
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
+#endif
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
-# include <stdio.h>
-# ifdef DEBUG_libfirm
-# endif /* def DEBUG_libfirm */
-# include <stdlib.h>
-# include "misc.h"
+# include "st.h"
+# include "irgwalk.h"
+# include "xmalloc.h"
/* init globals: */
-static dtree_t *trees = 0;
+/*static*/ dtree_t *trees = 0;
/*
static dtree_t *last = 0;
*/
# endif /* def DEBUG_libfirm */
fprintf (stdout, "%s: Block(%p) has # (%i)\n",
- __FILE__ ":count_block", block, *n);
+ __FILE__ ":count_block", (void *)block, *n);
(*n) ++;
}
irg_block_walk (end_block, count_block, NULL, &n);
fprintf (stdout, "%s: Graph(%p) has (%i) blocks\n",
- __FILE__ ":get_n_blocks", graph, n);
+ __FILE__ ":get_n_blocks", (void *)graph, n);
return (n);
}
res->n_blocks = n_blocks;
res->graph = graph;
- res->blocks = (ir_node**) calloc (n_blocks, sizeof (ir_node*));
- res->idoms = (ir_node**) calloc (n_blocks, sizeof (ir_node*));
- res->masks = (bs_t*) calloc (n_blocks, sizeof (bs_t));
+ res->blocks = xcalloc(n_blocks, sizeof(res->blocks[0]));
+ res->idoms = xcalloc(n_blocks, sizeof(res->idoms[0]));
+ res->masks = xcalloc(n_blocks, sizeof(res->masks[0]));
assert (res && "no dt");
/* check preds: */
for (i = 0; i < n_ins; i ++)
{
- ir_node *in = get_nodes_Block (get_irn_n (block, i));
+ ir_node *in = get_nodes_block (get_irn_n (block, i));
bs_t in_mask = get_mask (dt, in);
new_mask &= in_mask;
{
ir_node *ndom = 0;
- pred = get_nodes_Block (get_irn_n (block, i));
+ pred = get_nodes_block (get_irn_n (block, i));
ndom = _get_idom (dt, pred);
if (ndom != idom)
*/
dom_env_t *get_dom_env (ir_graph *graph, ir_node *a)
{
- dom_env_t *env = (dom_env_t*) calloc (1, sizeof (dom_env_t));
+ dom_env_t *env = xcalloc(1, sizeof(*env));
env->graph = graph;
env->dt = get_dominator_tree (graph);