From: Martin Liska Date: Tue, 12 Oct 2021 14:05:49 +0000 (+0200) Subject: Fix handling of flag_rename_registers by a target. X-Git-Tag: basepoints/gcc-13~3943 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e415bc4c035b1b655cf2cafcbe515382d1cefc93;p=thirdparty%2Fgcc.git Fix handling of flag_rename_registers by a target. PR target/102688 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 4099effcc802..1eedfeaf5397 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 @@ -2935,7 +2935,7 @@ Common Var(flag_unit_at_a_time) Init(1) Compile whole compilation unit at a time. funroll-loops -Common Var(flag_unroll_loops) Optimization +Common Var(flag_unroll_loops) Optimization EnabledBy(funroll-all-loops) Perform loop unrolling when iteration count is known. funroll-all-loops @@ -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 2116c2991dd6..fc71b6e42423 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 167feac2583f..81546b19e910 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)