X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbespillslots.c;h=ea0eee4f184afe54d3777a918c15239fb9196feb;hb=4ed245f5007168dab7850942a7ee6b6b29a19817;hp=a1a4587c78f56af6e86d5e86021bd6e6f3de597a;hpb=9f70e2b27566ba7deb85fed0c52e001af228cef3;p=libfirm diff --git a/ir/be/bespillslots.c b/ir/be/bespillslots.c index a1a4587c7..ea0eee4f1 100644 --- a/ir/be/bespillslots.c +++ b/ir/be/bespillslots.c @@ -161,10 +161,10 @@ static spill_t *collect_memphi(ss_env_t *env, ir_node *node) { arg_spill = collect_memphi(env, arg); } - if(i == 0) { + if(res->cls == NULL) { res->cls = arg_spill->cls; } else { - assert(res->cls == arg_spill->cls); + assert(arg_spill->cls == NULL || res->cls == arg_spill->cls); } // add an affinity edge @@ -195,7 +195,7 @@ static void collect_spills_walker(ir_node *node, void *data) { ir_node *spillnode = get_memory_edge(node); spill_t *spill; - assert(spill != NULL); + assert(spillnode != NULL); if(is_Phi(spillnode)) { spill = collect_memphi(env, spillnode);