LLVM: include/llvm/IR/MemoryModelRelaxationAnnotations.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18#ifndef LLVM_IR_MEMORYMODELRELAXATIONANNOTATIONS_H

19#define LLVM_IR_MEMORYMODELRELAXATIONANNOTATIONS_H

20

24

25#include

26

27namespace llvm {

28

29template class ArrayRef;

30

37

38

39

40

41

42

43

44

45

46

47

49public:

50 using TagT = std::pair<StringRef, StringRef>;

53

54

55

59

60

61

62

63

64

65

68

69

70

71

72

78

79

80

82

83

85

86

87

88

89

90

91

95

96

98

99

100

101

102

103

106

111

112

113

116

117 operator bool() const { return !Tags.empty(); }

119 return Tags == Other.Tags;

120 }

122 return Tags != Other.Tags;

123 }

124

125private:

127};

128

129

131

132}

133

134#endif

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

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

This file defines the DenseSet and SmallDenseSet classes.

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

Implements a dense probed hash-table based set.

This is an important class for using LLVM in a threaded context.

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

DenseSetIterator< true > const_iterator

This class implements an extremely fast bulk output stream that can only output to a stream.

This is an optimization pass for GlobalISel generic memory operations.

LLVM_ABI bool canInstructionHaveMMRAs(const Instruction &I)