On Wed, Oct 13, 2021 at 3:12 PM Martin Liška <mli...@suse.cz> wrote: > > On 10/13/21 14:50, Richard Biener wrote: > > It does, yes. But that's a ^ with flag_var_tracking_assignments_toggle;) > > > > It's also one of the more weird flags, so it could be applied after the > > otherwise single set of flag_var_tracking_assignments ... > > Well, it's far from being simple. > Can we please make a step and install the patch I sent? I mean the latest > that does the removal of AUTODETECT_VALUE.
But parts of the patch are not obvious and you've not explained why you remove all Init(AUTODETECT_VALUE) but for flag_var_tracking you change it to Init(1). I count 4 assignments to flag_var_tracking in toplev.c and one in nvptx.c and c6x.c each. if (flag_var_tracking_uninit == AUTODETECT_VALUE) flag_var_tracking_uninit = flag_var_tracking; can probably be handled by EnabledBy, but then we also have if (flag_var_tracking_uninit == 1) flag_var_tracking = 1; which suggests the same the other way around. I guess positional handling might differ with say -fvar-tracking -fno-var-tracking-uninit vs. -fno-var-tracking-uninit -fvar-tracking when using EnabledBy vs. the "explicit" code. + else if (!OPTION_SET_P (flag_var_tracking) && flag_var_tracking) flag_var_tracking = optimize >= 1; I think _this_ should, instead of the Init(1), become an entry in default_options_table with OPT_LEVELS_1_PLUS. As said, besides flag_var_* the posted patch looks OK and is good to commit. Richard. > > Martin