@@ -110,51 +110,48 @@ class AliasAnalysis : public SILAnalysis {
110
110
// /
111
111
// / TODO: When ref count behavior is separated from generic memory behavior,
112
112
// / the IgnoreRefCountIncrements flag will be unnecessary.
113
- MemoryBehavior getMemoryBehavior (SILInstruction *Inst, SILValue V,
114
- RetainObserveKind);
113
+ MemoryBehavior computeMemoryBehavior (SILInstruction *Inst, SILValue V,
114
+ RetainObserveKind);
115
115
116
116
// / Returns true if \p Inst may read from memory in a manner that
117
117
// / affects V.
118
118
bool mayReadFromMemory (SILInstruction *Inst, SILValue V) {
119
- MemoryBehavior B = getMemoryBehavior (Inst, V,
120
- RetainObserveKind::IgnoreRetains);
119
+ auto B = computeMemoryBehavior (Inst, V, RetainObserveKind::IgnoreRetains);
121
120
return B == MemoryBehavior::MayRead ||
122
- B == MemoryBehavior::MayReadWrite ||
123
- B == MemoryBehavior::MayHaveSideEffects;
121
+ B == MemoryBehavior::MayReadWrite ||
122
+ B == MemoryBehavior::MayHaveSideEffects;
124
123
}
125
124
126
125
// / Returns true if \p Inst may write to memory in a manner that
127
126
// / affects V.
128
127
bool mayWriteToMemory (SILInstruction *Inst, SILValue V) {
129
- MemoryBehavior B = getMemoryBehavior (Inst, V,
130
- RetainObserveKind::IgnoreRetains);
128
+ auto B = computeMemoryBehavior (Inst, V, RetainObserveKind::IgnoreRetains);
131
129
return B == MemoryBehavior::MayWrite ||
132
- B == MemoryBehavior::MayReadWrite ||
133
- B == MemoryBehavior::MayHaveSideEffects;
130
+ B == MemoryBehavior::MayReadWrite ||
131
+ B == MemoryBehavior::MayHaveSideEffects;
134
132
}
135
133
136
134
// / Returns true if \p Inst may read or write to memory in a manner that
137
135
// / affects V.
138
136
bool mayReadOrWriteMemory (SILInstruction *Inst, SILValue V) {
139
- auto B = getMemoryBehavior (Inst, V, RetainObserveKind::IgnoreRetains);
140
- return B != MemoryBehavior::None;
137
+ auto B = computeMemoryBehavior (Inst, V, RetainObserveKind::IgnoreRetains);
138
+ return MemoryBehavior::None != B ;
141
139
}
142
140
143
141
// / Returns true if Inst may have side effects in a manner that affects V.
144
142
bool mayHaveSideEffects (SILInstruction *Inst, SILValue V) {
145
- MemoryBehavior B = getMemoryBehavior (Inst, V,
146
- RetainObserveKind::ObserveRetains);
143
+ auto B = computeMemoryBehavior (Inst, V, RetainObserveKind::ObserveRetains);
147
144
return B == MemoryBehavior::MayWrite ||
148
- B == MemoryBehavior::MayReadWrite ||
149
- B == MemoryBehavior::MayHaveSideEffects;
145
+ B == MemoryBehavior::MayReadWrite ||
146
+ B == MemoryBehavior::MayHaveSideEffects;
150
147
}
151
148
152
149
// / Returns true if Inst may have side effects in a manner that affects
153
150
// / V. This is independent of whether or not Inst may write to V and is meant
154
151
// / to encode notions such as ref count modifications.
155
152
bool mayHavePureSideEffects (SILInstruction *Inst, SILValue V) {
156
- return getMemoryBehavior (Inst, V, RetainObserveKind::ObserveRetains) ==
157
- MemoryBehavior::MayHaveSideEffects;
153
+ auto B = computeMemoryBehavior (Inst, V, RetainObserveKind::ObserveRetains);
154
+ return MemoryBehavior::MayHaveSideEffects == B ;
158
155
}
159
156
160
157
virtual void invalidate (SILAnalysis::InvalidationKind K) { AliasCache.clear (); }
0 commit comments