Sfoglia il codice sorgente

The scheduler pass of the ARM optimizer left markers in the instruction list, which could prevent further peephole optimizations

git-svn-id: trunk@24781 -
Jeppe Johansen 12 anni fa
parent
commit
2d823452b7
2 ha cambiato i file con 6 aggiunte e 1 eliminazioni
  1. 5 0
      compiler/aasmdata.pas
  2. 1 1
      compiler/arm/aoptcpu.pas

+ 5 - 0
compiler/aasmdata.pas

@@ -122,6 +122,7 @@ interface
     type
       TAsmList = class(tlinkedlist)
          constructor create;
+         constructor create_without_marker;
          function  empty : boolean;
          function  getlasttaifilepos : pfileposinfo;
       end;
@@ -288,6 +289,10 @@ implementation
         insert(tai_marker.create(mark_BlockStart));
       end;
 
+    constructor TAsmList.create_without_marker;
+      begin
+        inherited create;
+      end;
 
     function TAsmList.empty : boolean;
       begin

+ 1 - 1
compiler/arm/aoptcpu.pas

@@ -2081,7 +2081,7 @@ Implementation
     begin
       result:=true;
 
-      list:=TAsmList.Create;
+      list:=TAsmList.create_without_marker;
       p:=BlockStart;
       while p<>BlockEnd Do
         begin