Browse Source

* fix from Florian, mantis #30334, relevant part of r33542

git-svn-id: branches/fixes_3_0@35220 -
marco 8 years ago
parent
commit
926112bba1
1 changed files with 6 additions and 2 deletions
  1. 6 2
      compiler/i386/popt386.pas

+ 6 - 2
compiler/i386/popt386.pas

@@ -74,8 +74,12 @@ begin
   UpdateUsedRegs(UsedRegs, tai(p.Next));
   RegUsedAfterInstruction :=
     (supreg in UsedRegs) and
-    (not(getNextInstruction(p,p)) or
-     not(regLoadedWithNewValue(supreg,false,p)));
+    not(regLoadedWithNewValue(supreg,false,p)) and
+    (
+      not(GetNextInstruction(p,p)) or
+      RegReadByInstruction(supreg,p) or
+      not(regLoadedWithNewValue(supreg,false,p))
+    );
 end;