# RUN: %PYTHON %s | FileCheck %s
from functools import partialmethod
from mlir.ir import *
import mlir.dialects.arith as arith
import mlir.dialects.func as func
import mlir.dialects.llvm as llvm
def run(f):
print("\nTEST:", f.__name__)
f()
# CHECK-LABEL: TEST: testOverflowFlags
# Test mostly to repro and verify error addressed for Python bindings.
@run
def testOverflowFlags():
with Context() as ctx, Location.unknown():
module = Module.create()
with InsertionPoint(module.body):
a = arith.ConstantOp(value=42, result=IntegerType.get_signless(32))
r = arith.AddIOp(a, a, overflowFlags=arith.IntegerOverflowFlags.nsw)
# CHECK: arith.addi {{.*}}, {{.*}} overflow<nsw> : i32
print(r)