diff options
| author | River Riddle <riverriddle@google.com> | 2019-12-17 14:57:07 -0800 |
|---|---|---|
| committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-12-17 14:57:41 -0800 |
| commit | 74278dd01e5713920a35f1c3e0731e535667c19a (patch) | |
| tree | 3aa35ade367c4f86e092c52471346e6456e52aa0 /mlir/lib/Transforms | |
| parent | 6fa3bd5b3e57806ffa34946bd36528f72bf06b58 (diff) | |
| download | bcm5719-llvm-74278dd01e5713920a35f1c3e0731e535667c19a.tar.gz bcm5719-llvm-74278dd01e5713920a35f1c3e0731e535667c19a.zip | |
NFC: Use TypeSwitch to simplify existing code.
PiperOrigin-RevId: 286066371
Diffstat (limited to 'mlir/lib/Transforms')
| -rw-r--r-- | mlir/lib/Transforms/Utils/Utils.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/mlir/lib/Transforms/Utils/Utils.cpp b/mlir/lib/Transforms/Utils/Utils.cpp index 190b6c3155e..79a6d7a6902 100644 --- a/mlir/lib/Transforms/Utils/Utils.cpp +++ b/mlir/lib/Transforms/Utils/Utils.cpp @@ -22,6 +22,7 @@ #include "mlir/Transforms/Utils.h" +#include "mlir/ADT/TypeSwitch.h" #include "mlir/Analysis/AffineAnalysis.h" #include "mlir/Analysis/AffineStructures.h" #include "mlir/Analysis/Dominance.h" @@ -47,14 +48,9 @@ static bool isMemRefDereferencingOp(Operation &op) { /// Return the AffineMapAttr associated with memory 'op' on 'memref'. static NamedAttribute getAffineMapAttrForMemRef(Operation *op, Value *memref) { - if (auto loadOp = dyn_cast<AffineLoadOp>(op)) - return loadOp.getAffineMapAttrForMemRef(memref); - else if (auto storeOp = dyn_cast<AffineStoreOp>(op)) - return storeOp.getAffineMapAttrForMemRef(memref); - else if (auto dmaStart = dyn_cast<AffineDmaStartOp>(op)) - return dmaStart.getAffineMapAttrForMemRef(memref); - assert(isa<AffineDmaWaitOp>(op)); - return cast<AffineDmaWaitOp>(op).getAffineMapAttrForMemRef(memref); + return TypeSwitch<Operation *, NamedAttribute>(op) + .Case<AffineDmaStartOp, AffineLoadOp, AffineStoreOp, AffineDmaWaitOp>( + [=](auto op) { return op.getAffineMapAttrForMemRef(memref); }); } // Perform the replacement in `op`. |

