LLVM: lib/Target/Hexagon/HexagonHazardRecognizer.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11#ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONPROFITRECOGNIZER_H

12#define LLVM_LIB_TARGET_HEXAGON_HEXAGONPROFITRECOGNIZER_H

13

19

20namespace llvm {

21

25 unsigned PacketNum = 0;

26

27

28 SUnit *UsesDotCur = nullptr;

29

30

31 int DotCurPNum = -1;

32

33 bool UsesLoad = false;

34

35

36

37

38

39 SUnit *PrefVectorStoreNew = nullptr;

40

42

43

44

46

47public:

51 : Resources(ST.createDFAPacketizer(II)), TII(HII) { }

52

54

55

56

57 void Reset() override;

58

59

60

61

62

63

65

66

67

69

70

71

72

74

75

76

77

78

79

81};

82

83}

84

85#endif

uint64_t IntrinsicInst * II

This file defines the SmallSet class.

void Reset() override

This callback is invoked when a new block of instructions is about to be scheduled.

HexagonHazardRecognizer(const InstrItineraryData *II, const HexagonInstrInfo *HII, const HexagonSubtarget &ST)

Definition HexagonHazardRecognizer.h:48

~HexagonHazardRecognizer() override

Definition HexagonHazardRecognizer.h:53

void AdvanceCycle() override

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

bool ShouldPreferAnother(SUnit *) override

This callback may be invoked if getHazardType returns NoHazard.

HazardType getHazardType(SUnit *SU, int stalls) override

Return the hazard type of emitting this node.

void EmitInstruction(SUnit *) override

This callback is invoked when an instruction is emitted to be scheduled, to advance the hazard state.

Itinerary data supplied by a subtarget to be used by a target.

Representation of each machine instruction.

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

ScheduleHazardRecognizer()=default

SmallSet - This maintains a set of unique values, optimizing for the case when the set is small (less...

This is an optimization pass for GlobalISel generic memory operations.