LLVM 24.0.0git
llvm::impl_detail::PostMachineSchedulerImpl Class Reference

Impl class for PostMachineScheduler. More...

Inheritance diagram for llvm::impl_detail::PostMachineSchedulerImpl:
[legend]

Classes

struct  RequiredAnalyses

Public Member Functions

 PostMachineSchedulerImpl ()=default
void setLegacyPass (MachineFunctionPass *P)
void setMFAM (MachineFunctionAnalysisManager *MFAM)
bool run (MachineFunction &Func, const TargetMachine &TM, const RequiredAnalyses &Analyses)
Public Member Functions inherited from llvm::MachineSchedContext
 MachineSchedContext ()
MachineSchedContext & operator= (const MachineSchedContext &other)=delete
 MachineSchedContext (const MachineSchedContext &other)=delete
virtual ~MachineSchedContext ()

Protected Member Functions

ScheduleDAGInstrs * createPostMachineScheduler ()
 Instantiate a ScheduleDAGInstrs for PostRA scheduling that will be owned by the caller.
Protected Member Functions inherited from llvm::impl_detail::MachineSchedulerBase
void scheduleRegions (ScheduleDAGInstrs &Scheduler, bool FixKillFlags)
 Main driver for both MachineScheduler and PostMachineScheduler.

Additional Inherited Members

Public Attributes inherited from llvm::MachineSchedContext
MachineFunction * MF = nullptr
const MachineLoopInfo * MLI = nullptr
const TargetMachine * TM = nullptr
AAResults * AA = nullptr
LiveIntervals * LIS = nullptr
MachineBlockFrequencyInfo * MBFI = nullptr
RegisterClassInfo * RegClassInfo = nullptr

Detailed Description

Impl class for PostMachineScheduler.

Definition at line 346 of file MachineScheduler.cpp.

Constructor & Destructor Documentation

◆ PostMachineSchedulerImpl()

llvm::impl_detail::PostMachineSchedulerImpl::PostMachineSchedulerImpl ( )
default

Member Function Documentation

◆ createPostMachineScheduler()

ScheduleDAGInstrs * PostMachineSchedulerImpl::createPostMachineScheduler ( )
protected

Instantiate a ScheduleDAGInstrs for PostRA scheduling that will be owned by the caller.

We don't have a command line option to override the postRA scheduler. The Target must configure it.

Definition at line 579 of file MachineScheduler.cpp.

References createPostMachineScheduler(), llvm::createSchedPostRA(), Scheduler, and llvm::MachineSchedContext::TM.

Referenced by createPostMachineScheduler(), and run().

◆ run()

◆ setLegacyPass()

void llvm::impl_detail::PostMachineSchedulerImpl::setLegacyPass ( MachineFunctionPass * P)
inline

Definition at line 359 of file MachineScheduler.cpp.

◆ setMFAM()

void llvm::impl_detail::PostMachineSchedulerImpl::setMFAM ( MachineFunctionAnalysisManager * MFAM)
inline

Definition at line 360 of file MachineScheduler.cpp.


The documentation for this class was generated from the following file: