From 1fa83a91abb262f6acfcef71e3976ac427dd830c Mon Sep 17 00:00:00 2001 From: florian <florian@freepascal.org> Date: Sat, 11 May 2024 23:41:33 +0200 Subject: [PATCH] + cs_opt_consts for sparc64 --- compiler/optcse.pas | 4 ++-- compiler/sparc64/cpuinfo.pas | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/optcse.pas b/compiler/optcse.pas index 5f4209e3e8..f9bb0b4403 100644 --- a/compiler/optcse.pas +++ b/compiler/optcse.pas @@ -608,9 +608,9 @@ unit optcse; Result:=(n.nodetype=loadn) and (tloadnode(n).symtableentry.typ=staticvarsym) and ((vo_is_thread_var in tstaticvarsym(tloadnode(n).symtableentry).varoptions) or (cs_create_pic in current_settings.moduleswitches) -{$if defined(aarch64) or defined(sparc)} +{$if defined(aarch64) or defined(sparc) or defined(sparc64)} or (not(tabstractvarsym(tloadnode(n).symtableentry).is_regvar(false))) -{$endif defined(aarch64) or defined(sparc)} +{$endif defined(aarch64) or defined(sparc) or defined(sparc64)} ); end; diff --git a/compiler/sparc64/cpuinfo.pas b/compiler/sparc64/cpuinfo.pas index 9335ecef6a..917109fde9 100644 --- a/compiler/sparc64/cpuinfo.pas +++ b/compiler/sparc64/cpuinfo.pas @@ -103,7 +103,7 @@ Const level1optimizerswitches = genericlevel1optimizerswitches; level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + - [{$ifndef llvm}cs_opt_regvar,{$endif}cs_opt_tailrecursion,cs_opt_nodecse]; + [{$ifndef llvm}cs_opt_regvar,{$endif}cs_opt_tailrecursion,cs_opt_nodecse,cs_opt_consts]; level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches; level4optimizerswitches = genericlevel4optimizerswitches + level3optimizerswitches + [];