Sfoglia il codice sorgente

* Fixed r46776: With -O3 do not "coalesce" spilled nodes if the initial location is set.

git-svn-id: trunk@46777 -
yury 4 anni fa
parent
commit
71fcb74e95
1 ha cambiato i file con 3 aggiunte e 1 eliminazioni
  1. 3 1
      compiler/rgobj.pas

+ 3 - 1
compiler/rgobj.pas

@@ -2403,7 +2403,9 @@ unit rgobj;
                 interfere but are connected by a move instruction
 
                 doing so might save some mem->mem moves }
-              if (cs_opt_level3 in current_settings.optimizerswitches) and assigned(reginfo[t].movelist) then
+              if (cs_opt_level3 in current_settings.optimizerswitches) and
+                 getnewspillloc and
+                 assigned(reginfo[t].movelist) then
                 for j:=0 to reginfo[t].movelist^.header.count-1 do
                   begin
                     x:=Tmoveins(reginfo[t].movelist^.data[j]).x;