static worklist_t *new_worklist(void)
{
- worklist_t *worklist = obstack_alloc(&obst, sizeof(worklist[0]));
- memset(worklist, 0, sizeof(worklist[0]));
+ worklist_t *worklist = OALLOCZ(&obst, worklist_t);
INIT_LIST_HEAD(&worklist->live_values);
worklist->n_live_values = 0;
if (info != NULL)
return info;
- info = obstack_alloc(&obst, sizeof(info[0]));
- memset(info, 0, sizeof(info[0]));
+ info = OALLOCZ(&obst, block_info_t);
set_irn_link(block, info);
return info;
}
if (irn_visited_else_mark(value))
continue;
- new_entry = obstack_alloc(&obst, sizeof(new_entry[0]));
- memset(new_entry, 0, sizeof(new_entry[0]));
+ new_entry = OALLOCZ(&obst, worklist_entry_t);
new_entry->value = value;
if (reload_point != NULL) {
worklist_t *new_worklist;
struct list_head *entry;
- new_worklist = obstack_alloc(&obst, sizeof(new_worklist[0]));
- memset(new_worklist, 0, sizeof(new_worklist[0]));
+ new_worklist = OALLOCZ(&obst, worklist_t);
INIT_LIST_HEAD(&new_worklist->live_values);
new_worklist->n_live_values = worklist->n_live_values;
list_for_each(entry, &worklist->live_values) {
worklist_entry_t *wl_entry = list_entry(entry, worklist_entry_t, head);
- worklist_entry_t *new_entry
- = obstack_alloc(&obst, sizeof(new_entry[0]));
+ worklist_entry_t *new_entry = OALLOC(&obst, worklist_entry_t);
memcpy(new_entry, wl_entry, sizeof(new_entry[0]));
list_add_tail(&new_entry->head, &new_worklist->live_values);
if (info != NULL)
return info;
- info = obstack_alloc(&obst, sizeof(info[0]));
- memset(info, 0, sizeof(info[0]));
+ info = OALLOCZ(&obst, loop_info_t);
info->loop = loop;
loop->link = info;
return info;
do {
loop_info_t *l_info = get_loop_info(l);
- edge = obstack_alloc(&obst, sizeof(edge[0]));
- memset(edge, 0, sizeof(edge[0]));
+ edge = OALLOCZ(&obst, loop_edge_t);
edge->block = block;
edge->pos = i;
return;
entry = worklist->live_values.next;
- for(i = spills_needed; i > 0; --i) {
+ for (i = spills_needed; i > 0; --i) {
struct list_head *next = entry->next;
worklist_entry_t *wl_entry
= list_entry(entry, worklist_entry_t, head);
list_del(&entry->head);
} else {
if (entry == NULL) {
- entry = obstack_alloc(&obst, sizeof(entry[0]));
- memset(entry, 0, sizeof(entry[0]));
-
+ entry = OALLOCZ(&obst, worklist_entry_t);
entry->value = value;
set_irn_link(value, entry);
}
/* put all values used by the instruction into the workset */
arity = get_irn_arity(node);
- for(i = 0; i < arity; ++i) {
+ for (i = 0; i < arity; ++i) {
ir_node *use = get_irn_n(node, i);
if (!arch_irn_consider_in_reg_alloc(cls, use))
++worklist_visited;
- while(fill_start_worklist(worklist, block)) {
+ while (fill_start_worklist(worklist, block)) {
if (worklist->n_live_values >= n_regs)
break;
}
}
#endif
- entry = obstack_alloc(&obst, sizeof(*entry));
- memset(entry, 0, sizeof(entry[0]));
-
+ entry = OALLOCZ(&obst, worklist_entry_t);
entry->value = value;
entry->reload_point = reload_point;
entry->unused_livethrough_loop = unused_livethrough_loop;