1*8934b106SJacques Pienaar# RUN: %PYTHON %s | FileCheck %s 2*8934b106SJacques Pienaarfrom functools import partialmethod 3*8934b106SJacques Pienaar 4*8934b106SJacques Pienaarfrom mlir.ir import * 5*8934b106SJacques Pienaarimport mlir.dialects.arith as arith 6*8934b106SJacques Pienaarimport mlir.dialects.func as func 7*8934b106SJacques Pienaarimport mlir.dialects.llvm as llvm 8*8934b106SJacques Pienaar 9*8934b106SJacques Pienaar 10*8934b106SJacques Pienaardef run(f): 11*8934b106SJacques Pienaar print("\nTEST:", f.__name__) 12*8934b106SJacques Pienaar f() 13*8934b106SJacques Pienaar 14*8934b106SJacques Pienaar 15*8934b106SJacques Pienaar# CHECK-LABEL: TEST: testOverflowFlags 16*8934b106SJacques Pienaar# Test mostly to repro and verify error addressed for Python bindings. 17*8934b106SJacques Pienaar@run 18*8934b106SJacques Pienaardef testOverflowFlags(): 19*8934b106SJacques Pienaar with Context() as ctx, Location.unknown(): 20*8934b106SJacques Pienaar module = Module.create() 21*8934b106SJacques Pienaar with InsertionPoint(module.body): 22*8934b106SJacques Pienaar a = arith.ConstantOp(value=42, result=IntegerType.get_signless(32)) 23*8934b106SJacques Pienaar r = arith.AddIOp(a, a, overflowFlags=arith.IntegerOverflowFlags.nsw) 24*8934b106SJacques Pienaar # CHECK: arith.addi {{.*}}, {{.*}} overflow<nsw> : i32 25*8934b106SJacques Pienaar print(r) 26