* src/SDCCglue.c (emitMaps): allow public sfr variables
[fw/sdcc] / src / avr / ralloc.c
index 134286c46a39b27590d36b7aa72751069844fc67..abecd394c9a2efde31e97fec66b23eb669e6b98c 100644 (file)
@@ -2230,6 +2230,10 @@ avr_assignRegisters (eBBlock ** ebbs, int count)
        for (i = 0; i < count; i++)
                packRegisters (ebbs[i]);
 
+       /* liveranges probably changed by register packing
+          so we compute them again */
+       recomputeLiveRanges (ebbs, count);
+
        if (options.dump_pack)
                dumpEbbsToFileExt (DUMP_PACK, ebbs, count);