On 04/02/2011 10:15 AM, Alexandre Oliva wrote: > Some targets delayed the var-tracking pass to run it after > machine-specific transformations. The introduction of option saving and > restoring broke this, because the machine-specific overriding took place > too late for it to be saved, so, after compiling a function that used a > different set of options, we'd restore incorrect flags, running > var-tracking at the wrong time. > > This patch fixes the handling of this option so that it takes place at > the right time. It does not, however, support per-function overriding > of -fvar-tracking; I'm not sure how to implement that with the current > framework. Suggestions?
> @@ -5722,6 +5715,13 @@ ia64_option_override (void) > if (TARGET_ABI_OPEN_VMS) > flag_no_common = 1; > > + /* Variable tracking should be run after all optimizations which change > order > + of insns. It also needs a valid CFG. This can't be done in > + ia64_option_override, because flag_var_tracking is finalized after > + that. */ This comment looks very weird when added to ia64_option_override (likewise for other targets). Is there a reason it's not true anymore? Bernd