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