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

1

2

3

4

5

6

7

8

9

10

11

12#ifndef LLVM_CODEGEN_GLOBALISEL_CSEMIRBUILDER_H

13#define LLVM_CODEGEN_GLOBALISEL_CSEMIRBUILDER_H

14

17

18namespace llvm {

19

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

40

41

42

43

44

45

46

47

48

49

52

53

54

55

56

58 void *&NodeInsertPos);

59

60

61 bool canPerformCSEForOpc(unsigned Opc) const;

62

64

67 profileDstOp(Op, B);

68 }

69

71

74 profileSrcOp(Op, B);

75 }

76

78

82

83

84

86

87

88

91

92

93

94

96

97public:

98

100

103 std::optional Flag = std::nullopt) override;

104

106

109

110

114};

115}

116#endif

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

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

const AbstractManglingParser< Derived, Alloc >::OperatorInfo AbstractManglingParser< Derived, Alloc >::Ops[]

This file declares the MachineIRBuilder class.

static bool dominates(InstrPosIndexes &PosIndexes, const MachineInstr &A, const MachineInstr &B)

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

Defines a builder that does CSE of MachineInstructions using GISelCSEInfo.

Definition CSEMIRBuilder.h:39

MachineInstrBuilder buildInstr(unsigned Opc, ArrayRef< DstOp > DstOps, ArrayRef< SrcOp > SrcOps, std::optional< unsigned > Flag=std::nullopt) override

MachineIRBuilder()=default

Some constructors for easy use.

MachineInstrBuilder buildFConstant(const DstOp &Res, const ConstantFP &Val) override

Build and insert Res = G_FCONSTANT Val.

MachineInstrBuilder buildConstant(const DstOp &Res, const ConstantInt &Val) override

Build and insert Res = G_CONSTANT Val.

ConstantFP - Floating Point Values [float, double].

This is the shared class of boolean and integer constants.

FoldingSetNodeID - This class is used to gather all the unique data bits of a node.

MachineInstrBundleIterator< const MachineInstr > const_iterator

virtual MachineInstrBuilder buildFConstant(const DstOp &Res, const ConstantFP &Val)

Build and insert Res = G_FCONSTANT Val.

MachineIRBuilder()=default

Some constructors for easy use.

virtual MachineInstrBuilder buildConstant(const DstOp &Res, const ConstantInt &Val)

Build and insert Res = G_CONSTANT Val.

unsigned ID

LLVM IR allows to use arbitrary numbers as calling convention identifiers.

This is an optimization pass for GlobalISel generic memory operations.

DWARFExpression::Operation Op