* src/SDCCicode.h,
[fw/sdcc] / src / pic16 / ralloc.c
index d06ecc89a4e980de5e9a7f86ac21a9dcd5aff5b8..3e6c3f03a28a04749418e26b194c3db6bfcf797d 100644 (file)
@@ -1734,7 +1734,9 @@ selectSpil (iCode * ic, eBBlock * ebp, symbol * forSym)
 
       /* check if there are any live ranges that not
          used in the remainder of the block */
-      if (!_G.blockSpil && (selectS = liveRangesWith (lrcs, notUsedInRemaining, ebp, ic)))
+      if (!_G.blockSpil &&
+          !isiCodeInFunctionCall (ic) &&       
+          (selectS = liveRangesWith (lrcs, notUsedInRemaining, ebp, ic)))
        {
          sym = leastUsedLR (selectS);
          if (!sym->remat)