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'. Alexander