Przeglądaj źródła

+ cs_opt_consts for sparc

florian 1 rok temu
rodzic
commit
5e00358f13
2 zmienionych plików z 3 dodań i 3 usunięć
  1. 2 2
      compiler/optcse.pas
  2. 1 1
      compiler/sparc/cpuinfo.pas

+ 2 - 2
compiler/optcse.pas

@@ -608,9 +608,9 @@ unit optcse;
         Result:=(n.nodetype=loadn) and (tloadnode(n).symtableentry.typ=staticvarsym)
         Result:=(n.nodetype=loadn) and (tloadnode(n).symtableentry.typ=staticvarsym)
           and ((vo_is_thread_var in tstaticvarsym(tloadnode(n).symtableentry).varoptions) or
           and ((vo_is_thread_var in tstaticvarsym(tloadnode(n).symtableentry).varoptions) or
             (cs_create_pic in current_settings.moduleswitches)
             (cs_create_pic in current_settings.moduleswitches)
-{$if defined(aarch64)}
+{$if defined(aarch64) or defined(sparc)}
             or (not(tabstractvarsym(tloadnode(n).symtableentry).is_regvar(false)))
             or (not(tabstractvarsym(tloadnode(n).symtableentry).is_regvar(false)))
-{$endif defined(aarch64)}
+{$endif defined(aarch64) or defined(sparc)}
            );
            );
       end;
       end;
 
 

+ 1 - 1
compiler/sparc/cpuinfo.pas

@@ -107,7 +107,7 @@ Const
 
 
    level1optimizerswitches = genericlevel1optimizerswitches;
    level1optimizerswitches = genericlevel1optimizerswitches;
    level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + 
    level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + 
-     [cs_opt_regvar,cs_opt_tailrecursion,cs_opt_nodecse];
+     [cs_opt_regvar,cs_opt_tailrecursion,cs_opt_nodecse,cs_opt_consts];
    level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches;
    level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches;
    level4optimizerswitches = genericlevel4optimizerswitches + level3optimizerswitches + [];
    level4optimizerswitches = genericlevel4optimizerswitches + level3optimizerswitches + [];