LLVM: include/llvm/ADT/GenericSSAContext.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17#ifndef LLVM_ADT_GENERICSSACONTEXT_H

18#define LLVM_ADT_GENERICSSACONTEXT_H

19

21

22namespace llvm {

23

26

30

31

32

34

35

36

37

38

39

40

43 const typename SSATraits::FunctionT *F;

44

45public:

46

47

48

49 using ValueRefT = typename SSATraits::ValueRefT;

50

51

52

54

55

56

58

59

60 using InstructionT = typename SSATraits::InstructionT;

61

62

63

64 using UseT = typename SSATraits::UseT;

65

66

67

68

69

70 using BlockT = typename SSATraits::BlockT;

71

72

73

74 using FunctionT = typename SSATraits::FunctionT;

75

76

77

79

82

84

86

90

95

98

103};

104}

105

106#endif

unify loop Fixup each natural loop to have a single exit block

Core dominator tree base class.

typename SSATraits::InstructionT InstructionT

Definition GenericSSAContext.h:60

static void appendBlockTerms(SmallVectorImpl< const InstructionT * > &terms, const BlockT &block)

static void appendBlockDefs(SmallVectorImpl< ValueRefT > &defs, BlockT &block)

typename SSATraits::FunctionT FunctionT

Definition GenericSSAContext.h:74

const FunctionT * getFunction() const

Definition GenericSSAContext.h:83

static bool isConstantOrUndefValuePhi(const InstructionT &Instr)

static void appendBlockTerms(SmallVectorImpl< InstructionT * > &terms, BlockT &block)

GenericSSAContext()=default

static Intrinsic::ID getIntrinsicID(const InstructionT &I)

Printable print(const BlockT *block) const

typename SSATraits::ConstValueRefT ConstValueRefT

Definition GenericSSAContext.h:53

static void appendBlockDefs(SmallVectorImpl< ConstValueRefT > &defs, const BlockT &block)

Printable print(ConstValueRefT value) const

typename SSATraits::BlockT BlockT

Definition GenericSSAContext.h:70

const BlockT * getDefBlock(ConstValueRefT value) const

static constexpr ValueRefT ValueRefNull

Definition GenericSSAContext.h:57

typename SSATraits::UseT UseT

Definition GenericSSAContext.h:64

DominatorTreeBase< BlockT, false > DominatorTreeT

Definition GenericSSAContext.h:78

Printable print(const InstructionT *inst) const

typename SSATraits::ValueRefT ValueRefT

Definition GenericSSAContext.h:49

Printable printAsOperand(const BlockT *BB) const

GenericSSAContext(const FunctionT *F)

Definition GenericSSAContext.h:81

Simple wrapper around std::function<void(raw_ostream&)>.

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

This namespace contains an enum with a value for every intrinsic/builtin function known by LLVM.

Definition GenericSSAContext.h:27

unsigned ID

Definition GenericSSAContext.h:28

This is an optimization pass for GlobalISel generic memory operations.

Definition GenericSSAContext.h:33