[llvm-dev] Is subclass of ScheduleDAGMILive a pre-RA scheduler?
Matthias Braun via llvm-dev
llvm-dev at lists.llvm.org
Mon Apr 24 19:46:48 PDT 2017
> On Apr 22, 2017, at 5:12 AM, 陳韋任 via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> Hi All,
> The description of ScheduleDAGMILive  says:
> ScheduleDAGMILive is an implementation of ScheduleDAGInstrs that
> schedules machine instructions
> while updating LiveIntervals and tracking regpressure.
> Does the live interval and register pressure part of ScheduleDAGMILive
> mean the subclass of ScheduleDAGMILive
> is a pre-RA scheduler? I assume the post-RA scheduler no need to take
> care of live interval and register pressure,
> since RA is done already.
Yes ScheduleDAGMILive is used by the MachineScheduler which runs before register allocation. By default the MachineScheduler is put between register coalescing and the greedy register allocator.
(There is also the PostMachineScheduler which as the name suggests runs after register allocation and that one only uses ScheduleDAGMI and does not track register pressure).
More information about the llvm-dev