소스 검색

* 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 년 전
부모
커밋
b59219b8e0
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  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