LLVM: include/llvm/Analysis/PHITransAddr.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_ANALYSIS_PHITRANSADDR_H

14#define LLVM_ANALYSIS_PHITRANSADDR_H

15

19

20namespace llvm {

25

26

27

28

29

30

31

32

33

34

35

37

39

40

42

43

45

46

48

49

51

52public:

54 : Addr(Addr), DL(DL), AC(AC) {

55

56 addAsInput(Addr);

57 }

58

60

61

62

64

65

66 return any_of(InstInputs, [BB](const auto &InstInput) {

67 return InstInput->getParent() == BB;

68 });

69 }

70

71

72

73

75

76

77

78

81

82

83

84

85

86

87

88

93

95

96

97

98

100

101private:

104

105

106

107

108

109

113

114

116

119 return V;

120 }

121};

122

123}

124

125#endif

This file defines the SmallVector class.

A cache of @llvm.assume calls within a function.

LLVM Basic Block Representation.

A parsed version of the target data layout string in and methods for querying it.

Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree.

LLVM_ABI Value * translateValue(BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree *DT, bool MustDominate)

translateValue - PHI translate the current address up the CFG from CurBB to Pred, updating our state ...

LLVM_ABI void dump() const

PHITransAddr(Value *Addr, const DataLayout &DL, AssumptionCache *AC)

Definition PHITransAddr.h:53

LLVM_ABI bool isPotentiallyPHITranslatable() const

isPotentiallyPHITranslatable - If this needs PHI translation, return true if we have some hope of doi...

LLVM_ABI bool verify() const

verify - Check internal consistency of this data structure.

LLVM_ABI Value * translateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree &DT, SmallVectorImpl< Instruction * > &NewInsts)

translateWithInsertion - PHI translate this value into the specified predecessor block,...

bool needsPHITranslationFromBlock(BasicBlock *BB) const

needsPHITranslationFromBlock - Return true if moving from the specified BasicBlock to its predecessor...

Definition PHITransAddr.h:63

Value * getAddr() const

Definition PHITransAddr.h:59

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

void push_back(const T &Elt)

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

Provides information about what library functions are available for the current target.

LLVM Value Representation.

This is an optimization pass for GlobalISel generic memory operations.

decltype(auto) dyn_cast(const From &Val)

dyn_cast - Return the argument parameter cast to the specified type.

bool any_of(R &&range, UnaryPredicate P)

Provide wrappers to std::any_of which take ranges instead of having to pass begin/end explicitly.