X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeloopana.h;h=407464063e3db29e2f611d54b4a2169b166a2984;hb=b7dd849f8dd4bf73629adffec3fbe19bed0e458b;hp=151300de792bb8a480c8030d245b438075be5d3f;hpb=58ea6ca3e853291444b41d537196e649f46a125d;p=libfirm diff --git a/ir/be/beloopana.h b/ir/be/beloopana.h index 151300de7..407464063 100644 --- a/ir/be/beloopana.h +++ b/ir/be/beloopana.h @@ -1,44 +1,68 @@ -/** - * Analyse register pressure in loops. - * @author Christian Wuerdig - * @date 2006/02/20 - * @cvsid $Id$ +/* + * 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. */ -#ifndef _BELOOPANA_H_ -#define _BELOOPANA_H_ +/** + * @file + * @brief Compute register pressure in loops. + * @author Christian Wuerdig + * @date 20.02.2007 + * @version $Id$ + */ +#ifndef FIRM_BE_BELOOPANA_H +#define FIRM_BE_BELOOPANA_H #include "irloop.h" #include "bearch.h" #include "beirg.h" -typedef struct _be_loopana_t be_loopana_t; +typedef struct be_loopana_t be_loopana_t; /** - * Compute the register pressure for a class of all loops in the birg. - * @param birg The backend irg object + * Compute the register pressure for a class of all loops in the irg. + * @param irg The graph * @param cls The register class to compute the pressure for - * @return The loop analysation object. + * @return The loop analysis object. */ -be_loopana_t *be_new_loop_pressure_cls(be_irg_t *birg, const arch_register_class_t *cls); +be_loopana_t *be_new_loop_pressure_cls(ir_graph *irg, + const arch_register_class_t *cls); /** - * Compute the register pressure for all classes of all loops in the birg. - * @param birg The backend irg object - * @return The loop analysation object. + * Compute the register pressure of all loops in the irg. + * @param irg The graph + * @param cls register class to compute loop pressure for, + * if NULL computes for all classes + * @return The loop analysis object. */ -be_loopana_t *be_new_loop_pressure(be_irg_t *birg); +be_loopana_t *be_new_loop_pressure(ir_graph *irg, + const arch_register_class_t *cls); /** * Returns the computed register pressure for the given class and loop. * @return The pressure or INT_MAX if not found */ -unsigned be_get_loop_pressure(be_loopana_t *loop_ana, const arch_register_class_t *cls, ir_loop *loop); +unsigned be_get_loop_pressure(be_loopana_t *loop_ana, + const arch_register_class_t *cls, ir_loop *loop); /** - * Frees loop analysation object. + * Frees loop analysis object. */ void be_free_loop_pressure(be_loopana_t *loop_ana); -#endif /* _BELOOPANA_H_ */ +#endif