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.