On Thu, Aug 22, 2019 at 3:35 PM Richard Biener <rguent...@suse.de> wrote: > > > This fixes quadraticness in STV and makes > > machine dep reorg : 89.07 ( 95%) 0.02 ( 18%) 89.10 ( > 95%) 54 kB ( 0%) > > drop to zero. Anybody remembers why it is the way it is now? > > Bootstrap / regtest running on x86_64-unknown-linux-gnu. > > OK?
Looking at the PR, comment #3 [1], I assume this patch is obsoltete and will be updated? [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91522#c3 Uros. > Thanks, > Richard. > > 2019-08-22 Richard Biener <rguent...@suse.de> > > PR target/91522 > * config/i386/i386-features.c (scalar_chain::add_insn): Do not > iterate over all defs of a reg. > > Index: gcc/config/i386/i386-features.c > =================================================================== > --- gcc/config/i386/i386-features.c (revision 274764) > +++ gcc/config/i386/i386-features.c (working copy) > @@ -419,10 +419,7 @@ scalar_chain::add_insn (bitmap candidate > df_ref def; > for (ref = DF_INSN_UID_DEFS (insn_uid); ref; ref = DF_REF_NEXT_LOC (ref)) > if (!HARD_REGISTER_P (DF_REF_REG (ref))) > - for (def = DF_REG_DEF_CHAIN (DF_REF_REGNO (ref)); > - def; > - def = DF_REF_NEXT_REG (def)) > - analyze_register_chain (candidates, def); > + analyze_register_chain (candidates, ref); > for (ref = DF_INSN_UID_USES (insn_uid); ref; ref = DF_REF_NEXT_LOC (ref)) > if (!DF_REF_REG_MEM_P (ref)) > analyze_register_chain (candidates, ref); >