Then, sched2 still can move insn across calls? So does sched2 have the same issue of incorrectly moving the insn across a call which has unknown control flow?
Qing > On Dec 23, 2022, at 12:31 PM, Alexander Monakov <amona...@ispras.ru> wrote: > > > On Fri, 23 Dec 2022, Jose E. Marchesi wrote: > >>> (scheduling across calls in sched2 is somewhat dubious as well, but >>> it doesn't risk register pressure issues, and on VLIW CPUs it at least >>> can result in better VLIW packing) >> >> Does sched2 actually schedule across calls? All the comments in the >> source code stress the fact that the second scheduler pass (after >> register allocation) works in regions that correspond to basic blocks: >> "(after reload, each region is of one block)". > > A call instruction does not end a basic block. > > (also, with -fsched2-use-superblocks sched2 works on regions like sched1) > > Alexander