Have ValueUseIterator template use OperandType instead of IROperand.
authorAndy Ly <lyandy@google.com>
Wed, 7 Aug 2019 03:48:29 +0000 (20:48 -0700)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Wed, 7 Aug 2019 03:48:57 +0000 (20:48 -0700)
This was causing some issues using helper methods like llvm::make_early_inc_range on Value::getUses(), resulting in IROperand instead of OpOperand.

PiperOrigin-RevId: 262056425

mlir/include/mlir/IR/UseDefLists.h

index d266935..fe0e9e0 100644 (file)
@@ -197,7 +197,7 @@ public:
 /// An iterator over all uses of a ValueBase.
 template <typename OperandType>
 class ValueUseIterator
-    : public std::iterator<std::forward_iterator_tag, IROperand> {
+    : public std::iterator<std::forward_iterator_tag, OperandType> {
 public:
   ValueUseIterator() = default;
   explicit ValueUseIterator(OperandType *current) : current(current) {}