From: Manuel Mohr Date: Wed, 27 Jun 2012 12:01:07 +0000 (+0200) Subject: Make spiller more deterministic. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=ba831c86db3a30edc5cfb6edde57b6ea91cccf90;p=libfirm Make spiller more deterministic. --- diff --git a/ir/be/bespillbelady.c b/ir/be/bespillbelady.c index 7424d3da3..360aa58ee 100644 --- a/ir/be/bespillbelady.c +++ b/ir/be/bespillbelady.c @@ -212,9 +212,17 @@ static const loc_t *workset_contains(const workset_t *ws, const ir_node *val) static int loc_compare(const void *a, const void *b) { - const loc_t *p = (const loc_t*)a; - const loc_t *q = (const loc_t*)b; - return p->time - q->time; + const loc_t *p = ((const loc_t*) a); + const loc_t *q = ((const loc_t*) b); + const unsigned pt = p->time; + const unsigned qt = q->time; + + if (pt < qt) + return -1; + if (pt > qt) + return 1; + + return get_irn_node_nr(p->node) - get_irn_node_nr(q->node); } static void workset_sort(workset_t *workset)