X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firflag.h;h=1489253f22a0cb690162918aa54aea3348d88a95;hb=eda9d668d0e8c8246015b4c5e743316a6a835a23;hp=63ccef2f13a8cdabb0ecc2d3d91eb40af9da3ca0;hpb=54c4f9240c8ce3b556fb85954c0b507758380c22;p=libfirm diff --git a/ir/ir/irflag.h b/ir/ir/irflag.h index 63ccef2f1..1489253f2 100644 --- a/ir/ir/irflag.h +++ b/ir/ir/irflag.h @@ -1,22 +1,30 @@ /* - * Project: libFIRM - * File name: ir/ir/irflag.h - * Purpose: Flags to control optimizations. - * Author: Christian Schaefer, Goetz Lindenmaier - * Modified by: Michael Beck - * Created: - * CVS-ID: $Id$ - * Copyright: (c) 1999-2003 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 irflag.h - * + * @file + * @brief Flags to control optimizations. + * @author Christian Schaefer, Goetz Lindenmaier, Michael Beck + * @version $Id$ + * @summary * Flags to customize the behavior of libfirm. * - * @author Christian Schaefer - * * There are the following groups of flags: * 1. Optimization flags. * a) There is a flag, 'optimize' to turn on/off all optimizations. @@ -31,8 +39,8 @@ * 4. Verification flag * This one controls the behavior of node and type verifications */ -#ifndef _FIRM_IR_IRFLAG_H_ -#define _FIRM_IR_IRFLAG_H_ +#ifndef FIRM_IR_IRFLAG_H +#define FIRM_IR_IRFLAG_H #include "firm_types.h" @@ -235,14 +243,14 @@ void set_opt_fragile_ops(int value); void set_opt_if_conversion(int value); /** - * Enable/Disable real function call optimization. + * Enable/Disable function call optimization. * - * Real function call optimization detects "real functions" and - * allows the floating of Call nodes. A "real function" is one that + * Function call optimization detects const and pure functions and + * allows the CSE of Call nodes. A const function is one that * do only evaluate it's parameters and did not read or write memory - * to compute its results. + * to compute its results. Pure functions are allowed to read global memory. */ -void set_opt_real_function_call(int value); +void set_opt_function_call(int value); /** * Enable/Disable Confirm node removal during local optimization. @@ -329,6 +337,12 @@ void set_opt_normalize (int value); */ void set_opt_precise_exc_context(int value); +/** Enable/Disable Alias analysis. + * + * If enabled, memory disambiguation by alias analysis is used. + */ +void set_opt_alias_analysis(int value); + /** Enable/Disable closed world assumption. * * If enabled, optimizations expect to know the "whole world", i.e. no @@ -369,4 +383,4 @@ typedef enum _firm_verification_t { */ void do_node_verification(firm_verification_t mode); -#endif /* _FIRM_IR_IRFLAG_H_ */ +#endif