LLVM: include/llvm/CodeGen/ScheduleHazardRecognizer.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_CODEGEN_SCHEDULEHAZARDRECOGNIZER_H

15#define LLVM_CODEGEN_SCHEDULEHAZARDRECOGNIZER_H

16

17namespace llvm {

18

21

22

23

24

26protected:

27

28

29

30

32

33public:

36

42

44

46

47

48

49

50

52

53

54

55

56

57

58

59

63

64

65

66

68

69

70

72

73

74

76

77

78

79

80

81

85

86

87

91

92

93

94

98

99

100

101

102

103

105

106

107

108

110

111

112

117

118

119

121

122 for (unsigned i = 0; i < Quantity; ++i)

124 }

125};

126

127}

128

129#endif

Representation of each machine instruction.

Scheduling unit. This is a node in the scheduling DAG.

unsigned getMaxLookAhead() const

Definition ScheduleHazardRecognizer.h:43

virtual void RecedeCycle()

RecedeCycle - This callback is invoked whenever the next bottom-up instruction to be scheduled cannot...

Definition ScheduleHazardRecognizer.h:109

virtual void Reset()

Reset - This callback is invoked when a new block of instructions is about to be schedule.

Definition ScheduleHazardRecognizer.h:67

virtual void EmitInstruction(MachineInstr *)

This overload will be used when the hazard recognizer is being used by a non-scheduling pass,...

Definition ScheduleHazardRecognizer.h:75

virtual void EmitInstruction(SUnit *)

EmitInstruction - This callback is invoked when an instruction is emitted, to advance the hazard stat...

Definition ScheduleHazardRecognizer.h:71

unsigned MaxLookAhead

MaxLookAhead - Indicate the number of cycles in the scoreboard state.

Definition ScheduleHazardRecognizer.h:31

virtual unsigned PreEmitNoops(MachineInstr *)

This overload will be used when the hazard recognizer is being used by a non-scheduling pass,...

Definition ScheduleHazardRecognizer.h:88

virtual ~ScheduleHazardRecognizer()

virtual bool atIssueLimit() const

atIssueLimit - Return true if no more instructions may be issued in this cycle.

Definition ScheduleHazardRecognizer.h:51

virtual bool ShouldPreferAnother(SUnit *)

ShouldPreferAnother - This callback may be invoked if getHazardType returns NoHazard.

Definition ScheduleHazardRecognizer.h:95

HazardType

Definition ScheduleHazardRecognizer.h:37

@ NoHazard

Definition ScheduleHazardRecognizer.h:38

@ NoopHazard

Definition ScheduleHazardRecognizer.h:40

@ Hazard

Definition ScheduleHazardRecognizer.h:39

virtual void EmitNoop()

EmitNoop - This callback is invoked when a noop was added to the instruction stream.

Definition ScheduleHazardRecognizer.h:113

ScheduleHazardRecognizer()=default

virtual void AdvanceCycle()

AdvanceCycle - This callback is invoked whenever the next top-down instruction to be scheduled cannot...

Definition ScheduleHazardRecognizer.h:104

virtual HazardType getHazardType(SUnit *, int Stalls=0)

getHazardType - Return the hazard type of emitting this node.

Definition ScheduleHazardRecognizer.h:60

virtual unsigned PreEmitNoops(SUnit *)

PreEmitNoops - This callback is invoked prior to emitting an instruction.

Definition ScheduleHazardRecognizer.h:82

virtual void EmitNoops(unsigned Quantity)

EmitNoops - This callback is invoked when noops were added to the instruction stream.

Definition ScheduleHazardRecognizer.h:120

bool isEnabled() const

Definition ScheduleHazardRecognizer.h:45

This is an optimization pass for GlobalISel generic memory operations.