Просмотр исходного кода

* reorganized optimizer switch sets

git-svn-id: trunk@4862 -
florian 19 лет назад
Родитель
Сommit
a61abb25cb

+ 3 - 3
compiler/arm/cpuinfo.pas

@@ -85,9 +85,9 @@ Const
    { Supported optimizations, only used for information }
    supported_optimizerswitches = [cs_opt_regvar,cs_opt_loopunroll,cs_opt_tailrecursion];
 
-   level1optimizerswitches = [cs_opt_level1];
-   level2optimizerswitches = level1optimizerswitches + [cs_opt_level2,cs_opt_regvar,cs_opt_stackframe,cs_opt_tailrecursion];
-   level3optimizerswitches = level2optimizerswitches + [cs_opt_level3{,cs_opt_loopunroll}];
+   level1optimizerswitches = genericlevel1optimizerswitches;
+   level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [cs_opt_regvar,cs_opt_stackframe,cs_opt_tailrecursion];
+   level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
 
 Implementation
 

+ 0 - 1
compiler/globals.pas

@@ -70,7 +70,6 @@ interface
        macmodeswitches : tmodeswitches=
          [m_mac,m_all,m_result,m_cvar_support,m_mac_procvar];
 
-
        { maximum nesting of routines }
        maxnesting = 32;
 

+ 5 - 0
compiler/globtype.pas

@@ -160,6 +160,11 @@ than 255 characters. That's why using Ansi Strings}
          'PEEPHOLE','ASMCSE','LOOPUNROLL','TAILREC'
        );
 
+       { switches being applied to all CPUs at the given level }
+       genericlevel1optimizerswitches = [cs_opt_level1];
+       genericlevel2optimizerswitches = [cs_opt_level2];
+       genericlevel3optimizerswitches = [cs_opt_level3];
+
     type
        { Switches which can be changed by a mode (fpc,tp7,delphi) }
        tmodeswitch = (m_none,m_all, { needed for keyword }

+ 3 - 3
compiler/i386/cpuinfo.pas

@@ -98,9 +98,9 @@ Const
    supported_optimizerswitches = [cs_opt_peephole,cs_opt_regvar,cs_opt_stackframe,
      cs_opt_asmcse,cs_opt_loopunroll,cs_opt_uncertain,cs_opt_tailrecursion];
 
-   level1optimizerswitches = [cs_opt_level1,cs_opt_peephole];
-   level2optimizerswitches = level1optimizerswitches + [cs_opt_level2,cs_opt_regvar,cs_opt_stackframe,cs_opt_asmcse,cs_opt_tailrecursion];
-   level3optimizerswitches = level2optimizerswitches + [cs_opt_level3{,cs_opt_loopunroll}];
+   level1optimizerswitches = genericlevel1optimizerswitches + [cs_opt_peephole];
+   level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [cs_opt_regvar,cs_opt_stackframe,cs_opt_asmcse,cs_opt_tailrecursion];
+   level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
 
 Implementation
 

+ 3 - 3
compiler/m68k/cpuinfo.pas

@@ -72,9 +72,9 @@ Const
    { Supported optimizations, only used for information }
    supported_optimizerswitches = [cs_opt_regvar,cs_opt_loopunroll];
 
-   level1optimizerswitches = [cs_opt_level1];
-   level2optimizerswitches = level1optimizerswitches + [cs_opt_level2,cs_opt_regvar,cs_opt_stackframe];
-   level3optimizerswitches = level2optimizerswitches + [cs_opt_level3{,cs_opt_loopunroll}];
+   level1optimizerswitches = genericlevel1optimizerswitches;
+   level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [cs_opt_regvar,cs_opt_stackframe];
+   level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
 
 Implementation
 

+ 3 - 3
compiler/powerpc/cpuinfo.pas

@@ -69,9 +69,9 @@ Const
    { Supported optimizations, only used for information }
    supported_optimizerswitches = [cs_opt_regvar,cs_opt_loopunroll];
 
-   level1optimizerswitches = [cs_opt_level1];
-   level2optimizerswitches = level1optimizerswitches + [cs_opt_level2,cs_opt_regvar];
-   level3optimizerswitches = level2optimizerswitches + [cs_opt_level3{,cs_opt_loopunroll}];
+   level1optimizerswitches = genericlevel1optimizerswitches;
+   level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [cs_opt_regvar];
+   level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
 
 Implementation
 

+ 3 - 3
compiler/powerpc64/cpuinfo.pas

@@ -63,9 +63,9 @@ const
    { Supported optimizations, only used for information }
    supported_optimizerswitches = [cs_opt_regvar,cs_opt_loopunroll];
 
-   level1optimizerswitches = [cs_opt_level1];
-   level2optimizerswitches = level1optimizerswitches + [cs_opt_level2,cs_opt_regvar,cs_opt_stackframe];
-   level3optimizerswitches = level2optimizerswitches + [cs_opt_level3{,cs_opt_loopunroll}];
+   level1optimizerswitches = genericlevel1optimizerswitches;
+   level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [cs_opt_regvar,cs_opt_stackframe];
+   level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
 
 implementation
 

+ 3 - 3
compiler/sparc/cpuinfo.pas

@@ -73,9 +73,9 @@ const
    { Supported optimizations, only used for information }
    supported_optimizerswitches = [cs_opt_regvar,cs_opt_loopunroll,cs_opt_tailrecursion];
 
-   level1optimizerswitches = [cs_opt_level1];
-   level2optimizerswitches = level1optimizerswitches + [cs_opt_level2,cs_opt_regvar,cs_opt_tailrecursion];
-   level3optimizerswitches = level2optimizerswitches + [cs_opt_level3{,cs_opt_loopunroll}];
+   level1optimizerswitches = genericlevel1optimizerswitches;
+   level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [cs_opt_regvar,cs_opt_tailrecursion];
+   level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
 
 implementation
 

+ 3 - 3
compiler/x86_64/cpuinfo.pas

@@ -82,9 +82,9 @@ Const
    { Supported optimizations, only used for information }
    supported_optimizerswitches = [cs_opt_regvar,cs_opt_loopunroll,cs_opt_stackframe,cs_opt_tailrecursion];
 
-   level1optimizerswitches = [cs_opt_level1];
-   level2optimizerswitches = level1optimizerswitches + [cs_opt_level2{,cs_opt_regvar},cs_opt_stackframe,cs_opt_tailrecursion];
-   level3optimizerswitches = level2optimizerswitches + [cs_opt_level3{,cs_opt_loopunroll}];
+   level1optimizerswitches = genericlevel1optimizerswitches;
+   level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [{,cs_opt_regvar},cs_opt_stackframe,cs_opt_tailrecursion];
+   level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
 
 Implementation