Browse Source

* release register used in for-loop before end label (for better
optimizations)

Jonas Maebe 25 years ago
parent
commit
0fd1e94dbb
1 changed files with 7 additions and 3 deletions
  1. 7 3
      compiler/cg386flw.pas

+ 7 - 3
compiler/cg386flw.pas

@@ -367,12 +367,12 @@ implementation
          emitjmp(C_None,l3);
          emitjmp(C_None,l3);
 
 
          { this is the break label: }
          { this is the break label: }
-         emitlab(aktbreaklabel);
          ungetregister32(cmp32);
          ungetregister32(cmp32);
-
          if temptovalue then
          if temptovalue then
            ungetiftemp(temp1);
            ungetiftemp(temp1);
 
 
+         emitlab(aktbreaklabel);
+
          aktcontinuelabel:=oldclabel;
          aktcontinuelabel:=oldclabel;
          aktbreaklabel:=oldblabel;
          aktbreaklabel:=oldblabel;
          { a break/continue in a for block can't be seen outside }
          { a break/continue in a for block can't be seen outside }
@@ -1206,7 +1206,11 @@ do_jmp:
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.70  2000-02-29 23:58:19  pierre
+  Revision 1.71  2000-04-16 08:08:44  jonas
+    * release register used in for-loop before end label (for better
+      optimizations)
+
+  Revision 1.70  2000/02/29 23:58:19  pierre
     Use $GOTO ON
     Use $GOTO ON
 
 
   Revision 1.69  2000/02/10 23:44:42  florian
   Revision 1.69  2000/02/10 23:44:42  florian