X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeilpsched.h;h=6b23d0b1c9268bbe11c946e7c8beef55b227bfab;hb=93da909d12b7bec51aa36ee5f05966c331f90fb9;hp=137918bc30b31443632d32559f855e9df21d5201;hpb=863d31d7a5c8210432fef88b30fc3e8353131538;p=libfirm diff --git a/ir/be/beilpsched.h b/ir/be/beilpsched.h index 137918bc3..6b23d0b1c 100644 --- a/ir/be/beilpsched.h +++ b/ir/be/beilpsched.h @@ -1,10 +1,39 @@ -#ifndef _BEILPSCHED_H_ -#define _BEILPSCHED_H_ +/* + * 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. + */ -#include "firm_config.h" +/** + * @file + * @brief ILP based instruction scheduling. + * @author Christian Wuerdig + * @date 22.10.2006 + * @version $Id$ + * + * An ILP scheduler based on + * "ILP-based Instruction Scheduling for IA-64" + * by Daniel Kaestner and Sebastian Winkel + * extended with register pressure constraints by Christian Wuerdig + */ +#ifndef FIRM_BE_BEILPSCHED_H +#define FIRM_BE_BEILPSCHED_H -#include "bemachine.h" -#include "beirg.h" +#include "irgraph.h" +#include "irnode.h" typedef struct _ilp_sched_selector_t ilp_sched_selector_t; typedef struct _ilp_sched_selector_if_t ilp_sched_selector_if_t; @@ -65,7 +94,7 @@ struct _ilp_sched_selector_if_t { * @param cycle The cycle at which the node is scheduled. * @param block_env The block scheduling environment. */ - void (*node_scheduled)(const void *self, ir_node *irn, unsigned cycle, void *block_env); + void (*node_scheduled)(const void *self, const ir_node *irn, unsigned cycle, void *block_env); }; /** @@ -123,4 +152,4 @@ struct _ilp_sched_selector_t { */ void be_ilp_sched(const be_irg_t *birg, be_options_t *be_opts); -#endif /* _BEILPSCHED_H_ */ +#endif /* FIRM_BE_BEILPSCHED_H */