X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbestate.h;h=42bae846b63e97b9054f1a44d03f82cba9295194;hb=ae1f22bc196de900b07b51634992f06caaa01832;hp=3fb9d6faab2df5c1465d6e50ebfa4478a18d516d;hpb=863d31d7a5c8210432fef88b30fc3e8353131538;p=libfirm diff --git a/ir/be/bestate.h b/ir/be/bestate.h index 3fb9d6faa..42bae846b 100644 --- a/ir/be/bestate.h +++ b/ir/be/bestate.h @@ -1,3 +1,22 @@ +/* + * 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. + */ + /** * @file * @brief Handles state switching. This is basically the belady spill @@ -5,13 +24,11 @@ * @author Matthias Braun * @date 26.03.2007 * @version $Id$ - * Copyright: (c) Universitaet Karlsruhe - * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. */ #ifndef FIRM_BE_BESTATE_H #define FIRM_BE_BESTATE_H -#include "irnode.h" +#include "firm_types.h" #include "beirg.h" #include "bearch.h" @@ -19,13 +36,14 @@ * Callback that should create a spill for a certain value. Can return NULL * if @p force == 0 and the value can be easily rematerialized */ -typedef ir_node* (*create_spill_func) (void *env, ir_node *value, int force); +typedef ir_node *(*create_spill_func) (void *env, ir_node *value, int force, ir_node *after); /** * Callback that should create a reload for a certain value */ -typedef ir_node* (*create_reload_func) (void *env, ir_node *value, - ir_node *spill, ir_node *before); +typedef ir_node *(*create_reload_func) (void *env, ir_node *value, + ir_node *spill, ir_node *before, + ir_node *last_value); /** * Some state is expressed as a register. nodes defining a value for this @@ -38,4 +56,4 @@ void be_assure_state(be_irg_t *birg, const arch_register_t *reg, void *func_env, create_spill_func spill_func, create_reload_func reload_func); -#endif +#endif /* FIRM_BE_BESTATE_H */