> > Hi, > > > > On Fri, Nov 12 2021, Martin Jambor wrote: > > > Hi, > > > > > > using -fno-semantic-interposition has been reported by various people > > > to bring about considerable speed up at the cost of strict compliance > > > to the ELF symbol interposition rules See for example > > > https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup > > > > > > As such I believe it should be implied by our -Ofast optimization > > > level, not only so that benchmarks that can benefit run faster, but > > > also so that people looking at -Ofast documentation for options that > > > could speed their programs find it. > > > > > > I have verified that with the following patch IPA-CP sees > > > flag_semantic_interposition set to zero at Ofast and that info and pdf > > > manual builds fine with the documentation change. I am bootstrapping > > > and testing it now in order to comply with submission criteria but I > > > don't think an Ofast change gets much tested. > > > > > > Assuming it passes, is the patch OK? (If it is, I will also add a note > > > about it in the "Caveats" section in gcc-12/changes.html of wwwdocs > > > after I commit the patch.) > > > > > > > Unfortunately, I was wrong, there are testcases which use the optimize > > attribute to switch a function to Ofast and those ICE because > > -fsemantic-interposition is not an optimization flag and only > > optimization flags can change in an optimize attribute (AFAIK, I only > > had a quick glance at the results). > > > > I am not sure what is the right way to tackle this, whether to set the > > flag at Ofast in some nonstandard way or make the flag an optimization > > flag - probably affecting function definitions, having it affect > > call-sites seems too fine-grained. I will try to discuss this on IRC on > > Monday (and hope such change is still doable early stage3). > > > > Sorry for posting this a bit prematurely, > > Hi, > > This patch turns flag_semantic_interposition to optimization option so > it can be enabled with per-function granuality. This is done by adding > the flag among visibility flags into the symbol table. This fixes the > behaviour on the testcase I added to testsuite. > > There are bugs where get_availability misbehaves on partitioned program. > We can also use the new flag to fix those, but I will do that > incrementally. > > The -Ofast change should be safe now.
Also forgot to say it explicitly, the patch is OK, so please commit it. Honza