Lines Matching defs:effects
714 SmallVector<MemoryEffects::EffectInstance> effects;
716 transform::TransformMappingResource::get(), effects);
746 if (llvm::any_of(effects, consumesTarget)) {
1600 /// Appends to `effects` the memory effect instances on `target` with the same
1605 SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
1609 effects.emplace_back(effect.getEffect(), target, effect.getResource());
1612 /// Appends to `effects` the same effects as the operations of `block` have on
1616 SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
1623 remapEffects(iface, source, &target, effects);
1629 llvm::append_range(effects, nestedEffects);
1635 SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
1636 transform::onlyReadsHandle(operation->getOpOperands(), effects);
1637 transform::producesHandle(operation->getOpResults(), effects);
1646 iface.getEffects(effects);
1651 // Carry over all effects on arguments of the entry block as those on the
1653 remapArgumentEffects(body, operation->getOpOperands(), effects);
1759 Operation *op, SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
1760 producesHandle(op->getResults(), effects);
1763 onlyReadsHandle(operand, effects);
1769 onlyReadsPayload(effects);
1793 // Memory effects.
1798 SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
1800 effects.emplace_back(MemoryEffects::Read::get(), &handle,
1802 effects.emplace_back(MemoryEffects::Free::get(), &handle,
1807 /// Returns `true` if the given list of effects instances contains an instance
1810 static bool hasEffect(Range &&effects) {
1811 return llvm::any_of(effects, [](const MemoryEffects::EffectInstance &effect) {
1820 SmallVector<MemoryEffects::EffectInstance> effects;
1821 iface.getEffectsOnValue(handle, effects);
1822 return ::hasEffect<MemoryEffects::Read, TransformMappingResource>(effects) &&
1823 ::hasEffect<MemoryEffects::Free, TransformMappingResource>(effects);
1828 SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
1830 effects.emplace_back(MemoryEffects::Allocate::get(), handle,
1832 effects.emplace_back(MemoryEffects::Write::get(), handle,
1839 SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
1841 effects.emplace_back(MemoryEffects::Allocate::get(), handle,
1843 effects.emplace_back(MemoryEffects::Write::get(), handle,
1850 SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
1852 effects.emplace_back(MemoryEffects::Read::get(), &handle,
1858 SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
1859 effects.emplace_back(MemoryEffects::Read::get(), PayloadIRResource::get());
1860 effects.emplace_back(MemoryEffects::Write::get(), PayloadIRResource::get());
1864 SmallVectorImpl<MemoryEffects::EffectInstance> &effects) {
1865 effects.emplace_back(MemoryEffects::Read::get(), PayloadIRResource::get());
1870 SmallVector<MemoryEffects::EffectInstance> effects;
1871 iface.getEffects(effects);
1872 return ::hasEffect<MemoryEffects::Write, PayloadIRResource>(effects);
1877 SmallVector<MemoryEffects::EffectInstance> effects;
1878 iface.getEffects(effects);
1879 return ::hasEffect<MemoryEffects::Read, PayloadIRResource>(effects);
1884 SmallVector<MemoryEffects::EffectInstance> effects;
1890 effects.clear();
1891 iface.getEffects(effects);
1892 for (const MemoryEffects::EffectInstance &effect : effects) {
1915 SmallVector<MemoryEffects::EffectInstance, 2> effects;
1917 effects.clear();
1918 memEffectInterface.getEffectsOnValue(target.get(), effects);
1919 if (llvm::any_of(effects, [](const MemoryEffects::EffectInstance &effect) {
1932 SmallVector<MemoryEffects::EffectInstance> effects;
1933 iface.getEffects(effects);
1937 effects, [value](const MemoryEffects::EffectInstance &instance) {
1947 op->emitError() << "TransformOpInterface requires memory effects "
1949 diag.attachNote() << "no effects specified for operand #"
1968 !::hasEffect<MemoryEffects::Write, PayloadIRResource>(effects)) {