/**
Given a method, find the firm graph that implements that method.
*/
-static ir_graph *get_implementing_graph (entity *method)
+static ir_graph *get_implementing_graph (ir_entity *method)
{
#if 0
- ir_graph *graph = get_entity_irg ((entity*) method);
+ ir_graph *graph = get_entity_irg ((ir_entity*) method);
/* Search upwards in the overwrites graph. */
/* GL: this will not work for multiple inheritance */
if (NULL == graph) {
int i;
- int n_over = get_entity_n_overwrites ((entity*) method);
+ int n_over = get_entity_n_overwrites ((ir_entity*) method);
for (i = 0; (NULL == graph) && (i < n_over); i ++) {
- entity *over = get_entity_overwrites ((entity*) method, i);
+ ir_entity *over = get_entity_overwrites ((ir_entity*) method, i);
graph = get_implementing_graph (over);
}
}
*
* Iff additions occurred, return TRUE, else FALSE.
*/
-static int add_implementing_graphs (entity *method)
+static int add_implementing_graphs (ir_entity *method)
{
int i;
int n_over = get_entity_n_overwrittenby (method);
}
for (i = 0; i < n_over; i ++) {
- entity *over = get_entity_overwrittenby (method, i);
+ ir_entity *over = get_entity_overwrittenby (method, i);
change |= add_implementing_graphs (over);
}
opcode op = get_irn_opcode (node);
if (iro_Call == op) { /* CALL */
- entity *ent = NULL;
+ ir_entity *ent = NULL;
ir_node *ptr = get_Call_ptr (node);
for (i = 0; i < get_irp_n_irgs(); i++) {
ir_graph *graph = get_irp_irg (i);
- entity *ent = get_irg_entity (graph);
+ ir_entity *ent = get_irg_entity (graph);
if ((visibility_external_visible == get_entity_visibility (ent)) ||
(stickyness_sticky == get_entity_stickyness (ent))) {
entity that used to inherit this entity's graph is now abstract.
*/
/* Since we *know* that this entity will not be called, this is OK. */
-static void force_description (entity *ent, entity *addr)
+static void force_description (ir_entity *ent, ir_entity *addr)
{
int i, n_over = get_entity_n_overwrittenby (ent);
set_entity_peculiarity (ent, peculiarity_description);
for (i = 0; i < n_over; i ++) {
- entity *over = get_entity_overwrittenby (ent, i);
+ ir_entity *over = get_entity_overwrittenby (ent, i);
if (peculiarity_inherited == get_entity_peculiarity (over)) {
/* We rely on the fact that cse is performed on the const_code_irg. */
- entity *my_addr = get_SymConst_entity(get_atomic_ent_value(over));
+ ir_entity *my_addr = get_SymConst_entity(get_atomic_ent_value(over));
if (addr == my_addr) {
force_description (over, addr);
} else if (peculiarity_existent == get_entity_peculiarity (over)) {
/* check whether 'over' forces 'inheritance' of *our* graph: */
ir_node *f_addr = get_atomic_ent_value (over);
- entity *impl_ent = get_SymConst_entity (f_addr);
+ ir_entity *impl_ent = get_SymConst_entity (f_addr);
assert ((get_irn_op(f_addr) == op_SymConst) && "can't do complex addrs");
if (impl_ent == addr) {
*/
static void make_entity_to_description(type_or_ent *tore, void *env) {
if (get_kind(tore) == k_entity) {
- entity *ent = (entity *)tore;
+ ir_entity *ent = (ir_entity *)tore;
if ((is_Method_type(get_entity_type(ent))) &&
(get_entity_peculiarity(ent) != peculiarity_description) &&
/* do nothing (except some debugging fprintf`s :-) */
} else {
# ifdef DEBUG_libfirm
- entity *ent = get_irg_entity (graph);
+ ir_entity *ent = get_irg_entity (graph);
assert (visibility_external_visible != get_entity_visibility (ent));
# endif /* defined DEBUG_libfirm */
/*
* $Log$
+ * Revision 1.39 2006/12/13 13:15:12 beck
+ * renamed entity -> ir_entity
+ *
* Revision 1.38 2006/12/12 16:12:05 beck
* Fixed missing initialization
*
static ir_node *
new_bd_Sel(dbg_info *db, ir_node *block, ir_node *store, ir_node *objptr,
- int arity, ir_node **in, entity *ent)
+ int arity, ir_node **in, ir_entity *ent)
{
ir_node **r_in;
ir_node *res;
ir_node *
new_rd_simpleSel(dbg_info *db, ir_graph *irg, ir_node *block,
- ir_node *store, ir_node *objptr, entity *ent)
+ ir_node *store, ir_node *objptr, ir_entity *ent)
{
ir_node *res;
ir_graph *rem = current_ir_graph;
ir_node *
new_rd_Sel(dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store, ir_node *objptr,
- int arity, ir_node **in, entity *ent)
+ int arity, ir_node **in, ir_entity *ent)
{
ir_node *res;
ir_graph *rem = current_ir_graph;
return res;
} /* new_rd_SymConst */
-ir_node *new_rd_SymConst_addr_ent(dbg_info *db, ir_graph *irg, entity *symbol, ir_type *tp)
+ir_node *new_rd_SymConst_addr_ent(dbg_info *db, ir_graph *irg, ir_entity *symbol, ir_type *tp)
{
symconst_symbol sym;
sym.entity_p = symbol;
return new_rd_SymConst_type(db, irg, get_irg_start_block(irg), sym, symconst_addr_ent, tp);
} /* new_rd_SymConst_addr_ent */
-ir_node *new_rd_SymConst_ofs_ent(dbg_info *db, ir_graph *irg, entity *symbol, ir_type *tp)
+ir_node *new_rd_SymConst_ofs_ent(dbg_info *db, ir_graph *irg, ir_entity *symbol, ir_type *tp)
{
symconst_symbol sym;
sym.entity_p = symbol;
return new_rd_SymConst(NULL, irg, block, value, symkind);
}
ir_node *new_r_simpleSel(ir_graph *irg, ir_node *block, ir_node *store,
- ir_node *objptr, entity *ent) {
+ ir_node *objptr, ir_entity *ent) {
return new_rd_Sel(NULL, irg, block, store, objptr, 0, NULL, ent);
}
ir_node *new_r_Sel (ir_graph *irg, ir_node *block, ir_node *store,
ir_node *objptr, int n_index, ir_node **index,
- entity *ent) {
+ ir_entity *ent) {
return new_rd_Sel(NULL, irg, block, store, objptr, n_index, index, ent);
}
ir_node *new_r_Call (ir_graph *irg, ir_node *block, ir_node *store,
}
ir_node *
-new_d_simpleSel(dbg_info *db, ir_node *store, ir_node *objptr, entity *ent)
+new_d_simpleSel(dbg_info *db, ir_node *store, ir_node *objptr, ir_entity *ent)
/* GL: objptr was called frame before. Frame was a bad choice for the name
as the operand could as well be a pointer to a dynamic object. */
{
} /* new_d_simpleSel */
ir_node *
-new_d_Sel(dbg_info *db, ir_node *store, ir_node *objptr, int n_index, ir_node **index, entity *sel)
+new_d_Sel(dbg_info *db, ir_node *store, ir_node *objptr, int n_index, ir_node **index, ir_entity *sel)
{
return new_bd_Sel(db, current_ir_graph->current_block,
store, objptr, n_index, index, sel);
ir_node *new_SymConst (symconst_symbol value, symconst_kind kind) {
return new_d_SymConst(NULL, value, kind);
}
-ir_node *new_simpleSel(ir_node *store, ir_node *objptr, entity *ent) {
+ir_node *new_simpleSel(ir_node *store, ir_node *objptr, ir_entity *ent) {
return new_d_simpleSel(NULL, store, objptr, ent);
}
ir_node *new_Sel (ir_node *store, ir_node *objptr, int arity, ir_node **in,
- entity *ent) {
+ ir_entity *ent) {
return new_d_Sel(NULL, store, objptr, arity, in, ent);
}
ir_node *new_Call (ir_node *store, ir_node *callee, int arity, ir_node **in,
* ir_node *new_Return (ir_node *store, int arity, ir_node **in);
* ir_node *new_Const (ir_mode *mode, tarval *con);
* ir_node *new_SymConst (symconst_symbol value, symconst_kind kind);
- * ir_node *new_simpleSel (ir_node *store, ir_node *objptr, entity *ent);
+ * ir_node *new_simpleSel (ir_node *store, ir_node *objptr, ir_entity *ent);
* ir_node *new_Sel (ir_node *store, ir_node *objptr, int arity,
- * ir_node **in, entity *ent);
+ * ir_node **in, ir_entity *ent);
* ir_node *new_Call (ir_node *store, ir_node *callee, int arity,
* ir_node **in, type_method *type);
* ir_node *new_Add (ir_node *op1, ir_node *op2, ir_mode *mode);
*
* ---------------
*
- * ir_node *new_simpleSel (ir_node *store, ir_node *frame, entity *sel)
- * --------------------------------------------------------------------
+ * ir_node *new_simpleSel (ir_node *store, ir_node *frame, ir_entity *sel)
+ * -----------------------------------------------------------------------
*
*
* Selects an entity from a compound type. This entity can be a field or
*
* ir_node *new_Sel (ir_node *store, ir_node *frame, int arity, ir_node **in,
* --------------------------------------------------------------------------
- * entity *sel)
- * ------------
+ * ir_entity *sel)
+ * ---------------
*
* Selects a field from an array type. The entity has as owner the array, as
* type the arrays element type. The indices to access an array element are
* @param *tp The type of the constant.
*/
ir_node *new_rd_Const_type (dbg_info *db, ir_graph *irg, ir_node *block,
- ir_mode *mode, tarval *con, ir_type *tp);
+ ir_mode *mode, tarval *con, ir_type *tp);
/** Constructor for a Const node.
*
* @param *con Points to an entry in the constant table.
*/
ir_node *new_rd_Const (dbg_info *db, ir_graph *irg, ir_node *block,
- ir_mode *mode, tarval *con);
+ ir_mode *mode, tarval *con);
/** Constructor for a SymConst_type node.
*
* @param tp The source type of the constant.
*/
ir_node *new_rd_SymConst_type (dbg_info *db, ir_graph *irg, ir_node *block, union symconst_symbol value,
- symconst_kind symkind, ir_type *tp);
+ symconst_kind symkind, ir_type *tp);
/** Constructor for a SymConst node.
*
* Same as new_rd_SymConst_type, except that it sets the type to type_unknown. */
ir_node *new_rd_SymConst (dbg_info *db, ir_graph *irg, ir_node *block,
- union symconst_symbol value, symconst_kind symkind);
+ union symconst_symbol value, symconst_kind symkind);
/** Constructor for a SymConst addr_ent node.
*
* Same as new_rd_SymConst_type, except that the constructor is tailored for
* symconst_addr_ent.
* Adds the SymConst to the start block of irg. */
-ir_node *new_rd_SymConst_addr_ent (dbg_info *db, ir_graph *irg, entity *symbol, ir_type *tp);
+ir_node *new_rd_SymConst_addr_ent (dbg_info *db, ir_graph *irg, ir_entity *symbol, ir_type *tp);
/** Constructor for a SymConst ofs_ent node.
*
* Same as new_rd_SymConst_type, except that the constructor is tailored for
* symconst_ofs_ent.
* Adds the SymConst to the start block of irg. */
-ir_node *new_rd_SymConst_ofs_ent (dbg_info *db, ir_graph *irg, entity *symbol, ir_type *tp);
+ir_node *new_rd_SymConst_ofs_ent (dbg_info *db, ir_graph *irg, ir_entity *symbol, ir_type *tp);
/** Constructor for a SymConst addr_name node.
*
* @param *ent The entity to select.
*/
ir_node *new_rd_simpleSel (dbg_info *db, ir_graph *irg, ir_node *block,
- ir_node *store, ir_node *objptr, entity *ent);
+ ir_node *store, ir_node *objptr, ir_entity *ent);
/** Constructor for a Sel node.
*
* @param *ent The entity to select.
*/
ir_node *new_rd_Sel (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store,
- ir_node *objptr, int n_index, ir_node *index[], entity *ent);
+ ir_node *objptr, int n_index, ir_node *index[], ir_entity *ent);
/** Constructor for a Call node.
*
* @param *tp Type information of the procedure called.
*/
ir_node *new_rd_Call (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store,
- ir_node *callee, int arity, ir_node *in[], ir_type *tp);
+ ir_node *callee, int arity, ir_node *in[], ir_type *tp);
/** Constructor for a Add node.
*
* @param *mode The mode of the operands and the result.
*/
ir_node *new_rd_Add (dbg_info *db, ir_graph *irg, ir_node *block,
- ir_node *op1, ir_node *op2, ir_mode *mode);
+ ir_node *op1, ir_node *op2, ir_mode *mode);
/** Constructor for a Sub node.
*
* @param *mode The mode of the operands and the result.
*/
ir_node *new_rd_Sub (dbg_info *db, ir_graph *irg, ir_node *block,
- ir_node *op1, ir_node *op2, ir_mode *mode);
+ ir_node *op1, ir_node *op2, ir_mode *mode);
/** Constructor for a Minus node.
*
* @param *ent The entity to select.
*/
ir_node *new_r_simpleSel(ir_graph *irg, ir_node *block, ir_node *store,
- ir_node *objptr, entity *ent);
+ ir_node *objptr, ir_entity *ent);
/** Constructor for a Sel node.
*
*/
ir_node *new_r_Sel (ir_graph *irg, ir_node *block, ir_node *store,
ir_node *objptr, int n_index, ir_node *index[],
- entity *ent);
+ ir_entity *ent);
/** Constructor for a Call node.
*
* single attribute out.
* @param *ent The entity to select.
*/
-ir_node *new_d_simpleSel(dbg_info *db, ir_node *store, ir_node *objptr, entity *ent);
+ir_node *new_d_simpleSel(dbg_info *db, ir_node *store, ir_node *objptr, ir_entity *ent);
/** Constructor for a Sel node.
*
* @param *ent The entity to select.
*/
ir_node *new_d_Sel (dbg_info *db, ir_node *store, ir_node *objptr, int arity, ir_node *in[],
- entity *ent);
+ ir_entity *ent);
/** Constructor for a Call node.
*
* @param where Where to allocate the variable, either heap_alloc or stack_alloc.
*/
ir_node *new_d_Alloc (dbg_info *db, ir_node *store, ir_node *size, ir_type *alloc_type,
- where_alloc where);
+ where_alloc where);
/** Constructor for a Free node.
*
* @param *objptr The object from that the Sel operation selects a single attribute out.
* @param *ent The entity to select.
*/
-ir_node *new_simpleSel(ir_node *store, ir_node *objptr, entity *ent);
+ir_node *new_simpleSel(ir_node *store, ir_node *objptr, ir_entity *ent);
/** Constructor for a Sel node.
*
* @param *ent The entity to select.
*/
ir_node *new_Sel (ir_node *store, ir_node *objptr, int arity, ir_node *in[],
- entity *ent);
+ ir_entity *ent);
/** Constructor for a Call node.
*
* @param *tp Type information of the procedure called.
*/
ir_node *new_Call (ir_node *store, ir_node *callee, int arity, ir_node *in[],
- ir_type *tp);
+ ir_type *tp);
/** Constructor for a CallBegin node.
*
* @param where Where the variable was allocated, either heap_alloc or stack_alloc.
*/
ir_node *new_Free (ir_node *store, ir_node *ptr, ir_node *size,
- ir_type *free_type, where_alloc where);
+ ir_type *free_type, where_alloc where);
/** Constructor for a Sync node.
*