X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbelower.h;h=ac02dafdab73020f14d6af0c6cd01d37132cb918;hb=226c238839ce84c2c310c8e7522838160c6f71af;hp=e6c1e4fc8e0dd70666182eb580bc28528363b6d1;hpb=454ec00bbe5e29a952428276fbfae4aea2a8f447;p=libfirm diff --git a/ir/be/belower.h b/ir/be/belower.h index e6c1e4fc8..ac02dafda 100644 --- a/ir/be/belower.h +++ b/ir/be/belower.h @@ -1,15 +1,34 @@ +/* + * This file is part of libFirm. + * Copyright (C) 2012 University of Karlsruhe. + */ + /** - * 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 */ +#ifndef FIRM_BE_BELOWER_H +#define FIRM_BE_BELOWER_H -#ifndef _BELOWER_H_ -#define _BELOWER_H_ +#include "firm_types.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(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