On Thu, May 05, 2022 at 08:59:21AM +0100, Richard Sandiford wrote: > Alexandre Oliva via Gcc-patches <gcc-patches@gcc.gnu.org> writes: > I know this is the best being the enemy of the good, but given > that we're at the start of stage 1, would it be feasible to try > to get rid of (subreg (mem)) altogether for GCC 13?
Yes please! > We could do > it target-by-target, with a target macro (yes, macro :-)) that opts > in to keeping the existing behaviour. (subreg (mem)) would then be > unconditionally invalid when the macro isn't defined. (Even in > debug expressions, since those ought to narrow to a mem anyway.) Or we can simply threaten to drop all unconverted targets. That way at least there is a *chance* (a slim chance, but still) that the conversion will ever be finished. Paradoxical subregs of memory are already not allowed on targets with instruction scheduling, btw. Segher