Browse Source

* when getting rid of a for loop by unrolling, simplify the block afterwards,
this requires also that the constant is first passed

git-svn-id: trunk@33244 -

florian 9 năm trước cách đây
mục cha
commit
b59219b8e0
1 tập tin đã thay đổi với 2 bổ sung0 xóa
  1. 2 0
      compiler/optloop.pas

+ 2 - 0
compiler/optloop.pas

@@ -87,6 +87,7 @@ unit optloop;
               internalerror(2012090402);
             n.free;
             n:=cordconstnode.create(preplaceinfo(arg)^.value,preplaceinfo(arg)^.node.resultdef,false);
+            do_firstpass(n);
           end;
         result:=fen_false;
       end;
@@ -185,6 +186,7 @@ unit optloop;
                     { create block statement }
                     result:=internalstatements(newforstatement);
                     addstatement(newforstatement,unrollblock);
+                    doinlinesimplify(result);
                   end;
               end
             else