X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fopt_confirms.h;h=62710959c7de4a19d224241c8a435acaf7a6273d;hb=3f57d89fcb7055fc726a41aa63214aab97854cdf;hp=5b3715a9de2f059d4c503627ca9c3e7ca7eafc68;hpb=eb08138c6b80c169945568e4414f491a9bc20388;p=libfirm diff --git a/ir/opt/opt_confirms.h b/ir/opt/opt_confirms.h index 5b3715a9d..62710959c 100644 --- a/ir/opt/opt_confirms.h +++ b/ir/opt/opt_confirms.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -17,29 +17,23 @@ * PURPOSE. */ -/* - * Project: libFIRM - * File name: ir/opt/opt_confirms.h - * Purpose: Optimizations regarding Confirm nodes - * Author: Michael Beck - * Modified by: - * Created: - * CVS-ID: $Id$ - * Copyright: (c) 1998-2005 Universität Karlsruhe - * License: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. - */ -#ifndef _OPT_CONFIRMS_H_ -#define _OPT_CONFIRMS_H_ - -#include "irnode.h" - -/**a - * @file opt_confirms.h +/** + * @file + * @brief Optimizations regarding Confirm nodes. + * @author Michael Beck + * @version $Id$ * * Optimizations regarding Confirm nodes. * These optimizations are not means to be run from * frontends, they are called from iropt. */ +#ifndef FIRM_OPT_CONFIRMS_H +#define FIRM_OPT_CONFIRMS_H + +#include "firm_types.h" + +/** Needed for MSVC to suporess warnings because it doest NOT handle const right. */ +typedef const ir_node *ir_node_cnst_ptr; /** * Check, if the value of a node is != 0. @@ -51,12 +45,12 @@ * @param confirm if n is confirmed to be != 0, returns * the the Confirm-node, else NULL */ -int value_not_zero(ir_node *n, ir_node **confirm); +int value_not_zero(const ir_node *n, ir_node_cnst_ptr *confirm); /** * Check, if the value of a node cannot represent a NULL pointer. * - * - If sel_based_null_check_elim is enabled, all + * - If option sel_based_null_check_elim is enabled, all * Sel nodes can be skipped. * - A SymConst(entity) is NEVER a NULL pointer * - A Const != NULL is NEVER a NULL pointer @@ -66,16 +60,16 @@ int value_not_zero(ir_node *n, ir_node **confirm); * @param confirm if n is confirmed to be != NULL, returns * the the Confirm-node, else NULL */ -int value_not_null(ir_node *n, ir_node **confirm); +int value_not_null(const ir_node *n, ir_node_cnst_ptr *confirm); /** * Possible return values of value_classify(). */ -typedef enum _value_classify_sign { - value_classified_unknown = 0, /**< could not classify */ - value_classified_positive = 1, /**< value is positive, i.e. >= 0 */ - value_classified_negative = -1 /**< value is negative, i.e. <= 0 if - no signed zero exists or < 0 else */ +typedef enum value_classify_sign { + value_classified_unknown = 0, /**< could not classify */ + value_classified_positive = 1, /**< value is positive, i.e. >= 0 */ + value_classified_negative = -1 /**< value is negative, i.e. <= 0 if + no signed zero exists or < 0 else */ } value_classify_sign; /** @@ -98,4 +92,4 @@ value_classify_sign classify_value_sign(ir_node *n); */ tarval *computed_value_Cmp_Confirm(ir_node *cmp, ir_node *left, ir_node *right, pn_Cmp pnc); -#endif /* _OPT_CONFIRMS_H_ */ +#endif /* FIRM_OPT_CONFIRMS_H */