On Mon, 16 May 2022, Alexander Monakov wrote: > On Mon, 9 May 2022, Jan Hubicka wrote: > > > > On second thought, it might be better to keep the assert, and place the > > > loop > > > under 'if (optimize)'? > > > > The problem is that at IPA level it does not make sense to check > > optimize flag as it is function specific. (shlib is OK to check it > > anywhere since it is global.) > > > > So I think we really want to run the code only at the WPA time > > (symtab_state>=IPA_SSA) and we want to see what is optimization flag of > > those function referring the variable since that is what decided codegen > > we will produce. > > Perhaps I misunderstood the issue. Are you saying that there might be no -O > option on lto1 command line, because lto1 is supposed to take optimization > level from function summaries, but during pass_ipa_whole_program_visibility > there's no "current function" so 'optimize' is at its default value (zero)? > > And the solution is to iterate over referring functions to see if at least > one of them satisfies 'opt_for_fn (decl, optimize) > 0'?
Do you want to see a patch implementing the above solution? Alexander