X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbespillbelady.c;h=09666938397c924b8f29207f5864a432c5a8a454;hb=dd4cd761ab637d4488c7e29f49843b1b02366acf;hp=6f0b45a60e8e1bd7f75704eb5e3c25df46bc025e;hpb=0b1140d1887f497ef413709e5cda2608f2cd1017;p=libfirm diff --git a/ir/be/bespillbelady.c b/ir/be/bespillbelady.c index 6f0b45a60..096669383 100644 --- a/ir/be/bespillbelady.c +++ b/ir/be/bespillbelady.c @@ -870,10 +870,14 @@ static void fix_block_borders(ir_node *block, void *data) DB((dbg, DBG_FIX, "\n")); DB((dbg, DBG_FIX, "Fixing %+F\n", block)); + arity = get_irn_arity(block); + /* can happen for endless loops */ + if (arity == 0) + return; + start_workset = get_block_info(block)->start_workset; /* process all pred blocks */ - arity = get_irn_arity(block); for (i = 0; i < arity; ++i) { ir_node *pred = get_Block_cfgpred_block(block, i); workset_t *pred_end_workset = get_block_info(pred)->end_workset;