NFC: Update the Operation 'walk' methods to use llvm::function_ref instead of std...
authorRiver Riddle <riverriddle@google.com>
Tue, 2 Jul 2019 05:35:06 +0000 (22:35 -0700)
committerjpienaar <jpienaar@google.com>
Tue, 2 Jul 2019 17:28:12 +0000 (10:28 -0700)
PiperOrigin-RevId: 256099638

mlir/include/mlir/IR/Block.h
mlir/include/mlir/IR/Function.h
mlir/include/mlir/IR/OpDefinition.h
mlir/include/mlir/IR/Operation.h
mlir/include/mlir/IR/Region.h
mlir/lib/IR/Block.cpp
mlir/lib/IR/Function.cpp
mlir/lib/IR/Operation.cpp
mlir/lib/IR/Region.cpp

index feae5c9..355a236 100644 (file)
@@ -241,10 +241,10 @@ public:
 
   /// Walk the operations in this block in postorder, calling the callback for
   /// each operation.
-  void walk(const std::function<void(Operation *)> &callback);
+  void walk(llvm::function_ref<void(Operation *)> callback);
 
   /// Specialization of walk to only visit operations of 'OpTy'.
-  template <typename OpTy> void walk(std::function<void(OpTy)> callback) {
+  template <typename OpTy> void walk(llvm::function_ref<void(OpTy)> callback) {
     walk([&](Operation *opInst) {
       if (auto op = dyn_cast<OpTy>(opInst))
         callback(op);
@@ -254,7 +254,7 @@ public:
   /// Walk the operations in the specified [begin, end) range of this block in
   /// postorder, calling the callback for each operation.
   void walk(Block::iterator begin, Block::iterator end,
-            const std::function<void(Operation *)> &callback);
+            llvm::function_ref<void(Operation *)> callback);
 
   //===--------------------------------------------------------------------===//
   // Other
index ab79831..8c66dea 100644 (file)
@@ -161,10 +161,10 @@ public:
 
   /// Walk the operations in the function in postorder, calling the callback for
   /// each operation.
-  void walk(const std::function<void(Operation *)> &callback);
+  void walk(llvm::function_ref<void(Operation *)> callback);
 
   /// Specialization of walk to only visit operations of 'OpTy'.
-  template <typename OpTy> void walk(std::function<void(OpTy)> callback) {
+  template <typename OpTy> void walk(llvm::function_ref<void(OpTy)> callback) {
     walk([&](Operation *opInst) {
       if (auto op = dyn_cast<OpTy>(opInst))
         callback(op);
index f46ec82..799765a 100644 (file)
@@ -143,12 +143,12 @@ public:
 
   /// Walk the operation in postorder, calling the callback for each nested
   /// operation(including this one).
-  void walk(const std::function<void(Operation *)> &callback) {
+  void walk(llvm::function_ref<void(Operation *)> callback) {
     state->walk(callback);
   }
 
   /// Specialization of walk to only visit operations of 'OpTy'.
-  template <typename OpTy> void walk(std::function<void(OpTy)> callback) {
+  template <typename OpTy> void walk(llvm::function_ref<void(OpTy)> callback) {
     walk([&](Operation *opInst) {
       if (auto op = dyn_cast<OpTy>(opInst))
         callback(op);
index 347568f..eeadd2d 100644 (file)
@@ -424,10 +424,10 @@ public:
 
   /// Walk this operation in postorder, calling the callback for each operation
   /// including this one.
-  void walk(const std::function<void(Operation *)> &callback);
+  void walk(llvm::function_ref<void(Operation *)> callback);
 
   /// Specialization of walk to only visit operations of 'T'.
-  template <typename T> void walk(std::function<void(T)> callback) {
+  template <typename T> void walk(llvm::function_ref<void(T)> callback) {
     walk([&](Operation *op) {
       if (auto derivedOp = dyn_cast<T>(op))
         callback(derivedOp);
index cce4f27..8c86f34 100644 (file)
@@ -117,7 +117,7 @@ public:
 
   /// Walk the operations in this block in postorder, calling the callback for
   /// each operation.
-  void walk(const std::function<void(Operation *)> &callback);
+  void walk(llvm::function_ref<void(Operation *)> callback);
 
   /// Displays the CFG in a window. This is for use from the debugger and
   /// depends on Graphviz to generate the graph.
index 134f6e4..b52a64b 100644 (file)
@@ -233,14 +233,14 @@ Block *Block::getSinglePredecessor() {
 // Operation Walkers
 //===----------------------------------------------------------------------===//
 
-void Block::walk(const std::function<void(Operation *)> &callback) {
+void Block::walk(llvm::function_ref<void(Operation *)> callback) {
   walk(begin(), end(), callback);
 }
 
 /// Walk the operations in the specified [begin, end) range of this block,
 /// calling the callback for each operation.
 void Block::walk(Block::iterator begin, Block::iterator end,
-                 const std::function<void(Operation *)> &callback) {
+                 llvm::function_ref<void(Operation *)> callback) {
   for (auto &op : llvm::make_early_inc_range(llvm::make_range(begin, end)))
     op.walk(callback);
 }
index f8835f0..9c665e7 100644 (file)
@@ -188,7 +188,7 @@ void Function::addEntryBlock() {
   entry->addArguments(impl->type.getInputs());
 }
 
-void Function::walk(const std::function<void(Operation *)> &callback) {
+void Function::walk(llvm::function_ref<void(Operation *)> callback) {
   getBody().walk(callback);
 }
 
index f953cd2..c9eb031 100644 (file)
@@ -298,7 +298,7 @@ void Operation::replaceUsesOfWith(Value *from, Value *to) {
 // Operation Walkers
 //===----------------------------------------------------------------------===//
 
-void Operation::walk(const std::function<void(Operation *)> &callback) {
+void Operation::walk(llvm::function_ref<void(Operation *)> callback) {
   // Visit any internal operations.
   for (auto &region : getRegions())
     region.walk(callback);
index 74c71b7..6814fe5 100644 (file)
@@ -173,7 +173,7 @@ bool Region::isIsolatedFromAbove(llvm::Optional<Location> noteLoc) {
 
 /// Walk the operations in this block in postorder, calling the callback for
 /// each operation.
-void Region::walk(const std::function<void(Operation *)> &callback) {
+void Region::walk(llvm::function_ref<void(Operation *)> callback) {
   for (auto &block : *this)
     block.walk(callback);
 }