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

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_CODEGEN_MACHINESSAUPDATER_H

14#define LLVM_CODEGEN_MACHINESSAUPDATER_H

15

18

19namespace llvm {

20

30

31

32

33

34

37

38private:

39

40

41

42 void *AV = nullptr;

43

44

46

47

48

50

53

54public:

55

56

62

63

64

66

67

68

70

71

72

74

75

76

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

100 bool ExistingValueOnly = false);

101

102

103

104

105

106

108

109private:

110

111

113 bool ExistingValueOnly = false);

114};

115

116}

117

118#endif

Representation of each machine instruction.

MachineOperand class - Representation of each machine instruction operand.

MachineRegisterInfo - Keep track of information for virtual and physical registers,...

void Initialize(Register V)

Initialize - Reset this object to get ready for a new set of SSA updates.

Register GetValueInMiddleOfBlock(MachineBasicBlock *BB, bool ExistingValueOnly=false)

GetValueInMiddleOfBlock - Construct SSA form, materializing a value that is live in the middle of the...

MachineSSAUpdater(const MachineSSAUpdater &)=delete

void RewriteUse(MachineOperand &U)

RewriteUse - Rewrite a use of the symbolic value.

MachineSSAUpdater & operator=(const MachineSSAUpdater &)=delete

Register GetValueAtEndOfBlock(MachineBasicBlock *BB)

GetValueAtEndOfBlock - Construct SSA form, materializing a value that is live at the end of the speci...

void AddAvailableValue(MachineBasicBlock *BB, Register V)

AddAvailableValue - Indicate that a rewritten value is available at the end of the specified block wi...

bool HasValueForBlock(MachineBasicBlock *BB) const

HasValueForBlock - Return true if the MachineSSAUpdater already has a value for the specified block.

MachineSSAUpdater(MachineFunction &MF, SmallVectorImpl< MachineInstr * > *NewPHI=nullptr)

MachineSSAUpdater constructor.

Wrapper class representing virtual and physical registers.

Definition MachineSSAUpdater.h:29

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

TargetInstrInfo - Interface to description of machine instruction set.

This is an optimization pass for GlobalISel generic memory operations.

All attributes(register class or bank and low-level type) a virtual register can have.