LLVM: lib/Target/PowerPC/PPCMachineScheduler.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_LIB_TARGET_POWERPC_POWERPCMACHINESCHEDULER_H
14#define LLVM_LIB_TARGET_POWERPC_POWERPCMACHINESCHEDULER_H
15
17
18namespace llvm {
19
20
22public:
25protected:
26 bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand,
28
29private:
30 bool biasAddiLoadCandidate(SchedCandidate &Cand,
31 SchedCandidate &TryCand,
33};
34
35
37public:
40
41protected:
46
47 bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand) override;
48 bool biasAddiCandidate(SchedCandidate &Cand, SchedCandidate &TryCand) const;
49};
50
51}
52
53#endif
GenericScheduler(const MachineSchedContext *C)
SUnit * pickNode(bool &IsTopNode) override
Pick the next node to schedule.
PPCPostRASchedStrategy(const MachineSchedContext *C)
Definition PPCMachineScheduler.h:38
void enterMBB(MachineBasicBlock *MBB) override
Tell the strategy that MBB is about to be processed.
bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand) override
Apply a set of heuristics to a new candidate for PostRA scheduling.
bool biasAddiCandidate(SchedCandidate &Cand, SchedCandidate &TryCand) const
void leaveMBB() override
Tell the strategy that current MBB is done.
void initialize(ScheduleDAGMI *Dag) override
Initialize the strategy after building the DAG for a new region.
bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand, SchedBoundary *Zone) const override
Apply a set of heuristics to a new candidate.
PPCPreRASchedStrategy(const MachineSchedContext *C)
Definition PPCMachineScheduler.h:23
PostGenericScheduler(const MachineSchedContext *C)
Scheduling unit. This is a node in the scheduling DAG.
Each Scheduling boundary is associated with ready queues.
ScheduleDAGMI is an implementation of ScheduleDAGInstrs that simply schedules machine instructions ac...
@ C
The default llvm calling convention, compatible with C.
This is an optimization pass for GlobalISel generic memory operations.
MachineSchedContext provides enough context from the MachineScheduler pass for the target to instanti...