summaryrefslogtreecommitdiffstats
path: root/mlir/lib/Transforms
diff options
context:
space:
mode:
authorRiver Riddle <riverriddle@google.com>2019-12-17 14:57:07 -0800
committerA. Unique TensorFlower <gardener@tensorflow.org>2019-12-17 14:57:41 -0800
commit74278dd01e5713920a35f1c3e0731e535667c19a (patch)
tree3aa35ade367c4f86e092c52471346e6456e52aa0 /mlir/lib/Transforms
parent6fa3bd5b3e57806ffa34946bd36528f72bf06b58 (diff)
downloadbcm5719-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.cpp12
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`.
OpenPOWER on IntegriCloud