X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbelower.h;h=4a2576cf0cf17352595beec770a73e805e32e77b;hb=f4069627a10d7c5d0ae49f184117cf6e23bfada0;hp=2b380f6fba42787ee129aaf7644a6d8fb048a28f;hpb=9980b12037694161f3377605ba4a376810ffe2fe;p=libfirm diff --git a/ir/be/belower.h b/ir/be/belower.h index 2b380f6fb..4a2576cf0 100644 --- a/ir/be/belower.h +++ b/ir/be/belower.h @@ -1,16 +1,49 @@ +/* + * 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. + */ + /** - * Chordal register allocation. - * @author Christian Wuerdig - * @date 2005/12/14 - * @cvsid $Id$ + * @file + * @brief Performs lowering of perm nodes. Inserts copies to assure + * register constraints. + * @author Christian Wuerdig + * @date 14.12.2005 + * @version $Id$ */ +#ifndef FIRM_BE_BELOWER_H +#define FIRM_BE_BELOWER_H -#ifndef _BELOWER_H_ -#define _BELOWER_H_ +#include "beirg.h" -#include "bechordal.h" +/** + * Walks over all nodes to assure register constraints. + * + * @param irg The graph + */ +void assure_constraints(ir_graph *irg); -void lower_nodes_before_sched(ir_graph *irg, const void *env); -void lower_nodes_after_ra(be_chordal_env_t *chord_env, int do_copy); +/** + * Walks over all blocks in an irg and performs lowering need to be + * done after register allocation (e.g. perm lowering). + * + * @param irg The graph + * @param do_copy 1 == resolve cycles with a free reg if available + */ +void lower_nodes_after_ra(ir_graph *irg, int do_copy); -#endif /* _BELOWER_H_ */ +#endif