Hi, On Mon, 25 Feb 2019, Segher Boessenkool wrote:
> Yup. All good points, I didn't think this through enough obviously. > > The _1+_1 isn't great if that single pseudo then ends up in mem (it will > need a reload again on most archs, probably causing another spill), btw. But at least it'll get only a single reload, not two ... > You get worse code that way. Reload is much too late to make optimised > code, and that isn't its task anyway: its task is to make something that > works where the passes before it couldn't manage. ... but yes, if we're entering the optimization- (in difference to correctness-) territory, then sure, expand (or any other pass between it and reload) might want to handle some sitations in a special way to ensure good code with the least amount of work. > Yes, reload should be able to fix up anything (well, within some > limits). That is not an excuse to generate code that we know will need > such fixups though. (Within some limits :) ), I agree. Ciao, Michael.