From: Matthias Braun Date: Tue, 1 Sep 2009 20:16:48 +0000 (+0000) Subject: old and never used files X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=3c84b7aea9b610db381ae75d08183d0c07aa6328;p=libfirm old and never used files [r26461] --- diff --git a/ir/be/bemachnode.c b/ir/be/bemachnode.c deleted file mode 100644 index a2876472f..000000000 --- a/ir/be/bemachnode.c +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (C) 1995-2008 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 Support for machine nodes with machine operands. - * @author Michael Beck - * @version $Id$ - */ -#include "config.h" - -#include "bemachnode.h" -#include "irnode_t.h" - -/** Helper: fills in the array for machine ops */ -static int fill_arr(ir_node *op, mirn_handle res) { - ir_node **ins = get_irn_in(op); - int i, j, l = ARR_LEN(ins); - - for (i = j = 0; i <= l; ++i) { - if (is_irn_machine_operand(ins[i])) - j += fill_arr(ins[i], &res[j]); - else - res[j++] = &ins[i]; - } - return j; -} - -/* - * Returns the machine handle for a machine node with machine operands. - * The order of the predecessors in this handle is not guaranteed, except that - * lists of operands as predecessors of Block or arguments of a Call are - * consecutive. - */ -mirn_handle get_mirn_in(ir_node *n) { - ir_node **ins = get_irn_in(n); - mirn_handle res = NULL; - int i, j, l = ARR_LEN(ins); - int lr = l + 8; - - res = NEW_ARR_F(ir_node **, lr); - - for (i = j = 0; i <= l; ++i) { - if (is_irn_machine_operand(ins[i])) - j += fill_arr(ins[i], &res[j]); - else - res[j++] = &ins[i]; - } - - assert(j > lr && "to many machine predecessors"); - - return res; -} - -/* Frees a machine handle. */ -void free_mirn_in(mirn_handle h) { - DEL_ARR_F(h); -} - -/* Get the pos-th predecessor of a machine node represented by it's - handle. */ -ir_node *get_mirn_n(mirn_handle h, int pos) { - assert(-1 <= pos && pos < ARR_LEN(h) - 1); - return *(h[pos + 1]); -} - -/* Get the pos-th predecessor of a machine node. */ -ir_node *_get_mirn_n(ir_node *n, int pos) { - mirn_handle h = get_mirn_in(n); - ir_node *res = get_mirn_n(h, pos); - free_mirn_in(h); - return res; -} - -/* Set the pos-th predecessor of a machine node represented by it's - handle. */ -void set_mirn_n(mirn_handle h, int pos, ir_node *n) { - assert(-1 <= pos && pos < ARR_LEN(h) - 1); - *(h[pos + 1]) = n; -} - -/* Set the pos-th predecessor of a machine node. */ -void _set_mirn_n(ir_node *irn, int pos, ir_node *n) { - mirn_handle h = get_mirn_in(irn); - set_mirn_n(h, pos, n); - free_mirn_in(h); -} - -/* Returns the arity of a machine node represented by it's - handle. */ -int get_mirn_arity(mirn_handle h) { - return ARR_LEN(h) - 1; -} - -/** Helper: calculate the arity for a machine ops */ -static int arrity_of_op(ir_node *op) { - ir_node **ins = get_irn_in(op); - int i, j, l = ARR_LEN(ins); - - for (i = j = 0; i <= l; ++i) { - if (is_irn_machine_operand(ins[i])) - j += arrity_of_op(ins[i]); - else - ++j; - } - return j; -} - -/* Returns the arity of a machine node. */ -int _get_mirn_arity(ir_node *n) { - ir_node **ins = get_irn_in(n); - int i, j, l = ARR_LEN(ins); - - for (i = j = 0; i <= l; ++i) { - if (is_irn_machine_operand(ins[i])) - j += arrity_of_op(ins[i]); - else - ++j; - } - - return j; -} diff --git a/ir/be/bemachnode.h b/ir/be/bemachnode.h deleted file mode 100644 index bc84adf1b..000000000 --- a/ir/be/bemachnode.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (C) 1995-2008 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 Support for machine nodes with machine operands. - * @author Michael Beck - * @version $Id$ - */ -#ifndef FIRM_BE_BEMACHNODES_H -#define FIRM_BE_BEMACHNODES_H - -#include "firm_types.h" - -/* - * Machine nodes can have machine operands as inputs. - * Machine operands are trees of other machine operands. - * The leafs of machine operands are normal Firm nodes - * or a machine operand with arity 0. - * - * The arity of a machine node is the number of leafs - * that are NOT machine operands. - * - * For instance Add(x, Const) have the arity 1 if Const is a - * machine operand, Add(x, ADR(b, i)) have arity 3. - * - * We simulate the the normal concept of get_irn_n/set_irn_n. - * Instead of the node machine handle are used which are just - * caches for the leaf positions of a machine node. - * This means, it is only possible to manipulate the leafs! - * Do not mix _mirn_ and _irn_ calls or terrible things can happen :-) - * - * Note further that currently the number of ins for a machine - * instruction is limited to 8 + arity of Firm node which means - * up to 8 registers can be added due to machine operands. - * - * Moreover machine handles must be destroyed yet... - * - * The convenience functions create the handle and drop it at the end. - * as operands are seldom, they have a complexity of O(#predecessors) - * which is near to O(1) for most node but use them seldom ... - */ - -/** - * The machine handle. A cache to access and set - * the predecessors (leafs) of a machine node. - */ -typedef ir_node *** mirn_handle; - -/** - * Returns the machine handle for a machine node with machine operands. - * The order of the predecessors in this handle is not guaranteed, except that - * lists of operands as predecessors of Block or arguments of a Call are - * consecutive. - */ -mirn_handle get_mirn_in(ir_node *n); - -/** Frees a machine handle. */ -void free_mirn_in(mirn_handle h); - -/** Get the pos-th predecessor of a machine node represented by it's - handle.. */ -ir_node *get_mirn_n(mirn_handle h, int pos); - -/** Convenience: Get the pos-th predecessor of a machine node. */ -ir_node *_get_mirn_n(ir_node *n, int pos); - -/** Set the n-th predecessor of a machine node represented by it's - handle.. */ -void set_mirn_n(mirn_handle h, int pos, ir_node *n); - -/* Convenience: Set the pos-th predecessor of a machine node. */ -void _set_mirn_n(ir_node *irn, int pos, ir_node *n); - -/** Returns the arity (in terms of inputs) of a machine node represented by it's - handle. */ -int get_mirn_arity(mirn_handle h); - -/* Convenience: Returns the arity of a machine node. */ -int _get_mirn_arity(ir_node *n); - -#endif /* FIRM_BE_BEMACHNODES_H */