X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Fvrp.c;h=ac200f40d061464616c677d89770a277723d190c;hb=031078da41d1889efcb12250ca35a0124b30cefa;hp=8165fc2fb5a494efaf0414e859ffb39c693afbf3;hpb=3e32262d83cf529f74aae833c7557557ab39782a;p=libfirm diff --git a/ir/ana/vrp.c b/ir/ana/vrp.c index 8165fc2fb..ac200f40d 100644 --- a/ir/ana/vrp.c +++ b/ir/ana/vrp.c @@ -51,13 +51,12 @@ typedef struct vrp_env_t { static vrp_attr *vrp_get_or_set_info(ir_vrp_info *info, const ir_node *node) { - vrp_attr *attr = ir_nodemap_get(&info->infos, node); + vrp_attr *attr = ir_nodemap_get(vrp_attr, &info->infos, node); if (attr == NULL) { ir_mode *mode = get_irn_mode(node); assert(mode_is_int(mode)); - attr = obstack_alloc(&info->obst, sizeof(*attr)); - memset(attr, 0, sizeof(*attr)); + attr = OALLOCZ(&info->obst, vrp_attr); attr->range_type = VRP_UNDEFINED; attr->bits_set = get_mode_null(mode); attr->bits_not_set = get_mode_all_one(mode); @@ -74,7 +73,7 @@ vrp_attr *vrp_get_info(const ir_node *node) ir_graph *irg = get_irn_irg(node); if (irg->vrp.infos.data == NULL) return NULL; - return (vrp_attr*) ir_nodemap_get(&irg->vrp.infos, node); + return ir_nodemap_get(vrp_attr, &irg->vrp.infos, node); } static int vrp_update_node(ir_vrp_info *info, ir_node *node) @@ -570,7 +569,7 @@ void set_vrp_data(ir_graph *irg) register_hook(hook_node_info, &dump_hook); } - env = obstack_alloc(&irg->vrp.obst, sizeof(*env)); + env = OALLOCZ(&irg->vrp.obst, vrp_env_t); env->workqueue = new_waitq(); env->info = info;