Don't skip iTemp's if there is a function call in between
[fw/sdcc] / src / mcs51 / ralloc.c
index 3eeeac062664ff027fc9fb01f4d14af6d1073209..5782ad3469175c680fce1b103780558d5abaf6e9 100644 (file)
@@ -1623,7 +1623,7 @@ packRegsForAssign (iCode * ic, eBBlock * ebp)
      we cannot */
   for (dic = ic->prev; dic; dic = dic->prev)
     {
-
+#if 0 // jwk 20010410
       /* if there is a function call and this is
          a parameter & not my parameter then don't pack it */
       if ((dic->op == CALL || dic->op == PCALL) &&
@@ -1633,6 +1633,14 @@ packRegsForAssign (iCode * ic, eBBlock * ebp)
          dic = NULL;
          break;
        }
+#else
+      /* if there is a function call then don't pack it */
+      if ((dic->op == CALL || dic->op == PCALL))
+       {
+         dic = NULL;
+         break;
+       }
+#endif
 
       if (SKIP_IC2 (dic))
        continue;