X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeinfo.h;h=76a5eea6d0f3ab01878134443e036cd61130b7d3;hb=bdc59608633f59b0541a04883c24d19b1bc0ffae;hp=95996484d737db5a5464605ea871137d643e4c65;hpb=7a9a11e3be2aee776c3045e8c3c4742a0b6bbcbe;p=libfirm diff --git a/ir/be/beinfo.h b/ir/be/beinfo.h index 95996484d..76a5eea6d 100644 --- a/ir/be/beinfo.h +++ b/ir/be/beinfo.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2011 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -26,11 +26,8 @@ #ifndef FIRM_BE_BEINFO_H #define FIRM_BE_BEINFO_H -#include "bearch.h" -#include "irphase_t.h" -#include "irphases_t.h" - -typedef unsigned int sched_timestep_t; +#include "be_types.h" +#include "irnode_t.h" /** * The schedule structure which is present at each ir node. @@ -38,28 +35,27 @@ typedef unsigned int sched_timestep_t; * Currently, only basic blocks are scheduled. The list head of * every block schedule list is the Block list. */ -typedef struct sched_info_t { +struct sched_info_t { ir_node *next; ir_node *prev; sched_timestep_t time_step; /**< If a is after b in a schedule, its time step is larger than b's. */ -} sched_info_t; +}; -typedef struct reg_out_info_t { +struct reg_out_info_t { const arch_register_t *reg; const arch_register_req_t *req; -} reg_out_info_t; +}; -typedef struct backend_info_t { +struct backend_info_t { sched_info_t sched_info; const arch_register_req_t **in_reqs; reg_out_info_t *out_infos; arch_irn_flags_t flags; -} backend_info_t; +}; static inline backend_info_t *be_get_info(const ir_node *node) { - backend_info_t *info = node->backend_info; - return info; + return (backend_info_t*) node->backend_info; } void be_info_init(void); @@ -69,6 +65,6 @@ void be_info_new_node(ir_node *node); void be_info_duplicate(const ir_node *old_node, ir_node *new_node); int be_info_initialized(const ir_graph *irg); -int be_info_equal(const ir_node *node1, const ir_node *node2); +int be_nodes_equal(const ir_node *node1, const ir_node *node2); #endif