https://gcc.gnu.org/g:fbf8443961f484ed7fb7e953206af1ee60558a24

commit r16-110-gfbf8443961f484ed7fb7e953206af1ee60558a24
Author: Kyrylo Tkachov <ktkac...@nvidia.com>
Date:   Thu Apr 24 05:33:54 2025 -0700

    opts.cc: Use opts rather than opts_set for validating 
-fipa-reorder-for-locality
    
    This ensures -fno-ipa-reorder-for-locality doesn't complain with an explicit
    -flto-partition=.
    
    Signed-off-by: Kyrylo Tkachov <ktkac...@nvidia.com>
    
            * opts.cc (validate_ipa_reorder_locality_lto_partition): Check opts
            instead of opts_set for x_flag_ipa_reorder_for_locality.
            (finish_options): Update call site.

Diff:
---
 gcc/opts.cc | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gcc/opts.cc b/gcc/opts.cc
index 5480b9dff2ce..ffcbdfef0bd9 100644
--- a/gcc/opts.cc
+++ b/gcc/opts.cc
@@ -1037,18 +1037,19 @@ report_conflicting_sanitizer_options (struct 
gcc_options *opts, location_t loc,
     }
 }
 
-/* Validate from OPTS_SET that when -fipa-reorder-for-locality is
+/* Validate from OPTS and OPTS_SET that when -fipa-reorder-for-locality is
    enabled no explicit -flto-partition is also passed as the locality cloning
    pass uses its own partitioning scheme.  */
 
 static void
-validate_ipa_reorder_locality_lto_partition (struct gcc_options *opts_set)
+validate_ipa_reorder_locality_lto_partition (struct gcc_options *opts,
+                                            struct gcc_options *opts_set)
 {
   static bool validated_p = false;
 
   if (opts_set->x_flag_lto_partition)
     {
-      if (opts_set->x_flag_ipa_reorder_for_locality && !validated_p)
+      if (opts->x_flag_ipa_reorder_for_locality && !validated_p)
        error ("%<-fipa-reorder-for-locality%> is incompatible with"
               " an explicit %qs option", "-flto-partition");
     }
@@ -1267,7 +1268,7 @@ finish_options (struct gcc_options *opts, struct 
gcc_options *opts_set,
   if (opts->x_flag_reorder_blocks_and_partition)
     SET_OPTION_IF_UNSET (opts, opts_set, flag_reorder_functions, 1);
 
-  validate_ipa_reorder_locality_lto_partition (opts_set);
+  validate_ipa_reorder_locality_lto_partition (opts, opts_set);
 
   /* The -gsplit-dwarf option requires -ggnu-pubnames.  */
   if (opts->x_dwarf_split_debug_info)

Reply via email to