Lines Matching defs:effect
21 /// Include the definitions of the side effect interfaces.
28 bool MemoryEffects::Effect::classof(const SideEffects::Effect *effect) {
29 return isa<Allocate, Free, Read, Write>(effect);
91 // Otherwise, the effect must be a read.
103 // If there were no effect interfaces, we treat this op as conservatively
121 // Iterate through `effects` and check if an effect of type `EffectTy` and
123 for (auto &effect : effects) {
124 hasSingleEffectOnVal = isa<EffectTy>(effect.getEffect());
143 // Iterate through `effects` and check if an effect of type `EffectTy` and
145 for (auto &effect : effects) {
146 if (effect.getValue() != value)
148 hasSingleEffectOnVal = isa<EffectTy>(effect.getEffect());
172 // Iterate through `effects` and check if an effect of type `EffectTy` and
174 for (auto &effect : effects) {
175 if (effect.getEffectValue<ValueTy>() != value)
177 hasSingleEffectOnVal = isa<EffectTy>(effect.getEffect());
224 return llvm::any_of(effects, [&](MemoryEffects::EffectInstance &effect) {
225 return isa<EffectTys...>(effect.getEffect());
242 return llvm::any_of(effects, [&](MemoryEffects::EffectInstance &effect) {
243 if (effect.getValue() != value)
245 return isa<EffectTys...>(effect.getEffect());
264 return llvm::any_of(effects, [&](MemoryEffects::EffectInstance &effect) {
265 if (effect.getEffectValue<ValueTy>() != value)
267 return isa<EffectTys...>(effect.getEffect());
320 // If the op does not have recursive side effects, then it is memory effect
325 // Otherwise, if the op does not implement the memory effect interface and
331 // Recurse into the regions and ensure that all nested ops are memory effect
366 // the memory effect op interface. Its effects are unknown.