X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbespillslots.h;h=752813ce3d98d30bba36eccaebb6e6ef8ce123c6;hb=e5c563cad5e1a02c31830ed2c6933890ba9cf1a9;hp=1be9c41437e7826482e6d2a9711ba0d488a125bb;hpb=65a52a96e8ab7ed601d7f98c516d37c46b674b4a;p=libfirm diff --git a/ir/be/bespillslots.h b/ir/be/bespillslots.h index 1be9c4143..752813ce3 100644 --- a/ir/be/bespillslots.h +++ b/ir/be/bespillslots.h @@ -27,9 +27,10 @@ #ifndef FIRM_BE_BESPILLSLOTS_H #define FIRM_BE_BESPILLSLOTS_H +#include #include "beirg.h" -typedef struct _be_fec_env_t be_fec_env_t; +typedef struct be_fec_env_t be_fec_env_t; /** * Initializes a new frame entity coalescer environment @@ -54,21 +55,13 @@ void be_free_frame_entity_coalescer(be_fec_env_t *env); void be_node_needs_frame_entity(be_fec_env_t *env, ir_node *node, const ir_mode *mode, int alignment); +typedef void (*set_frame_entity_func)(ir_node *node, ir_entity *entity); + /** * Assigned frame entities to all the nodes added by be_node_needs_frame_entity. * Adds memory perms where needed. */ -void be_assign_entities(be_fec_env_t *env); - -//------------------------------------------------------------------- -// Old API -//------------------------------------------------------------------- - -/** - * Assigns frame entities to all spill nodes in the irg. - * Coalesces spillslots and minimizes the number of memcopies induced by - * memory-phis. - */ -void be_coalesce_spillslots(ir_graph *irg); +void be_assign_entities(be_fec_env_t *env, set_frame_entity_func set_frame, + bool alloc_entities_at_begin); #endif