Hi! On Mon, Jan 27, 2020 at 04:28:29PM +0000, Wilco Dijkstra wrote: > > On Thu, Jan 16, 2020 at 12:50:14PM +0000, Wilco Dijkstra wrote: > >> The separate shrinkwrapping pass may insert stores in the middle > >> of atomics loops which can cause issues on some implementations. > >> Avoid this by delaying splitting of atomic patterns until after > >> prolog/epilog generation. > > > > Note that this isn't specific to sws at all: there isn't anything > > stopping later passes from doing this either. Is there anything that > > protects us from sched2 doing similar here, for example? > > The expansions create extra basic blocks and insert various barriers > that would stop any reasonable scheduler from doing it. And the > current scheduler is basic block based.
Hrm, and probably no other passes after *logue can create new store insns (ignoring peepholes and splitters, that would be almost *asking* for trouble ;-) ). I see. Thanks for explaining. Segher