X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fbe%2Fbechordal.h;h=a42034a87e83c952b4e24dbeb84668ccc4050c55;hb=9181bbbb24cd351c0e21c538bcf0341674e0c3fc;hp=580a98c23c2115a2eaf4a2e67bf1cd015ead4b37;hpb=20a2ed47862b0fa29c059e6144616e846d3b5e46;p=libfirm diff --git a/ir/be/bechordal.h b/ir/be/bechordal.h index 580a98c23..a42034a87 100644 --- a/ir/be/bechordal.h +++ b/ir/be/bechordal.h @@ -1,22 +1,25 @@ - -/** - * Chordal register allocation. - * @author Sebastian Hack - * @date 14.12.2004 +/* + * This file is part of libFirm. + * Copyright (C) 2012 University of Karlsruhe. */ -#ifndef __BECHORDAL_H -#define __BECHORDAL_H - /** - * Allocate registers for an ir graph. - * @param irg The graph. - * @return Some internal data to be freed with be_ra_chordal_free(). + * @file + * @brief Chordal register allocation. + * @author Sebastian Hack + * @date 14.12.2004 */ -void be_ra_chordal(ir_graph *irg); +#ifndef FIRM_BE_BECHORDAL_H +#define FIRM_BE_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; -void be_ra_chordal_done(ir_graph *irg); +typedef struct be_ra_chordal_coloring_t { + void (*allocate)(be_chordal_env_t *env); +} be_ra_chordal_coloring_t; -int phi_ops_interfere(const ir_node *a, const ir_node *b); +void be_register_chordal_coloring(const char *name, be_ra_chordal_coloring_t *coloring); -#endif +#endif /* FIRM_BE_BECHORDAL_H */