From: Mehdi Amini Date: Sun, 1 Sep 2019 23:31:40 +0000 (-0700) Subject: Add a `getUsedValuesDefinedAbove()` overload that takes an `Operation` pointer (NFC) X-Git-Tag: llvmorg-11-init~1466^2~857 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ce702fc8dafab9d8d0db4e61025c65db979cd701;p=platform%2Fupstream%2Fllvm.git Add a `getUsedValuesDefinedAbove()` overload that takes an `Operation` pointer (NFC) This is a convenient utility around the existing `getUsedValuesDefinedAbove()` that take two regions. PiperOrigin-RevId: 266686854 --- diff --git a/mlir/include/mlir/Transforms/RegionUtils.h b/mlir/include/mlir/Transforms/RegionUtils.h index a00ddc6..6316b56 100644 --- a/mlir/include/mlir/Transforms/RegionUtils.h +++ b/mlir/include/mlir/Transforms/RegionUtils.h @@ -45,6 +45,11 @@ void replaceAllUsesInRegionWith(Value *orig, Value *replacement, void getUsedValuesDefinedAbove(Region ®ion, Region &limit, llvm::SetVector &values); +/// Fill `values` with a list of values used within any of the regions provided +/// but defined in one of the ancestors. +void getUsedValuesDefinedAbove(llvm::MutableArrayRef regions, + llvm::SetVector &values); + } // namespace mlir #endif // MLIR_TRANSFORMS_REGIONUTILS_H_ diff --git a/mlir/lib/Transforms/Utils/RegionUtils.cpp b/mlir/lib/Transforms/Utils/RegionUtils.cpp index a2b4fe3..9974e47 100644 --- a/mlir/lib/Transforms/Utils/RegionUtils.cpp +++ b/mlir/lib/Transforms/Utils/RegionUtils.cpp @@ -53,3 +53,9 @@ void mlir::getUsedValuesDefinedAbove(Region ®ion, Region &limit, values.insert(operand); }); } + +void mlir::getUsedValuesDefinedAbove(llvm::MutableArrayRef regions, + llvm::SetVector &values) { + for (Region ®ion : regions) + getUsedValuesDefinedAbove(region, region, values); +}