In working on #158034, I came across an issue that irdl.is, which is used to constrain region block arguments, is not supported in irdl-to-cpp
error: IRDL C++ translation does not yet support translation of irdl.is operation
%v0 = irdl.is i1
^
tmp/test.irdl:8:13: note: see current operation: %2 = "irdl.is"() <{expected = i1}> : () -> !irdl.attribute