> On Dec 23, 2022, at 2:33 AM, Alexander Monakov <amona...@ispras.ru> wrote: > > > On Thu, 22 Dec 2022, Qing Zhao wrote: > >>> I think scheduling across calls in the pre-RA scheduler is simply an >>> oversight, >>> we do not look at dataflow information and with 50% chance risk extending >>> lifetime of a pseudoregister across a call, causing higher register >>> pressure at >>> the point of the call, and potentially an extra spill. >> >> I am a little confused, you mean pre-RA scheduler does not look at the data >> flow >> information at all when scheduling insns across calls currently? > > I think it does not inspect liveness info, and may extend lifetime of a pseudo > across a call, transforming > > call foo > reg = 1 > ... > use reg > > to > > reg = 1 > call foo > ... > use reg > > but this is undesirable, because now register allocation cannot select a > call-clobbered register for 'reg’. Okay, thanks for the explanation.
Then, why not just check the liveness info instead of inhibiting all scheduling across calls? Qing > > Alexander