X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbechordal.h;h=a1d242aea1a356161f651c4a057df5eebf0ee10c;hb=6f068af98daa4725d60e5d23a8f98ec2841cfa44;hp=41256936aa071db29d299e7301cd03b7c9b6596d;hpb=9b060a71a2667ced8d103023eda0ff710e799867;p=libfirm diff --git a/ir/be/bechordal.h b/ir/be/bechordal.h index 41256936a..a1d242aea 100644 --- a/ir/be/bechordal.h +++ b/ir/be/bechordal.h @@ -1,20 +1,40 @@ +/* + * 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 Sebastian Hack - * @date 14.12.2004 + * @file + * @brief Chordal register allocation. + * @author Sebastian Hack + * @date 14.12.2004 + * @version $Id$ */ +#ifndef FIRM_BE_BECHORDAL_H +#define FIRM_BE_BECHORDAL_H -#ifndef __BECHORDAL_H -#define __BECHORDAL_H +typedef struct be_chordal_env_t be_chordal_env_t; +typedef struct be_ra_chordal_opts_t be_ra_chordal_opts_t; +typedef struct border_t border_t; -/** - * Allocate registers for an ir graph. - * @param irg The graph. - * @return Some internal data to be freed with be_ra_chordal_free(). - */ -void be_ra_chordal(ir_graph *irg); +typedef struct be_ra_chordal_coloring_t { + void (*allocate)(be_chordal_env_t *env); +} be_ra_chordal_coloring_t; -void be_ra_chordal_free(ir_graph *irg); +void be_register_chordal_coloring(const char *name, be_ra_chordal_coloring_t *coloring); -#endif +#endif /* FIRM_BE_BECHORDAL_H */