[PATCH] lower-subreg: PR94123, SVN r273240, causes gcc.target/powerpc/pr87507.c to fail

Segher Boessenkool segher@kernel.crashing.org
Sat Mar 28 19:22:52 GMT 2020


On Fri, Mar 27, 2020 at 05:41:36PM -0500, Peter Bergner wrote:
> Given we're late in stage4, the above patch (assuming it's ok) probably
> shouldn't go in until stage1, since it is changing lower-subreg's behaviour
> slightly.
> 
> A different (ie, safer) approach would be to just rerun lower-subreg at
> its old location, regardless of whether we used -fsplit-wide-types-early.

That is my preference, for a simpler reason even: when I added the new
pass I disabled the old one, thinking it wouldn't do anything useful
anymore.  Here you show that isn't true.

> This way, we are not changing lower-subreg's behaviour, just running it an
> extra time (3 times instead of twice when using -fsplit-wide-types-early).
> I don't think lower-subreg is too expensive to run an extra time

Yes, I think so too.

> and we'd only do it when using -fsplit-wide-types-early.

But note that is true by default for some targets (rs6000 and avr
currently, I think).

>    /* opt_pass methods: */
> -  virtual bool gate (function *) { return flag_split_wide_types
> -					  && !flag_split_wide_types_early; }
> +  virtual bool gate (function *) { return flag_split_wide_types != 0; }

I think you mean
  return flag_split_wide_types != 0 != 0 != 0;

:-P


Segher


More information about the Gcc-patches mailing list