/*
- * 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.
*
*/
/**
- * 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 _BELOWER_H_
-#define _BELOWER_H_
+#ifndef FIRM_BE_BELOWER_H
+#define FIRM_BE_BELOWER_H
#include "beirg.h"
-void assure_constraints(be_irg_t *birg);
-void lower_nodes_after_ra(be_irg_t *birg, int do_copy);
+/**
+ * Walks over all nodes to assure register constraints.
+ *
+ * @param irg The graph
+ */
+void assure_constraints(ir_graph *irg);
+
+/**
+ * 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