瀏覽代碼

* added missing allocregbetween() call for a memtoreg() optimization

Jonas Maebe 24 年之前
父節點
當前提交
fe8b328091
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      compiler/i386/csopt386.pas

+ 8 - 2
compiler/i386/csopt386.pas

@@ -1685,7 +1685,10 @@ Begin
                                   if (taicpu(p).opcode = A_MOV) and
                                      (taicpu(p).oper[1].typ = top_reg) and
                                      (taicpu(p).oper[1].reg = regcounter) then
-                                    pTaiProp(p.optinfo)^.canberemoved := true
+                                    begin
+                                      pTaiProp(p.optinfo)^.canberemoved := true;
+                                      allocregbetween(asml,reg32(regcounter),hp5,p);
+                                    end
                                   else
                                     begin
                                       Taicpu(p).loadreg(0,regcounter);
@@ -1953,7 +1956,10 @@ End.
 
 {
   $Log$
-  Revision 1.21  2001-10-27 10:20:43  jonas
+  Revision 1.22  2001-11-30 16:35:02  jonas
+    * added missing allocregbetween() call for a memtoreg() optimization
+
+  Revision 1.21  2001/10/27 10:20:43  jonas
     + replace mem accesses to locations to which a reg was stored recently with that reg
 
   Revision 1.20  2001/10/14 11:50:21  jonas