* src/mcs51/gen.c (saveRegisters, unsaveRegisters): free some bitVects,
[fw/sdcc] / src / mcs51 / ralloc.c
index 832a203cbdc9205fd41f6756a84d2e4e43964832..e1ea0943438b240ec7738c52d6e427a3c77a6110 100644 (file)
@@ -2110,6 +2110,13 @@ packRegsForAssign (iCode * ic, eBBlock * ebp)
             }
         }
 
+      /* Don't move an assignment out of a critical block */
+      if (dic->op == CRITICAL)
+       {
+         dic = NULL;
+         break;
+       }
+
       if (SKIP_IC2 (dic))
         continue;