From c05890e890da37d9671169725c867ed0ca1e0b9d Mon Sep 17 00:00:00 2001 From: Smit Hinsu Date: Mon, 2 Sep 2019 19:59:08 -0700 Subject: [PATCH] Enable OwningRewritePatternList insert overload with parameter pack only when there is at least one template pattern type Also remove the other insert overload with pattern pointer as there are no existing users nor any potential known use-case. PiperOrigin-RevId: 266842920 --- mlir/include/mlir/IR/PatternMatch.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mlir/include/mlir/IR/PatternMatch.h b/mlir/include/mlir/IR/PatternMatch.h index b531a61..f3ed316 100644 --- a/mlir/include/mlir/IR/PatternMatch.h +++ b/mlir/include/mlir/IR/PatternMatch.h @@ -408,13 +408,12 @@ public: // Pattern Insertion //===--------------------------------------------------------------------===// - void insert(RewritePattern *pattern) { patterns.emplace_back(pattern); } - /// Add an instance of each of the pattern types 'Ts' to the pattern list with /// the given arguments. - // Note: ConstructorArg is necessary here to separate the two variadic lists. + /// Note: ConstructorArg is necessary here to separate the two variadic lists. template + typename... ConstructorArgs, + typename = std::enable_if_t> void insert(ConstructorArg &&arg, ConstructorArgs &&... args) { // The following expands a call to emplace_back for each of the pattern // types 'Ts'. This magic is necessary due to a limitation in the places -- 2.7.4