X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fxa51%2Fralloc.c;h=e53ea595c02c987a99c39502c29283de222a8549;hb=ec58d965706980b34d054c87c6359e7800bfe725;hp=364895bdc6fd87f2489d0e3d447dc37a3414ce36;hpb=6401e66edb7cff7794e45b323eddab1a5de0e0af;p=fw%2Fsdcc diff --git a/src/xa51/ralloc.c b/src/xa51/ralloc.c index 364895bd..e53ea595 100755 --- a/src/xa51/ralloc.c +++ b/src/xa51/ralloc.c @@ -985,7 +985,13 @@ serialRegAssign (eBBlock ** ebbs, int count) bitVect *spillable; int willCS; - /* if it does not need or is spilt + /* Make sure any spill location is definately allocated */ + if (sym->isspilt && !sym->remat && sym->usl.spillLoc && + !sym->usl.spillLoc->allocreq) { + sym->usl.spillLoc->allocreq++; + } + + /* if it does not need or is spilt or is already assigned to registers or will not live beyond this instructions */ if (!sym->nRegs ||