From c42efec30d7cce36c92d9369791826c9120dd3d1 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Tue, 12 Oct 2021 16:05:49 +0200 Subject: [PATCH] Fix handling of flag_rename_registers by a target. gcc/ChangeLog: * common.opt: Use EnabledBy instead of detection in finish_options and process_options. * opts.c (finish_options): Remove handling of x_flag_unroll_all_loops. * toplev.c (process_options): Likewise for flag_web and flag_rename_registers. diff --git a/gcc/common.opt b/gcc/common.opt index 4099effcc80..bcbf95aada3 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -2399,7 +2399,7 @@ Common Var(flag_live_range_shrinkage) Init(0) Optimization Relief of register pressure through live range shrinkage. frename-registers -Common Var(flag_rename_registers) Optimization +Common Var(flag_rename_registers) Optimization EnabledBy(funroll-loops) Perform a register renaming optimization pass. fschedule-fusion @@ -2939,7 +2939,7 @@ Common Var(flag_unroll_loops) Optimization Perform loop unrolling when iteration count is known. funroll-all-loops -Common Var(flag_unroll_all_loops) Optimization +Common Var(flag_unroll_all_loops) Optimization EnabledBy(funroll-all-loops) Perform loop unrolling for all loops. funroll-completely-grow-size @@ -3158,7 +3158,7 @@ Common Var(flag_value_profile_transformations) Optimization Use expression value profiles in optimizations. fweb -Common Var(flag_web) Optimization +Common Var(flag_web) Optimization EnabledBy(funroll-loops) Construct webs and split unrelated uses of single variable. ftree-builtin-call-dce diff --git a/gcc/opts.c b/gcc/opts.c index 2116c2991dd..fc71b6e4242 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -1321,11 +1321,6 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set, opts->x_flag_live_patching, loc); - /* Unrolling all loops implies that standard loop unrolling must also - be done. */ - if (opts->x_flag_unroll_all_loops) - opts->x_flag_unroll_loops = 1; - /* Allow cunroll to grow size accordingly. */ if (!opts_set->x_flag_cunroll_grow_size) opts->x_flag_cunroll_grow_size diff --git a/gcc/toplev.c b/gcc/toplev.c index 167feac2583..81546b19e91 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1331,13 +1331,6 @@ process_options (bool no_backend) flag_abi_version = 2; } - /* web and rename-registers help when run after loop unrolling. */ - if (!OPTION_SET_P (flag_web)) - flag_web = flag_unroll_loops; - - if (!OPTION_SET_P (flag_rename_registers)) - flag_rename_registers = flag_unroll_loops; - if (flag_non_call_exceptions) flag_asynchronous_unwind_tables = 1; if (flag_asynchronous_unwind_tables) -- 2.33.0