*/
static void lower_sel(ir_node *sel)
{
- ir_graph *irg = current_ir_graph;
- ir_entity *ent;
- ir_node *newn, *cnst, *index, *ptr, *bl;
- tarval *tv;
- ir_mode *basemode, *mode, *mode_Int;
- ir_type *basetyp, *owner;
- dbg_info *dbg;
+ ir_graph *irg = current_ir_graph;
+ ir_entity *ent;
+ ir_node *newn, *cnst, *index, *ptr, *bl;
+ ir_tarval *tv;
+ ir_mode *basemode, *mode, *mode_Int;
+ ir_type *basetyp, *owner;
+ dbg_info *dbg;
assert(is_Sel(sel));
}
} else {
/* no array type */
- ir_mode *idx_mode = get_irn_mode(index);
- tarval *tv = new_tarval_from_long(get_mode_size_bytes(basemode), idx_mode);
+ ir_mode *idx_mode = get_irn_mode(index);
+ ir_tarval *tv = new_tarval_from_long(get_mode_size_bytes(basemode), idx_mode);
newn = new_rd_Add(dbg, bl, get_Sel_ptr(sel),
new_rd_Mul(dbg, bl, index,
cnst = new_rd_Const(dbg, irg, tv);
add = new_rd_Add(dbg, bl, get_Sel_ptr(sel), cnst, mode);
#ifdef DO_CACHEOPT /* cacheopt version */
- newn = new_rd_Load(dbg, bl, get_Sel_mem(sel), sel, ent_mode, 0);
+ newn = new_rd_Load(dbg, bl, get_Sel_mem(sel), sel, ent_mode, cons_none);
cacheopt_map_addrs_register_node(newn);
set_Load_ptr(newn, add);
#else /* normal code */
- newn = new_rd_Load(dbg, bl, get_Sel_mem(sel), add, ent_mode, 0);
+ newn = new_rd_Load(dbg, bl, get_Sel_mem(sel), add, ent_mode, cons_none);
#endif
newn = new_r_Proj(newn, ent_mode, pn_Load_res);
}
} else {
/* global_type */
- newn = new_rd_SymConst_addr_ent(NULL, irg, mode, ent, firm_unknown_type);
+ newn = new_rd_SymConst_addr_ent(NULL, irg, mode, ent);
}
}
/* run the hooks */
ir_node *newn;
ir_type *tp;
ir_entity *ent;
- tarval *tv;
+ ir_tarval *tv;
ir_enum_const *ec;
ir_mode *mode;
ir_graph *irg;
if (neg_mask) {
/* there are some bits, normal case */
- irn = new_r_Load(block, mem, ptr, mode, 0);
+ irn = new_r_Load(block, mem, ptr, mode, cons_none);
mem = new_r_Proj(irn, mode_M, pn_Load_M);
irn = new_r_Proj(irn, mode, pn_Load_res);
set_irg_outs_inconsistent(irg);
}
-struct pass_t {
+typedef struct pass_t {
ir_graph_pass_t pass;
int lower_bitfields;
-};
+} pass_t;
/**
* Wrapper for running lower_highlevel_graph() as an ir_graph pass.
*/
static int lower_highlevel_graph_wrapper(ir_graph *irg, void *context)
{
- struct pass_t *pass = context;
+ pass_t *pass = (pass_t*)context;
lower_highlevel_graph(irg, pass->lower_bitfields);
return 0;
ir_graph_pass_t *lower_highlevel_graph_pass(const char *name, int lower_bitfields)
{
- struct pass_t *pass = XMALLOCZ(struct pass_t);
+ pass_t *pass = XMALLOCZ(pass_t);
pass->lower_bitfields = lower_bitfields;
return def_graph_pass_constructor(