On Wed, Aug 28, 2019 at 10:14 AM Richard Biener <rguent...@suse.de> wrote: > > > STV is interested in DU/UD chains only but for some reason > (since first patch submission) adds MD. I can't make any sense > of this and in fact I miss the difference between RD and MD. > The only other user of MD is fwprop which says > > /* We use the multiple definitions problem to compute our restricted > use-def chains. */ > > but does not add the chain problems (only md and note), instead it > > /* Walk the dominator tree looking for single reaching definitions > dominating the uses. This is similar to how SSA form is built. */ > > talking about "reaching definitions" again. The comments in > df-problems.c do not talk about differences between MD and RD, > the first sentences suggest that MD does not compute anything > if there's just a single reaching definition? It also doesn't > talk about relative cost of the two problems. RD doesn't seem > to be used on its own by anyone. > > Well. The following patch removes MD from STV, bootstrapped and > tested on x86_64-unknown-linux-gnu with Westmere arch and STV > forced on. > > OK? > > Thanks, > Richard. > > 2019-08-28 Richard Biener <rguent...@suse.de> > > * config/i386/i386-features.c (convert_scalars_to_vector): Do not > add the MD problem.
OK. Thanks, Uros. > Index: gcc/config/i386/i386-features.c > =================================================================== > --- gcc/config/i386/i386-features.c (revision 274983) > +++ gcc/config/i386/i386-features.c (working copy) > @@ -1564,7 +1570,6 @@ convert_scalars_to_vector (bool timode_p > calculate_dominance_info (CDI_DOMINATORS); > df_set_flags (DF_DEFER_INSN_RESCAN); > df_chain_add_problem (DF_DU_CHAIN | DF_UD_CHAIN); > - df_md_add_problem (); > df_analyze (); > > /* Find all instructions we want to convert into vector mode. */