LLVM: lib/CodeGen/RegAllocBasic.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_CODEGEN_REGALLOCBASIC_H

16#define LLVM_CODEGEN_REGALLOCBASIC_H

17

22#include

23

24namespace llvm {

25

28 return A->weight() < B->weight();

29 }

30};

31

32

33

34

35

36

40

42

43

44 std::unique_ptr SpillerInstance;

45 std::priority_queue<const LiveInterval *, std::vector<const LiveInterval *>,

47 Queue;

48

49

50

52

53 bool LRE_CanEraseVirtReg(Register) override;

54 void LRE_WillShrinkVirtReg(Register) override;

55

56public:

58

59

61

62

63 void getAnalysisUsage(AnalysisUsage &AU) const override;

64

65 void releaseMemory() override;

66

68

70

72 if (Queue.empty())

73 return nullptr;

75 Queue.pop();

76 return LI;

77 }

78

81

82

84

89

94

95

96

97

100

102};

103}

104#endif

static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")

static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")

#define LLVM_LIBRARY_VISIBILITY

Represent the analysis usage information of a pass.

LiveInterval - This class represents the liveness of a register, or stack slot.

Callback methods for LiveRangeEdit owners.

Wrapper class representing physical registers. Should be passed by value.

MachineFunctionPass(char &ID)

Properties which a MachineFunction may have at a given point in time.

MachineFunctionProperties & set(Property P)

const LiveInterval * dequeue() override

dequeue - Return the next unassigned register, or NULL.

Definition RegAllocBasic.h:71

Spiller & spiller() override

Definition RegAllocBasic.h:67

RABasic(const RegAllocFilterFunc F=nullptr)

void enqueueImpl(const LiveInterval *LI) override

enqueue - Add VirtReg to the priority queue of unassigned registers.

Definition RegAllocBasic.h:69

MachineFunctionProperties getClearedProperties() const override

Definition RegAllocBasic.h:90

static char ID

Definition RegAllocBasic.h:101

MachineFunctionProperties getRequiredProperties() const override

Definition RegAllocBasic.h:85

StringRef getPassName() const override

Return the pass name.

Definition RegAllocBasic.h:60

RegAllocBase(const RegAllocFilterFunc F=nullptr)

Wrapper class representing virtual and physical registers.

This class consists of common code factored out of the SmallVector class to reduce code duplication b...

StringRef - Represent a constant reference to a string, i.e.

This is an optimization pass for GlobalISel generic memory operations.

std::function< bool(const TargetRegisterInfo &TRI, const MachineRegisterInfo &MRI, const Register Reg)> RegAllocFilterFunc

Filter function for register classes during regalloc.

Definition RegAllocBasic.h:26

bool operator()(const LiveInterval *A, const LiveInterval *B) const

Definition RegAllocBasic.h:27