diff options
Diffstat (limited to 'mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp')
| -rw-r--r-- | mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp b/mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp index 1320db3f9e54..98b429de1fd8 100644 --- a/mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp +++ b/mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp @@ -23,7 +23,6 @@ #include "mlir/IR/PatternMatch.h" #include "mlir/IR/TypeUtilities.h" #include "mlir/IR/Value.h" -#include "mlir/Support/MathExtras.h" #include "mlir/Transforms/InliningUtils.h" #include "llvm/ADT/APFloat.h" #include "llvm/ADT/STLExtras.h" @@ -90,6 +89,13 @@ LogicalResult AssertOp::canonicalize(AssertOp op, PatternRewriter &rewriter) { return failure(); } +// This side effect models "program termination". +void AssertOp::getEffects( + SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>> + &effects) { + effects.emplace_back(MemoryEffects::Write::get()); +} + //===----------------------------------------------------------------------===// // BranchOp //===----------------------------------------------------------------------===// |
