zirium 0.5.1

Lossless textual MLIR syntax parsing and semantic processing
Documentation
{
  "presets": [],
  "builtins": [
    "builtin.module",
    "func.func",
    "func.call",
    "func.return"
  ],
  "operation_shapes": [
    {"name": "spirv.BitCount", "shape": "unary_operand"},
    {"name": "spirv.BitReverse", "shape": "unary_operand"},
    {"name": "spirv.Bitcast", "shape": "unary_operand"},
    {"name": "spirv.BitwiseAnd", "shape": "binary_operands"},
    {"name": "spirv.BitwiseOr", "shape": "binary_operands"},
    {"name": "spirv.BitwiseXor", "shape": "binary_operands"},
    {"name": "spirv.CL.acos", "shape": "unary_operand"},
    {"name": "spirv.CL.acosh", "shape": "unary_operand"},
    {"name": "spirv.CL.asin", "shape": "unary_operand"},
    {"name": "spirv.CL.asinh", "shape": "unary_operand"},
    {"name": "spirv.CL.atan", "shape": "unary_operand"},
    {"name": "spirv.CL.atan2", "shape": "binary_operands"},
    {"name": "spirv.CL.atanh", "shape": "unary_operand"},
    {"name": "spirv.CL.ceil", "shape": "unary_operand"},
    {"name": "spirv.CL.cos", "shape": "unary_operand"},
    {"name": "spirv.CL.cosh", "shape": "unary_operand"},
    {"name": "spirv.CL.erf", "shape": "unary_operand"},
    {"name": "spirv.CL.exp", "shape": "unary_operand"},
    {"name": "spirv.CL.fabs", "shape": "unary_operand"},
    {"name": "spirv.CL.floor", "shape": "unary_operand"},
    {"name": "spirv.CL.fmax", "shape": "binary_operands"},
    {"name": "spirv.CL.fmin", "shape": "binary_operands"},
    {"name": "spirv.CL.log", "shape": "unary_operand"},
    {"name": "spirv.CL.pow", "shape": "binary_operands"},
    {"name": "spirv.CL.rint", "shape": "unary_operand"},
    {"name": "spirv.CL.round", "shape": "unary_operand"},
    {"name": "spirv.CL.rsqrt", "shape": "unary_operand"},
    {"name": "spirv.CL.s_abs", "shape": "unary_operand"},
    {"name": "spirv.CL.s_max", "shape": "binary_operands"},
    {"name": "spirv.CL.s_min", "shape": "binary_operands"},
    {"name": "spirv.CL.sin", "shape": "unary_operand"},
    {"name": "spirv.CL.sinh", "shape": "unary_operand"},
    {"name": "spirv.CL.sqrt", "shape": "unary_operand"},
    {"name": "spirv.CL.tan", "shape": "unary_operand"},
    {"name": "spirv.CL.tanh", "shape": "unary_operand"},
    {"name": "spirv.CL.u_max", "shape": "binary_operands"},
    {"name": "spirv.CL.u_min", "shape": "binary_operands"},
    {"name": "spirv.ConvertFToS", "shape": "unary_operand"},
    {"name": "spirv.ConvertFToU", "shape": "unary_operand"},
    {"name": "spirv.ConvertPtrToU", "shape": "unary_operand"},
    {"name": "spirv.ConvertSToF", "shape": "unary_operand"},
    {"name": "spirv.ConvertUToF", "shape": "unary_operand"},
    {"name": "spirv.ConvertUToPtr", "shape": "unary_operand"},
    {"name": "spirv.Dot", "shape": "binary_operands"},
    {"name": "spirv.FAdd", "shape": "binary_operands"},
    {"name": "spirv.FConvert", "shape": "unary_operand"},
    {"name": "spirv.FDiv", "shape": "binary_operands"},
    {"name": "spirv.FMod", "shape": "binary_operands"},
    {"name": "spirv.FMul", "shape": "binary_operands"},
    {"name": "spirv.FNegate", "shape": "unary_operand"},
    {"name": "spirv.FRem", "shape": "binary_operands"},
    {"name": "spirv.FSub", "shape": "binary_operands"},
    {"name": "spirv.GL.Acos", "shape": "unary_operand"},
    {"name": "spirv.GL.Acosh", "shape": "unary_operand"},
    {"name": "spirv.GL.Asin", "shape": "unary_operand"},
    {"name": "spirv.GL.Asinh", "shape": "unary_operand"},
    {"name": "spirv.GL.Atan", "shape": "unary_operand"},
    {"name": "spirv.GL.Atanh", "shape": "unary_operand"},
    {"name": "spirv.GL.Ceil", "shape": "unary_operand"},
    {"name": "spirv.GL.Cos", "shape": "unary_operand"},
    {"name": "spirv.GL.Cosh", "shape": "unary_operand"},
    {"name": "spirv.GL.Cross", "shape": "binary_operands"},
    {"name": "spirv.GL.Distance", "shape": "binary_operands"},
    {"name": "spirv.GL.Exp", "shape": "unary_operand"},
    {"name": "spirv.GL.Exp2", "shape": "unary_operand"},
    {"name": "spirv.GL.FAbs", "shape": "unary_operand"},
    {"name": "spirv.GL.FMax", "shape": "binary_operands"},
    {"name": "spirv.GL.FMin", "shape": "binary_operands"},
    {"name": "spirv.GL.FSign", "shape": "unary_operand"},
    {"name": "spirv.GL.FindILsb", "shape": "unary_operand"},
    {"name": "spirv.GL.FindSMsb", "shape": "unary_operand"},
    {"name": "spirv.GL.FindUMsb", "shape": "unary_operand"},
    {"name": "spirv.GL.Floor", "shape": "unary_operand"},
    {"name": "spirv.GL.Fract", "shape": "unary_operand"},
    {"name": "spirv.GL.InverseSqrt", "shape": "unary_operand"},
    {"name": "spirv.GL.Length", "shape": "unary_operand"},
    {"name": "spirv.GL.Log", "shape": "unary_operand"},
    {"name": "spirv.GL.Log2", "shape": "unary_operand"},
    {"name": "spirv.GL.Normalize", "shape": "unary_operand"},
    {"name": "spirv.GL.Pow", "shape": "binary_operands"},
    {"name": "spirv.GL.Reflect", "shape": "binary_operands"},
    {"name": "spirv.GL.Round", "shape": "unary_operand"},
    {"name": "spirv.GL.RoundEven", "shape": "unary_operand"},
    {"name": "spirv.GL.SAbs", "shape": "unary_operand"},
    {"name": "spirv.GL.SMax", "shape": "binary_operands"},
    {"name": "spirv.GL.SMin", "shape": "binary_operands"},
    {"name": "spirv.GL.SSign", "shape": "unary_operand"},
    {"name": "spirv.GL.Sin", "shape": "unary_operand"},
    {"name": "spirv.GL.Sinh", "shape": "unary_operand"},
    {"name": "spirv.GL.Sqrt", "shape": "unary_operand"},
    {"name": "spirv.GL.Tan", "shape": "unary_operand"},
    {"name": "spirv.GL.Tanh", "shape": "unary_operand"},
    {"name": "spirv.GL.UMax", "shape": "binary_operands"},
    {"name": "spirv.GL.UMin", "shape": "binary_operands"},
    {"name": "spirv.GenericCastToPtr", "shape": "unary_operand"},
    {"name": "spirv.GenericCastToPtrExplicit", "shape": "unary_operand"},
    {"name": "spirv.IAdd", "shape": "binary_operands"},
    {"name": "spirv.IMul", "shape": "binary_operands"},
    {"name": "spirv.INTEL.ConvertBF16ToF", "shape": "unary_operand"},
    {"name": "spirv.INTEL.ConvertFToBF16", "shape": "unary_operand"},
    {"name": "spirv.INTEL.RoundFToTF32", "shape": "unary_operand"},
    {"name": "spirv.ISub", "shape": "binary_operands"},
    {"name": "spirv.LogicalAnd", "shape": "binary_operands"},
    {"name": "spirv.LogicalEqual", "shape": "binary_operands"},
    {"name": "spirv.LogicalNot", "shape": "unary_operand"},
    {"name": "spirv.LogicalNotEqual", "shape": "binary_operands"},
    {"name": "spirv.LogicalOr", "shape": "binary_operands"},
    {"name": "spirv.MatrixTimesMatrix", "shape": "binary_operands"},
    {"name": "spirv.MatrixTimesVector", "shape": "binary_operands"},
    {"name": "spirv.Not", "shape": "unary_operand"},
    {"name": "spirv.PtrCastToGeneric", "shape": "unary_operand"},
    {"name": "spirv.SConvert", "shape": "unary_operand"},
    {"name": "spirv.SDiv", "shape": "binary_operands"},
    {"name": "spirv.SMod", "shape": "binary_operands"},
    {"name": "spirv.SNegate", "shape": "unary_operand"},
    {"name": "spirv.SRem", "shape": "binary_operands"},
    {"name": "spirv.Transpose", "shape": "unary_operand"},
    {"name": "spirv.UConvert", "shape": "unary_operand"},
    {"name": "spirv.UDiv", "shape": "binary_operands"},
    {"name": "spirv.UMod", "shape": "binary_operands"},
    {"name": "spirv.VectorTimesMatrix", "shape": "binary_operands"},
    {"name": "spirv.VectorTimesScalar", "shape": "binary_operands"},
    {"name": "spirv.EmitVertex", "shape": "optional_typed_operands"},
    {"name": "spirv.EndPrimitive", "shape": "optional_typed_operands"},
    {"name": "spirv.Kill", "shape": "optional_typed_operands"},
    {"name": "spirv.Return", "shape": "optional_typed_operands"},
    {"name": "spirv.Unreachable", "shape": "optional_typed_operands"},
    {"name": "spirv.ReturnValue", "shape": "optional_typed_operands"},
    {"name": "spirv.mlir.yield", "shape": "attr_first_optional_typed_operands"},
    {"name": "spirv.ARM.GraphOutputs", "shape": "optional_typed_operands"},
    {"name": "spirv.Undef", "shape": "variadic_operands"},
    {"name": "spirv.FunctionCall", "shape": "call_like"}
  ],
  "operation_formats": []
}