X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgraph.c;h=ef4526b0070b62bfc24609eab50ad3b188a16684;hb=15b8473164900af578595b629c46632ee68e038f;hp=30876f5c5de5385345360443d821cf0af0ec9dac;hpb=263f27959bcf3612c59dd6d1214e30ac1d0472e3;p=libfirm diff --git a/ir/ir/irgraph.c b/ir/ir/irgraph.c index 30876f5c5..ef4526b00 100644 --- a/ir/ir/irgraph.c +++ b/ir/ir/irgraph.c @@ -1,15 +1,28 @@ /* - * Project: libFIRM - * File name: ir/ir/irgraph.c - * Purpose: Entry point to the representation of procedure code. - * Author: Martin Trapp, Christian Schaefer - * Modified by: Goetz Lindenmaier, Michael Beck - * Created: - * CVS-ID: $Id$ - * Copyright: (c) 1998-2007 Universität Karlsruhe - * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + * 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 Entry point to the representation of procedure code. + * @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck + * @version $Id$ + */ #ifdef HAVE_CONFIG_H # include "config.h" #endif @@ -30,7 +43,6 @@ #include "irflag_t.h" #include "array.h" #include "irgmod.h" -#include "mangle.h" #include "irouts.h" #include "irhooks.h" #include "irtools.h" @@ -258,7 +270,7 @@ new_r_ir_graph (ir_entity *ent, int n_loc) first_block = new_immBlock(); add_immBlock_pred(first_block, projX); - res->method_execution_frequency = -1; + res->method_execution_frequency = -1.0; res->estimated_node_count = 0; return res; @@ -842,7 +854,9 @@ void set_irg_fp_model(ir_graph *irg, unsigned model) { * @param n the node * @param env ignored */ -static void normalize_proj_walker(ir_node *n, void *env){ +static void normalize_proj_walker(ir_node *n, void *env) +{ + (void) env; if (is_Proj(n)) { ir_node *pred = get_Proj_pred(n); ir_node *block = get_nodes_block(pred); @@ -873,6 +887,52 @@ void *get_irg_loc_description(ir_graph *irg, int n) { return irg->loc_descriptions ? irg->loc_descriptions[n] : NULL; } +#ifndef NDEBUG +void set_using_block_visited(ir_graph *irg) { + assert(irg->using_block_visited == 0); + irg->using_block_visited = 1; +} + +void clear_using_block_visited(ir_graph *irg) { + assert(irg->using_block_visited == 1); + irg->using_block_visited = 0; +} + +int using_block_visited(const ir_graph *irg) { + return irg->using_block_visited; +} + + +void set_using_visited(ir_graph *irg) { + assert(irg->using_visited == 0); + irg->using_visited = 1; +} + +void clear_using_visited(ir_graph *irg) { + assert(irg->using_visited == 1); + irg->using_visited = 0; +} + +int using_visited(const ir_graph *irg) { + return irg->using_visited; +} + + +void set_using_irn_link(ir_graph *irg) { + assert(irg->using_irn_link == 0); + irg->using_irn_link = 1; +} + +void clear_using_irn_link(ir_graph *irg) { + assert(irg->using_irn_link == 1); + irg->using_irn_link = 0; +} + +int using_irn_link(const ir_graph *irg) { + return irg->using_irn_link; +} +#endif + /* Returns a estimated node count of the irg. */ unsigned (get_irg_estimated_node_cnt)(const ir_graph *irg) { return _get_irg_estimated_node_cnt(irg);